brothershogo Posted February 23, 2013 Share Posted February 23, 2013 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 EmergencyRadioRefRef 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 bAwaitingInputShort bDoOnceShort bHasRadio ; Player has been given radio.Short bInputReceivedShort bRadioBarkShort bRadioOpDoneTalkingShort bRadioOpOscarMikeShort bRadioOpPlacedShort bRadioOpWalkShort bReceivedSupportShort bTrooperBarkDoneShort bTrooperAliveShort bRangerBarkDoneShort bRangerAliveShort bPatrolBarkDoneShort bPatrolAliveShort bCombatBarkDoneShort bCombatAliveShort bTimerSetShort 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 iBarkDelayShort iButtonVarShort iDeleteRangeShort iOneDayTimerShort iRadioButtonPressed Short iRotateCancelDialogShort iRotateCombatDialogShort iRotatePatrolDialogShort iRotateSupplyDialogShort iRotateSupportDialogShort iRotateTrooperDialog Short iRotateRangerDialogShort iRotateNoSupportDialogShort iRotateOutofAreaDialog Short iSpawnDelayShort iSpawnCombatDelayShort iSpawnPatrolDelayShort iSpawnRangerDelayShort iSpawnSupplyDelayShort iSpawnTrooperDelayShort iSpeedDelayShort iWalkDelayShort 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 More sharing options...
Recommended Posts