Убежище
Убежище
41 441
страница

MQ01Script'' — технический файл, который относится к квесту «След в след» и который можно посмотреть в G.E.C.K..

Содержимое[]

Transcript

Scriptname MQ01Script

short MoriartyDad ; 1 = Moriarty talked to me about dad, but hasn't told me where he is
; MoriartyDad 2 = Moriarty talked to me about dad, and has told me where he is

short Bailout ;set to 1 in Three Dog's dialog for flag

**** Lyons Pride staging variables ***

short LPSceneA2
short LPSceneC1

float timer ; for timing conversations
short speaker ; who's talking (0 = nobody)
short target ; target of conversation
short noLook ; set to 1 if you don't want target to look at speaker
float timerPadding ; set to increase timer if necessary
short terminaltold ;1= Player is aware of the terminal in Colin's office
short talking ; set to 1 when talking, set to 0 when done talking and next person can speak
short MadeNovaMad ;1= Pissed off Nova
short QuestInt ;1= Player destroyed Megaton before hitting Stage 40 of the quest, so adjustments need to be made
short FavorAsked ;1= Moriarty has told the player the kill option for Sara Silver
short FavorResolved ;1= Player resolved the Sara Silver situation
short MetMoriarty ;1= Player Met Colin
short SilverTalk ;1= Dialog Package off

short gotFatman ;1= Player retrieved fatman from GNR corpse

short MQ01MegatonBlownUp ;doOnce variable for if you blow up Megaton during MQ01


used for MQ01 GNR scenes

ref targetRef

target definition
0 = no target (Say)
1 = player
2 = Vargas
3 = Reddin
4 = Colvin
5 = Sarah


float failsafeTimer ; used for failsafe timer to progress quest

begin gamemode

; run central timer for conversations
if timer > 0
if timerPadding > 0
set timer to timer + timerPadding
set timerPadding to 0
endif

set timer to timer - GetSecondsPassed
else
; special cases
if getstage MQ01 == 100
; delay start of scene
setstage MQ01 101
elseif getstage MQ01 == 105
; delay next piece of dialogue
setstage MQ01 110
elseif getstage MQ01 == 112
; delay next piece of dialogue
setstage MQ01 115
elseif getstage MQ01 == 140
; delay start of scene
setstage MQ01 141
endif

; MQ01 dialogue scenes
if talking == 0 && speaker > 1
; time for somebody to talk
; ******************************************
; set ref variables
; set target
if target == 0
set targetRef to 0
elseif target == 1
set targetRef to player
elseif target == 2
set targetRef to MQ01VargasREF
elseif target == 3
set targetRef to MQ01ReddinREF
elseif target == 4
set targetRef to MQ01ColvinREF
elseif target == 5
set targetRef to MQ01SarahREF
endif
; ******************************************
; talk
set talking to 1
if target == 0
; Say
if speaker == 2
MQ01VargasREF.Say MQ01LyonsPrideVargas 1
elseif speaker == 3
MQ01ReddinREF.Say MQ01LyonsPrideReddin 1
elseif speaker == 4
MQ01ColvinREF.Say MQ01LyonsPrideColvin 1
elseif speaker == 5
MQ01SarahREF.Say MQ01LyonsPrideSarah 1
else
; failsafe
set talking to 0
endif
else
; SayTo
if speaker == 2
MQ01VargasREF.SayTo targetRef MQ01LyonsPrideVargas 1 noLook
elseif speaker == 3
MQ01ReddinREF.SayTo targetRef MQ01LyonsPrideReddin 1 noLook
elseif speaker == 4
MQ01ColvinREF.SayTo targetRef MQ01LyonsPrideColvin 1 noLook
elseif speaker == 5
MQ01SarahREF.SayTo targetRef MQ01LyonsPrideSarah 1 noLook
else
; failsafe
set talking to 0
endif

endif
endif
endif

This is a handler block for the event of blowing up Megaton DURING MQ01
The player will loose all QT's and Objectives if they are not at the Find Galaxy News one


if ( MegatonDestroyed == 1 ) && MQ01MegatonBlownUp == 0
set MQ01MegatonBlownUp to 1
if ( GetStage MQ01 < 40 )
SetObjectiveCompleted MQ01 10 1
SetObjectiveCompleted MQ01 20 1
SetObjectiveDisplayed MQ01 30 1
endif
endif

failsafe timer

if failsafeTimer > 0
set failsafeTimer to failsafeTimer - getSecondsPassed
else
; failsafe special cases
; 1. progress to Behemoth if GNR scene fails to progress
if getStageDone MQ01 100 == 1 && getStageDone MQ01 105 == 0
setstage MQ01 105
endif
endif

end