scn MusikSystem
float songtimer
float fQuestDelayTime
short songNR
short ZellWechsel
short Drinnen
short Kampf
short FakeFightDone
Begin Gamemode
if player.GetInWorldspace xxx == 1 || player.GetInCell xxx == 1
; Wenn der Spieler in einer Zelle oder einem Worldspace von dir ist.
if fQuestDelayTime != 0.1 ; Durchlauf Häufigkeit
set fQuestDelayTime to 0.1
endif
;Zellwechsel
if player.IsInInterior == 1 && drinnen == 0
set drinnen to 1
elseif player.IsInInterior == 0 && drinnen == 1
set drinnen to 0;
endif
if player.GetInSameCell ZellWechselFlyRef == 0 && drinnen == 1
set ZellWechsel to 1
set songtimer to 0
ZellWechselFlyRef.moveto player
elseif player.GetInSameCell ZellWechselFlyRef == 0 && drinnen == 0
if ZellWechselFlyRef.IsInInterior == 1
ZellWechselFlyRef.moveto player
set ZellWechsel to 1
set songtimer to 0
Elseif ZellWechselFlyRef.IsInInterior == 0
ZellWechselFlyRef.moveto player
endif
endif
;Kampf-Erkennung
if Kampf == 0 && player.IsInCombat == 1
set Kampf to 1; Spieler ist grade in einem Kampf
elseif Kampf == 1 && player.IsInCombat == 0
set Kampf to 0; Spieler ist nicht mehr im Kampf
set Songtimer to 0 ; Lied kann von vorne anfangen
endif
if songtimer <= 0
;Kampf erzeugen
if FakeFightDone < 3 ; 3 Frames lang den Kampf laufen lassen
if FakeFightDone == 0
MusikKampfDummyREF.moveto player ;Ratte zum Spieler
MusikKampfDummyREF.StartCombat player ;Ratte greift an
set FakeFightDone to 1
return
endif
set FakeFightDone to FakeFightDone + 1 ; wird bis 3 zählen
return
elseif FakeFightDone == 3 ; nach 3 Frames Kampf
MusikKampfDummyREF.poscell 0,0,0, 0, 00MusicCell ;Ratte kommt weg
MusikKampfDummyREF.StopCombat player;Kampf beenden
set FakeFightDone to 4; Kampferzeugen schließen
return
endif
if Kampf == 0 ; Wenn der Spieler nicht im Kampf ist
;Zufälliges Lied spielen
if drinnen == 1 ; Für Interior
set SongNR to 1 + 0.05 * GetRandompercent; 5 für Interior
else ; Für Exterior
set SongNR to 5 + 0.05 * GetRandomPercent; 5 für Exterior
endif
set FakeFightDone to 0; Kampferzeugung wieder möglich machen
if SongNR == 1 ;Alle Lieder mit Dauer,songtimer ist Lied-Dauer
set songtimer to 104
streammusic "Data\Music\xxx"
elseif SongNR == 2
set songtimer to 207
streammusic "Data\Music\xxx"
elseif SongNR == 3
set songtimer to 81
streammusic "Data\Music\xxx"
elseif SongNR == 4
set songtimer to 177
streammusic "Data\Music\xxx"
elseif SongNR == 5
set songtimer to 104
streammusic "Data\Music\xxx"
elseif SongNR == 6
set songtimer to 207
streammusic "Data\Music\xxx"
elseif SongNR == 7
set songtimer to 81
streammusic "Data\Music\xxx"
elseif SongNR == 8
set songtimer to 177
streammusic "Data\Music\xxx"
endif
endif
elseif Songtimer > 0
set songtimer to songtimer - getsecondspassed;
endif
endif
End
Begin Menumode ;das Gleiche ohne Kampf & Zellwechsel
if player.GetInWorldspace xxx == 1 || player.GetInCell xx == 1
if songtimer <= 0
;Kampf-erzeugen
if FakeFightDone < 3 ; 3 Frames lang den Kampf laufen lassen
if FakeFightDone == 0
MusikKampfDummyREF.moveto player ;Ratte zum Spieler
MusikKampfDummyREF.StartCombat player ;Ratte greift an
set FakeFightDone to 1
return
endif
set FakeFightDone to FakeFightDone + 1 ; wird bis 3 zählen
return
elseif FakeFightDone == 3 ; nach 3 Frames Kampf
MusikKampfDummyREF.poscell 0,0,0, 0, 00MusicCell ;Ratte kommt weg
MusikKampfDummyREF.StopCombat player;Kampf beenden
set FakeFightDone to 4; Kampferzeugen schließen
return
endif
if Kampf == 0
;zufälliges lied
if drinnen == 1
set SongNR to 1 + 0.05 * GetRandompercent
else
set SongNR to 5 + 0.05 * GetRandomPercent
endif
set FakeFightDone to 0
if SongNR == 1 ;Alle Lieder mit Dauer,songtimer ist Lied-Dauer
set songtimer to 104
streammusic "Data\xxx"
elseif SongNR == 2
set songtimer to 207
streammusic "Data\Music\xxx"
elseif SongNR == 3
set songtimer to 81
streammusic "Data\Music\xxx"
elseif SongNR == 4
set songtimer to 177
streammusic "Data\Music\xxx"
elseif SongNR == 5
set songtimer to 104
streammusic "Data\Music\xxx"
elseif SongNR == 6
set songtimer to 207
streammusic "Data\Music\xxx"
elseif SongNR == 7
set songtimer to 81
streammusic "Data\Music\xxx "
elseif SongNR == 8
set songtimer to 177
streammusic "Data\Music\xxx"
endif
endif
elseif Songtimer > 0
set songtimer to songtimer - getsecondspassed
endif
endif
End