Jump to content

Need help with a script I'm working on.


brothershogo

Recommended Posts

Hey all. I wanted to add a feature in my mod where you can call for support from a squad of soldiers like in the vanilla New Vegas when the NCR gives you the radio. I dissected the falloutnv.esp and figured out mostly how it works but I got stuck on the script. Really need help from someone with scripting experience. Heres what I have so far, its basically just a copy of the vanilla script with the reference IDs changed:

 

 

 

 

 

scn shogoVEFR01NCREmergencyRadioQuestSCRIPT
; Quest Script for "Emergency Radio" NCR faction reputation benefit/consequence (good 2)...
; ... gives Player a radio to call for NCR support (once/day) if Good Rep goes to 2 or above.
; This script handles all of the spawning/deleting of NPCs and...
; ... the functionality of the Emeregency Radio itself.
; The Emergency Radio Message ("VEFR01NCREmergencyRadioMSG") and...
; ... the Dialogue (Quest Filter: "shogoVEFR01NCRGood2EmergencyRadio") each have Conditional Checks and...
; ... set Variables that are integral to the functioning/maintaining of the entire routine.
; --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Float fTimePassed ; Tracks the day(s) between support availability.
Ref EmergencyRadioRef
Ref placedDUMMYRef ; Marker to move and Xmarker to... to move the supply cache to (so it doesn't spawn underground).
Ref placedRadioOpRef ; NCR Radio Operator.
Short bAwaitingInput
Short bDoOnce
Short bHasRadio ; Player has been given radio.
Short bInputReceived
Short bRadioBark
Short bRadioOpDoneTalking
Short bRadioOpOscarMike
Short bRadioOpPlaced
Short bRadioOpWalk
Short bReceivedSupport
Short bTrooperBarkDone
Short bTrooperAlive
Short bRangerBarkDone
Short bRangerAlive
Short bPatrolBarkDone
Short bPatrolAlive
Short bCombatBarkDone
Short bCombatAlive
Short bTimerSet
Short bUsingRadio ; Player just called for support (on radio).
Short bSupportAway ; << Variables for: "Respawn Counter (in case NPC doesn't reach PC)"
Short bSafetyTimer ; << ---------------------------------------------------------------------------------------------------------
Short fThreeHourTimer ; <<
Short bSupportArrived ; <<
Short bRadioOpAway ; <<
Short bRadioOpArrived ; <<
Short bTrooperAway ; <<
Short bTrooperArrived ; <<
Short bRangerAway ; <<
Short bRangerArrived ; <<
Short bPatrolAway ; <<
Short bPatrolArrived ; <<
Short bCombatAway ; <<
Short bCombatArrived ; <<
Short iBarkDelay
Short iButtonVar
Short iDeleteRange
Short iOneDayTimer
Short iRadioButtonPressed
Short iRotateCancelDialog
Short iRotateCombatDialog
Short iRotatePatrolDialog
Short iRotateSupplyDialog
Short iRotateSupportDialog
Short iRotateTrooperDialog
Short iRotateRangerDialog
Short iRotateNoSupportDialog
Short iRotateOutofAreaDialog
Short iSpawnDelay
Short iSpawnCombatDelay
Short iSpawnPatrolDelay
Short iSpawnRangerDelay
Short iSpawnSupplyDelay
Short iSpawnTrooperDelay
Short iSpeedDelay
Short iWalkDelay
Short iWalkRange
; --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Begin GameMode
If bDoOnce == 0
Set iWalkRange to 4500
Set iDeleteRange to 9999
Set iButtonVar to -1
Set iRadioButtonPressed to -1
Set iRotateSupplyDialog to 1
Set iRotateTrooperDialog to 1
Set iRotateRangerDialog to 1
Set iRotateNoSupportDialog to 1
Set iRotateOutofAreaDialog to 1
Set iRotateCancelDialog to 1
Set bRadioOpPlaced to 0
Set bDoOnce to 1
Endif
If ( GetReputationThreshold shogoRepNVNCR 1 >= 2 && DisguiseFactionPulseQuest.bFactionArmorEquipped != 1 ) ; Player NCR "Good" reputation is 2 or greater AND Player is not wearing faction armor.
If ( IsPlayerInRegion vMapCanSupportPCHere == 1 )
SetQuestDelay shogoVEFR01NCRGood2EmergencyRadio 0.1
; -------------------------------------------------------------------------------------------- Deliver Emergency Radio to Player -------------------------------------------------------------------------------------- \/
; --------------------------------------------------------- Spawn Radio Op --------------------------------------------------- \/
If ( bRadioOpPlaced == 0 ) ; Radio Op not spawned yet - spawn.
If ( iSpawnDelay == 0 )
VEFR0xRepSpawnMarker01.MoveTo Player 5995 5995
Set iSpawnDelay to 1
Return
Elseif ( iSpawnDelay == 1 )
VEFR01NCRRadioOperatorRef.MoveTo VEFR0xRepSpawnMarker01
Set iSpawnDelay to 2
Return
Elseif ( iSpawnDelay == 2 )
Set placedRadioOpRef to VEFR01NCRRadioOperatorRef
Set iSpawnDelay to 3 ; <<<RESET TO 0>>> <-- Only if RadioOp is dead AND Player doesn't have the Radio!
Endif
Set bRadioOpArrived to 0
Set bRadioOpAway to 1
Set bSupportArrived to 0
Set bSafetyTimer to 0
Set bSupportAway to 1 ; <<<DO NOT RESET>>> (Handled by "Respawn Counter (in case NPC doesn't reach PC)")
Set bRadioOpPlaced to 1 ; <<<RESET TO 0>>> <-- Only if RadioOp is dead AND Player doesn't have the Radio!
Endif
; --------------------------------------------------------- Radio Op - Speed to Player ---------------------------------- \/
If bRadioOpOscarMike == 0 && bRadioOpPlaced == 1 ; If Radio Op spawned, but not On-the-Move yet - speed to Player.
If ( iSpeedDelay == 0 )
placedRadioOpRef.SetActorValue SpeedMult 200 ; Set speed to 2x normal speed (SpeedMult should be 200).
Set iSpeedDelay to 1
Return
Elseif ( iSpeedDelay == 1 )
placedRadioOpRef.AddScriptPackage VEFR02NCRBad2TalkToPlayer ; (Borrowing dialogue package from Bad2 Rep routine)
Set iSpeedDelay to 2 ; <<<RESET TO 0>>> <-- Only if RadioOp is dead AND Player doesn't have the Radio!
Endif
Set bRadioOpOscarMike to 1 ; <<<RESET TO 0>>> <-- Only if RadioOp is dead AND Player doesn't have the Radio!
Endif
; --------------------------------------------------------- END Radio Op - Speed to Player -------------------------- /\
Endif ; Ends check for Player in CanSupport region.
Endif ; Ends check for NCR good rep (>= 2).
; Radio Operator is on his way - don't shut down routine because Player leaves area (Radio itself will handle any reduction in good NCR reputation).
; --------------------------------------------------------- Radio Op - Speed to Normal --------------------------------- \/
If bRadioOpWalk == 0 && bRadioOpOscarMike == 1
If ( player.GetDistance placedRadioOpRef <= iWalkRange )
If ( iWalkDelay == 0 )
placedRadioOpRef.RemoveScriptPackage VEFR02NCRBad2TalkToPlayer
Set iWalkDelay to 1
Return
Elseif ( iWalkDelay == 1 )
placedRadioOpRef.SetActorValue SpeedMult 100 ; Set speed to normal speed (SpeedMult should be 100).
Set iWalkDelay to 2
Return
Elseif ( iWalkDelay == 2 )
placedRadioOpRef.AddScriptPackage VEFR02NCRBad2TalkToPlayer
Set iWalkDelay to 3 ; <<<RESET TO 0>>> <-- Only if RadioOp is dead AND Player doesn't have the Radio!
Set bRadioOpWalk to 1 ; <<<RESET TO 0>>> <-- Only if RadioOp is dead AND Player doesn't have the Radio!
Endif
Endif
Endif
; [NOTE: Variable set in RadioOps Dialogue triggers the transfer of the Radio to the Player.]
; --------------------------------------------------------- Radio Op - Give Radio to Player --------------------------- \/
If ( bHasRadio == 1 ) ; This variable is "set to 1" in RadioOps' dialogue
If ( player.GetItemCount shogoMercenaryRadio == 0 ) ; (8_9_10) Added to keep the Player from getting more than 1 Radio. -ETB
player.AddItem shogoMercenaryRadio 1
Endif
Set bRadioOpAway to 0
Set bRadioOpArrived to 1
Set bHasRadio to 2 ; <<<DO NOT RESET - Doing so will re-enable Radio Operator Dialogue Condition>>>
Endif
; -------------------------------------------------------------------------------------------- Delete Placed Radio Operator ----------------------------------------------------------------------------------------------- \/
; --------------------------------------------------------- Radio Op - Move Off and Delete --------------------------- \/
If ( bRadioOpDoneTalking == 1 ) ; This variable is "set to 1" in RadioOps' dialogue
placedRadioOpRef.AddScriptPackage VEFR02NCRBad2LeaveFromPlayer ; Sends RadioOp to delete trigger at Camp McCarran entrance (see package for name).
Set bRadioOpDoneTalking to 0 ; <<<DO NOT RESET TO 0 - IT IS SET HERE>>>
Endif
; --------------------------------------------------------- Radio Op - Far from Player - Delete----------------------- \/
If ( bRadioOpPlaced == 1 && bRadioOpDoneTalking == 1 )
If ( player.GetDistance placedRadioOpRef >= iDeleteRange )
placedRadioOpRef.Disable
placedRadioOpRef.MarkForDelete
Endif
Endif
; --------------------------------------------------------- END Radio Op - Far from Player - Delete ------------- /\
; -------------------------------------------------------------------------------------------- Radio Operator Talk to Player ----------------------------------------------------------------------------------------------- \/
; When the Player makes a selection on the Emergency Radio the Radio Op with "reply" acknowledging the selection
; [NOTE: Currently this doesn't work - something to do with the TalkingActivator (it works fine if an Actor is used... or with the TalkingActivator if the sequence is triggered...
; ...using an Activator (trigger volume) in the worldspace) - but these lines are left here (commented out) incase I have a flash of inspiration. -ETB.]
;If ( iRadioButtonPressed > -1 && bRadioBark == 1 )
;SetQuestDelay shogoVEFR01NCRGood2EmergencyRadio 0.1
;If ( iBarkDelay == 0 )
;Set iBarkDelay to 1
;VEFR01NCRRadioOperatorRef.MoveTo Player 150 150 ; <<<-- This works (but using an actor defeats the purpose of a radio communication).
;VEFR0xNCRRadioOpSpeakerRef.MoveTo Player ; <<<-- This doesn't work (well, the MoveTo part is fine - the problem occurs at "StartConversation").
;Return
;Endif
;If ( iBarkDelay == 1 )
;Set iBarkDelay to 2
;VEFR0xNCRRadioOpSpeakerRef.StartConversation player, GREETING ; [NOTE: Conditionals in dialog plays correct line for button pressed.]
;VEFR01NCRRadioOperatorRef.StartConversation player GREETING ; <<<-- This works (using an actor), but the one above (TalkingActivator) does not.
;Return
;Endif
;If ( iBarkDelay == 2 )
;Set iBarkDelay to 3
;Endif
;Set bRadioBark to 0
;Set iBarkDelay to 0
;Endif
; -------------------------------------------------------------------------------------------- Trooper Done Barking - Follow Player ----------------------------------------------------------------------------------- \/
If ( bTrooperBarkDone == 1 )
Set bTrooperBarkDone to 0
Set bTrooperAway to 0
Set bTrooperArrived to 1
shogoVEFR01NCRSupportTrooper01AAMRef.AddScriptPackage VEFR01NCRGood2FollowPlayer
SetQuestDelay shogoVEFR01NCRGood2EmergencyRadio 5.0
Endif
; -------------------------------------------------------------------------------------------- Ranger Done Barking - Follow Player ----------------------------------------------------------------------------------- \/
If ( bRangerBarkDone == 1 )
Set bRangerBarkDone to 0
Set bRangerAway to 0
Set bRangerArrived to 1
shogoVEFR01NCRSupportRanger01CFRef.AddScriptPackage VEFR01NCRGood2FollowPlayer
SetQuestDelay shogoVEFR01NCRGood2EmergencyRadio 5.0
Endif
; -------------------------------------------------------------------------------------------- Patrol Ranger Done Barking - Follow Player ------------------------------------------------------------------------ \/
If ( bPatrolBarkDone == 1 )
Set bPatrolBarkDone to 0
Set bPatrolAway to 0
Set bPatrolArrived to 1
shogoVEFR01NCRSupportRanger02HMRef.AddScriptPackage VEFR01NCRGood2FollowPlayer
SetQuestDelay shogoVEFR01NCRGood2EmergencyRadio 5.0
Endif
; -------------------------------------------------------------------------------------------- Combat Ranger Done Barking - Follow Player ---------------------------------------------------------------------- \/
If ( bCombatBarkDone == 1 )
Set bCombatBarkDone to 0
Set bCombatAway to 0
Set bCombatArrived to 1
shogoVEFR01NCRSupportRanger03AAFRef.AddScriptPackage VEFR01NCRGood2FollowPlayer
SetQuestDelay shogoVEFR01NCRGood2EmergencyRadio 5.0
Endif
; -------------------------------------------------------------------------------------------- Respawn Counter (in case NPC doesn't reach PC) --------------------------------------------------------------- \/
If ( bSupportAway == 1 ) ; Any of the NPCs has been sent to the Player (en route now).
If ( bSafetyTimer == 0 )
Set fThreeHourTimer to GameDaysPassed ; Start the timer!
Set bSafetyTimer to 1
Endif
If ( bSupportArrived == 0 ) ; Has not reached the Player yet (still en route).
If ( GameDaysPassed >= ( fThreeHourTimer + 0.125 ) ) ; Three hours have passed - something has gone wrong.
If ( bRadioOpAway == 1 && bRadioOpArrived == 0 ) ; NPC is en route, but has not reached the Player.
If ( player.GetDistance placedRadioOpRef >= 5000 || placedRadioOpRef.GetDead == 1 ) ; NPC is too far away (or dead) - resurrect (if necessary) and move closer. (11_12_10) Added OR. -ETB
If ( GetReputationThreshold shogoRepNVNCR 1 >= 2 )
placedRadioOpRef.MoveTo Player 3500 3000
If ( placedRadioOpRef.GetDead == 1 )
placedRadioOpRef.ResurrectActor 0
Endif
placedRadioOpRef.AddScriptPackage VEFR02NCRBad2TalkToPlayer
Set bSafetyTimer to 0
Return
Endif
Else ; NPC isn't too far away - reset timer and let NPC live (for now).
Set bSafetyTimer to 0 ; This will allow "fThreeHourTimer" to be reset to "GameDaysPassed" (giving the NPC three more hours to arrive).
Return
Endif
Elseif ( bTrooperAway == 1 && bTrooperArrived == 0 )
If ( player.GetDistance shogoVEFR01NCRSupportTrooper01AAMRef >= 5000 || shogoVEFR01NCRSupportTrooper01AAMRef.GetDead == 1 ) ; (11_12_10) Added OR, moved rep check to next line. -ETB
If ( GetReputationThreshold shogoRepNVNCR 1 >= 2 )
shogoVEFR01NCRSupportTrooper01AAMRef.MoveTo Player 2500 3750
If ( shogoVEFR01NCRSupportTrooper01AAMRef.GetDead == 1 )
shogoVEFR01NCRSupportTrooper01AAMRef.ResurrectActor 0
Set bTrooperAlive to 1
Endif
shogoVEFR01NCRSupportTrooper01AAMRef.AddScriptPackage VEFR01NCRGood2BarkAtPlayer
Set bSafetyTimer to 0
Return
Endif
Else ; NPC isn't too far away - reset timer and let NPC live (for now).
Set bSafetyTimer to 0 ; This will allow "fThreeHourTimer" to be reset to "GameDaysPassed" (giving the NPC three more hours to arrive).
Return
Endif
Elseif ( bRangerAway == 1 && bRangerArrived == 0 )
If ( player.GetDistance shogoVEFR01NCRSupportRanger01CFRef >= 5000 || shogoVEFR01NCRSupportRanger01CFRef.GetDead == 1 ) ; (11_12_10) Added OR, moved rep check to next line. -ETB
If ( GetReputationThreshold shogoRepNVNCR 1 >= 2 )
shogoVEFR01NCRSupportRanger01CFRef.MoveTo Player 3000 2750
If ( shogoVEFR01NCRSupportRanger01CFRef.GetDead == 1 )
shogoVEFR01NCRSupportRanger01CFRef.ResurrectActor 0
Set bRangerAlive to 1
Endif
shogoVEFR01NCRSupportRanger01CFRef.AddScriptPackage VEFR01NCRGood2BarkAtPlayer
Set bSafetyTimer to 0
Return
Endif
Else ; NPC isn't too far away - reset timer and let NPC live (for now).
Set bSafetyTimer to 0 ; This will allow "fThreeHourTimer" to be reset to "GameDaysPassed" (giving the NPC three more hours to arrive).
Return
Endif
Elseif ( bPatrolAway == 1 && bPatrolArrived == 0 )
If ( player.GetDistance shogoVEFR01NCRSupportRanger02HMRef >= 5000 || shogoVEFR01NCRSupportRanger02HMRef.GetDead == 1 ) ; (11_12_10) Added OR, moved rep check to next line. -ETB
If ( GetReputationThreshold shogoRepNVNCR 1 >= 2 )
shogoVEFR01NCRSupportRanger02HMRef.MoveTo Player 4000 2500
If ( shogoVEFR01NCRSupportRanger02HMRef.GetDead == 1 )
shogoVEFR01NCRSupportRanger02HMRef.ResurrectActor 0
Set bPatrolAlive to 1
Endif
shogoVEFR01NCRSupportRanger02HMRef.AddScriptPackage VEFR01NCRGood2BarkAtPlayer
Set bSafetyTimer to 0
Return
Endif
Else ; NPC isn't too far away - reset timer and let NPC live (for now).
Set bSafetyTimer to 0 ; This will allow "fThreeHourTimer" to be reset to "GameDaysPassed" (giving the NPC three more hours to arrive).
Return
Endif
Elseif ( bCombatAway == 1 && bCombatArrived == 0 )
If ( player.GetDistance shogoVEFR01NCRSupportRanger03AAFRef >= 5000 || shogoVEFR01NCRSupportRanger03AAFRef.GetDead == 1 ) ; (11_12_10) Added OR, moved rep check to next line. -ETB
If ( GetReputationThreshold shogoRepNVNCR 1 )
shogoVEFR01NCRSupportRanger03AAFRef.MoveTo Player 4000 2500
If ( shogoVEFR01NCRSupportRanger03AAFRef.GetDead == 1 )
shogoVEFR01NCRSupportRanger03AAFRef.ResurrectActor 0
Set bCombatAlive to 1
Endif
shogoVEFR01NCRSupportRanger03AAFRef.AddScriptPackage VEFR01NCRGood2BarkAtPlayer
Set bSafetyTimer to 0
Return
Endif
Else ; NPC isn't too far away - reset timer and let NPC live (for now).
Set bSafetyTimer to 0 ; This will allow "fThreeHourTimer" to be reset to "GameDaysPassed" (giving the NPC three more hours to arrive).
Return
Endif
Endif
Endif
Endif
Endif
; -------------------------------------------------------------------------------------------- Reset Counter (wait until 2400) --------------------------------------------------------------------------------------------- \/
If ( bReceivedSupport == 1 )
If ( bTimerSet == 0 )
Set iOneDayTimer to GameDaysPassed
Set bTimerSet to 1 ; <<<RESET TO 0>>> ( In "Radio Menu Up (waiting for selection)" )
Endif
If ( GameDaysPassed >= ( iOneDayTimer + 1 ) )
Set bReceivedSupport to 0 ; <<<DO NOT RESET TO 0>>> (Set to 1 in "Radio Menu Up (waiting for selection)")
Set iSpawnTrooperDelay to 0
Set iSpawnRangerDelay to 0
Set iSpawnPatrolDelay to 0
Set iSpawnCombatDelay to 0
Endif
Endif
; -------------------------------------------------------------------------------------------- Player in Interior = Dismiss Support ------------------------------------------------------------------------------------- \/ (11_12_10) Added for fix bug# 41703 -ETB
If ( bTrooperAlive )
If ( shogoVEFR01NCRSupportTrooper01AAMRef.IsInInterior == 1 )
shogoVEFR01NCRSupportTrooper01AAMRef.AddScriptPackage VEFR02NCRBad2LeaveFromPlayer ; <<<Battlegear Trooper>>>
Endif
Elseif ( bRangerAlive )
If ( shogoVEFR01NCRSupportRanger01CFRef.IsInInterior == 1 )
shogoVEFR01NCRSupportRanger01CFRef.AddScriptPackage VEFR02NCRBad2LeaveFromPlayer ; <<<Battlegear Ranger>>>
Endif
Elseif ( bPatrolAlive )
If ( shogoVEFR01NCRSupportRanger02HMRef.IsInInterior == 1 )
shogoVEFR01NCRSupportRanger02HMRef.AddScriptPackage VEFR02NCRBad2LeaveFromPlayer ; <<<Patrol Armor Ranger>>>
Endif
Elseif ( bCombatAlive )
If ( shogoVEFR01NCRSupportRanger03AAFRef.IsInInterior == 1 )
shogoVEFR01NCRSupportRanger03AAFRef.AddScriptPackage VEFR02NCRBad2LeaveFromPlayer ; <<<Combat Armor Ranger>>>
Endif
Endif
End ; End GameMode block.
; --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Begin MenuMode
SetQuestDelay shogoVEFR01NCRGood2EmergencyRadio 0.1
If ( bUsingRadio == 1 ) ; Player used radio (variable set to 1 in the Radio's ingestible effect - in "NVEmergencyRadioSCRIPT")
Set bUsingRadio to 0
ShowMessage VEFR01NCREmergencyRadioMSG ; [NOTE: Which buttons are displayed is controlled by conditions in the message itself. Only one support troop at a time and only one support (any) per day.]
Set bAwaitingInput to 1
Endif
; -------------------------------------------------------------------------------------------- Radio Menu Up (waiting for selection) ---------------------------------------------------------------------------------- \/
If ( bAwaitingInput == 1)
Set iButtonVar to GetButtonPressed
If ( iButtonVar > -1 )
Set bAwaitingInput to 0
If ( iButtonVar == 0 ) ; "Cancel [no support]" [shogoRepNVNCR >= 2]
Set iRadioButtonPressed to 0
Set iButtonVar to -1
Set bRadioBark to 1
Elseif ( iButtonVar == 2 ) ; "Call for NCR Trooper Support" [shogoRepNVNCR >= 3]
Set iRadioButtonPressed to 2
Set iButtonVar to -1
Set bReceivedSupport to 1
Set bTimerSet to 0
Set bRadioBark to 1
If ( iSpawnTrooperDelay == 0 )
VEFR0xRepSpawnMarker02.MoveTo Player 5500 4500
Set iSpawnTrooperDelay to 1
Endif
Elseif ( iButtonVar == 3 ) ; "Call for NCR Ranger Support" [shogoRepNVNCR >= 4]
Set iRadioButtonPressed to 3
Set iButtonVar to -1
Set bReceivedSupport to 1
Set bTimerSet to 0
Set bRadioBark to 1
If ( GetReputationThreshold shogoRepNVNCR 1 >= 2 ) ; <<<Battlegear Ranger>>>
If ( iSpawnRangerDelay == 0 )
VEFR0xRepSpawnMarker02.MoveTo Player 4500 5500
Set iSpawnRangerDelay to 1
Endif
Elseif ( GetReputationThreshold shogoRepNVNCR 1 >= 2 ) ; <<<Patrol Armor Ranger>>>
If ( iSpawnPatrolDelay == 0 )
VEFR0xRepSpawnMarker02.MoveTo Player 5500 3500
Set iSpawnPatrolDelay to 1
Endif
Elseif ( GetReputationThreshold shogoRepNVNCR 1 >= 2 && GetGlobalValue VStoryState >= 40 ) ; <<<Combat Armor Ranger>>>
If ( iSpawnCombatDelay == 0 )
VEFR0xRepSpawnMarker02.MoveTo Player 3500 5500
Set iSpawnCombatDelay to 1
Endif
Endif
Elseif ( iButtonVar == 5 ) ; "Current location outside NCR Support Area" [Not in CanSupport Region]
Set iRadioButtonPressed to 5
Set iButtonVar to -1
Set bRadioBark to 1
Elseif ( iButtonVar == 7 ) ; "Dismiss NCR Soldier"
Set iRadioButtonPressed to 7
Set iButtonVar to -1
Endif
Else
Return
Endif
Endif
; -------------------------------------------------------------------------------------------- NCR Trooper Support Selected (button 2) ------------------------------------------------------------------------------ \/
If ( iSpawnTrooperDelay == 1 ) ; Set to 1 in "Radio Menu Up" section (above).
If ( shogoVEFR01NCRSupportTrooper01AAMRef.GetDead == 1 )
shogoVEFR01NCRSupportTrooper01AAMRef.ResurrectActor 0
Endif
Set iSpawnTrooperDelay to 2
Return
Elseif ( iSpawnTrooperDelay == 2 )
shogoVEFR01NCRSupportTrooper01AAMRef.MoveTo VEFR0xRepSpawnMarker02
Set bTrooperAlive to 1
Set iSpawnTrooperDelay to 3
Set bTrooperArrived to 0
Set bTrooperAway to 1
Set bSupportArrived to 0
Set bSafetyTimer to 0
Set bSupportAway to 1 ; <<<DO NOT RESET>>> (Handled by "Respawn Counter (in case NPC doesn't reach PC)")
Return
Elseif ( iSpawnTrooperDelay == 3 )
shogoVEFR01NCRSupportTrooper01AAMRef.AddScriptPackage VEFR01NCRGood2BarkAtPlayer
Set iSpawnTrooperDelay to 4 ; <<<DO NOT RESET>>>
Endif
; -------------------------------------------------------------------------------------------- NCR Ranger Support Selected (button 3) ------------------------------------------------------------------------------- \/
If ( iSpawnRangerDelay == 1 ) ; Set to 1 in "Radio Menu Up" section (above).
If ( shogoVEFR01NCRSupportRanger01CFRef.GetDead == 1 )
shogoVEFR01NCRSupportRanger01CFRef.ResurrectActor 0
Endif
Set iSpawnRangerDelay to 2
Return
Elseif ( iSpawnRangerDelay == 2 )
shogoVEFR01NCRSupportRanger01CFRef.MoveTo VEFR0xRepSpawnMarker02
Set bRangerAlive to 1
Set iSpawnRangerDelay to 3
Set bRangerArrived to 0
Set bRangerAway to 1
Set bSupportArrived to 0
Set bSafetyTimer to 0
Set bSupportAway to 1 ; <<<DO NOT RESET>>> (Handled by "Respawn Counter (in case NPC doesn't reach PC)")
Return
Elseif ( iSpawnRangerDelay == 3 )
shogoVEFR01NCRSupportRanger01CFRef.AddScriptPackage VEFR01NCRGood2BarkAtPlayer
Set iSpawnRangerDelay to 4 ; <<<DO NOT RESET>>>
Endif
; -------------------------------------------------------------------------------------------- NCR Patrol Ranger Support Selected (button 3) -------------------------------------------------------------------- \/
If ( iSpawnPatrolDelay == 1 ) ; Set to 1 in "Radio Menu Up" section (above).
If ( shogoVEFR01NCRSupportRanger02HMRef.GetDead == 1 )
shogoVEFR01NCRSupportRanger02HMRef.ResurrectActor 0
Endif
Set iSpawnPatrolDelay to 2
Return
Elseif ( iSpawnPatrolDelay == 2 )
shogoVEFR01NCRSupportRanger02HMRef.MoveTo VEFR0xRepSpawnMarker02
Set bPatrolAlive to 1
Set iSpawnPatrolDelay to 3
Set bPatrolArrived to 0
Set bPatrolAway to 1
Set bSupportArrived to 0
Set bSafetyTimer to 0
Set bSupportAway to 1 ; <<<DO NOT RESET>>> (Handled by "Respawn Counter (in case NPC doesn't reach PC)")
Return
Elseif ( iSpawnPatrolDelay == 3 )
shogoVEFR01NCRSupportRanger02HMRef.AddScriptPackage VEFR01NCRGood2BarkAtPlayer
Set iSpawnPatrolDelay to 4 ; <<<DO NOT RESET>>>
Endif
; -------------------------------------------------------------------------------------------- NCR Combat Ranger Support Selected (button 3) ----------------------------------------------------------------- \/
If ( iSpawnCombatDelay == 1 ) ; Set to 1 in "Radio Menu Up" section (above).
If ( shogoVEFR01NCRSupportRanger03AAFRef.GetDead == 1 )
shogoVEFR01NCRSupportRanger03AAFRef.ResurrectActor 0
Endif
Set iSpawnCombatDelay to 2
Return
Elseif ( iSpawnCombatDelay == 2 )
shogoVEFR01NCRSupportRanger03AAFRef.MoveTo VEFR0xRepSpawnMarker02
Set bCombatAlive to 1
Set iSpawnCombatDelay to 3
Set bCombatArrived to 0
Set bCombatAway to 1
Set bSupportArrived to 0
Set bSafetyTimer to 0
Set bSupportAway to 1 ; <<<DO NOT RESET>>> (Handled by "Respawn Counter (in case NPC doesn't reach PC)")
Return
Elseif ( iSpawnCombatDelay == 3 )
shogoVEFR01NCRSupportRanger03AAFRef.AddScriptPackage VEFR01NCRGood2BarkAtPlayer
Set iSpawnCombatDelay to 4 ; <<<DO NOT RESET>>>
Endif
; -------------------------------------------------------------------------------------------- END NCR Combat Ranger Support Selected (button 3) --------------------------------------------------------- /\
If ( iRadioButtonPressed == 7 )
Set iRadioButtonPressed to 999
If ( bTrooperAlive )
shogoVEFR01NCRSupportTrooper01AAMRef.AddScriptPackage VEFR02NCRBad2LeaveFromPlayer ; <<<Battlegear Trooper>>>
Elseif ( bRangerAlive )
shogoVEFR01NCRSupportRanger01CFRef.AddScriptPackage VEFR02NCRBad2LeaveFromPlayer ; <<<Battlegear Ranger>>>
Elseif ( bPatrolAlive )
shogoVEFR01NCRSupportRanger02HMRef.AddScriptPackage VEFR02NCRBad2LeaveFromPlayer ; <<<Patrol Armor Ranger>>>
Elseif ( bCombatAlive )
shogoVEFR01NCRSupportRanger03AAFRef.AddScriptPackage VEFR02NCRBad2LeaveFromPlayer ; <<<Combat Armor Ranger>>>
Endif
Endif
End ; End MenuMode block.

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...