Could we see the sript with the two songs?
Yep, these are the scripts I have used. Order is ascending date of change.
Spoiler scriptname aaaForbiddenMusicScript
Begin GameMode
float timer
if player.GetInSameCell ForbiddenMusic37
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic36
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic35
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic34
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic32
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic31
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic30
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic29
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic28
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic27
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic26
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic25
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic24
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic23
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic22
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic21
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic20
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic19
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic18
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic17
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic16
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic15
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic14
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic13
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic12
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic11
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic10
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic9
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic8
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic7
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic6
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic5
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic4
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic3
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic2
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
elseif player.GetInSameCell ForbiddenMusic1
if timer >= 139
StreamMusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
endif
Spoiler scriptname aaaForbiddenMusicScript3
float fQuestDelayTime
float timer
short wasInCombat
short Fisplayed
begin gamemode
; Makes the script run every 0.5 second to ensure that the music starts to play pretty fast
set fQuestDelayTime to .5
; If the player is not in this cell, just return
if (player.getInWorldspace "aaForbidIsle"==0)
set timer to -1
return
endif
; Timer counts the time left to start the music again.
set timer to (timer - getSecondsPassed)
; At the instant the player leaves combat, set timer to -1 to start the music again
if (player.IsInCombat)
if (wasInCombat == 0)
set wasInCombat to 1
endif
elseif (wasInCombat)
set wasInCombat to 0
set timer to -1
endif
; If timer 0, the music is still playing, so do nothing
if (timer > 0)
return
endif
; Start music, and set timer equal to music length in seconds
if Fisplayed == 0
Streammusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 165;Length of music, in seconds goes here
set Fisplayed to 1
endif
end
; This part is to make sure it continues the music while in menu mode
; The code is mostly the same, but with no combat check.
begin menumode
; If the player is not in this cell, just return
if (player.getInWorldspace "aaForbidIsle"==0)
set timer to -1
return
endif
; If timer 0, the music is still playing, so do nothing
set timer to (timer - getSecondsPassed)
if (timer > 0)
return
endif
; Start music, and set timer equal to music length in seconds
if Fisplayed == 0
Streammusic "data\music\ForbiddenIsland\Natives.mp3"
set timer to 165
set Fisplayed to 1
endif
if Fisplayed == 1
Streammusic "data\music\ForbiddenIsland\JungleOrchestra.mp3"
set timer to 233
set Fisplayed to 0
endif
end
Spoiler scn aaaForbiddenMusicScript2
float Timer
Begin onload
set Timer to 139
end
Begin GameMode
if timer >= 139
StreamMusic "music\ForbiddenIsland\Natives.mp3"
set timer to 0
else
set timer to ( timer + GetSecondsPassed )
endif
end
Spoiler scn aaaForbiddenMusicScript4
float fQuestDelayTime
float Timer
short music1
short music2
Begin OnLoad
if music1 == 1
set Timer to 165
elseif music2 == 1
set timer to 233
endif
end
Begin GameMode
set fQuestDelayTime to 1
if music1 == 1
if timer >= 165
StreamMusic "music\ForbiddenIsland\Natives.mp3"
set timer to 0
set music1 to 0
set music2 to 1
else
set timer to ( timer + GetSecondsPassed )
endif
elseif music2 == 1
if timer >= 233
StreamMusic "music\ForbiddenIsland\JungleOrchestra.mp3"
set timer to 0
set music1 to 1
set music2 to 0
else
set timer to ( timer + GetSecondsPassed )
endif
endif
end
Number one is glitchy and doesn't really work. Number two did work, but not well. Number three works pretty good, but not good enough. Number four - well, let's just say that there is something wrong in there

I did not really have time to perfect the script, so I posted it here as incomplete. I will go to sleep now though, as it is 1:29 in the morning here...