7887 lines
315 KiB
Python
Executable File
7887 lines
315 KiB
Python
Executable File
|
|
//Compile out Title Update changes to header functions.
|
|
//Must be before includes.
|
|
//CONST_INT USE_TU_CHANGES 0 // Removed by Kenneth R.
|
|
|
|
USING "rage_builtins.sch"
|
|
USING "globals.sch"
|
|
USING "cutscene_public.sch"
|
|
USING "commands_cutscene.sch"
|
|
USING "commands_entity.sch"
|
|
USING "commands_script.sch"
|
|
USING "script_player.sch"
|
|
USING "randomChar_public.sch"
|
|
USING "CompletionPercentage_public.sch"
|
|
USING "chase_hint_cam.sch" CHASE_HINT_CAM_STRUCT localChaseHintCamStruct
|
|
USING "commands_physics.sch"
|
|
USING "script_ped.sch"
|
|
USING "locates_public.sch"
|
|
USING "dialogue_public.sch"
|
|
USING "RC_Launcher_public.sch"
|
|
USING "initial_scenes_Minute.sch"
|
|
USING "buddy_head_track_public.sch"
|
|
USING "commands_event.sch"
|
|
USING "commands_recording.sch"
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
USING "select_mission_stage.sch"
|
|
#ENDIF
|
|
|
|
USING "RC_Helper_Functions.sch"
|
|
USING "RC_Threat_public.sch"
|
|
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
//
|
|
// MISSION NAME : Minute2.sc
|
|
// AUTHOR : Tom Kingsley
|
|
// DESCRIPTION : Catch "illegal" immigrants with Josef and Joe
|
|
//
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
CONST_INT ic_JOE 0
|
|
CONST_INT ic_JOSEF 1
|
|
// The Random Character - sRCLauncherDataLocal.pedID[ic_JOSEF]
|
|
g_structRCScriptArgs sRCLauncherDataLocal
|
|
//---------------------------------------------------------------
|
|
|
|
VEHICLE_INDEX vehChaseCar[4]
|
|
VEHICLE_INDEX vehChaseCarChase2
|
|
VEHICLE_INDEX vehSpeedo
|
|
VEHICLE_INDEX vehDuster
|
|
VEHICLE_INDEX vehRandom
|
|
|
|
PED_INDEX pedImmigrant[4]
|
|
PED_INDEX pedImmigrantChase2
|
|
PED_INDEX pedWorker[10]
|
|
PED_INDEX pedDusterPilot
|
|
|
|
BLIP_INDEX blipImmigrant[4]
|
|
BLIP_INDEX blipLocate[4]
|
|
BLIP_INDEX blipPlayerCar
|
|
BLIP_INDEX blipJosef
|
|
BLIP_INDEX blipJoe
|
|
BLIP_INDEX blipImmigrantChase2
|
|
|
|
SEQUENCE_INDEX seqChase1
|
|
SEQUENCE_INDEX seqChase2Route
|
|
SEQUENCE_INDEX seqChase2RouteB
|
|
SEQUENCE_INDEX seqChase2RouteC
|
|
SEQUENCE_INDEX seqChase2RouteD
|
|
SEQUENCE_INDEX seqChase2RouteSECONDPED
|
|
SEQUENCE_INDEX seqChase2RouteBSECONDPED
|
|
SEQUENCE_INDEX seqChase2RouteCSECONDPED
|
|
SEQUENCE_INDEX seqChase2RouteDSECONDPED
|
|
SEQUENCE_INDEX seqPointAtImmigrants
|
|
SEQUENCE_INDEX seqJosefThrowPapers
|
|
|
|
VEHICLE_INDEX vehTrafficRoute1[15]
|
|
PED_INDEX pedTrafficRoute1[15]
|
|
VECTOR vTrafficRoute1[15]
|
|
FLOAT fHeadingTrafficRoute1[15]
|
|
|
|
VEHICLE_INDEX vehTrafficRoute2[15]
|
|
PED_INDEX pedTrafficRoute2[15]
|
|
VECTOR vTrafficRoute2[15]
|
|
FLOAT fHeadingTrafficRoute2[15]
|
|
|
|
INT iTraffic
|
|
|
|
INT ssClimbToBack_1
|
|
INT ssClimbToBack_1B
|
|
INT ssClimbToBack_2
|
|
|
|
INT ssPassport
|
|
|
|
INT ssManuelSitBack
|
|
INT ssManuelSitBack2
|
|
INT ssPed2SitBack
|
|
INT iPed1getIn
|
|
|
|
//OBJECT_INDEX ObjPhone
|
|
OBJECT_INDEX ObjPapers
|
|
|
|
//SCENARIO_BLOCKING_INDEX blockScenarios
|
|
|
|
SCENARIO_BLOCKING_INDEX sbiCement
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CONST_INT MAX_SKIP_MENU_LENGTH 4
|
|
INT iReturnStage
|
|
MissionStageMenuTextStruct SkipMenuStruct[MAX_SKIP_MENU_LENGTH]
|
|
#ENDIF
|
|
|
|
structPedsForConversation s_conversation_peds
|
|
|
|
//---------------------------------------------------------------
|
|
|
|
CONST_INT DEFAULT_TIME_BEFORE_WARP_MINUTE_2 60000
|
|
|
|
FLOAT fEscortDistance = 12 //10
|
|
|
|
INT i = 0
|
|
//INT iGameTimer
|
|
//INT iGameTimerUpdate
|
|
INT iMultiHeadTimer
|
|
INT iChaseStartedTimer
|
|
INT iChaseStartedTimerUpdate
|
|
INT iConvoTimer
|
|
INT iConvoTimerUpdate
|
|
INT iConvo
|
|
INT iJosefCutSeq
|
|
INT iRangerHP
|
|
INT iGameTimerPed1KnockedOffUpdate
|
|
INT iGameTimerPed1KnockedOff
|
|
INT iGameTimerPed2KnockedOffUpdate
|
|
INT iGameTimerPed2KnockedOff
|
|
//INT iGameTimerSecondPedGettingAway
|
|
//INT iGameTimerSecondPedGettingAwayUpdate
|
|
INT iTimesTazed
|
|
INT iTimesTazedSECONDPED
|
|
//INT iNextCoordPed1
|
|
INT iArrivedAtCementFactory
|
|
INT iSeqCementFactory
|
|
INT iTimerJoeLeftCar
|
|
INT iTimerDontLetTheOtherEscape
|
|
INT iConvoGetBackInCar
|
|
INT iTimerPlayerNotInCar
|
|
INT iConvoTrevorDamagingCar
|
|
INT iRollingStartTimer
|
|
INT iTimerCarHorn
|
|
INT iSeqJosefThrowPapers
|
|
INT iTimerPassDriveOff
|
|
INT iGetOutOfCarLines
|
|
INT iSeqHintCam = 0
|
|
INT iTimerHintCamSwitch
|
|
INT iPedsStunnedOffBike = 0
|
|
INT iTimerChase1Started
|
|
INT iTimerGetOutOfCarLines
|
|
INT iTimerCatchUpLines
|
|
INT iCatchUpLines = 0
|
|
INT iPed2Kneeling
|
|
INT iPedKneeling
|
|
INT iPedInWater
|
|
INT iPed2InWater
|
|
INT iCrueltyLines
|
|
INT iTimerCrueltyLines
|
|
INT iSyncPed = 0
|
|
INT iTimerJackTrev
|
|
INT iGoBackLines
|
|
INT iTimerGoBackLines
|
|
INT iSeqChase2Dialogue
|
|
INT iDialogueStopping
|
|
INT iTimerDialogueStopping
|
|
INT iDialogueCrashed
|
|
INT iTimerDialogueCrashed
|
|
INT iShoutLines
|
|
INT iTimerShoutLines
|
|
INT iTimerPed1Ragdoll
|
|
INT iTimerPed2Ragdoll
|
|
|
|
INT iShoutSurr1
|
|
INT iShoutSurr3
|
|
INT iShoutSurr5
|
|
|
|
VECTOR vpedImmigrant[3]
|
|
VECTOR vSafeCoord
|
|
VECTOR vPlayer
|
|
VECTOR vChase[55]
|
|
|
|
//VECTOR vNodeSwitch1
|
|
//VECTOR vNodeSwitch2
|
|
|
|
FLOAT fDistBetweenJosefAndImmigrant
|
|
FLOAT fDistBetweenJoeAndImmigrant
|
|
FLOAT fDistBetweenCarAndMigrant
|
|
FLOAT fDistBetweenPlayerAndImmigrant
|
|
//FLOAT fDistBetweenBikers
|
|
//FLOAT fDistBiker1ToNextCoord
|
|
//FLOAT fDistBiker2ToNextCoord
|
|
FLOAT fRangerPetrolTankHP
|
|
FLOAT fRangerEngineHP
|
|
FLOAT fPlaybackSpeed
|
|
FLOAT fTrafficStopped
|
|
|
|
BOOL bOkForJosefToLeaveCar
|
|
BOOL bOkForJoeToLeaveCar
|
|
BOOL bBloke1AttachedToCar
|
|
BOOL bBloke2AttachedToCar
|
|
BOOL bOkToStartChase
|
|
BOOL bBlokestunned
|
|
BOOL bImmigrantHandsUp
|
|
BOOL bJosefCombatTaskGiven
|
|
BOOL bJoeCombatTaskGiven
|
|
BOOL bGettingAwayMessagePrinted
|
|
BOOL bGetCloseMessagePrinted
|
|
BOOL bImmigrantGettingIntoCar
|
|
BOOL bDrivingToMotel
|
|
BOOL bEveryoneInCar
|
|
BOOL bSecondGettingAwayMessagePrinted
|
|
BOOL bpedImmigrantChase2Attached
|
|
BOOL bChaseStarted
|
|
BOOL bSECONDBlokestunned
|
|
BOOL bImmigrantChase2HandsUp
|
|
BOOL bImmigrantChase2GettingIntoCar
|
|
BOOL bSeqSetup
|
|
BOOL bFirstImmigrantOnBike
|
|
BOOL bImmigrantChase2OnBike
|
|
BOOL bDebugSkippedToCementFactory
|
|
BOOL bPlayerAtChaseOnFootMessagePrinted
|
|
BOOL bImmigrantChase2Fleeing
|
|
BOOL bFirstImmigrantFleeing
|
|
BOOL bMissionFailed
|
|
BOOL bDebugSkipping
|
|
BOOL bDialogueDontletTheOtherEscape
|
|
BOOL bConvoSpottedImmigrant1
|
|
BOOL bCarHorn
|
|
BOOL bConvoImmigrantManuelGiveUp
|
|
BOOL bConvoImmigrant1GiveUp
|
|
BOOL bConvoImmigrant2GiveUp
|
|
BOOL bCementFactoryCheckpoint
|
|
BOOL bPlayerNotInCarBetweenCapturingImmigrants = FALSE
|
|
BOOL bPrint31 = FALSE
|
|
BOOL bBikeEscorting = FALSE
|
|
BOOL bBikeLeftFactory = FALSE
|
|
BOOL bWander = FALSE
|
|
BOOL bCloseFinalTimeWindowForStats = FALSE
|
|
BOOL bReplayCementFactory = FALSE
|
|
BOOL bSecondMusicCue = FALSE
|
|
BOOL bCreateNmMessage = FALSE
|
|
BOOL bRagdollTaskGiven = FALSE
|
|
BOOL bCreateNmMessagePed2 = FALSE
|
|
BOOL bRagdollTaskGivenPed2 = FALSE
|
|
BOOL bLosingCops = FALSE
|
|
BOOL bPrintLosingCops = FALSE
|
|
BOOL bPassport = FALSE
|
|
BOOL bManuelAttached = FALSE
|
|
BOOL bPassportSound = FALSE
|
|
BOOL bButterFingers = FALSE
|
|
BOOL bWeaponSwap = FALSE
|
|
BOOL bWarpJosef = FALSE
|
|
BOOL bThanks = FALSE
|
|
BOOL CCSExitTrev
|
|
BOOL CCSExitJosef
|
|
BOOL CCSExitJoe
|
|
BOOL CCsExitTruck
|
|
BOOL CCsExitCam
|
|
BOOL bPatrolVehDialogue
|
|
BOOL bDialogueGoBack
|
|
BOOL bDialoguePickUpLastGuy
|
|
BOOL bDialogueOkLetsGo
|
|
BOOL bDialogueDriveOff
|
|
BOOL bDoDelayedClimbInBack
|
|
BOOL bDoneDelayedClimbInBack
|
|
BOOL bDisableAbortConvo = FALSE
|
|
BOOL bDisableAbortConvoPed2 = FALSE
|
|
BOOL bSwitchWaypointFlags = FALSE
|
|
BOOL bMultiheadTriggered = FALSE
|
|
|
|
BOOL bDialogueLeftJorJ
|
|
INT iDialogueGoBackJorJ
|
|
INT iTimerGoBackJorJ
|
|
|
|
VECTOR vStorePlayerPosForWrongWayDialogue
|
|
INT iDialogueWrongWay
|
|
|
|
BOOL bBlipJoe
|
|
BOOL bBlipJosef
|
|
BOOL bBlipCar
|
|
|
|
BOOL bPrint18 //bools for text
|
|
BOOL bPrint03
|
|
BOOL bPrint06
|
|
BOOL bPrint08
|
|
BOOL bPrint33
|
|
BOOL bPrint29
|
|
BOOL bPrint32
|
|
BOOL bPrint19
|
|
BOOL bPrint42
|
|
BOOL bPrint01
|
|
BOOL bPrint30
|
|
BOOL bPrint39
|
|
BOOL bPrint37
|
|
BOOL bPrint47
|
|
BOOL bPrint49
|
|
|
|
BOOL bPrint48GoBack = FALSE
|
|
|
|
BOOL bPed1GettingUp = FALSE
|
|
INT iTimerPed1GettingUp
|
|
BOOL bPed2GettingUp = FALSE
|
|
INT iTimerPed2GettingUp
|
|
|
|
STRING sFailReason
|
|
|
|
BOOL bJosefGetIn
|
|
|
|
//----------------------------------------------------
|
|
|
|
ENUM JOSEFSTATE
|
|
JS_AIM,
|
|
JS_AIM_WALK,
|
|
JS_RUN
|
|
ENDENUM
|
|
|
|
ENUM FAIL_STATE
|
|
FS_SETUP,
|
|
FS_UPDATE,
|
|
FS_CLEANUP
|
|
ENDENUM
|
|
|
|
ENUM CUTSCENE_STAGE
|
|
eCutSpawnJJ,
|
|
eCutInit,
|
|
eCutUpdate,
|
|
eCutCleanup
|
|
ENDENUM
|
|
|
|
FAIL_STATE eFAIL_STATE
|
|
|
|
CUTSCENE_STAGE eCutsceneState = eCutSpawnJJ
|
|
|
|
//---------------------------------------------------------
|
|
|
|
// Mission stages
|
|
ENUM MISSION_STAGE
|
|
MS_INTRO_MOCAP,
|
|
MS_SETUP_MISSION,
|
|
MS_SETUP_CHASE1,
|
|
MS_UPDATE_CHASE1,
|
|
MS_JOSEF_TAZERED_IMMIGRANT1,
|
|
MS_IMMIGRANT1_APPREHENDED,
|
|
MS_SETUP_CHASE2,
|
|
MS_CEMENT_FACTORY,
|
|
MS_UPDATE_CHASE2,
|
|
MS_JOSEF_TAZERED_IMMIGRANT2,
|
|
MS_JOSEF_PICKED_UP_IMMIGRANT2,
|
|
MS_SETUP_CHASE3,
|
|
MS_UPDATE_CHASE3,
|
|
MS_JOSEF_TAZERED_IMMIGRANT3,
|
|
MS_JOSEF_PICKED_UP_IMMIGRANT3,
|
|
MS_DRIVE_TO_END,
|
|
MS_MISSION_FAILING,
|
|
MS_MISSION_PASSING
|
|
ENDENUM
|
|
|
|
MISSION_STAGE missionStage = MS_INTRO_MOCAP
|
|
|
|
/// PURPOSE: Remove all blips
|
|
PROC RemoveBlips()
|
|
|
|
SAFE_REMOVE_BLIP(blipImmigrant[0])
|
|
SAFE_REMOVE_BLIP(blipImmigrant[1])
|
|
SAFE_REMOVE_BLIP(blipImmigrant[2])
|
|
SAFE_REMOVE_BLIP(blipImmigrant[3])
|
|
SAFE_REMOVE_BLIP(blipLocate[0])
|
|
SAFE_REMOVE_BLIP(blipLocate[1])
|
|
SAFE_REMOVE_BLIP(blipLocate[2])
|
|
SAFE_REMOVE_BLIP(blipLocate[3])
|
|
SAFE_REMOVE_BLIP(blipPlayerCar)
|
|
SAFE_REMOVE_BLIP(blipJosef)
|
|
SAFE_REMOVE_BLIP(blipJoe)
|
|
SAFE_REMOVE_BLIP(blipImmigrantChase2)
|
|
|
|
ENDPROC
|
|
|
|
PROC START_AUDIO_SCENE_CHASE()
|
|
|
|
IF NOT IS_AUDIO_SCENE_ACTIVE("MINUTE_02_SCENE")
|
|
IF IS_ENTITY_ALIVE(vehChaseCar[0])
|
|
ADD_ENTITY_TO_AUDIO_MIX_GROUP(vehChaseCar[0], "MINUTE_02_SCENE_QUAD_BIKE")
|
|
ENDIF
|
|
START_AUDIO_SCENE("MINUTE_02_SCENE")
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
PROC CLEANUP_AUDIO_SCENE_CHASE()
|
|
|
|
IF IS_AUDIO_SCENE_ACTIVE("MINUTE_02_SCENE")
|
|
STOP_AUDIO_SCENE("MINUTE_02_SCENE")
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_IT_OK_FOR_JOSEF_TO_GET_IN()
|
|
|
|
IF IS_SYNCHRONIZED_SCENE_RUNNING(ssClimbToBack_1)
|
|
AND GET_SYNCHRONIZED_SCENE_PHASE(ssClimbToBack_1) > 0.35
|
|
bJosefGetIn = TRUE
|
|
ENDIF
|
|
IF missionStage >= MS_CEMENT_FACTORY
|
|
OR IS_SYNCHRONIZED_SCENE_RUNNING(ssManuelSitBack)
|
|
OR IS_SYNCHRONIZED_SCENE_RUNNING(ssManuelSitBack2)
|
|
bJosefGetIn = TRUE
|
|
ENDIF
|
|
|
|
RETURN bJosefGetIn
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Request assets and initialise
|
|
PROC Initialise()
|
|
|
|
SET_ROADS_IN_AREA(<<-199.2860, 4214.0547, 43.7470>> - <<10,10,10>>,<<-199.2860, 4214.0547, 43.7470>> + <<10,10,10>>,TRUE) //For B*1435595
|
|
|
|
//INFORM_MISSION_STATS_OF_MISSION_START_MINUTE_2()
|
|
|
|
SET_VEHICLE_MODEL_IS_SUPPRESSED(SANCHEZ,TRUE)
|
|
SET_VEHICLE_MODEL_IS_SUPPRESSED(BLAZER,TRUE)
|
|
SET_VEHICLE_MODEL_IS_SUPPRESSED(PRANGER,TRUE)
|
|
|
|
REQUEST_MODEL(PRANGER)
|
|
|
|
REQUEST_MODEL(Prop_Passport_01)
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
iRangerHP = GET_ENTITY_HEALTH(sRCLauncherDataLocal.vehID[0])
|
|
fRangerPetrolTankHP = GET_VEHICLE_PETROL_TANK_HEALTH(sRCLauncherDataLocal.vehID[0])
|
|
fRangerEngineHP = GET_VEHICLE_ENGINE_HEALTH(sRCLauncherDataLocal.vehID[0])
|
|
SET_ENTITY_HEALTH(sRCLauncherDataLocal.vehID[0],(iRangerHP * 3))
|
|
SET_VEHICLE_PETROL_TANK_HEALTH(sRCLauncherDataLocal.vehID[0],(fRangerPetrolTankHP * 3))
|
|
SET_VEHICLE_ENGINE_HEALTH(sRCLauncherDataLocal.vehID[0],(fRangerEngineHP * 3))
|
|
SET_VEHICLE_CAN_LEAK_OIL(sRCLauncherDataLocal.vehID[0], FALSE)
|
|
SET_VEHICLE_CAN_LEAK_PETROL(sRCLauncherDataLocal.vehID[0], FALSE)
|
|
//SET_VEHICLE_MOD_KIT(sRCLauncherDataLocal.vehID[0],0)
|
|
//SET_VEHICLE_WINDOW_TINT(sRCLauncherDataLocal.vehID[0],1)
|
|
ENDIF
|
|
|
|
REQUEST_ANIM_DICT("rcmminute2")
|
|
REQUEST_ANIM_DICT("rcmminute2lean")
|
|
|
|
REQUEST_ANIM_DICT("missminuteman_2ig_1")
|
|
REQUEST_ANIM_DICT("missminuteman_2ig_3")
|
|
|
|
REQUEST_ADDITIONAL_TEXT("MIN2",MISSION_TEXT_SLOT)
|
|
REQUEST_ADDITIONAL_TEXT("MIN2AU",MISSION_DIALOGUE_TEXT_SLOT)
|
|
|
|
REQUEST_NPC_PED_MODEL(CHAR_MANUEL)
|
|
REQUEST_NPC_PED_MODEL(CHAR_JOSEF)
|
|
REQUEST_NPC_PED_MODEL(CHAR_JOE)
|
|
|
|
REQUEST_MODEL(BLAZER)
|
|
REQUEST_VEHICLE_ASSET(PRANGER)
|
|
REQUEST_CLIP_SET("MOVE_M@BAIL_BOND_NOT_TAZERED")
|
|
REQUEST_CLIP_SET("MOVE_M@BAIL_BOND_TAZERED")
|
|
|
|
SET_WANTED_LEVEL_MULTIPLIER(0.1)
|
|
|
|
//blockScenarios = ADD_SCENARIO_BLOCKING_AREA(<< -280.1734, 4187.3604,203.9223 >>,<< -172.1141, 4235.1616, 70.4678 >>)
|
|
|
|
sbiCement = ADD_SCENARIO_BLOCKING_AREA(<<341.1107, 2846.7971, 40.6462>>,<<350.9610, 2871.4719, 43.8518>>)
|
|
|
|
SET_SCENARIO_TYPE_ENABLED("WORLD_VEHICLE_DRIVE_SOLO",FALSE)
|
|
SET_SCENARIO_TYPE_ENABLED("WORLD_VEHICLE_CONSTRUCTION_SOLO", FALSE)
|
|
SET_SCENARIO_TYPE_ENABLED("WORLD_VEHICLE_CONSTRUCTION_PASSENGERS", FALSE)
|
|
|
|
vChase[0] = << 327.3949, 2850.5437, 42.4360 >>
|
|
vChase[1] = << 327.0572, 2841.2034, 42.7507 >>
|
|
vChase[2] = << 337.6567, 2821.3130, 41.1778 >>
|
|
vChase[3] = << 350.4040, 2797.2534, 47.3014 >>
|
|
vChase[4] = << 373.3039, 2757.9229, 42.0141 >>
|
|
vChase[5] = << 393.3462, 2725.5056, 41.9263 >>
|
|
//vChase[6] = << 413.7730, 2704.2275, 42.2798 >>
|
|
vChase[6] = << 416.6357, 2697.7898, 42.4937 >>
|
|
vChase[7] = << 444.9309, 2689.1550, 42.5934 >>
|
|
vChase[8] = << 474.5866, 2679.4988, 42.2943 >>
|
|
vChase[9] = << 636.1514, 2696.9749, 39.9808 >>
|
|
vChase[10] = << 831.2220, 2695.5740, 39.5328 >>
|
|
vChase[11] = << 880.9315, 2708.0527, 39.8050 >>
|
|
vChase[12] = << 915.5502, 2715.8682, 39.6578 >>
|
|
vChase[13] = << 949.9031, 2732.2583, 39.3729 >>
|
|
vChase[14] = << 979.2463, 2748.7639, 37.0951 >>
|
|
vChase[15] = << 1007.8654, 2761.7441, 35.0162 >>
|
|
vChase[16] = << 1039.2654, 2779.2336, 33.8708 >>
|
|
vChase[17] = << 1070.0198, 2810.3762, 35.6906 >>
|
|
vChase[18] = << 1097.6158, 2838.8896, 37.2296 >>
|
|
vChase[19] = << 1121.2598, 2844.5132, 37.2992 >>
|
|
vChase[20] = << 1149.2218, 2836.6943, 37.1993 >>
|
|
vChase[21] = << 1203.2163, 2801.9336, 36.8600 >>
|
|
vChase[22] = << 1253.4020, 2767.1658, 37.4919 >>
|
|
vChase[23] = << 1283.3680, 2741.5134, 36.6510 >>
|
|
vChase[24] = << 1297.2052, 2715.3333, 36.7748 >>
|
|
vChase[25] = << 1303.8243, 2693.4988, 36.6285 >>
|
|
vChase[26] = << 1312.9229, 2659.9019, 36.6804 >>
|
|
vChase[27] = << 1323.7251, 2622.2717, 36.6871 >>
|
|
vChase[28] = << 1337.2678, 2595.0356, 36.6180 >>
|
|
vChase[29] = << 1359.4213, 2571.5676, 36.9024 >>
|
|
vChase[30] = << 1478.0682, 2269.0791, 71.6347 >>
|
|
vChase[31] = << 1506.9707, 1874.8892, 106.8773 >>
|
|
vChase[32] = << 1501.8845, 1618.5989, 111.4967 >>
|
|
vChase[33] = << 1474.6619, 1583.4229, 109.2177 >>
|
|
vChase[34] = << 1447.2242, 1574.7394, 107.6650 >>
|
|
vChase[35] = << 1421.3652, 1570.7217, 107.0452 >>
|
|
vChase[36] = << 1393.5858, 1566.8616, 106.1980 >>
|
|
vChase[37] = << 1363.6519, 1552.6820, 104.8892 >>
|
|
vChase[38] = << 1344.7573, 1535.9220, 102.4010 >>
|
|
vChase[39] = << 1323.5651, 1507.2051, 98.0900 >>
|
|
vChase[40] = << 1305.1832, 1461.4269, 98.0123 >>
|
|
vChase[41] = << 1294.0465, 1395.4415, 100.7730 >>
|
|
vChase[42] = << 1287.9890, 1316.5039, 105.9520 >>
|
|
vChase[43] = << 1238.2271, 705.9078, 100.6087 >>
|
|
vChase[44] = << 1652.5648, 3487.9536, 35.5959 >>
|
|
vChase[45] = << 2518.1792, 4145.9326, 37.7126 >>
|
|
vChase[46] = << 2731.3145, 4390.3496, 47.4449 >>
|
|
/*
|
|
REQUEST_MODEL(EMPEROR2)
|
|
REQUEST_MODEL(SURFER2)
|
|
REQUEST_MODEL(BISON)
|
|
REQUEST_MODEL(TORNADO3)
|
|
REQUEST_MODEL(STANIER)
|
|
REQUEST_MODEL(MESA)
|
|
*/
|
|
REQUEST_WAYPOINT_RECORDING("Min2_Traffic01")
|
|
REQUEST_WAYPOINT_RECORDING("Min2_Traffic02")
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Wait for assets
|
|
PROC WaitForAssets()
|
|
|
|
WHILE NOT HAS_MODEL_LOADED(PRANGER)
|
|
OR NOT HAS_MODEL_LOADED(BLAZER)
|
|
OR NOT HAS_MODEL_LOADED(Prop_Passport_01)
|
|
OR NOT HAS_NPC_PED_MODEL_LOADED(CHAR_MANUEL)
|
|
OR NOT HAS_CLIP_SET_LOADED("MOVE_M@BAIL_BOND_NOT_TAZERED")
|
|
OR NOT HAS_CLIP_SET_LOADED("MOVE_M@BAIL_BOND_TAZERED")
|
|
OR NOT HAS_ANIM_DICT_LOADED("rcmminute2")
|
|
OR NOT HAS_ANIM_DICT_LOADED("rcmminute2lean")
|
|
OR NOT HAS_ANIM_DICT_LOADED("missminuteman_2ig_1")
|
|
OR NOT HAS_ADDITIONAL_TEXT_LOADED(MISSION_TEXT_SLOT)
|
|
OR NOT HAS_ADDITIONAL_TEXT_LOADED(MISSION_DIALOGUE_TEXT_SLOT)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Request assets for second chase
|
|
PROC RequestModelsSecondChase()
|
|
|
|
REQUEST_WAYPOINT_RECORDING("Min2_Bike02")
|
|
//REQUEST_VEHICLE_RECORDING(343,"Min2_Dust")
|
|
REQUEST_VEHICLE_RECORDING(269,"Min2Rolling")
|
|
REQUEST_VEHICLE_RECORDING(101,"Min2DB1")
|
|
REQUEST_VEHICLE_RECORDING(102,"Min2DB2")
|
|
REQUEST_MODEL(SPEEDO)
|
|
REQUEST_MODEL(S_M_M_GAFFER_01)
|
|
//REQUEST_MODEL(P_AMB_PHONE_01)
|
|
//REQUEST_MODEL(S_M_Y_CONSTRUCT_01)
|
|
REQUEST_MODEL(SANCHEZ)
|
|
REQUEST_MODEL(S_M_M_Migrant_01)
|
|
//REQUEST_MODEL(DUSTER)
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Wait for assets to load
|
|
PROC LoadModelsSecondChase()
|
|
|
|
WHILE NOT HAS_MODEL_LOADED(SPEEDO)
|
|
OR NOT HAS_MODEL_LOADED(S_M_M_GAFFER_01)
|
|
//OR NOT HAS_MODEL_LOADED(P_AMB_PHONE_01)
|
|
//OR NOT HAS_MODEL_LOADED(S_M_Y_CONSTRUCT_01)
|
|
OR NOT HAS_MODEL_LOADED(SANCHEZ)
|
|
OR NOT HAS_MODEL_LOADED(S_M_M_Migrant_01)
|
|
//OR NOT HAS_MODEL_LOADED(DUSTER)
|
|
//OR NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(343,"Min2_Dust")
|
|
OR NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(269,"Min2Rolling")
|
|
OR NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(101,"Min2DB1")
|
|
OR NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(102,"Min2DB2")
|
|
OR NOT GET_IS_WAYPOINT_RECORDING_LOADED("Min2_Bike02")
|
|
WAIT(0)
|
|
ENDWHILE
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Wait for assets to load
|
|
FUNC BOOL HaveDoneLoadModelsSecondChase()
|
|
|
|
IF NOT HAS_MODEL_LOADED(SPEEDO)
|
|
OR NOT HAS_MODEL_LOADED(S_M_M_GAFFER_01)
|
|
//OR NOT HAS_MODEL_LOADED(P_AMB_PHONE_01)
|
|
//OR NOT HAS_MODEL_LOADED(S_M_Y_CONSTRUCT_01)
|
|
OR NOT HAS_MODEL_LOADED(SANCHEZ)
|
|
OR NOT HAS_MODEL_LOADED(S_M_M_Migrant_01)
|
|
//OR NOT HAS_MODEL_LOADED(DUSTER)
|
|
//OR NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(343,"Min2_Dust")
|
|
OR NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(269,"Min2Rolling")
|
|
OR NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(101,"Min2DB1")
|
|
OR NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(102,"Min2DB2")
|
|
OR NOT GET_IS_WAYPOINT_RECORDING_LOADED("Min2_Bike02")
|
|
RETURN FALSE
|
|
ENDIF
|
|
RETURN TRUE
|
|
|
|
ENDFUNC
|
|
|
|
PROC DO_VEHICLE_WEAPON_SWAP()
|
|
|
|
IF HAS_PED_GOT_WEAPON(PLAYER_PED_ID(),WEAPONTYPE_STUNGUN)
|
|
IF IS_PED_IN_ANY_VEHICLE(PLAYER_PED_ID())
|
|
IF NOT bWeaponSwap
|
|
WEAPON_TYPE wep
|
|
GET_CURRENT_PED_WEAPON(PLAYER_PED_ID(),wep)
|
|
IF wep <> WEAPONTYPE_STUNGUN
|
|
SET_CURRENT_PED_WEAPON(PLAYER_PED_ID(),WEAPONTYPE_STUNGUN,TRUE)
|
|
ENDIF
|
|
bWeaponSwap = TRUE
|
|
ENDIF
|
|
ELSE
|
|
bWeaponSwap = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Transition to idles after sync scenes
|
|
PROC RESOLVE_IDLES()
|
|
|
|
TEXT_LABEL_23 label = GET_CURRENTLY_PLAYING_STANDARD_CONVERSATION_LABEL()
|
|
IF ARE_STRINGS_EQUAL(label,"MIN2_IMM1_3")
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
|
|
ROLL_DOWN_WINDOWS(sRCLauncherDataLocal.vehID[0])
|
|
|
|
IF NOT DOES_ENTITY_EXIST(ObjPapers)
|
|
ObjPapers = CREATE_OBJECT_NO_OFFSET(Prop_Passport_01, GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],<<0,0,20>>))
|
|
ENDIF
|
|
|
|
bManuelAttached = bManuelAttached
|
|
|
|
IF NOT IS_SYNCHRONIZED_SCENE_RUNNING(ssPassport)
|
|
ssPassport = CREATE_SYNCHRONIZED_SCENE(<<0,0,0>>,<<0,0,0>>)
|
|
//ssPassport = CREATE_SYNCHRONIZED_SCENE(<<0,-0.05,-0.05>>,<<0,0,0>>)
|
|
SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(ssPassport,TRUE)
|
|
PROCESS_ENTITY_ATTACHMENTS(ObjPapers)
|
|
PROCESS_ENTITY_ATTACHMENTS(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrant[0])
|
|
ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssPassport,sRCLauncherDataLocal.vehID[0],GET_ENTITY_BONE_INDEX_BY_NAME(sRCLauncherDataLocal.vehID[0], "seat_pside_l"))
|
|
PLAY_SYNCHRONIZED_ENTITY_ANIM(ObjPapers,ssPassport,"passport_prop","missminuteman_2ig_3",INSTANT_BLEND_IN,SLOW_BLEND_OUT)
|
|
TASK_SYNCHRONIZED_SCENE(sRCLauncherDataLocal.pedID[ic_JOSEF],ssPassport,"missminuteman_2ig_3","passport_josef",2,-2,SYNCED_SCENE_DONT_INTERRUPT,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
TASK_SYNCHRONIZED_SCENE(pedImmigrant[0],ssPassport,"missminuteman_2ig_3","passport_manuel",1,SLOW_BLEND_OUT,SYNCED_SCENE_DONT_INTERRUPT,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
//IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrant[0],"missminuteman_2ig_3","passport_manuel")
|
|
// TASK_PLAY_ANIM(pedImmigrant[0],"missminuteman_2ig_3","passport_manuel",2,NORMAL_BLEND_OUT,-1,AF_NOT_INTERRUPTABLE)
|
|
//ENDIF
|
|
ENDIF
|
|
|
|
bPassport = TRUE
|
|
|
|
ENDIF
|
|
|
|
IF IS_SYNCHRONIZED_SCENE_RUNNING(ssClimbToBack_1B)
|
|
AND GET_SYNCHRONIZED_SCENE_PHASE(ssClimbToBack_1B) = 1
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrant[0])
|
|
/*
|
|
ATTACH_ENTITY_TO_ENTITY(pedImmigrant[0],sRCLauncherDataLocal.vehID[0],-1,GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],GET_ENTITY_COORDS(pedImmigrant[0])),<<0,0,270>>)
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrant[0],"missminuteman_2ig_1","trunk_manuel")
|
|
TASK_PLAY_ANIM(pedImmigrant[0],"missminuteman_2ig_1","trunk_manuel",2,NORMAL_BLEND_OUT,-1,AF_LOOPING | AF_NOT_INTERRUPTABLE)
|
|
SET_RAGDOLL_BLOCKING_FLAGS(pedImmigrant[0],RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
ENDIF
|
|
*/
|
|
ssManuelSitBack2 = CREATE_SYNCHRONIZED_SCENE(GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],GET_ENTITY_COORDS(pedImmigrant[0])),<<0,0,270>>)
|
|
SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(ssManuelSitBack2,FALSE)
|
|
SET_SYNCHRONIZED_SCENE_LOOPED(ssManuelSitBack2,TRUE)
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrant[0])
|
|
ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssManuelSitBack2,sRCLauncherDataLocal.vehID[0],-1)
|
|
SET_PED_KEEP_TASK(pedImmigrant[0],TRUE)
|
|
TASK_SYNCHRONIZED_SCENE(pedImmigrant[0],ssManuelSitBack2,"missminuteman_2ig_1","trunk_manuel",SLOW_BLEND_IN,SLOW_BLEND_OUT,SYNCED_SCENE_DONT_INTERRUPT,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
//FORCE_PED_AI_AND_ANIMATION_UPDATE(pedImmigrant[0])
|
|
ENDIF
|
|
|
|
IF IS_SYNCHRONIZED_SCENE_RUNNING(ssClimbToBack_1)
|
|
IF GET_SYNCHRONIZED_SCENE_PHASE(ssClimbToBack_1) = 1 //> 0.99
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrant[0])
|
|
/*
|
|
ATTACH_ENTITY_TO_ENTITY(pedImmigrant[0],sRCLauncherDataLocal.vehID[0],-1,GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],GET_ENTITY_COORDS(pedImmigrant[0])),<<0,0,270>>)
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrant[0],"missminuteman_2ig_1","trunk_manuel")
|
|
TASK_PLAY_ANIM(pedImmigrant[0],"missminuteman_2ig_1","trunk_manuel",2,NORMAL_BLEND_OUT,-1,AF_LOOPING | AF_NOT_INTERRUPTABLE)
|
|
SET_RAGDOLL_BLOCKING_FLAGS(pedImmigrant[0],RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
ENDIF
|
|
//GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],GET_WORLD_POSITION_OF_ENTITY_BONE(sRCLauncherDataLocal.vehID[0],GET_ENTITY_BONE_INDEX_BY_NAME(sRCLauncherDataLocal.vehID[0], "seat_pside_r")))
|
|
*/
|
|
/*
|
|
VECTOR vManuelBackseat = GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],GET_ENTITY_COORDS(pedImmigrant[0]))
|
|
PRINTVECTOR(vManuelBackseat)
|
|
PRINTNL()
|
|
*/
|
|
ssManuelSitBack = CREATE_SYNCHRONIZED_SCENE(GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],GET_ENTITY_COORDS(pedImmigrant[0])),<<0,0,270>>)
|
|
SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(ssManuelSitBack,FALSE)
|
|
SET_SYNCHRONIZED_SCENE_LOOPED(ssManuelSitBack,TRUE)
|
|
SET_SYNCHRONIZED_SCENE_RATE(ssManuelSitBack,1.6)
|
|
ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssManuelSitBack,sRCLauncherDataLocal.vehID[0],-1)
|
|
TASK_SYNCHRONIZED_SCENE(pedImmigrant[0],ssManuelSitBack,"missminuteman_2ig_1","trunk_manuel",INSTANT_BLEND_IN,SLOW_BLEND_OUT,SYNCED_SCENE_DONT_INTERRUPT,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
ENDIF
|
|
ELSE
|
|
IF bPassport = TRUE
|
|
IF IS_SYNCHRONIZED_SCENE_RUNNING(ssPassport)
|
|
IF DOES_ENTITY_EXIST(ObjPapers)
|
|
IF bPassportSound = FALSE
|
|
IF GET_SYNCHRONIZED_SCENE_PHASE(ssPassport) >= 0.544
|
|
PLAY_SOUND_FROM_ENTITY(-1,"PASSPORT",ObjPapers,"MINUTE_02_SOUNDSET")
|
|
bPassportSound = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF GET_SYNCHRONIZED_SCENE_PHASE(ssPassport) >= 0.562
|
|
IF DOES_ENTITY_EXIST(ObjPapers)
|
|
STOP_SYNCHRONIZED_ENTITY_ANIM(ObjPapers,NORMAL_BLEND_DURATION,TRUE)
|
|
ACTIVATE_PHYSICS(ObjPapers)
|
|
//SET_OBJECT_AS_NO_LONGER_NEEDED(ObjPapers)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT bWarpJosef
|
|
IF NOT IS_SYNCHRONIZED_SCENE_RUNNING(ssPassport)
|
|
OR GET_SYNCHRONIZED_SCENE_PHASE(ssPassport) = 1
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrant[0])
|
|
ssClimbToBack_1B = CREATE_SYNCHRONIZED_SCENE(<<0,0,0>>,<<0,0,0>>)
|
|
SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(ssClimbToBack_1B,TRUE)
|
|
ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssClimbToBack_1B,sRCLauncherDataLocal.vehID[0],GET_ENTITY_BONE_INDEX_BY_NAME(sRCLauncherDataLocal.vehID[0], "seat_pside_r"))
|
|
TASK_SYNCHRONIZED_SCENE(pedImmigrant[0], ssClimbToBack_1B, "missminuteman_2ig_1", "entertrunk_manuel", SLOW_BLEND_IN, SLOW_BLEND_OUT,SYNCED_SCENE_DONT_INTERRUPT,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
SET_SYNCHRONIZED_SCENE_PHASE(ssClimbToBack_1B,1)
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedImmigrant[0],TRUE)
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
SET_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],VS_BACK_LEFT)
|
|
TASK_PLAY_ANIM(sRCLauncherDataLocal.pedID[ic_JOSEF],"missminuteman_2ig_3","passport_josef",SLOW_BLEND_IN,REALLY_SLOW_BLEND_OUT,-1,AF_DEFAULT,0.99)
|
|
bWarpJosef = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bDoDelayedClimbInBack
|
|
AND NOT bDoneDelayedClimbInBack
|
|
IF iSyncPed = 1
|
|
IF IS_ENTITY_ALIVE(sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_PED_SITTING_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrant[i])
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(pedImmigrant[i])
|
|
//RESET_PED_MOVEMENT_CLIPSET(pedImmigrant[i])
|
|
//ssClimbToBack_2 = CREATE_SYNCHRONIZED_SCENE(<<0.39,-0.8,0.171>>,<<0,0,0>>)
|
|
//ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssClimbToBack_2,sRCLauncherDataLocal.vehID[0],-1)
|
|
ssClimbToBack_2 = CREATE_SYNCHRONIZED_SCENE(<<0,0,0>>,<<0,0,0>>)
|
|
SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(ssClimbToBack_2,TRUE)
|
|
ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssClimbToBack_2,sRCLauncherDataLocal.vehID[0],GET_ENTITY_BONE_INDEX_BY_NAME(sRCLauncherDataLocal.vehID[0], "seat_pside_r"))
|
|
TASK_SYNCHRONIZED_SCENE(pedImmigrant[i], ssClimbToBack_2, "missminuteman_2ig_1", "entertrunk_josef", SLOW_BLEND_IN, SLOW_BLEND_OUT,SYNCED_SCENE_DONT_INTERRUPT,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
//SET_SYNCHRONIZED_SCENE_PHASE(ssClimbToBack_2,0.06)
|
|
SET_SYNCHRONIZED_SCENE_RATE(ssClimbToBack_2,1.4)
|
|
bDoneDelayedClimbInBack = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF iSyncPed = 2
|
|
IF IS_ENTITY_ALIVE(sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_PED_SITTING_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrantChase2)
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(pedImmigrantChase2)
|
|
//RESET_PED_MOVEMENT_CLIPSET(pedImmigrantChase2)
|
|
//ssClimbToBack_2 = CREATE_SYNCHRONIZED_SCENE(<<0.39,-0.8,0.171>>,<<0,0,0>>)
|
|
//ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssClimbToBack_2,sRCLauncherDataLocal.vehID[0],-1)
|
|
ssClimbToBack_2 = CREATE_SYNCHRONIZED_SCENE(<<0,0,0>>,<<0,0,0>>)
|
|
ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssClimbToBack_2,sRCLauncherDataLocal.vehID[0],GET_ENTITY_BONE_INDEX_BY_NAME(sRCLauncherDataLocal.vehID[0], "seat_pside_r"))
|
|
TASK_SYNCHRONIZED_SCENE(pedImmigrantChase2, ssClimbToBack_2, "missminuteman_2ig_1", "entertrunk_josef", SLOW_BLEND_IN, SLOW_BLEND_OUT,SYNCED_SCENE_DONT_INTERRUPT,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
//SET_SYNCHRONIZED_SCENE_PHASE(ssClimbToBack_2,0.06)
|
|
SET_SYNCHRONIZED_SCENE_RATE(ssClimbToBack_2,1.4)
|
|
bDoneDelayedClimbInBack = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_SYNCHRONIZED_SCENE_RUNNING(ssClimbToBack_2)
|
|
IF GET_SYNCHRONIZED_SCENE_PHASE(ssClimbToBack_2) = 1 //> 0.99
|
|
//ssPed2SitBack = CREATE_SYNCHRONIZED_SCENE(<<0,0,0>>,<<0,0,0>>)
|
|
//SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(ssPed2SitBack,FALSE)
|
|
//SET_SYNCHRONIZED_SCENE_LOOPED(ssPed2SitBack,TRUE)
|
|
IF iSyncPed = 1
|
|
/*
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrant[1],"missminuteman_2ig_1","trunk_josef")
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrant[1])
|
|
ATTACH_ENTITY_TO_ENTITY(pedImmigrant[1],sRCLauncherDataLocal.vehID[0],-1,GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],GET_ENTITY_COORDS(pedImmigrant[1])),<<0,0,90>>)
|
|
TASK_PLAY_ANIM(pedImmigrant[1],"missminuteman_2ig_1","trunk_josef",NORMAL_BLEND_IN,NORMAL_BLEND_OUT,-1,AF_LOOPING | AF_NOT_INTERRUPTABLE)
|
|
SET_RAGDOLL_BLOCKING_FLAGS(pedImmigrant[1],RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
ENDIF
|
|
*/
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrant[1])
|
|
ssPed2SitBack = CREATE_SYNCHRONIZED_SCENE(GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],GET_ENTITY_COORDS(pedImmigrant[1])),<<0,0,90>>)
|
|
SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(ssPed2SitBack,FALSE)
|
|
SET_SYNCHRONIZED_SCENE_LOOPED(ssPed2SitBack,TRUE)
|
|
SET_SYNCHRONIZED_SCENE_RATE(ssPed2SitBack,1.6)
|
|
ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssPed2SitBack,sRCLauncherDataLocal.vehID[0],-1)
|
|
SET_PED_KEEP_TASK(pedImmigrant[1],TRUE)
|
|
TASK_SYNCHRONIZED_SCENE(pedImmigrant[1],ssPed2SitBack,"missminuteman_2ig_1","trunk_josef",INSTANT_BLEND_IN,SLOW_BLEND_OUT,SYNCED_SCENE_DONT_INTERRUPT,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
|
|
ELIF iSyncPed = 2
|
|
/*
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrantChase2,"missminuteman_2ig_1","trunk_josef")
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrantChase2)
|
|
ATTACH_ENTITY_TO_ENTITY(pedImmigrantChase2,sRCLauncherDataLocal.vehID[0],-1,GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],GET_ENTITY_COORDS(pedImmigrantChase2)),<<0,0,90>>)
|
|
TASK_PLAY_ANIM(pedImmigrantChase2,"missminuteman_2ig_1","trunk_josef",NORMAL_BLEND_IN,NORMAL_BLEND_OUT,-1,AF_LOOPING | AF_NOT_INTERRUPTABLE)
|
|
SET_RAGDOLL_BLOCKING_FLAGS(pedImmigrantChase2,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
ENDIF
|
|
*/
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrantChase2)
|
|
ssPed2SitBack = CREATE_SYNCHRONIZED_SCENE(GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],GET_ENTITY_COORDS(pedImmigrantChase2)),<<0,0,90>>)
|
|
SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(ssPed2SitBack,FALSE)
|
|
SET_SYNCHRONIZED_SCENE_LOOPED(ssPed2SitBack,TRUE)
|
|
SET_SYNCHRONIZED_SCENE_RATE(ssPed2SitBack,1.6)
|
|
ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssPed2SitBack,sRCLauncherDataLocal.vehID[0],-1)
|
|
SET_PED_KEEP_TASK(pedImmigrantChase2,TRUE)
|
|
TASK_SYNCHRONIZED_SCENE(pedImmigrantChase2,ssPed2SitBack,"missminuteman_2ig_1","trunk_josef",INSTANT_BLEND_IN,SLOW_BLEND_OUT,SYNCED_SCENE_DONT_INTERRUPT,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
PROC DoTraffic()
|
|
|
|
IF HAS_MODEL_LOADED(EMPEROR2)
|
|
AND HAS_MODEL_LOADED(SURFER2)
|
|
AND HAS_MODEL_LOADED(BISON)
|
|
AND HAS_MODEL_LOADED(TORNADO3)
|
|
AND HAS_MODEL_LOADED(STANIER)
|
|
AND HAS_MODEL_LOADED(MESA)
|
|
/*
|
|
AND GET_IS_WAYPOINT_RECORDING_LOADED("Eps8TRAFFIC01")
|
|
AND GET_IS_WAYPOINT_RECORDING_LOADED("Eps8TRAFFIC02")
|
|
AND GET_IS_WAYPOINT_RECORDING_LOADED("Eps8TRAFFIC03")
|
|
AND GET_IS_WAYPOINT_RECORDING_LOADED("Eps8TRAFFIC04")
|
|
*/
|
|
vTrafficRoute1[0] = <<301.6302, 3426.7095, 35.9073>>
|
|
vTrafficRoute1[1] = <<75.7878, 3591.8013, 38.7696>>
|
|
vTrafficRoute1[2] = <<-96.4917, 3616.2417, 43.8209>>
|
|
vTrafficRoute1[3] = <<-193.8901, 3739.2117, 42.0091>>
|
|
vTrafficRoute1[4] = <<-223.8502, 3936.6489, 36.4372>>
|
|
vTrafficRoute1[5] = <<-231.1717, 4119.1846, 38.6720>>
|
|
vTrafficRoute1[6] = <<-74.4490, 4334.0449, 49.3153>>
|
|
//vTrafficRoute1[7] = << -202.3507, 4205.0635, 43.5704 >>
|
|
//vTrafficRoute1[8] = << -79.9476, 4317.0864, 47.5128 >>
|
|
//vTrafficRoute1[9] = << -49.5753, 4405.9521, 55.8139 >>
|
|
//vTrafficRoute1[10] = << 57.3223, 4449.8618, 62.7177 >>
|
|
|
|
fHeadingTrafficRoute1[0] = 131.8059
|
|
fHeadingTrafficRoute1[1] = 80.1408
|
|
fHeadingTrafficRoute1[2] = 59.8754
|
|
fHeadingTrafficRoute1[3] = 14.4899
|
|
fHeadingTrafficRoute1[4] = 351.0852
|
|
fHeadingTrafficRoute1[5] = 343.5272
|
|
fHeadingTrafficRoute1[6] = 343.5132
|
|
//fHeadingTrafficRoute1[7] = 330.3210
|
|
//fHeadingTrafficRoute1[8] = 339.2812
|
|
//fHeadingTrafficRoute1[9] = 320.5906
|
|
//fHeadingTrafficRoute1[10] = 260.8352
|
|
|
|
vTrafficRoute2[0] = <<110.6866, 4435.8774, 69.0993>>
|
|
vTrafficRoute2[1] = <<-68.2519, 4363.0513, 52.4024>>
|
|
vTrafficRoute2[2] = <<-208.7096, 4199.1304, 43.2855>>
|
|
vTrafficRoute2[3] = <<-224.2061, 3956.5005, 36.5195>>
|
|
vTrafficRoute2[4] = <<-196.2560, 3732.5298, 42.2655>>
|
|
vTrafficRoute2[5] = <<30.9941, 3594.5623, 38.7656>>
|
|
vTrafficRoute2[6] = <<181.0861, 3394.6218, 37.0298>>
|
|
//vTrafficRoute2[7] = << -213.4657, 3811.5183, 37.8680 >>
|
|
//vTrafficRoute2[8] = << -191.0385, 3700.5374, 42.9150 >>
|
|
//vTrafficRoute2[9] = << 67.4248, 3585.1685, 38.7595 >>
|
|
//vTrafficRoute2[10] = << 99.6722, 3432.2373, 38.5112 >>
|
|
|
|
fHeadingTrafficRoute2[0] = 67.0420
|
|
fHeadingTrafficRoute2[1] = 163.8586
|
|
fHeadingTrafficRoute2[2] = 159.4639
|
|
fHeadingTrafficRoute2[3] = 172.2390
|
|
fHeadingTrafficRoute2[4] = 189.3230
|
|
fHeadingTrafficRoute2[5] = 260.3510
|
|
fHeadingTrafficRoute2[6] = 250.8270
|
|
//fHeadingTrafficRoute2[7] = 195.5279
|
|
//fHeadingTrafficRoute2[8] = 194.5786
|
|
//fHeadingTrafficRoute2[9] = 251.4245
|
|
//fHeadingTrafficRoute2[10] = 234.4719
|
|
|
|
MODEL_NAMES modVeh
|
|
|
|
INT iRandom
|
|
|
|
INT iClosestWaypointToPlayer
|
|
INT iClosestWaypointToSpawnPoint
|
|
|
|
INT iWaypointProgress
|
|
|
|
IF GET_IS_WAYPOINT_RECORDING_LOADED("Min2_Traffic01")
|
|
IF NOT DOES_ENTITY_EXIST(vehTrafficRoute1[iTraffic])
|
|
IF bBlokestunned = FALSE
|
|
AND missionStage = MS_UPDATE_CHASE1
|
|
WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT("Min2_Traffic01",GET_ENTITY_COORDS(PLAYER_PED_ID()),iClosestWaypointToPlayer)
|
|
WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT("Min2_Traffic01",vTrafficRoute1[iTraffic],iClosestWaypointToSpawnPoint)
|
|
IF iClosestWaypointToSpawnPoint < iClosestWaypointToPlayer
|
|
AND NOT IS_ENTITY_IN_RANGE_COORDS(PLAYER_PED_ID(),vTrafficRoute1[iTraffic],80)
|
|
//AND IS_ENTITY_IN_RANGE_COORDS(PLAYER_PED_ID(),vTrafficRoute1[iTraffic],220)
|
|
AND NOT IS_POSITION_OCCUPIED(vTrafficRoute1[iTraffic],200,FALSE,TRUE,FALSE,FALSE,FALSE)
|
|
IF NOT IS_SPHERE_VISIBLE(vTrafficRoute1[iTraffic],8)
|
|
iRandom = GET_RANDOM_INT_IN_RANGE(0,6)
|
|
IF iRandom = 0
|
|
modVeh = EMPEROR2
|
|
ELIF iRandom = 1
|
|
modVeh = SURFER2
|
|
ELIF iRandom = 2
|
|
modVeh = BISON
|
|
ELIF iRandom = 3
|
|
modVeh = TORNADO3
|
|
ELIF iRandom = 4
|
|
modVeh = STANIER
|
|
ELSE
|
|
modVeh = MESA
|
|
ENDIF
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "SPAWNING TRAFFIC ON 1")
|
|
#ENDIF
|
|
vehTrafficRoute1[iTraffic] = CREATE_VEHICLE(modVeh,vTrafficRoute1[iTraffic], fHeadingTrafficRoute1[iTraffic])
|
|
pedTrafficRoute1[iTraffic] = CREATE_RANDOM_PED_AS_DRIVER(vehTrafficRoute1[iTraffic])
|
|
SET_VEHICLE_ON_GROUND_PROPERLY(vehTrafficRoute1[iTraffic])
|
|
SET_ENTITY_LOAD_COLLISION_FLAG(vehTrafficRoute1[iTraffic],TRUE)
|
|
//TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING(pedTrafficRoute1[iTraffic],vehTrafficRoute1[iTraffic],"Min2_Traffic01",DRIVINGMODE_AVOIDCARS_STOPFORPEDS_OBEYLIGHTS,0,EWAYPOINT_START_FROM_CLOSEST_POINT)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(pedTrafficRoute1[iTraffic],vehTrafficRoute1[iTraffic],<<254.0842, 4495.0879, 65.5812>>,10,DRIVINGSTYLE_NORMAL, modVeh, DRIVINGMODE_AVOIDCARS_STOPFORPEDS_OBEYLIGHTS,20,20)
|
|
SET_PED_COMBAT_ATTRIBUTES(pedTrafficRoute1[iTraffic],CA_ALWAYS_FLEE,TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF IS_ENTITY_ALIVE(vehTrafficRoute1[iTraffic])
|
|
IF IS_PED_UNINJURED(pedTrafficRoute1[iTraffic])
|
|
//IF IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_VEHICLE(vehTrafficRoute1[iTraffic])
|
|
IF GET_SCRIPT_TASK_STATUS(pedTrafficRoute1[iTraffic],SCRIPT_TASK_VEHICLE_DRIVE_TO_COORD) = PERFORMING_TASK
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
//IF IS_PED_UNINJURED(pedTrafficRoute1[iTraffic])
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],pedTrafficRoute1[iTraffic],20.0 + (fTrafficStopped * 10.0))
|
|
IF IS_PED_FACING_PED(pedTrafficRoute1[iTraffic],pedImmigrant[i],120)
|
|
IF bBlokestunned = TRUE
|
|
TASK_VEHICLE_TEMP_ACTION(pedTrafficRoute1[iTraffic],vehTrafficRoute1[iTraffic],TEMPACT_BRAKE,-1)
|
|
fTrafficStopped = fTrafficStopped + 1.0
|
|
ENDIF
|
|
//IF IS_PED_BEING_STUNNED(pedImmigrant[i])
|
|
// TASK_SMART_FLEE_PED(pedTrafficRoute1[iTraffic],PLAYER_PED_ID(),200,-1)
|
|
//ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT("Min2_Traffic01",GET_ENTITY_COORDS(PLAYER_PED_ID()),iClosestWaypointToPlayer)
|
|
WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT("Min2_Traffic01",GET_ENTITY_COORDS(vehTrafficRoute1[iTraffic]),iWaypointProgress)
|
|
IF iWaypointProgress > iClosestWaypointToPlayer
|
|
//IF GET_VEHICLE_WAYPOINT_PROGRESS(vehTrafficRoute1[iTraffic]) > iClosestWaypointToPlayer
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),vehTrafficRoute1[iTraffic],80)
|
|
//OR NOT IS_ENTITY_ON_SCREEN(vehTrafficRoute1[iTraffic])
|
|
//IF NOT IS_SPHERE_VISIBLE(vTrafficRoute1[iTraffic],9)
|
|
IF IS_ENTITY_OCCLUDED(vehTrafficRoute1[iTraffic])
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "CLEANING UP TRAFFIC ON 1")
|
|
#ENDIF
|
|
SAFE_RELEASE_PED(pedTrafficRoute1[iTraffic])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute1[iTraffic])
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
//IF NOT IS_SPHERE_VISIBLE(vTrafficRoute1[iTraffic],9)
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),vehTrafficRoute1[iTraffic],80)
|
|
AND IS_ENTITY_OCCLUDED(vehTrafficRoute1[iTraffic])
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "CLEANING UP TRAFFIC ON 1")
|
|
#ENDIF
|
|
SAFE_RELEASE_PED(pedTrafficRoute1[iTraffic])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute1[iTraffic])
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF GET_IS_WAYPOINT_RECORDING_LOADED("Min2_Traffic02")
|
|
IF NOT DOES_ENTITY_EXIST(vehTrafficRoute2[iTraffic])
|
|
IF bBlokestunned = FALSE
|
|
AND missionStage = MS_UPDATE_CHASE1
|
|
WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT("Min2_Traffic02",GET_ENTITY_COORDS(PLAYER_PED_ID()),iClosestWaypointToPlayer)
|
|
WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT("Min2_Traffic02",vTrafficRoute1[iTraffic],iClosestWaypointToSpawnPoint)
|
|
IF iClosestWaypointToSpawnPoint > iClosestWaypointToPlayer
|
|
AND NOT IS_ENTITY_IN_RANGE_COORDS(PLAYER_PED_ID(),vTrafficRoute2[iTraffic],80)
|
|
//AND IS_ENTITY_IN_RANGE_COORDS(PLAYER_PED_ID(),vTrafficRoute2[iTraffic],220)
|
|
AND NOT IS_POSITION_OCCUPIED(vTrafficRoute2[iTraffic],200,FALSE,TRUE,FALSE,FALSE,FALSE)
|
|
IF NOT IS_SPHERE_VISIBLE(vTrafficRoute2[iTraffic],8)
|
|
iRandom = GET_RANDOM_INT_IN_RANGE(0,6)
|
|
IF iRandom = 0
|
|
modVeh = EMPEROR2
|
|
ELIF iRandom = 1
|
|
modVeh = SURFER2
|
|
ELIF iRandom = 2
|
|
modVeh = BISON
|
|
ELIF iRandom = 3
|
|
modVeh = TORNADO3
|
|
ELIF iRandom = 4
|
|
modVeh = STANIER
|
|
ELSE
|
|
modVeh = MESA
|
|
ENDIF
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "SPAWNING TRAFFIC ON 2")
|
|
#ENDIF
|
|
vehTrafficRoute2[iTraffic] = CREATE_VEHICLE(modVeh,vTrafficRoute2[iTraffic], fHeadingTrafficRoute2[iTraffic])
|
|
pedTrafficRoute2[iTraffic] = CREATE_RANDOM_PED_AS_DRIVER(vehTrafficRoute2[iTraffic])
|
|
SET_VEHICLE_ON_GROUND_PROPERLY(vehTrafficRoute2[iTraffic])
|
|
SET_ENTITY_LOAD_COLLISION_FLAG(vehTrafficRoute2[iTraffic],TRUE)
|
|
//TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING(pedTrafficRoute2[iTraffic],vehTrafficRoute2[iTraffic],"Min2_Traffic02",DRIVINGMODE_AVOIDCARS_STOPFORPEDS_OBEYLIGHTS,0,EWAYPOINT_START_FROM_CLOSEST_POINT)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(pedTrafficRoute2[iTraffic],vehTrafficRoute2[iTraffic],<<213.2652, 3214.4578, 41.7024>>,10,DRIVINGSTYLE_NORMAL, modVeh, DRIVINGMODE_AVOIDCARS_STOPFORPEDS_OBEYLIGHTS,20,20)
|
|
SET_PED_COMBAT_ATTRIBUTES(pedTrafficRoute2[iTraffic],CA_ALWAYS_FLEE,TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF IS_ENTITY_ALIVE(vehTrafficRoute2[iTraffic])
|
|
IF IS_PED_UNINJURED(pedTrafficRoute2[iTraffic])
|
|
//IF IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_VEHICLE(vehTrafficRoute2[iTraffic])
|
|
IF GET_SCRIPT_TASK_STATUS(pedTrafficRoute2[iTraffic],SCRIPT_TASK_VEHICLE_DRIVE_TO_COORD) = PERFORMING_TASK
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
//IF IS_PED_UNINJURED(pedTrafficRoute2[iTraffic])
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],pedTrafficRoute2[iTraffic],20.0 + (fTrafficStopped * 10.0))
|
|
IF IS_PED_FACING_PED(pedTrafficRoute2[iTraffic],pedImmigrant[i],120)
|
|
IF bBlokestunned = TRUE
|
|
TASK_VEHICLE_TEMP_ACTION(pedTrafficRoute2[iTraffic],vehTrafficRoute2[iTraffic],TEMPACT_BRAKE,-1)
|
|
fTrafficStopped = fTrafficStopped + 1.0
|
|
ENDIF
|
|
//IF IS_PED_BEING_STUNNED(pedImmigrant[i])
|
|
// TASK_SMART_FLEE_PED(pedTrafficRoute2[iTraffic],PLAYER_PED_ID(),200,-1)
|
|
//ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT("Min2_Traffic02",GET_ENTITY_COORDS(PLAYER_PED_ID()),iClosestWaypointToPlayer)
|
|
WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT("Min2_Traffic02",GET_ENTITY_COORDS(vehTrafficRoute2[iTraffic]),iWaypointProgress)
|
|
IF iWaypointProgress < iClosestWaypointToPlayer
|
|
//IF GET_VEHICLE_WAYPOINT_PROGRESS(vehTrafficRoute2[iTraffic]) < iClosestWaypointToPlayer
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),vehTrafficRoute2[iTraffic],80)
|
|
//OR NOT IS_ENTITY_ON_SCREEN(vehTrafficRoute2[iTraffic])
|
|
//IF NOT IS_SPHERE_VISIBLE(vTrafficRoute2[iTraffic],8)
|
|
IF IS_ENTITY_OCCLUDED(vehTrafficRoute2[iTraffic])
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "CLEANING UP TRAFFIC ON 2")
|
|
#ENDIF
|
|
SAFE_RELEASE_PED(pedTrafficRoute2[iTraffic])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute2[iTraffic])
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
//IF NOT IS_SPHERE_VISIBLE(vTrafficRoute2[iTraffic],9)
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),vehTrafficRoute2[iTraffic],80)
|
|
AND IS_ENTITY_OCCLUDED(vehTrafficRoute2[iTraffic])
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "CLEANING UP TRAFFIC ON 2")
|
|
#ENDIF
|
|
SAFE_RELEASE_PED(pedTrafficRoute2[iTraffic])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute2[iTraffic])
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
++iTraffic
|
|
IF iTraffic > 6
|
|
iTraffic = 0
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
PROC CleanupTraffic()
|
|
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(EMPEROR2)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(SURFER2)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(BISON)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(TORNADO3)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(STANIER)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(MESA)
|
|
|
|
SAFE_RELEASE_PED(pedTrafficRoute1[0])
|
|
SAFE_RELEASE_PED(pedTrafficRoute1[1])
|
|
SAFE_RELEASE_PED(pedTrafficRoute1[2])
|
|
SAFE_RELEASE_PED(pedTrafficRoute1[3])
|
|
SAFE_RELEASE_PED(pedTrafficRoute1[4])
|
|
SAFE_RELEASE_PED(pedTrafficRoute1[5])
|
|
SAFE_RELEASE_PED(pedTrafficRoute1[6])
|
|
SAFE_RELEASE_PED(pedTrafficRoute1[7])
|
|
SAFE_RELEASE_PED(pedTrafficRoute1[8])
|
|
SAFE_RELEASE_PED(pedTrafficRoute1[9])
|
|
SAFE_RELEASE_PED(pedTrafficRoute1[10])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute1[0])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute1[1])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute1[2])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute1[3])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute1[4])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute1[5])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute1[6])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute1[7])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute1[8])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute1[9])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute1[10])
|
|
SAFE_RELEASE_PED(pedTrafficRoute2[0])
|
|
SAFE_RELEASE_PED(pedTrafficRoute2[1])
|
|
SAFE_RELEASE_PED(pedTrafficRoute2[2])
|
|
SAFE_RELEASE_PED(pedTrafficRoute2[3])
|
|
SAFE_RELEASE_PED(pedTrafficRoute2[4])
|
|
SAFE_RELEASE_PED(pedTrafficRoute2[5])
|
|
SAFE_RELEASE_PED(pedTrafficRoute2[6])
|
|
SAFE_RELEASE_PED(pedTrafficRoute2[7])
|
|
SAFE_RELEASE_PED(pedTrafficRoute2[8])
|
|
SAFE_RELEASE_PED(pedTrafficRoute2[9])
|
|
SAFE_RELEASE_PED(pedTrafficRoute2[10])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute2[0])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute2[1])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute2[2])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute2[3])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute2[4])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute2[5])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute2[6])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute2[7])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute2[8])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute2[9])
|
|
SAFE_RELEASE_VEHICLE(vehTrafficRoute2[10])
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL JOSEF_AND_JOE_LEFT_BEHIND()
|
|
|
|
IF missionStage = MS_UPDATE_CHASE1
|
|
OR missionStage = MS_IMMIGRANT1_APPREHENDED
|
|
//IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),sRCLauncherDataLocal.pedID[ic_JOE],150)
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),sRCLauncherDataLocal.pedID[ic_JOSEF],150)
|
|
IF bPrint49 = FALSE
|
|
PRINT_NOW("MIN2_49",DEFAULT_GOD_TEXT_TIME,0) //return to
|
|
bPrint49 = TRUE
|
|
ENDIF
|
|
/*
|
|
IF NOT DOES_BLIP_EXIST(blipJoe)
|
|
blipJoe = CREATE_PED_BLIP(sRCLauncherDataLocal.pedID[ic_JOSEF],TRUE,TRUE)
|
|
ENDIF
|
|
IF NOT DOES_BLIP_EXIST(blipJosef)
|
|
blipJosef = CREATE_PED_BLIP(sRCLauncherDataLocal.pedID[ic_JOE],TRUE,TRUE)
|
|
ENDIF
|
|
*/
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Grab random cars and toot their horns
|
|
PROC RandomCarHorns()
|
|
|
|
IF bCarHorn = FALSE
|
|
vehRandom = GET_RANDOM_VEHICLE_IN_SPHERE(GET_ENTITY_COORDS(PLAYER_PED_ID()),40.0,DUMMY_MODEL_FOR_SCRIPT,VEHICLE_SEARCH_FLAG_RETURN_RANDOM_VEHICLES)
|
|
IF IS_VEHICLE_OK(vehRandom)
|
|
START_VEHICLE_HORN(vehRandom,GET_RANDOM_INT_IN_RANGE(2000,6000),GET_RANDOM_INT_IN_RANGE(0,2))
|
|
iTimerCarHorn = GET_GAME_TIMER()
|
|
bCarHorn = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF GET_GAME_TIMER() > iTimerCarHorn + 15000
|
|
SET_VEHICLE_AS_NO_LONGER_NEEDED(vehRandom)
|
|
bCarHorn = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Init the park ranger vehicle
|
|
PROC SpawnPlayerCar()
|
|
|
|
IF NOT DOES_ENTITY_EXIST(sRCLauncherDataLocal.vehID[0])
|
|
sRCLauncherDataLocal.vehID[0] = CREATE_VEHICLE(PRANGER,<<20.80, 4532.65, 104.66>>, 284.70, TRUE, TRUE)
|
|
ENDIF
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(PLAYER_PED_ID())
|
|
SET_VEHICLE_AS_RESTRICTED(sRCLauncherDataLocal.vehID[0],1)
|
|
SET_VEHICLE_MODEL_IS_SUPPRESSED(PRANGER,TRUE)
|
|
SET_DOOR_ALLOWED_TO_BE_BROKEN_OFF(sRCLauncherDataLocal.vehID[0], SC_DOOR_BOOT, FALSE)
|
|
ROLL_DOWN_WINDOWS(sRCLauncherDataLocal.vehID[0])
|
|
//REMOVE_VEHICLE_WINDOW(sRCLauncherDataLocal.vehID[0],SC_WINDOW_MIDDLE_LEFT)
|
|
//REMOVE_VEHICLE_WINDOW(sRCLauncherDataLocal.vehID[0],SC_WINDOW_REAR_LEFT)
|
|
SET_VEHICLE_DIRT_LEVEL(sRCLauncherDataLocal.vehID[0],14.0)
|
|
SET_VEHICLE_HAS_STRONG_AXLES(sRCLauncherDataLocal.vehID[0],TRUE)
|
|
IF NOT IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
FREEZE_ENTITY_POSITION(PLAYER_PED_ID(),FALSE)
|
|
SET_PED_INTO_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
ENDIF
|
|
SET_VEHICLE_DEFORMATION_FIXED(sRCLauncherDataLocal.vehID[0])
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(PRANGER)
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Spawn the crop duster and pilot
|
|
PROC SpawnDuster()
|
|
|
|
IF NOT DOES_ENTITY_EXIST(vehDuster)
|
|
vehDuster = CREATE_VEHICLE(DUSTER,<< -433.5560, 2609.4536, 77.2352 >>, 22.3231)
|
|
IF NOT DOES_ENTITY_EXIST(pedDusterPilot)
|
|
pedDusterPilot = CREATE_PED_INSIDE_VEHICLE(vehDuster,PEDTYPE_MISSION,S_M_M_Migrant_01)
|
|
START_PLAYBACK_RECORDED_VEHICLE(vehDuster, 343, "Min2_Dust")
|
|
SET_PLAYBACK_SPEED(vehDuster,1.1)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Spawn/setup Josef and Joe
|
|
PROC SpawnJosefAndJoe()
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
|
|
ADD_VEHICLE_STUCK_CHECK_WITH_WARP(sRCLauncherDataLocal.vehID[0],0.5,1000,FALSE,FALSE,FALSE,-1)
|
|
|
|
IF NOT DOES_ENTITY_EXIST(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
CREATE_NPC_PED_INSIDE_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],CHAR_JOE,sRCLauncherDataLocal.vehID[0],VS_FRONT_RIGHT)
|
|
ELSE
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
SET_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],VS_FRONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
SET_PED_RELATIONSHIP_GROUP_HASH(sRCLauncherDataLocal.pedID[ic_JOE],GET_PED_RELATIONSHIP_GROUP_HASH(PLAYER_PED_ID()))
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOE],CA_DO_DRIVEBYS,TRUE)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOE],CA_AGGRESSIVE,TRUE)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOE],CA_DISABLE_SECONDARY_TARGET,TRUE)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOE],CA_USE_COVER,FALSE)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOE],CA_REQUIRES_LOS_TO_SHOOT,TRUE)
|
|
SET_PED_COMBAT_RANGE(sRCLauncherDataLocal.pedID[ic_JOE],CR_NEAR)
|
|
SET_PED_COMBAT_MOVEMENT(sRCLauncherDataLocal.pedID[ic_JOE],CM_STATIONARY)
|
|
GIVE_WEAPON_TO_PED(sRCLauncherDataLocal.pedID[ic_JOE],WEAPONTYPE_STUNGUN,-1,TRUE)
|
|
SET_PED_ACCURACY(sRCLauncherDataLocal.pedID[ic_JOE],100)
|
|
SET_PED_CONFIG_FLAG(sRCLauncherDataLocal.pedID[ic_JOE], PCF_WillFlyThroughWindscreen, FALSE)
|
|
SET_PED_CONFIG_FLAG(sRCLauncherDataLocal.pedID[ic_JOE], PCF_GetOutUndriveableVehicle, FALSE)
|
|
SET_PED_CONFIG_FLAG(sRCLauncherDataLocal.pedID[ic_JOE], PCF_GetOutBurningVehicle, FALSE)
|
|
//SET_PED_CONFIG_FLAG(sRCLauncherDataLocal.pedID[ic_JOE], PCF_WaitForDirectEntryPointToBeFreeWhenExiting, TRUE)
|
|
SET_PED_CONFIG_FLAG(sRCLauncherDataLocal.pedID[ic_JOE], PCF_ForceDirectEntry, TRUE)
|
|
TASK_SET_DECISION_MAKER(sRCLauncherDataLocal.pedID[ic_JOE],DECISION_MAKER_EMPTY)
|
|
SET_PED_CAN_BE_TARGETTED(sRCLauncherDataLocal.pedID[ic_JOE],FALSE)
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(sRCLauncherDataLocal.pedID[ic_JOE],TRUE)
|
|
SET_PED_STAY_IN_VEHICLE_WHEN_JACKED(sRCLauncherDataLocal.pedID[ic_JOE],TRUE)
|
|
SET_PED_LEG_IK_MODE(sRCLauncherDataLocal.pedID[ic_JOE], LEG_IK_FULL)
|
|
ENDIF
|
|
|
|
IF NOT DOES_ENTITY_EXIST(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
CREATE_NPC_PED_INSIDE_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],CHAR_JOSEF,sRCLauncherDataLocal.vehID[0],VS_BACK_RIGHT)
|
|
ELSE
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
SET_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],VS_BACK_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
SET_PED_RELATIONSHIP_GROUP_HASH(sRCLauncherDataLocal.pedID[ic_JOSEF],GET_PED_RELATIONSHIP_GROUP_HASH(PLAYER_PED_ID()))
|
|
GIVE_WEAPON_TO_PED(sRCLauncherDataLocal.pedID[ic_JOSEF],WEAPONTYPE_STUNGUN,-1,TRUE)
|
|
SET_PED_ACCURACY(sRCLauncherDataLocal.pedID[ic_JOSEF],100)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOSEF],CA_DO_DRIVEBYS,TRUE)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOSEF],CA_AGGRESSIVE,TRUE)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOSEF],CA_DISABLE_SECONDARY_TARGET,TRUE)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOSEF],CA_USE_COVER,FALSE)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOSEF],CA_REQUIRES_LOS_TO_SHOOT,TRUE)
|
|
SET_PED_COMBAT_RANGE(sRCLauncherDataLocal.pedID[ic_JOSEF],CR_NEAR)
|
|
SET_PED_COMBAT_MOVEMENT(sRCLauncherDataLocal.pedID[ic_JOSEF],CM_STATIONARY)
|
|
SET_PED_CONFIG_FLAG(sRCLauncherDataLocal.pedID[ic_JOSEF], PCF_WillFlyThroughWindscreen, FALSE)
|
|
SET_PED_CONFIG_FLAG(sRCLauncherDataLocal.pedID[ic_JOSEF], PCF_GetOutUndriveableVehicle, FALSE)
|
|
SET_PED_CONFIG_FLAG(sRCLauncherDataLocal.pedID[ic_JOSEF], PCF_GetOutBurningVehicle, FALSE)
|
|
//SET_PED_CONFIG_FLAG(sRCLauncherDataLocal.pedID[ic_JOSEF], PCF_WaitForDirectEntryPointToBeFreeWhenExiting, TRUE)
|
|
SET_PED_CONFIG_FLAG(sRCLauncherDataLocal.pedID[ic_JOSEF], PCF_ForceDirectEntry, TRUE)
|
|
TASK_SET_DECISION_MAKER(sRCLauncherDataLocal.pedID[ic_JOSEF],DECISION_MAKER_EMPTY)
|
|
SET_PED_CAN_BE_TARGETTED(sRCLauncherDataLocal.pedID[ic_JOSEF],FALSE)
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(sRCLauncherDataLocal.pedID[ic_JOSEF],TRUE)
|
|
SET_PED_STAY_IN_VEHICLE_WHEN_JACKED(sRCLauncherDataLocal.pedID[ic_JOSEF],TRUE)
|
|
TASK_SHUFFLE_TO_NEXT_VEHICLE_SEAT(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
SET_PED_LEG_IK_MODE(sRCLauncherDataLocal.pedID[ic_JOSEF], LEG_IK_FULL)
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 2, PLAYER_PED_ID(), "TREVOR")
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 6, sRCLauncherDataLocal.pedID[ic_JOSEF], "JOSEF")
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 7, sRCLauncherDataLocal.pedID[ic_JOE], "JOE")
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Spawn chase vehicles
|
|
PROC SpawnChaseCar()
|
|
|
|
IF i = 0
|
|
|
|
IF NOT DOES_ENTITY_EXIST(vehChaseCar[i])
|
|
//vehChaseCar[i] = CREATE_VEHICLE(BLAZER,<< 191.5226, 4433.6460, 72.2440 >>, 132.2115, TRUE, TRUE)
|
|
vehChaseCar[i] = CREATE_VEHICLE(BLAZER,<<246.4836, 4493.2305, 66.0521>>, 90.3329, TRUE, TRUE)
|
|
//vehChaseCar[i] = CREATE_VEHICLE(BLAZER,<<162.2808, 4411.3193, 74.7961>>, 68.1696 , TRUE, TRUE) //On the bank at the bottom (start off vehicle)
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehChaseCar[i],2)
|
|
SET_ENTITY_ONLY_DAMAGED_BY_PLAYER(vehChaseCar[i],TRUE)
|
|
SET_VEHICLE_DIRT_LEVEL(vehChaseCar[i],14.0)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(BLAZER)
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
IF i = 1
|
|
|
|
IF IS_VEHICLE_OK(vehChaseCar[0])
|
|
SAFE_RELEASE_VEHICLE(vehChaseCar[0])
|
|
ENDIF
|
|
|
|
IF NOT DOES_ENTITY_EXIST(vehChaseCar[i])
|
|
IF IS_REPLAY_IN_PROGRESS()
|
|
AND GET_REPLAY_MID_MISSION_STAGE() = 2
|
|
vehChaseCar[i] = CREATE_VEHICLE(SANCHEZ, <<303.0419, 2892.9541, 42.5927>>, 209.59, TRUE, TRUE) //<< 307.6654, 2884.1946, 42.4575 >>, 214.6454
|
|
ELSE
|
|
vehChaseCar[i] = CREATE_VEHICLE(SANCHEZ, <<303.0419, 2892.9541, 42.5927>>, 209.59, TRUE, TRUE) //<< 301.5931, 2896.0457, 42.6070 >>, 196.3851
|
|
ENDIF
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehChaseCar[i],2)
|
|
SET_ENTITY_ONLY_DAMAGED_BY_PLAYER(vehChaseCar[i],TRUE)
|
|
SET_VEHICLE_ENGINE_ON(vehChaseCar[i],TRUE,TRUE)
|
|
SET_VEHICLE_DIRT_LEVEL(vehChaseCar[i],14.0)
|
|
ENDIF
|
|
|
|
IF NOT DOES_ENTITY_EXIST(vehChaseCarChase2)
|
|
IF IS_REPLAY_IN_PROGRESS()
|
|
AND GET_REPLAY_MID_MISSION_STAGE() = 2
|
|
vehChaseCarChase2 = CREATE_VEHICLE(SANCHEZ,<<297.1000, 2895.4980, 42.5893>>, 214.25, TRUE, TRUE) //<< 300.2892, 2885.5376, 42.5449 >>, 220.7304
|
|
ELSE
|
|
vehChaseCarChase2 = CREATE_VEHICLE(SANCHEZ,<<297.1000, 2895.4980, 42.5893>>, 214.25, TRUE, TRUE) //<< 297.5408, 2888.8457, 42.6080 >>, 217.2791
|
|
ENDIF
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehChaseCar[i],1)
|
|
SET_ENTITY_ONLY_DAMAGED_BY_PLAYER(vehChaseCarChase2,TRUE)
|
|
SET_VEHICLE_ENGINE_ON(vehChaseCarChase2,TRUE,TRUE)
|
|
SET_VEHICLE_DIRT_LEVEL(vehChaseCarChase2,14.0)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(SANCHEZ)
|
|
ENDIF
|
|
|
|
IF NOT DOES_ENTITY_EXIST(vehSpeedo)
|
|
vehSpeedo = CREATE_VEHICLE(SPEEDO,<< 290.8079, 2859.2888, 42.6421 >>, 313.9074)
|
|
SET_VEHICLE_DOOR_OPEN(vehSpeedo,SC_DOOR_REAR_LEFT)
|
|
SET_VEHICLE_DOOR_OPEN(vehSpeedo,SC_DOOR_REAR_RIGHT)
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehSpeedo,1)
|
|
SET_VEHICLE_DIRT_LEVEL(vehSpeedo,15.0)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(SPEEDO)
|
|
ENDIF
|
|
|
|
IF NOT DOES_ENTITY_EXIST(pedWorker[0])
|
|
pedWorker[0] = CREATE_PED(PEDTYPE_MISSION,S_M_M_GAFFER_01,<< 289.6810, 2860.0039, 42.6421 >>, 66.4056)
|
|
SET_PED_COMPONENT_VARIATION(pedWorker[0],PED_COMP_HEAD,0,1)
|
|
SET_PED_COMPONENT_VARIATION(pedWorker[0],PED_COMP_HAIR,0,0)
|
|
SET_PED_COMPONENT_VARIATION(pedWorker[0],PED_COMP_SPECIAL,0,0)
|
|
SET_PED_COMPONENT_VARIATION(pedWorker[0],PED_COMP_SPECIAL2,0,0)
|
|
SET_PED_COMPONENT_VARIATION(pedWorker[0],PED_COMP_HEAD,0,1)
|
|
SET_PED_COMPONENT_VARIATION(pedWorker[0],PED_COMP_TORSO,0,1)
|
|
SET_PED_COMPONENT_VARIATION(pedWorker[0],PED_COMP_LEG,1,0)
|
|
TASK_PLAY_ANIM(pedWorker[0],"rcmminute2lean","idle_c",NORMAL_BLEND_IN,-2,-1,AF_LOOPING)
|
|
SET_PED_COMBAT_ATTRIBUTES(pedWorker[0],CA_ALWAYS_FLEE,TRUE)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(S_M_M_GAFFER_01)
|
|
ENDIF
|
|
/*
|
|
IF NOT DOES_ENTITY_EXIST(pedWorker[1])
|
|
pedWorker[1] = CREATE_PED(PEDTYPE_MISSION,S_M_Y_CONSTRUCT_01,<<287.395721,2837.913574,43.573788>>, 124.411591)
|
|
SET_PED_COMPONENT_VARIATION(pedWorker[1],PED_COMP_HEAD,2,2)
|
|
SET_PED_COMPONENT_VARIATION(pedWorker[1],PED_COMP_HAIR,0,1)
|
|
SET_PED_COMPONENT_VARIATION(pedWorker[1],PED_COMP_SPECIAL,0,0)
|
|
SET_PED_COMPONENT_VARIATION(pedWorker[1],PED_COMP_SPECIAL2,0,0)
|
|
SET_PED_COMPONENT_VARIATION(pedWorker[1],PED_COMP_TORSO,2,2)
|
|
SET_PED_COMPONENT_VARIATION(pedWorker[1],PED_COMP_LEG,2,2)
|
|
TASK_PLAY_ANIM(pedWorker[1],"rcmminute2","idle_e",NORMAL_BLEND_IN,NORMAL_BLEND_OUT,-1,AF_LOOPING)
|
|
ObjPhone = CREATE_OBJECT_NO_OFFSET(P_AMB_PHONE_01, GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(pedWorker[1],<<0.0,0.0,10.0>>))
|
|
ATTACH_ENTITY_TO_ENTITY(ObjPhone, pedWorker[1], GET_PED_BONE_INDEX(pedWorker[1], BONETAG_PH_R_HAND), <<0,0,0>>, <<0,0,0>>, TRUE, TRUE)
|
|
SET_PED_COMBAT_ATTRIBUTES(pedWorker[1],CA_ALWAYS_FLEE,TRUE)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(S_M_Y_CONSTRUCT_01)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(P_AMB_PHONE_01)
|
|
ENDIF
|
|
*/
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Is the player abandoning the mission by driving off
|
|
PROC IsPlayerAbandoning()
|
|
|
|
IF i = 0
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF GET_DISTANCE_BETWEEN_PEDS(PLAYER_PED_ID(),pedImmigrant[i]) > 240.0
|
|
IF bPrint18 = FALSE
|
|
IF GET_GAME_TIMER() > iTimerChase1Started + 12000
|
|
//PRINT_NOW("MIN2_18",7000,0) //The immigrant is getting away
|
|
//iGameTimer = GET_GAME_TIMER()
|
|
bPrint18 = TRUE
|
|
ENDIF
|
|
ELSE
|
|
//iGameTimerUpdate = GET_GAME_TIMER()
|
|
//IF iGameTimerUpdate > (iGameTimer + 10000)
|
|
IF fDistBetweenJosefAndImmigrant > 300.0//260.0
|
|
sFailReason = "MIN2_43"
|
|
missionStage = MS_MISSION_FAILING
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Manage the entities at the cement factory
|
|
PROC UpdateAmbientCementFactory()
|
|
|
|
IF IS_PED_UNINJURED(pedWorker[0])
|
|
IF GET_DISTANCE_BETWEEN_PEDS(pedWorker[0],PLAYER_PED_ID()) < 15.0
|
|
TASK_LOOK_AT_ENTITY(pedWorker[0],PLAYER_PED_ID(),-1)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iSeqCementFactory = 0
|
|
IF IS_PED_UNINJURED(pedWorker[0])
|
|
OPEN_SEQUENCE_TASK(seqPointAtImmigrants)
|
|
TASK_PLAY_ANIM(NULL,"rcmminute2lean","exit",1,NORMAL_BLEND_OUT,-1)
|
|
TASK_PLAY_ANIM(NULL,"rcmminute2","intro_90_r",NORMAL_BLEND_IN,NORMAL_BLEND_OUT,-1)
|
|
TASK_PLAY_ANIM(NULL,"rcmminute2","loop_90_r",NORMAL_BLEND_IN,NORMAL_BLEND_OUT,-1)
|
|
TASK_PLAY_ANIM(NULL,"rcmminute2","outro_90_r",NORMAL_BLEND_IN,NORMAL_BLEND_OUT,-1)
|
|
CLOSE_SEQUENCE_TASK(seqPointAtImmigrants)
|
|
CLEAR_PED_TASKS(pedWorker[0])
|
|
TASK_PERFORM_SEQUENCE(pedWorker[0],seqPointAtImmigrants)
|
|
ENDIF
|
|
IF IS_SCREEN_FADED_IN()
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_CEM",CONV_PRIORITY_MEDIUM) //Border Patrol! Come out to play!
|
|
REPLAY_RECORD_BACK_FOR_TIME(2.0, 4.0, REPLAY_IMPORTANCE_LOWEST)
|
|
iSeqCementFactory = 1
|
|
ENDIF
|
|
ELSE
|
|
iSeqCementFactory = 1
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF GET_GAME_TIMER() > iArrivedAtCementFactory + 100
|
|
IF iSeqCementFactory = 1
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
TASK_LOOK_AT_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),-1)
|
|
ENDIF
|
|
iSeqCementFactory = 2
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF GET_GAME_TIMER() > iArrivedAtCementFactory + 200
|
|
IF iSeqCementFactory = 2
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
IF NOT IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCar[i])
|
|
START_PLAYBACK_RECORDED_VEHICLE(vehChaseCar[i],101,"Min2DB1")
|
|
SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehChaseCar[i],1000.0)
|
|
IF GET_ENTITY_SPEED(PLAYER_PED_ID()) < 6.0
|
|
fPlaybackSpeed = 0.82
|
|
ENDIF
|
|
IF GET_ENTITY_SPEED(PLAYER_PED_ID()) >= 6.0
|
|
AND GET_ENTITY_SPEED(PLAYER_PED_ID()) < 8.0
|
|
fPlaybackSpeed = 0.91
|
|
ENDIF
|
|
IF GET_ENTITY_SPEED(PLAYER_PED_ID()) >= 8.0
|
|
AND GET_ENTITY_SPEED(PLAYER_PED_ID()) < 10.0
|
|
fPlaybackSpeed = 1
|
|
ENDIF
|
|
IF GET_ENTITY_SPEED(PLAYER_PED_ID()) >= 10.0
|
|
AND GET_ENTITY_SPEED(PLAYER_PED_ID()) < 12.0
|
|
fPlaybackSpeed = 1.2
|
|
ENDIF
|
|
IF GET_ENTITY_SPEED(PLAYER_PED_ID()) >= 12.0
|
|
AND GET_ENTITY_SPEED(PLAYER_PED_ID()) < 14.0
|
|
fPlaybackSpeed = 1.3
|
|
ENDIF
|
|
IF GET_ENTITY_SPEED(PLAYER_PED_ID()) >= 14.0
|
|
AND GET_ENTITY_SPEED(PLAYER_PED_ID()) < 16.0
|
|
fPlaybackSpeed = 1.35
|
|
ENDIF
|
|
IF GET_ENTITY_SPEED(PLAYER_PED_ID()) >= 16.0
|
|
AND GET_ENTITY_SPEED(PLAYER_PED_ID()) < 18.0
|
|
fPlaybackSpeed = 1.4
|
|
ENDIF
|
|
IF GET_ENTITY_SPEED(PLAYER_PED_ID()) >= 18.0
|
|
fPlaybackSpeed = 1.5
|
|
ENDIF
|
|
SET_PLAYBACK_SPEED(vehChaseCar[i],fPlaybackSpeed)
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_VEHICLE_OK(vehChaseCarChase2)
|
|
IF NOT IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCarChase2)
|
|
START_PLAYBACK_RECORDED_VEHICLE(vehChaseCarChase2,102,"Min2DB2")
|
|
SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehChaseCarChase2,1100.0) //1400
|
|
SET_PLAYBACK_SPEED(vehChaseCarChase2,fPlaybackSpeed)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
iSeqCementFactory = 5
|
|
ENDIF
|
|
ENDIF
|
|
|
|
//IF IS_VEHICLE_OK(vehChaseCarChase2)
|
|
//AND IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCarChase2)
|
|
//AND GET_TIME_POSITION_IN_RECORDING(vehChaseCarChase2) > 800
|
|
IF GET_GAME_TIMER() > iArrivedAtCementFactory + 3400
|
|
|
|
IF iSeqCementFactory = 5
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_PERFORM_SEQUENCE) <> PERFORMING_TASK
|
|
TASK_PERFORM_SEQUENCE(pedImmigrantChase2,seqChase2RouteSECONDPED)
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_PERFORM_SEQUENCE) <> PERFORMING_TASK
|
|
TASK_PERFORM_SEQUENCE(pedImmigrant[i],seqChase2Route)
|
|
ENDIF
|
|
ENDIF
|
|
iSeqCementFactory = 6
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF iSeqCementFactory = 10
|
|
iArrivedAtCementFactory = iArrivedAtCementFactory - 10000
|
|
iSeqCementFactory = 11
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Spawn the immigrants
|
|
PROC SpawnImmigrant()
|
|
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
IF NOT DOES_ENTITY_EXIST(pedImmigrant[i])
|
|
IF i = 0
|
|
CREATE_NPC_PED_INSIDE_VEHICLE(pedImmigrant[i],CHAR_MANUEL,vehChaseCar[i])
|
|
//CREATE_NPC_PED_ON_FOOT(pedImmigrant[i],CHAR_MANUEL,<<162.2808, 4411.3193, 74.7961>>, 68.1696) //old version where he out of the car at the bank at the bottom of the road
|
|
SET_DRIVER_ABILITY(pedImmigrant[i],1)
|
|
SET_DRIVER_RACING_MODIFIER(pedImmigrant[i],1)
|
|
TASK_LOOK_AT_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),-1)
|
|
//SET_PED_DIES_WHEN_INJURED(pedImmigrant[i],FALSE)
|
|
ENDIF
|
|
IF i = 1
|
|
pedImmigrant[i] = CREATE_PED_INSIDE_VEHICLE(vehChaseCar[i],PEDTYPE_MISSION,S_M_M_Migrant_01)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrant[i],PED_COMP_HEAD,0,1)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrant[i],PED_COMP_TORSO,1,0)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrant[i],PED_COMP_LEG,0,0)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrant[i],PED_COMP_FEET,1,0)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrant[i],PED_COMP_SPECIAL,1,0)
|
|
//SET_PED_DIES_WHEN_INJURED(pedImmigrant[i],FALSE)
|
|
IF IS_VEHICLE_OK(vehChaseCarChase2)
|
|
pedImmigrantChase2 = CREATE_PED_INSIDE_VEHICLE(vehChaseCarChase2,PEDTYPE_MISSION,S_M_M_Migrant_01)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrantChase2,PED_COMP_HEAD,1,0)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrantChase2,PED_COMP_TORSO,1,1)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrantChase2,PED_COMP_LEG,0,0)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrantChase2,PED_COMP_FEET,1,0)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrantChase2,PED_COMP_SPECIAL,1,0)
|
|
SET_ENTITY_IS_TARGET_PRIORITY(pedImmigrantChase2,TRUE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrantChase2, PCF_DisableGoToWritheWhenInjured, TRUE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrantChase2, PCF_WillFlyThroughWindscreen, FALSE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrantChase2, PCF_GetOutUndriveableVehicle, FALSE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrantChase2, PCF_GetOutBurningVehicle, FALSE)
|
|
//SET_PED_CONFIG_FLAG(pedImmigrantChase2, PCF_WaitForDirectEntryPointToBeFreeWhenExiting, TRUE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrantChase2, PCF_ForceDirectEntry, TRUE)
|
|
//SET_PED_LEG_IK_MODE(pedImmigrantChase2, LEG_IK_FULL)
|
|
SET_PED_MAX_TIME_IN_WATER(pedImmigrantChase2,2)
|
|
IF IS_PED_ON_ANY_BIKE(pedImmigrantChase2)
|
|
SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(pedImmigrantChase2,KNOCKOFFVEHICLE_DEFAULT)
|
|
ENDIF
|
|
SET_PED_DIES_WHEN_INJURED(pedImmigrantChase2,FALSE)
|
|
TASK_SET_DECISION_MAKER(pedImmigrantChase2,DECISION_MAKER_EMPTY)
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedImmigrantChase2,TRUE)
|
|
SET_ENTITY_HEALTH(pedImmigrantChase2,300)
|
|
SET_PED_KEEP_TASK(pedImmigrantChase2,TRUE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrantChase2, PCF_RunFromFiresAndExplosions, FALSE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrantChase2, PCF_DisableExplosionReactions, TRUE)
|
|
IF IS_PED_ON_ANY_BIKE(pedImmigrant[i])
|
|
SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(pedImmigrant[i],KNOCKOFFVEHICLE_DEFAULT)
|
|
ENDIF
|
|
ENDIF
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(S_M_M_Migrant_01)
|
|
ENDIF
|
|
SET_ENTITY_IS_TARGET_PRIORITY(pedImmigrant[i],TRUE)
|
|
SET_PED_COMBAT_ATTRIBUTES(pedImmigrant[i],CA_CAN_TAUNT_IN_VEHICLE,TRUE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrant[i], PCF_DisableGoToWritheWhenInjured, TRUE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrant[i], PCF_WillFlyThroughWindscreen, FALSE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrant[i], PCF_GetOutUndriveableVehicle, FALSE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrant[i], PCF_GetOutBurningVehicle, FALSE)
|
|
//SET_PED_CONFIG_FLAG(pedImmigrant[i], PCF_WaitForDirectEntryPointToBeFreeWhenExiting, TRUE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrant[i], PCF_ForceDirectEntry, TRUE)
|
|
//SET_PED_LEG_IK_MODE(pedImmigrant[i], LEG_IK_FULL)
|
|
SET_PED_MAX_TIME_IN_WATER(pedImmigrant[i],2)
|
|
TASK_SET_DECISION_MAKER(pedImmigrant[i],DECISION_MAKER_EMPTY)
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedImmigrant[i],TRUE)
|
|
SET_ENTITY_HEALTH(pedImmigrant[i],300)
|
|
SET_PED_KEEP_TASK(pedImmigrant[i],TRUE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrant[i], PCF_RunFromFiresAndExplosions, FALSE)
|
|
SET_PED_CONFIG_FLAG(pedImmigrant[i], PCF_DisableExplosionReactions, TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF i = 0
|
|
IF GET_DISTANCE_BETWEEN_PEDS(pedImmigrant[i],PLAYER_PED_ID()) < 500 //125.0
|
|
bOkToStartChase = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF IS_ENTITY_IN_ANGLED_AREA( PLAYER_PED_ID(), <<313.491394,2974.186523,17.270653>>, <<354.219116,2772.717285,84.748848>>, 122.250000) //Cheat
|
|
OR IS_PLAYER_SHOOTING_NEAR_PED(pedImmigrant[i])
|
|
OR IS_PLAYER_SHOOTING_NEAR_PED(pedImmigrantChase2)
|
|
bOkToStartChase = TRUE
|
|
iSeqCementFactory = 10
|
|
ENDIF
|
|
IF IS_ENTITY_IN_ANGLED_AREA( PLAYER_PED_ID(), <<268.072601,2861.259766,37.143517>>, <<274.734955,2847.247070,66.008347>>, 15.750000) //Entrance
|
|
OR IS_ENTITY_IN_ANGLED_AREA( PLAYER_PED_ID(), <<281.031952,2884.983643,37.307434>>, <<304.812927,2837.810059,73.936058>>, 57.500000) //Whole place
|
|
bOkToStartChase = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Setup the chase route sequences for the immigrants
|
|
PROC SetupSequences()
|
|
|
|
IF bSeqSetup = FALSE
|
|
OPEN_SEQUENCE_TASK(seqChase2Route)
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING(NULL,vehChaseCar[i],"Min2_Bike02",DRIVINGMODE_AVOIDCARS_RECKLESS,28) //10
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,vehChaseCar[i],vChase[44],24.0,DRIVINGSTYLE_NORMAL,SANCHEZ,DRIVINGMODE_AVOIDCARS_RECKLESS,20.0,5.0)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,vehChaseCar[i],vChase[45],24.0,DRIVINGSTYLE_NORMAL,SANCHEZ,DRIVINGMODE_AVOIDCARS_RECKLESS,20.0,5.0)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,vehChaseCar[i],vChase[46],24.0,DRIVINGSTYLE_NORMAL,SANCHEZ,DRIVINGMODE_AVOIDCARS_RECKLESS,20.0,5.0)
|
|
TASK_VEHICLE_DRIVE_WANDER(NULL,vehChaseCar[i],24.0,DRIVINGMODE_AVOIDCARS_RECKLESS)
|
|
ENDIF
|
|
CLOSE_SEQUENCE_TASK(seqChase2Route)
|
|
OPEN_SEQUENCE_TASK(seqChase2RouteSECONDPED)
|
|
TASK_LOOK_AT_ENTITY(NULL,PLAYER_PED_ID(),-1)
|
|
IF IS_VEHICLE_OK(vehChaseCarChase2)
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
TASK_VEHICLE_ESCORT(NULL,vehChaseCarChase2,vehChaseCar[i],VEHICLE_ESCORT_REAR,40.0,DRIVINGMODE_PLOUGHTHROUGH,fEscortDistance)
|
|
/*
|
|
TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING(NULL,vehChaseCarChase2,"Min2_Bike02",DRIVINGMODE_AVOIDCARS_RECKLESS,24) //12
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,vehChaseCarChase2,vChase[44],24.0,DRIVINGSTYLE_NORMAL,SANCHEZ,DRIVINGMODE_AVOIDCARS_RECKLESS,20.0,5.0)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,vehChaseCarChase2,vChase[45],24.0,DRIVINGSTYLE_NORMAL,SANCHEZ,DRIVINGMODE_AVOIDCARS_RECKLESS,20.0,5.0)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,vehChaseCarChase2,vChase[46],24.0,DRIVINGSTYLE_NORMAL,SANCHEZ,DRIVINGMODE_AVOIDCARS_RECKLESS,20.0,5.0)
|
|
TASK_VEHICLE_DRIVE_WANDER(NULL,vehChaseCarChase2,24.0,DRIVINGMODE_AVOIDCARS_RECKLESS)
|
|
*/
|
|
ENDIF
|
|
ENDIF
|
|
CLOSE_SEQUENCE_TASK(seqChase2RouteSECONDPED)
|
|
bSeqSetup = TRUE
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Start chases
|
|
PROC StartVehiclePlayback()
|
|
|
|
IF i = 0
|
|
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
OPEN_SEQUENCE_TASK(seqChase1)
|
|
TASK_LOOK_AT_ENTITY(NULL,PLAYER_PED_ID(),-1,SLF_WHILE_NOT_IN_FOV)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,vehChaseCar[i],<<161.1383, 4417.4663, 74.7775>>,10.0,DRIVINGSTYLE_NORMAL,BLAZER,DRIVINGMODE_AVOIDCARS_RECKLESS,30.0,2.0)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,vehChaseCar[i],<<17.4915, 4453.2012, 58.9788>>,20.0,DRIVINGSTYLE_NORMAL,BLAZER,DRIVINGMODE_AVOIDCARS_RECKLESS,20.0,2.0)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,vehChaseCar[i],<<-91.1074, 4301.0918, 45.4100>>,25.0,DRIVINGSTYLE_NORMAL,BLAZER,DRIVINGMODE_AVOIDCARS_RECKLESS,20.0,2.0)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,vehChaseCar[i],<<-223.0806, 4012.2888, 36.0401>>,25.0,DRIVINGSTYLE_NORMAL,BLAZER,DRIVINGMODE_AVOIDCARS_RECKLESS,20.0,2.0)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,vehChaseCar[i],<<-194.4012, 3733.1128, 42.2381>>,25.0,DRIVINGSTYLE_NORMAL,BLAZER,DRIVINGMODE_AVOIDCARS_RECKLESS,20.0,2.0)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,vehChaseCar[i],<<89.5701, 3582.7971, 38.7910>>,25.0,DRIVINGSTYLE_NORMAL,BLAZER,DRIVINGMODE_AVOIDCARS_RECKLESS,20.0,2.0)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,vehChaseCar[i],<< 326.0252, 3438.8760, 35.3116 >>,25.0,DRIVINGSTYLE_NORMAL,BLAZER,DRIVINGMODE_AVOIDCARS_RECKLESS,25.0,2.0)
|
|
TASK_VEHICLE_DRIVE_WANDER(NULL,vehChaseCar[i],22.0,DRIVINGMODE_AVOIDCARS_RECKLESS)
|
|
CLOSE_SEQUENCE_TASK(seqChase1)
|
|
TASK_PERFORM_SEQUENCE(pedImmigrant[i],seqChase1)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
IF i = 1
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF bFirstImmigrantFleeing = FALSE
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
IF NOT IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCar[i])
|
|
START_PLAYBACK_RECORDED_VEHICLE(vehChaseCar[i],101,"Min2DB1")
|
|
ADD_ENTITY_TO_AUDIO_MIX_GROUP(vehChaseCar[i],"MINUTE_02_SCENE_SCRAMBLER_BIKE")
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF bImmigrantChase2Fleeing = FALSE
|
|
IF IS_VEHICLE_OK(vehChaseCarChase2)
|
|
IF NOT IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCarChase2)
|
|
START_PLAYBACK_RECORDED_VEHICLE(vehChaseCarChase2,102,"Min2DB2")
|
|
ADD_ENTITY_TO_AUDIO_MIX_GROUP(vehChaseCarChase2,"MINUTE_02_SCENE_SCRAMBLER_BIKE")
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
iChaseStartedTimer = GET_GAME_TIMER()
|
|
|
|
bChaseStarted = TRUE
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: To fix B*1778492 - clamps the top speed of the lead bike in chase 2. Can no longer call TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING every frame.
|
|
PROC SET_LEAD_BIKE_TOP_SPEED(FLOAT fTopSpeed)
|
|
|
|
IF fTopSpeed = -1
|
|
VEHICLE_WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED(vehChaseCar[i])
|
|
ELSE
|
|
IF GET_ENTITY_SPEED(vehChaseCar[i]) > fTopSpeed
|
|
VEHICLE_WAYPOINT_PLAYBACK_OVERRIDE_SPEED(vehChaseCar[i],fTopSpeed)
|
|
ELSE
|
|
VEHICLE_WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED(vehChaseCar[i])
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Manage rubberbanding etc for chases
|
|
PROC UpdateVehiclePlayback()
|
|
|
|
FLOAT fTopSpeed
|
|
|
|
IF i = 0
|
|
IF bBlokestunned = FALSE
|
|
//IF bImmigrantHandsUp = FALSE
|
|
//IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
//IF IS_PED_IN_VEHICLE(pedImmigrant[i],vehChaseCar[i])
|
|
//CONTROL_VEHICLE_CHASE_HINT_CAM_ANY_MEANS(localChaseHintCamStruct, vehChaseCar[i])
|
|
CONTROL_PED_CHASE_HINT_CAM_IN_VEHICLE(localChaseHintCamStruct, pedImmigrant[i])
|
|
//ELSE
|
|
//KILL_CHASE_HINT_CAM(localChaseHintCamStruct)
|
|
//ENDIF
|
|
ENDIF
|
|
//ENDIF
|
|
ELSE
|
|
KILL_CHASE_HINT_CAM(localChaseHintCamStruct)
|
|
ENDIF
|
|
ELIF i = 1
|
|
|
|
IF iSeqHintCam = 0
|
|
IF bSecondBlokestunned = FALSE
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
CONTROL_PED_CHASE_HINT_CAM_IN_VEHICLE(localChaseHintCamStruct, pedImmigrantChase2)
|
|
ENDIF
|
|
ELSE
|
|
KILL_CHASE_HINT_CAM(localChaseHintCamStruct)
|
|
iTimerHintCamSwitch = GET_GAME_TIMER()
|
|
iSeqHintCam = 1
|
|
ENDIF
|
|
ELIF iSeqHintCam = 1
|
|
IF GET_GAME_TIMER() > iTimerHintCamSwitch + 5
|
|
IF bBlokestunned = FALSE
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
CONTROL_PED_CHASE_HINT_CAM_IN_VEHICLE(localChaseHintCamStruct, pedImmigrant[i])
|
|
ENDIF
|
|
ELSE
|
|
KILL_CHASE_HINT_CAM(localChaseHintCamStruct)
|
|
iSeqHintCam = 2
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
/*
|
|
IF bBlokestunned = TRUE
|
|
AND bSecondBlokestunned = TRUE
|
|
KILL_CHASE_HINT_CAM(localChaseHintCamStruct)
|
|
ENDIF
|
|
*/
|
|
ELSE
|
|
IF iSeqHintCam < 3
|
|
KILL_CHASE_HINT_CAM(localChaseHintCamStruct)
|
|
iSeqHintCam = 3
|
|
ENDIF
|
|
ENDIF
|
|
|
|
/*
|
|
IF bBlokestunned = FALSE
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF IS_PED_IN_VEHICLE(pedImmigrant[i],vehChaseCar[i])
|
|
//CONTROL_VEHICLE_CHASE_HINT_CAM_ANY_MEANS(localChaseHintCamStruct, vehChaseCar[i])
|
|
CONTROL_PED_CHASE_HINT_CAM_IN_VEHICLE(localChaseHintCamStruct, pedImmigrant[i])
|
|
ELSE
|
|
//KILL_CHASE_HINT_CAM(localChaseHintCamStruct)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF bSECONDBlokestunned = FALSE
|
|
IF IS_VEHICLE_OK(vehChaseCarChase2)
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF IS_PED_IN_VEHICLE(pedImmigrantChase2,vehChaseCarChase2)
|
|
//CONTROL_VEHICLE_CHASE_HINT_CAM_ANY_MEANS(localChaseHintCamStruct, vehChaseCarChase2)
|
|
CONTROL_PED_CHASE_HINT_CAM_IN_VEHICLE(localChaseHintCamStruct, pedImmigrantChase2)
|
|
ELSE
|
|
//KILL_CHASE_HINT_CAM(localChaseHintCamStruct)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
//KILL_CHASE_HINT_CAM(localChaseHintCamStruct)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
*/
|
|
|
|
IF i = 0
|
|
IF bChaseStarted = TRUE //Chase 1
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
IF IS_PED_IN_VEHICLE(pedImmigrant[i],vehChaseCar[i])
|
|
IF DOES_BLIP_EXIST(blipImmigrant[i])
|
|
SET_BLIP_SCALE(blipImmigrant[i],BLIP_SIZE_VEHICLE)
|
|
ENDIF
|
|
/*
|
|
IF IS_PED_FACING_PED(pedImmigrant[i],PLAYER_PED_ID(),90)
|
|
//AND IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),50)
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_VEHICLE_MISSION) <> PERFORMING_TASK
|
|
TASK_VEHICLE_MISSION_PED_TARGET(pedImmigrant[i],vehChaseCar[i],PLAYER_PED_ID(),MISSION_FLEE,35.0,DRIVINGMODE_AVOIDCARS,100.0,30.0) //100.0,30.0
|
|
ENDIF
|
|
ENDIF
|
|
*/
|
|
IF GET_GAME_TIMER() > iTimerChase1Started + 15000
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(pedImmigrant[i],PLAYER_PED_ID()) > 100
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrant[i],20)
|
|
ELSE
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrant[i],25)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF i = 1
|
|
IF bChaseStarted = TRUE
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
IF IS_PED_IN_VEHICLE(pedImmigrant[i],vehChaseCar[i])
|
|
//IF NOT IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCar[i])
|
|
//IF IS_ENTITY_IN_ANGLED_AREA(pedImmigrant[i], <<1183.165283,3536.686035,44.112286>>, <<1149.735107,3536.621582,28.927197>>, 25.250000)
|
|
//IF IS_ENTITY_IN_ANGLED_AREA(pedImmigrant[i], <<1927.303345,3249.611084,36.220833>>, <<1893.591064,3237.221436,50.346451>>, 18.500000)
|
|
//IF IS_ENTITY_IN_ANGLED_AREA(pedImmigrant[i], <<1300.488525,1099.818481,101.656265>>, <<1307.387573,1002.332336,113.962875>>, 21.250000)
|
|
IF bWander = TRUE
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_VEHICLE_DRIVE_WANDER) <> PERFORMING_TASK
|
|
TASK_VEHICLE_DRIVE_WANDER(pedImmigrant[i],vehChaseCar[i],24.0,DRIVINGMODE_AVOIDCARS_RECKLESS)
|
|
ENDIF
|
|
ELSE
|
|
//IF IS_ENTITY_IN_ANGLED_AREA(pedImmigrant[i], <<394.674927,2869.969971,31.988247>>, <<375.853394,2863.012939,47.178463>>, 18.500000)
|
|
//IF IS_ENTITY_IN_ANGLED_AREA(pedImmigrant[i], <<394.727386,2879.424072,36.769821>>, <<407.209137,2861.601318,46.693233>>, 24.750000)
|
|
//IF IS_ENTITY_IN_ANGLED_AREA(pedImmigrant[i], <<350.947235,2857.252686,39.281879>>, <<379.071808,2857.875977,50.558121>>, 21.250000)
|
|
IF bBikeLeftFactory = TRUE
|
|
|
|
IF IS_VEHICLE_OK(vehChaseCarChase2)
|
|
AND IS_ENTITY_IN_RANGE_ENTITY(pedImmigrantChase2,pedImmigrant[i],20)
|
|
fTopSpeed = -1
|
|
ELSE
|
|
fTopSpeed = 22
|
|
ENDIF
|
|
|
|
IF NOT bSwitchWaypointFlags
|
|
IF GET_VEHICLE_WAYPOINT_PROGRESS(vehChaseCar[i]) > 30
|
|
TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING(pedImmigrant[i],vehChaseCar[i],"Min2_Bike02",DRIVINGMODE_AVOIDCARS_RECKLESS,32,EWAYPOINT_START_FROM_CLOSEST_POINT,-1,fTopSpeed)
|
|
bSwitchWaypointFlags = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF NOT IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCar[i])
|
|
TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING(pedImmigrant[i],vehChaseCar[i],"Min2_Bike02",DRIVINGMODE_AVOIDCARS_RECKLESS,32,EWAYPOINT_START_FROM_CLOSEST_POINT,-1,fTopSpeed)
|
|
ELSE
|
|
SET_LEAD_BIKE_TOP_SPEED(fTopSpeed)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
/*
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_PERFORM_SEQUENCE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_VEHICLE_DRIVE_WANDER) <> PERFORMING_TASK
|
|
TASK_PERFORM_SEQUENCE(pedImmigrant[i],seqChase2Route)
|
|
ENDIF
|
|
*/
|
|
ENDIF
|
|
ENDIF
|
|
//ENDIF
|
|
IF bFirstImmigrantOnBike = FALSE
|
|
SET_PED_CAN_RAGDOLL(pedImmigrant[i],TRUE)
|
|
IF DOES_BLIP_EXIST(blipImmigrant[i])
|
|
SET_BLIP_SCALE(blipImmigrant[i],BLIP_SIZE_VEHICLE)
|
|
ENDIF
|
|
bFirstImmigrantOnBike = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF IS_VEHICLE_OK(vehChaseCarChase2)
|
|
IF IS_PED_IN_VEHICLE(pedImmigrantChase2,vehChaseCarChase2)
|
|
//IF NOT IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCarChase2)
|
|
//IF IS_ENTITY_IN_ANGLED_AREA(pedImmigrantChase2, <<1183.165283,3536.686035,44.112286>>, <<1149.735107,3536.621582,28.927197>>, 25.250000)
|
|
//IF IS_ENTITY_IN_ANGLED_AREA(pedImmigrantChase2, <<1927.303345,3249.611084,36.220833>>, <<1893.591064,3237.221436,50.346451>>, 18.500000)
|
|
|
|
|
|
IF bWander = TRUE
|
|
IF NOT IS_PED_IN_VEHICLE(pedImmigrant[i],vehChaseCar[i])
|
|
OR NOT IS_ENTITY_IN_RANGE_ENTITY(pedImmigrantChase2,pedImmigrant[i],29)
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_VEHICLE_DRIVE_WANDER) <> PERFORMING_TASK
|
|
TASK_VEHICLE_DRIVE_WANDER(pedImmigrantChase2,vehChaseCarChase2,24.0,DRIVINGMODE_AVOIDCARS_RECKLESS)
|
|
bBikeEscorting = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
//IF IS_ENTITY_IN_ANGLED_AREA(pedImmigrantChase2, <<394.674927,2869.969971,31.988247>>, <<375.853394,2863.012939,47.178463>>, 18.500000)
|
|
|
|
IF bBikeLeftFactory = FALSE
|
|
IF IS_ENTITY_IN_ANGLED_AREA(pedImmigrantChase2, <<350.947235,2857.252686,39.281879>>, <<379.071808,2857.875977,50.558121>>, 21.250000)
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING(pedImmigrant[i],vehChaseCar[i],"Min2_Bike02",DRIVINGMODE_PLOUGHTHROUGH,28,EWAYPOINT_DEFAULT,-1,-1) //10
|
|
//TASK_VEHICLE_ESCORT(pedImmigrantChase2,vehChaseCarChase2,vehChaseCar[i],VEHICLE_ESCORT_REAR,40.0,DRIVINGMODE_PLOUGHTHROUGH,8)
|
|
TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING(pedImmigrantChase2,vehChaseCarChase2,"Min2_Bike02",DRIVINGMODE_PLOUGHTHROUGH,27,EWAYPOINT_DEFAULT,-1,-1) //10
|
|
ENDIF
|
|
ENDIF
|
|
bBikeLeftFactory = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
//IF bBikeLeftFactory = TRUE
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
AND IS_PED_UNINJURED(pedImmigrant[i])
|
|
AND IS_PED_IN_VEHICLE(pedImmigrant[i],vehChaseCar[i])
|
|
AND IS_ENTITY_IN_RANGE_ENTITY(pedImmigrantChase2,pedImmigrant[i],22) //20
|
|
AND GET_VEHICLE_WAYPOINT_PROGRESS(vehChaseCar[i]) > 29
|
|
IF bBikeEscorting = FALSE
|
|
//AND GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_VEHICLE_DRIVE_WANDER) <> PERFORMING_TASK
|
|
TASK_VEHICLE_ESCORT(pedImmigrantChase2,vehChaseCarChase2,vehChaseCar[i],VEHICLE_ESCORT_REAR,40.0,DRIVINGMODE_PLOUGHTHROUGH,fEscortDistance) //10
|
|
bBikeEscorting = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF NOT IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCarChase2)
|
|
//IF GET_VEHICLE_WAYPOINT_PROGRESS(vehChaseCar[i]) > 23
|
|
TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING(pedImmigrantChase2,vehChaseCarChase2,"Min2_Bike02",DRIVINGMODE_PLOUGHTHROUGH,0,EWAYPOINT_START_FROM_CLOSEST_POINT,-1,-1)
|
|
bBikeEscorting = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
/*
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_PERFORM_SEQUENCE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_VEHICLE_DRIVE_WANDER) <> PERFORMING_TASK
|
|
TASK_PERFORM_SEQUENCE(pedImmigrantChase2,seqChase2RouteSECONDPED)
|
|
ENDIF
|
|
*/
|
|
//ENDIF
|
|
|
|
ENDIF
|
|
//ENDIF
|
|
IF bImmigrantChase2OnBike = FALSE
|
|
SET_PED_CAN_RAGDOLL(pedImmigrantChase2,TRUE)
|
|
IF DOES_BLIP_EXIST(blipImmigrantChase2)
|
|
SET_BLIP_SCALE(blipImmigrantChase2,BLIP_SIZE_VEHICLE)
|
|
ENDIF
|
|
bImmigrantChase2OnBike = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_ENTITY_IN_ANGLED_AREA(pedImmigrantChase2, <<1300.488525,1099.818481,101.656265>>, <<1307.387573,1002.332336,113.962875>>, 21.250000)
|
|
OR IS_ENTITY_IN_ANGLED_AREA(pedImmigrant[i], <<1300.488525,1099.818481,101.656265>>, <<1307.387573,1002.332336,113.962875>>, 21.250000)
|
|
bWander = TRUE
|
|
ENDIF
|
|
|
|
//IF IS_VEHICLE_OK(vehChaseCarChase2)
|
|
//IF IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCarChase2)
|
|
//IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
|
|
/*
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2) //Chase 2
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
IF IS_VEHICLE_OK(vehChaseCarChase2)
|
|
IF IS_PED_IN_VEHICLE(pedImmigrant[i],vehChaseCar[i])
|
|
AND IS_PED_IN_VEHICLE(pedImmigrantChase2,vehChaseCarChase2)
|
|
fDistBetweenBikers = GET_DISTANCE_BETWEEN_ENTITIES(pedImmigrant[i],pedImmigrantChase2)
|
|
IF fDistBetweenBikers > 10.0
|
|
iNextCoordPed1 = 0
|
|
fDistBiker1ToNextCoord = GET_DISTANCE_BETWEEN_COORDS(GET_ENTITY_COORDS(pedImmigrant[i]),vChase[iNextCoordPed1])
|
|
fDistBiker2ToNextCoord = GET_DISTANCE_BETWEEN_COORDS(GET_ENTITY_COORDS(pedImmigrantChase2),vChase[iNextCoordPed1])
|
|
IF fDistBiker1ToNextCoord < fDistBiker2ToNextCoord
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(pedImmigrant[i],PLAYER_PED_ID()) < 90
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrant[i],29)
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrantChase2,24)
|
|
ELSE
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrant[i],19)
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrantChase2,14)
|
|
ENDIF
|
|
ELIF fDistBiker1ToNextCoord >= fDistBiker2ToNextCoord
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(pedImmigrantChase2,PLAYER_PED_ID()) < 90
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrantChase2,29)
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrant[i],24)
|
|
ELSE
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrantChase2,19)
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrant[i],14)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF IS_PED_IN_VEHICLE(pedImmigrant[i],vehChaseCar[i])
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(pedImmigrant[i],PLAYER_PED_ID()) > 90
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrant[i],17)
|
|
ELSE
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrant[i],24)
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_IN_VEHICLE(pedImmigrantChase2,vehChaseCarChase2)
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(pedImmigrantChase2,PLAYER_PED_ID()) > 100
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrantChase2,17)
|
|
ELSE
|
|
SET_DRIVE_TASK_CRUISE_SPEED(pedImmigrantChase2,24)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
*/
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF i = 0
|
|
IF bBlokestunned = FALSE
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
SET_ENTITY_LOAD_COLLISION_FLAG(pedImmigrant[i],TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
ELIF i = 1
|
|
IF bBlokestunned = FALSE
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
SET_ENTITY_LOAD_COLLISION_FLAG(pedImmigrant[i],TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
IF bSECONDBlokestunned = FALSE
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
SET_ENTITY_LOAD_COLLISION_FLAG(pedImmigrantChase2,TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Knocks ped off their bike and makes them stagger off
|
|
PROC KnockPedOffBike()
|
|
|
|
REPLAY_RECORD_BACK_FOR_TIME(3.0, 0, REPLAY_IMPORTANCE_LOWEST) //Taking out the alleged illegals (each instance).
|
|
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(pedImmigrant[i],WEAPONTYPE_STUNGUN)
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "+ 1 Ped got stunned off his bike")
|
|
#ENDIF
|
|
++iPedsStunnedOffBike
|
|
IF iPedsStunnedOffBike > 2
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "STATS >>>> Shock and Awe <<<< ")
|
|
#ENDIF
|
|
//IF NOT IS_REPLAY_IN_PROGRESS()
|
|
INFORM_STAT_SYSTEM_OF_BOOL_STAT_HAPPENED(MIN2_STUNNED_ALL)
|
|
//ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
CLEAR_PED_TASKS(pedImmigrant[i])
|
|
|
|
vpedImmigrant[i] = GET_ENTITY_COORDS(pedImmigrant[i])
|
|
|
|
IF IS_PED_IN_ANY_VEHICLE(pedImmigrant[i])
|
|
SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(pedImmigrant[i],KNOCKOFFVEHICLE_EASY)
|
|
KNOCK_PED_OFF_VEHICLE(pedImmigrant[i])
|
|
ENDIF
|
|
|
|
IF DOES_BLIP_EXIST(blipImmigrant[i])
|
|
SET_BLIP_SCALE(blipImmigrant[i],BLIP_SIZE_PED)
|
|
ENDIF
|
|
|
|
SET_ENTITY_PROOFS(pedImmigrant[i],FALSE,FALSE,FALSE,TRUE,FALSE)
|
|
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOE],CA_USE_COVER,FALSE)
|
|
|
|
IF i = 0
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOSEF],CA_USE_COVER,FALSE)
|
|
ENDIF
|
|
|
|
SET_PED_MOVEMENT_CLIPSET(pedImmigrant[i],"MOVE_M@BAIL_BOND_NOT_TAZERED")
|
|
|
|
GET_NTH_CLOSEST_VEHICLE_NODE(GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.pedID[ic_JOE],<<-20.0,0.0,0.0>>),129,vSafeCoord)
|
|
|
|
iGameTimerPed1KnockedOff = GET_GAME_TIMER()
|
|
|
|
IF IS_ENTITY_ALIVE(vehChaseCar[i])
|
|
IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCar[i])
|
|
STOP_PLAYBACK_RECORDED_VEHICLE(vehChaseCar[i])
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF i = 0
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 3, pedImmigrant[0], "MANUEL") //Bullseye! etc
|
|
IF iPedsStunnedOffBike <> 0
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_7", CONV_PRIORITY_LOW)
|
|
ELSE
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_RAM", CONV_PRIORITY_LOW)
|
|
ENDIF
|
|
//IF NOT IS_REPLAY_IN_PROGRESS()
|
|
INFORM_MISSION_STATS_SYSTEM_OF_TIME_WINDOW_CLOSED(FALSE,MIN2_FIRST_CAPTURE)
|
|
//ENDIF
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "STATS >>>> TIME WINDOW CLOSED (First chase) <<<< ")
|
|
#ENDIF
|
|
ENDIF
|
|
IF i = 1
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 4, pedImmigrantChase2, "IMMIGRANTMALE")
|
|
//PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR", "MIN2_SURR_9", CONV_PRIORITY_LOW)
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_9", CONV_PRIORITY_LOW)
|
|
IF bSECONDBlokestunned = FALSE
|
|
iTimerDontLetTheOtherEscape = GET_GAME_TIMER()
|
|
bDialogueDontletTheOtherEscape = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
bBlokestunned = TRUE
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Knocks ped off their bike and makes them stagger off
|
|
PROC KnockSECONDPedOffBike()
|
|
|
|
REPLAY_RECORD_BACK_FOR_TIME(3.0, 0, REPLAY_IMPORTANCE_LOWEST) //Taking out the alleged illegals (each instance).
|
|
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(pedImmigrantChase2,WEAPONTYPE_STUNGUN)
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "+ 1 Ped got stunned off his bike")
|
|
#ENDIF
|
|
++iPedsStunnedOffBike
|
|
IF iPedsStunnedOffBike > 2
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "STATS >>>> Shock and Awe <<<< ")
|
|
#ENDIF
|
|
//IF NOT IS_REPLAY_IN_PROGRESS()
|
|
INFORM_STAT_SYSTEM_OF_BOOL_STAT_HAPPENED(MIN2_STUNNED_ALL)
|
|
//ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
CLEAR_PED_TASKS(pedImmigrantChase2)
|
|
|
|
IF IS_PED_ON_ANY_BIKE(pedImmigrantChase2)
|
|
SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(pedImmigrantChase2,KNOCKOFFVEHICLE_EASY)
|
|
KNOCK_PED_OFF_VEHICLE(pedImmigrantChase2)
|
|
ENDIF
|
|
|
|
IF DOES_BLIP_EXIST(blipImmigrantChase2)
|
|
SET_BLIP_SCALE(blipImmigrantChase2,BLIP_SIZE_PED)
|
|
ENDIF
|
|
|
|
SET_ENTITY_PROOFS(pedImmigrantChase2,FALSE,FALSE,FALSE,TRUE,FALSE)
|
|
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOSEF],CA_USE_COVER,FALSE)
|
|
|
|
SET_PED_MOVEMENT_CLIPSET(pedImmigrantChase2,"MOVE_M@BAIL_BOND_NOT_TAZERED")
|
|
|
|
GET_NTH_CLOSEST_VEHICLE_NODE(GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.pedID[ic_JOSEF],<<-20.0,0.0,0.0>>),97,vSafeCoord)
|
|
|
|
iGameTimerPed2KnockedOff = GET_GAME_TIMER()
|
|
|
|
IF IS_ENTITY_ALIVE(vehChaseCarChase2)
|
|
IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCarChase2)
|
|
STOP_PLAYBACK_RECORDED_VEHICLE(vehChaseCarChase2)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_8", CONV_PRIORITY_LOW)
|
|
|
|
IF bBlokestunned = FALSE
|
|
iTimerDontLetTheOtherEscape = GET_GAME_TIMER()
|
|
bDialogueDontletTheOtherEscape = TRUE
|
|
ENDIF
|
|
|
|
bSECONDBlokestunned = TRUE
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Makes immigrant put his hands up and get in the vehicle
|
|
PROC SetImmigrantChase2HandsUp()
|
|
|
|
CLEAR_PED_TASKS(pedImmigrantChase2)
|
|
//RESET_PED_MOVEMENT_CLIPSET(pedImmigrantChase2)
|
|
/*
|
|
OPEN_SEQUENCE_TASK(seqImmigrantBeCarried)
|
|
TASK_SET_DECISION_MAKER(NULL,DECISION_MAKER_EMPTY)
|
|
TASK_ENTER_VEHICLE(NULL,sRCLauncherDataLocal.vehID[0],-1,VS_BACK_RIGHT,PEDMOVEBLENDRATIO_WALK)
|
|
CLOSE_SEQUENCE_TASK(seqImmigrantBeCarried)
|
|
TASK_PERFORM_SEQUENCE(pedImmigrantChase2,seqImmigrantBeCarried)
|
|
*/
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_PERFORM_SEQUENCE) <> PERFORMING_TASK
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(pedImmigrantChase2,sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_RIGHT,1)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
bImmigrantChase2HandsUp = TRUE
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Makes immigrant put his hands up and get in the vehicle
|
|
PROC SetImmigrantHandsUp()
|
|
|
|
CLEAR_PED_TASKS(pedImmigrant[i])
|
|
//RESET_PED_MOVEMENT_CLIPSET(pedImmigrant[i])
|
|
/*
|
|
OPEN_SEQUENCE_TASK(seqImmigrantBeCarried)
|
|
TASK_SET_DECISION_MAKER(NULL,DECISION_MAKER_EMPTY)
|
|
TASK_ENTER_VEHICLE(NULL,sRCLauncherDataLocal.vehID[0],-1,VS_BACK_RIGHT,PEDMOVEBLENDRATIO_WALK)
|
|
CLOSE_SEQUENCE_TASK(seqImmigrantBeCarried)
|
|
TASK_PERFORM_SEQUENCE(pedImmigrant[i],seqImmigrantBeCarried)
|
|
*/
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_PERFORM_SEQUENCE) <> PERFORMING_TASK
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(pedImmigrant[i],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_RIGHT,1)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
bImmigrantHandsUp = TRUE
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Immigrant got in car so attach in the back
|
|
PROC AttachPedToCar()
|
|
|
|
IF i < 2
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF bpedImmigrantChase2Attached = FALSE
|
|
//CLEAR_PED_TASKS_IMMEDIATELY(pedImmigrant[i])
|
|
vpedImmigrant[i] = GET_ENTITY_COORDS(pedImmigrant[i])
|
|
ELSE
|
|
CLEAR_PED_TASKS(pedImmigrant[i])
|
|
CLEAR_SEQUENCE_TASK(seqChase2Route)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteB)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteC)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteD)
|
|
ENDIF
|
|
//SET_ENTITY_COLLISION(pedImmigrant[i],FALSE)
|
|
SET_PED_CAN_BE_TARGETTED(pedImmigrant[i],FALSE)
|
|
SET_PED_RELATIONSHIP_GROUP_HASH(pedImmigrant[i],GET_PED_RELATIONSHIP_GROUP_HASH(PLAYER_PED_ID()))
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SAFE_REMOVE_BLIP(blipJosef)
|
|
|
|
IF i = 0
|
|
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrant[i])
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(pedImmigrant[i])
|
|
//RESET_PED_MOVEMENT_CLIPSET(pedImmigrant[i])
|
|
//ssClimbToBack_1 = CREATE_SYNCHRONIZED_SCENE(<<0.555,-0.79,0.171>>,<<0,0,0>>)
|
|
ssClimbToBack_1 = CREATE_SYNCHRONIZED_SCENE(<<0,0,0>>,<<0,0,0>>)
|
|
SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(ssClimbToBack_1,TRUE)
|
|
ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssClimbToBack_1,sRCLauncherDataLocal.vehID[0],GET_ENTITY_BONE_INDEX_BY_NAME(sRCLauncherDataLocal.vehID[0], "seat_pside_r"))
|
|
|
|
TASK_SYNCHRONIZED_SCENE(pedImmigrant[i], ssClimbToBack_1, "missminuteman_2ig_1", "entertrunk_manuel", SLOW_BLEND_IN, SLOW_BLEND_OUT,SYNCED_SCENE_DONT_INTERRUPT,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
//SET_SYNCHRONIZED_SCENE_PHASE(ssClimbToBack_1,0.1)
|
|
SET_SYNCHRONIZED_SCENE_RATE(ssClimbToBack_1,2.0)
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedImmigrant[i],TRUE)
|
|
ENDIF
|
|
|
|
IF i = 1
|
|
IF bpedImmigrantChase2Attached = FALSE
|
|
|
|
IF NOT IS_PED_SITTING_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrant[i])
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(pedImmigrant[i])
|
|
//RESET_PED_MOVEMENT_CLIPSET(pedImmigrant[i])
|
|
//ssClimbToBack_2 = CREATE_SYNCHRONIZED_SCENE(<<0.39,-0.8,0.171>>,<<0,0,0>>)
|
|
//ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssClimbToBack_2,sRCLauncherDataLocal.vehID[0],-1)
|
|
ssClimbToBack_2 = CREATE_SYNCHRONIZED_SCENE(<<0,0,0>>,<<0,0,0>>)
|
|
SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(ssClimbToBack_2,TRUE)
|
|
ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssClimbToBack_2,sRCLauncherDataLocal.vehID[0],GET_ENTITY_BONE_INDEX_BY_NAME(sRCLauncherDataLocal.vehID[0], "seat_pside_r"))
|
|
|
|
TASK_SYNCHRONIZED_SCENE(pedImmigrant[i], ssClimbToBack_2, "missminuteman_2ig_1", "entertrunk_josef", SLOW_BLEND_IN, SLOW_BLEND_OUT,SYNCED_SCENE_DONT_INTERRUPT,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
//SET_SYNCHRONIZED_SCENE_PHASE(ssClimbToBack_2,0.06)
|
|
SET_SYNCHRONIZED_SCENE_RATE(ssClimbToBack_2,2.0)
|
|
ELSE
|
|
CLEAR_PED_TASKS(pedImmigrant[i])
|
|
CLEAR_SEQUENCE_TASK(seqChase2Route)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteB)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteC)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteD)
|
|
bDoDelayedClimbInBack = TRUE
|
|
ENDIF
|
|
iSyncPed = 1
|
|
|
|
ENDIF
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedImmigrant[i],TRUE)
|
|
ENDIF
|
|
|
|
IF bDebugSkippedToCementFactory = FALSE
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
IF i = 0
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_FRONT_RIGHT,PEDMOVEBLENDRATIO_RUN)
|
|
ELSE
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_FRONT_RIGHT,PEDMOVEBLENDRATIO_WALK)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF missionStage = MS_UPDATE_CHASE1
|
|
OR missionStage = MS_IMMIGRANT1_APPREHENDED
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF IS_IT_OK_FOR_JOSEF_TO_GET_IN()
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],10.0)
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT,1)
|
|
ELSE
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT,PEDMOVEBLENDRATIO_RUN)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_FOLLOW_NAV_MESH_TO_COORD) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_FOLLOW_NAV_MESH_TO_COORD) <> WAITING_TO_START_TASK
|
|
TASK_FOLLOW_NAV_MESH_TO_COORD(sRCLauncherDataLocal.pedID[ic_JOSEF],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],<<-1.8,-0.2,0>>),1,DEFAULT_TIME_BEFORE_WARP_MINUTE_2,0.5,ENAV_DEFAULT,GET_ENTITY_HEADING(sRCLauncherDataLocal.vehID[0])-90.0)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF i = 0
|
|
bJosefCombatTaskGiven = FALSE
|
|
bJoeCombatTaskGiven = FALSE
|
|
bBlokestunned = FALSE
|
|
bImmigrantHandsUp = FALSE
|
|
bOkForJosefToLeaveCar = FALSE
|
|
bOkForJoeToLeaveCar = FALSE
|
|
bOkToStartChase = FALSE
|
|
bGetCloseMessagePrinted = FALSE
|
|
bImmigrantGettingIntoCar = FALSE
|
|
bEveryoneInCar = FALSE
|
|
iTimesTazed = 0
|
|
bChaseStarted = FALSE
|
|
ENDIF
|
|
|
|
IF i = 0
|
|
TASK_CLEAR_LOOK_AT(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
TASK_CLEAR_LOOK_AT(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
bBloke1AttachedToCar = TRUE
|
|
ENDIF
|
|
|
|
IF i = 1
|
|
TASK_CLEAR_LOOK_AT(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
bBloke2AttachedToCar = TRUE
|
|
IF bSECONDBlokestunned = TRUE
|
|
IF bpedImmigrantChase2Attached = FALSE
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF GET_DISTANCE_BETWEEN_PEDS(pedImmigrantChase2,PLAYER_PED_ID()) > 70.0
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0],TRUE)
|
|
PRINT_NOW("MIN2_31",DEFAULT_GOD_TEXT_TIME,0)
|
|
ELSE
|
|
IF bPrint19 = FALSE
|
|
PRINT_NOW("MIN2_19",DEFAULT_GOD_TEXT_TIME,0)
|
|
bPrint19 = TRUE
|
|
ENDIF
|
|
IF DOES_BLIP_EXIST(blipImmigrant[i])
|
|
SAFE_REMOVE_BLIP(blipImmigrant[i])
|
|
ENDIF
|
|
IF DOES_BLIP_EXIST(blipImmigrantChase2)
|
|
SAFE_REMOVE_BLIP(blipImmigrantChase2)
|
|
ENDIF
|
|
IF NOT DOES_BLIP_EXIST(blipPlayerCar)
|
|
blipPlayerCar = CREATE_VEHICLE_BLIP(sRCLauncherDataLocal.vehID[0])
|
|
ENDIF
|
|
bPlayerNotInCarBetweenCapturingImmigrants = TRUE
|
|
ENDIF
|
|
//PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR", "MIN2_SURR_12", CONV_PRIORITY_LOW,DO_NOT_DISPLAY_SUBTITLES)
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_12", CONV_PRIORITY_LOW,DO_NOT_DISPLAY_SUBTITLES)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF i = 2
|
|
REMOVE_PED_FOR_DIALOGUE(s_conversation_peds, 5)
|
|
ENDIF
|
|
|
|
IF i = 0
|
|
++i
|
|
ENDIF
|
|
|
|
iTimerPlayerNotInCar = GET_GAME_TIMER()
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Immigrant got in car so attach in the back
|
|
PROC AttachSECONDPedToCar()
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF bBloke2AttachedToCar = FALSE
|
|
|
|
IF NOT IS_PED_SITTING_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
PROCESS_ENTITY_ATTACHMENTS(pedImmigrantChase2)
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(pedImmigrantChase2)
|
|
//RESET_PED_MOVEMENT_CLIPSET(pedImmigrantChase2)
|
|
//ssClimbToBack_2 = CREATE_SYNCHRONIZED_SCENE(<<0.39,-0.8,0.171>>,<<0,0,0>>)
|
|
//ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssClimbToBack_2,sRCLauncherDataLocal.vehID[0],-1)
|
|
ssClimbToBack_2 = CREATE_SYNCHRONIZED_SCENE(<<0,0,0>>,<<0,0,0>>)
|
|
ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssClimbToBack_2,sRCLauncherDataLocal.vehID[0],GET_ENTITY_BONE_INDEX_BY_NAME(sRCLauncherDataLocal.vehID[0], "seat_pside_r"))
|
|
|
|
TASK_SYNCHRONIZED_SCENE(pedImmigrantChase2, ssClimbToBack_2, "missminuteman_2ig_1", "entertrunk_josef", SLOW_BLEND_IN, SLOW_BLEND_OUT,SYNCED_SCENE_DONT_INTERRUPT,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
//SET_SYNCHRONIZED_SCENE_PHASE(ssClimbToBack_2,0.06)
|
|
SET_SYNCHRONIZED_SCENE_RATE(ssClimbToBack_2,2.0)
|
|
ELSE
|
|
CLEAR_PED_TASKS(pedImmigrantChase2)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteSECONDPED)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteBSECONDPED)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteCSECONDPED)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteDSECONDPED)
|
|
bDoDelayedClimbInBack = TRUE
|
|
ENDIF
|
|
iSyncPed = 2
|
|
|
|
ELSE
|
|
CLEAR_PED_TASKS(pedImmigrantChase2)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteSECONDPED)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteBSECONDPED)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteCSECONDPED)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteDSECONDPED)
|
|
ENDIF
|
|
SET_PED_CAN_BE_TARGETTED(pedImmigrantChase2,FALSE)
|
|
SET_PED_RELATIONSHIP_GROUP_HASH(pedImmigrantChase2,GET_PED_RELATIONSHIP_GROUP_HASH(PLAYER_PED_ID()))
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedImmigrantChase2,TRUE)
|
|
ENDIF
|
|
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT)
|
|
ENDIF
|
|
|
|
IF i = 1
|
|
IF bBlokestunned = TRUE
|
|
IF bBloke2AttachedToCar = FALSE
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF GET_DISTANCE_BETWEEN_PEDS(pedImmigrant[i],PLAYER_PED_ID()) > 70.0
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0],TRUE)
|
|
PRINT_NOW("MIN2_31",DEFAULT_GOD_TEXT_TIME,0)
|
|
ELSE
|
|
IF bPrint19 = FALSE
|
|
PRINT_NOW("MIN2_19",DEFAULT_GOD_TEXT_TIME,0)
|
|
bPrint19 = TRUE
|
|
ENDIF
|
|
IF DOES_BLIP_EXIST(blipImmigrant[i])
|
|
SAFE_REMOVE_BLIP(blipImmigrant[i])
|
|
ENDIF
|
|
IF DOES_BLIP_EXIST(blipImmigrantChase2)
|
|
SAFE_REMOVE_BLIP(blipImmigrantChase2)
|
|
ENDIF
|
|
IF NOT DOES_BLIP_EXIST(blipPlayerCar)
|
|
blipPlayerCar = CREATE_VEHICLE_BLIP(sRCLauncherDataLocal.vehID[0])
|
|
ENDIF
|
|
bPlayerNotInCarBetweenCapturingImmigrants = TRUE
|
|
ENDIF
|
|
//PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR", "MIN2_SURR_13", CONV_PRIORITY_LOW,DO_NOT_DISPLAY_SUBTITLES)
|
|
//CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_13", CONV_PRIORITY_LOW,DO_NOT_DISPLAY_SUBTITLES)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
bpedImmigrantChase2Attached = TRUE
|
|
|
|
TASK_CLEAR_LOOK_AT(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
|
|
iTimerPlayerNotInCar = GET_GAME_TIMER()
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL ARE_GUYS_IN_CAR_OR_DOING_SCENE()
|
|
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
RETURN TRUE
|
|
ENDIF
|
|
IF IS_SYNCHRONIZED_SCENE_RUNNING(ssPassport)
|
|
RETURN TRUE
|
|
ENDIF
|
|
RETURN FALSE
|
|
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Manage all the blips and objectives
|
|
PROC ManageBlipsAndObjectives()
|
|
|
|
IF missionStage <> MS_DRIVE_TO_END
|
|
AND missionStage <> MS_MISSION_PASSING
|
|
AND missionStage <> MS_MISSION_FAILING
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
SAFE_REMOVE_BLIP(blipPlayerCar)
|
|
ELSE
|
|
IF NOT DOES_BLIP_EXIST(blipPlayerCar)
|
|
blipPlayerCar = CREATE_VEHICLE_BLIP(sRCLauncherDataLocal.vehID[0])
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
SAFE_REMOVE_BLIP(blipJosef)
|
|
ELSE
|
|
IF NOT DOES_BLIP_EXIST(blipJosef)
|
|
blipJosef = CREATE_PED_BLIP(sRCLauncherDataLocal.pedID[ic_JOE],TRUE,TRUE)
|
|
SET_BLIP_SCALE(blipJosef,BLIP_SIZE_PED)
|
|
SET_BLIP_PRIORITY(blipJosef,BLIPPRIORITY_LOW)
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
SAFE_REMOVE_BLIP(blipJoe)
|
|
ELSE
|
|
IF NOT DOES_BLIP_EXIST(blipJoe)
|
|
blipJoe = CREATE_PED_BLIP(sRCLauncherDataLocal.pedID[ic_JOSEF],TRUE,TRUE)
|
|
SET_BLIP_SCALE(blipJoe,BLIP_SIZE_PED)
|
|
SET_BLIP_PRIORITY(blipJoe,BLIPPRIORITY_LOW)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF missionStage = MS_SETUP_MISSION
|
|
OR missionStage = MS_SETUP_CHASE1
|
|
OR missionStage = MS_SETUP_CHASE2
|
|
OR missionStage = MS_SETUP_CHASE3
|
|
|
|
bPlayerAtChaseOnFootMessagePrinted = FALSE
|
|
|
|
SAFE_REMOVE_BLIP(blipImmigrant[0])
|
|
SAFE_REMOVE_BLIP(blipImmigrant[1])
|
|
SAFE_REMOVE_BLIP(blipImmigrant[2])
|
|
|
|
IF DOES_ENTITY_EXIST(pedImmigrant[0])
|
|
//fDistBetweenJosefAndImmigrant = GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
//SAFE_REMOVE_BLIP(blipPlayerCar)
|
|
//IF bBlipCar
|
|
bBlipCar = FALSE
|
|
//ENDIF
|
|
IF ARE_GUYS_IN_CAR_OR_DOING_SCENE()
|
|
//IF bBlipJoe
|
|
bBlipJoe = FALSE
|
|
//ENDIF
|
|
//IF bBlipJosef
|
|
bBlipJosef = FALSE
|
|
//ENDIF
|
|
//SAFE_REMOVE_BLIP(blipJosef)
|
|
//SAFE_REMOVE_BLIP(blipJoe)
|
|
IF bEveryoneInCar = FALSE
|
|
bEveryoneInCar = TRUE
|
|
ENDIF
|
|
IF NOT DOES_BLIP_EXIST(blipLocate[i])
|
|
//CLEAR_PRINTS()
|
|
IF i = 0 //Head towards the trailer park.
|
|
IF bPrint03 = FALSE
|
|
//PRINT_NOW("MIN2_03",7000,0) //Go to locate
|
|
bPrint03 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
IF i = 1 //The next target works at the cement factory.
|
|
IF GET_PLAYER_WANTED_LEVEL(PLAYER_ID()) = 0
|
|
IF bPrint06 = FALSE
|
|
IF bReplayCementFactory = FALSE
|
|
PRINT_NOW("MIN2_06",7000,0)
|
|
bPrint06 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF i = 2 //Head towards the gas station.
|
|
IF bPrint08 = FALSE
|
|
PRINT_NOW("MIN2_08",7000,0)
|
|
bPrint08 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
IF i = 0
|
|
//blipLocate[i] = CREATE_COORD_BLIP(<< 166.3456, 4418.0342, 74.5901 >>)
|
|
ELSE
|
|
IF i = 1
|
|
blipLocate[i] = CREATE_COORD_BLIP(<< 267.2497, 2852.1667, 42.6129 >>)
|
|
ELSE
|
|
vpedImmigrant[i] = GET_ENTITY_COORDS(pedImmigrant[i])
|
|
blipLocate[i] = CREATE_COORD_BLIP(vpedImmigrant[i])
|
|
ENDIF
|
|
ENDIF
|
|
iConvoTimer = GET_GAME_TIMER()
|
|
ENDIF
|
|
ELSE
|
|
SAFE_REMOVE_BLIP(blipLocate[i])
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
//IF bBlipJosef
|
|
bBlipJosef = FALSE
|
|
//ENDIF
|
|
//SAFE_REMOVE_BLIP(blipJosef)
|
|
ELSE
|
|
//IF NOT DOES_BLIP_EXIST(blipJosef)
|
|
IF NOT bBlipJosef
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],TRUE)
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_FRONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
//blipJosef = CREATE_PED_BLIP(sRCLauncherDataLocal.pedID[ic_JOE],TRUE,TRUE)
|
|
//SET_BLIP_SCALE(blipJosef,BLIP_SIZE_PED)
|
|
bBlipJosef = TRUE
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
IF bPrint33 = FALSE
|
|
PRINT_NOW("MIN2_33",7000,0) //Wait for ~b~Joe~s~ to get in the vehicle.
|
|
bPrint33 = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF bPrint29 = FALSE
|
|
PRINT_NOW("MIN2_29",7000,0) //Wait for ~b~Josef~s~ and ~b~Joe~s~ to get in the vehicle.
|
|
bPrint29 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
//OR IS_SYNCHRONIZED_SCENE_RUNNING(ssPassport)
|
|
//IF DOES_BLIP_EXIST(blipJoe)
|
|
// SAFE_REMOVE_BLIP(blipJoe)
|
|
//ENDIF
|
|
//IF bBlipJoe
|
|
bBlipJoe = FALSE
|
|
//ENDIF
|
|
ELSE
|
|
//IF NOT DOES_BLIP_EXIST(blipJoe)
|
|
IF NOT bBlipJoe
|
|
IF IS_IT_OK_FOR_JOSEF_TO_GET_IN()
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
//AND NOT IS_SYNCHRONIZED_SCENE_RUNNING(ssPassport)
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],10.0)
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT,1)
|
|
ELSE
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT,PEDMOVEBLENDRATIO_RUN)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_FOLLOW_NAV_MESH_TO_COORD) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_FOLLOW_NAV_MESH_TO_COORD) <> WAITING_TO_START_TASK
|
|
TASK_FOLLOW_NAV_MESH_TO_COORD(sRCLauncherDataLocal.pedID[ic_JOSEF],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],<<-1.8,-0.2,0>>),1,DEFAULT_TIME_BEFORE_WARP_MINUTE_2,0.5,ENAV_DEFAULT,GET_ENTITY_HEADING(sRCLauncherDataLocal.vehID[0])-90.0)
|
|
ENDIF
|
|
ENDIF
|
|
//blipJoe = CREATE_PED_BLIP(sRCLauncherDataLocal.pedID[ic_JOSEF],TRUE,TRUE)
|
|
//SET_BLIP_SCALE(blipJoe,BLIP_SIZE_PED)
|
|
bBlipJoe = TRUE
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
IF bPrint32 = FALSE
|
|
PRINT_NOW("MIN2_32",7000,0) //Wait for ~b~Josef~s~ to get in the vehicle.
|
|
bPrint32 = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF bPrint29 = FALSE
|
|
PRINT_NOW("MIN2_29",7000,0) //Wait for ~b~Josef~s~ and ~b~Joe~s~ to get in the vehicle.
|
|
bPrint29 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
//SAFE_REMOVE_BLIP(blipJosef)
|
|
//SAFE_REMOVE_BLIP(blipJoe)
|
|
//IF bBlipJoe
|
|
bBlipJoe = FALSE
|
|
//ENDIF
|
|
//IF bBlipJosef
|
|
bBlipJosef = FALSE
|
|
//ENDIF
|
|
SAFE_REMOVE_BLIP(blipLocate[i])
|
|
//IF NOT DOES_BLIP_EXIST(blipPlayerCar)
|
|
IF NOT bBlipCar
|
|
//CLEAR_PRINTS()
|
|
IF bPrint19 = FALSE
|
|
//IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
//AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
//KILL_ANY_CONVERSATION() //Where are you going?
|
|
//PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_CAR", "MIN2_CAR_3", CONV_PRIORITY_MEDIUM,DO_NOT_DISPLAY_SUBTITLES)
|
|
//ENDIF
|
|
PRINT_NOW("MIN2_19",7000,0) //Get back in Josef's Truck
|
|
bPrint19 = TRUE
|
|
ENDIF
|
|
//blipPlayerCar = CREATE_VEHICLE_BLIP(sRCLauncherDataLocal.vehID[0])
|
|
bBlipCar = TRUE
|
|
iTimerPlayerNotInCar = GET_GAME_TIMER()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF missionStage = MS_DRIVE_TO_END
|
|
|
|
bPlayerAtChaseOnFootMessagePrinted = FALSE
|
|
|
|
SAFE_REMOVE_BLIP(blipImmigrant[2])
|
|
SAFE_REMOVE_BLIP(blipImmigrant[1])
|
|
SAFE_REMOVE_BLIP(blipImmigrantChase2)
|
|
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
SAFE_REMOVE_BLIP(blipPlayerCar)
|
|
//IF bBlipCar
|
|
bBlipCar = FALSE
|
|
//ENDIF
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
SAFE_REMOVE_BLIP(blipJosef)
|
|
SAFE_REMOVE_BLIP(blipJoe)
|
|
//IF bBlipJoe
|
|
bBlipJoe = FALSE
|
|
//ENDIF
|
|
//IF bBlipJosef
|
|
bBlipJosef = FALSE
|
|
//ENDIF
|
|
IF NOT DOES_BLIP_EXIST(blipLocate[i])
|
|
bDrivingToMotel = TRUE
|
|
iConvoTimer = GET_GAME_TIMER()
|
|
ENDIF
|
|
ELSE
|
|
SAFE_REMOVE_BLIP(blipLocate[i])
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
SAFE_REMOVE_BLIP(blipJosef)
|
|
//IF bBlipJosef
|
|
bBlipJosef = FALSE
|
|
//ENDIF
|
|
ELSE
|
|
IF NOT DOES_BLIP_EXIST(blipJosef)
|
|
AND NOT bBlipJosef
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_FRONT_RIGHT)
|
|
ENDIF
|
|
blipJosef = CREATE_PED_BLIP(sRCLauncherDataLocal.pedID[ic_JOE],TRUE,TRUE)
|
|
SET_BLIP_SCALE(blipJosef,BLIP_SIZE_PED)
|
|
bBlipJosef = TRUE
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
IF bPrint33 = FALSE
|
|
PRINT_NOW("MIN2_33",7000,0) //Wait for ~b~Joe~s~ to get in the vehicle.
|
|
bPrint33 = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF bPrint29 = FALSE
|
|
PRINT_NOW("MIN2_29",7000,0) //Wait for ~b~Josef~s~ and ~b~Joe~s~ to get in the vehicle.
|
|
bPrint29 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
SAFE_REMOVE_BLIP(blipJoe)
|
|
//IF bBlipJoe
|
|
bBlipJoe = FALSE
|
|
//ENDIF
|
|
ELSE
|
|
IF NOT DOES_BLIP_EXIST(blipJoe)
|
|
AND NOT bBlipJoe
|
|
IF IS_IT_OK_FOR_JOSEF_TO_GET_IN()
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],10.0)
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT,1)
|
|
ELSE
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT,PEDMOVEBLENDRATIO_RUN)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_FOLLOW_NAV_MESH_TO_COORD) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_FOLLOW_NAV_MESH_TO_COORD) <> WAITING_TO_START_TASK
|
|
TASK_FOLLOW_NAV_MESH_TO_COORD(sRCLauncherDataLocal.pedID[ic_JOSEF],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],<<-1.8,-0.2,0>>),1,DEFAULT_TIME_BEFORE_WARP_MINUTE_2,0.5,ENAV_DEFAULT,GET_ENTITY_HEADING(sRCLauncherDataLocal.vehID[0])-90.0)
|
|
ENDIF
|
|
ENDIF
|
|
blipJoe = CREATE_PED_BLIP(sRCLauncherDataLocal.pedID[ic_JOSEF],TRUE,TRUE)
|
|
SET_BLIP_SCALE(blipJoe,BLIP_SIZE_PED)
|
|
bBlipJoe = TRUE
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
IF bPrint32 = FALSE
|
|
PRINT_NOW("MIN2_32",7000,0) //Wait for ~b~Josef~s~ to get in the vehicle.
|
|
bPrint32 = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF bPrint29 = FALSE
|
|
PRINT_NOW("MIN2_29",7000,0) //Wait for ~b~Josef~s~ and ~b~Joe~s~ to get in the vehicle.
|
|
bPrint29 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
//IF bBlipJoe
|
|
bBlipJoe = FALSE
|
|
//ENDIF
|
|
//IF bBlipJosef
|
|
bBlipJosef = FALSE
|
|
//ENDIF
|
|
SAFE_REMOVE_BLIP(blipJosef)
|
|
SAFE_REMOVE_BLIP(blipJoe)
|
|
SAFE_REMOVE_BLIP(blipLocate[i])
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF missionStage = MS_UPDATE_CHASE1
|
|
OR missionStage = MS_UPDATE_CHASE2
|
|
OR missionStage = MS_UPDATE_CHASE3
|
|
|
|
//SAFE_REMOVE_BLIP(blipJosef)
|
|
//SAFE_REMOVE_BLIP(blipJoe)
|
|
|
|
//IF bBlipJoe
|
|
bBlipJoe = FALSE
|
|
//ENDIF
|
|
//IF bBlipJosef
|
|
bBlipJosef = FALSE
|
|
//ENDIF
|
|
|
|
IF i = 0
|
|
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
//SAFE_REMOVE_BLIP(blipPlayerCar)
|
|
//IF bBlipCar
|
|
bBlipCar = FALSE
|
|
//ENDIF
|
|
ELSE
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND bBlokestunned = FALSE
|
|
SAFE_REMOVE_BLIP(blipImmigrant[i])
|
|
SAFE_REMOVE_BLIP(blipImmigrantChase2)
|
|
SAFE_REMOVE_BLIP(blipLocate[i])
|
|
//IF NOT DOES_BLIP_EXIST(blipPlayerCar)
|
|
IF NOT bBlipCar
|
|
IF bPrint19 = FALSE
|
|
PRINT_NOW("MIN2_19",7000,0) //Get back in Josef's Truck
|
|
bPrint19 = TRUE
|
|
ENDIF
|
|
//blipPlayerCar = CREATE_VEHICLE_BLIP(sRCLauncherDataLocal.vehID[0])
|
|
bBlipCar = TRUE
|
|
iTimerPlayerNotInCar = GET_GAME_TIMER()
|
|
bPlayerAtChaseOnFootMessagePrinted = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
iChaseStartedTimerUpdate = GET_GAME_TIMER()
|
|
IF iChaseStartedTimerUpdate > iChaseStartedTimer + 0 //4200
|
|
SAFE_REMOVE_BLIP(blipLocate[i])
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT DOES_BLIP_EXIST(blipImmigrant[i])
|
|
blipImmigrant[i] = CREATE_PED_BLIP(pedImmigrant[i])
|
|
//CLEAR_PRINTS()
|
|
IF bPrint01 = FALSE
|
|
PRINT_NOW("MIN2_01",7000,0) //chase the immigrant
|
|
bPrint01 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
//SAFE_REMOVE_BLIP(blipPlayerCar)
|
|
//IF bBlipCar
|
|
bBlipCar = FALSE
|
|
//ENDIF
|
|
ELSE
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND bBlokestunned = FALSE
|
|
AND bSecondBlokestunned = FALSE
|
|
SAFE_REMOVE_BLIP(blipImmigrant[i])
|
|
SAFE_REMOVE_BLIP(blipImmigrantChase2)
|
|
SAFE_REMOVE_BLIP(blipLocate[i])
|
|
//IF NOT DOES_BLIP_EXIST(blipPlayerCar)
|
|
IF NOT bBlipCar
|
|
IF bPrint19 = FALSE
|
|
PRINT_NOW("MIN2_19",7000,0) //Get back in Josef's Truck
|
|
bPrint19 = TRUE
|
|
ENDIF
|
|
//blipPlayerCar = CREATE_VEHICLE_BLIP(sRCLauncherDataLocal.vehID[0])
|
|
bBlipCar = TRUE
|
|
iTimerPlayerNotInCar = GET_GAME_TIMER()
|
|
bPlayerAtChaseOnFootMessagePrinted = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
//SAFE_REMOVE_BLIP(blipPlayerCar)
|
|
//IF bBlipCar
|
|
bBlipCar = FALSE
|
|
//ENDIF
|
|
ELSE
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND GET_DISTANCE_BETWEEN_PEDS(PLAYER_PED_ID(),sRCLauncherDataLocal.pedID[ic_JOSEF]) > 90.0
|
|
SAFE_REMOVE_BLIP(blipImmigrant[i])
|
|
SAFE_REMOVE_BLIP(blipImmigrantChase2)
|
|
//IF NOT DOES_BLIP_EXIST(blipPlayerCar)
|
|
IF NOT bBlipCar
|
|
IF bPrint42 = FALSE
|
|
//PRINT_NOW("MIN2_42",7000,0) //Get back in Josef's Truck
|
|
bPrint42 = TRUE
|
|
ENDIF
|
|
//blipPlayerCar = CREATE_VEHICLE_BLIP(sRCLauncherDataLocal.vehID[0])
|
|
bBlipCar = TRUE
|
|
iTimerPlayerNotInCar = GET_GAME_TIMER()
|
|
SET_BLIP_AS_FRIENDLY(blipPlayercar,TRUE)
|
|
bPlayerAtChaseOnFootMessagePrinted = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
iChaseStartedTimerUpdate = GET_GAME_TIMER()
|
|
IF iChaseStartedTimerUpdate > iChaseStartedTimer + 0
|
|
SAFE_REMOVE_BLIP(blipLocate[i])
|
|
IF bBloke2AttachedToCar = FALSE
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT DOES_BLIP_EXIST(blipImmigrant[i])
|
|
blipImmigrant[i] = CREATE_PED_BLIP(pedImmigrant[i])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(pedImmigrant[i])
|
|
SET_BLIP_SCALE(blipImmigrant[i],BLIP_SIZE_PED)
|
|
ELSE
|
|
SET_BLIP_SCALE(blipImmigrant[i],BLIP_SIZE_VEHICLE)
|
|
ENDIF
|
|
//CLEAR_PRINTS()
|
|
IF bPrint30 = FALSE
|
|
//PRINT_NOW("MIN2_30",7000,0) //chase the immigrants
|
|
bPrint30 = TRUE
|
|
IF i = 0 //There he is! Get after him! etc
|
|
//PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JOSEF", "MIN2_JOSEF_4", CONV_PRIORITY_VERY_LOW)
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JOSEF_4", CONV_PRIORITY_LOW)
|
|
ELIF i = 1
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 4, pedImmigrantChase2, "IMMIGRANTMALE")
|
|
//PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR", "MIN2_SURR_15", CONV_PRIORITY_VERY_LOW,DO_NOT_DISPLAY_SUBTITLES)
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_15", CONV_PRIORITY_LOW,DO_NOT_DISPLAY_SUBTITLES)
|
|
ELIF i = 2
|
|
//PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JOSEF", "MIN2_JOSEF_6", CONV_PRIORITY_VERY_LOW,DO_NOT_DISPLAY_SUBTITLES)
|
|
ENDIF
|
|
ENDIF
|
|
IF bPlayerNotInCarBetweenCapturingImmigrants = TRUE
|
|
IF bPrint31 = FALSE
|
|
PRINT_NOW("MIN2_31",7000,0) //Go back and pick up the ~r~questionable.
|
|
bPrint31 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF NOT DOES_BLIP_EXIST(blipImmigrant[i])
|
|
IF bPlayerNotInCarBetweenCapturingImmigrants = FALSE
|
|
IF bPlayerAtChaseOnFootMessagePrinted = FALSE
|
|
IF bPrint39 = FALSE
|
|
PRINT_NOW("MIN2_39",7000,0) //The Immigrants are escaping! Get in the ~b~vehicle.
|
|
bPrint39 = TRUE
|
|
ENDIF
|
|
bPlayerAtChaseOnFootMessagePrinted = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ELSE
|
|
SAFE_REMOVE_BLIP(blipImmigrant[i])
|
|
ENDIF
|
|
|
|
IF i = 1
|
|
IF bpedImmigrantChase2Attached = FALSE
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT DOES_BLIP_EXIST(blipImmigrantChase2)
|
|
blipImmigrantChase2 = CREATE_PED_BLIP(pedImmigrantChase2)
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(pedImmigrantChase2)
|
|
SET_BLIP_SCALE(blipImmigrantChase2,BLIP_SIZE_PED)
|
|
ELSE
|
|
SET_BLIP_SCALE(blipImmigrantChase2,BLIP_SIZE_VEHICLE)
|
|
ENDIF
|
|
IF bPlayerNotInCarBetweenCapturingImmigrants = TRUE
|
|
IF bPrint31 = FALSE
|
|
PRINT_NOW("MIN2_31",7000,0) //Go back and pick up the ~r~questionable.
|
|
bPrint31 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
SAFE_REMOVE_BLIP(blipImmigrantChase2)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: AI for Joe and Josef during chase 1
|
|
PROC Chase1JJAI()
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
|
|
fDistBetweenJosefAndImmigrant = GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i])
|
|
IF missionStage = MS_UPDATE_CHASE2
|
|
OR missionStage = MS_JOSEF_PICKED_UP_IMMIGRANT2
|
|
fDistBetweenJoeAndImmigrant = GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2)
|
|
ELSE
|
|
fDistBetweenJoeAndImmigrant = GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i])
|
|
ENDIF
|
|
IF bGetCloseMessagePrinted = FALSE
|
|
IF bBlokestunned = FALSE
|
|
IF GET_GAME_TIMER() > iChaseStartedTimer + 20000
|
|
IF fDistBetweenJosefAndImmigrant < 50.0
|
|
IF i = 0 //get me close so i can taze the bastard
|
|
TEXT_LABEL_23 root = GET_CURRENTLY_PLAYING_STANDARD_CONVERSATION_ROOT()
|
|
IF ARE_STRINGS_EQUAL(root,"MIN2_JJ1")
|
|
OR ARE_STRINGS_EQUAL(root,"MIN2_JJ4")
|
|
KILL_FACE_TO_FACE_CONVERSATION()
|
|
ENDIF
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
//IF PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JOSEF", "MIN2_JOSEF_2", CONV_PRIORITY_VERY_LOW)
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JOSEF_2", CONV_PRIORITY_LOW)
|
|
bGetCloseMessagePrinted = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF i = 1
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
bGetCloseMessagePrinted = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bBlokestunned = FALSE
|
|
IF fDistBetweenJosefAndImmigrant > 200.0
|
|
IF bGettingAwayMessagePrinted = FALSE
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF i = 0
|
|
IF GET_GAME_TIMER() > iTimerChase1Started + 12000
|
|
IF bPrint18 = FALSE
|
|
//PRINT_NOW("MIN2_18",7000,0) //The immigrant is getting away
|
|
bPrint18 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF bBlokestunned = FALSE
|
|
AND bSECONDBlokestunned = FALSE
|
|
IF bPrint37 = FALSE
|
|
//PRINT_NOW("MIN2_37",7000,0) //The immigrants are getting away
|
|
bPrint37 = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF GET_GAME_TIMER() > iTimerChase1Started + 12000
|
|
IF bPrint18 = FALSE
|
|
//PRINT_NOW("MIN2_18",7000,0) //The immigrant is getting away
|
|
bPrint18 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
//iGameTimer = GET_GAME_TIMER()
|
|
bGettingAwayMessagePrinted = TRUE
|
|
ELSE
|
|
//iGameTimerUpdate = GET_GAME_TIMER()
|
|
//IF iGameTimerUpdate > (iGameTimer + 20000)
|
|
IF fDistBetweenJosefAndImmigrant > 300.0//260.0
|
|
IF i = 0
|
|
sFailReason = "MIN2_43"
|
|
ELSE
|
|
IF bBlokestunned = FALSE
|
|
AND bSECONDBlokestunned = FALSE
|
|
sFailReason = "MIN2_35"
|
|
ELSE
|
|
sFailReason = "MIN2_23"
|
|
ENDIF
|
|
ENDIF
|
|
missionStage = MS_MISSION_FAILING
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
ELSE
|
|
bGettingAwayMessagePrinted = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bBlokestunned = FALSE
|
|
IF fDistBetweenJosefAndImmigrant < 9.0 //josef taze ped if within 10 meters otherwise clear tasks
|
|
AND IS_PED_IN_ANY_VEHICLE(pedImmigrant[i])
|
|
IF bJosefCombatTaskGiven = FALSE
|
|
//TASK_COMBAT_PED(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i])
|
|
TASK_DRIVE_BY(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i],NULL,<<0,0,0>>,10,100)
|
|
IF IS_PED_ON_ANY_BIKE(pedImmigrant[i])
|
|
SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(pedImmigrant[i],KNOCKOFFVEHICLE_EASY)
|
|
ENDIF
|
|
bJosefCombatTaskGiven = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF bJosefCombatTaskGiven = TRUE
|
|
OR GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_COMBAT) = PERFORMING_TASK
|
|
OR IS_PED_IN_COMBAT(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i])
|
|
CLEAR_PED_TASKS(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
bJosefCombatTaskGiven = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF fDistBetweenJosefAndImmigrant >= 40.0
|
|
CLEAR_PED_TASKS(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
ENDIF
|
|
ENDIF
|
|
IF missionStage = MS_UPDATE_CHASE2
|
|
OR missionStage = MS_JOSEF_PICKED_UP_IMMIGRANT2
|
|
/*
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF bSECONDBlokestunned = FALSE
|
|
IF fDistBetweenJoeAndImmigrant < 9.0
|
|
IF bJoeCombatTaskGiven = FALSE
|
|
//TASK_COMBAT_PED(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2)
|
|
TASK_DRIVE_BY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2,NULL,<<0,0,0>>,10,100)
|
|
IF IS_PED_ON_ANY_BIKE(pedImmigrantChase2)
|
|
SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(pedImmigrantChase2,KNOCKOFFVEHICLE_EASY)
|
|
ENDIF
|
|
bJoeCombatTaskGiven = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF bJoeCombatTaskGiven = TRUE
|
|
CLEAR_PED_TASKS(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
bJoeCombatTaskGiven = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
bImmigrantDied = TRUE
|
|
ENDIF
|
|
*/
|
|
ELSE
|
|
IF bBlokestunned = FALSE
|
|
IF fDistBetweenJoeAndImmigrant < 9.0
|
|
AND IS_PED_IN_ANY_VEHICLE(pedImmigrant[i])
|
|
IF bJoeCombatTaskGiven = FALSE
|
|
//TASK_COMBAT_PED(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i])
|
|
TASK_DRIVE_BY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i],NULL,<<0,0,0>>,10,100)
|
|
bJoeCombatTaskGiven = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF bJoeCombatTaskGiven = TRUE
|
|
OR GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_COMBAT) = PERFORMING_TASK
|
|
OR IS_PED_IN_COMBAT(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i])
|
|
CLEAR_PED_TASKS(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
bJoeCombatTaskGiven = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF fDistBetweenJoeAndImmigrant >= 40.0
|
|
CLEAR_PED_TASKS(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF bBlokestunned = FALSE
|
|
//IF CAN_PED_RAGDOLL(pedImmigrant[i])
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(pedImmigrant[i],WEAPONTYPE_STUNGUN)
|
|
OR HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(vehChaseCar[i],sRCLauncherDataLocal.vehID[0])
|
|
//vNodeSwitch1 = GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER_PED_ID(),<<0,-70,0>>)
|
|
//vNodeSwitch2 = GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER_PED_ID(),<<0,70,0>>)
|
|
//SET_ROADS_IN_ANGLED_AREA(vNodeSwitch1,vNodeSwitch2,140,FALSE,FALSE)
|
|
KnockPedOffBike() //Knock ped off bike if he gets tazed
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
IF missionStage = MS_UPDATE_CHASE2
|
|
OR missionStage = MS_JOSEF_PICKED_UP_IMMIGRANT2
|
|
IF bSECONDBlokestunned = FALSE
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(pedImmigrantChase2,WEAPONTYPE_STUNGUN)
|
|
KnockSECONDPedOffBike() //Knock ped off bike if he gets tazed
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF bBlokestunned = FALSE
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
IF GET_GAME_TIMER() > iTimerChase1Started + 15000
|
|
IF NOT IS_PED_IN_VEHICLE(pedImmigrant[i],vehChaseCar[i])
|
|
//IF CAN_PED_RAGDOLL(pedImmigrant[i])
|
|
IF bFirstImmigrantFleeing = FALSE
|
|
//vNodeSwitch2 = GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER_PED_ID(),<<0,-70,0>>)
|
|
//vNodeSwitch2 = GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER_PED_ID(),<<0,70,0>>)
|
|
//SET_ROADS_IN_ANGLED_AREA(vNodeSwitch1,vNodeSwitch2,140,FALSE,FALSE)
|
|
KnockPedOffBike() //Knock ped off bike if he gets rammed by player's car
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bBlokestunned = TRUE
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(pedImmigrant[i],WEAPONTYPE_STUNGUN)
|
|
CPRINTLN(DEBUG_MISSION, "IMMIGRANT DAMAGED BY STUNGUN")
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrant[i],sRCLauncherDataLocal.pedID[ic_JOSEF],FALSE)
|
|
CPRINTLN(DEBUG_MISSION, "IMMIGRANT DAMAGED BY JOSEF")
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
++iTimesTazed
|
|
ENDIF
|
|
ENDIF
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrant[i],sRCLauncherDataLocal.pedID[ic_JOE],FALSE)
|
|
CPRINTLN(DEBUG_MISSION, "IMMIGRANT DAMAGED BY JOE")
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
++iTimesTazed
|
|
ENDIF
|
|
ENDIF
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),FALSE)
|
|
CPRINTLN(DEBUG_MISSION, "IMMIGRANT DAMAGED BY PLAYER")
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(PLAYER_PED_ID())
|
|
++iTimesTazed
|
|
ENDIF
|
|
ENDIF
|
|
CLEAR_PED_LAST_WEAPON_DAMAGE(pedImmigrant[i])
|
|
ENDIF
|
|
IF bImmigrantHandsUp = FALSE
|
|
iGameTimerPed1KnockedOffUpdate = GET_GAME_TIMER()
|
|
IF iGameTimerPed1KnockedOffUpdate > iGameTimerPed1KnockedOff + 4000
|
|
SET_ENTITY_PROOFS(pedImmigrant[i],FALSE,FALSE,FALSE,FALSE,FALSE)
|
|
ENDIF
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(PLAYER_PED_ID())
|
|
IF HAS_PLAYER_THREATENED_PED(pedImmigrant[i])
|
|
IF iTimesTazed = 0
|
|
++iTimesTazed
|
|
ENDIF
|
|
SetImmigrantHandsUp()
|
|
ENDIF
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),FALSE)
|
|
fDistBetweenPlayerAndImmigrant = GET_DISTANCE_BETWEEN_ENTITIES(PLAYER_PED_ID(),pedImmigrant[i])
|
|
IF fDistBetweenPlayerAndImmigrant < 9.0
|
|
IF iTimesTazed > 0
|
|
SetImmigrantHandsUp()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF fDistBetweenJosefAndImmigrant < 7.0
|
|
IF iTimesTazed > 0
|
|
SetImmigrantHandsUp() //Hands up
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF fDistBetweenJoeAndImmigrant < 7.0
|
|
IF iTimesTazed > 0
|
|
SetImmigrantHandsUp() //Hands up
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF missionStage = MS_UPDATE_CHASE2
|
|
OR missionStage = MS_JOSEF_PICKED_UP_IMMIGRANT2
|
|
IF bSECONDBlokestunned = TRUE
|
|
IF bImmigrantChase2HandsUp = FALSE
|
|
IF GET_GAME_TIMER() > iChaseStartedTimer + 4000
|
|
SET_ENTITY_PROOFS(pedImmigrantChase2,FALSE,FALSE,FALSE,FALSE,FALSE)
|
|
ENDIF
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(PLAYER_PED_ID())
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrantChase2,PLAYER_PED_ID(),FALSE)
|
|
fDistBetweenPlayerAndImmigrant = GET_DISTANCE_BETWEEN_ENTITIES(PLAYER_PED_ID(),pedImmigrantChase2)
|
|
IF fDistBetweenPlayerAndImmigrant < 9.0
|
|
SetImmigrantChase2HandsUp()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF fDistBetweenJoeAndImmigrant < 7.0
|
|
SetImmigrantChase2HandsUp() //Hands up
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: AI for Josef when he's on foot
|
|
PROC JosefOnFoot()
|
|
|
|
FLOAT fAimGoTo
|
|
FLOAT fAimRange
|
|
|
|
IF missionStage = MS_UPDATE_CHASE2
|
|
OR missionStage = MS_JOSEF_PICKED_UP_IMMIGRANT2
|
|
fAimGoTo = 2.2
|
|
fAimRange = 3.5
|
|
ELSE
|
|
fAimGoTo = 4.5
|
|
fAimRange = 6.0
|
|
ENDIF
|
|
|
|
IF bBlokestunned = TRUE
|
|
IF IS_PED_SITTING_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
IF GET_ENTITY_SPEED(sRCLauncherDataLocal.vehID[0]) < 0.1
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i]) < 40.0
|
|
iTimerJoeLeftCar = GET_GAME_TIMER()
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_GO_TO_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_GO_TO_ENTITY) <> WAITING_TO_START_TASK
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOE], CA_USE_VEHICLE, FALSE)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOE], CA_DO_DRIVEBYS, FALSE)
|
|
TASK_LOOK_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i],-1)
|
|
TASK_GO_TO_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i])
|
|
//IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF i <> 0
|
|
//PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR", "MIN2_SURR_5", CONV_PRIORITY_MEDIUM) //Don't make me use the stun gun again!
|
|
//CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_5", CONV_PRIORITY_VERY_HIGH)
|
|
IF iShoutSurr5 <> 1
|
|
KILL_FACE_TO_FACE_CONVERSATION()
|
|
ENDIF
|
|
iShoutSurr5 = 1
|
|
ENDIF
|
|
//ENDIF
|
|
bOkForJosefToLeaveCar = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bOkForJosefToLeaveCar = TRUE
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF iShoutSurr5 = 1
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_5", CONV_PRIORITY_VERY_HIGH)
|
|
iShoutSurr5 = 2
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF bImmigrantHandsUp = FALSE
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i]) < 6.0
|
|
AND CAN_PED_SEE_PED(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i])
|
|
IF NOT IS_PED_BEING_STUNNED(pedImmigrant[i])
|
|
OR IS_PED_GETTING_UP(pedImmigrant[i])
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_COMBAT) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_COMBAT) <> WAITING_TO_START_TASK
|
|
iTimerJoeLeftCar = GET_GAME_TIMER()
|
|
TASK_COMBAT_PED(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i],COMBAT_PED_PREVENT_CHANGING_TARGET)
|
|
//TASK_SHOOT_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i],-1,FIRING_TYPE_DEFAULT)
|
|
ENDIF
|
|
ELSE
|
|
IF IS_PED_SITTING_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_LEAVE_ANY_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_LEAVE_ANY_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_LEAVE_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
iTimerJoeLeftCar = GET_GAME_TIMER()
|
|
TASK_AIM_GUN_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i],-1)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_COMBAT) = PERFORMING_TASK
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i]) > 9.0
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_GO_TO_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_GO_TO_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i])
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_GO_TO_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_GO_TO_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i])
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ANY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ANY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i])
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_COMBAT) = PERFORMING_TASK
|
|
CLEAR_PED_TASKS(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
ENDIF
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i]) < fAimRange
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i]) < 1.6
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
//IF NOT IS_PED_FACING_PED(pedImmigrant[i],sRCLauncherDataLocal.pedID[ic_JOE],90)
|
|
TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.pedID[ic_JOE],<<0.0,-4.5,0.0>>),pedImmigrant[i],2.0,FALSE,2.5)
|
|
//ELSE
|
|
//IF NOT IS_POSITION_OCCUPIED(GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(pedImmigrant[i],<<4.5,0.0,0.0>>),3,FALSE,TRUE,TRUE,FALSE,FALSE)
|
|
// TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(pedImmigrant[i],<<4.5,0.0,0.0>>),pedImmigrant[i],1.0,FALSE,2.5)
|
|
//ELSE
|
|
// TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(pedImmigrant[i],<<-4.5,0.0,0.0>>),pedImmigrant[i],1.0,FALSE,2.5)
|
|
//ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_AIM_GUN_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i],-1)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i],pedImmigrant[i],PEDMOVEBLENDRATIO_WALK,FALSE,fAimGoTo)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_PLAYER_BLOCKING_DOOR()
|
|
IF NOT IS_PED_SITTING_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
AND IS_ENTITY_AT_COORD(PLAYER_PED_ID(),GET_WORLD_POSITION_OF_ENTITY_BONE(sRCLauncherDataLocal.vehID[0],14),<<1.5,1.5,1.5>>)
|
|
RETURN TRUE
|
|
ENDIF
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: AI for Joe when he's on foot
|
|
PROC JoeOnFoot()
|
|
|
|
FLOAT fJosefMBR
|
|
|
|
IF missionStage = MS_UPDATE_CHASE2
|
|
OR missionStage = MS_JOSEF_PICKED_UP_IMMIGRANT2
|
|
|
|
IF bSECONDBlokestunned = TRUE
|
|
IF IS_PED_SITTING_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
IF bOkForJoeToLeaveCar = FALSE
|
|
IF GET_ENTITY_SPEED(sRCLauncherDataLocal.vehID[0]) < 0.1
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2) < 40.0
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY) <> WAITING_TO_START_TASK
|
|
//AND NOT IS_POSITION_OCCUPIED(GET_WORLD_POSITION_OF_ENTITY_BONE(sRCLauncherDataLocal.vehID[0],14),2.5,FALSE,FALSE,TRUE,FALSE,FALSE,pedImmigrantChase2)
|
|
AND NOT IS_PLAYER_BLOCKING_DOOR()
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOSEF], CA_USE_VEHICLE, FALSE)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOSEF], CA_DO_DRIVEBYS, FALSE)
|
|
TASK_LOOK_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2,-1)
|
|
TASK_GO_TO_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2)
|
|
//IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
//PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR", "MIN2_SURR_3", CONV_PRIORITY_MEDIUM) //Nenutte me pouzit paralyzer znovu!
|
|
//CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_3", CONV_PRIORITY_VERY_HIGH)
|
|
//ENDIF
|
|
IF iShoutSurr3 <> 1
|
|
KILL_FACE_TO_FACE_CONVERSATION()
|
|
ENDIF
|
|
iShoutSurr3 = 1
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
bOkForJoeToLeaveCar = TRUE
|
|
ENDIF
|
|
|
|
IF bOkForJoeToLeaveCar = TRUE
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF iShoutSurr3 = 1
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_3", CONV_PRIORITY_VERY_HIGH)
|
|
iShoutSurr3 = 2
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF bImmigrantChase2HandsUp = FALSE
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2) < 6.0
|
|
AND CAN_PED_SEE_PED(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2)
|
|
IF NOT IS_PED_BEING_STUNNED(pedImmigrantChase2)
|
|
OR IS_PED_GETTING_UP(pedImmigrantChase2)
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_COMBAT) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_COMBAT) <> WAITING_TO_START_TASK
|
|
TASK_COMBAT_PED(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2,COMBAT_PED_PREVENT_CHANGING_TARGET)
|
|
//TASK_SHOOT_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2,-1,FIRING_TYPE_DEFAULT)
|
|
ENDIF
|
|
ELSE
|
|
IF IS_PED_SITTING_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_LEAVE_ANY_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_LEAVE_ANY_VEHICLE) <> WAITING_TO_START_TASK
|
|
//AND NOT IS_POSITION_OCCUPIED(GET_WORLD_POSITION_OF_ENTITY_BONE(sRCLauncherDataLocal.vehID[0],14),2.5,FALSE,FALSE,TRUE,FALSE,FALSE,pedImmigrantChase2)
|
|
AND NOT IS_PLAYER_BLOCKING_DOOR()
|
|
TASK_LEAVE_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_AIM_GUN_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2,-1)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_COMBAT) = PERFORMING_TASK
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2) > 9.0
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ANY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ANY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2)
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_COMBAT) = PERFORMING_TASK
|
|
CLEAR_PED_TASKS(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
ENDIF
|
|
/*
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2) < 6.0
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2) < 1.6
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
//IF NOT IS_PED_FACING_PED(pedImmigrantChase2,sRCLauncherDataLocal.pedID[ic_JOSEF],90)
|
|
TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.pedID[ic_JOSEF],<<0.0,-4.5,0.0>>),pedImmigrantChase2,2.0,FALSE,2.5)
|
|
//ELSE
|
|
//IF NOT IS_POSITION_OCCUPIED(GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(pedImmigrantChase2,<<4.5,0.0,0.0>>),3,FALSE,TRUE,TRUE,FALSE,FALSE)
|
|
// TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(pedImmigrantChase2,<<4.5,0.0,0.0>>),pedImmigrant[i],1.0,FALSE,2.5)
|
|
//ELSE
|
|
// TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(pedImmigrantChase2,<<-4.5,0.0,0.0>>),pedImmigrant[i],1.0,FALSE,2.5)
|
|
//ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_AIM_GUN_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2,-1)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2,pedImmigrantChase2,PEDMOVEBLENDRATIO_WALK,FALSE,4.5)
|
|
ENDIF
|
|
ENDIF
|
|
*/
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2) < 3.0//9.0
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2) < 1.4
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.pedID[ic_JOSEF],<<0.0,-4.5,0.0>>),pedImmigrantChase2,2.0,FALSE,2.5)
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_AIM_GUN_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2,-1)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2) < 9.0
|
|
fJosefMBR = 1.0
|
|
ELSE
|
|
fJosefMBR = 2.0
|
|
ENDIF
|
|
TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2,pedImmigrantChase2,fJosefMBR,FALSE,2.0) //4.5
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF bBlokestunned = TRUE
|
|
IF IS_PED_SITTING_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
IF GET_ENTITY_SPEED(sRCLauncherDataLocal.vehID[0]) < 0.1
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i]) < 40.0
|
|
IF bOkForJosefToLeaveCar = TRUE
|
|
IF GET_GAME_TIMER() > iTimerJoeLeftCar + 400 //200
|
|
TASK_LOOK_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i],-1)
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY) <> WAITING_TO_START_TASK
|
|
//AND NOT IS_POSITION_OCCUPIED(GET_WORLD_POSITION_OF_ENTITY_BONE(sRCLauncherDataLocal.vehID[0],14),2.5,FALSE,FALSE,TRUE,FALSE,FALSE,pedImmigrant[i])
|
|
AND NOT IS_PLAYER_BLOCKING_DOOR()
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOSEF], CA_USE_VEHICLE, FALSE)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOSEF], CA_DO_DRIVEBYS, FALSE)
|
|
TASK_GO_TO_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i],-1)
|
|
//IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
//PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR", "MIN2_SURR_1", CONV_PRIORITY_MEDIUM) //Ziskat do auta fuckermother!
|
|
//CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_1", CONV_PRIORITY_VERY_HIGH)
|
|
//ENDIF
|
|
IF iShoutSurr1 <> 1
|
|
KILL_FACE_TO_FACE_CONVERSATION()
|
|
ENDIF
|
|
iShoutSurr1 = 1
|
|
bOkForJoeToLeaveCar = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bOkForJoeToLeaveCar = TRUE
|
|
IF bImmigrantHandsUp = FALSE
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF iShoutSurr1 = 1
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_1", CONV_PRIORITY_VERY_HIGH)
|
|
iShoutSurr1 = 2
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i]) < 9//7.0
|
|
AND CAN_PED_SEE_PED(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i])
|
|
IF NOT IS_PED_BEING_STUNNED(pedImmigrant[i])
|
|
OR IS_PED_GETTING_UP(pedImmigrant[i])
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_COMBAT) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_COMBAT) <> WAITING_TO_START_TASK
|
|
TASK_COMBAT_PED(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i],COMBAT_PED_PREVENT_CHANGING_TARGET)
|
|
//TASK_SHOOT_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i],-1,FIRING_TYPE_DEFAULT)
|
|
ENDIF
|
|
ELSE
|
|
IF IS_PED_SITTING_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_LEAVE_ANY_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_LEAVE_ANY_VEHICLE) <> WAITING_TO_START_TASK
|
|
AND GET_ENTITY_SPEED(sRCLauncherDataLocal.vehID[0]) < 0.1
|
|
//AND NOT IS_POSITION_OCCUPIED(GET_WORLD_POSITION_OF_ENTITY_BONE(sRCLauncherDataLocal.vehID[0],14),2.5,FALSE,FALSE,TRUE,FALSE,FALSE,pedImmigrant[i])
|
|
AND NOT IS_PLAYER_BLOCKING_DOOR()
|
|
TASK_LEAVE_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],1200)
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_AIM_GUN_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i],-1)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_COMBAT) = PERFORMING_TASK
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i]) > 11//9.0
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i],DEFAULT_TIME_BEFORE_WARP_MINUTE_2)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i],DEFAULT_TIME_BEFORE_WARP_MINUTE_2)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ANY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ANY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i])
|
|
ENDIF
|
|
ELSE
|
|
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_COMBAT) = PERFORMING_TASK
|
|
CLEAR_PED_TASKS(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
ENDIF
|
|
/*
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.pedID[ic_JOE]) < 9
|
|
AND GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i]) < 9
|
|
AND NOT IS_PED_BEING_STUNNED(pedImmigrant[i])
|
|
AND NOT IS_PED_RAGDOLL(pedImmigrant[i])
|
|
AND NOT IS_PED_GETTING_UP(pedImmigrant[i])
|
|
AND GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0]) > 5.0
|
|
AND GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0]) < 15.0
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i]) < 1.6
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.pedID[ic_JOSEF],<<0.0,-4.5,0.0>>),pedImmigrant[i],2.0,FALSE,2.5)
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],pedImmigrant[i],1,FALSE,4)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
*/
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i]) < 3.5//9.0
|
|
OR IS_PED_IN_VEHICLE(pedImmigrant[0],sRCLauncherDataLocal.vehID[0],TRUE)
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i]) < 1.4//1.6
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.pedID[ic_JOSEF],<<0.0,-4.5,0.0>>),pedImmigrant[i],2.0,FALSE,2.5)
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_AIM_GUN_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
TASK_AIM_GUN_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i],-1)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY) <> WAITING_TO_START_TASK
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i]) < 9.0
|
|
fJosefMBR = 1.0
|
|
ELSE
|
|
fJosefMBR = 2.0
|
|
ENDIF
|
|
TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrant[i],pedImmigrant[i],fJosefMBR,FALSE,2.7) //4.5
|
|
ENDIF
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: AI for Josef during chase 2
|
|
PROC Chase2JosefAi()
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrant[1])
|
|
|
|
fDistBetweenJosefAndImmigrant = GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[1])
|
|
|
|
IF bBlokestunned = FALSE
|
|
IF fDistBetweenJosefAndImmigrant < 9.0 //josef taze ped if within 10 meters otherwise clear tasks
|
|
IF bJosefCombatTaskGiven = FALSE
|
|
//TASK_COMBAT_PED(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[1])
|
|
TASK_DRIVE_BY(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[1],NULL,<<0,0,0>>,9,100)
|
|
IF IS_PED_ON_ANY_BIKE(pedImmigrant[1])
|
|
SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(pedImmigrant[1],KNOCKOFFVEHICLE_EASY)
|
|
ENDIF
|
|
bJosefCombatTaskGiven = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF bJosefCombatTaskGiven = TRUE
|
|
CLEAR_PED_TASKS(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
bJosefCombatTaskGiven = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF fDistBetweenJosefAndImmigrant >= 40.0
|
|
CLEAR_PED_TASKS(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bBlokestunned = FALSE
|
|
IF fDistBetweenJosefAndImmigrant > 220.0
|
|
IF bGettingAwayMessagePrinted = FALSE
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF i = 0
|
|
IF GET_GAME_TIMER() > iTimerChase1Started + 12000
|
|
IF bPrint18 = FALSE
|
|
//PRINT_NOW("MIN2_18",7000,0) //The immigrant is getting away
|
|
bPrint18 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF bBlokestunned = FALSE
|
|
AND bSECONDBlokestunned = FALSE
|
|
IF bPrint37 = FALSE
|
|
//PRINT_NOW("MIN2_37",7000,0) //The immigrants are getting away
|
|
bPrint37 = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF GET_GAME_TIMER() > iTimerChase1Started + 12000
|
|
IF bPrint18 = FALSE
|
|
//PRINT_NOW("MIN2_18",7000,0) //The immigrant is getting away
|
|
bPrint18 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
//iGameTimer = GET_GAME_TIMER()
|
|
bGettingAwayMessagePrinted = TRUE
|
|
ELSE
|
|
//iGameTimerUpdate = GET_GAME_TIMER()
|
|
//IF iGameTimerUpdate > (iGameTimer + 20000)
|
|
IF fDistBetweenJosefAndImmigrant > 300.0
|
|
IF i = 0
|
|
sFailReason = "MIN2_43"
|
|
ELSE
|
|
IF bBlokestunned = FALSE
|
|
AND bSECONDBlokestunned = FALSE
|
|
sFailReason = "MIN2_35"
|
|
ELSE
|
|
sFailReason = "MIN2_23"
|
|
ENDIF
|
|
ENDIF
|
|
missionStage = MS_MISSION_FAILING
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
ELSE
|
|
bGettingAwayMessagePrinted = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bBlokestunned = FALSE
|
|
//IF CAN_PED_RAGDOLL(pedImmigrant[i])
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(pedImmigrant[1],WEAPONTYPE_STUNGUN)
|
|
KnockPedOffBike() //Knock ped off bike if he gets tazed
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
|
|
IF bBlokestunned = FALSE
|
|
//IF CAN_PED_RAGDOLL(pedImmigrant[i])
|
|
IF IS_VEHICLE_OK(vehChaseCar[1])
|
|
IF NOT IS_PED_IN_VEHICLE(pedImmigrant[1],vehChaseCar[1])
|
|
IF bFirstImmigrantFleeing = FALSE
|
|
KnockPedOffBike() //Knock ped off bike if he gets rammed by player's car
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
|
|
IF bBlokestunned = TRUE
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(pedImmigrant[i],WEAPONTYPE_STUNGUN)
|
|
CPRINTLN(DEBUG_MISSION, "IMMIGRANT DAMAGED BY STUNGUN")
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrant[i],sRCLauncherDataLocal.pedID[ic_JOSEF],FALSE)
|
|
CPRINTLN(DEBUG_MISSION, "IMMIGRANT DAMAGED BY JOSEF")
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
++iTimesTazed
|
|
ENDIF
|
|
ENDIF
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrant[i],sRCLauncherDataLocal.pedID[ic_JOE],FALSE)
|
|
CPRINTLN(DEBUG_MISSION, "IMMIGRANT DAMAGED BY JOE")
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
++iTimesTazed
|
|
ENDIF
|
|
ENDIF
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),FALSE)
|
|
CPRINTLN(DEBUG_MISSION, "IMMIGRANT DAMAGED BY PLAYER")
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(PLAYER_PED_ID())
|
|
++iTimesTazed
|
|
ENDIF
|
|
ENDIF
|
|
CLEAR_PED_LAST_WEAPON_DAMAGE(pedImmigrant[i])
|
|
ENDIF
|
|
IF bImmigrantHandsUp = FALSE
|
|
iGameTimerPed1KnockedOffUpdate = GET_GAME_TIMER()
|
|
IF iGameTimerPed1KnockedOffUpdate > iGameTimerPed1KnockedOff + 4000
|
|
SET_ENTITY_PROOFS(pedImmigrant[1],FALSE,FALSE,FALSE,FALSE,FALSE)
|
|
ENDIF
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(PLAYER_PED_ID())
|
|
IF HAS_PLAYER_THREATENED_PED(pedImmigrant[i])
|
|
IF iTimesTazed = 0
|
|
++iTimesTazed
|
|
ENDIF
|
|
SetImmigrantHandsUp()
|
|
ENDIF
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),FALSE)
|
|
fDistBetweenPlayerAndImmigrant = GET_DISTANCE_BETWEEN_ENTITIES(PLAYER_PED_ID(),pedImmigrant[1])
|
|
IF fDistBetweenPlayerAndImmigrant < 9.0
|
|
IF iTimesTazed > 0
|
|
SetImmigrantHandsUp()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF fDistBetweenJosefAndImmigrant < 7.0
|
|
IF iTimesTazed > 0
|
|
SetImmigrantHandsUp() //Hands up
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: AI for Joe during chase 2
|
|
PROC Chase2JoeAi()
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
|
|
fDistBetweenJoeAndImmigrant = GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2)
|
|
|
|
IF bSECONDBlokestunned = FALSE
|
|
IF fDistBetweenJoeAndImmigrant < 9.0 //joe taze ped if within 10 meters otherwise clear tasks
|
|
IF bJoeCombatTaskGiven = FALSE
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "~~~~~~~~~JOSEF SHOULD DO DRIVEBY~~~~~~~~~")
|
|
#ENDIF
|
|
|
|
//TASK_COMBAT_PED(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2)
|
|
TASK_DRIVE_BY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2,NULL,<<0,0,0>>,10,100)
|
|
IF IS_PED_ON_ANY_BIKE(pedImmigrantChase2)
|
|
SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(pedImmigrantChase2,KNOCKOFFVEHICLE_EASY)
|
|
ENDIF
|
|
bJoeCombatTaskGiven = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF bJoeCombatTaskGiven = TRUE
|
|
CLEAR_PED_TASKS(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
bJoeCombatTaskGiven = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF fDistBetweenJoeAndImmigrant >= 40.0
|
|
CLEAR_PED_TASKS(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bSECONDBlokestunned = FALSE
|
|
IF fDistBetweenJoeAndImmigrant > 220.0
|
|
IF bSecondGettingAwayMessagePrinted = FALSE
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF i = 0
|
|
IF GET_GAME_TIMER() > iTimerChase1Started + 12000
|
|
IF bPrint18 = FALSE
|
|
//PRINT_NOW("MIN2_18",7000,0) //The immigrant is getting away
|
|
bPrint18 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF bBlokestunned = FALSE
|
|
AND bSECONDBlokestunned = FALSE
|
|
IF bPrint37 = FALSE
|
|
//PRINT_NOW("MIN2_37",7000,0) //The immigrants are getting away
|
|
bPrint37 = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF bPrint18 = FALSE
|
|
//PRINT_NOW("MIN2_18",7000,0) //The immigrant is getting away
|
|
bPrint18 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
//iGameTimerSecondPedGettingAway = GET_GAME_TIMER()
|
|
bSecondGettingAwayMessagePrinted = TRUE
|
|
ELSE
|
|
//iGameTimerSecondPedGettingAwayUpdate = GET_GAME_TIMER()
|
|
//IF iGameTimerSecondPedGettingAwayUpdate > (iGameTimerSecondPedGettingAway + 20000)
|
|
IF fDistBetweenJoeAndImmigrant > 300.0
|
|
IF i = 0
|
|
sFailReason = "MIN2_43"
|
|
ELSE
|
|
IF bBlokestunned = FALSE
|
|
AND bSECONDBlokestunned = FALSE
|
|
sFailReason = "MIN2_35"
|
|
ELSE
|
|
sFailReason = "MIN2_23"
|
|
ENDIF
|
|
ENDIF
|
|
missionStage = MS_MISSION_FAILING
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
ELSE
|
|
bSecondGettingAwayMessagePrinted = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bSECONDBlokestunned = FALSE
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(pedImmigrantChase2,WEAPONTYPE_STUNGUN)
|
|
KnockSECONDPedOffBike() //Knock ped off bike if he gets tazed
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bSECONDBlokestunned = FALSE
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF NOT IS_PED_IN_VEHICLE(pedImmigrantChase2,vehChaseCarChase2)
|
|
IF bImmigrantChase2Fleeing = FALSE
|
|
KnockSECONDPedOffBike() //Knock ped off bike if he gets rammed by player's car
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bSECONDBlokestunned = TRUE
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(pedImmigrantChase2,WEAPONTYPE_STUNGUN)
|
|
CPRINTLN(DEBUG_MISSION, "IMMIGRANT DAMAGED BY STUNGUN")
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrantChase2,sRCLauncherDataLocal.pedID[ic_JOSEF],FALSE)
|
|
CPRINTLN(DEBUG_MISSION, "IMMIGRANT DAMAGED BY JOSEF")
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
++iTimesTazedSECONDPED
|
|
ENDIF
|
|
ENDIF
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrantChase2,sRCLauncherDataLocal.pedID[ic_JOE],FALSE)
|
|
CPRINTLN(DEBUG_MISSION, "IMMIGRANT DAMAGED BY JOE")
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
++iTimesTazedSECONDPED
|
|
ENDIF
|
|
ENDIF
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrantChase2,PLAYER_PED_ID(),FALSE)
|
|
CPRINTLN(DEBUG_MISSION, "IMMIGRANT DAMAGED BY PLAYER")
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(PLAYER_PED_ID())
|
|
++iTimesTazedSECONDPED
|
|
ENDIF
|
|
ENDIF
|
|
CLEAR_PED_LAST_WEAPON_DAMAGE(pedImmigrantChase2)
|
|
ENDIF
|
|
IF bImmigrantChase2HandsUp = FALSE
|
|
iGameTimerPed2KnockedOffUpdate = GET_GAME_TIMER()
|
|
IF iGameTimerPed2KnockedOffUpdate > iGameTimerPed2KnockedOff + 4000
|
|
SET_ENTITY_PROOFS(pedImmigrantChase2,FALSE,FALSE,FALSE,FALSE,FALSE)
|
|
ENDIF
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(PLAYER_PED_ID())
|
|
IF HAS_PLAYER_THREATENED_PED(pedImmigrantChase2)
|
|
IF iTimesTazedSECONDPED = 0
|
|
++iTimesTazedSECONDPED
|
|
ENDIF
|
|
SetImmigrantChase2HandsUp()
|
|
ENDIF
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrantChase2,PLAYER_PED_ID(),FALSE)
|
|
fDistBetweenPlayerAndImmigrant = GET_DISTANCE_BETWEEN_ENTITIES(PLAYER_PED_ID(),pedImmigrantChase2)
|
|
IF fDistBetweenPlayerAndImmigrant < 9.0
|
|
IF iTimesTazedSECONDPED > 0
|
|
SetImmigrantChase2HandsUp()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF fDistBetweenJoeAndImmigrant < 7.0
|
|
IF iTimesTazedSECONDPED > 0
|
|
SetImmigrantChase2HandsUp() //Hands up
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Manage Immigrant while he gets in the vehicle
|
|
PROC ImmigrantGetInTruck()
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
//SET_PED_MOVE_RATE_OVERRIDE(pedImmigrant[i],1.15)
|
|
IF IS_PED_SITTING_IN_VEHICLE(pedImmigrant[i],sRCLauncherDataLocal.vehID[0])
|
|
AttachPedToCar()
|
|
EXIT
|
|
ENDIF
|
|
IF bBloke2AttachedToCar = FALSE
|
|
fDistBetweenCarAndMigrant = GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.vehID[0],pedImmigrant[i])
|
|
IF fDistBetweenCarAndMigrant < 40
|
|
OR IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrant[i],40)
|
|
IF iPedKneeling = 0
|
|
//IF fDistBetweenCarAndMigrant < 2.5
|
|
//IF IS_ENTITY_IN_RANGE_COORDS(pedImmigrant[i],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],<<1.5,0,0>>),3)
|
|
IF IS_PED_RAGDOLL(pedImmigrant[i])
|
|
OR IS_PED_GETTING_UP(pedImmigrant[i])
|
|
OR IS_PED_BEING_STUNNED(pedImmigrant[i])
|
|
iTimerPed1Ragdoll = GET_GAME_TIMER()
|
|
ENDIF
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],sRCLauncherDataLocal.vehID[0],4.5)
|
|
OR GET_GAME_TIMER() > iTimerPed1Ragdoll + 2500
|
|
SET_PED_MOVEMENT_CLIPSET(pedImmigrant[i],"MOVE_M@BAIL_BOND_TAZERED")
|
|
IF IS_ENTITY_PLAYING_ANIM(pedImmigrant[i],"rcmminute2","arrest_walk")
|
|
STOP_ANIM_TASK(pedImmigrant[i],"rcmminute2","arrest_walk",-2)
|
|
TASK_PLAY_ANIM(pedImmigrant[i],"rcmminute2","handsup_exit",REALLY_SLOW_BLEND_IN,SLOW_BLEND_OUT,-1,AF_SECONDARY | AF_UPPERBODY,0.3)
|
|
//KILL_ANY_CONVERSATION()
|
|
ENDIF
|
|
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],sRCLauncherDataLocal.vehID[0],3)
|
|
AND IS_PED_IN_VEHICLE(pedImmigrant[i],sRCLauncherDataLocal.vehID[0],TRUE)
|
|
KILL_ANY_CONVERSATION()
|
|
ENDIF
|
|
|
|
IF bImmigrantGettingIntoCar = FALSE
|
|
/*
|
|
CLEAR_PED_TASKS(pedImmigrant[i])
|
|
OPEN_SEQUENCE_TASK(seqImmigrantBeCarried)
|
|
TASK_SET_DECISION_MAKER(NULL,DECISION_MAKER_EMPTY)
|
|
TASK_ENTER_VEHICLE(NULL,sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_RIGHT,PEDMOVEBLENDRATIO_WALK)
|
|
CLOSE_SEQUENCE_TASK(seqImmigrantBeCarried)
|
|
TASK_PERFORM_SEQUENCE(pedImmigrant[i],seqImmigrantBeCarried)
|
|
*/
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_PERFORM_SEQUENCE) <> PERFORMING_TASK
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(pedImmigrant[i],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_RIGHT,1)
|
|
ENDIF
|
|
ENDIF
|
|
bImmigrantGettingIntoCar = TRUE
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_PERFORM_SEQUENCE) <> PERFORMING_TASK
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(pedImmigrant[i],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_RIGHT,1)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
SET_PED_MOVEMENT_CLIPSET(pedImmigrant[i],"MOVE_M@BAIL_BOND_NOT_TAZERED")
|
|
IF IS_PED_GETTING_UP(pedImmigrant[i])
|
|
IF bPed1GettingUp = FALSE
|
|
IF IS_ENTITY_PLAYING_ANIM(pedImmigrant[i],"rcmminute2","arrest_walk")
|
|
STOP_ANIM_TASK(pedImmigrant[i],"rcmminute2","arrest_walk",NORMAL_BLEND_OUT)
|
|
ENDIF
|
|
iTimerPed1GettingUp = GET_GAME_TIMER()
|
|
bPed1GettingUp = TRUE
|
|
ELSE
|
|
IF GET_GAME_TIMER() > iTimerPed1GettingUp + 3100//1400
|
|
IF NOT IS_PED_RAGDOLL(pedImmigrant[i])
|
|
//AND NOT IS_PED_BEING_STUNNED(pedImmigrant[i],WEAPONTYPE_STUNGUN)
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrant[i],"rcmminute2","arrest_walk")
|
|
IF NOT IS_PED_PERFORMING_STEALTH_KILL(PLAYER_PED_ID())
|
|
TASK_PLAY_ANIM(pedImmigrant[i], "rcmminute2","arrest_walk", 1.4, NORMAL_BLEND_OUT, -1, AF_SECONDARY| AF_UPPERBODY | AF_LOOPING | AF_TAG_SYNC_CONTINUOUS)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF NOT IS_PED_RAGDOLL(pedImmigrant[i])
|
|
AND NOT IS_PED_BEING_STUNNED(pedImmigrant[i],WEAPONTYPE_STUNGUN)
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrant[i],"rcmminute2","arrest_walk")
|
|
IF NOT IS_PED_PERFORMING_STEALTH_KILL(PLAYER_PED_ID())
|
|
TASK_PLAY_ANIM(pedImmigrant[i], "rcmminute2","arrest_walk", 1.4, NORMAL_BLEND_OUT, -1, AF_SECONDARY| AF_UPPERBODY | AF_LOOPING | AF_TAG_SYNC_CONTINUOUS)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
bPed1GettingUp = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_SITTING_IN_VEHICLE(pedImmigrant[i],sRCLauncherDataLocal.vehID[0])
|
|
iPed1getIn = 1000
|
|
ENDIF
|
|
IF IS_PED_IN_VEHICLE(pedImmigrant[i],sRCLauncherDataLocal.vehID[0],TRUE)
|
|
++iPed1getIn
|
|
IF i <> 0
|
|
OR iPed1getIn > 80
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],TRUE)
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
IF i = 0
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],15.0)
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_FRONT_RIGHT,PEDMOVEBLENDRATIO_WALK)
|
|
ELSE
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_FRONT_RIGHT,PEDMOVEBLENDRATIO_RUN)
|
|
ENDIF
|
|
ELSE
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_FRONT_RIGHT,PEDMOVEBLENDRATIO_WALK)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF iPed1getIn > 20
|
|
AND i = 0
|
|
AND NOT IS_PED_INJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],TRUE)
|
|
IF IS_IT_OK_FOR_JOSEF_TO_GET_IN()
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],10.0)
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT,1)
|
|
ELSE
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT,PEDMOVEBLENDRATIO_RUN)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_FOLLOW_NAV_MESH_TO_COORD) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_FOLLOW_NAV_MESH_TO_COORD) <> WAITING_TO_START_TASK
|
|
TASK_FOLLOW_NAV_MESH_TO_COORD(sRCLauncherDataLocal.pedID[ic_JOSEF],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],<<-1.8,-0.2,0>>),1,DEFAULT_TIME_BEFORE_WARP_MINUTE_2,0.5,ENAV_DEFAULT,GET_ENTITY_HEADING(sRCLauncherDataLocal.vehID[0])-90.0)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iPedKneeling = 1
|
|
IF fDistBetweenCarAndMigrant < 20
|
|
OR IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrant[i],20)
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrant[i],"rcmminute2","kneeling_arrest_get_up")
|
|
TASK_PLAY_ANIM(pedImmigrant[i], "rcmminute2","kneeling_arrest_get_up", FAST_BLEND_IN, -2, -1)
|
|
iPedKneeling = 2
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iPedKneeling = 2
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrant[i],"rcmminute2","kneeling_arrest_get_up")
|
|
//OR GET_ENTITY_ANIM_CURRENT_TIME(pedImmigrant[i],"rcmminute2","kneeling_arrest_get_up") > 0.9
|
|
TASK_PLAY_ANIM(pedImmigrant[i], "rcmminute2","arrest_walk", 2, NORMAL_BLEND_OUT, -1, AF_SECONDARY| AF_UPPERBODY | AF_LOOPING | AF_TAG_SYNC_CONTINUOUS)
|
|
TASK_ENTER_VEHICLE(pedImmigrant[i],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_RIGHT,1.2)
|
|
iPedKneeling = 0
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF NOT IS_PED_RAGDOLL(pedImmigrant[i])
|
|
AND NOT IS_PED_BEING_STUNNED(pedImmigrant[i],WEAPONTYPE_STUNGUN)
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrant[i],"rcmminute2","kneeling_arrest_idle")
|
|
CLEAR_PED_TASKS(pedImmigrant[i])
|
|
TASK_PLAY_ANIM(pedImmigrant[i], "rcmminute2","kneeling_arrest_idle", 2, FAST_BLEND_OUT, -1, AF_LOOPING)
|
|
IF iPedKneeling <> 1
|
|
KILL_ANY_CONVERSATION()
|
|
ENDIF
|
|
iPedKneeling = 1
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Manage Immigrant while he gets in the vehicle
|
|
PROC ImmigrantChase2GetInTruck()
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
//SET_PED_MOVE_RATE_OVERRIDE(pedImmigrantChase2,1.15)
|
|
IF IS_PED_SITTING_IN_VEHICLE(pedImmigrantChase2,sRCLauncherDataLocal.vehID[0])
|
|
AttachSECONDPedToCar()
|
|
EXIT
|
|
ENDIF
|
|
IF bpedImmigrantChase2Attached = FALSE
|
|
fDistBetweenCarAndMigrant = GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.vehID[0],pedImmigrantChase2)
|
|
IF fDistBetweenCarAndMigrant < 40
|
|
OR IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrantChase2,40)
|
|
IF iPed2Kneeling = 0
|
|
//IF fDistBetweenCarAndMigrant < 2.5
|
|
//IF IS_ENTITY_IN_RANGE_COORDS(pedImmigrantChase2,GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],<<1.5,0,0>>),3)
|
|
IF IS_PED_RAGDOLL(pedImmigrantChase2)
|
|
OR IS_PED_GETTING_UP(pedImmigrantChase2)
|
|
OR IS_PED_BEING_STUNNED(pedImmigrantChase2)
|
|
iTimerPed2Ragdoll = GET_GAME_TIMER()
|
|
ENDIF
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(pedImmigrantChase2,sRCLauncherDataLocal.vehID[0],4.5)
|
|
OR GET_GAME_TIMER() > iTimerPed2Ragdoll + 2500
|
|
SET_PED_MOVEMENT_CLIPSET(pedImmigrantChase2,"MOVE_M@BAIL_BOND_TAZERED")
|
|
IF IS_ENTITY_PLAYING_ANIM(pedImmigrantChase2,"rcmminute2","arrest_walk")
|
|
STOP_ANIM_TASK(pedImmigrantChase2,"rcmminute2","arrest_walk",-2)
|
|
TASK_PLAY_ANIM(pedImmigrantChase2,"rcmminute2","handsup_exit",REALLY_SLOW_BLEND_IN,SLOW_BLEND_OUT,-1,AF_SECONDARY | AF_UPPERBODY,0.3)
|
|
//KILL_ANY_CONVERSATION()
|
|
ENDIF
|
|
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(pedImmigrantChase2,sRCLauncherDataLocal.vehID[0],3)
|
|
AND IS_PED_IN_VEHICLE(pedImmigrantChase2,sRCLauncherDataLocal.vehID[0],TRUE)
|
|
KILL_ANY_CONVERSATION()
|
|
ENDIF
|
|
|
|
IF bImmigrantChase2GettingIntoCar = FALSE
|
|
/*
|
|
CLEAR_PED_TASKS(pedImmigrantChase2)
|
|
OPEN_SEQUENCE_TASK(seqImmigrantBeCarried)
|
|
TASK_SET_DECISION_MAKER(NULL,DECISION_MAKER_EMPTY)
|
|
TASK_ENTER_VEHICLE(NULL,sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_RIGHT,PEDMOVEBLENDRATIO_WALK)
|
|
CLOSE_SEQUENCE_TASK(seqImmigrantBeCarried)
|
|
TASK_PERFORM_SEQUENCE(pedImmigrantChase2,seqImmigrantBeCarried)
|
|
*/
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_PERFORM_SEQUENCE) <> PERFORMING_TASK
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(pedImmigrantChase2,sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_RIGHT,1)
|
|
ENDIF
|
|
ENDIF
|
|
bImmigrantChase2GettingIntoCar = TRUE
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_PERFORM_SEQUENCE) <> PERFORMING_TASK
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(pedImmigrantChase2,sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_RIGHT,1)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF IS_PED_GETTING_UP(pedImmigrantChase2)
|
|
IF bPed2GettingUp = FALSE
|
|
IF IS_ENTITY_PLAYING_ANIM(pedImmigrantChase2,"rcmminute2","arrest_walk")
|
|
STOP_ANIM_TASK(pedImmigrantChase2,"rcmminute2","arrest_walk",NORMAL_BLEND_OUT)
|
|
ENDIF
|
|
iTimerPed2GettingUp = GET_GAME_TIMER()
|
|
bPed2GettingUp = TRUE
|
|
ELSE
|
|
IF GET_GAME_TIMER() > iTimerPed2GettingUp + 3100//1400
|
|
IF NOT IS_PED_RAGDOLL(pedImmigrantChase2)
|
|
//AND NOT IS_PED_BEING_STUNNED(pedImmigrantChase2,WEAPONTYPE_STUNGUN)
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrantChase2,"rcmminute2","arrest_walk")
|
|
IF NOT IS_PED_PERFORMING_STEALTH_KILL(PLAYER_PED_ID())
|
|
TASK_PLAY_ANIM(pedImmigrantChase2, "rcmminute2","arrest_walk", 1.4, NORMAL_BLEND_OUT, -1, AF_SECONDARY| AF_UPPERBODY | AF_LOOPING | AF_TAG_SYNC_CONTINUOUS)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF NOT IS_PED_RAGDOLL(pedImmigrantChase2)
|
|
AND NOT IS_PED_BEING_STUNNED(pedImmigrantChase2,WEAPONTYPE_STUNGUN)
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrantChase2,"rcmminute2","arrest_walk")
|
|
IF NOT IS_PED_PERFORMING_STEALTH_KILL(PLAYER_PED_ID())
|
|
TASK_PLAY_ANIM(pedImmigrantChase2, "rcmminute2","arrest_walk", 1.4, NORMAL_BLEND_OUT, -1, AF_SECONDARY| AF_UPPERBODY | AF_LOOPING | AF_TAG_SYNC_CONTINUOUS)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
bPed2GettingUp = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_IN_VEHICLE(pedImmigrantChase2,sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT,1.2)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iPed2Kneeling = 1
|
|
IF fDistBetweenCarAndMigrant < 20
|
|
OR IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrantChase2,20)
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrantChase2,"rcmminute2","kneeling_arrest_get_up")
|
|
TASK_PLAY_ANIM(pedImmigrantChase2, "rcmminute2","kneeling_arrest_get_up", FAST_BLEND_IN, -2, -1)
|
|
iPed2Kneeling = 2
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iPed2Kneeling = 2
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrantChase2,"rcmminute2","kneeling_arrest_get_up")
|
|
//OR GET_ENTITY_ANIM_CURRENT_TIME(pedImmigrantChase2,"rcmminute2","kneeling_arrest_get_up") > 0.9
|
|
TASK_PLAY_ANIM(pedImmigrantChase2, "rcmminute2","arrest_walk", 2, NORMAL_BLEND_OUT, -1, AF_SECONDARY| AF_UPPERBODY | AF_LOOPING | AF_TAG_SYNC_CONTINUOUS)
|
|
TASK_ENTER_VEHICLE(pedImmigrantChase2,sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_RIGHT,1.4)
|
|
iPed2Kneeling = 0
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF NOT IS_PED_RAGDOLL(pedImmigrantChase2)
|
|
AND NOT IS_PED_BEING_STUNNED(pedImmigrantChase2,WEAPONTYPE_STUNGUN)
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(pedImmigrantChase2,"rcmminute2","kneeling_arrest_idle")
|
|
CLEAR_PED_TASKS(pedImmigrantChase2)
|
|
TASK_PLAY_ANIM(pedImmigrantChase2, "rcmminute2","kneeling_arrest_idle", 2, FAST_BLEND_OUT, -1, AF_LOOPING)
|
|
IF iPed2Kneeling <> 1
|
|
KILL_ANY_CONVERSATION()
|
|
ENDIF
|
|
iPed2Kneeling = 1
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Josef Throws Manuel's papers out the window
|
|
PROC JosefThrowPapers()
|
|
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF iSeqJosefThrowPapers = 0
|
|
IF NOT DOES_ENTITY_EXIST(ObjPapers)
|
|
ObjPapers = CREATE_OBJECT_NO_OFFSET(Prop_Passport_01, GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],<<-1.8,-0.3,0.7>>))
|
|
ATTACH_ENTITY_TO_ENTITY(ObjPapers, sRCLauncherDataLocal.pedID[ic_JOSEF], GET_PED_BONE_INDEX(sRCLauncherDataLocal.pedID[ic_JOSEF], BONETAG_PH_R_HAND), <<0,0,0>>, <<0,0,0>>, TRUE, TRUE)
|
|
OPEN_SEQUENCE_TASK(seqJosefThrowPapers)
|
|
TASK_PLAY_ANIM(NULL,"rcmminute2","intro_90_l",SLOW_BLEND_IN,SLOW_BLEND_OUT,-1,AF_UPPERBODY)
|
|
TASK_PLAY_ANIM(NULL,"rcmminute2","outro_90_l",SLOW_BLEND_IN,SLOW_BLEND_OUT,-1,AF_UPPERBODY)
|
|
CLOSE_SEQUENCE_TASK(seqJosefThrowPapers)
|
|
TASK_PERFORM_SEQUENCE(sRCLauncherDataLocal.pedID[ic_JOSEF],seqJosefThrowPapers)
|
|
iSeqJosefThrowPapers = 1
|
|
ENDIF
|
|
ELIF iSeqJosefThrowPapers = 1
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_PERFORM_SEQUENCE) = PERFORMING_TASK
|
|
IF GET_SEQUENCE_PROGRESS(sRCLauncherDataLocal.pedID[ic_JOSEF]) = 1
|
|
DETACH_ENTITY(ObjPapers)
|
|
iSeqJosefThrowPapers = 2
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL ARE_ANY_IN_CAR_PRINTS_BEING_DISPLAYED()
|
|
|
|
IF IS_THIS_PRINT_BEING_DISPLAYED("MIN2_COPS")
|
|
OR IS_THIS_PRINT_BEING_DISPLAYED("MIN2_47")
|
|
OR IS_THIS_PRINT_BEING_DISPLAYED("MIN2_48")
|
|
OR IS_THIS_PRINT_BEING_DISPLAYED("MIN2_31")
|
|
OR IS_THIS_PRINT_BEING_DISPLAYED("MIN2_01")
|
|
OR IS_THIS_PRINT_BEING_DISPLAYED("MIN2_49")
|
|
OR IS_THIS_PRINT_BEING_DISPLAYED("MIN2_06")
|
|
OR IS_THIS_PRINT_BEING_DISPLAYED("MIN2_08")
|
|
OR IS_THIS_PRINT_BEING_DISPLAYED("MIN2_33")
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Manage conversations
|
|
PROC Convo()
|
|
|
|
IF IS_ENTITY_ALIVE(sRCLauncherDataLocal.vehID[0])
|
|
AND DOES_BLIP_EXIST(blipPlayerCar)
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_PED_HEADTRACKING_PED(sRCLauncherDataLocal.pedID[ic_JOE],PLAYER_PED_ID())
|
|
TASK_LOOK_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],PLAYER_PED_ID(),-1)
|
|
ENDIF
|
|
IF NOT IS_PED_HEADTRACKING_PED(sRCLauncherDataLocal.pedID[ic_JOSEF],PLAYER_PED_ID())
|
|
TASK_LOOK_AT_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],PLAYER_PED_ID(),-1)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF DOES_BLIP_EXIST(blipLocate[i])
|
|
IF NOT bDialogueOkLetsGo
|
|
IF iConvoGetBackInCar <> 0
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_06")
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_CAR3", CONV_PRIORITY_MEDIUM) //So unprofessional!
|
|
bDialogueOkLetsGo = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_CAR3", CONV_PRIORITY_MEDIUM,DO_NOT_DISPLAY_SUBTITLES)
|
|
bDialogueOkLetsGo = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
bDialogueOkLetsGo = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_ENTITY_ALIVE(sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
AND DOES_BLIP_EXIST(blipLocate[i])
|
|
IF iConvo >= 4
|
|
IF iDialogueWrongWay = 0
|
|
vStorePlayerPosForWrongWayDialogue = GET_ENTITY_COORDS(PLAYER_PED_ID())
|
|
iDialogueWrongWay = 1
|
|
ELSE
|
|
IF iDialogueWrongWay < 4 //I said the cement factory, where are you going?
|
|
IF GET_DISTANCE_BETWEEN_COORDS(GET_ENTITY_COORDS(PLAYER_PED_ID()),<< 267.2497, 2852.1667, 42.6129 >>) >
|
|
GET_DISTANCE_BETWEEN_COORDS(vStorePlayerPosForWrongWayDialogue,<< 267.2497, 2852.1667, 42.6129 >>) + 200.0
|
|
IF NOT ARE_ANY_IN_CAR_PRINTS_BEING_DISPLAYED()
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_WRONG", CONV_PRIORITY_MEDIUM)
|
|
++iDialogueWrongWay
|
|
vStorePlayerPosForWrongWayDialogue = GET_ENTITY_COORDS(PLAYER_PED_ID())
|
|
ENDIF
|
|
ELSE
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_WRONG", CONV_PRIORITY_MEDIUM,DO_NOT_DISPLAY_SUBTITLES)
|
|
++iDialogueWrongWay
|
|
vStorePlayerPosForWrongWayDialogue = GET_ENTITY_COORDS(PLAYER_PED_ID())
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF GET_GAME_TIMER() > iTimerDialogueStopping + 9000
|
|
IF iDialogueStopping < 3
|
|
IF GET_ENTITY_SPEED(sRCLauncherDataLocal.vehID[0]) < 0.1
|
|
IF NOT ARE_ANY_IN_CAR_PRINTS_BEING_DISPLAYED()
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_STOP", CONV_PRIORITY_MEDIUM)
|
|
++iDialogueStopping
|
|
iTimerDialogueStopping = GET_GAME_TIMER() + GET_RANDOM_INT_IN_RANGE(2000,4000)
|
|
ENDIF
|
|
ELSE
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_STOP", CONV_PRIORITY_MEDIUM,DO_NOT_DISPLAY_SUBTITLES)
|
|
++iDialogueStopping
|
|
iTimerDialogueStopping = GET_GAME_TIMER() + GET_RANDOM_INT_IN_RANGE(2000,4000)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF GET_GAME_TIMER() > iTimerDialogueCrashed + 15000
|
|
IF iDialogueCrashed < 6
|
|
IF HAS_ENTITY_COLLIDED_WITH_ANYTHING(sRCLauncherDataLocal.vehID[0])
|
|
/*
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_CRASH", CONV_PRIORITY_MEDIUM,DO_NOT_DISPLAY_SUBTITLES)
|
|
++iDialogueCrashed
|
|
iTimerDialogueCrashed = GET_GAME_TIMER() + GET_RANDOM_INT_IN_RANGE(2000,4000)
|
|
ENDIF
|
|
*/
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF NOT IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
iTimerDialogueStopping = GET_GAME_TIMER() + 5000
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF missionStage = MS_IMMIGRANT1_APPREHENDED
|
|
IF bImmigrantHandsUp = TRUE
|
|
IF bConvoImmigrantManuelGiveUp = FALSE //I'm fucking legal man!
|
|
IF IS_PED_UNINJURED(pedImmigrant[0])
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrant[0],50)
|
|
AND IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[0],20)
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_CC1", CONV_PRIORITY_MEDIUM)
|
|
SET_AUDIO_FLAG("DisableAbortConversationForRagdoll", TRUE)
|
|
bDisableAbortConvo = TRUE
|
|
bConvoImmigrantManuelGiveUp = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrant[0],PLAYER_PED_ID())
|
|
AND HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(pedImmigrant[0],WEAPONTYPE_STUNGUN)
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),sRCLauncherDataLocal.pedID[ic_JOE],30)
|
|
IF iCrueltyLines < 5
|
|
IF GET_GAME_TIMER() > iTimerCrueltyLines + 7000
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_STUN",CONV_PRIORITY_MEDIUM) //Yeah! Take that bitch!
|
|
++iCrueltyLines
|
|
iTimerCrueltyLines = GET_GAME_TIMER()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
CLEAR_ENTITY_LAST_DAMAGE_ENTITY(pedImmigrant[0])
|
|
CLEAR_ENTITY_LAST_WEAPON_DAMAGE(pedImmigrant[0])
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.vehID[0],PLAYER_PED_ID()) < 30.0
|
|
IF DOES_BLIP_EXIST(blipPlayerCar)
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_19")
|
|
HANDLE_BUDDY_HEAD_TRACK_WHILE_ENTERING_VEHICLE()
|
|
IF GET_GAME_TIMER() > iTimerPlayerNotInCar + 7000
|
|
IF iConvoGetBackInCar = 0 //Hey, you getting back in the car or what?
|
|
IF iConvo >= 4
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF iConvoTrevorDamagingCar = 0
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND missionStage < MS_UPDATE_CHASE2
|
|
IF PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_CAR","MIN2_CAR_2", CONV_PRIORITY_MEDIUM)
|
|
iConvoGetBackInCar = 1
|
|
iTimerPlayerNotInCar = GET_GAME_TIMER() + GET_RANDOM_INT_IN_RANGE(2000,4000)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iConvoGetBackInCar = 1 //Come on man! Uncle Sam needs you!
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
IF PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_CAR","MIN2_CAR_3", CONV_PRIORITY_MEDIUM)
|
|
iConvoGetBackInCar = 2
|
|
iTimerPlayerNotInCar = GET_GAME_TIMER() + GET_RANDOM_INT_IN_RANGE(2000,4000)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF iConvoGetBackInCar < 5
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_CAR2", CONV_PRIORITY_MEDIUM)
|
|
bDialogueOkLetsGo = FALSE
|
|
++iConvoGetBackInCar
|
|
iTimerPlayerNotInCar = GET_GAME_TIMER() + GET_RANDOM_INT_IN_RANGE(2000,4000)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF missionStage = MS_UPDATE_CHASE2
|
|
IF bImmigrantChase2HandsUp = TRUE
|
|
IF bConvoImmigrant2GiveUp = FALSE //What?
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrantChase2,50)
|
|
AND IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],pedImmigrantChase2,20)
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 4, pedImmigrantChase2, "IMMIGRANTMALE")
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_CC2", CONV_PRIORITY_MEDIUM)
|
|
SET_AUDIO_FLAG("DisableAbortConversationForRagdoll", TRUE)
|
|
bDisableAbortConvoPed2 = TRUE
|
|
bConvoImmigrant2GiveUp = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrantChase2,PLAYER_PED_ID())
|
|
AND HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(pedImmigrantChase2,WEAPONTYPE_STUNGUN)
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),sRCLauncherDataLocal.pedID[ic_JOE],30)
|
|
IF iCrueltyLines < 5
|
|
IF GET_GAME_TIMER() > iTimerCrueltyLines + 7000
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_STUN",CONV_PRIORITY_MEDIUM) //Yeah! Take that bitch!
|
|
++iCrueltyLines
|
|
iTimerCrueltyLines = GET_GAME_TIMER()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
CLEAR_ENTITY_LAST_DAMAGE_ENTITY(pedImmigrantChase2)
|
|
CLEAR_ENTITY_LAST_WEAPON_DAMAGE(pedImmigrantChase2)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF bImmigrantHandsUp = TRUE
|
|
IF bConvoImmigrant1GiveUp = FALSE //I'm fucking legal man!
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrant[i],50)
|
|
AND IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],pedImmigrant[i],20)
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 5, pedImmigrant[i], "IMMIGRANTMALE2")
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_CC3", CONV_PRIORITY_MEDIUM)
|
|
SET_AUDIO_FLAG("DisableAbortConversationForRagdoll", TRUE)
|
|
bDisableAbortConvo = TRUE
|
|
bConvoImmigrant1GiveUp = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(pedImmigrant[i],PLAYER_PED_ID())
|
|
AND HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(pedImmigrant[i],WEAPONTYPE_STUNGUN)
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),sRCLauncherDataLocal.pedID[ic_JOE],30)
|
|
IF iCrueltyLines < 5
|
|
IF GET_GAME_TIMER() > iTimerCrueltyLines + 7000
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_STUN",CONV_PRIORITY_MEDIUM) //Yeah! Take that bitch!
|
|
++iCrueltyLines
|
|
iTimerCrueltyLines = GET_GAME_TIMER()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
CLEAR_ENTITY_LAST_DAMAGE_ENTITY(pedImmigrant[i])
|
|
CLEAR_ENTITY_LAST_WEAPON_DAMAGE(pedImmigrant[i])
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF DOES_ENTITY_EXIST(pedImmigrantChase2)
|
|
IF DOES_ENTITY_EXIST(pedImmigrant[1])
|
|
IF IS_ENTITY_ATTACHED_TO_ANY_VEHICLE(pedImmigrantChase2)
|
|
OR IS_ENTITY_ATTACHED_TO_ANY_VEHICLE(pedImmigrant[1])
|
|
IF NOT IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(sRCLauncherDataLocal.vehID[0],PLAYER_PED_ID()) < 30.0
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
IF GET_GAME_TIMER() > iTimerPlayerNotInCar + 9000
|
|
IF iConvoGetBackInCar = 0 //Hey, you getting back in the car or what?
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_CAR","MIN2_CAR_1", CONV_PRIORITY_MEDIUM)
|
|
iConvoGetBackInCar = 1
|
|
iTimerPlayerNotInCar = GET_GAME_TIMER()
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iConvoGetBackInCar = 1 //Come on man! Uncle Sam needs you!
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_CAR","MIN2_CAR_2", CONV_PRIORITY_MEDIUM)
|
|
iConvoGetBackInCar = 2
|
|
iTimerPlayerNotInCar = GET_GAME_TIMER()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_01")
|
|
IF missionStage = MS_SETUP_CHASE1
|
|
OR missionStage = MS_UPDATE_CHASE1
|
|
iConvoTimerUpdate = GET_GAME_TIMER()
|
|
IF iConvoTimerUpdate > (iConvoTimer + 7000)
|
|
IF iConvo < 1
|
|
IF NOT IS_PED_INJURED(PLAYER_PED_ID())
|
|
IF HAS_PED_GOT_WEAPON(PLAYER_PED_ID(),WEAPONTYPE_STUNGUN)
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JJ5b", CONV_PRIORITY_MEDIUM)
|
|
SET_CURRENT_PED_WEAPON(PLAYER_PED_ID(),WEAPONTYPE_STUNGUN,TRUE)
|
|
iConvo = 1
|
|
ENDIF
|
|
ELSE //Here, use this stun gun.
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JJ5", CONV_PRIORITY_MEDIUM)
|
|
GIVE_WEAPON_TO_PED(PLAYER_PED_ID(),WEAPONTYPE_STUNGUN,1,TRUE)
|
|
SET_CURRENT_PED_WEAPON(PLAYER_PED_ID(),WEAPONTYPE_STUNGUN,TRUE)
|
|
iConvo = 1
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF missionStage = MS_UPDATE_CHASE1
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF bConvoSpottedImmigrant1 = FALSE
|
|
bConvoSpottedImmigrant1 = TRUE
|
|
ENDIF
|
|
IF iConvo < 2
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0]) //These illegal aliens stealing the jobs of hard working Americans like Josef here...
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JJ1", CONV_PRIORITY_VERY_LOW)
|
|
iConvo = 2
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF NOT bPatrolVehDialogue
|
|
//AND NOT bGetCloseMessagePrinted
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_UNINJURED(pedImmigrant[0])
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.vehID[0],pedImmigrant[0],50)
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0]) //How did you get your hands on this patrol car?
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_48")
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JJ4", CONV_PRIORITY_VERY_LOW)
|
|
bPatrolVehDialogue = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF missionStage = MS_SETUP_CHASE2
|
|
IF DOES_BLIP_EXIST(blipLocate[i])
|
|
iConvoTimerUpdate = GET_GAME_TIMER()
|
|
IF iConvoTimerUpdate > (iConvoTimer + 100)
|
|
IF iConvo < 3
|
|
IF bDebugSkippedToCementFactory = FALSE //The next targets work at the cement factory.
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JJ6", CONV_PRIORITY_VERY_LOW,DO_NOT_DISPLAY_SUBTITLES)
|
|
iConvo = 3
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF missionStage = MS_SETUP_CHASE2
|
|
IF iConvo = 3
|
|
IF bEveryoneInCar = TRUE
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF bDebugSkippedToCementFactory = FALSE //Who the fuck are you guys?
|
|
IF IS_PED_UNINJURED(pedImmigrant[0])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
TASK_LOOK_AT_ENTITY(pedImmigrant[0],sRCLauncherDataLocal.pedID[ic_JOE],-1)
|
|
ENDIF
|
|
ENDIF
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_IMM1", CONV_PRIORITY_VERY_LOW)
|
|
iConvo = 4
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iConvo = 4
|
|
IF IS_SYNCHRONIZED_SCENE_RUNNING(ssPassport)
|
|
TEXT_LABEL_23 label = GET_CURRENTLY_PLAYING_STANDARD_CONVERSATION_LABEL()
|
|
IF ARE_STRINGS_EQUAL(label,"MIN2_IMM1_7")
|
|
AND GET_SYNCHRONIZED_SCENE_PHASE(ssPassport) < 0.54
|
|
KILL_FACE_TO_FACE_CONVERSATION()
|
|
ELSE
|
|
IF GET_SYNCHRONIZED_SCENE_PHASE(ssPassport) >= 0.54
|
|
IF NOT bButterFingers
|
|
CREATE_CONVERSATION_FROM_SPECIFIC_LINE(s_conversation_peds, "MIN2AU", "MIN2_IMM1","MIN2_IMM1_9", CONV_PRIORITY_MEDIUM) //Oops! Butterfingers!
|
|
bButterFingers = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(PLAYER_PED_ID(),<< 267.2497, 2852.1667, 42.6129 >>) < 70
|
|
KILL_FACE_TO_FACE_CONVERSATION()
|
|
ENDIF
|
|
ELIF iConvo = 5
|
|
IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(PLAYER_PED_ID(),<< 267.2497, 2852.1667, 42.6129 >>) < 70
|
|
KILL_FACE_TO_FACE_CONVERSATION()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF missionStage = MS_SETUP_CHASE3
|
|
IF DOES_BLIP_EXIST(blipLocate[i])
|
|
iConvoTimerUpdate = GET_GAME_TIMER()
|
|
IF iConvoTimerUpdate > (iConvoTimer + 7000)
|
|
IF iConvo <= 5
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JJ7", CONV_PRIORITY_VERY_LOW)
|
|
iConvo = 5
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF missionStage = MS_UPDATE_CHASE3
|
|
IF GET_GAME_TIMER() > iChaseStartedTimer + 7000
|
|
IF iConvo < 6
|
|
IF bEveryoneInCar = TRUE
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JJ2", CONV_PRIORITY_VERY_LOW)
|
|
iConvo = 6
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF missionStage = MS_DRIVE_TO_END
|
|
IF bDrivingToMotel = TRUE
|
|
iConvoTimerUpdate = GET_GAME_TIMER()
|
|
IF iConvoTimerUpdate > (iConvoTimer + 7000)
|
|
IF iConvo < 7
|
|
iConvo = 7
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF missionStage = MS_UPDATE_CHASE1
|
|
IF IS_PED_IN_VEHICLE(pedImmigrant[0],vehChaseCar[0])
|
|
IF GET_DISTANCE_BETWEEN_PEDS(PLAYER_PED_ID(),pedImmigrant[0]) < 30
|
|
IF iShoutLines = 0
|
|
IF NOT IS_ANY_SPEECH_PLAYING(pedImmigrant[0])
|
|
PLAY_PED_AMBIENT_SPEECH_WITH_VOICE(pedImmigrant[0], "MIN2_ACAA_01", "MANUEL", SPEECH_PARAMS_STANDARD)
|
|
ELSE
|
|
iShoutLines = 1
|
|
iTimerShoutLines = GET_GAME_TIMER() + GET_RANDOM_INT_IN_RANGE(2000,4000)
|
|
ENDIF
|
|
ELIF iShoutLines = 1
|
|
IF GET_GAME_TIMER() > iTimerShoutLines + 4000
|
|
IF NOT IS_ANY_SPEECH_PLAYING(pedImmigrant[0])
|
|
PLAY_PED_AMBIENT_SPEECH_WITH_VOICE(pedImmigrant[0], "MIN2_ACAA_02", "MANUEL", SPEECH_PARAMS_STANDARD)
|
|
ELSE
|
|
iShoutLines = 2
|
|
iTimerShoutLines = GET_GAME_TIMER() + GET_RANDOM_INT_IN_RANGE(2000,4000)
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iShoutLines = 2
|
|
IF GET_GAME_TIMER() > iTimerShoutLines + 4000
|
|
IF NOT IS_ANY_SPEECH_PLAYING(pedImmigrant[0])
|
|
PLAY_PED_AMBIENT_SPEECH_WITH_VOICE(pedImmigrant[0], "MIN2_ACAA_03", "MANUEL", SPEECH_PARAMS_STANDARD)
|
|
ELSE
|
|
iShoutLines = 3
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Opens the gates at the cement factory
|
|
PROC OpenGates()
|
|
|
|
IF DOES_OBJECT_OF_TYPE_EXIST_AT_COORDS(<<263.669403, 2854.145752, 43.939796>>,15.0,prop_facgate_03_l)
|
|
SET_STATE_OF_CLOSEST_DOOR_OF_TYPE(prop_facgate_03_l,<<263.669403, 2854.145752, 43.939796>>,TRUE,0.85)
|
|
ENDIF
|
|
IF DOES_OBJECT_OF_TYPE_EXIST_AT_COORDS(<<268.126953, 2845.054443, 44.089664 >>,15.0,prop_facgate_03_ld_l)
|
|
SET_STATE_OF_CLOSEST_DOOR_OF_TYPE(prop_facgate_03_ld_l,<<268.126953, 2845.054443, 44.089664 >>,TRUE,-0.85)
|
|
ENDIF
|
|
|
|
IF DOES_OBJECT_OF_TYPE_EXIST_AT_COORDS(<<346.19, 2859.69, 43.63>>,15.0,prop_fnclink_06gate3)
|
|
SET_STATE_OF_CLOSEST_DOOR_OF_TYPE(prop_fnclink_06gate3,<<346.19, 2859.69, 43.63>>,TRUE,1.2)
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Player shot the car up so Joe drives off - mission fail
|
|
PROC FailDriveOff()
|
|
|
|
SEQUENCE_INDEX seqMoveOverDriveOff
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
SET_VEHICLE_DOORS_LOCKED(sRCLauncherDataLocal.vehID[0],VEHICLELOCK_LOCKOUT_PLAYER_ONLY)
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
OPEN_SEQUENCE_TASK(seqMoveOverDriveOff)
|
|
TASK_SHUFFLE_TO_NEXT_VEHICLE_SEAT(NULL,sRCLauncherDataLocal.vehID[0])
|
|
TASK_VEHICLE_DRIVE_WANDER(NULL,sRCLauncherDataLocal.vehID[0],100.0,DRIVINGMODE_AVOIDCARS_RECKLESS)
|
|
CLOSE_SEQUENCE_TASK(seqMoveOverDriveOff)
|
|
TASK_PERFORM_SEQUENCE(sRCLauncherDataLocal.pedID[ic_JOE],seqMoveOverDriveOff)
|
|
ELSE
|
|
OPEN_SEQUENCE_TASK(seqMoveOverDriveOff)
|
|
TASK_VEHICLE_DRIVE_WANDER(NULL,sRCLauncherDataLocal.vehID[0],100.0,DRIVINGMODE_AVOIDCARS_RECKLESS)
|
|
CLOSE_SEQUENCE_TASK(seqMoveOverDriveOff)
|
|
TASK_PERFORM_SEQUENCE(sRCLauncherDataLocal.pedID[ic_JOE],seqMoveOverDriveOff)
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Check all the fail conditions
|
|
PROC CheckForFail()
|
|
|
|
IF NOT IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
AND NOT IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
sFailReason = "MIN2_45" // Josef and Joe died
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
sFailReason = "MIN2_16" // Josef died
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ELSE
|
|
SET_PED_INCREASED_AVOIDANCE_RADIUS(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
sFailReason = "MIN2_25" // Joe died
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ELSE
|
|
SET_PED_INCREASED_AVOIDANCE_RADIUS(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
ENDIF
|
|
|
|
IF DOES_ENTITY_EXIST(pedImmigrant[0])
|
|
IF NOT IS_PED_UNINJURED(pedImmigrant[0])
|
|
sFailReason = "MIN2_44" // Immigrant died
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ELSE
|
|
SET_PED_INCREASED_AVOIDANCE_RADIUS(pedImmigrant[0])
|
|
IF NOT IS_ENTITY_ATTACHED(pedImmigrant[0])
|
|
AND NOT IS_PED_IN_ANY_VEHICLE(pedImmigrant[0])
|
|
SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(0)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF DOES_ENTITY_EXIST(pedImmigrant[1])
|
|
IF NOT IS_PED_UNINJURED(pedImmigrant[1])
|
|
sFailReason = "MIN2_15" // Immigrant died
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ELSE
|
|
SET_PED_INCREASED_AVOIDANCE_RADIUS(pedImmigrant[1])
|
|
IF NOT IS_ENTITY_ATTACHED(pedImmigrant[1])
|
|
AND NOT IS_PED_IN_ANY_VEHICLE(pedImmigrant[1])
|
|
SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(0)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF DOES_ENTITY_EXIST(pedImmigrantChase2)
|
|
IF NOT IS_PED_UNINJURED(pedImmigrantChase2)
|
|
sFailReason = "MIN2_15" // Immigrant died
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ELSE
|
|
SET_PED_INCREASED_AVOIDANCE_RADIUS(pedImmigrantChase2)
|
|
IF NOT IS_ENTITY_ATTACHED(pedImmigrantChase2)
|
|
AND NOT IS_PED_IN_ANY_VEHICLE(pedImmigrantChase2)
|
|
SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(0)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
/*
|
|
IF bBloke1AttachedToCar = TRUE
|
|
IF NOT IS_PED_UNINJURED(pedImmigrant[0])
|
|
sFailReason = "MIN2_15" // Immigrant died
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bBloke2AttachedToCar = TRUE
|
|
IF NOT IS_PED_UNINJURED(pedImmigrant[1])
|
|
sFailReason = "MIN2_15" // Immigrant died
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bpedImmigrantChase2Attached = TRUE
|
|
IF NOT IS_PED_UNINJURED(pedImmigrantChase2)
|
|
sFailReason = "MIN2_15" // Immigrant died
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ENDIF
|
|
ENDIF
|
|
*/
|
|
IF GET_DISTANCE_BETWEEN_PEDS(PLAYER_PED_ID(),sRCLauncherDataLocal.pedID[ic_JOE]) > 200.0
|
|
IF GET_DISTANCE_BETWEEN_PEDS(PLAYER_PED_ID(),sRCLauncherDataLocal.pedID[ic_JOSEF]) > 200.0
|
|
sFailReason = "MIN2_36" // Left Joe / Josef behind
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF missionStage <> MS_UPDATE_CHASE2
|
|
AND missionStage <> MS_DRIVE_TO_END
|
|
AND missionStage <> MS_MISSION_PASSING
|
|
IF GET_DISTANCE_BETWEEN_PEDS(PLAYER_PED_ID(),sRCLauncherDataLocal.pedID[ic_JOSEF]) > 210.0
|
|
sFailReason = "MIN2_40" // Left Joe / Josef behind
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ENDIF
|
|
IF GET_DISTANCE_BETWEEN_PEDS(PLAYER_PED_ID(),sRCLauncherDataLocal.pedID[ic_JOE]) > 210.0
|
|
sFailReason = "MIN2_41" // Left Joe / Josef behind
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF missionStage = MS_UPDATE_CHASE2
|
|
IF GET_DISTANCE_BETWEEN_PEDS(PLAYER_PED_ID(),sRCLauncherDataLocal.pedID[ic_JOSEF]) > 250.0
|
|
AND iPed2Kneeling = 0
|
|
sFailReason = "MIN2_40" // Left Joe / Josef behind
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ENDIF
|
|
IF GET_DISTANCE_BETWEEN_PEDS(PLAYER_PED_ID(),sRCLauncherDataLocal.pedID[ic_JOE]) > 250.0
|
|
AND iPedKneeling = 0
|
|
sFailReason = "MIN2_41" // Left Joe / Josef behind
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF NOT IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
sFailReason = "MIN2_17" // Car wrecked
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ELSE
|
|
IF IS_VEHICLE_STUCK_TIMER_UP(sRCLauncherDataLocal.vehID[0],VEH_STUCK_ON_ROOF,12000)
|
|
CPRINTLN(DEBUG_MISSION, "STUCK")
|
|
sFailReason = "MIN2_17" // Car wrecked
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ENDIF
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF IS_VEHICLE_STUCK_TIMER_UP(sRCLauncherDataLocal.vehID[0],VEH_STUCK_ON_SIDE,20000)
|
|
OR IS_VEHICLE_STUCK_TIMER_UP(sRCLauncherDataLocal.vehID[0],VEH_STUCK_HUNG_UP,30000)
|
|
OR IS_VEHICLE_STUCK_TIMER_UP(sRCLauncherDataLocal.vehID[0],VEH_STUCK_JAMMED,30000)
|
|
CPRINTLN(DEBUG_MISSION, "STUCK")
|
|
sFailReason = "MIN2_17" // Car wrecked
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT IS_VEHICLE_DRIVEABLE(sRCLauncherDataLocal.vehID[0])
|
|
CPRINTLN(DEBUG_MISSION, "NOT DRIVEABLE")
|
|
sFailReason = "MIN2_17" // Car wrecked
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ENDIF
|
|
IF NOT IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF iConvoTrevorDamagingCar = 0
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(sRCLauncherDataLocal.vehID[0],PLAYER_PED_ID())
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED() //Hey! I just got that serviced!
|
|
IF PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SHCAR","MIN2_SHCAR_1", CONV_PRIORITY_VERY_HIGH)
|
|
CLEAR_ENTITY_LAST_DAMAGE_ENTITY(sRCLauncherDataLocal.vehID[0])
|
|
iConvoTrevorDamagingCar = 1
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iConvoTrevorDamagingCar = 1
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
CLEAR_ENTITY_LAST_DAMAGE_ENTITY(sRCLauncherDataLocal.vehID[0])
|
|
iConvoTrevorDamagingCar = 2
|
|
ENDIF
|
|
ELIF iConvoTrevorDamagingCar = 2
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(sRCLauncherDataLocal.vehID[0],PLAYER_PED_ID()) //Leave my car alone you fucking psycho tweaker!
|
|
IF PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SHCAR","MIN2_SHCAR_2", CONV_PRIORITY_VERY_HIGH)
|
|
CLEAR_ENTITY_LAST_DAMAGE_ENTITY(sRCLauncherDataLocal.vehID[0])
|
|
iConvoTrevorDamagingCar = 3
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iConvoTrevorDamagingCar = 3
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
CLEAR_ENTITY_LAST_DAMAGE_ENTITY(sRCLauncherDataLocal.vehID[0])
|
|
iConvoTrevorDamagingCar = 4
|
|
ENDIF
|
|
ELIF iConvoTrevorDamagingCar = 4
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(sRCLauncherDataLocal.vehID[0],PLAYER_PED_ID())
|
|
//IF PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SHCAR","MIN2_SHCAR_3", CONV_PRIORITY_VERY_HIGH)
|
|
CLEAR_ENTITY_LAST_DAMAGE_ENTITY(sRCLauncherDataLocal.vehID[0])
|
|
iConvoTrevorDamagingCar = 5
|
|
//ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iConvoTrevorDamagingCar = 5
|
|
/*
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
CLEAR_ENTITY_LAST_DAMAGE_ENTITY(sRCLauncherDataLocal.vehID[0])
|
|
KILL_ANY_CONVERSATION()
|
|
iConvoTrevorDamagingCar = 6
|
|
sFailReason = "MIN2_46" // Cops Alerted
|
|
FailDriveOff()
|
|
missionStage = MS_MISSION_FAILING
|
|
EXIT
|
|
ENDIF
|
|
*/
|
|
ENDIF
|
|
ELSE
|
|
CLEAR_ENTITY_LAST_DAMAGE_ENTITY(sRCLauncherDataLocal.vehID[0])
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF NOT IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
OR NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
OR NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
SET_VEHICLE_WILL_FORCE_OTHER_VEHICLES_TO_STOP(sRCLauncherDataLocal.vehID[0],TRUE)
|
|
IF IS_VEHICLE_OK(vehChaseCar[0])
|
|
SET_VEHICLE_WILL_FORCE_OTHER_VEHICLES_TO_STOP(vehChaseCar[0],TRUE)
|
|
ENDIF
|
|
IF IS_VEHICLE_OK(vehChaseCar[1])
|
|
SET_VEHICLE_WILL_FORCE_OTHER_VEHICLES_TO_STOP(vehChaseCar[1],TRUE)
|
|
ENDIF
|
|
IF IS_VEHICLE_OK(vehChaseCarChase2)
|
|
SET_VEHICLE_WILL_FORCE_OTHER_VEHICLES_TO_STOP(vehChaseCarChase2,TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: All immigrants captured, Joe drives off - mission passed
|
|
PROC PassDriveOff()
|
|
|
|
SAFE_REMOVE_BLIP(blipLocate[i])
|
|
SAFE_REMOVE_BLIP(blipPlayerCar)
|
|
|
|
INT iBrakeTime
|
|
|
|
SEQUENCE_INDEX seqMoveOverDriveOff
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 6, sRCLauncherDataLocal.pedID[ic_JOSEF], "JOSEF")
|
|
IF bThanks = FALSE
|
|
CREATE_CONVERSATION(s_conversation_peds,"MIN2AU","MIN2_JJ8",CONV_PRIORITY_HIGH) //Thanks for the help man, you're a true patriot.
|
|
ENDIF
|
|
CREDIT_BANK_ACCOUNT(CHAR_TREVOR, BAAC_UNLOGGED_SMALL_ACTION, 500)
|
|
REMOVE_ALL_PED_WEAPONS(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
REMOVE_ALL_PED_WEAPONS(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
ENDIF
|
|
ENDIF
|
|
|
|
iTimerPassDriveOff = GET_GAME_TIMER()
|
|
|
|
WHILE iJosefCutSeq < 2
|
|
REPLAY_CHECK_FOR_EVENT_THIS_FRAME("SF_AAW")
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF iJosefCutSeq = 0
|
|
IF GET_GAME_TIMER() > iTimerPassDriveOff + iBrakeTime
|
|
REPLAY_RECORD_BACK_FOR_TIME(3.0, 3.0, REPLAY_IMPORTANCE_LOWEST)
|
|
iJosefCutSeq = 1
|
|
ENDIF
|
|
ENDIF
|
|
IF iJosefCutSeq = 1
|
|
IF GET_GAME_TIMER() > iTimerPassDriveOff + (iBrakeTime + 500)
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
//PLAY_PED_AMBIENT_SPEECH(PLAYER_PED_ID(), "GENERIC_CURSE_HIGH")
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_PUSH",CONV_PRIORITY_MEDIUM) //You're impeding national security, boy!
|
|
ELSE
|
|
PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JJ8", "MIN2_JJ8_2", CONV_PRIORITY_MEDIUM) //So I just get left here?
|
|
ENDIF
|
|
SET_DISABLE_PRETEND_OCCUPANTS(sRCLauncherDataLocal.vehID[0], TRUE)
|
|
OPEN_SEQUENCE_TASK(seqMoveOverDriveOff)
|
|
TASK_SHUFFLE_TO_NEXT_VEHICLE_SEAT(NULL,sRCLauncherDataLocal.vehID[0])
|
|
IF IS_ENTITY_IN_ANGLED_AREA(sRCLauncherDataLocal.vehID[0], <<599.210693,2814.523682,37.923046>>, <<592.278625,2918.858154,67.900497>>, 110.000000)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,sRCLauncherDataLocal.vehID[0],<<657.2675, 2820.9895, 40.3190>>,16,DRIVINGSTYLE_NORMAL,PRANGER,DRIVINGMODE_AVOIDCARS_RECKLESS,10,200)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,sRCLauncherDataLocal.vehID[0],<<662.5688, 2702.0947, 39.7719>>,20,DRIVINGSTYLE_NORMAL,PRANGER,DRIVINGMODE_AVOIDCARS_RECKLESS,10,200)
|
|
TASK_VEHICLE_DRIVE_WANDER(NULL,sRCLauncherDataLocal.vehID[0],100.0,DRIVINGMODE_AVOIDCARS_RECKLESS)
|
|
ELIF IS_ENTITY_IN_ANGLED_AREA(sRCLauncherDataLocal.vehID[0], <<535.598022,2706.873047,40.613750>>, <<529.495911,2810.597412,50.720314>>, 36.000000)
|
|
TASK_VEHICLE_DRIVE_TO_COORD(NULL,sRCLauncherDataLocal.vehID[0],<<538.2090, 2696.4927, 41.2063>>,16,DRIVINGSTYLE_NORMAL,PRANGER,DRIVINGMODE_AVOIDCARS_RECKLESS,10,200)
|
|
TASK_VEHICLE_DRIVE_WANDER(NULL,sRCLauncherDataLocal.vehID[0],100.0,DRIVINGMODE_AVOIDCARS_RECKLESS)
|
|
ELSE
|
|
TASK_VEHICLE_DRIVE_WANDER(NULL,sRCLauncherDataLocal.vehID[0],100.0,DRIVINGMODE_AVOIDCARS_RECKLESS)
|
|
ENDIF
|
|
CLOSE_SEQUENCE_TASK(seqMoveOverDriveOff)
|
|
TASK_PERFORM_SEQUENCE(sRCLauncherDataLocal.pedID[ic_JOE],seqMoveOverDriveOff)
|
|
iJosefCutSeq = 2
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
WAIT(0)
|
|
ENDWHILE
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
SET_VEHICLE_DOORS_LOCKED(sRCLauncherDataLocal.vehID[0],VEHICLELOCK_LOCKED)
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
PROC EndSetup()
|
|
|
|
IF bMissionFailed = TRUE
|
|
ENDIF
|
|
|
|
vPlayer = GET_ENTITY_COORDS(PLAYER_PED_ID())
|
|
GET_SAFE_COORD_FOR_PED(vPlayer,FALSE,vSafeCoord)
|
|
|
|
ENDPROC
|
|
|
|
|
|
// ===========================================================================================================
|
|
// Termination
|
|
// ===========================================================================================================
|
|
|
|
// -----------------------------------------------------------------------------------------------------------
|
|
// Script Cleanup
|
|
// -----------------------------------------------------------------------------------------------------------
|
|
|
|
PROC Script_Cleanup()
|
|
|
|
// Ensure launcher is cleaned up
|
|
RC_CLEANUP_LAUNCHER()
|
|
|
|
/*
|
|
IF IS_PED_UNINJURED(pedImmigrant[0])
|
|
IF IS_ENTITY_ATTACHED(pedImmigrant[0])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(pedImmigrant[0])
|
|
SAFE_DELETE_PED(pedImmigrant[0])
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(pedImmigrant[1])
|
|
IF IS_ENTITY_ATTACHED(pedImmigrant[1])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(pedImmigrant[1])
|
|
SAFE_DELETE_PED(pedImmigrant[1])
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF IS_ENTITY_ATTACHED(pedImmigrantChase2)
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(pedImmigrantChase2)
|
|
SAFE_DELETE_PED(pedImmigrantChase2)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
*/
|
|
|
|
SET_NPC_PED_MODEL_AS_NO_LONGER_NEEDED(CHAR_MANUEL)
|
|
|
|
SET_INSTANCE_PRIORITY_HINT(INSTANCE_HINT_NONE)
|
|
|
|
TRIGGER_MUSIC_EVENT("MM2_FAIL")
|
|
|
|
RESET_SCENARIO_TYPES_ENABLED()
|
|
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(SANCHEZ)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(PRANGER)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(BLAZER)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(S_M_M_Migrant_01)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(SPEEDO)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(S_M_M_GAFFER_01)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(P_AMB_PHONE_01)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(S_M_Y_CONSTRUCT_01)
|
|
|
|
SET_VEHICLE_MODEL_IS_SUPPRESSED(PRANGER,FALSE)
|
|
SET_VEHICLE_MODEL_IS_SUPPRESSED(SANCHEZ,FALSE)
|
|
SET_VEHICLE_MODEL_IS_SUPPRESSED(BLAZER,FALSE)
|
|
|
|
SET_WANTED_LEVEL_MULTIPLIER(1.0)
|
|
|
|
SET_AUDIO_FLAG("DisableAbortConversationForRagdoll", FALSE)
|
|
|
|
//REMOVE_SCENARIO_BLOCKING_AREA(blockScenarios)
|
|
REMOVE_SCENARIO_BLOCKING_AREA(sbiCement)
|
|
/*
|
|
IF NOT IS_REPLAY_IN_PROGRESS()
|
|
INFORM_MISSION_STATS_SYSTEM_OF_TIME_WINDOW_CLOSED(TRUE)
|
|
ENDIF
|
|
*/
|
|
CLEANUP_AUDIO_SCENE_CHASE()
|
|
|
|
//SET_ROADS_IN_ANGLED_AREA(vNodeSwitch1,vNodeSwitch2,140,FALSE,TRUE)
|
|
|
|
KILL_ANY_CONVERSATION()
|
|
|
|
// If the mission was triggered then additional mission cleanup will be required.
|
|
IF (Random_Character_Cleanup_If_Triggered())
|
|
PRINTSTRING("...Random Character Script was triggered so additional cleanup required") PRINTNL()
|
|
ENDIF
|
|
|
|
// Set the Character as no longer needed if it has been created
|
|
SAFE_RELEASE_PED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
SAFE_RELEASE_PED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
|
|
SET_SCENARIO_TYPE_ENABLED("WORLD_VEHICLE_DRIVE_SOLO",TRUE)
|
|
SET_SCENARIO_TYPE_ENABLED("WORLD_VEHICLE_CONSTRUCTION_SOLO", TRUE)
|
|
SET_SCENARIO_TYPE_ENABLED("WORLD_VEHICLE_CONSTRUCTION_PASSENGERS", TRUE)
|
|
|
|
SET_ROADS_BACK_TO_ORIGINAL(<<-199.2860, 4214.0547, 43.7470>> - <<10,10,10>>,<<-199.2860, 4214.0547, 43.7470>> + <<10,10,10>>)
|
|
|
|
TERMINATE_THIS_THREAD()
|
|
ENDPROC
|
|
|
|
// -----------------------------------------------------------------------------------------------------------
|
|
// Script Pass
|
|
// -----------------------------------------------------------------------------------------------------------
|
|
|
|
PROC Script_Passed()
|
|
//CREDIT_BANK_ACCOUNT(CHAR_TREVOR, BAAC_UNLOGGED_SMALL_ACTION, 200) // See B*1207293
|
|
Random_Character_Passed(CP_RAND_C_MIN2)
|
|
Script_Cleanup()
|
|
|
|
ENDPROC
|
|
|
|
|
|
// ===========================================================================================================
|
|
// DEBUG FUNCTIONS
|
|
// ===========================================================================================================
|
|
|
|
PROC ResetStuff()
|
|
|
|
CleanupTraffic()
|
|
|
|
i = 0
|
|
|
|
CLEAR_PRINTS()
|
|
|
|
eCutsceneState = eCutSpawnJJ
|
|
|
|
SAFE_REMOVE_BLIP(blipImmigrant[0])
|
|
SAFE_REMOVE_BLIP(blipImmigrant[1])
|
|
SAFE_REMOVE_BLIP(blipImmigrant[2])
|
|
SAFE_REMOVE_BLIP(blipLocate[0])
|
|
SAFE_REMOVE_BLIP(blipLocate[1])
|
|
SAFE_REMOVE_BLIP(blipLocate[2])
|
|
SAFE_REMOVE_BLIP(blipPlayerCar)
|
|
SAFE_REMOVE_BLIP(blipJosef)
|
|
SAFE_REMOVE_BLIP(blipJoe)
|
|
SAFE_DELETE_PED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
SAFE_DELETE_PED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
SAFE_DELETE_PED(pedImmigrant[0])
|
|
SAFE_DELETE_PED(pedImmigrant[1])
|
|
SAFE_DELETE_PED(pedImmigrant[2])
|
|
SAFE_DELETE_PED(pedWorker[0])
|
|
SAFE_DELETE_PED(pedWorker[1])
|
|
SAFE_DELETE_PED(pedImmigrantChase2)
|
|
SAFE_DELETE_PED(pedDusterPilot)
|
|
SAFE_DELETE_VEHICLE(vehDuster)
|
|
SAFE_DELETE_VEHICLE(vehChaseCar[0])
|
|
SAFE_DELETE_VEHICLE(vehChaseCar[1])
|
|
SAFE_DELETE_VEHICLE(vehChaseCar[2])
|
|
SAFE_DELETE_VEHICLE(vehChaseCarChase2)
|
|
SAFE_DELETE_VEHICLE(vehSpeedo)
|
|
|
|
SAFE_DELETE_OBJECT(ObjPapers)
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
ENDIF
|
|
/*
|
|
IF DOES_ENTITY_EXIST(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(),<< 94.6126, 4506.0459, 87.7443 >>)
|
|
SET_ENTITY_HEADING(PLAYER_PED_ID(),198.9812)
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH()
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING()
|
|
ENDIF
|
|
ENDIF
|
|
*/
|
|
REMOVE_VEHICLE_STUCK_CHECK(sRCLauncherDataLocal.vehID[0])
|
|
|
|
SAFE_DELETE_VEHICLE(sRCLauncherDataLocal.vehID[0])
|
|
|
|
bBloke1AttachedToCar = FALSE
|
|
bBloke2AttachedToCar = FALSE
|
|
bpedImmigrantChase2Attached = FALSE
|
|
bChaseStarted = FALSE
|
|
iTimesTazed = 0
|
|
iTimesTazedSECONDPED = 0
|
|
//iNextCoordPed1 = 0
|
|
bSECONDBlokestunned = FALSE
|
|
bImmigrantChase2HandsUp = FALSE
|
|
bImmigrantChase2GettingIntoCar = FALSE
|
|
bBlokestunned = FALSE
|
|
bImmigrantHandsUp = FALSE
|
|
bImmigrantGettingIntoCar = FALSE
|
|
bSeqSetup = FALSE
|
|
bFirstImmigrantOnBike = FALSE
|
|
bImmigrantChase2OnBike = FALSE
|
|
bOkToStartChase = FALSE
|
|
iSeqCementFactory = 0
|
|
bImmigrantChase2Fleeing = FALSE
|
|
bFirstImmigrantFleeing = FALSE
|
|
iJosefCutSeq = 0
|
|
bDialogueDontletTheOtherEscape = FALSE
|
|
iConvoGetBackInCar = 0
|
|
iConvoTrevorDamagingCar = 0
|
|
bConvoSpottedImmigrant1 = FALSE
|
|
bCarHorn = FALSE
|
|
iSeqJosefThrowPapers = 0
|
|
bCementFactoryCheckpoint = FALSE
|
|
iGetOutOfCarLines = 0
|
|
iSeqHintCam = 0
|
|
bPlayerNotInCarBetweenCapturingImmigrants = FALSE
|
|
bBikeEscorting = FALSE
|
|
bBikeLeftFactory = FALSE
|
|
bWander = FALSE
|
|
fTrafficStopped = 0.0
|
|
iPedsStunnedOffBike = 0
|
|
bCloseFinalTimeWindowForStats = FALSE
|
|
bReplayCementFactory = FALSE
|
|
iPedKneeling = 0
|
|
iPed2Kneeling = 0
|
|
iCrueltyLines = 0
|
|
bSecondMusicCue = FALSE
|
|
bCreateNmMessage = FALSE
|
|
bRagdollTaskGiven = FALSE
|
|
bCreateNmMessagePed2 = FALSE
|
|
bRagdollTaskGivenPed2 = FALSE
|
|
bLosingCops = FALSE
|
|
bPrintLosingCops = FALSE
|
|
iSyncPed = 0
|
|
bPassport = FALSE
|
|
bManuelAttached = FALSE
|
|
iConvo = 0
|
|
bPassportSound = FALSE
|
|
bButterFingers = FALSE
|
|
bWeaponSwap = FALSE
|
|
bWarpJosef = FALSE
|
|
bThanks = FALSE
|
|
bPatrolVehDialogue = FALSE
|
|
bDialogueGoBack = FALSE
|
|
iGoBackLines = 0
|
|
iSeqChase2Dialogue = 0
|
|
bDialoguePickUpLastGuy = FALSE
|
|
bPatrolVehDialogue = FALSE
|
|
bDialogueGoBack = FALSE
|
|
bDialoguePickUpLastGuy = FALSE
|
|
bDialogueOkLetsGo = FALSE
|
|
bDialogueDriveOff = FALSE
|
|
bDoDelayedClimbInBack = FALSE
|
|
bDoneDelayedClimbInBack = FALSE
|
|
bSwitchWaypointFlags = FALSE
|
|
|
|
bPed1GettingUp = FALSE
|
|
bPed2GettingUp = FALSE
|
|
|
|
bPrint18 = FALSE
|
|
bPrint03 = FALSE
|
|
bPrint06 = FALSE
|
|
bPrint08 = FALSE
|
|
bPrint33 = FALSE
|
|
bPrint29 = FALSE
|
|
bPrint32 = FALSE
|
|
bPrint19 = FALSE
|
|
bPrint42 = FALSE
|
|
bPrint01 = FALSE
|
|
bPrint30 = FALSE
|
|
bPrint31 = FALSE
|
|
bPrint39 = FALSE
|
|
bPrint37 = FALSE
|
|
bPrint48GoBack = FALSE
|
|
|
|
bConvoImmigrantManuelGiveUp = FALSE
|
|
bConvoImmigrant1GiveUp = FALSE
|
|
bConvoImmigrant2GiveUp = FALSE
|
|
|
|
bJosefGetIn = FALSE
|
|
|
|
CLEAR_SEQUENCE_TASK(seqChase2Route)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteB)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteC)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteD)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteSECONDPED)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteBSECONDPED)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteCSECONDPED)
|
|
CLEAR_SEQUENCE_TASK(seqChase2RouteDSECONDPED)
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Waits for the screen to fade out, then updates the fail reason for the mission
|
|
PROC FailWait()
|
|
|
|
SWITCH eFAIL_STATE
|
|
|
|
CASE FS_SETUP
|
|
TRIGGER_MUSIC_EVENT("MM2_FAIL")
|
|
RemoveBlips()
|
|
CLEAR_PRINTS()
|
|
CLEAR_HELP()
|
|
|
|
KILL_FACE_TO_FACE_CONVERSATION_DO_NOT_FINISH_LAST_LINE()
|
|
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sFailReason)
|
|
Random_Character_Failed_With_Reason(sFailReason)
|
|
ELSE
|
|
Random_Character_Failed()
|
|
ENDIF
|
|
|
|
eFAIL_STATE =FS_UPDATE
|
|
BREAK
|
|
|
|
CASE FS_UPDATE
|
|
IF GET_MISSION_FLOW_SAFE_TO_CLEANUP()
|
|
|
|
// Do a check here to see if we need to warp the player at all
|
|
// (only set the fail warp locations if we can't leave the player where he was)
|
|
// MISSION_FLOW_SET_FAIL_WARP_LOCATION(<< 101.6329, 4519.8418, 89.4828 >>, 175.0489)
|
|
// SET_REPLAY_DECLINED_VEHICLE_WARP_LOCATION(<< 99.4852, 4507.5508, 88.1143 >>, 179.7428)
|
|
|
|
ResetStuff()
|
|
Script_Cleanup()
|
|
ELSE
|
|
// not finished fading out
|
|
// you may want to handle dialogue etc here.
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDPROC
|
|
|
|
/// PURPOSE: skip from MS_SETUP_CHASE1
|
|
PROC SkipStage1()
|
|
|
|
SAFE_REMOVE_BLIP(blipLocate[i])
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF NOT IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
TASK_WARP_PED_INTO_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
ENDIF
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
TASK_WARP_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],VS_FRONT_RIGHT)
|
|
ENDIF
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
TASK_WARP_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],VS_BACK_LEFT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_ENTITY_COORDS(sRCLauncherDataLocal.vehID[0],<< 132.1798, 4453.1421, 79.8101 >>)
|
|
SET_ENTITY_HEADING(sRCLauncherDataLocal.vehID[0],227.5366 )
|
|
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING()
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH()
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: skip from MS_UPDATE_CHASE1
|
|
PROC SkipStage2()
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF NOT IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
TASK_WARP_PED_INTO_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
ENDIF
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
TASK_WARP_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],VS_FRONT_RIGHT)
|
|
ENDIF
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
TASK_WARP_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],VS_BACK_LEFT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
AttachPedToCar()
|
|
|
|
IF IS_SYNCHRONIZED_SCENE_RUNNING(ssClimbToBack_1)
|
|
SET_SYNCHRONIZED_SCENE_PHASE(ssClimbToBack_1,0.9)
|
|
ENDIF
|
|
|
|
i = 1
|
|
|
|
SET_ENTITY_COORDS(sRCLauncherDataLocal.vehID[0],<< 227.1500, 2950.6118, 41.8969 >>)
|
|
SET_ENTITY_HEADING(sRCLauncherDataLocal.vehID[0],186.9743 )
|
|
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING()
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH()
|
|
|
|
missionStage = MS_SETUP_CHASE2
|
|
|
|
RequestModelsSecondChase()
|
|
LoadModelsSecondChase()
|
|
|
|
bDebugSkippedToCementFactory = TRUE
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: skip from MS_SETUP_CHASE2 or MS_CEMENT_FACTORY or MS_UPDATE_CHASE2
|
|
PROC SkipStage3()
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF NOT IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
TASK_WARP_PED_INTO_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
ENDIF
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
TASK_WARP_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],VS_FRONT_RIGHT)
|
|
ENDIF
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
TASK_WARP_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],VS_BACK_LEFT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SAFE_REMOVE_BLIP(blipLocate[0])
|
|
SAFE_REMOVE_BLIP(blipLocate[1])
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrant[i])
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_PED_IN_VEHICLE(pedImmigrant[i],sRCLauncherDataLocal.vehID[0])
|
|
TASK_WARP_PED_INTO_VEHICLE(pedImmigrant[i],sRCLauncherDataLocal.vehID[0],VS_BACK_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING()
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH()
|
|
|
|
missionStage = MS_DRIVE_TO_END
|
|
|
|
bDebugSkippedToCementFactory = TRUE
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: skip from MS_DRIVE_TO_END
|
|
PROC SkipStage4()
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF NOT IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
TASK_WARP_PED_INTO_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
ENDIF
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
TASK_WARP_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],VS_FRONT_RIGHT)
|
|
ENDIF
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
TASK_WARP_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],VS_BACK_LEFT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SAFE_REMOVE_BLIP(blipLocate[0])
|
|
SAFE_REMOVE_BLIP(blipLocate[1])
|
|
|
|
SET_ENTITY_COORDS(sRCLauncherDataLocal.vehID[0],<< 325.4911, 2643.6294, 43.5842 >>)
|
|
SET_ENTITY_HEADING(sRCLauncherDataLocal.vehID[0],96.8564)
|
|
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING()
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH()
|
|
|
|
PassDriveOff()
|
|
|
|
//EndSetup()
|
|
missionStage = MS_MISSION_PASSING
|
|
//Script_Passed()
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Check for Forced Pass or Fail
|
|
PROC DEBUG_Check_Debug_Keys()
|
|
// Check for Pass
|
|
#IF IS_DEBUG_BUILD
|
|
IF (IS_KEYBOARD_KEY_JUST_PRESSED(KEY_S))
|
|
//EndSetup()
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
TRIGGER_MUSIC_EVENT("MM2_STOP")
|
|
CLEAR_PRINTS()
|
|
Script_Passed()
|
|
ENDIF
|
|
|
|
// Check for Fail
|
|
IF (IS_KEYBOARD_KEY_JUST_PRESSED(KEY_F))
|
|
//EndSetup()
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
TRIGGER_MUSIC_EVENT("MM2_STOP")
|
|
CLEAR_PRINTS()
|
|
bMissionFailed = TRUE
|
|
missionStage = MS_MISSION_FAILING
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Play intro mocap
|
|
PROC IntroCutscene()
|
|
|
|
MODEL_NAMES mnVehPlayer
|
|
|
|
IF CAN_REQUEST_ASSETS_FOR_CUTSCENE_ENTITY()
|
|
//SET_CUTSCENE_PED_PROP_VARIATION("Joe", ANCHOR_HEAD, 0, 0)
|
|
SET_CUTSCENE_PED_PROP_VARIATION("Joe", ANCHOR_EYES, 0, 0)
|
|
SET_CUTSCENE_PED_PROP_VARIATION("Josef", ANCHOR_HEAD, 0, 0)
|
|
SET_CUTSCENE_PED_PROP_VARIATION("Josef", ANCHOR_EYES, 0, 0)
|
|
ENDIF
|
|
|
|
SWITCH eCutsceneState
|
|
|
|
CASE eCutSpawnJJ
|
|
|
|
//Added time to allow multihead blinders to turn on
|
|
IF IS_PC_VERSION() AND NOT bMultiheadTriggered
|
|
IF SET_MULTIHEAD_SAFE(TRUE)
|
|
iMultiHeadTimer = GET_GAME_TIMER() + 1000
|
|
bMultiheadTriggered = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iMultiHeadTimer < GET_GAME_TIMER()
|
|
IF NOT DOES_ENTITY_EXIST(sRCLauncherDataLocal.vehID[0])
|
|
sRCLauncherDataLocal.vehID[0] = CREATE_VEHICLE(PRANGER,<<20.80, 4532.65, 104.66>>, 284.70, TRUE, TRUE)
|
|
ENDIF
|
|
|
|
IF CREATE_NPC_PED_ON_FOOT(sRCLauncherDataLocal.pedID[ic_JOE],CHAR_JOE,<< 38.2818, 4537.5703, 95.4783 >>, 252.9034)
|
|
AND CREATE_NPC_PED_ON_FOOT(sRCLauncherDataLocal.pedID[ic_JOSEF],CHAR_JOSEF,<< 33.8430, 4537.3950, 95.9413 >>, 309.8384)
|
|
//SET_PED_PRELOAD_PROP_DATA(sRCLauncherDataLocal.pedID[ic_JOE],ANCHOR_HEAD,0)
|
|
//SET_PED_PROP_INDEX(sRCLauncherDataLocal.pedID[ic_JOE], ANCHOR_HEAD, 0)
|
|
SET_PED_PROP_INDEX(sRCLauncherDataLocal.pedID[ic_JOE], ANCHOR_EYES, 0)
|
|
SET_PED_PROP_INDEX(sRCLauncherDataLocal.pedID[ic_JOSEF], ANCHOR_HEAD, 0)
|
|
SET_PED_PROP_INDEX(sRCLauncherDataLocal.pedID[ic_JOSEF], ANCHOR_EYES, 0)
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "Min2****Init cutscene****")
|
|
#ENDIF
|
|
|
|
eCutsceneState = eCutInit
|
|
ENDIF
|
|
ENDIF
|
|
|
|
BREAK
|
|
|
|
CASE eCutInit
|
|
|
|
RC_REQUEST_CUTSCENE("mmb_2_rcm")
|
|
|
|
IF RC_IS_CUTSCENE_OK_TO_START()
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
REGISTER_ENTITY_FOR_CUTSCENE(sRCLauncherDataLocal.vehID[0],"MMB_Parked_car",CU_ANIMATE_EXISTING_SCRIPT_ENTITY,PRANGER)
|
|
ENDIF
|
|
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
REGISTER_ENTITY_FOR_CUTSCENE(sRCLauncherDataLocal.pedID[ic_JOSEF],"Josef",CU_ANIMATE_EXISTING_SCRIPT_ENTITY,IG_JOSEF)
|
|
ENDIF
|
|
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
REGISTER_ENTITY_FOR_CUTSCENE(sRCLauncherDataLocal.pedID[ic_JOE],"Joe",CU_ANIMATE_EXISTING_SCRIPT_ENTITY,IG_JOEMINUTEMAN)
|
|
ENDIF
|
|
|
|
CCSExitTrev = FALSE
|
|
CCSExitJosef = FALSE
|
|
CCSExitJoe = FALSE
|
|
CCsExitTruck = FALSE
|
|
CCsExitCam = FALSE
|
|
|
|
REPLAY_START_EVENT(REPLAY_IMPORTANCE_LOW)
|
|
|
|
RC_CLEANUP_LAUNCHER()
|
|
START_CUTSCENE()
|
|
SET_VEHICLE_MODEL_PLAYER_WILL_EXIT_SCENE(PRANGER)
|
|
WAIT(0)
|
|
|
|
RESOLVE_VEHICLES_INSIDE_ANGLED_AREA(<<14.701344,4530.018066,102.562462>>, <<27.267115,4533.092285,107.864037>>, 11.250000,<<-0.3602, 4523.2480, 107.0955>>, 256.1712)
|
|
IF DOES_ENTITY_EXIST(GET_PLAYERS_LAST_VEHICLE())
|
|
mnVehPlayer = GET_ENTITY_MODEL(GET_PLAYERS_LAST_VEHICLE())
|
|
ENDIF
|
|
IF NOT IS_THIS_MODEL_A_HELI(mnVehPlayer)
|
|
AND NOT IS_THIS_MODEL_A_PLANE(mnVehPlayer)
|
|
AND NOT IS_THIS_MODEL_A_BOAT(mnVehPlayer)
|
|
AND NOT IS_THIS_MODEL_A_TRAIN(mnVehPlayer)
|
|
SET_MISSION_START_VEHICLE_AS_VEHICLE_GEN(<<0,0,0>>,0,TRUE,CHAR_TREVOR)
|
|
ENDIF
|
|
CLEAR_AREA(<< 18.00, 4527.00, 105.00 >>,150,TRUE)
|
|
RC_START_CUTSCENE_MODE(<< 18.00, 4527.00, 105.00 >>,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE)
|
|
eCutsceneState = eCutUpdate
|
|
ENDIF
|
|
|
|
BREAK
|
|
|
|
CASE eCutUpdate
|
|
|
|
//IF IS_CUTSCENE_PLAYING()
|
|
|
|
IF CCSExitTrev
|
|
AND CCSExitJosef
|
|
AND CCSExitJoe
|
|
//AND CCsExitTruck
|
|
AND CCsExitCam
|
|
eCutsceneState = eCutCleanup
|
|
ENDIF
|
|
|
|
IF CAN_SET_EXIT_STATE_FOR_CAMERA()
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING(0)
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH(0)
|
|
CCsExitCam = TRUE
|
|
ENDIF
|
|
|
|
IF CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("Trevor")
|
|
REPLAY_STOP_EVENT()
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(PLAYER_PED_ID())
|
|
SET_PED_INTO_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(PLAYER_PED_ID())
|
|
CCSExitTrev = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("Josef",IG_JOSEF)
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
SET_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],VS_BACK_RIGHT)
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
CCSExitJosef = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("Joe",IG_JOEMINUTEMAN)
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
SET_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],VS_FRONT_RIGHT)
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
CCSExitJoe = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("MMB_Parked_car",PRANGER)
|
|
CCsExitTruck = TRUE
|
|
ENDIF
|
|
CCsExitTruck = CCsExitTruck
|
|
IF NOT DOES_ENTITY_EXIST(sRCLauncherDataLocal.vehID[0])
|
|
IF DOES_ENTITY_EXIST(GET_ENTITY_INDEX_OF_REGISTERED_ENTITY("MMB_Parked_car"))
|
|
sRCLauncherDataLocal.vehID[0] = GET_VEHICLE_INDEX_FROM_ENTITY_INDEX(GET_ENTITY_INDEX_OF_REGISTERED_ENTITY("MMB_Parked_car"))
|
|
CPRINTLN(DEBUG_MISSION, "Min2**** GRABBED CAR FROM CS ****")
|
|
ENDIF
|
|
ENDIF
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF IS_KEYBOARD_KEY_JUST_PRESSED(KEY_J)
|
|
STOP_CUTSCENE()
|
|
ENDIF
|
|
DEBUG_Check_Debug_Keys()
|
|
#ENDIF
|
|
//ELSE
|
|
|
|
//SET_GAMEPLAY_CAM_RELATIVE_HEADING(0)
|
|
//SET_GAMEPLAY_CAM_RELATIVE_PITCH(0)
|
|
|
|
//eCutsceneState = eCutCleanup
|
|
//ENDIF
|
|
|
|
BREAK
|
|
|
|
CASE eCutCleanup
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
SET_VEHICLE_DOOR_SHUT(sRCLauncherDataLocal.vehID[0],SC_DOOR_FRONT_LEFT)
|
|
SET_VEHICLE_DOOR_SHUT(sRCLauncherDataLocal.vehID[0],SC_DOOR_REAR_RIGHT)
|
|
SET_VEHICLE_DOOR_SHUT(sRCLauncherDataLocal.vehID[0],SC_DOOR_FRONT_RIGHT)
|
|
ENDIF
|
|
|
|
|
|
IF bPrint01 = FALSE
|
|
PRINT_NOW("MIN2_01",7000,0) //chase the immigrant
|
|
bPrint01 = TRUE
|
|
ENDIF
|
|
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING(0)
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH(0)
|
|
|
|
RC_END_CUTSCENE_MODE()
|
|
RC_SET_ENTITY_PROOFS_FOR_CUTSCENE(sRCLauncherDataLocal, FALSE)
|
|
|
|
//Cleanup multihead blinders
|
|
IF IS_PC_VERSION()
|
|
SET_MULTIHEAD_SAFE(FALSE)
|
|
ENDIF
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "Min2****Cleanup cutscene****")
|
|
#ENDIF
|
|
|
|
missionStage = MS_SETUP_MISSION
|
|
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Skip past intro mocap
|
|
PROC SkipPastCS()
|
|
|
|
START_REPLAY_SETUP(<<20.80, 4532.65, 104.66>>, 284.70)
|
|
|
|
SAFE_FADE_SCREEN_OUT_TO_BLACK(0,FALSE)
|
|
|
|
Initialise()
|
|
WaitForAssets()
|
|
SpawnPlayerCar()
|
|
SpawnJosefAndJoe()
|
|
missionStage = MS_SETUP_CHASE1
|
|
|
|
END_REPLAY_SETUP(sRCLauncherDataLocal.vehID[0])
|
|
|
|
//LOAD_SCENE(GET_ENTITY_COORDS(PLAYER_PED_ID()))
|
|
|
|
//WAIT(1000)
|
|
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING(0)
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH(0)
|
|
SET_PLAYER_CONTROL(PLAYER_ID(),TRUE)
|
|
|
|
IF IS_SCREEN_FADED_OUT()
|
|
IF NOT IS_SCREEN_FADING_IN()
|
|
SAFE_FADE_SCREEN_IN_FROM_BLACK(DEFAULT_FADE_TIME,FALSE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bPrint01 = FALSE
|
|
PRINT_NOW("MIN2_01",7000,0) //chase the immigrant
|
|
bPrint01 = TRUE
|
|
ENDIF
|
|
|
|
iTimerChase1Started = GET_GAME_TIMER()
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "Min2****Replay skipped past cutscene****")
|
|
#ENDIF
|
|
|
|
RC_END_Z_SKIP(TRUE)
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Skip the first chase
|
|
PROC SkipFirstChase()
|
|
|
|
START_REPLAY_SETUP(<< 13.7719, 3617.9197, 39.2074 >>, 242.9842)
|
|
|
|
SAFE_FADE_SCREEN_OUT_TO_BLACK(0,FALSE)
|
|
|
|
Initialise()
|
|
WaitForAssets()
|
|
SpawnPlayerCar()
|
|
SpawnJosefAndJoe()
|
|
SkipStage1()
|
|
SpawnChaseCar()
|
|
SpawnImmigrant()
|
|
SkipStage2()
|
|
RequestModelsSecondChase()
|
|
LoadModelsSecondChase()
|
|
|
|
END_REPLAY_SETUP(sRCLauncherDataLocal.vehID[0])
|
|
|
|
bDebugSkippedToCementFactory = FALSE
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
SET_ENTITY_COORDS(sRCLauncherDataLocal.vehID[0],<< 13.7719, 3617.9197, 39.2074 >>)
|
|
SET_ENTITY_HEADING(sRCLauncherDataLocal.vehID[0],242.9842)
|
|
ENDIF
|
|
|
|
missionStage = MS_SETUP_CHASE2
|
|
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 3, pedImmigrant[0], "MANUEL")
|
|
iConvo = 2
|
|
|
|
//LOAD_SCENE(GET_ENTITY_COORDS(PLAYER_PED_ID()))
|
|
|
|
IF NOT HAS_PED_GOT_WEAPON(PLAYER_PED_ID(),WEAPONTYPE_STUNGUN)
|
|
GIVE_WEAPON_TO_PED(PLAYER_PED_ID(),WEAPONTYPE_STUNGUN,1,TRUE)
|
|
ENDIF
|
|
|
|
WAIT(500)
|
|
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING(0)
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH(0)
|
|
SET_PLAYER_CONTROL(PLAYER_ID(),TRUE)
|
|
|
|
IF IS_SCREEN_FADED_OUT()
|
|
IF NOT IS_SCREEN_FADING_IN()
|
|
SAFE_FADE_SCREEN_IN_FROM_BLACK(DEFAULT_FADE_TIME,FALSE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "Min2****Replay skipped first chase****")
|
|
#ENDIF
|
|
|
|
RC_END_Z_SKIP(TRUE)
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Skip to chase 2
|
|
PROC SkipToCementFact()
|
|
|
|
START_REPLAY_SETUP(<< 277.4130, 2856.9407, 42.6421 >>, 300.9114)
|
|
|
|
SAFE_FADE_SCREEN_OUT_TO_BLACK(0,FALSE)
|
|
|
|
Initialise()
|
|
WaitForAssets()
|
|
SpawnPlayerCar()
|
|
SpawnJosefAndJoe()
|
|
SkipStage1()
|
|
SpawnChaseCar()
|
|
SpawnImmigrant()
|
|
SkipStage2()
|
|
RequestModelsSecondChase()
|
|
LoadModelsSecondChase()
|
|
SpawnChaseCar()
|
|
SpawnImmigrant()
|
|
|
|
bDebugSkippedToCementFactory = FALSE
|
|
|
|
END_REPLAY_SETUP(sRCLauncherDataLocal.vehID[0])
|
|
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
IF NOT IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCar[i])
|
|
START_PLAYBACK_RECORDED_VEHICLE(vehChaseCar[i],101,"Min2DB1")
|
|
SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehChaseCar[i],400)
|
|
SET_PLAYBACK_SPEED(vehChaseCar[i],1.1)
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_VEHICLE_OK(vehChaseCarChase2)
|
|
IF NOT IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehChaseCarChase2)
|
|
START_PLAYBACK_RECORDED_VEHICLE(vehChaseCarChase2,102,"Min2DB2")
|
|
SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehChaseCarChase2,500)
|
|
SET_PLAYBACK_SPEED(vehChaseCarChase2,1.1)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
SET_ENTITY_COORDS(sRCLauncherDataLocal.vehID[0],<< 277.4130, 2856.9407, 42.6421 >>)
|
|
SET_ENTITY_HEADING(sRCLauncherDataLocal.vehID[0],300.9114)
|
|
START_PLAYBACK_RECORDED_VEHICLE(sRCLauncherDataLocal.vehID[0],269,"Min2Rolling")
|
|
SET_PLAYBACK_SPEED(sRCLauncherDataLocal.vehID[0],1.0)
|
|
iRollingStartTimer = GET_GAME_TIMER()
|
|
ENDIF
|
|
missionStage = MS_SETUP_CHASE2
|
|
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 3, pedImmigrant[0], "MANUEL")
|
|
|
|
//LOAD_SCENE(GET_ENTITY_COORDS(PLAYER_PED_ID()))
|
|
|
|
IF NOT HAS_PED_GOT_WEAPON(PLAYER_PED_ID(),WEAPONTYPE_STUNGUN)
|
|
GIVE_WEAPON_TO_PED(PLAYER_PED_ID(),WEAPONTYPE_STUNGUN,1,TRUE)
|
|
ENDIF
|
|
|
|
WAIT(800)
|
|
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING(0)
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH(0)
|
|
SET_PLAYER_CONTROL(PLAYER_ID(),TRUE)
|
|
|
|
IF IS_SCREEN_FADED_OUT()
|
|
IF NOT IS_SCREEN_FADING_IN()
|
|
SAFE_FADE_SCREEN_IN_FROM_BLACK(DEFAULT_FADE_TIME,FALSE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
TRIGGER_MUSIC_EVENT("MM2_RESTART1")
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "Min2****Replay skipped to cement factory****")
|
|
#ENDIF
|
|
|
|
bReplayCementFactory = TRUE
|
|
|
|
RC_END_Z_SKIP(TRUE)
|
|
|
|
ENDPROC
|
|
|
|
PROC SkipToEnd()
|
|
|
|
START_REPLAY_SETUP(<<349.8519, 2662.7688, 43.6822>>, 137.3727)
|
|
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
TRIGGER_MUSIC_EVENT("MM2_STOP")
|
|
bDebugSkipping = TRUE
|
|
ResetStuff()
|
|
Initialise()
|
|
WaitForAssets()
|
|
SpawnPlayerCar()
|
|
SpawnJosefAndJoe()
|
|
SkipStage1()
|
|
SpawnChaseCar()
|
|
SpawnImmigrant()
|
|
SkipStage2()
|
|
RequestModelsSecondChase()
|
|
LoadModelsSecondChase()
|
|
SpawnChaseCar()
|
|
SpawnImmigrant()
|
|
|
|
END_REPLAY_SETUP()
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
//IF NOT IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
// SET_PED_INTO_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
//ENDIF
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
SET_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],VS_FRONT_RIGHT)
|
|
ENDIF
|
|
//IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
SET_PED_INTO_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],VS_BACK_LEFT)
|
|
//ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT DOES_ENTITY_EXIST(pedImmigrant[1])
|
|
pedImmigrant[1] = CREATE_PED(PEDTYPE_MISSION,S_M_M_Migrant_01,GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],<<0,0,10>>),0)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrant[1],PED_COMP_HEAD,0,1)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrant[1],PED_COMP_TORSO,1,0)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrant[1],PED_COMP_LEG,0,0)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrant[1],PED_COMP_FEET,1,0)
|
|
SET_PED_COMPONENT_VARIATION(pedImmigrant[1],PED_COMP_SPECIAL,1,0)
|
|
CPRINTLN(DEBUG_MISSION, "**** pedImmigrant[1] didn't exist - create ****")
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(pedImmigrant[1])
|
|
//RESET_PED_MOVEMENT_CLIPSET(pedImmigrant[1])
|
|
ssClimbToBack_2 = CREATE_SYNCHRONIZED_SCENE(<<0,0,0>>,<<0,0,0>>)
|
|
SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(ssClimbToBack_2,TRUE)
|
|
ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(ssClimbToBack_2,sRCLauncherDataLocal.vehID[0],GET_ENTITY_BONE_INDEX_BY_NAME(sRCLauncherDataLocal.vehID[0], "seat_pside_r"))
|
|
TASK_SYNCHRONIZED_SCENE(pedImmigrant[1], ssClimbToBack_2, "missminuteman_2ig_1", "entertrunk_josef", SLOW_BLEND_IN, SLOW_BLEND_OUT,SYNCED_SCENE_DONT_INTERRUPT,RBF_BULLET_IMPACT | RBF_PLAYER_IMPACT | RBF_IMPACT_OBJECT | RBF_VEHICLE_IMPACT)
|
|
SET_SYNCHRONIZED_SCENE_PHASE(ssClimbToBack_2,0.99)
|
|
SET_PED_CAN_BE_TARGETTED(pedImmigrant[1],FALSE)
|
|
SET_PED_RELATIONSHIP_GROUP_HASH(pedImmigrant[1],GET_PED_RELATIONSHIP_GROUP_HASH(PLAYER_PED_ID()))
|
|
iSyncPed = 1
|
|
CPRINTLN(DEBUG_MISSION, "**** pedImmigrant[1] kick off SS ****")
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF NOT IS_PED_IN_VEHICLE(pedImmigrantChase2,sRCLauncherDataLocal.vehID[0])
|
|
SET_PED_INTO_VEHICLE(pedImmigrantChase2,sRCLauncherDataLocal.vehID[0],VS_BACK_RIGHT)
|
|
SET_PED_CAN_BE_TARGETTED(pedImmigrantChase2,FALSE)
|
|
SET_PED_RELATIONSHIP_GROUP_HASH(pedImmigrantChase2,GET_PED_RELATIONSHIP_GROUP_HASH(PLAYER_PED_ID()))
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
//RESOLVE_IDLES()
|
|
|
|
SAFE_REMOVE_BLIP(blipLocate[0])
|
|
SAFE_REMOVE_BLIP(blipLocate[1])
|
|
|
|
SET_ENTITY_COORDS(sRCLauncherDataLocal.vehID[0],<<696.1606, 2704.9006, 39.4572>>)
|
|
SET_ENTITY_HEADING(sRCLauncherDataLocal.vehID[0],92.8104)
|
|
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING()
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH()
|
|
|
|
SAFE_TELEPORT_ENTITY(PLAYER_PED_ID(),<<698.7277, 2708.0000, 39.3397>>, 91.2899)
|
|
|
|
Passdriveoff()
|
|
|
|
iTimerPassDriveOff = GET_GAME_TIMER() - 17000
|
|
|
|
missionStage = MS_MISSION_PASSING
|
|
|
|
//LOAD_SCENE(<<349.8519, 2662.7688, 43.6822>>)
|
|
|
|
IF NOT HAS_PED_GOT_WEAPON(PLAYER_PED_ID(),WEAPONTYPE_STUNGUN)
|
|
GIVE_WEAPON_TO_PED(PLAYER_PED_ID(),WEAPONTYPE_STUNGUN,1,TRUE)
|
|
ENDIF
|
|
|
|
//WAIT(500)
|
|
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING(0)
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH(0)
|
|
|
|
SAFE_FADE_SCREEN_IN_FROM_BLACK(DEFAULT_FADE_TIME,FALSE)
|
|
|
|
ENDPROC
|
|
|
|
PROC DEBUG_Check_Skips()
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
|
|
SkipMenuStruct[0].sTxtLabel = "Intro Cutscene"
|
|
SkipMenuStruct[1].sTxtLabel = "Quad Chase"
|
|
SkipMenuStruct[2].sTxtLabel = "Scrambler Chase"
|
|
SkipMenuStruct[3].sTxtLabel = "End"
|
|
|
|
IF LAUNCH_MISSION_STAGE_MENU(SkipMenuStruct, iReturnStage)
|
|
|
|
IF iReturnStage = 0
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
//bDebugSkipping = TRUE
|
|
ResetStuff()
|
|
Initialise()
|
|
missionStage = MS_INTRO_MOCAP
|
|
|
|
ELIF iReturnStage = 1
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
bDebugSkipping = TRUE
|
|
ResetStuff()
|
|
Initialise()
|
|
WaitForAssets()
|
|
SpawnPlayerCar()
|
|
SpawnJosefAndJoe()
|
|
SkipStage1()
|
|
missionStage = MS_SETUP_CHASE1
|
|
|
|
ELIF iReturnStage = 2
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
bDebugSkipping = TRUE
|
|
ResetStuff()
|
|
Initialise()
|
|
WaitForAssets()
|
|
SpawnPlayerCar()
|
|
SpawnJosefAndJoe()
|
|
SkipStage1()
|
|
SpawnChaseCar()
|
|
SpawnImmigrant()
|
|
SkipStage2()
|
|
RequestModelsSecondChase()
|
|
LoadModelsSecondChase()
|
|
missionStage = MS_SETUP_CHASE2
|
|
|
|
ELIF iReturnStage = 3
|
|
/*
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
bDebugSkipping = TRUE
|
|
ResetStuff()
|
|
Initialise()
|
|
WaitForAssets()
|
|
SpawnPlayerCar()
|
|
SpawnJosefAndJoe()
|
|
SkipStage1()
|
|
SpawnChaseCar()
|
|
SpawnImmigrant()
|
|
SkipStage2()
|
|
RequestModelsSecondChase()
|
|
LoadModelsSecondChase()
|
|
SpawnChaseCar()
|
|
SpawnImmigrant()
|
|
SkipStage4()
|
|
*/
|
|
SkipToEnd()
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
IF IS_KEYBOARD_KEY_JUST_PRESSED(KEY_J)
|
|
|
|
bDebugSkipping = TRUE
|
|
|
|
TRIGGER_MUSIC_EVENT("MM2_STOP")
|
|
|
|
SWITCH missionStage
|
|
|
|
CASE MS_SETUP_MISSION
|
|
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
|
|
BREAK
|
|
|
|
CASE MS_SETUP_CHASE1
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
SkipStage1()
|
|
BREAK
|
|
|
|
CASE MS_UPDATE_CHASE1
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
SkipStage2()
|
|
BREAK
|
|
|
|
CASE MS_IMMIGRANT1_APPREHENDED
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
SkipStage2()
|
|
BREAK
|
|
|
|
CASE MS_SETUP_CHASE2
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
SkipStage3()
|
|
BREAK
|
|
|
|
CASE MS_CEMENT_FACTORY
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
SkipStage3()
|
|
BREAK
|
|
|
|
CASE MS_UPDATE_CHASE2
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
SkipStage3()
|
|
BREAK
|
|
|
|
CASE MS_JOSEF_PICKED_UP_IMMIGRANT2
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
SkipStage3()
|
|
BREAK
|
|
|
|
CASE MS_SETUP_CHASE3
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
SkipStage3()
|
|
BREAK
|
|
|
|
CASE MS_DRIVE_TO_END
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
SkipStage4()
|
|
BREAK
|
|
|
|
CASE MS_MISSION_PASSING
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
CLEAR_PRINTS()
|
|
Script_Passed()
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
ENDIF
|
|
|
|
IF IS_KEYBOARD_KEY_JUST_PRESSED(KEY_P)
|
|
WAIT_FOR_CUTSCENE_TO_STOP()
|
|
bDebugSkipping = TRUE
|
|
ResetStuff()
|
|
Initialise()
|
|
IF missionStage = MS_INTRO_MOCAP
|
|
missionStage = MS_INTRO_MOCAP
|
|
ELIF missionStage = MS_SETUP_MISSION
|
|
missionStage = MS_INTRO_MOCAP
|
|
ELIF missionStage = MS_SETUP_CHASE1
|
|
missionStage = MS_INTRO_MOCAP
|
|
ELIF missionStage = MS_UPDATE_CHASE1
|
|
missionStage = MS_INTRO_MOCAP
|
|
ELIF missionStage = MS_IMMIGRANT1_APPREHENDED
|
|
SkipPastCS()
|
|
ELIF missionStage = MS_SETUP_CHASE2
|
|
SkipPastCS()
|
|
ELIF missionStage = MS_CEMENT_FACTORY
|
|
SkipFirstChase()
|
|
ELIF missionStage = MS_UPDATE_CHASE2
|
|
IF GET_GAME_TIMER() > iArrivedAtCementFactory + 15000
|
|
SkipToCementFact()
|
|
ELSE
|
|
SkipFirstChase()
|
|
ENDIF
|
|
ELIF missionStage = MS_DRIVE_TO_END
|
|
SkipToCementFact()
|
|
ELIF missionStage = MS_MISSION_PASSING
|
|
SkipToCementFact()
|
|
ENDIF
|
|
ENDIF
|
|
|
|
#ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Manage the rolling start at chase 2
|
|
PROC ManageRollingStart()
|
|
|
|
IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_CONTROL_PRESSED(PLAYER_CONTROL, INPUT_VEH_ACCELERATE)
|
|
OR IS_CONTROL_PRESSED(PLAYER_CONTROL, INPUT_VEH_BRAKE)
|
|
OR IS_CONTROL_PRESSED(PLAYER_CONTROL, INPUT_VEH_MOVE_LEFT)
|
|
OR IS_CONTROL_PRESSED(PLAYER_CONTROL, INPUT_VEH_MOVE_RIGHT)
|
|
OR GET_GAME_TIMER() > iRollingStartTimer + 3500
|
|
IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(sRCLauncherDataLocal.vehID[0])
|
|
STOP_PLAYBACK_RECORDED_VEHICLE(sRCLauncherDataLocal.vehID[0])
|
|
CLEAR_PED_TASKS(PLAYER_PED_ID())
|
|
SET_PLAYER_CONTROL(PLAYER_ID(),TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Sets up the mission, spawn/init everything
|
|
PROC MS_IntroMocap()
|
|
|
|
IF IS_REPLAY_IN_PROGRESS() = TRUE
|
|
AND bDebugSkipping = FALSE
|
|
IF CREATE_NPC_PED_ON_FOOT(sRCLauncherDataLocal.pedID[ic_JOE],CHAR_JOE,<< 38.2818, 4537.5703, 95.4783 >>, 252.9034)
|
|
AND CREATE_NPC_PED_ON_FOOT(sRCLauncherDataLocal.pedID[ic_JOSEF],CHAR_JOSEF,<< 33.8430, 4537.3950, 95.9413 >>, 309.8384)
|
|
//SET_PED_PRELOAD_PROP_DATA(sRCLauncherDataLocal.pedID[ic_JOE],ANCHOR_HEAD,0)
|
|
//SET_PED_PROP_INDEX(sRCLauncherDataLocal.pedID[ic_JOE], ANCHOR_HEAD, 0)
|
|
SET_PED_PROP_INDEX(sRCLauncherDataLocal.pedID[ic_JOE], ANCHOR_EYES, 0)
|
|
SET_PED_PROP_INDEX(sRCLauncherDataLocal.pedID[ic_JOSEF], ANCHOR_HEAD, 0)
|
|
SET_PED_PROP_INDEX(sRCLauncherDataLocal.pedID[ic_JOSEF], ANCHOR_EYES, 0)
|
|
INT iReplayStage = GET_REPLAY_MID_MISSION_STAGE()
|
|
|
|
IF g_bShitskipAccepted = TRUE
|
|
iReplayStage++ // player is skipping this stage
|
|
ENDIF
|
|
|
|
IF iReplayStage = 0
|
|
SkipPastCS()
|
|
ELIF iReplayStage = 1
|
|
SkipFirstChase()
|
|
ELIF iReplayStage = 2
|
|
SkipToCementFact()
|
|
ELIF iReplayStage > 2
|
|
SkipToEnd()
|
|
ENDIF
|
|
|
|
ENDIF
|
|
ELSE
|
|
IntroCutscene()
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Sets up the mission, spawn/init everything
|
|
PROC MS_SetupMission()
|
|
|
|
WaitForAssets()
|
|
SpawnPlayerCar()
|
|
SpawnJosefAndJoe()
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "Min2****Init setup chase 1****")
|
|
#ENDIF
|
|
IF bPrint01 = FALSE
|
|
PRINT_NOW("MIN2_01",7000,0) //chase the immigrant
|
|
bPrint01 = TRUE
|
|
ENDIF
|
|
iTimerChase1Started = GET_GAME_TIMER()
|
|
missionStage = MS_SETUP_CHASE1
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Setup the first chase
|
|
PROC MS_SetupChase1()
|
|
|
|
SpawnChaseCar()
|
|
SpawnImmigrant()
|
|
Convo()
|
|
IF bOkToStartChase = TRUE
|
|
StartVehiclePlayback()
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "Min2****Init update chase 1****")
|
|
#ENDIF
|
|
//IF NOT IS_REPLAY_IN_PROGRESS()
|
|
INFORM_MISSION_STATS_SYSTEM_OF_TIME_WINDOW_OPEN(MIN2_FIRST_CAPTURE)
|
|
//ENDIF
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "STATS >>>> TIME WINDOW OPENED (First chase) <<<< ")
|
|
#ENDIF
|
|
|
|
REPLAY_RECORD_BACK_FOR_TIME(5.0, 4.0, REPLAY_IMPORTANCE_LOWEST)
|
|
|
|
missionStage = MS_UPDATE_CHASE1
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Manage the first chase
|
|
PROC MS_UpdateChase1()
|
|
|
|
SET_INSTANCE_PRIORITY_HINT(INSTANCE_HINT_DRIVING)
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrant[0])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(pedImmigrant[0])
|
|
AND NOT IS_PED_RAGDOLL(pedImmigrant[0])
|
|
AND GET_ENTITY_HEALTH(pedImmigrant[0]) > 150
|
|
SET_ENTITY_HEALTH(pedImmigrant[0],150)
|
|
ENDIF
|
|
IF bDisableAbortConvo
|
|
AND IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
AND NOT IS_PED_RAGDOLL(pedImmigrant[i])
|
|
SET_AUDIO_FLAG("DisableAbortConversationForRagdoll", FALSE)
|
|
bDisableAbortConvo = FALSE
|
|
ENDIF
|
|
START_AUDIO_SCENE_CHASE()
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF bBlokestunned = TRUE
|
|
IF bImmigrantHandsUp = FALSE
|
|
IF IS_ENTITY_ALIVE(vehChaseCar[0])
|
|
IF GET_IS_VEHICLE_ENGINE_RUNNING(vehChaseCar[0])
|
|
SET_VEHICLE_ENGINE_ON(vehChaseCar[0],FALSE,TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
//IF NOT IS_PED_RAGDOLL(pedImmigrant[i])
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_VEHICLE_DRIVE_TO_COORD) = PERFORMING_TASK
|
|
OR GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_VEHICLE_DRIVE_WANDER) = PERFORMING_TASK
|
|
OR GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING) = PERFORMING_TASK
|
|
CLEAR_PED_TASKS(pedImmigrant[i])
|
|
ENDIF
|
|
//ENDIF
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],sRCLauncherDataLocal.pedID[ic_JOE],10)
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],sRCLauncherDataLocal.pedID[ic_JOSEF],10)
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),10)
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),100)
|
|
IF bPrint48GoBack = FALSE
|
|
PRINT_NOW("MIN2_48",DEFAULT_GOD_TEXT_TIME,0) //Go back and pick up the ~r~questionable.
|
|
bPrint48GoBack = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT IS_ENTITY_IN_WATER(pedImmigrant[i])
|
|
iPedInWater = 0
|
|
/*
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_WRITHE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_WRITHE) <> WAITING_TO_START_TASK
|
|
TASK_WRITHE(pedImmigrant[i],PLAYER_PED_ID(),-1,SHM_ONGROUND)
|
|
ENDIF
|
|
*/
|
|
IF NOT IS_PED_RAGDOLL(pedImmigrant[i])
|
|
bCreateNmMessage = FALSE
|
|
IF CAN_PED_RAGDOLL(pedImmigrant[i])
|
|
bRagdollTaskGiven = TRUE
|
|
SET_PED_TO_RAGDOLL(pedImmigrant[i],1000,2000,TASK_NM_SCRIPT)
|
|
ENDIF
|
|
ELSE
|
|
IF bRagdollTaskGiven = TRUE
|
|
IF bCreateNmMessage = FALSE
|
|
AND IS_PED_RUNNING_RAGDOLL_TASK(pedImmigrant[i])
|
|
CREATE_NM_MESSAGE(NM_START_START,NM_INJURED_ON_GROUND_MSG)
|
|
GIVE_PED_NM_MESSAGE(pedImmigrant[i])
|
|
bRagdollTaskGiven = FALSE
|
|
bCreateNmMessage = TRUE
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),40)
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 3, pedImmigrant[0], "MANUEL")
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_INJ1",CONV_PRIORITY_MEDIUM, DO_NOT_DISPLAY_SUBTITLES) //Immigrant groaning in pain 1
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
++iPedInWater
|
|
IF iPedInWater > 20
|
|
SET_ENTITY_HEALTH(pedImmigrant[i],0)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_WATER(pedImmigrant[i])
|
|
iPedInWater = 0
|
|
/*
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_WRITHE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_WRITHE) <> WAITING_TO_START_TASK
|
|
TASK_WRITHE(pedImmigrant[i],PLAYER_PED_ID(),-1,SHM_ONGROUND)
|
|
ENDIF
|
|
*/
|
|
IF NOT IS_PED_RAGDOLL(pedImmigrant[i])
|
|
bCreateNmMessage = FALSE
|
|
IF CAN_PED_RAGDOLL(pedImmigrant[i])
|
|
bRagdollTaskGiven = TRUE
|
|
SET_PED_TO_RAGDOLL(pedImmigrant[i],1000,2000,TASK_NM_SCRIPT)
|
|
ENDIF
|
|
ELSE
|
|
IF bRagdollTaskGiven = TRUE
|
|
IF bCreateNmMessage = FALSE
|
|
AND IS_PED_RUNNING_RAGDOLL_TASK(pedImmigrant[i])
|
|
CREATE_NM_MESSAGE(NM_START_START,NM_INJURED_ON_GROUND_MSG)
|
|
GIVE_PED_NM_MESSAGE(pedImmigrant[i])
|
|
bRagdollTaskGiven = FALSE
|
|
bCreateNmMessage = TRUE
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),40)
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 3, pedImmigrant[0], "MANUEL")
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_INJ1",CONV_PRIORITY_MEDIUM, DO_NOT_DISPLAY_SUBTITLES) //Immigrant groaning in pain 1
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
++iPedInWater
|
|
IF iPedInWater > 20
|
|
SET_ENTITY_HEALTH(pedImmigrant[i],0)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
IF IS_PED_IN_VEHICLE(pedImmigrant[i],vehChaseCar[i])
|
|
IF DOES_BLIP_EXIST(blipImmigrant[i])
|
|
UPDATE_CHASE_BLIP(blipImmigrant[i],pedImmigrant[i],300,0.8)
|
|
ENDIF
|
|
ENDIF
|
|
IF bBlokestunned = FALSE
|
|
IF GET_GAME_TIMER() > iTimerChase1Started + 9000
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrant[i],180)
|
|
IF iCatchUpLines < 3
|
|
IF GET_GAME_TIMER() > iTimerCatchUpLines + 6000
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_CATCH1",CONV_PRIORITY_MEDIUM) //Come on! Step on it!
|
|
++iCatchUpLines
|
|
iTimerCatchUpLines = GET_GAME_TIMER() + GET_RANDOM_INT_IN_RANGE(0,2000)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_PERFORM_SEQUENCE) <> PERFORMING_TASK
|
|
TASK_PERFORM_SEQUENCE(pedImmigrant[i],seqChase1)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_48")
|
|
IF NOT bDialogueGoBack
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrant[i],20)
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_GOBACK",CONV_PRIORITY_MEDIUM) //Right, let's go get him in custody.
|
|
REPLAY_RECORD_BACK_FOR_TIME(3.0, 7.0, REPLAY_IMPORTANCE_LOW)
|
|
bDialogueGoBack = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF iGoBackLines < 4
|
|
IF GET_GAME_TIMER() > iTimerGoBackLines + 6000
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrant[i],40)
|
|
IF iGoBackLines < 4
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_REMIND",CONV_PRIORITY_MEDIUM) //Are you just going to leave an enemy of this country on the side of the road?
|
|
++iGoBackLines
|
|
iTimerGoBackLines = GET_GAME_TIMER() + GET_RANDOM_INT_IN_RANGE(0,2000)
|
|
ENDIF
|
|
/*
|
|
ELSE
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_ABAND",CONV_PRIORITY_MEDIUM) //Trevor, you forgot the illegal!
|
|
++iGoBackLines
|
|
iTimerGoBackLines = GET_GAME_TIMER() + GET_RANDOM_INT_IN_RANGE(0,2000)
|
|
ENDIF
|
|
*/
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
//DoTraffic()
|
|
JosefOnFoot()
|
|
JoeOnFoot()
|
|
UpdateVehiclePlayback()
|
|
Chase1JJAI()
|
|
Convo()
|
|
//RandomCarHorns()
|
|
IsPlayerAbandoning()
|
|
|
|
IF GET_GAME_TIMER() > iTimerChase1Started + 20000
|
|
IF IS_PED_UNINJURED(pedImmigrant[0])
|
|
IF IS_ENTITY_ATTACHED(pedImmigrant[0])
|
|
OR IS_PED_IN_ANY_VEHICLE(pedImmigrant[0])
|
|
SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(0.5)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(0)
|
|
ENDIF
|
|
|
|
IF bImmigrantHandsUp = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "Min2****Init immigrant 1 apprehended****")
|
|
#ENDIF
|
|
SET_AUDIO_FLAG("DisableAbortConversationForRagdoll", FALSE)
|
|
bDisableAbortConvo = FALSE
|
|
iCatchUpLines = 0
|
|
missionStage = MS_IMMIGRANT1_APPREHENDED
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: First immigrant captured, waiting for them to get in the vehicle
|
|
PROC MS_Immigrant1Apprehended()
|
|
|
|
JoeOnFoot()
|
|
ImmigrantGetInTruck()
|
|
IsPlayerAbandoning()
|
|
Convo()
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
JosefOnFoot()
|
|
/*
|
|
IF IS_PED_IN_VEHICLE(pedImmigrant[0],sRCLauncherDataLocal.vehID[0],TRUE)
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],15.0)
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT,PEDMOVEBLENDRATIO_WALK)
|
|
ELSE
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT,PEDMOVEBLENDRATIO_RUN)
|
|
ENDIF
|
|
ENDIF
|
|
*/
|
|
ENDIF
|
|
|
|
IF bBloke1AttachedToCar = TRUE
|
|
|
|
//RequestModelsSecondChase()
|
|
//LoadModelsSecondChase()
|
|
bLosingCops = TRUE
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "Min2****Init setup chase 2****")
|
|
#ENDIF
|
|
REPLAY_RECORD_BACK_FOR_TIME(5.0, 5.0, REPLAY_IMPORTANCE_LOW)
|
|
missionStage = MS_SETUP_CHASE2
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Setup the second chase, waiting for the player to get to the cement factory
|
|
PROC MS_SetupChase2()
|
|
|
|
IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(PLAYER_PED_ID(),<< 267.2497, 2852.1667, 42.6129 >>) < 200
|
|
SET_PLAYER_WANTED_LEVEL(PLAYER_ID(),GET_PLAYER_WANTED_LEVEL(PLAYER_ID()))
|
|
ENDIF
|
|
|
|
IF GET_PLAYER_WANTED_LEVEL(PLAYER_ID()) = 0
|
|
IF IS_ENTITY_IN_RANGE_COORDS(PLAYER_PED_ID(),<< 267.2497, 2852.1667, 42.6129 >>,250)
|
|
IF bLosingCops = TRUE
|
|
RequestModelsSecondChase()
|
|
LoadModelsSecondChase()
|
|
ENDIF
|
|
bLosingCops = FALSE
|
|
bPrintLosingCops = FALSE
|
|
SpawnChaseCar()
|
|
SpawnImmigrant()
|
|
OpenGates()
|
|
ENDIF
|
|
IF DOES_BLIP_EXIST(blipLocate[i])
|
|
IF IS_ENTITY_AT_COORD(PLAYER_PED_ID(),<< 267.2497, 2852.1667, 42.6129 >>,<<LOCATE_SIZE_ANY_MEANS,LOCATE_SIZE_ANY_MEANS,LOCATE_SIZE_HEIGHT>>,TRUE)
|
|
ENDIF
|
|
IF bCementFactoryCheckpoint = FALSE
|
|
CleanupTraffic()
|
|
SET_REPLAY_MID_MISSION_STAGE_WITH_NAME(1,"Driving to the cement factory")
|
|
bCementFactoryCheckpoint = TRUE
|
|
ENDIF
|
|
IF IS_ENTITY_IN_RANGE_COORDS(PLAYER_PED_ID(),<< 267.2497, 2852.1667, 42.6129 >>,240)
|
|
SetupSequences()
|
|
ENDIF
|
|
ELSE
|
|
IF bCementFactoryCheckpoint = FALSE
|
|
//DoTraffic()
|
|
ENDIF
|
|
ENDIF
|
|
Convo()
|
|
IF bOkToStartChase = TRUE
|
|
SetupSequences()
|
|
iArrivedAtCementFactory = GET_GAME_TIMER()
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "Min2****Init cement factory****")
|
|
#ENDIF
|
|
TRIGGER_MUSIC_EVENT("MM2_START_FORA")
|
|
missionStage = MS_CEMENT_FACTORY
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOSEF], CA_USE_VEHICLE, TRUE)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOSEF], CA_DO_DRIVEBYS, TRUE)
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
AND NOT IS_SYNCHRONIZED_SCENE_RUNNING(ssPassport)
|
|
IF IS_IT_OK_FOR_JOSEF_TO_GET_IN()
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],10.0)
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT,1)
|
|
ELSE
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT,PEDMOVEBLENDRATIO_RUN)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_FOLLOW_NAV_MESH_TO_COORD) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_FOLLOW_NAV_MESH_TO_COORD) <> WAITING_TO_START_TASK
|
|
TASK_FOLLOW_NAV_MESH_TO_COORD(sRCLauncherDataLocal.pedID[ic_JOSEF],GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],<<-1.8,-0.2,0>>),1,DEFAULT_TIME_BEFORE_WARP_MINUTE_2,0.5,ENAV_DEFAULT,GET_ENTITY_HEADING(sRCLauncherDataLocal.vehID[0])-90.0)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOE], CA_USE_VEHICLE, TRUE)
|
|
SET_PED_COMBAT_ATTRIBUTES(sRCLauncherDataLocal.pedID[ic_JOE], CA_DO_DRIVEBYS, TRUE)
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],TRUE)
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_FRONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF NOT bPatrolVehDialogue
|
|
AND bButterFingers
|
|
IF NOT IS_ENTITY_IN_RANGE_COORDS(PLAYER_PED_ID(),<< 267.2497, 2852.1667, 42.6129 >>,200)
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0]) //How did you get your hands on this patrol car?
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_48")
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JJ4", CONV_PRIORITY_VERY_LOW)
|
|
bPatrolVehDialogue = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT IS_SYNCHRONIZED_SCENE_RUNNING(ssPassport)
|
|
IF NOT bDialogueLeftJorJ
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF GET_ENTITY_SPEED(PLAYER_PED_ID()) > 10.0
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],40)
|
|
IF NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_29")
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_32")
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_33")
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_49")
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_06")
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_NOJOE", CONV_PRIORITY_VERY_LOW) //Hey, you forgot me, you dolt!
|
|
ELSE
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_NOJOE", CONV_PRIORITY_VERY_LOW,DO_NOT_DISPLAY_SUBTITLES)
|
|
ENDIF
|
|
bDialogueLeftJorJ = TRUE
|
|
ENDIF
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],40)
|
|
IF NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_29")
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_32")
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_33")
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_49")
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_06")
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_NOJOSEF", CONV_PRIORITY_VERY_LOW) //Hey! I hate this new guy!
|
|
ELSE
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_NOJOSEF", CONV_PRIORITY_VERY_LOW,DO_NOT_DISPLAY_SUBTITLES)
|
|
ENDIF
|
|
bDialogueLeftJorJ = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF iDialogueGoBackJorJ < 3
|
|
AND GET_GAME_TIMER() > iTimerGoBackJorJ + 6000
|
|
IF NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_29")
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_32")
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_33")
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_49")
|
|
AND NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_06")
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],50)
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_GOBACK2", CONV_PRIORITY_VERY_LOW) //No! No! Need Joe!
|
|
++iDialogueGoBackJorJ
|
|
iTimerGoBackJorJ = GET_GAME_TIMER() + GET_RANDOM_INT_IN_RANGE(0,2000)
|
|
ENDIF
|
|
IF NOT IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],50)
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_GOBACK1", CONV_PRIORITY_VERY_LOW) //We're not leaving without Josef.
|
|
++iDialogueGoBackJorJ
|
|
iTimerGoBackJorJ = GET_GAME_TIMER() + GET_RANDOM_INT_IN_RANGE(0,2000)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
bLosingCops = TRUE
|
|
SAFE_DELETE_PED(pedImmigrant[1])
|
|
SAFE_DELETE_PED(pedImmigrantChase2)
|
|
SAFE_DELETE_PED(pedWorker[0])
|
|
SAFE_DELETE_VEHICLE(vehChaseCar[1])
|
|
SAFE_DELETE_VEHICLE(vehChaseCarChase2)
|
|
SAFE_DELETE_VEHICLE(vehSpeedo)
|
|
IF NOT IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT DOES_BLIP_EXIST(blipPlayerCar)
|
|
blipPlayerCar = CREATE_VEHICLE_BLIP(sRCLauncherDataLocal.vehID[0])
|
|
ENDIF
|
|
ELSE
|
|
IF bPrintLosingCops = FALSE
|
|
PRINT_NOW("MIN2_COPS",DEFAULT_GOD_TEXT_TIME,0)
|
|
bPrintLosingCops = TRUE
|
|
ENDIF
|
|
SAFE_REMOVE_BLIP(blipPlayerCar)
|
|
ENDIF
|
|
//<< 267.2497, 2852.1667, 42.6129 >> //cement factory
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Player arrived at the cement factory, start second chase
|
|
PROC MS_CementFactory()
|
|
|
|
IF bSecondMusicCue = FALSE
|
|
IF GET_GAME_TIMER() > iArrivedAtCementFactory + 5000
|
|
TRIGGER_MUSIC_EVENT("MM2_START_STA")
|
|
bSecondMusicCue = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
/*
|
|
WHILE(TRUE)
|
|
OpenGates()
|
|
DEBUG_Check_Debug_Keys()
|
|
DEBUG_Check_Skips()
|
|
WAIT(0)
|
|
ENDWHILE
|
|
*/
|
|
SAFE_REMOVE_BLIP(blipLocate[i])
|
|
OpenGates()
|
|
Convo()
|
|
UpdateAmbientCementFactory()
|
|
|
|
IF GET_GAME_TIMER() > iArrivedAtCementFactory + 2000
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT DOES_BLIP_EXIST(blipImmigrant[i])
|
|
blipImmigrant[i] = CREATE_PED_BLIP(pedImmigrant[i])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(pedImmigrant[i])
|
|
SET_BLIP_SCALE(blipImmigrant[i],BLIP_SIZE_PED)
|
|
ELSE
|
|
SET_BLIP_SCALE(blipImmigrant[i],BLIP_SIZE_VEHICLE)
|
|
ENDIF
|
|
//CLEAR_PRINTS()
|
|
IF bPrint30 = FALSE
|
|
//PRINT_NOW("",7000,0) //chase the immigrants
|
|
bPrint30 = TRUE
|
|
IF i = 0 //There he is! Get after him! etc
|
|
PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JOSEF", "MIN2_JOSEF_4", CONV_PRIORITY_VERY_LOW)
|
|
REPLAY_RECORD_BACK_FOR_TIME(3.0, 8.0, REPLAY_IMPORTANCE_LOW)
|
|
ELIF i = 1
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 4, pedImmigrantChase2, "IMMIGRANTMALE")
|
|
//PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR", "MIN2_SURR_15", CONV_PRIORITY_VERY_LOW,DO_NOT_DISPLAY_SUBTITLES)
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_15", CONV_PRIORITY_LOW,DO_NOT_DISPLAY_SUBTITLES)
|
|
ELIF i = 2
|
|
//PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JOSEF", "MIN2_JOSEF_6", CONV_PRIORITY_VERY_LOW,DO_NOT_DISPLAY_SUBTITLES)
|
|
ENDIF
|
|
ENDIF
|
|
IF bPlayerNotInCarBetweenCapturingImmigrants = TRUE
|
|
IF bPrint31 = FALSE
|
|
PRINT_NOW("MIN2_31",7000,0) //Go back and pick up the ~r~questionable.
|
|
bPrint31 = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF NOT DOES_BLIP_EXIST(blipImmigrantChase2)
|
|
blipImmigrantChase2 = CREATE_PED_BLIP(pedImmigrantChase2)
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(pedImmigrantChase2)
|
|
SET_BLIP_SCALE(blipImmigrantChase2,BLIP_SIZE_PED)
|
|
ELSE
|
|
SET_BLIP_SCALE(blipImmigrantChase2,BLIP_SIZE_VEHICLE)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF NOT DOES_BLIP_EXIST(blipImmigrant[i])
|
|
IF bPlayerNotInCarBetweenCapturingImmigrants = FALSE
|
|
IF bPlayerAtChaseOnFootMessagePrinted = FALSE
|
|
IF bPrint39 = FALSE
|
|
PRINT_NOW("MIN2_39",7000,0) //The Immigrants are escaping! Get in the ~b~vehicle.
|
|
bPrint39 = TRUE
|
|
ENDIF
|
|
bPlayerAtChaseOnFootMessagePrinted = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF GET_GAME_TIMER() > iArrivedAtCementFactory + 5000
|
|
SetupSequences()
|
|
StartVehiclePlayback()
|
|
SET_REPLAY_MID_MISSION_STAGE_WITH_NAME(2,"Dirt bike chase",TRUE)
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "Min2****Init update chase 2****")
|
|
#ENDIF
|
|
//IF NOT IS_REPLAY_IN_PROGRESS()
|
|
INFORM_MISSION_STATS_SYSTEM_OF_TIME_WINDOW_OPEN(MIN2_SECOND_CAPTURE)
|
|
//ENDIF
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "STATS >>>> TIME WINDOW OPENED (Second chase) <<<< ")
|
|
#ENDIF
|
|
missionStage = MS_UPDATE_CHASE2
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Manage second chase
|
|
PROC MS_UpdateChase2()
|
|
|
|
SET_INSTANCE_PRIORITY_HINT(INSTANCE_HINT_DRIVING)
|
|
|
|
IF bSecondMusicCue = FALSE
|
|
IF GET_GAME_TIMER() > iArrivedAtCementFactory + 5000
|
|
TRIGGER_MUSIC_EVENT("MM2_START_STA")
|
|
bSecondMusicCue = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
//IF GET_GAME_TIMER() > iChaseStartedTimer + 32500
|
|
// SpawnDuster()
|
|
//ENDIF
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF bSECONDBlokestunned = TRUE
|
|
IF bImmigrantChase2HandsUp = FALSE
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(pedImmigrantChase2,sRCLauncherDataLocal.pedID[ic_JOE],10)
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(pedImmigrantChase2,sRCLauncherDataLocal.pedID[ic_JOSEF],10)
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(pedImmigrantChase2,PLAYER_PED_ID(),10)
|
|
IF NOT IS_ENTITY_IN_WATER(pedImmigrantChase2)
|
|
iPed2InWater = 0
|
|
/*
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_WRITHE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_WRITHE) <> WAITING_TO_START_TASK
|
|
TASK_WRITHE(pedImmigrantChase2,PLAYER_PED_ID(),-1,SHM_ONGROUND)
|
|
ENDIF
|
|
*/
|
|
IF NOT IS_PED_RAGDOLL(pedImmigrantChase2)
|
|
bCreateNmMessagePed2 = FALSE
|
|
IF CAN_PED_RAGDOLL(pedImmigrantChase2)
|
|
bRagdollTaskGivenPed2 = TRUE
|
|
SET_PED_TO_RAGDOLL(pedImmigrantChase2,1000,2000,TASK_NM_SCRIPT)
|
|
ENDIF
|
|
ELSE
|
|
IF bRagdollTaskGivenPed2 = TRUE
|
|
IF bCreateNmMessagePed2 = FALSE
|
|
AND IS_PED_RUNNING_RAGDOLL_TASK(pedImmigrantChase2)
|
|
CREATE_NM_MESSAGE(NM_START_START,NM_INJURED_ON_GROUND_MSG)
|
|
GIVE_PED_NM_MESSAGE(pedImmigrantChase2)
|
|
bRagdollTaskGivenPed2 = FALSE
|
|
bCreateNmMessagePed2 = TRUE
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(pedImmigrantChase2,PLAYER_PED_ID(),40)
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 4, pedImmigrantChase2, "IMMIGRANTMALE")
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_INJ2",CONV_PRIORITY_MEDIUM, DO_NOT_DISPLAY_SUBTITLES) //Immigrant groaning in pain 4
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
++iPed2InWater
|
|
IF iPed2InWater > 60
|
|
SET_ENTITY_HEALTH(pedImmigrantChase2,0)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_WATER(pedImmigrantChase2)
|
|
iPed2InWater = 0
|
|
/*
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_WRITHE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_WRITHE) <> WAITING_TO_START_TASK
|
|
TASK_WRITHE(pedImmigrantChase2,PLAYER_PED_ID(),-1,SHM_ONGROUND)
|
|
ENDIF
|
|
*/
|
|
IF NOT IS_PED_RAGDOLL(pedImmigrantChase2)
|
|
bCreateNmMessagePed2 = FALSE
|
|
IF CAN_PED_RAGDOLL(pedImmigrantChase2)
|
|
bRagdollTaskGivenPed2 = TRUE
|
|
SET_PED_TO_RAGDOLL(pedImmigrantChase2,1000,2000,TASK_NM_SCRIPT)
|
|
ENDIF
|
|
ELSE
|
|
IF bRagdollTaskGivenPed2 = TRUE
|
|
IF bCreateNmMessagePed2 = FALSE
|
|
AND IS_PED_RUNNING_RAGDOLL_TASK(pedImmigrantChase2)
|
|
CREATE_NM_MESSAGE(NM_START_START,NM_INJURED_ON_GROUND_MSG)
|
|
GIVE_PED_NM_MESSAGE(pedImmigrantChase2)
|
|
bRagdollTaskGivenPed2 = FALSE
|
|
bCreateNmMessagePed2 = TRUE
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(pedImmigrantChase2,PLAYER_PED_ID(),40)
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 4, pedImmigrantChase2, "IMMIGRANTMALE2")
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_INJ2",CONV_PRIORITY_MEDIUM, DO_NOT_DISPLAY_SUBTITLES) //Immigrant groaning in pain 4
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
++iPed2InWater
|
|
IF iPed2InWater > 60
|
|
SET_ENTITY_HEALTH(pedImmigrantChase2,0)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF bBlokestunned = TRUE
|
|
IF bImmigrantHandsUp = FALSE
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],sRCLauncherDataLocal.pedID[ic_JOE],10) //9.2
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],sRCLauncherDataLocal.pedID[ic_JOSEF],10)
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),10)
|
|
IF NOT IS_ENTITY_IN_WATER(pedImmigrant[i])
|
|
iPedInWater = 0
|
|
/*
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_WRITHE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_WRITHE) <> WAITING_TO_START_TASK
|
|
TASK_WRITHE(pedImmigrant[i],PLAYER_PED_ID(),-1,SHM_ONGROUND)
|
|
ENDIF
|
|
*/
|
|
IF NOT IS_PED_RAGDOLL(pedImmigrant[i])
|
|
bCreateNmMessage = FALSE
|
|
IF CAN_PED_RAGDOLL(pedImmigrant[i])
|
|
bRagdollTaskGiven = TRUE
|
|
SET_PED_TO_RAGDOLL(pedImmigrant[i],1000,2000,TASK_NM_SCRIPT)
|
|
ENDIF
|
|
ELSE
|
|
IF bRagdollTaskGiven = TRUE
|
|
IF bCreateNmMessage = FALSE
|
|
AND IS_PED_RUNNING_RAGDOLL_TASK(pedImmigrant[i])
|
|
CREATE_NM_MESSAGE(NM_START_START,NM_INJURED_ON_GROUND_MSG)
|
|
GIVE_PED_NM_MESSAGE(pedImmigrant[i])
|
|
bRagdollTaskGiven = FALSE
|
|
bCreateNmMessage = TRUE
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),40)
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 5, pedImmigrant[i], "IMMIGRANTMALE2")
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_INJ3",CONV_PRIORITY_MEDIUM, DO_NOT_DISPLAY_SUBTITLES) //Immigrant groaning in pain 7
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
++iPedInWater
|
|
IF iPedInWater > 60
|
|
SET_ENTITY_HEALTH(pedImmigrant[i],0)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_WATER(pedImmigrant[i])
|
|
iPedInWater = 0
|
|
/*
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_WRITHE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_WRITHE) <> WAITING_TO_START_TASK
|
|
TASK_WRITHE(pedImmigrant[i],PLAYER_PED_ID(),-1,SHM_ONGROUND)
|
|
ENDIF
|
|
*/
|
|
IF NOT IS_PED_RAGDOLL(pedImmigrant[i])
|
|
bCreateNmMessage = FALSE
|
|
IF CAN_PED_RAGDOLL(pedImmigrant[i])
|
|
bRagdollTaskGiven = TRUE
|
|
SET_PED_TO_RAGDOLL(pedImmigrant[i],1000,2000,TASK_NM_SCRIPT)
|
|
ENDIF
|
|
ELSE
|
|
IF bRagdollTaskGiven = TRUE
|
|
IF bCreateNmMessage = FALSE
|
|
AND IS_PED_RUNNING_RAGDOLL_TASK(pedImmigrant[i])
|
|
CREATE_NM_MESSAGE(NM_START_START,NM_INJURED_ON_GROUND_MSG)
|
|
GIVE_PED_NM_MESSAGE(pedImmigrant[i])
|
|
bRagdollTaskGiven = FALSE
|
|
bCreateNmMessage = TRUE
|
|
IF IS_ENTITY_IN_RANGE_ENTITY(pedImmigrant[i],PLAYER_PED_ID(),40)
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 5, pedImmigrant[i], "IMMIGRANTMALE2")
|
|
CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_INJ3",CONV_PRIORITY_MEDIUM, DO_NOT_DISPLAY_SUBTITLES) //Immigrant groaning in pain 7
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
++iPedInWater
|
|
IF iPedInWater > 60
|
|
SET_ENTITY_HEALTH(pedImmigrant[i],0)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bBlokestunned = TRUE
|
|
AND bSECONDBlokestunned = TRUE
|
|
IF bCloseFinalTimeWindowForStats = FALSE
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "STATS >>>> TIME WINDOW CLOSED (Second chase) <<<< ")
|
|
#ENDIF
|
|
REPLAY_RECORD_BACK_FOR_TIME(3.0, 8.0, REPLAY_IMPORTANCE_LOWEST)
|
|
TRIGGER_MUSIC_EVENT("MM2_STOP")
|
|
//IF NOT IS_REPLAY_IN_PROGRESS()
|
|
INFORM_MISSION_STATS_SYSTEM_OF_TIME_WINDOW_CLOSED(TRUE,MIN2_SECOND_CAPTURE)
|
|
//ENDIF
|
|
bCloseFinalTimeWindowForStats = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_REPLAY_IN_PROGRESS()
|
|
ManageRollingStart()
|
|
ENDIF
|
|
|
|
IF bDialogueDontletTheOtherEscape = TRUE
|
|
IF bBlokeStunned = FALSE
|
|
OR bSECONDBlokeStunned = FALSE
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF GET_GAME_TIMER() > iTimerDontLetTheOtherEscape + 1500 //We can come back for him... Don't let the other one get away!
|
|
//IF PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR", "MIN2_SURR_10", CONV_PRIORITY_LOW)
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_SURR_10", CONV_PRIORITY_LOW)
|
|
bDialogueDontletTheOtherEscape = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bBloke2AttachedToCar = FALSE
|
|
IF bBlokestunned = TRUE
|
|
AND bSECONDBlokestunned = TRUE
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
JosefOnFoot()
|
|
ENDIF
|
|
ELSE
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],TRUE)
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_FRONT_RIGHT,PEDMOVEBLENDRATIO_WALK)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bpedImmigrantChase2Attached = FALSE
|
|
IF bBlokestunned = TRUE
|
|
AND bSECONDBlokestunned = TRUE
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
JoeOnFoot()
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bBlokestunned = FALSE
|
|
OR bSECONDBlokestunned = FALSE
|
|
UpdateVehiclePlayback()
|
|
ELSE
|
|
IF iSeqHintCam < 3
|
|
KILL_CHASE_HINT_CAM(localChaseHintCamStruct)
|
|
iSeqHintCam = 3
|
|
ENDIF
|
|
ENDIF
|
|
|
|
OpenGates()
|
|
Convo()
|
|
UpdateAmbientCementFactory()
|
|
|
|
IF bImmigrantHandsUp = TRUE
|
|
IF bBloke2AttachedToCar = FALSE
|
|
ImmigrantGetInTruck()
|
|
ELSE
|
|
IF NOT bDialoguePickUpLastGuy
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_31")
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrantChase2,100)
|
|
IF IS_ENTITY_ALIVE(pedImmigrant[0])
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 3, pedImmigrant[0], "MANUEL")
|
|
ENDIF
|
|
IF IS_ENTITY_ALIVE(pedImmigrant[1])
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 5, pedImmigrant[1], "IMMIGRANTMALE2")
|
|
ENDIF
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_CHATB2",CONV_PRIORITY_MEDIUM) //Please, I have a family.
|
|
bDialoguePickUpLastGuy = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
Chase2JosefAi()
|
|
ENDIF
|
|
|
|
IF bImmigrantChase2HandsUp = TRUE
|
|
IF bpedImmigrantChase2Attached = FALSE
|
|
ImmigrantChase2GetInTruck()
|
|
ELSE
|
|
IF NOT bDialoguePickUpLastGuy
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_31")
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrant[i],100)
|
|
IF IS_ENTITY_ALIVE(pedImmigrantChase2)
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 4, pedImmigrantChase2, "IMMIGRANTMALE2")
|
|
ENDIF
|
|
IF IS_ENTITY_ALIVE(pedImmigrant[0])
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 3, pedImmigrant[0], "MANUEL")
|
|
ENDIF
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_CHATB1",CONV_PRIORITY_MEDIUM) //Whoa, boys. What happened to the land of the free, here?
|
|
bDialoguePickUpLastGuy = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
Chase2JoeAi()
|
|
ENDIF
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrant[1])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(pedImmigrant[1])
|
|
AND NOT IS_PED_RAGDOLL(pedImmigrant[1])
|
|
AND GET_ENTITY_HEALTH(pedImmigrant[1]) > 150
|
|
SET_ENTITY_HEALTH(pedImmigrant[1],150)
|
|
ENDIF
|
|
IF bBlokestunned = TRUE
|
|
IF bImmigrantHandsUp = FALSE
|
|
//IF NOT IS_PED_RAGDOLL(pedImmigrant[i])
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_VEHICLE_DRIVE_TO_COORD) = PERFORMING_TASK
|
|
OR GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_VEHICLE_DRIVE_WANDER) = PERFORMING_TASK
|
|
OR GET_SCRIPT_TASK_STATUS(pedImmigrant[i],SCRIPT_TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING) = PERFORMING_TASK
|
|
CLEAR_PED_TASKS(pedImmigrant[i])
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_VEHICLE_OK(vehChaseCar[i])
|
|
IF IS_PED_IN_VEHICLE(pedImmigrant[i],vehChaseCar[i])
|
|
IF DOES_BLIP_EXIST(blipImmigrant[i])
|
|
UPDATE_CHASE_BLIP(blipImmigrant[i],pedImmigrant[i],300,0.8)
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrant[i],180)
|
|
IF iCatchUpLines < 3
|
|
IF GET_GAME_TIMER() > iTimerCatchUpLines + 7000
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_CATCH2",CONV_PRIORITY_MEDIUM) //Come on! Step on it!
|
|
++iCatchUpLines
|
|
iTimerCatchUpLines = GET_GAME_TIMER()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(pedImmigrantChase2)
|
|
AND NOT IS_PED_RAGDOLL(pedImmigrantChase2)
|
|
AND GET_ENTITY_HEALTH(pedImmigrantChase2) > 150
|
|
SET_ENTITY_HEALTH(pedImmigrantChase2,150)
|
|
ENDIF
|
|
IF bSECONDBlokestunned = TRUE
|
|
IF bImmigrantChase2HandsUp = FALSE
|
|
//IF NOT IS_PED_RAGDOLL(pedImmigrantChase2)
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_VEHICLE_DRIVE_TO_COORD) = PERFORMING_TASK
|
|
OR GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_VEHICLE_DRIVE_WANDER) = PERFORMING_TASK
|
|
OR GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING) = PERFORMING_TASK
|
|
CLEAR_PED_TASKS(pedImmigrantChase2)
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_VEHICLE_OK(vehChaseCarChase2)
|
|
IF IS_PED_IN_VEHICLE(pedImmigrantChase2,vehChaseCarChase2)
|
|
IF DOES_BLIP_EXIST(blipImmigrantChase2)
|
|
UPDATE_CHASE_BLIP(blipImmigrantChase2,pedImmigrantChase2,300,0.8)
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
IF IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrantChase2,180)
|
|
IF iCatchUpLines < 3
|
|
IF GET_GAME_TIMER() > iTimerCatchUpLines + 7000
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_CATCH2",CONV_PRIORITY_MEDIUM) //Come on! Step on it!
|
|
++iCatchUpLines
|
|
iTimerCatchUpLines = GET_GAME_TIMER()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iSeqChase2Dialogue <> 5
|
|
AND GET_GAME_TIMER() > iArrivedAtCementFactory + 20000
|
|
iSeqChase2Dialogue = 5
|
|
ENDIF
|
|
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF iSeqChase2Dialogue = 0
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_CHAT1",CONV_PRIORITY_MEDIUM) //That's an admission of guilt if ever I saw one!
|
|
iSeqChase2Dialogue = GET_RANDOM_INT_IN_RANGE(1,5)
|
|
//++iSeqChase2Dialogue
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iSeqChase2Dialogue = 1
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrantChase2,50)
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrant[i],50)
|
|
IF IS_ENTITY_ALIVE(pedImmigrant[0])
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 3, pedImmigrant[0], "MANUEL")
|
|
ENDIF
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_CHAT2",CONV_PRIORITY_MEDIUM) //Who the hell are you guys?
|
|
iSeqChase2Dialogue = 5
|
|
//++iSeqChase2Dialogue
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iSeqChase2Dialogue = 2
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrantChase2,50)
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrant[i],50)
|
|
IF IS_ENTITY_ALIVE(pedImmigrant[0])
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 3, pedImmigrant[0], "MANUEL")
|
|
ENDIF
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_CHAT5",CONV_PRIORITY_MEDIUM) //Look at them. Where's the moral code, huh?
|
|
iSeqChase2Dialogue = 5
|
|
//++iSeqChase2Dialogue
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iSeqChase2Dialogue = 3
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrantChase2,50)
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrant[i],50)
|
|
IF IS_ENTITY_ALIVE(pedImmigrant[0])
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 3, pedImmigrant[0], "MANUEL")
|
|
ENDIF
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_CHAT4",CONV_PRIORITY_MEDIUM) //All they want to do is work menial jobs for abysmal pay with no benefits.
|
|
iSeqChase2Dialogue = 5
|
|
//++iSeqChase2Dialogue
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELIF iSeqChase2Dialogue = 4
|
|
IF IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrantChase2,50)
|
|
AND NOT IS_ENTITY_IN_RANGE_ENTITY(PLAYER_PED_ID(),pedImmigrant[i],50)
|
|
IF IS_ENTITY_ALIVE(pedImmigrant[0])
|
|
ADD_PED_FOR_DIALOGUE(s_conversation_peds, 3, pedImmigrant[0], "MANUEL")
|
|
ENDIF
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_CHAT3",CONV_PRIORITY_MEDIUM) //Haven't you got anything better to do?
|
|
iSeqChase2Dialogue = 5
|
|
//++iSeqChase2Dialogue
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrant[1])
|
|
IF bDisableAbortConvo
|
|
AND IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
AND NOT IS_PED_RAGDOLL(pedImmigrant[1])
|
|
SET_AUDIO_FLAG("DisableAbortConversationForRagdoll", FALSE)
|
|
bDisableAbortConvo = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF bDisableAbortConvoPed2
|
|
AND IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
AND NOT IS_PED_RAGDOLL(pedImmigrantChase2)
|
|
SET_AUDIO_FLAG("DisableAbortConversationForRagdoll", FALSE)
|
|
bDisableAbortConvoPed2 = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bBloke2AttachedToCar = TRUE
|
|
AND bpedImmigrantChase2Attached = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "Min2****Init exit vehicle****")
|
|
#ENDIF
|
|
SET_AUDIO_FLAG("DisableAbortConversationForRagdoll", FALSE)
|
|
bDisableAbortConvo = FALSE
|
|
bDisableAbortConvoPed2 = FALSE
|
|
iTimerJackTrev = GET_GAME_TIMER()
|
|
iTimerJackTrev = iTimerJackTrev
|
|
missionStage = MS_DRIVE_TO_END
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: All immigrants captured, waiting for Joe and Josef to get back in the car
|
|
PROC MS_DriveToEnd()
|
|
|
|
IF GET_PLAYER_WANTED_LEVEL(PLAYER_ID()) = 0
|
|
bLosingCops = FALSE
|
|
bPrintLosingCops = FALSE
|
|
Convo()
|
|
IF IS_PED_SITTING_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0])
|
|
AND IS_PED_SITTING_IN_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0])
|
|
SET_VEHICLE_DOORS_LOCKED(sRCLauncherDataLocal.vehID[0],VEHICLELOCK_CANNOT_ENTER)
|
|
IF NOT IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
OR GET_GAME_TIMER() > iTimerJackTrev + 30000//20000
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "Min2****Init pass drive off****")
|
|
#ENDIF
|
|
|
|
REPLAY_RECORD_BACK_FOR_TIME(5.0, 12.0, REPLAY_IMPORTANCE_LOWEST)
|
|
|
|
SET_ROADS_IN_ANGLED_AREA(GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],<<200,0,50>>),GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],<<-200,0,-50>>),400,FALSE,TRUE)
|
|
PassDriveOff()
|
|
missionStage = MS_MISSION_PASSING
|
|
ENDIF
|
|
ELSE
|
|
IF bThanks = FALSE
|
|
IF PLAY_SINGLE_LINE_FROM_CONVERSATION(s_conversation_peds, "MIN2AU", "MIN2_JJ8", "MIN2_JJ8_1", CONV_PRIORITY_HIGH) //Thanks for the help man, you're a true patriot.
|
|
bThanks = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF bPrint47 = FALSE
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
PRINT_NOW("MIN2_47",DEFAULT_GOD_TEXT_TIME,0) //Exit the vehicle
|
|
iTimerGetOutOfCarLines = GET_GAME_TIMER()
|
|
bPrint47 = TRUE
|
|
ENDIF
|
|
ELSE
|
|
IF NOT IS_THIS_PRINT_BEING_DISPLAYED("MIN2_47")
|
|
IF iGetOutOfCarLines < 6
|
|
IF GET_GAME_TIMER() > iTimerGetOutOfCarLines + 9000
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_BYE",CONV_PRIORITY_MEDIUM) //Get out of the car, we'll take it from here.
|
|
++iGetOutOfCarLines
|
|
iTimerGetOutOfCarLines = GET_GAME_TIMER()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOSEF],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOSEF],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_BACK_LEFT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE])
|
|
IF GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> PERFORMING_TASK
|
|
AND GET_SCRIPT_TASK_STATUS(sRCLauncherDataLocal.pedID[ic_JOE],SCRIPT_TASK_ENTER_VEHICLE) <> WAITING_TO_START_TASK
|
|
TASK_ENTER_VEHICLE(sRCLauncherDataLocal.pedID[ic_JOE],sRCLauncherDataLocal.vehID[0],DEFAULT_TIME_BEFORE_WARP_MINUTE_2,VS_FRONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
bLosingCops = TRUE
|
|
IF NOT IS_PED_IN_VEHICLE(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0])
|
|
IF NOT DOES_BLIP_EXIST(blipPlayerCar)
|
|
blipPlayerCar = CREATE_VEHICLE_BLIP(sRCLauncherDataLocal.vehID[0])
|
|
ENDIF
|
|
ELSE
|
|
IF bPrintLosingCops = FALSE
|
|
PRINT_NOW("MIN2_COPS",DEFAULT_GOD_TEXT_TIME,0)
|
|
bPrintLosingCops = TRUE
|
|
ENDIF
|
|
SAFE_REMOVE_BLIP(blipPlayerCar)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Mission is passing, wait for the car to get away or time out
|
|
PROC MS_MissionPassing()
|
|
|
|
IF NOT IS_ANY_CONVERSATION_ONGOING_OR_QUEUED()
|
|
IF NOT bDialogueDriveOff
|
|
AND IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
AND GET_DISTANCE_BETWEEN_ENTITIES(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0]) < 35.0
|
|
IF GET_GAME_TIMER() > iTimerPassDriveOff + 3000
|
|
IF CREATE_CONVERSATION(s_conversation_peds, "MIN2AU","MIN2_DRIVOFF",CONV_PRIORITY_MEDIUM) //We made Uncle Sam proud today!
|
|
bDialogueDriveOff = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_VEHICLE_OK(sRCLauncherDataLocal.vehID[0])
|
|
IF GET_DISTANCE_BETWEEN_ENTITIES(PLAYER_PED_ID(),sRCLauncherDataLocal.vehID[0]) > 150.0 //100.0
|
|
OR GET_GAME_TIMER() > iTimerPassDriveOff + 20000 //15000
|
|
Script_Passed()
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Epand capsules on the immigrants while they get in the vehicle (to stop them clipping)
|
|
PROC EXPAND_PED_CAPSULES_WHILE_ENTERING_VEHICLES()
|
|
|
|
IF IS_PED_UNINJURED(pedImmigrant[0])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(pedImmigrant[0])
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[0],SCRIPT_TASK_ENTER_VEHICLE) = PERFORMING_TASK
|
|
SET_PED_RESET_FLAG(pedImmigrant[0],PRF_ExpandPedCapsuleFromSkeleton,TRUE)
|
|
CPRINTLN(DEBUG_MISSION, "MIN2 - Expand capsule - Manuel")
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(pedImmigrant[1])
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(pedImmigrant[1])
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrant[1],SCRIPT_TASK_ENTER_VEHICLE) = PERFORMING_TASK
|
|
SET_PED_RESET_FLAG(pedImmigrant[1],PRF_ExpandPedCapsuleFromSkeleton,TRUE)
|
|
CPRINTLN(DEBUG_MISSION, "MIN2 - Expand capsule - Immigrant 2")
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
IF IS_PED_UNINJURED(pedImmigrantChase2)
|
|
IF NOT IS_PED_IN_ANY_VEHICLE(pedImmigrantChase2)
|
|
IF GET_SCRIPT_TASK_STATUS(pedImmigrantChase2,SCRIPT_TASK_ENTER_VEHICLE) = PERFORMING_TASK
|
|
SET_PED_RESET_FLAG(pedImmigrantChase2,PRF_ExpandPedCapsuleFromSkeleton,TRUE)
|
|
CPRINTLN(DEBUG_MISSION, "MIN2 - Expand capsule - Immigrant 3")
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
// ===========================================================================================================
|
|
// Script Loop
|
|
// ===========================================================================================================
|
|
|
|
SCRIPT(g_structRCScriptArgs sRCLauncherDataIn)
|
|
|
|
sRCLauncherDataLocal = sRCLauncherDataIn
|
|
RC_TakeEntityOwnership(sRCLauncherDataLocal)
|
|
|
|
SET_MISSION_FLAG(TRUE)
|
|
|
|
// Setup callback when player is killed, arrested or goes to multiplayer
|
|
IF (HAS_FORCE_CLEANUP_OCCURRED(DEFAULT_FORCE_CLEANUP_FLAGS|FORCE_CLEANUP_FLAG_DEBUG_MENU))
|
|
PRINT_LAUNCHER_DEBUG("Force cleanup [TERMINATING]")
|
|
Random_Character_Failed()
|
|
Script_Cleanup()
|
|
ENDIF
|
|
|
|
IF Is_Replay_In_Progress() // Set up the initial scene for replays
|
|
g_bSceneAutoTrigger = TRUE
|
|
eInitialSceneStage = IS_REQUEST_SCENE
|
|
WHILE NOT SetupScene_MINUTE_2(sRCLauncherDataLocal)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
RC_SET_ENTITY_PROOFS_FOR_CUTSCENE(sRCLauncherDataLocal, FALSE)
|
|
g_bSceneAutoTrigger = FALSE
|
|
ENDIF
|
|
|
|
ADD_CONTACT_TO_PHONEBOOK(CHAR_JOE, TREVOR_BOOK, FALSE)
|
|
ADD_CONTACT_TO_PHONEBOOK(CHAR_JOSEF, TREVOR_BOOK, FALSE)
|
|
|
|
IF DOES_ENTITY_EXIST(sRCLauncherDataLocal.vehID[0])
|
|
SET_VEHICLE_DOORS_LOCKED(sRCLauncherDataLocal.vehID[0], VEHICLELOCK_UNLOCKED)
|
|
ENDIF
|
|
|
|
Initialise()
|
|
|
|
// Loop within here until the mission passes or fails
|
|
WHILE(TRUE)
|
|
|
|
WAIT(0)
|
|
|
|
REPLAY_CHECK_FOR_EVENT_THIS_FRAME("SF_AAW")
|
|
|
|
UPDATE_MISSION_NAME_DISPLAYING(sRCLauncherDataLocal.sIntroCutscene)
|
|
|
|
IF IS_PED_UNINJURED(PLAYER_PED_ID())
|
|
SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME(PLAYER_ID())
|
|
ENDIF
|
|
|
|
IF missionStage <> MS_SETUP_MISSION
|
|
AND missionStage <> MS_INTRO_MOCAP
|
|
IF missionStage <> MS_MISSION_FAILING
|
|
CheckForFail()
|
|
ENDIF
|
|
IF NOT JOSEF_AND_JOE_LEFT_BEHIND()
|
|
ManageBlipsAndObjectives()
|
|
ENDIF
|
|
IF GET_PLAYER_WANTED_LEVEL(PLAYER_ID()) > 0
|
|
SAFE_REMOVE_BLIP(blipLocate[i])
|
|
ENDIF
|
|
ENDIF
|
|
|
|
RESOLVE_IDLES()
|
|
|
|
DO_VEHICLE_WEAPON_SWAP()
|
|
/*
|
|
IF IS_ENTITY_ALIVE(sRCLauncherDataLocal.pedID[ic_JOSEF])
|
|
AND IS_ENTITY_ALIVE(sRCLauncherDataLocal.vehID[0])
|
|
PRINTVECTOR(GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(sRCLauncherDataLocal.vehID[0],GET_WORLD_POSITION_OF_ENTITY_BONE(sRCLauncherDataLocal.vehID[0],GET_ENTITY_BONE_INDEX_BY_NAME(sRCLauncherDataLocal.vehID[0], "seat_pside_r"))))
|
|
PRINTNL()
|
|
//<< 0.447884, -0.807867, 0.211781 >> //?
|
|
ENDIF
|
|
*/
|
|
|
|
EXPAND_PED_CAPSULES_WHILE_ENTERING_VEHICLES()
|
|
|
|
SWITCH missionStage
|
|
|
|
CASE MS_INTRO_MOCAP
|
|
MS_IntroMocap()
|
|
BREAK
|
|
|
|
CASE MS_SETUP_MISSION
|
|
MS_SetupMission()
|
|
BREAK
|
|
|
|
CASE MS_SETUP_CHASE1
|
|
MS_SetupChase1()
|
|
BREAK
|
|
|
|
CASE MS_UPDATE_CHASE1
|
|
MS_UpdateChase1()
|
|
BREAK
|
|
|
|
CASE MS_IMMIGRANT1_APPREHENDED
|
|
MS_Immigrant1Apprehended()
|
|
BREAK
|
|
|
|
CASE MS_SETUP_CHASE2
|
|
MS_SetupChase2()
|
|
BREAK
|
|
|
|
CASE MS_CEMENT_FACTORY
|
|
MS_CementFactory()
|
|
BREAK
|
|
|
|
CASE MS_UPDATE_CHASE2
|
|
MS_UpdateChase2()
|
|
BREAK
|
|
|
|
CASE MS_DRIVE_TO_END
|
|
MS_DriveToEnd()
|
|
BREAK
|
|
|
|
CASE MS_MISSION_PASSING
|
|
MS_MissionPassing()
|
|
BREAK
|
|
|
|
CASE MS_MISSION_FAILING
|
|
FailWait()
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
// Check debug completion/failure
|
|
IF missionStage <> MS_MISSION_FAILING
|
|
DEBUG_Check_Debug_Keys()
|
|
DEBUG_Check_Skips()
|
|
ENDIF
|
|
|
|
ENDWHILE
|
|
|
|
// Script should never reach here. Always terminate with cleanup function.
|
|
ENDSCRIPT
|
|
|