MQ01Script'' — технический файл, который относится к квесту «След в след» и который можно посмотреть в G.E.C.K..
Содержимое[]
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