Ganz praktisch ist hier auch die Bemerkung die oben drüber steht:
Code:
iThe Ambience Loop
This set of blocks exists to periodically play visual and audio FX while the player is in the collapsing ruins of Xeddefen during SE08 randomization is used extensively to prevent player fatigue/repetition
In Anbetracht der Erwähnung des Questes
SE08 solltest du dir diesen vielleicht auch noch einmal anschauen, vielleicht befinden sich dort ein paar Script Befehle, die damit zusammenhängen. Ich denke du wirst es an einen Quest binden, von daher könnte das nur nützlich sein.
Code:
if getStage SE08 >= 70 && getStage SE08 <= 80
if player.getInCell XPXeddefen03 || player.getInCell XPXeddefen04 || player.getInCell XPXeddefen05 ; nur wenn der Spieler in den genannten Zellen ist, die Zellen kannst du also durch deine ersetzen
if DoAmbSetupOnce == 0 ; aha wenn es also noch nicht durchgeführt wurde. TWEAK THESE CONTROL VARS - DON'T MESS WITH FORMULAE BELOW!!!!
set RumbMin to 1 ; Mindests eine "Erdbeben" Stärke von 1
set RumbMax to 5 ; Maximal eine Erdbeben stärke von 5
set SFXmin to 1 ; anscheinend für die Geräusche zuständig
set SFXmax to 3
set timerMin to 3 ; Offenbar für regelmäßge Geräusche und Beben zuständig
set timerMax to 12
set DoAmbSetupOnce to 1 ;Es wurde einmal ausgeführt und kann/sollte nach der obrigen Bestimmung nicht wiederholt werden, außer wir ändern den obrigen Wert
endif
if timer <= 0
set RumbleStrength to (RumbMin + (GetRandomPercent * (RumbMax - RumbMin)) / 99) ; Sorgt für die zufälligen Erschütterungen, mit einer Berechnung
triggerHitShader RumbleStrength ; Sorgt für den Effekt
set RandSFX to (SFXmin + (GetRandomPercent * (SFXmax - SFXmin)) / 99) ; simple randmoizer to choose ambient SFX to accompany our rumble
if RandSFX == 1
player.playSound AMBStoneShift01
elseif RandSFX == 2
player.playSound AMBStoneShift02
elseif RandSFX == 3
player.playSound AMBSToneShift03
endif
set timer to (timerMin + (getRandomPercent * (timerMax - timerMin)) / 99) ; randomize interval between ambient rumbles
endif
if timer > 0 ; vanilla timer control
set timer to (timer - getSecondsPassed)
endif
endif
endif
END
Kurz und knapp: Sehr viel Zufallsgenerator Gedöns, und einige Berechnungen, die damit verbunden sind. Den Timer habe ich ausgelassen, weil er die Zeit zählt, und nur indirekt mit dem Beben zu tun hat.
Naja sollte eigentlich eine Erklärung sein, wenn was falsch ist korrigiert mich ruhig!
-------------------------
Nur mal so eben zwischendurch: Hättet ihr was dagegen wenn ich das Script (wenn es dann fertig ist) der Scriptsammlung hinzufüge?
Einer von euch könnte das natürlich auch selbst tun, müsst nur Bescheid geben.