5271 lines
186 KiB
Python
Executable File
5271 lines
186 KiB
Python
Executable File
USING "rage_builtins.sch"
|
|
USING "globals.sch"
|
|
|
|
// Do nothing in release mode
|
|
#IF IS_FINAL_BUILD
|
|
SCRIPT
|
|
ENDSCRIPT
|
|
#ENDIF
|
|
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
//
|
|
// MISSION NAME : Paradise 2 - Trailer Script
|
|
// AUTHOR : A Ross and Craig production.
|
|
// DESCRIPTION : Trailver 2 shot selection script.
|
|
//
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
|
|
// Only include in debug mode
|
|
#IF IS_DEBUG_BUILD
|
|
|
|
USING "commands_camera.sch"
|
|
USING "commands_pad.sch"
|
|
USING "commands_script.sch"
|
|
USING "commands_clock.sch"
|
|
USING "flow_public_core_override.sch"
|
|
USING "commands_cutscene.sch"
|
|
USING "commands_graphics.sch"
|
|
|
|
USING "select_mission_stage.sch"
|
|
USING "shared_debug.sch"
|
|
USING "script_debug.sch"
|
|
USING "scripted_cam_editor_public.sch"
|
|
USING "script_ped.sch"
|
|
USING "cellphone_public.sch"
|
|
using "selector_public.sch"
|
|
using "building_control_public.sch"
|
|
USING "flow_reset_GAME.sch"
|
|
Using "Locates_public.sch"
|
|
|
|
//USING "traffic.sch"
|
|
CONST_INT MAX_TRAIL_POINTS 80
|
|
USING "gas_trails.sch"
|
|
USING "cam_recording_public.sch"
|
|
//-----------------------------------------------------------------------------------------------------------
|
|
// ENUMS
|
|
//-----------------------------------------------------------------------------------------------------------
|
|
ENUM MPF_MISSION_PED_FLAGS
|
|
mpf_phone,
|
|
mpf_fatmancross,
|
|
mpf_oldman,
|
|
mpf_driver,
|
|
|
|
mpf_trev,
|
|
mpf_frank,
|
|
mpf_mike,
|
|
mpf_slide,
|
|
mpf_chop,
|
|
|
|
mpf_pilot1,
|
|
mpf_pilot2,
|
|
mpf_jetPilot,
|
|
|
|
MPF_NUM_OF_PEDS
|
|
ENDENUM
|
|
ENUM MVF_MISSION_VEHICLE_FLAGS
|
|
|
|
veh_Driveway,
|
|
|
|
veh_first_train,
|
|
veh_Ghetto_train,
|
|
veh_truck,
|
|
|
|
veh_parked_car,
|
|
veh_tornado3,
|
|
|
|
veh_dune,
|
|
|
|
veh_slide,
|
|
|
|
veh_Bike,
|
|
Veh_police1,
|
|
veh_police2,
|
|
veh_police3,
|
|
veh_police4,
|
|
veh_exp1,
|
|
veh_exp2,
|
|
veh_exp3,
|
|
|
|
veh_heli1,
|
|
veh_heli2,
|
|
veh_jet,
|
|
|
|
MVF_NUM_OF_VEH
|
|
ENDENUM
|
|
ENUM MSF_MISSION_STAGE_FLAGS
|
|
|
|
STAGE_0_WAIT_FOR_STAGE,
|
|
STAGE_1_RUN_THROUGH_SHOTS,
|
|
|
|
STAGE_2_OBSERVATORY_SHOT,
|
|
STAGE_2_OBSERVATORY_SHOT_alt,
|
|
STAGE_3_FAM2_INT_P1,
|
|
STAGE_4_DRIVEWAY_SHOT,
|
|
STAGE_5_FAM1_INT_P1,
|
|
STAGE_6_CITY_TRAIN_SHOT,
|
|
STAGE_7_COUNTRY_SCAPE_SHOT,
|
|
STAGE_8_LIQUOR_ACE_SHOT,
|
|
STAGE_9_TREV1_MCS3_P2_A,
|
|
STAGE_10_CHIN1_INT_P2,
|
|
STAGE_11_TREV1_MCS3_P2_B,
|
|
AS_BUGGY,
|
|
AS_TREV_MOL,
|
|
AS_FIRE_TRAIL,
|
|
AS_BARN_BOOM,
|
|
STAGE_12_CHIN1_MCS4,
|
|
STAGE_13_DOCKS_BRIDGE_SHOT,
|
|
STAGE_13_DOCKS_BRIDGE_SHOT_ALT,
|
|
STAGE_14_GHETTO_TRAIN_SHOT,
|
|
STAGE_15_ARM1_INT_P3,
|
|
AS_LAUNCH_ARM1,//AS_ARMENIAN_CHASE,
|
|
STAGE_16_FRA2_INT_P2,
|
|
AS_LAUNCH_CAR_STEAL_FINALE,//AS_CAR_TRANS_TRUCK,
|
|
STAGE_17_ARM1_INT_P4,
|
|
STAGE_17_ARM1_INT_P4_ALT,
|
|
AS_LAUNCH_CAR_STEAL_3,//AS_RACE_SHOT,
|
|
STAGE_18_ARM1_INT_P1,
|
|
AS_LAUNCH_FAMILY_1,//AS_TREV_PLANE_TKOFF,
|
|
STAGE_19_FAM5_MCS5,
|
|
STAGE_20_TREV1_INT_P4,
|
|
AS_LAUNCH_TREV2,//AS_PLANE_CHASE,
|
|
AS_VAULT_EXP,
|
|
AS_PRO_BLAST,//AS_PROL_EXP,
|
|
AS_LAUNCH_FRANK_1,//AS_CHOP_DRIVE_BY,
|
|
AS_CAR_SLIDE,
|
|
AS_CHOP_ON_CAR,
|
|
AS_LAUNCH_FBI_2,// AS_MIKE_RAPPEL,
|
|
AS_LAUNCH_JEWEL_2A,//AS_JEWL_HEIST,
|
|
AS_FRANK_BIKE_EXP,
|
|
AS_LAUNCH_EXILE_1,// AS_CARGO_PLANE_JUMP_JEEP,
|
|
AS_LAUNCH_OFFROAD_RACE_1,//AS_DIRT_BIKE,
|
|
AS_LAUNCH_EXILE_3,
|
|
STAGE_21_FBI2_MCS1_P1,
|
|
STAGE_22_FIN_EXT_P2,
|
|
AS_JET_FIGHT,
|
|
STAGE_23_FINAL_SHOT,
|
|
STAGE_23_FINAL_SHOT_ALT,
|
|
|
|
// STAGE_RECORD,
|
|
|
|
STAGE_NUM_LAST//Leave this as last stage, used to detect end of shotlist.
|
|
|
|
ENDENUM
|
|
//Object
|
|
ENUM WEAPON_REGISTER
|
|
WEAPON_MICHAEL,
|
|
WEAPON_TREVOR,
|
|
WEAPON_BRAD
|
|
ENDENUM
|
|
Enum STAGE_SWITCHSTATE
|
|
STAGESWITCH_IDLE,
|
|
STAGESWITCH_REQUESTED,
|
|
STAGESWITCH_EXITING,
|
|
STAGESWITCH_ENTERING
|
|
ENDENUM
|
|
//-----------------------------------------------------------------------------------------------------------
|
|
// STRUCTS
|
|
//-----------------------------------------------------------------------------------------------------------
|
|
STRUCT VEHICLE_STRUCT
|
|
VEHICLE_INDEX id
|
|
endstruct
|
|
Struct PEDS_STRUCT
|
|
PED_INDEX id
|
|
ENDSTRUCT
|
|
struct decal
|
|
DECAL_ID the_decal_id
|
|
DECAL_RENDERSETTING_ID decal_texture_id
|
|
vector pos
|
|
vector direction
|
|
vector side
|
|
float width
|
|
float height
|
|
float fAlpha
|
|
float life
|
|
float wash_amount
|
|
blip_index blip
|
|
bool decal_removed
|
|
endstruct
|
|
//-----------------------------------------------------------------------------------------------------------
|
|
// CONSTANTS
|
|
//-----------------------------------------------------------------------------------------------------------
|
|
//CONST_INT TOTAL_NUMBER_OF_TRAFFIC_CARS 150
|
|
//CONST_INT TOTAL_NUMBER_OF_PARKED_CARS 50
|
|
//CONST_INT TOTAL_NUMBER_OF_SET_PIECE_CARS 25
|
|
//CONST_INT MAX_NUMBER_OF_PARKED_CARS_PLAYING_BACK 5
|
|
//CONST_INT MAX_NUMBER_OF_TRAFFIC_CARS_PLAYING_BACK 8
|
|
//CONST_INT MAX_NUMBER_OF_SET_PIECE_CARS_PLAYING_BACK 5
|
|
CONST_INT STAGE_ENTRY 0
|
|
CONST_INT STAGE_EXIT -1
|
|
CONST_INT TIMECYCLE_REGION_GLOBAL 0
|
|
CONST_INT TIMECYCLE_REGION_URBAN 1
|
|
//-----------------------------------------------------------------------------------------------------------
|
|
// VARIABLES
|
|
//-----------------------------------------------------------------------------------------------------------
|
|
//-------------------- General Variables --------------------
|
|
VEHICLE_STRUCT Vehs[MVF_NUM_OF_VEH] //holds all of the vehicles
|
|
PEDS_STRUCT peds[MPF_NUM_OF_PEDS] //holds all of the peds
|
|
|
|
OBJECT_INDEX objWeapon[COUNT_OF(WEAPON_REGISTER)]
|
|
SELECTOR_PED_STRUCT sSelectorPeds
|
|
SEQUENCE_INDEX seq
|
|
RAYFIRE_INDEX rfThisRayfire
|
|
RAYFIRE_INDEX rfVaultExplosion
|
|
STREAMVOL_ID streamvol
|
|
|
|
int missionCandidateID = NO_CANDIDATE_ID
|
|
|
|
INT syncsceneID
|
|
INTERIOR_INSTANCE_INDEX intdepot
|
|
|
|
//PTFX_ID ptfxJet
|
|
//INT ievoTime
|
|
//float fthrottle
|
|
|
|
vector vdrivewaypos = << -820.468, 156.507, 68.245 >>
|
|
float fdrivewayheading = 110.255
|
|
|
|
vector vTrainCityPos = <<795.562,-477.994,28.228>>
|
|
vector vtrainGhettopos = << 197.78703, -1948.25781, 19.89035>>
|
|
|
|
vector vparkcarpos = << 1992.930, 3070.402,46.048 >>
|
|
float fparkcarheading = 74.653
|
|
|
|
vector vtornado3 = << 2006.4985, 3054.5190, 46.0491 >>
|
|
float ftornado3 = 57.8467
|
|
|
|
vector vslidecar = <<491.43, -537.51, 24.27>>
|
|
float fslidecar = -91.61
|
|
|
|
vector vprolStart = <<5294.97949, -5191.41504, 82.51868>>
|
|
|
|
decal blood[2]
|
|
|
|
//-------------------- Stage Management --------------------
|
|
STAGE_SWITCHSTATE stageswitch //current switching status
|
|
|
|
INT mission_stage //current stage
|
|
INT mission_substage //current substage
|
|
INT requestedStage //the mission stage requested by a mission_stage switch
|
|
INT iStageTimer //timer used for debug
|
|
Bool bDoSkip //trigger the skip
|
|
INT iSkipToStage //the stage to skip to
|
|
|
|
//--------------------- widget stuff ----------------------
|
|
WIDGET_GROUP_ID paradiseWidgetGroup
|
|
MissionStageMenuTextStruct zMenuNames[STAGE_NUM_LAST]
|
|
|
|
bool bplayerControl = false
|
|
bool bresetScene = true
|
|
|
|
int iTrainConfiguration = 7
|
|
float ftrainSpeed = 14.5
|
|
|
|
float fLODscale = 1
|
|
bool bHighDofOn = false
|
|
bool bDisplayTitles = false
|
|
int iTitlesTimer
|
|
bool bWideScreen = true
|
|
bool bResetShadows = false
|
|
|
|
float fwatereflection = 25.4
|
|
|
|
int iDockWorkerHeadID = 0
|
|
int iDockWorkerHeadText = 2
|
|
int iDockWorkerUpperID = 0
|
|
int idockworkerUpperText= 0
|
|
int idockworkerlowID = 0
|
|
int idockworkerlowText = 1
|
|
int iDockPropID = 0
|
|
int idockpropText = 1
|
|
|
|
vector vDebugPosition = << 197.78703, -1948.25781, 19.89035>>//<< 1993.3800, 3069.3523, 46.0483 >>
|
|
vector vDebugRotation = <<0,0,0>>
|
|
float fDebugHeading = 63.1031
|
|
float fDebugSpeed = 3
|
|
|
|
vector vCamPOS
|
|
vector vCamROT
|
|
float fCamFOV
|
|
vector vdebugcamPOS
|
|
vector vdebugCamROT
|
|
float fdebugcamFOV
|
|
|
|
int idebugSkipTime1 = 2300
|
|
int idebugSkipTime2 = 2100
|
|
int idebugskipTime3 = 2000
|
|
int idebugskiptime4 = 2000
|
|
bool bResetTOD = true
|
|
bool bPauseClock = true
|
|
bool bUseNewTOD = false
|
|
int iTOD = 12
|
|
|
|
float fTrafficDensity = 1
|
|
float fPedDensity = 1
|
|
bool bClearArea = false
|
|
//--------------------- Scene stuff -----------------------
|
|
CAMERA_INDEX cameraIndex
|
|
CAMERA_INDEX camfollow
|
|
CAM_RECORDING_DATA camRecData
|
|
bool bPlayThrough = false
|
|
int isplat = 0
|
|
INT InitialTimeOfDayHour[STAGE_NUM_LAST]
|
|
|
|
|
|
// ===========================================================================================================
|
|
// Init
|
|
// ===========================================================================================================
|
|
|
|
|
|
// -----------------------------------------------------------------------------------------------------------
|
|
// MISSION STAGE MANAGEMENT
|
|
// -----------------------------------------------------------------------------------------------------------
|
|
|
|
PROC Mission_stage_management()
|
|
SWITCH stageswitch
|
|
CASE STAGESWITCH_REQUESTED
|
|
PRINTLN("[stageManagement] mission_stage switch requested from mission_stage:", mission_stage, "to mission_stage", requestedStage)
|
|
stageswitch = STAGESWITCH_EXITING
|
|
mission_substage = STAGE_EXIT
|
|
BREAK
|
|
CASE STAGESWITCH_EXITING
|
|
PRINTLN("[StageManagement] Exiting mission_stage: ", mission_stage)
|
|
stageSwitch = STAGESWITCH_ENTERING
|
|
mission_substage = STAGE_ENTRY
|
|
mission_stage = requestedStage
|
|
BREAK
|
|
CASE STAGESWITCH_ENTERING
|
|
PRINTLN("[StageManagement] Entered mission_stage: ", mission_stage)
|
|
requestedStage = -1
|
|
stageSwitch = STAGESWITCH_IDLE
|
|
BREAK
|
|
CASE STAGESWITCH_IDLE
|
|
IF (GET_GAME_TIMER() - iStageTimer) > 1500
|
|
PRINTLN("[StageManagement] mission_stage: ", mission_stage, " mission_substage: ", mission_substage)
|
|
iStageTimer = GET_GAME_TIMER()
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDPROC
|
|
|
|
|
|
// ===========================================================================================================
|
|
// Trailer procedures
|
|
// ===========================================================================================================
|
|
FUNC BOOL IsEntityAlive(ENTITY_INDEX mEntity)
|
|
If DOES_ENTITY_EXIST(mEntity)
|
|
if IS_ENTITY_A_VEHICLE(mEntity)
|
|
if IS_VEHICLE_DRIVEABLE(GET_VEHICLE_INDEX_FROM_ENTITY_INDEX(mEntity))
|
|
return TRUE
|
|
endif
|
|
elif IS_ENTITY_A_PED(mEntity)
|
|
if not IS_PED_INJURED(GET_PED_INDEX_FROM_ENTITY_INDEX(mEntity))
|
|
return TRUE
|
|
ENDIF
|
|
endif
|
|
ENDIF
|
|
return FALSE
|
|
ENDFUNC
|
|
PROC setPedVariation(PED_INDEX thisped, INT iSimpleVariation)
|
|
|
|
set_ped_component_variation(thisped, ped_comp_head, iSimpleVariation, 0)
|
|
set_ped_component_variation(thisped, PED_COMP_HAIR, iSimpleVariation, 0)
|
|
set_ped_component_variation(thisped, ped_comp_hand, iSimpleVariation, 0)
|
|
set_ped_component_variation(thisped, ped_comp_torso, iSimpleVariation, 0)
|
|
set_ped_component_variation(thisped, ped_comp_leg, iSimpleVariation, 0)
|
|
set_ped_component_variation(thisped, PED_COMP_DECL, iSimpleVariation, 0)
|
|
set_ped_component_variation(thisped, PED_COMP_FEET, iSimpleVariation, 0)
|
|
|
|
ENDPROC
|
|
|
|
FUNC CAMERA_INDEX CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE(STRING CameraName, VECTOR vecPos, VECTOR vecRot, FLOAT FOV = 65.0, BOOL startActivated = FALSE)
|
|
|
|
CAMERA_INDEX returnedCamera
|
|
|
|
IF (mission_stage <> enum_to_int(STAGE_0_WAIT_FOR_STAGE))
|
|
//DESTROY_ALL_CAMS()
|
|
ENDIF
|
|
if IsEntityAlive(PLAYER_PED_ID())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), vecPos)
|
|
SET_ENTITY_HEADING(player_ped_id(),vecRot.z)
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING(0)
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH(0)
|
|
IF (mission_stage = enum_to_int(STAGE_0_WAIT_FOR_STAGE))
|
|
SET_ENTITY_VISIBLE(PLAYER_PED_ID(), FALSE)
|
|
endif
|
|
endif
|
|
IF NOT DOES_CAM_EXIST(cameraIndex)
|
|
returnedCamera = CREATE_CAM_WITH_PARAMS(CameraName, vecPos, vecRot, FOV, startActivated)
|
|
ELSE
|
|
returnedCamera = cameraIndex
|
|
SET_CAM_PARAMS(cameraIndex, vecPos, vecRot, FOV)//, startActivated)
|
|
ENDIF
|
|
|
|
if bResetTOD
|
|
if BuseNewTOD
|
|
SET_CLOCK_TIME(iTOD, 0, 0)
|
|
else
|
|
SET_CLOCK_TIME(InitialTimeOfDayHour[mission_stage], 0, 0)
|
|
endif
|
|
endif
|
|
|
|
if bPauseClock
|
|
PAUSE_CLOCK(true)
|
|
endif
|
|
|
|
RETURN returnedCamera
|
|
|
|
ENDFUNC
|
|
|
|
PROC RESET_EVERYTHING()
|
|
|
|
IF IS_CUTSCENE_ACTIVE()
|
|
STOP_CUTSCENE()
|
|
REMOVE_CUTSCENE()
|
|
WHILE IS_CUTSCENE_ACTIVE()
|
|
WAIT(0)
|
|
ENDWHILE
|
|
ENDIF
|
|
//-------------------peds-----------------------
|
|
int i
|
|
for i = 0 TO Enum_to_int(MPF_NUM_OF_PEDS)-1
|
|
if DOES_ENTITY_EXIST(peds[i].id)
|
|
AND (NOT IS_PED_INJURED(peds[i].id))
|
|
if IS_PED_IN_ANY_VEHICLE(peds[i].id)
|
|
SET_PED_COORDS_NO_GANG(peds[i].id,(GET_ENTITY_COORDS(GET_VEHICLE_PED_IS_IN(peds[i].id))+<<0,-2,0>>))
|
|
endif
|
|
if peds[i].id != player_ped_id()
|
|
DELETE_PED(peds[i].id)
|
|
endif
|
|
endif
|
|
endfor
|
|
//-------------------vehs-----------------------
|
|
|
|
for i = 0 TO Enum_to_int(MVF_NUM_OF_VEH)-1
|
|
if DOES_ENTITY_EXIST(vehs[i].id)
|
|
if i = enum_to_int(veh_Ghetto_train)
|
|
or i = enum_to_int(veh_first_train)
|
|
DELETE_MISSION_TRAIN(vehs[i].id)
|
|
else
|
|
EMPTY_VEHICLE(vehs[i].id)
|
|
DELETE_VEHICLE(vehs[i].id)
|
|
endif
|
|
endif
|
|
endfor
|
|
//-------------------Resets---------------------
|
|
|
|
SET_RANDOM_TRAINS(true)
|
|
|
|
IF DOES_RAYFIRE_MAP_OBJECT_EXIST(rfVaultExplosion)
|
|
IF GET_STATE_OF_RAYFIRE_MAP_OBJECT(rfVaultExplosion) != RFMO_STATE_END
|
|
SET_STATE_OF_RAYFIRE_MAP_OBJECT(rfVaultExplosion, RFMO_STATE_ENDING)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
rfThisRayfire = GET_RAYFIRE_MAP_OBJECT(<<2457.15, 4968.79, 48.677>>, 45, "DES_FarmHs")
|
|
IF DOES_RAYFIRE_MAP_OBJECT_EXIST(rfThisRayfire)
|
|
SET_STATE_OF_RAYFIRE_MAP_OBJECT(rfThisRayfire, RFMO_STATE_STARTING)
|
|
SET_BUILDING_STATE(BUILDINGNAME_IPL_FARM_HOUSE, BUILDINGSTATE_NORMAL)
|
|
SET_BUILDING_STATE(BUILDINGNAME_IPL_FARM_HOUSE_CLNUP1, BUILDINGSTATE_NORMAL)
|
|
SET_BUILDING_STATE(BUILDINGNAME_IPL_FARM_HOUSE_CLNUP2, BUILDINGSTATE_NORMAL)
|
|
SET_BUILDING_STATE(BUILDINGNAME_IPL_FARM_HOUSE_CLNUP3, BUILDINGSTATE_NORMAL)
|
|
SET_BUILDING_STATE(BUILDINGNAME_IPL_FARM_HOUSE_INTERIOR, BUILDINGSTATE_DESTROYED) // Turn on interior
|
|
SET_STATE_OF_RAYFIRE_MAP_OBJECT(rfThisRayfire, RFMO_STATE_STARTING)
|
|
endif
|
|
//Cullbox
|
|
SET_MAPDATACULLBOX_ENABLED("prologue", FALSE)
|
|
SET_MAPDATACULLBOX_ENABLED("Trailer_2_Train_Shot", false)
|
|
SET_ENTITY_VISIBLE(player_ped_id(),false)
|
|
SET_TIME_SCALE(1)
|
|
|
|
fLODscale = 1
|
|
//bools
|
|
if bResetShadows
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,FALSE,0,0,0,0)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,FALSE,0,0,0,0)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,FALSE,0,0,0,0)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,FALSE,0,0,0,0)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS_SNAP(FALSE)
|
|
endif
|
|
bplayerControl = false
|
|
bHighDofOn = false
|
|
WATER_REFLECTION_SET_HEIGHT(false,fwatereflection)
|
|
remove_decals_in_range(<<1998.2826, 3058.0435, 46.0491>>, 10000.00)
|
|
|
|
SET_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(1)
|
|
SET_AMBIENT_VEHICLE_RANGE_MULTIPLIER_THIS_FRAME(1)
|
|
|
|
//------------------Destroys--------------------
|
|
REPEAT COUNT_OF(objWeapon) i
|
|
IF DOES_ENTITY_EXIST(objWeapon[i])
|
|
DELETE_OBJECT(objWeapon[i])
|
|
ENDIF
|
|
ENDREPEAT
|
|
|
|
UNLOAD_ALL_CLOUD_HATS()
|
|
CLEAR_TIMECYCLE_MODIFIER()
|
|
STREAMVOL_DELETE(streamvol)
|
|
DISABLE_EXTRA_DISTANTLIGHTS()
|
|
//Interior
|
|
UNPIN_INTERIOR(intDepot)
|
|
|
|
REMOVE_IPL("prologue01")
|
|
REMOVE_IPL("prologue02")
|
|
REMOVE_IPL("prologue03")
|
|
REMOVE_IPL("prologue04")
|
|
REMOVE_IPL("prologue05")
|
|
REMOVE_IPL("prologue06")
|
|
REMOVE_IPL("prologuerd")
|
|
|
|
REMOVE_IPL("Prologue01c")
|
|
REMOVE_IPL("Prologue01d")
|
|
REMOVE_IPL("Prologue01e")
|
|
REMOVE_IPL("Prologue01f")
|
|
REMOVE_IPL("Prologue01g")
|
|
REMOVE_IPL("prologue01h")
|
|
REMOVE_IPL("prologue01i")
|
|
REMOVE_IPL("prologue01j")
|
|
REMOVE_IPL("prologue01k")
|
|
REMOVE_IPL("prologue03b")
|
|
REMOVE_IPL("prologue04b")
|
|
REMOVE_IPL("prologue05b")
|
|
REMOVE_IPL("prologue06b")
|
|
REMOVE_IPL("prologuerdb")
|
|
REMOVE_IPL("prologue04_cover")
|
|
REMOVE_IPL("prologue03_grv_dug") //prologue03_grv_cov
|
|
|
|
REMOVE_IPL("TRV1_Trail_end")
|
|
|
|
SET_GAMEPLAY_CAM_ALTITUDE_FOV_SCALING_STATE(TRUE)
|
|
CLEAR_PRINTS()
|
|
CLEAR_HELP()
|
|
DESTROY_ALL_CAMS()
|
|
CLEAR_FOCUS()
|
|
|
|
ENDPROC
|
|
// ===========================================================================================================
|
|
// Termination
|
|
// ===========================================================================================================
|
|
|
|
PROC Mission_Cleanup(BOOL bTerminateScript)
|
|
|
|
IF IS_CUTSCENE_ACTIVE()
|
|
STOP_CUTSCENE()
|
|
REMOVE_CUTSCENE()
|
|
WHILE IS_CUTSCENE_ACTIVE()
|
|
WAIT(0)
|
|
ENDWHILE
|
|
ENDIF
|
|
|
|
//-------------------Destroy-----------------------
|
|
STOP_CAM_RECORDING(camRecData)
|
|
UNLOAD_ALL_CLOUD_HATS()
|
|
DELETE_WIDGET_GROUP(paradiseWidgetGroup)
|
|
STREAMVOL_DELETE(streamvol)
|
|
|
|
rfThisRayfire = GET_RAYFIRE_MAP_OBJECT(<<2457.15, 4968.79, 48.677>>, 45, "DES_FarmHs")
|
|
IF DOES_RAYFIRE_MAP_OBJECT_EXIST(rfThisRayfire)
|
|
SET_STATE_OF_RAYFIRE_MAP_OBJECT(rfThisRayfire, RFMO_STATE_ENDING)
|
|
ENDIF
|
|
//-------------------Resets-----------------------
|
|
RESET_EVERYTHING()
|
|
|
|
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,FALSE,0,0,0,0)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,FALSE,0,0,0,0)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,FALSE,0,0,0,0)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,FALSE,0,0,0,0)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS_SNAP(FALSE)
|
|
|
|
SET_TIMECYCLE_REGION_OVERRIDE(-1)
|
|
CLEAR_WEATHER_TYPE_PERSIST()
|
|
SET_TIME_SCALE(1.0)
|
|
SET_WIND_SPEED(0.0)
|
|
SET_WIND_DIRECTION(0.0)
|
|
SET_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(1.0)
|
|
SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(1.0)
|
|
SET_PED_DENSITY_MULTIPLIER_THIS_FRAME(1.0)
|
|
|
|
DO_SCREEN_FADE_IN(0)
|
|
|
|
if bTerminateScript
|
|
ENABLE_DISPATCH_SERVICE(DT_FIRE_DEPARTMENT, TRUE)
|
|
DISPLAY_RADAR(TRUE)
|
|
FLOAT groundZ
|
|
IF NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
|
|
GET_GROUND_Z_FOR_3D_COORD(GET_ENTITY_COORDS(PLAYER_PED_ID()), groundZ)
|
|
VECTOR groundCoord = GET_ENTITY_COORDS(PLAYER_PED_ID())
|
|
groundCoord.z = groundZ
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), groundCoord)
|
|
SET_ENTITY_VISIBLE(PLAYER_PED_ID(), TRUE)
|
|
FREEZE_ENTITY_POSITION(PLAYER_PED_ID(), FALSE)
|
|
ENDIF
|
|
SET_PLAYER_CONTROL(player_id(),true)
|
|
g_bTrailer2Active = false
|
|
g_savedGlobals.sFlow.isGameflowActive = TRUE
|
|
TERMINATE_THIS_THREAD()
|
|
endif
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL Mission_Set_Stage(MSF_MISSION_STAGE_FLAGS newStage)
|
|
If stageswitch = STAGESWITCH_IDLE
|
|
requestedstage = ENUM_TO_INT(newStage)
|
|
stageswitch = STAGESWITCH_REQUESTED
|
|
return True
|
|
else
|
|
return false
|
|
endif
|
|
ENDFUNC
|
|
proc Load_Stage_Assets(MSF_MISSION_STAGE_FLAGS load_stage)
|
|
if bPlayThrough
|
|
RESET_EVERYTHING()
|
|
endif
|
|
switch load_stage
|
|
case STAGE_0_WAIT_FOR_STAGE
|
|
//inital opening stage
|
|
break
|
|
case STAGE_1_RUN_THROUGH_SHOTS
|
|
break
|
|
case STAGE_2_OBSERVATORY_SHOT
|
|
request_model(A_F_Y_TOURIST_01)
|
|
REQUEST_MODEL(A_F_M_BEVHILLS_02)
|
|
REQUEST_MODEL(A_M_M_BEVHILLS_02)
|
|
requesT_model(A_M_M_BUSINESS_01)
|
|
break
|
|
case STAGE_2_OBSERVATORY_SHOT_alt
|
|
request_model(A_F_Y_TOURIST_01)
|
|
REQUEST_MODEL(A_F_M_BEVHILLS_02)
|
|
REQUEST_MODEL(A_M_M_BEVHILLS_02)
|
|
requesT_model(A_M_M_BUSINESS_01)
|
|
break
|
|
case STAGE_3_FAM2_INT_P1
|
|
REQUEST_CUTSCENE("family_2_intp1_b")
|
|
REQUEST_MODEL(S_M_M_GARDENER_01)
|
|
REQUEST_ANIM_DICT("amb@world_human_gardener_plant@male@idle_a")
|
|
break
|
|
case STAGE_4_DRIVEWAY_SHOT
|
|
REQUEST_MODEL(NINEF2)
|
|
break
|
|
case STAGE_5_FAM1_INT_P1
|
|
REQUEST_CUTSCENE("family_1_intp1")
|
|
break
|
|
case STAGE_6_CITY_TRAIN_SHOT
|
|
REQUEST_MODEL(FREIGHT)
|
|
REQUEST_MODEL(FREIGHTCONT1)
|
|
REQUEST_MODEL(FREIGHTCONT2)
|
|
REQUEST_MODEL(FREIGHTGRAIN)
|
|
REQUEST_MODEL(TANKERCAR)
|
|
REQUEST_MODEL(FREIGHTCAR)
|
|
break
|
|
case STAGE_7_COUNTRY_SCAPE_SHOT
|
|
request_model(packer)
|
|
REQUEST_MODEL(TRAILERS)
|
|
break
|
|
case STAGE_8_LIQUOR_ACE_SHOT
|
|
request_model(RATLOADER)
|
|
request_model(tornado3)
|
|
request_model(A_M_M_HILLBILLY_01)
|
|
request_model(A_M_M_HILLBILLY_02)
|
|
request_model(A_M_M_Salton_01)
|
|
request_model(A_F_M_Salton_01)
|
|
request_model(S_M_Y_XMech_02)
|
|
REQUEST_ANIM_DICT("move_drunk_m")
|
|
request_anim_dict("trailer2@shoved_peds")
|
|
request_anim_dict("amb@world_human_leaning@female@wall@back@holding_elbow@idle_a")
|
|
request_anim_dict("move_m@generic_variations@walk")
|
|
break
|
|
case STAGE_9_TREV1_MCS3_P2_A
|
|
REQUEST_CUTSCENE("trv_1_mcs_3_p2")
|
|
REMOVE_IPL("TRV1_Trail_start")
|
|
REQUEST_IPL("TRV1_Trail_end")
|
|
REQUEST_MODEL(PROPTRAILER)
|
|
REQUEST_WEAPON_ASSET(WEAPONTYPE_PUMPSHOTGUN)
|
|
break
|
|
case STAGE_10_CHIN1_INT_P2
|
|
REQUEST_CUTSCENE("chinese_1_intp2")
|
|
break
|
|
case STAGE_11_TREV1_MCS3_P2_B
|
|
REQUEST_CUTSCENE("trv_1_mcs_3_p2")
|
|
REQUEST_CUTSCENE("trv_1_mcs_3_p2")
|
|
REMOVE_IPL("TRV1_Trail_start")
|
|
REQUEST_IPL("TRV1_Trail_end")
|
|
REQUEST_MODEL(PROPTRAILER)
|
|
REQUEST_WEAPON_ASSET(WEAPONTYPE_PUMPSHOTGUN)
|
|
break
|
|
case AS_BUGGY
|
|
request_model(dune)
|
|
LOAD_CLOUD_HAT("HORIZON")
|
|
break
|
|
case AS_TREV_MOL
|
|
request_model(player_two)
|
|
REQUEST_ANIM_DICT("trailer2@molotov_throw")
|
|
break
|
|
case AS_FIRE_TRAIL
|
|
|
|
break
|
|
case AS_BARN_BOOM
|
|
// request_model(player_two)
|
|
// REQUEST_ANIM_DICT("trailer2@trevor_barn_walk")
|
|
REQUEST_CUTSCENE("barnhouseexplosion")
|
|
break
|
|
case STAGE_12_CHIN1_MCS4
|
|
REQUEST_MODEL(SENTINEL)
|
|
REQUEST_MODEL(Landstalker)
|
|
REQUEST_MODEL(G_M_Y_PoloGoon_01)
|
|
REQUEST_CUTSCENE("chi_1_mcs_4")
|
|
break
|
|
case STAGE_13_DOCKS_BRIDGE_SHOT
|
|
break
|
|
case STAGE_14_GHETTO_TRAIN_SHOT
|
|
REQUEST_MODEL(FREIGHT)
|
|
REQUEST_MODEL(FREIGHTCONT1)
|
|
REQUEST_MODEL(FREIGHTCONT2)
|
|
REQUEST_MODEL(FREIGHTGRAIN)
|
|
REQUEST_MODEL(TANKERCAR)
|
|
REQUEST_MODEL(FREIGHTCAR)
|
|
REQUEST_MODEL(DOMINATOR)
|
|
REQUEST_MODEL(FUTO)
|
|
REQUEST_MODEL(GRESLEY)
|
|
REQUEST_MODEL(CAVALCADE)
|
|
REQUEST_MODEL(SERRANO)
|
|
REQUEST_MODEL(ORACLE)
|
|
request_model(bus)
|
|
break
|
|
case STAGE_15_ARM1_INT_P3
|
|
REQUEST_CUTSCENE("armenian_1_intp3")
|
|
REQUEST_ANIM_DICT("move_m@jogger")
|
|
REQUEST_ANIM_DICT("move_f@jogger")
|
|
REQUEST_MODEL(A_M_Y_Runner_01)
|
|
REQUEST_MODEL(A_F_Y_Runner_01)
|
|
request_model(A_F_Y_Beach_01)
|
|
request_model(A_M_Y_Beach_01)
|
|
request_model(A_M_Y_Beach_02)
|
|
request_model(A_M_Y_Beach_03)
|
|
break
|
|
case STAGE_16_FRA2_INT_P2
|
|
REQUEST_CUTSCENE("fra_2_int_p2")
|
|
break
|
|
// case AS_CAR_TRANS_TRUCK
|
|
// break
|
|
case STAGE_17_ARM1_INT_P4
|
|
REQUEST_CUTSCENE("armenian_1_intp4")
|
|
break
|
|
case STAGE_17_ARM1_INT_P4_ALT
|
|
REQUEST_CUTSCENE("armenian_1_intp4")
|
|
break
|
|
case STAGE_18_ARM1_INT_P1
|
|
REQUEST_CUTSCENE("armenian_1_intp1")
|
|
break
|
|
case STAGE_19_FAM5_MCS5
|
|
REQUEST_CUTSCENE("family_5_mcs_5")
|
|
break
|
|
case STAGE_20_TREV1_INT_P4
|
|
request_cutscene("trevor_1_intp4")
|
|
break
|
|
case STAGE_21_FBI2_MCS1_P1
|
|
request_cutscene("FBI_2_MCS_1_p1")
|
|
break
|
|
case AS_VAULT_EXP
|
|
REQUEST_IPL("prologue01")
|
|
REQUEST_IPL("prologue02")
|
|
REQUEST_IPL("prologue03")
|
|
REQUEST_IPL("prologue04")
|
|
REQUEST_IPL("prologue05")
|
|
REQUEST_IPL("prologue06")
|
|
REQUEST_IPL("prologuerd")
|
|
REQUEST_IPL("Prologue01c")
|
|
REQUEST_IPL("Prologue01d")
|
|
REQUEST_IPL("Prologue01e")
|
|
REQUEST_IPL("Prologue01f")
|
|
REQUEST_IPL("Prologue01g")
|
|
REQUEST_IPL("prologue01h")
|
|
REQUEST_IPL("prologue01i")
|
|
REQUEST_IPL("prologue01j")
|
|
REQUEST_IPL("prologue01k")
|
|
REQUEST_IPL("prologue03b")
|
|
REQUEST_IPL("prologue04b")
|
|
REQUEST_IPL("prologue05b")
|
|
REQUEST_IPL("prologue06b")
|
|
REQUEST_IPL("prologuerdb")
|
|
REQUEST_IPL("prologue04_cover")
|
|
REQUEST_IPL("prologue03_grv_dug") //prologue03_grv_cov
|
|
REQUEST_CUTSCENE("vault_explosion")
|
|
break
|
|
case AS_PRO_BLAST
|
|
REQUEST_IPL("prologue01")
|
|
REQUEST_IPL("prologue02")
|
|
REQUEST_IPL("prologue03")
|
|
REQUEST_IPL("prologue04")
|
|
REQUEST_IPL("prologue05")
|
|
REQUEST_IPL("prologue06")
|
|
REQUEST_IPL("prologuerd")
|
|
REQUEST_IPL("Prologue01c")
|
|
REQUEST_IPL("Prologue01d")
|
|
REQUEST_IPL("Prologue01e")
|
|
REQUEST_IPL("Prologue01f")
|
|
REQUEST_IPL("Prologue01g")
|
|
REQUEST_IPL("prologue01h")
|
|
REQUEST_IPL("prologue01i")
|
|
REQUEST_IPL("prologue01j")
|
|
REQUEST_IPL("prologue01k")
|
|
REQUEST_IPL("prologue03b")
|
|
REQUEST_IPL("prologue04b")
|
|
REQUEST_IPL("prologue05b")
|
|
REQUEST_IPL("prologue06b")
|
|
REQUEST_IPL("prologuerdb")
|
|
REQUEST_IPL("prologue04_cover")
|
|
REQUEST_IPL("prologue03_grv_dug") //prologue03_grv_cov
|
|
REQUEST_CUTSCENE("doorexplosion")
|
|
REQUEST_WEAPON_ASSET(WEAPONTYPE_CARBINERIFLE)
|
|
break
|
|
case AS_CAR_SLIDE
|
|
REQUEST_MODEL(IG_BALLASOG)
|
|
request_model(EMPEROR)
|
|
request_model(S_M_Y_AIRWORKER)
|
|
REQUEST_ANIM_DICT("trailer2@bonnet_slide")
|
|
break
|
|
case AS_CHOP_ON_CAR
|
|
request_model(GET_CHOP_MODEL())
|
|
request_model(EMPEROR)
|
|
request_model(S_M_Y_AIRWORKER)
|
|
REQUEST_MODEL(bison2)
|
|
REQUEST_ANIM_DICT("MISSFRA0_CHOP")
|
|
break
|
|
case AS_FRANK_BIKE_EXP
|
|
request_model(police)
|
|
request_model(police2)
|
|
request_model(police3)
|
|
request_model(POLICET)
|
|
request_model(sentinel2)
|
|
request_model(stratum)
|
|
request_model(emperor2)
|
|
request_model(akuma)
|
|
request_vehicle_recording(6,"Trailer2REC")
|
|
break
|
|
case AS_JET_FIGHT
|
|
REQUEST_VEHICLE_RECORDING(1,"Trailer2REC")
|
|
REQUEST_VEHICLE_RECORDING(2,"Trailer2REC")
|
|
request_vehicle_recording(3,"Trailer2REC")
|
|
request_vehicle_recording(4,"Trailer2REC")
|
|
request_vehicle_recording(5,"Trailer2REC")
|
|
REQUEST_MODEL(polmav)
|
|
request_model(S_M_Y_Pilot_01)
|
|
request_model(Lazer)
|
|
REQUEST_MODEL(ADDER)
|
|
break
|
|
case STAGE_22_FIN_EXT_P2
|
|
request_cutscene("FIN_EXT_P2")
|
|
request_model(BUZZARD)
|
|
break
|
|
case STAGE_23_FINAL_SHOT
|
|
request_cutscene("Fbi_4_int_p3")
|
|
break
|
|
case STAGE_23_FINAL_SHOT_ALT
|
|
request_cutscene("Fbi_4_int_p3")
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc set_up_stage(MSF_MISSION_STAGE_FLAGS setup_stage)
|
|
switch setup_stage
|
|
case STAGE_0_WAIT_FOR_STAGE
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
endif
|
|
//do nothing
|
|
break
|
|
case STAGE_1_RUN_THROUGH_SHOTS
|
|
set_up_stage(STAGE_2_OBSERVATORY_SHOT)
|
|
break
|
|
case STAGE_2_OBSERVATORY_SHOT
|
|
|
|
NEW_LOAD_SCENE_START(<< -484.5379, 1121.4351, 346.8401 >>, << -18.7962, -0.0000, -160.6597 >>,300)
|
|
SET_CLOCK_TIME(InitialTimeOfDayHour[ENUM_TO_INT(setup_stage)], 0, 0)
|
|
REQUEST_COLLISION_AT_COORD(<< -484.5379, 1121.4351, 346.8401 >>)
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), << -484.5379, 1121.4351, 346.8401 >>)
|
|
endif
|
|
FREEZE_ENTITY_POSITION(PLAYER_PED_ID(), TRUE)
|
|
SET_ENTITY_VISIBLE(PLAYER_PED_ID(), FALSE)
|
|
SET_WEATHER_TYPE_NOW_PERSIST("smog")
|
|
while not HAS_MODEL_LOADED(A_F_Y_TOURIST_01)
|
|
or not has_model_loaded(A_F_M_BEVHILLS_02)
|
|
or not has_model_loaded(A_M_M_BEVHILLS_02)
|
|
or not has_model_loaded(A_M_M_BUSINESS_01)
|
|
wait(0)
|
|
endwhile
|
|
break
|
|
case STAGE_2_OBSERVATORY_SHOT_alt
|
|
|
|
NEW_LOAD_SCENE_START(<< -484.5379, 1121.4351, 346.8401 >>, << -18.7962, -0.0000, -160.6597 >>,300)
|
|
SET_CLOCK_TIME(InitialTimeOfDayHour[ENUM_TO_INT(setup_stage)], 0, 0)
|
|
REQUEST_COLLISION_AT_COORD(<< -484.5379, 1121.4351, 346.8401 >>)
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), << -484.5379, 1121.4351, 346.8401 >>)
|
|
endif
|
|
FREEZE_ENTITY_POSITION(PLAYER_PED_ID(), TRUE)
|
|
SET_ENTITY_VISIBLE(PLAYER_PED_ID(), FALSE)
|
|
SET_WEATHER_TYPE_NOW_PERSIST("SNOWLIGHT")
|
|
|
|
while not HAS_MODEL_LOADED(A_F_Y_TOURIST_01)
|
|
or not has_model_loaded(A_F_M_BEVHILLS_02)
|
|
or not has_model_loaded(A_M_M_BEVHILLS_02)
|
|
or not has_model_loaded(A_M_M_BUSINESS_01)
|
|
wait(0)
|
|
endwhile
|
|
break
|
|
case STAGE_3_FAM2_INT_P1
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), << -819.1180, 157.1071, 69.5948 >>)
|
|
endif
|
|
SET_WEATHER_TYPE_NOW_PERSIST("clouds")
|
|
|
|
NEW_LOAD_SCENE_START(<< -761.6831, 127.7389, 82.0954 >>, << -10.5571, -0.0000, 32.2714 >>,100)
|
|
while not IS_NEW_LOAD_SCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
|
|
while not HAS_CUTSCENE_LOADED()
|
|
or not HAS_MODEL_LOADED(S_M_M_GARDENER_01)
|
|
or not HAS_ANIM_DICT_LOADED("amb@world_human_gardener_plant@male@idle_a")
|
|
wait(0)
|
|
endwhile
|
|
|
|
break
|
|
case STAGE_4_DRIVEWAY_SHOT
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), << -819.1180, 157.1071, 69.5948 >>)
|
|
endif
|
|
FREEZE_ENTITY_POSITION(PLAYER_PED_ID(), TRUE)
|
|
while not HAS_MODEL_LOADED(ninef2)
|
|
wait(0)
|
|
endwhile
|
|
LOAD_SCENE(<< -819.1180, 157.1071, 69.5948 >>)
|
|
CLEAR_AREA(<< -819.1180, 157.1071, 69.5948 >>,20,true)
|
|
SET_WEATHER_TYPE_NOW_PERSIST("clouds")
|
|
|
|
break
|
|
case STAGE_5_FAM1_INT_P1
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), << -797.4166, 185.6019, 73.3086 >>)
|
|
endif
|
|
LOAD_SCENE(<< -797.4166, 185.6019, 73.3086 >>)
|
|
SET_WEATHER_TYPE_NOW_PERSIST("SNOWLIGHT")
|
|
intdepot = GET_INTERIOR_AT_COORDS_WITH_TYPE(<<-797.4166, 185.6019, 73.3086>>,"v_michael")
|
|
PIN_INTERIOR_IN_MEMORY(intdepot)
|
|
while not IS_INTERIOR_READY(intdepot)
|
|
wait(0)
|
|
endwhile
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
while not CREATE_PLAYER_PED_ON_FOOT(peds[mpf_mike].id,CHAR_MICHAEL,<<-797.2319, 186.4233, 72.9825>>)
|
|
wait(0)
|
|
endwhile
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_mike].id,PED_COMP_TORSO,26,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_mike].id,PED_COMP_LEG,16,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_mike].id,PED_COMP_feet,2,0)
|
|
|
|
break
|
|
case STAGE_6_CITY_TRAIN_SHOT
|
|
WHILE NOT HAS_MODEL_LOADED(FREIGHT)
|
|
OR NOT HAS_MODEL_LOADED(FREIGHTCONT1)
|
|
OR NOT HAS_MODEL_LOADED(FREIGHTCONT2)
|
|
OR NOT HAS_MODEL_LOADED(FREIGHTGRAIN)
|
|
OR NOT HAS_MODEL_LOADED(TANKERCAR)
|
|
OR NOT HAS_MODEL_LOADED(FREIGHTCAR)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
LOAD_CLOUD_HAT("horizon")
|
|
SET_RANDOM_TRAINS(FALSE)
|
|
SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(2)
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<798.96228, -479.49374, 28.22828>>)
|
|
FREEZE_ENTITY_POSITION(PLAYER_PED_ID(), TRUE)
|
|
endif
|
|
fLODscale = 1.3
|
|
fTrafficDensity = 3
|
|
load_scene(<<798.96228, -479.49374, 28.22828>>)
|
|
break
|
|
case STAGE_7_COUNTRY_SCAPE_SHOT
|
|
|
|
WHILE NOT HAS_MODEL_LOADED(PACKER)
|
|
or not has_model_loaded(TRAILERS)
|
|
wait(0)
|
|
endwhile
|
|
SET_WEATHER_TYPE_NOW_PERSIST("EXTRASUNNY")
|
|
load_cloud_hat("cirrus")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<2535.44971, 3032.43750, 41.90246>>)
|
|
FREEZE_ENTITY_POSITION(PLAYER_PED_ID(), TRUE)
|
|
endif
|
|
load_scene(<<2535.44971, 3032.43750, 41.90246>>)
|
|
CLEAR_AREA(<<2535.44971, 3032.43750, 41.90246>>,1000,true)
|
|
break
|
|
case STAGE_8_LIQUOR_ACE_SHOT
|
|
|
|
WHILE NOT HAS_MODEL_LOADED(RATLOADER)
|
|
OR NOT HAS_MODEL_LOADED(tornado3)
|
|
OR NOT HAS_MODEL_LOADED(A_M_M_HILLBILLY_01)
|
|
OR NOT HAS_MODEL_LOADED(A_M_M_HILLBILLY_02)
|
|
OR NOT HAS_MODEL_LOADED(A_M_M_Salton_01)
|
|
OR NOT HAS_MODEL_LOADED(A_F_M_Salton_01)
|
|
or not HAS_MODEL_LOADED(S_M_Y_XMech_02)
|
|
or not HAS_ANIM_DICT_LOADED("move_drunk_m")
|
|
or not HAS_ANIM_DICT_LOADED("trailer2@shoved_peds")
|
|
or not HAS_ANIM_DICT_LOADED("amb@world_human_leaning@female@wall@back@holding_elbow@idle_a")
|
|
or not HAS_ANIM_DICT_LOADED("move_m@generic_variations@walk")
|
|
WAIT(0)
|
|
ENDWHILE
|
|
if not DOES_ENTITY_EXIST(vehs[veh_parked_car].id)
|
|
vehs[veh_parked_car].id = CREATE_VEHICLE(RATLOADER,vparkcarpos,fparkcarheading)
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehs[veh_parked_car].id,0)
|
|
endif
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<1989.4751, 3074.6912, 47.3940 >>)
|
|
endif
|
|
load_scene(<<1989.4751, 3074.6912, 47.3940 >>)
|
|
|
|
break
|
|
case STAGE_9_TREV1_MCS3_P2_A
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), << -31.2,3040.7,40>>)
|
|
FREEZE_ENTITY_POSITION(PLAYER_PED_ID(), TRUE)
|
|
endif
|
|
SET_WEATHER_TYPE_NOW_PERSIST("extrasunny")
|
|
|
|
while not HAS_CUTSCENE_LOADED()
|
|
or not HAS_MODEL_LOADED(PROPTRAILER)
|
|
wait(0)
|
|
endwhile
|
|
objWeapon[WEAPON_TREVOR] = CREATE_WEAPON_OBJECT(WEAPONTYPE_PUMPSHOTGUN,100,<< -31.2,3040.7,40 >>,true)
|
|
LOAD_SCENE(<< -31.2,3040.7,40 >>)
|
|
break
|
|
case STAGE_10_CHIN1_INT_P2
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<1987.9679, 3053.7041, 46.1257 >>)
|
|
endif
|
|
blood[0].decal_texture_id = DECAL_RSID_BLOOD_DIRECTIONAL
|
|
blood[0].pos = <<1984.59, 3050.58, 47.533>> //47.43
|
|
blood[0].direction = <<0.0, 0.0, -1.0>>
|
|
blood[0].side = normalise_vector(<<0.0, 1.0, 0.0>>) //heading
|
|
blood[0].width = 0.2
|
|
blood[0].height = 0.2
|
|
blood[0].fAlpha = 1.0
|
|
blood[0].life = -1
|
|
blood[0].wash_amount = 0.3
|
|
blood[0].decal_removed = false
|
|
|
|
|
|
blood[1].decal_texture_id = DECAL_RSID_BLOOD_SPLATTER
|
|
blood[1].pos = <<1984.64, 3050.62, 47.423>> //47.32
|
|
blood[1].direction = <<0.0, -1.0, 0.0>>//<<0.0, -1.0, 0.0>>
|
|
blood[1].side = normalise_vector(<<1.0, 0.0, 0.0>>) //heading //<<1.0, 1.0, 0.0>>
|
|
blood[1].width = 0.2
|
|
blood[1].height = 0.2
|
|
blood[1].fAlpha = 1.0
|
|
blood[1].life = -1
|
|
blood[1].wash_amount = 0.3
|
|
blood[1].decal_removed = false
|
|
LOAD_SCENE(<< 1987.9679, 3053.7041, 46.1257 >>)
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
|
|
break
|
|
case STAGE_11_TREV1_MCS3_P2_B
|
|
|
|
LOAD_CLOUD_HAT("CIRROCUMULUS")
|
|
SET_WEATHER_TYPE_NOW_PERSIST("EXTRASUNNY")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<-31.2,3040.7,40 >>)
|
|
endif
|
|
objWeapon[WEAPON_TREVOR] = CREATE_WEAPON_OBJECT(WEAPONTYPE_PUMPSHOTGUN,100,<< -31.2,3040.7,40 >>,true)
|
|
LOAD_SCENE(<< -31.2,3040.7,40 >>)
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
|
|
break
|
|
case AS_BUGGY
|
|
|
|
WHILE NOT HAS_MODEL_LOADED(dune)
|
|
wait(0)
|
|
endwhile
|
|
SET_WEATHER_TYPE_NOW_PERSIST("FOGGY")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<2330.9, 3127.2, 48.8 >>)
|
|
endif
|
|
load_scene(<<2330.9, 3127.2, 48.8>>)
|
|
|
|
break
|
|
case AS_TREV_MOL
|
|
|
|
SET_WEATHER_TYPE_NOW_PERSIST("overcast")
|
|
LOAD_CLOUD_HAT("RAIN")
|
|
WHILE not has_model_loaded(player_two)
|
|
or not HAS_ANIM_DICT_LOADED("trailer2@molotov_throw")
|
|
wait(0)
|
|
endwhile
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<2461.0942, 4952.7583, 45.2938>>)
|
|
endif
|
|
load_scene(<<2461.0942, 4952.7583, 45.2938>>)
|
|
|
|
break
|
|
case AS_FIRE_TRAIL
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<2442.16333, 4969.87842, 45.81060>>)
|
|
FREEZE_ENTITY_POSITION(PLAYER_PED_ID(),true)
|
|
endif
|
|
load_scene(<<2442.16333, 4969.87842, 45.81060>>)
|
|
|
|
break
|
|
case AS_BARN_BOOM
|
|
|
|
SET_WEATHER_TYPE_NOW_PERSIST("overcast")
|
|
LOAD_CLOUD_HAT("RAIN")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<2461.0942, 4952.7583, 45.2938>>)
|
|
endif
|
|
load_scene(<<2461.0942, 4952.7583, 45.2938>>)
|
|
|
|
break
|
|
case STAGE_12_CHIN1_MCS4
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<1387.8705, 3594.2642, 33.8831>>)
|
|
endif
|
|
while not HAS_CUTSCENE_LOADED()
|
|
or not HAS_MODEL_LOADED(SENTINEL)
|
|
or not HAS_MODEL_LOADED(G_M_Y_PoloGoon_01)
|
|
or not HAS_MODEL_LOADED(Landstalker)
|
|
wait(0)
|
|
endwhile
|
|
LOAD_SCENE(<< 1387.8705, 3594.2642, 33.8831 >>)
|
|
SET_WEATHER_TYPE_NOW_PERSIST("EXTRASUNNY")
|
|
break
|
|
case STAGE_13_DOCKS_BRIDGE_SHOT
|
|
|
|
SET_WEATHER_TYPE_NOW_PERSIST("CLEAR")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<844.4641, -2696.1641, 64.8>>)
|
|
endif
|
|
load_scene(<<844.4641, -2696.1641, 64.8>>)
|
|
|
|
break
|
|
case STAGE_13_DOCKS_BRIDGE_SHOT_ALT
|
|
|
|
SET_WEATHER_TYPE_NOW_PERSIST("CLEAR")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<844.4641, -2696.1641, 64.8>>)
|
|
endif
|
|
load_scene(<<844.4641, -2696.1641, 64.8>>)
|
|
|
|
break
|
|
case STAGE_14_GHETTO_TRAIN_SHOT
|
|
WHILE NOT HAS_MODEL_LOADED(FREIGHT)
|
|
OR NOT HAS_MODEL_LOADED(FREIGHTCONT1)
|
|
OR NOT HAS_MODEL_LOADED(FREIGHTCONT2)
|
|
OR NOT HAS_MODEL_LOADED(FREIGHTGRAIN)
|
|
OR NOT HAS_MODEL_LOADED(TANKERCAR)
|
|
OR NOT HAS_MODEL_LOADED(FREIGHTCAR)
|
|
OR NOT HAS_MODEL_LOADED(DOMINATOR)
|
|
OR NOT HAS_MODEL_LOADED(FUTO)
|
|
OR NOT HAS_MODEL_LOADED(GRESLEY)
|
|
OR NOT HAS_MODEL_LOADED(CAVALCADE)
|
|
OR NOT HAS_MODEL_LOADED(SERRANO)
|
|
OR NOT HAS_MODEL_LOADED(ORACLE)
|
|
or not has_model_loaded(bus)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
SET_MAPDATACULLBOX_ENABLED("Trailer_2_Train_Shot", TRUE)
|
|
|
|
LOAD_CLOUD_HAT("HORIZON")
|
|
SET_WEATHER_TYPE_NOW_PERSIST("SNOWLIGHT")
|
|
SET_RANDOM_TRAINS(FALSE)
|
|
SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(2)
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<263.4,-1907.7,31.7>>)
|
|
endif
|
|
NEW_LOAD_SCENE_START(<< 263.4090, -1907.6572, 31.7329 >>, << -6.2916, 0.0000, 111.8651 >>,250)
|
|
while not IS_NEW_LOAD_SCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
break
|
|
case STAGE_15_ARM1_INT_P3
|
|
|
|
SET_WEATHER_TYPE_NOW_PERSIST("clear")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<263.4,-1907.7,31.7>>)
|
|
endif
|
|
LOAD_SCENE(<< -1882.8746, -621.5580, 11.2904 >>)
|
|
while not HAS_CUTSCENE_LOADED()
|
|
or not HAS_MODEL_LOADED(A_M_Y_Runner_01)
|
|
or not HAS_MODEL_LOADED(A_F_Y_Runner_01)
|
|
or not has_model_loaded(A_F_Y_Beach_01)
|
|
or not has_model_loaded(A_M_Y_Beach_01)
|
|
or not has_model_loaded(A_M_Y_Beach_02)
|
|
or not has_model_loaded(A_M_Y_Beach_03)
|
|
or not HAS_ANIM_DICT_LOADED("move_m@jogger")
|
|
or not HAS_ANIM_DICT_LOADED("move_f@jogger")
|
|
wait(0)
|
|
endwhile
|
|
|
|
break
|
|
case STAGE_16_FRA2_INT_P2
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<-1882.8746, -621.5580, 11.2904>>)
|
|
endif
|
|
LOAD_SCENE(<< -1882.8746, -621.5580, 11.2904 >>)
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
|
|
break
|
|
case STAGE_17_ARM1_INT_P4
|
|
SET_WEATHER_TYPE_NOW_PERSIST("Clear")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<-1882.8746, -621.5580, 11.2904>>)
|
|
endif
|
|
LOAD_SCENE(<< -1882.8746, -621.5580, 11.2904 >>)
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
break
|
|
case STAGE_17_ARM1_INT_P4_ALT
|
|
SET_WEATHER_TYPE_NOW_PERSIST("Clear")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<-1882.8746, -621.5580, 11.2904>>)
|
|
endif
|
|
LOAD_SCENE(<< -1882.8746, -621.5580, 11.2904 >>)
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
break
|
|
case STAGE_18_ARM1_INT_P1
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<-1908.9,-573.5,18>>)
|
|
endif
|
|
LOAD_SCENE(<< -1908.9,-573.5,18>>)
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
|
|
break
|
|
case STAGE_19_FAM5_MCS5
|
|
fLODscale = 1.5
|
|
SET_WEATHER_TYPE_NOW_PERSIST("SMOG")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<-1175.2771, -889.9739, 14.0581>>)
|
|
endif
|
|
LOAD_SCENE(<< -1175.2771, -889.9739, 14.0581>>)
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
|
|
break
|
|
case STAGE_20_TREV1_INT_P4
|
|
|
|
SET_WEATHER_TYPE_NOW_PERSIST("EXTRASUNNY")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<2019.6141, 3827.6531, 32.1370>>)
|
|
endif
|
|
LOAD_SCENE(<<2019.6141, 3827.6531, 32.1370>>)
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
|
|
break
|
|
case STAGE_21_FBI2_MCS1_P1
|
|
|
|
SET_WEATHER_TYPE_NOW_PERSIST("SMOG")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<1352.650,-2056.3,51.05 >>)
|
|
endif
|
|
streamvol = STREAMVOL_CREATE_FRUSTUM(<< 1369.5962, -2077.9436, 52.6681 >>, << -4.0552, -0.0002, -28.7179 >>,250,FLAG_MAPDATA)
|
|
while not STREAMVOL_HAS_LOADED(streamvol)
|
|
wait(0)
|
|
endwhile
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
|
|
break
|
|
case AS_VAULT_EXP
|
|
|
|
SET_GAMEPLAY_CAM_ALTITUDE_FOV_SCALING_STATE(FALSE)
|
|
//Interior
|
|
intDepot = GET_INTERIOR_AT_COORDS_WITH_TYPE(vprolStart, "V_CashDepot")
|
|
PIN_INTERIOR_IN_MEMORY(intDepot)
|
|
|
|
WHILE NOT IS_INTERIOR_READY(intDepot)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
//Cullbox
|
|
SET_MAPDATACULLBOX_ENABLED("prologue", TRUE)
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(player_ped_id(),vprolStart)
|
|
endif
|
|
load_scene(vprolStart)
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
|
|
break
|
|
case AS_PRO_BLAST
|
|
SET_GAMEPLAY_CAM_ALTITUDE_FOV_SCALING_STATE(FALSE)
|
|
//Interior
|
|
intDepot = GET_INTERIOR_AT_COORDS_WITH_TYPE(vprolStart, "V_CashDepot")
|
|
PIN_INTERIOR_IN_MEMORY(intDepot)
|
|
|
|
WHILE NOT IS_INTERIOR_READY(intDepot)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
//Cullbox
|
|
SET_MAPDATACULLBOX_ENABLED("prologue", TRUE)
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(player_ped_id(),vprolStart)
|
|
endif
|
|
load_scene(vprolStart)
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
while not CREATE_PLAYER_PED_ON_FOOT(peds[mpf_mike].id,CHAR_MICHAEL,<<5312.26074, -5182.11768, 82.51863>>)
|
|
wait(0)
|
|
endwhile
|
|
while not HAS_WEAPON_ASSET_LOADED(WEAPONTYPE_CARBINERIFLE)
|
|
wait(0)
|
|
endwhile
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_mike].id,PED_COMP_TORSO,15,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_mike].id,PED_COMP_LEG,8,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_mike].id,PED_COMP_feet,1,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_mike].id,PED_COMP_SPECIAL2,1,0)
|
|
objWeapon[WEAPON_MICHAEL] = CREATE_WEAPON_OBJECT_FROM_PED_WEAPON_WITH_COMPONENTS(peds[mpf_mike].id, WEAPONTYPE_CARBINERIFLE)
|
|
while not CREATE_PLAYER_PED_ON_FOOT(peds[mpf_trev].id,CHAR_TREVOR,<<5312.26074, -5182.11768, 82.51863>>)
|
|
wait(0)
|
|
endwhile
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_trev].id,PED_COMP_TORSO,9,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_trev].id,PED_COMP_LEG,9,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_trev].id,PED_COMP_feet,12,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_trev].id,PED_COMP_HAND,4,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_trev].id,PED_COMP_HAIR,4,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_trev].id,PED_COMP_SPECIAL,6,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_trev].id,PED_COMP_SPECIAL2,1,0)
|
|
objWeapon[WEAPON_TREVOR] = CREATE_WEAPON_OBJECT_FROM_PED_WEAPON_WITH_COMPONENTS(peds[mpf_trev].id, WEAPONTYPE_CARBINERIFLE)
|
|
break
|
|
case AS_CAR_SLIDE
|
|
|
|
while not HAS_MODEL_LOADED(IG_BALLASOG)
|
|
or not has_model_loaded(EMPEROR)
|
|
or not has_model_loaded(S_M_Y_AIRWORKER)
|
|
or not HAS_ANIM_DICT_LOADED("trailer2@bonnet_slide")
|
|
wait(0)
|
|
endwhile
|
|
SET_WEATHER_TYPE_NOW_PERSIST("CLEAR")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<492.1,-529.1,24.7>>)
|
|
endif
|
|
load_scene(<<492.1,-529.1,24.7>>)
|
|
|
|
break
|
|
case AS_CHOP_ON_CAR
|
|
|
|
while not HAS_MODEL_LOADED(GET_CHOP_MODEL())
|
|
or not has_model_loaded(EMPEROR)
|
|
or not has_model_loaded(S_M_Y_AIRWORKER)
|
|
or not has_model_loaded(BISON2)
|
|
or not HAS_ANIM_DICT_LOADED("MISSFRA0_CHOP")
|
|
wait(0)
|
|
endwhile
|
|
SET_WEATHER_TYPE_NOW_PERSIST("EXTRASUNNY")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<492.1,-529.1,24.7>>)
|
|
endif
|
|
load_scene(<<492.1,-529.1,24.7>>)
|
|
|
|
break
|
|
case AS_FRANK_BIKE_EXP
|
|
|
|
while not HAS_MODEL_LOADED(Police3)
|
|
or not HAS_MODEL_LOADED(Police2)
|
|
or not HAS_MODEL_LOADED(Police)
|
|
or not HAS_MODEL_LOADED(Policet)
|
|
or not HAS_MODEL_LOADED(sentinel2)
|
|
or not HAS_MODEL_LOADED(stratum)
|
|
or not HAS_MODEL_LOADED(emperor2)
|
|
or not HAS_MODEL_LOADED(akuma)
|
|
or not has_vehicle_recording_been_loaded(6,"Trailer2REC")
|
|
wait(0)
|
|
endwhile
|
|
streamvol = STREAMVOL_CREATE_FRUSTUM(<< 685.5129, 1242.1111, 359.1691 >>, << -10.9803, 3.5355, 178.3254 >>,200,FLAG_MAPDATA)
|
|
|
|
SET_WEATHER_TYPE_NOW_PERSIST("EXTRASUNNY")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<-2473.8787, -221.0034, 16.5239>>)
|
|
endif
|
|
load_scene(<<-2473.8787, -221.0034, 16.5239>>)
|
|
|
|
break
|
|
case AS_JET_FIGHT
|
|
while not HAS_VEHICLE_RECORDING_BEEN_LOADED(1,"Trailer2REC")
|
|
or not HAS_VEHICLE_RECORDING_BEEN_LOADED(2,"Trailer2REC")
|
|
or not has_vehicle_recording_been_loaded(3,"Trailer2REC")
|
|
or not has_vehicle_recording_been_loaded(4,"Trailer2REC")
|
|
or not has_vehicle_recording_been_loaded(5,"Trailer2REC")
|
|
or not HAS_MODEL_LOADED(polmav)
|
|
or not has_model_loaded(S_M_Y_Pilot_01)
|
|
or not has_model_loaded(Lazer)
|
|
or not HAS_MODEL_LOADED(ADDER)
|
|
wait(0)
|
|
endwhile
|
|
fLODscale = 1.6
|
|
SET_WEATHER_TYPE_NOW_PERSIST("CLEAR")
|
|
break
|
|
case STAGE_22_FIN_EXT_P2
|
|
|
|
while not HAS_MODEL_LOADED(BUZZARD)
|
|
wait(0)
|
|
endwhile
|
|
SET_WEATHER_TYPE_NOW_PERSIST("SMOG")
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<1352.650,-2056.3,51.05>>)
|
|
endif
|
|
LOAD_SCENE(<<1352.650,-2056.3,51.05>>)
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
|
|
break
|
|
case STAGE_23_FINAL_SHOT
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
break
|
|
case STAGE_23_FINAL_SHOT_ALT
|
|
while not HAS_CUTSCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
break
|
|
endswitch
|
|
endproc
|
|
|
|
|
|
PROC MISSION_SETUP()
|
|
|
|
//zMenuNames[ENUM_TO_INT(STAGE_0_WAIT_FOR_STAGE)].bSelectable
|
|
zMenuNames[ENUM_TO_INT(STAGE_0_WAIT_FOR_STAGE)].sTxtLabel = "Select Shot:"
|
|
zMenuNames[ENUM_TO_INT(STAGE_0_WAIT_FOR_STAGE)].bSelectable = FALSE
|
|
|
|
zMenuNames[ENUM_TO_INT(STAGE_1_RUN_THROUGH_SHOTS)].sTxtLabel = "RUN THROUGH ALL SHOTS"
|
|
|
|
zMenuNames[ENUM_TO_INT(STAGE_2_OBSERVATORY_SHOT)].sTxtLabel = "Observatory opening scene"
|
|
zMenuNames[ENUM_TO_INT(STAGE_2_OBSERVATORY_SHOT_alt)].sTxtLabel = "Observatory opening scene ALT"
|
|
zMenuNames[ENUM_TO_INT(STAGE_3_FAM2_INT_P1)].sTxtLabel = "Tennis shot"
|
|
zMenuNames[ENUM_TO_INT(STAGE_4_DRIVEWAY_SHOT)].sTxtLabel = "Driveway"
|
|
zMenuNames[ENUM_TO_INT(STAGE_5_FAM1_INT_P1)].sTxtLabel = "Mike's Family/ sunbathing scene"
|
|
zMenuNames[ENUM_TO_INT(STAGE_6_CITY_TRAIN_SHOT)].sTxtLabel = "Train and Highway shot of city"
|
|
zMenuNames[ENUM_TO_INT(STAGE_7_COUNTRY_SCAPE_SHOT)].sTxtLabel = "Country road/radars shot"
|
|
zMenuNames[ENUM_TO_INT(STAGE_8_LIQUOR_ACE_SHOT)].sTxtLabel = "Liquor ace shop shot"
|
|
zMenuNames[ENUM_TO_INT(STAGE_9_TREV1_MCS3_P2_A)].sTxtLabel = "Trev shouting at man in water"
|
|
zMenuNames[ENUM_TO_INT(STAGE_10_CHIN1_INT_P2)].sTxtLabel = "bar fight"
|
|
zMenuNames[ENUM_TO_INT(STAGE_11_TREV1_MCS3_P2_B)].sTxtLabel = "trevor close up"
|
|
zMenuNames[ENUM_TO_INT(AS_BUGGY)].sTxtLabel = " ACTION SHOT: buggy"
|
|
zMenuNames[ENUM_TO_INT(AS_TREV_MOL)].sTxtLabel = " ACTION SHOT: Petrol Bomb"
|
|
zMenuNames[ENUM_TO_INT(AS_FIRE_TRAIL)].sTxtLabel = " ACTION SHOT: Fire trail"
|
|
zMenuNames[ENUM_TO_INT(AS_BARN_BOOM)].sTxtLabel = " ACTION SHOT: barn blow up"
|
|
// zMenuNames[ENUM_TO_INT(AS_BARN_BOOM)].bSelectable = false
|
|
zMenuNames[ENUM_TO_INT(STAGE_12_CHIN1_MCS4)].sTxtLabel = "Trevor wave infront of bodies"
|
|
zMenuNames[ENUM_TO_INT(STAGE_13_DOCKS_BRIDGE_SHOT)].sTxtLabel = "Docks bridge Shot"
|
|
zMenuNames[ENUM_TO_INT(STAGE_13_DOCKS_BRIDGE_SHOT_ALT)].sTxtLabel = "Docks bridge Shot ALT"
|
|
zMenuNames[ENUM_TO_INT(STAGE_14_GHETTO_TRAIN_SHOT)].sTxtLabel = "Train in ghetto shot"
|
|
zMenuNames[ENUM_TO_INT(STAGE_15_ARM1_INT_P3)].sTxtLabel = "franklin, lamar and michael meet"
|
|
zMenuNames[ENUM_TO_INT(AS_LAUNCH_ARM1)].sTxtLabel = " MISSION: Arm 1 - steal car"
|
|
zMenuNames[ENUM_TO_INT(STAGE_16_FRA2_INT_P2)].sTxtLabel = "Franklin and his Girlfriend"
|
|
zMenuNames[ENUM_TO_INT(AS_LAUNCH_CAR_STEAL_FINALE)].sTxtLabel = "MISSION: car steal Finale"
|
|
zMenuNames[ENUM_TO_INT(STAGE_17_ARM1_INT_P4)].sTxtLabel = "Franklin and Lamar"
|
|
zMenuNames[ENUM_TO_INT(STAGE_17_ARM1_INT_P4_ALT)].sTxtLabel = "Franklin and Lamar- ALT"
|
|
zMenuNames[ENUM_TO_INT(AS_LAUNCH_CAR_STEAL_3)].sTxtLabel = "MISSION: car steal 3- race"
|
|
zMenuNames[ENUM_TO_INT(STAGE_18_ARM1_INT_P1)].sTxtLabel = "Mike at shrink's"
|
|
zMenuNames[ENUM_TO_INT(AS_LAUNCH_FAMILY_1)].sTxtLabel = " MISSION: Family 1"
|
|
zMenuNames[ENUM_TO_INT(STAGE_19_FAM5_MCS5)].sTxtLabel = "Jimmy lets bounce"
|
|
zMenuNames[ENUM_TO_INT(STAGE_20_TREV1_INT_P4)].sTxtLabel = "Trevor stomps johnny"
|
|
zMenuNames[ENUM_TO_INT(AS_LAUNCH_TREV2)].sTxtLabel = " MISSION: Trev 2"
|
|
zMenuNames[ENUM_TO_INT(AS_VAULT_EXP)].sTxtLabel = " ACTION SHOT: Vault door "
|
|
// zMenuNames[ENUM_TO_INT(AS_VAULT_EXP)].bSelectable = false
|
|
zMenuNames[ENUM_TO_INT(AS_PRO_BLAST)].sTxtLabel = " ACTION SHOT: Prologue Blast doors"
|
|
// zMenuNames[ENUM_TO_INT(AS_PRO_BLAST)].bSelectable = false
|
|
zMenuNames[ENUM_TO_INT(AS_LAUNCH_FRANK_1)].sTxtLabel = " MISSION: frank 1"
|
|
zMenuNames[ENUM_TO_INT(AS_CAR_SLIDE)].sTxtLabel = " ACTION SHOT: car slide "
|
|
zMenuNames[ENUM_TO_INT(AS_CHOP_ON_CAR)].sTxtLabel = " ACTION SHOT: car chop "
|
|
zMenuNames[ENUM_TO_INT(AS_LAUNCH_FBI_2)].sTxtLabel = " MISSION: FBI 2"
|
|
zMenuNames[ENUM_TO_INT(AS_LAUNCH_JEWEL_2A)].sTxtLabel = " MISSION: jewel heist 2a"
|
|
zMenuNames[ENUM_TO_INT(AS_FRANK_BIKE_EXP)].sTxtLabel = " ACTION SHOT: Bike explosion "
|
|
zMenuNames[ENUM_TO_INT(AS_LAUNCH_EXILE_1)].sTxtLabel = " MISSION: exile 1"
|
|
zMenuNames[ENUM_TO_INT(AS_LAUNCH_OFFROAD_RACE_1)].sTxtLabel = " MISSION: offroad race"
|
|
// zMenuNames[ENUM_TO_INT(AS_LAUNCH_OFFROAD_RACE_1)].bSelectable = false
|
|
zMenuNames[ENUM_TO_INT(AS_LAUNCH_EXILE_3)].sTxtLabel = " MISSION: Exile 3"
|
|
zMenuNames[ENUM_TO_INT(STAGE_21_FBI2_MCS1_P1)].sTxtLabel = "Trevor Meet franklin"
|
|
zMenuNames[ENUM_TO_INT(STAGE_22_FIN_EXT_P2)].sTxtLabel = "therapist has a lot to answer for"
|
|
zMenuNames[ENUM_TO_INT(AS_JET_FIGHT)].sTxtLabel = " ACTION SHOT: Jet fight "
|
|
zMenuNames[ENUM_TO_INT(STAGE_23_FINAL_SHOT)].sTxtLabel = "Final shot"
|
|
zMenuNames[ENUM_TO_INT(STAGE_23_FINAL_SHOT_ALT)].sTxtLabel = "Final shot Alt"
|
|
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_2_OBSERVATORY_SHOT)] = 7
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_2_OBSERVATORY_SHOT_alt)] = 7
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_3_FAM2_INT_P1)] = 18
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_4_DRIVEWAY_SHOT)] = 18
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_5_FAM1_INT_P1)] = 22
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_6_CITY_TRAIN_SHOT)] = 14
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_7_COUNTRY_SCAPE_SHOT)] = 19
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_8_LIQUOR_ACE_SHOT)] = 15
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_9_TREV1_MCS3_P2_A)] = 19
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_10_CHIN1_INT_P2)] = 14
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_11_TREV1_MCS3_P2_B)] = 19//17
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_12_CHIN1_MCS4)] = 13
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_13_DOCKS_BRIDGE_SHOT)] = 22
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_13_DOCKS_BRIDGE_SHOT_ALT)]= 21
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_14_GHETTO_TRAIN_SHOT)] = 7
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_15_ARM1_INT_P3)] = 7//13
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_16_FRA2_INT_P2)] = 7
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_17_ARM1_INT_P4)] = 13
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_17_ARM1_INT_P4_ALT)] = 7
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_18_ARM1_INT_P1)] = 17
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_19_FAM5_MCS5)] = 22
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_20_TREV1_INT_P4)] = 18
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_21_FBI2_MCS1_P1)] = 19
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_22_FIN_EXT_P2)] = 19
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_23_FINAL_SHOT)] = 19
|
|
InitialTimeOfDayHour[ENUM_TO_INT(STAGE_23_FINAL_SHOT_ALT)] = 19
|
|
|
|
InitialTimeOfDayHour[ENUM_TO_INT(AS_BUGGY)] = 19
|
|
InitialTimeOfDayHour[ENUM_TO_INT(AS_TREV_MOL)] = 7
|
|
InitialTimeOfDayHour[ENUM_TO_INT(AS_BARN_BOOM)] = 6
|
|
InitialTimeOfDayHour[ENUM_TO_INT(AS_FIRE_TRAIL)] = 6
|
|
InitialTimeOfDayHour[ENUM_TO_INT(AS_PRO_BLAST)] = 0
|
|
InitialTimeOfDayHour[ENUM_TO_INT(AS_VAULT_EXP)] = 0
|
|
InitialTimeOfDayHour[ENUM_TO_INT(AS_CAR_SLIDE)] = 6
|
|
InitialTimeOfDayHour[ENUM_TO_INT(AS_CHOP_ON_CAR)] = 16
|
|
InitialTimeOfDayHour[ENUM_TO_INT(AS_FRANK_BIKE_EXP)] = 5
|
|
InitialTimeOfDayHour[ENUM_TO_INT(AS_JET_FIGHT)] = 22
|
|
//Init Widgets
|
|
paradiseWidgetGroup = START_WIDGET_GROUP("Paradise Trailer 2")
|
|
|
|
ADD_WIDGET_BOOL("Reset scene Automatically",bresetScene)
|
|
//widescreen
|
|
ADD_WIDGET_BOOL("set widescreen borders", bWideScreen)
|
|
//plaer
|
|
add_widget_bool("player control:", bplayerControl)
|
|
//display titles
|
|
ADD_WIDGET_BOOL("bDisplayTitles", bDisplayTitles)
|
|
//DOF
|
|
ADD_WIDGET_BOOL("Use High Quality Depth of Field", bHighDofOn)
|
|
//LODSCALE
|
|
add_widget_float_slider("LOD scale",fLODscale,1,3,0.1)
|
|
|
|
START_WIDGET_GROUP("timings debug")
|
|
add_widget_float_slider("debug speed", fDebugSpeed,0,100,0.5)
|
|
ADD_WIDGET_INT_SLIDER("Skip playback time:",idebugSkipTime1,0,20000,100)
|
|
ADD_WIDGET_INT_SLIDER("Skip playback time2:",idebugSkipTime2,0,20000,100)
|
|
ADD_WIDGET_INT_SLIDER("Skip playback time3:",idebugSkipTime3,0,20000,100)
|
|
ADD_WIDGET_INT_SLIDER("Skip playback time4:",idebugSkipTime4,0,20000,100)
|
|
STOP_WIDGET_GROUP()
|
|
|
|
START_WIDGET_GROUP("train set up")
|
|
ADD_WIDGET_INT_SLIDER("iTrainConfiguration", iTrainConfiguration, 0, 100, 1)
|
|
add_widget_float_slider("Train Speed",ftrainSpeed,0,50,1)
|
|
STOP_WIDGET_GROUP()
|
|
|
|
START_WIDGET_GROUP("debug position")
|
|
ADD_WIDGET_VECTOR_SLIDER("vDebugPosition", vDebugPosition, -6000.0, 6000.0, 0.01)
|
|
ADD_WIDGET_VECTOR_SLIDER("vDebugRotation",vDebugRotation, -6000.0, 6000.0, 0.01)
|
|
ADD_WIDGET_FLOAT_SLIDER("fDebugheading", fDebugheading, 0.0, 360.0, 0.05)
|
|
STOP_WIDGET_GROUP()
|
|
|
|
START_WIDGET_GROUP("Cam output")
|
|
START_WIDGET_GROUP("scene cam")
|
|
ADD_WIDGET_VECTOR_SLIDER("Scene cam pos:",vCamPOS,-6000,6000,0.001)
|
|
ADD_WIDGET_VECTOR_SLIDER("Scene cam ROT:",vCamROT,-6000,6000,0.001)
|
|
ADD_WIDGET_FLOAT_READ_ONLY("current cam FOV",fCamFOV)
|
|
STOP_WIDGET_GROUP()
|
|
|
|
START_WIDGET_GROUP("debug cam")
|
|
ADD_WIDGET_VECTOR_SLIDER("Debug cam pos:",vdebugcamPOS,-6000,6000,0.001)
|
|
ADD_WIDGET_VECTOR_SLIDER("Debug cam ROT:",vdebugCamROT,-6000,6000,0.001)
|
|
ADD_WIDGET_FLOAT_READ_ONLY("Debug cam FOV",fdebugcamFOV)
|
|
STOP_WIDGET_GROUP()
|
|
STOP_WIDGET_GROUP()
|
|
|
|
START_WIDGET_GROUP("TOD")
|
|
ADD_WIDGET_BOOL("Pause Time on reset",bPauseClock)
|
|
ADD_WIDGET_BOOL("Reset TOD",bResetTOD)
|
|
ADD_WIDGET_BOOL("Use new TOD for Scene",bUseNewTOD)
|
|
ADD_WIDGET_INT_SLIDER("New TOD: ", iTOD,0,23,1)
|
|
STOP_WIDGET_GROUP()
|
|
|
|
START_WIDGET_GROUP("Shadows")
|
|
ADD_WIDGET_BOOL("Reset shadows", bResetShadows)
|
|
stop_widget_group()
|
|
|
|
START_WIDGET_GROUP("Peds/Traffic")
|
|
ADD_WIDGET_FLOAT_SLIDER("ped density",fTrafficDensity,0,3,0.1)
|
|
ADD_WIDGET_FLOAT_SLIDER("traffic density",fPedDensity,0,3,0.1)
|
|
ADD_WIDGET_BOOL("Clear area (500m)", bClearArea)
|
|
STOP_WIDGET_GROUP()
|
|
|
|
START_WIDGET_GROUP("water")
|
|
ADD_WIDGET_FLOAT_SLIDER("Water Reflection",fwatereflection,0,50,0.1)
|
|
STOP_WIDGET_GROUP()
|
|
|
|
START_WIDGET_GROUP("Slide car scene's driver ped")
|
|
ADD_WIDGET_INT_SLIDER("head ID",iDockWorkerHeadID,-1,2,1)
|
|
ADD_WIDGET_INT_SLIDER("Head Text",iDockWorkerHeadText,-1,2,1)
|
|
ADD_WIDGET_INT_SLIDER("torso ID",iDockWorkerUpperID,-1,2,1)
|
|
ADD_WIDGET_INT_SLIDER("torso text",idockworkerUpperText,-1,2,1)
|
|
ADD_WIDGET_INT_SLIDER("Lower ID",idockworkerlowID,-1,2,1)
|
|
ADD_WIDGET_INT_SLIDER("Lower Text",idockworkerlowText,-1,2,1)
|
|
ADD_WIDGET_INT_SLIDER("headprop id",iDockPropID,-1,2,1)
|
|
ADD_WIDGET_INT_SLIDER("headprop text",idockpropText,-1,2,1)
|
|
STOP_WIDGET_GROUP()
|
|
|
|
STOP_WIDGET_GROUP()
|
|
IF NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
|
|
SET_ENTITY_INVINCIBLE(PLAYER_PED_ID(), TRUE)
|
|
ENDIF
|
|
|
|
REQUEST_PTFX_ASSET()
|
|
LOAD_CLOUD_HAT("horizon")
|
|
|
|
DISPLAY_RADAR(FALSE)
|
|
DISPLAY_HUD(FALSE)
|
|
DISABLE_CELLPHONE(TRUE)
|
|
|
|
bDrawMenu = TRUE
|
|
|
|
mission_stage = enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
Mission_Set_Stage(int_to_enum(MSF_MISSION_STAGE_FLAGS, mission_stage))
|
|
mission_substage = STAGE_ENTRY
|
|
ENDPROC
|
|
// ===========================================================================================================
|
|
// Shot procedures
|
|
// ===========================================================================================================
|
|
|
|
PROC ST_0_WAIT_FOR_STAGE()
|
|
SWITCH mission_substage
|
|
CASE STAGE_ENTRY
|
|
|
|
//DESTROY_ALL_CAMS()
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA", <<482.3925, -807.1235, 130.9988>>, <<1.0100, 0.2558, 92.6482>>, 60.0000, TRUE)
|
|
SET_CAM_PARAMS(cameraIndex, <<176.7817, -821.2585, 136.3927>>, <<1.0100, 0.2558, 92.6482>>, 60.0000, 100000, GRAPH_TYPE_SIN_ACCEL_DECEL, GRAPH_TYPE_SIN_ACCEL_DECEL)
|
|
float z
|
|
GET_GROUND_Z_FOR_3D_COORD(GET_ENTITY_COORDS(player_ped_id()),z)
|
|
SET_ENTITY_COORDS(player_ped_id(),<<482.3925, -807.1235,z>>)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(500)
|
|
ENDIF
|
|
|
|
SET_WEATHER_TYPE_NOW_PERSIST("EXTRASUNNY")
|
|
|
|
SETTIMERB(0)
|
|
bDrawMenu = true
|
|
mission_substage++
|
|
BREAK
|
|
CASE 1
|
|
IF TIMERB() > 100000
|
|
mission_substage++
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE 2
|
|
//DESTROY_ALL_CAMS()
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<<176.7817, -821.2585, 136.3927>>, <<1.0100, 0.2558, 92.6482>>, 60.0000, TRUE)
|
|
SET_CAM_PARAMS(cameraIndex, <<482.3925, -807.1235, 130.9988>>, <<1.0100, 0.2558, 92.6482>>, 60.0000, 100000, GRAPH_TYPE_SIN_ACCEL_DECEL, GRAPH_TYPE_SIN_ACCEL_DECEL)
|
|
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
|
|
SETTIMERB(0)
|
|
mission_substage++
|
|
BREAK
|
|
|
|
CASE 3
|
|
IF TIMERB() > 100000
|
|
mission_substage = 99
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE 99
|
|
SET_CAM_PARAMS(cameraIndex, <<176.7817, -821.2585, 136.3927>>, <<1.0100, 0.2558, 92.6482>>, 60.0000, 100000, GRAPH_TYPE_SIN_ACCEL_DECEL, GRAPH_TYPE_SIN_ACCEL_DECEL)
|
|
SETTIMERB(0)
|
|
mission_substage = 1
|
|
BREAK
|
|
ENDSWITCH
|
|
DISPLAY_TEXT_WITH_LITERAL_STRING(0.3, 0.03, "STRING","Press 'P' to Toggle scene reset")
|
|
ENDPROC
|
|
PROC ST_2_OBSERVATORY_SHOT()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-508.391724,1114.447021,324.216095,15.607548)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-472.516602,1093.753418,324.216095,44.896576)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,-519.602112,510.347992,249.415100,449.954987)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,-445.712891,621.937988,239.018799,540.000000)
|
|
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA", << -484.5379, 1121.4351, 346.8401 >>, << -18.7962, -0.0000, -160.6597 >>, 56.8, TRUE)
|
|
SET_CAM_PARAMS(cameraIndex, << -485.7652, 1120.8416, 347.2903 >>, << -18.7962, -0.0000, -160.6597 >>, 56.8000, 2500, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
if not DOES_ENTITY_EXIST(peds[mpf_driver].id)
|
|
peds[mpf_driver].id = CREATE_PED(PEDTYPE_MISSION,A_M_M_BEVHILLS_02,<<-466.37637, 1089.31213, 326.68176>>)
|
|
TASK_START_SCENARIO_AT_POSITION(peds[mpf_driver].id,"WORLD_HUMAN_TOURIST_MOBILE",<<-466.37637, 1089.31213, 326.68176>>, 165.0717)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_oldman].id)
|
|
peds[mpf_oldman].id = CREATE_PED(PEDTYPE_MISSION,A_M_M_BUSINESS_01,<<-462.71686, 1092.16846, 326.68176>>)
|
|
TASK_START_SCENARIO_AT_POSITION(peds[mpf_oldman].id,"WORLD_HUMAN_HANG_OUT_STREET",<<-462.71686, 1092.16846, 326.68176>>,36.4846)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_phone].id)
|
|
peds[mpf_phone].id = CREATE_PED(PEDTYPE_MISSION,A_F_Y_TOURIST_01,<<-463.09814, 1093.39160, 326.68176>>)
|
|
TASK_START_SCENARIO_AT_POSITION(peds[mpf_phone].id,"WORLD_HUMAN_TOURIST_MAP",<<-463.09814, 1093.39160, 326.68176>>, 153.5232)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_pilot1].id)
|
|
peds[mpf_pilot1].id = CREATE_PED(PEDTYPE_MISSION,A_F_M_BEVHILLS_02,<<-471.39084, 1104.63867, 326.25180>>)
|
|
// TASK_START_SCENARIO_AT_POSITION(peds[mpf_pilot1].id,"WORLD_HUMAN_SEAT_WALL_EATING",<<-467.94592, 1091.92004, 327.68127>>,165)
|
|
TASK_GO_STRAIGHT_TO_COORD(peds[mpf_pilot1].id,<<-456.53128, 1089.58118, 326.68176>>,PEDMOVE_WALK,DEFAULT_TIME_NEVER_WARP)
|
|
endif
|
|
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if TIMERA() > 2500
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
if bPlayThrough
|
|
DO_SCREEN_FADE_OUT(0)
|
|
Load_Stage_Assets(STAGE_3_FAM2_INT_P1)
|
|
set_up_stage(STAGE_3_FAM2_INT_P1)
|
|
Mission_Set_Stage(STAGE_3_FAM2_INT_P1)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
if IS_SCREEN_FADED_IN()
|
|
DO_SCREEN_FADE_OUT(0)
|
|
endif
|
|
if TIMERA() > 3500
|
|
if IsEntityAlive(peds[mpf_pilot1].id)
|
|
delete_ped(peds[mpf_pilot1].id)
|
|
endif
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
|
|
endproc
|
|
PROC ST_2_OBSERVATORY_SHOT_ALT()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-472.516602,1111.196167,324.216095,17.076283)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-472.516602,1093.753418,324.216095,44.896576)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,-517.516052,901.473328,249.415375,150.000000)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,-451.142700,700.000000,239.018799,425.939728)
|
|
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA", << -484.5379, 1121.4351, 346.8401 >>, << -18.7962, -0.0000, -160.6597 >>, 56.8, TRUE)
|
|
SET_CAM_PARAMS(cameraIndex, << -485.7652, 1120.8416, 347.2903 >>, << -18.7962, -0.0000, -160.6597 >>, 56.8000, 2500, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
if not DOES_ENTITY_EXIST(peds[mpf_driver].id)
|
|
peds[mpf_driver].id = CREATE_PED(PEDTYPE_MISSION,A_M_M_BEVHILLS_02,<<-466.37637, 1089.31213, 326.68176>>)
|
|
TASK_START_SCENARIO_AT_POSITION(peds[mpf_driver].id,"WORLD_HUMAN_TOURIST_MOBILE",<<-466.37637, 1089.31213, 326.68176>>, 165.0717)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_oldman].id)
|
|
peds[mpf_oldman].id = CREATE_PED(PEDTYPE_MISSION,A_M_M_BUSINESS_01,<<-462.71686, 1092.16846, 326.68176>>)
|
|
TASK_START_SCENARIO_AT_POSITION(peds[mpf_oldman].id,"WORLD_HUMAN_HANG_OUT_STREET",<<-462.71686, 1092.16846, 326.68176>>,36.4846)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_phone].id)
|
|
peds[mpf_phone].id = CREATE_PED(PEDTYPE_MISSION,A_F_Y_TOURIST_01,<<-463.09814, 1093.39160, 326.68176>>)
|
|
TASK_START_SCENARIO_AT_POSITION(peds[mpf_phone].id,"WORLD_HUMAN_TOURIST_MAP",<<-463.09814, 1093.39160, 326.68176>>, 153.5232)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_pilot1].id)
|
|
peds[mpf_pilot1].id = CREATE_PED(PEDTYPE_MISSION,A_F_M_BEVHILLS_02,<<-471.39084, 1104.63867, 326.25180>>)
|
|
// TASK_START_SCENARIO_AT_POSITION(peds[mpf_pilot1].id,"WORLD_HUMAN_SEAT_WALL_EATING",<<-467.94592, 1091.92004, 327.68127>>,165)
|
|
TASK_GO_STRAIGHT_TO_COORD(peds[mpf_pilot1].id,<<-456.53128, 1089.58118, 326.68176>>,PEDMOVE_WALK,DEFAULT_TIME_NEVER_WARP)
|
|
endif
|
|
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if TIMERA() > 2500
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
if bPlayThrough
|
|
DO_SCREEN_FADE_OUT(0)
|
|
Load_Stage_Assets(STAGE_3_FAM2_INT_P1)
|
|
set_up_stage(STAGE_3_FAM2_INT_P1)
|
|
Mission_Set_Stage(STAGE_3_FAM2_INT_P1)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
if IS_SCREEN_FADED_IN()
|
|
DO_SCREEN_FADE_OUT(0)
|
|
endif
|
|
if TIMERA() > 3500
|
|
if IsEntityAlive(peds[mpf_pilot1].id)
|
|
delete_ped(peds[mpf_pilot1].id)
|
|
endif
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
|
|
Endproc
|
|
proc ST_3_FAM2_INT_P1() //tennis
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-773.452087,164.090302,67.376785,6.941813)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-773.452087,156.502289,67.376793,9.199070)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,-818.972778,160.218796,76.246338,27.522293)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,-800.428589,228.689377,79.433769,93.751991)
|
|
START_CUTSCENE()
|
|
//camera
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< -761.6831, 127.7389, 82.0954 >>, << -10.5571, -0.0000, 32.2714 >>, 44, TRUE)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
SETTIMERA(0)
|
|
if not DOES_ENTITY_EXIST(peds[mpf_oldman].id)
|
|
peds[mpf_oldman].id = CREATE_PED(PEDTYPE_MISSION,S_M_M_GARDENER_01,<<-806.80261, 152.18236, 67.88828>>)
|
|
TASK_START_SCENARIO_AT_POSITION(peds[mpf_oldman].id, "WORLD_HUMAN_GARDENER_LEAF_BLOWER",<<-804.18408, 146.86296, 64.21335>>,217.2437)
|
|
SET_ENTITY_LOD_DIST(peds[mpf_oldman].id,1000)
|
|
endif
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 0//1500
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
SET_CAM_PARAMS(cameraIndex,<< -761.6831, 127.7389, 82.0954 >>, << -13.3528, 0.0000, 31.2356 >>, 44, 4500, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 4500
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_4_DRIVEWAY_SHOT)
|
|
set_up_stage(STAGE_4_DRIVEWAY_SHOT)
|
|
Mission_Set_Stage(STAGE_4_DRIVEWAY_SHOT)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_3_FAM2_INT_P1)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if IS_CUTSCENE_PLAYING()
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
endproc
|
|
proc ST_4_DRIVEWAY_SHOT()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
//cam
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< -823.6382, 153.6339, 69.3399 >>, << 10.9499, -0.0000, -39.4098 >>, 39.5356, TRUE)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
fLODscale = 1.4
|
|
//create car
|
|
if not DOES_ENTITY_EXIST(vehs[veh_Driveway].id)
|
|
vehs[veh_Driveway].id = CREATE_VEHICLE(NINEF2,vdrivewaypos,fdrivewayheading)
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehs[veh_Driveway].id,4)
|
|
LOWER_CONVERTIBLE_ROOF(vehs[veh_Driveway].id,true)
|
|
SET_VEHICLE_ON_GROUND_PROPERLY(vehs[veh_Driveway].id)
|
|
endif
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if timera() > 1000
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
endif
|
|
SET_CAM_PARAMS(cameraIndex,<< -823.3452, 153.3983, 69.4799 >>, << 13.5878, 0.0000, -35.0619 >>, 39.5356, 4000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if timera() > 4000
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_5_FAM1_INT_P1)
|
|
set_up_stage(STAGE_5_FAM1_INT_P1)
|
|
Mission_Set_Stage(STAGE_5_FAM1_INT_P1)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
if DOES_ENTITY_EXIST(vehs[veh_Driveway].id)
|
|
DELETE_VEHICLE(vehs[veh_Driveway].id)
|
|
endif
|
|
DO_SCREEN_FADE_OUT(0)
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
// if DOES_ENTITY_EXIST(vehs[veh_parked_car].id)
|
|
// if not IS_ENTITY_DEAD(vehs[veh_parked_car].id)
|
|
// SET_ENTITY_COORDS(vehs[veh_parked_car].id,vDebugPosition)
|
|
// set_entity_heading(vehs[veh_parked_car].id,fDebugHeading)
|
|
// SET_VEHICLE_ON_GROUND_PROPERLY(vehs[veh_parked_car].id)
|
|
// endif
|
|
// endif
|
|
|
|
endproc
|
|
proc ST_5_FAM1_INT_P1()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) = CHAR_MICHAEL
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_FRANKLIN)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
START_CUTSCENE()
|
|
if IsEntityAlive(peds[mpf_mike].id)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(peds[mpf_mike].id, "Michael", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
SET_CUTSCENE_PED_COMPONENT_VARIATION_FROM_PED("michael",peds[mpf_mike].id)
|
|
endif
|
|
streamvol = STREAMVOL_CREATE_FRUSTUM(<< -769.5152, 161.4985, 84.0688 >>, << -20.3405, 0.9996, 32.1397 >>,100,FLAG_MAPDATA)
|
|
//camera
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< -797.2319, 186.4233, 72.9825 >>, << -3.5417, 0.9998, 102.7818 >>, 30.0174, TRUE)
|
|
SET_CAM_PARAMS(cameraIndex,<< -797.2648, 186.3080, 72.9884 >>, << -3.8154, 0.9998, 103.4982 >>,30,6000,GRAPH_TYPE_LINEAR,GRAPH_TYPE_LINEAR)
|
|
SET_CAM_ACTIVE(cameraIndex,true)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
SETTIMERA(0)
|
|
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 1900
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 5620
|
|
SET_CLOCK_TIME(13,0,0)
|
|
SET_CAM_FAR_DOF(cameraIndex,270)
|
|
SET_CAM_NEAR_DOF(cameraIndex,5)
|
|
SET_CAM_USE_SHALLOW_DOF_MODE(cameraIndex,true)
|
|
bHighDofOn = true
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if GET_CUTSCENE_TIME() >= 10033
|
|
SET_CAM_PARAMS(cameraIndex,<< -778.3713, 187.8110, 72.5213 >>, << 2.4206, 1.0003, 99.5010 >>,16.4626,0)
|
|
SET_CAM_PARAMS(cameraIndex,<< -778.3713, 187.8110, 72.5213 >>, << 1.8857, 1.0001, 97.7170 >>,16.4626,9267,GRAPH_TYPE_LINEAR,GRAPH_TYPE_LINEAR)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 4
|
|
if GET_CUTSCENE_TIME() >= 19300
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 5
|
|
if GET_CUTSCENE_TIME() >= 38000
|
|
or HAS_CUTSCENE_FINISHED()
|
|
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 6
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_6_CITY_TRAIN_SHOT)
|
|
set_up_stage(STAGE_6_CITY_TRAIN_SHOT)
|
|
Mission_Set_Stage(STAGE_6_CITY_TRAIN_SHOT)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_5_FAM1_INT_P1)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if IS_CUTSCENE_PLAYING()
|
|
if GET_CUTSCENE_TIME() >= 5666 and GET_CUTSCENE_TIME() < 10033 // clip 2
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-780.490601,187.876251,72.439651,3.258497)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-780.488770,187.767242,72.427795,5.257813)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,-784.134216,187.964050,72.289421,6.553432)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,FALSE,0.000000,0.000000,0.000000,0.000000)
|
|
elif GET_CUTSCENE_TIME() >= 10033 and GET_CUTSCENE_TIME() < 19300 // clip 3
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-786.769165,186.255463,72.794601,1.157311)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-784.134216,187.964920,72.288277,2.632771)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,FALSE,0.000000,0.000000,0.000000,0.000000)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,-787.414124,183.238968,73.160629,27.808306)
|
|
SET_CLOCK_TIME(13,0,0)
|
|
SET_WEATHER_TYPE_NOW_PERSIST("smog")
|
|
elif GET_CUTSCENE_TIME() >= 19300 and GET_CUTSCENE_TIME() < 20900 // clip 6
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-780.479126,187.773575,72.423218,1.204188)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-780.488770,187.767242,72.427795,2.411242)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,FALSE,0.000000,0.000000,0.000000,0.000000)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,FALSE,0.000000,0.000000,0.000000,0.000000)
|
|
SET_CLOCK_TIME(16,0,0)
|
|
SET_WEATHER_TYPE_NOW_PERSIST("SNOWLIGHT")
|
|
elif GET_CUTSCENE_TIME() >= 20900 and GET_CUTSCENE_TIME() < 29733 // clip 7
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-780.479126,187.773575,72.423218,0.469813)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-780.488770,187.767242,72.427795,2.051867)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,FALSE,0.000000,0.000000,0.000000,0.000000)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,FALSE,0.000000,0.000000,0.000000,0.000000)
|
|
elif GET_CUTSCENE_TIME() >= 29733 and GET_CUTSCENE_TIME() < 35900 // clip 8
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-780.479126,187.773575,72.423218,2.360440)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-780.488770,187.767242,72.427795,3.629992)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,-784.134216,187.964050,72.289421,5.897182)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,-780.464478,189.933487,72.388496,8.758831)
|
|
elif GET_CUTSCENE_TIME() >= 35900 //clip 9
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-780.248596,188.432999,72.290451,0.635394)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-780.488770,187.767242,72.427795,3.629992)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,-784.134216,187.964050,72.289421,5.897182)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,-780.464478,189.933487,72.388496,8.758831)
|
|
endif
|
|
endif
|
|
if mission_substage = 4
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
|
|
endproc
|
|
proc ST_6_CITY_TRAIN_SHOT()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
endif
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,780.744873,-486.837524,29.516705,10.489002)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,796.368347,-480.491577,29.973850,13.402205)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,777.991943,-498.517029,35.446419,30.895958)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,622.286011,-561.551636,35.447056,179.981995)
|
|
|
|
//cam
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< 833.7414, -481.7881, 39.1400 >>, << -4.6010, 0.0000, 97.3758 >>, 35.9, TRUE)
|
|
SET_CAM_PARAMS(cameraIndex,<< 833.7414, -481.7881, 39.1400 >>, << 5.2272, 0.0000, 103.9583 >>, 35.9, 5000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
//create train
|
|
vehs[veh_first_train].id = CREATE_MISSION_TRAIN(3,vTrainCityPos, TRUE)
|
|
SET_TRAIN_CRUISE_SPEED(vehs[veh_first_train].id, ftrainSpeed)
|
|
SET_TRAIN_SPEED(vehs[veh_first_train].id, ftrainSpeed)
|
|
SET_WEATHER_TYPE_NOW_PERSIST("EXTRASUNNY")
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if timera() > 5000
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_7_COUNTRY_SCAPE_SHOT)
|
|
set_up_stage(STAGE_7_COUNTRY_SCAPE_SHOT)
|
|
Mission_Set_Stage(STAGE_7_COUNTRY_SCAPE_SHOT)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
DELETE_MISSION_TRAIN(vehs[veh_first_train].id)
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc ST_7_COUNTRY_SCAPE_SHOT()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
endif
|
|
//cam
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< 2557.3301, 3037.0537, 44.0020 >>, << 5.1213, -0.0000, 125.3085 >>, 39.4673, TRUE)
|
|
|
|
SET_CAM_PARAMS(cameraIndex,<< 2557.3301, 3037.0537, 44.0020 >>, << 5.1213, 0.0000, 123.3813 >>, 39.4673, 2500, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
//create truck
|
|
CLEAR_AREA(<<2545.50488, 3037.98584, 42.32346>>,7,true)
|
|
vehs[veh_truck].id = CREATE_VEHICLE(packer,<<2545.50488, 3037.98584, 42.32346>>,135.13)
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehs[veh_truck].id,1)
|
|
vehs[veh_exp1].id = create_vehicle(TRAILERS,GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(vehs[veh_truck].id, <<0.0, 3.5, 0.0>>), GET_ENTITY_HEADING(vehs[veh_truck].id))
|
|
ATTACH_VEHICLE_TO_TRAILER(vehs[veh_truck].id,vehs[veh_exp1].id)
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if timera() > 2500
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_8_LIQUOR_ACE_SHOT)
|
|
set_up_stage(STAGE_8_LIQUOR_ACE_SHOT)
|
|
Mission_Set_Stage(STAGE_8_LIQUOR_ACE_SHOT)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
if IsEntityAlive(vehs[veh_truck].id)
|
|
and IsEntityAlive(vehs[veh_exp1].id)
|
|
DETACH_VEHICLE_FROM_TRAILER(vehs[veh_truck].id)
|
|
DELETE_VEHICLE(vehs[veh_truck].id)
|
|
DELETE_VEHICLE(vehs[veh_exp1].id)
|
|
endif
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if DOES_ENTITY_EXIST(vehs[veh_truck].id)
|
|
if not IS_ENTITY_DEAD(vehs[veh_truck].id)
|
|
SET_VEHICLE_FORWARD_SPEED(vehs[veh_truck].id,15)
|
|
endif
|
|
endif
|
|
endproc
|
|
proc ST_8_LIQUOR_ACE_SHOT()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< 1989.5298, 3074.7014, 47.3174 >>, << -1.8617, -0.0000, -172.5692 >>,35.8189, TRUE)
|
|
//women
|
|
if not DOES_ENTITY_EXIST(peds[mpf_oldman].id)
|
|
peds[mpf_oldman].id = create_ped(PEDTYPE_MISSION,A_F_M_Salton_01,<< 1999.8894, 3050.8081, 46.2142 >>, 33.0468)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_oldman].id,PED_COMP_TORSO,0,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_oldman].id,PED_COMP_LEG,1,2)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_oldman].id,PED_COMP_HAIR,0,0)
|
|
TASK_PLAY_ANIM(peds[mpf_oldman].id,"amb@world_human_leaning@female@wall@back@holding_elbow@idle_a","idle_b",INSTANT_BLEND_IN,NORMAL_BLEND_OUT)
|
|
endif
|
|
//fat man
|
|
if not DOES_ENTITY_EXIST(peds[mpf_fatmancross].id)
|
|
peds[mpf_fatmancross].id = create_ped(PEDTYPE_MISSION,A_M_M_Salton_01,<< 1993.6366, 3057.4487, 46.0563 >>, 272.6865)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_fatmancross].id,PED_COMP_TORSO,2,1)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_fatmancross].id,PED_COMP_LEG,0,1)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_fatmancross].id,PED_COMP_HAIR,1,0)
|
|
TASK_PLAY_ANIM(peds[mpf_fatmancross].id,"move_m@generic_variations@walk","walk_e",INSTANT_BLEND_IN,NORMAL_BLEND_OUT)
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
endif
|
|
//cam
|
|
SET_CAM_PARAMS(cameraIndex,<< 1988.9154, 3074.6213, 47.3186 >>, << 1.5679, 0.0003, -170.9200 >> ,35.8189, 2500, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
SHAKE_CAM(cameraIndex,"HAND_SHAKE",0.6)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,1987.481812,3064.853027,46.956909,3.447119)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,1990.990845,3071.017090,46.504059,1.589828)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,1993.078857,3055.733887,48.113201,20.000000)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,2015.878174,3000.344971,45.083389,87.052994)
|
|
//ambiant peds / vehs
|
|
if not DOES_ENTITY_EXIST(vehs[veh_parked_car].id)
|
|
vehs[veh_parked_car].id = CREATE_VEHICLE(RATLOADER,vparkcarpos,fparkcarheading)
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehs[veh_parked_car].id,0)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(vehs[veh_tornado3].id)
|
|
vehs[veh_tornado3].id = CREATE_VEHICLE(tornado3,vtornado3,ftornado3)
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehs[veh_tornado3].id,0)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_driver].id)
|
|
peds[mpf_driver].id = CREATE_PED_INSIDE_VEHICLE(vehs[veh_tornado3].id,PEDTYPE_MISSION,S_M_Y_XMech_02)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_driver].id,PED_COMP_TORSO,0,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_driver].id,PED_COMP_LEG,0,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_driver].id,PED_COMP_LEG,0,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_driver].id,PED_COMP_HAIR,0,0)
|
|
endif
|
|
//man drunk
|
|
if not DOES_ENTITY_EXIST(peds[mpf_phone].id)
|
|
peds[mpf_phone].id = create_ped(PEDTYPE_MISSION,A_M_M_HILLBILLY_02,<<1991.39758, 3067.16772, 46.02674>>,63)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_phone].id,PED_COMP_TORSO,0,2)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_phone].id,PED_COMP_LEG,0,2)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_phone].id,PED_COMP_HAIR,1,0)
|
|
endif
|
|
OPEN_SEQUENCE_TASK(seq)
|
|
TASK_PLAY_ANIM(null,"move_drunk_m","walk",INSTANT_BLEND_IN,SLOW_BLEND_OUT,-1)
|
|
CLOSE_SEQUENCE_TASK(seq)
|
|
TASK_PERFORM_SEQUENCE(peds[mpf_phone].id,seq)
|
|
CLEAR_SEQUENCE_TASK(seq)
|
|
SET_PED_MIN_MOVE_BLEND_RATIO(peds[mpf_phone].id,PEDMOVEBLENDRATIO_WALK)
|
|
FORCE_PED_MOTION_STATE(peds[mpf_phone].id,MS_ON_FOOT_WALK,false,FAUS_CUTSCENE_EXIT)
|
|
//fighter 1
|
|
if not DOES_ENTITY_EXIST(peds[mpf_pilot1].id)
|
|
peds[mpf_pilot1].id = create_ped(PEDTYPE_MISSION,A_M_M_HILLBILLY_01,<< 1991.02856, 3060.32104, 46.05356 >>, 66.1944 )
|
|
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_pilot1].id,PED_COMP_TORSO,0,2)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_pilot1].id,PED_COMP_LEG,0,2)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_pilot1].id,PED_COMP_HAIR,1,2)
|
|
endif
|
|
//fighter 2
|
|
if not DOES_ENTITY_EXIST(peds[mpf_pilot2].id)
|
|
peds[mpf_pilot2].id = create_ped(PEDTYPE_MISSION,A_M_M_HILLBILLY_01,<< 1989.69739, 3060.97339, 46.05430 >>, 244.8239)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_pilot2].id,PED_COMP_TORSO,1,2)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_pilot2].id,PED_COMP_LEG,1,0)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_pilot2].id,PED_COMP_HAIR,0,2)
|
|
endif
|
|
|
|
// TASK_FOLLOW_NAV_MESH_TO_COORD(peds[mpf_fatmancross].id,<< 2000.8536, 3057.7395, 46.0492 >>,PEDMOVE_WALK,DEFAULT_TIME_NEVER_WARP)
|
|
// SET_PED_MIN_MOVE_BLEND_RATIO(peds[mpf_fatmancross].id,PEDMOVEBLENDRATIO_WALK)
|
|
// FORCE_PED_MOTION_STATE(peds[mpf_fatmancross].id,MS_ON_FOOT_WALK,false,FAUS_CUTSCENE_EXIT)
|
|
//fight
|
|
syncsceneID = CREATE_SYNCHRONIZED_SCENE(<<1988.329,3061.971,46.05>>,<<0,0,40>>)
|
|
|
|
TASK_SYNCHRONIZED_SCENE(peds[mpf_pilot1].id,syncsceneID,"trailer2@shoved_peds","B_SHOVE", INSTANT_BLEND_IN,NORMAL_BLEND_OUT)
|
|
TASK_SYNCHRONIZED_SCENE(peds[mpf_pilot2].id,syncsceneID,"trailer2@shoved_peds","A_SHOVE",INSTANT_BLEND_IN,NORMAL_BLEND_OUT)
|
|
CLEAR_AREA(<< 1415.1364, 3581.8572, 34.8545 >>,50,true)
|
|
mission_substage++
|
|
break
|
|
case 2
|
|
if IS_SYNCHRONIZED_SCENE_RUNNING(syncsceneID)
|
|
and GET_SYNCHRONIZED_SCENE_PHASE(syncsceneID) > 0.99
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_9_TREV1_MCS3_P2_A)
|
|
set_up_stage(STAGE_9_TREV1_MCS3_P2_A)
|
|
Mission_Set_Stage(STAGE_9_TREV1_MCS3_P2_A)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
if DOES_ENTITY_EXIST(peds[mpf_driver].id)
|
|
delete_ped(peds[mpf_driver].id)
|
|
endif
|
|
IF DOES_ENTITY_EXIST(vehs[veh_tornado3].id)
|
|
IF NOT IS_ENTITY_DEAD(vehs[veh_tornado3].id)
|
|
delete_vehicle(vehs[veh_tornado3].id)
|
|
endif
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_pilot1].id)
|
|
delete_ped(peds[mpf_pilot1].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_pilot2].id)
|
|
delete_ped(peds[mpf_pilot2].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_oldman].id)
|
|
delete_ped(peds[mpf_oldman].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_phone].id)
|
|
delete_ped(peds[mpf_phone].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_fatmancross].id)
|
|
delete_ped(peds[mpf_fatmancross].id)
|
|
endif
|
|
CLEAR_AREA(<< 1415.1364, 3581.8572, 34.8545>>,30,true)
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if DOES_ENTITY_EXIST(vehs[veh_tornado3].id)
|
|
if not IS_ENTITY_DEAD(vehs[veh_tornado3].id)
|
|
SET_VEHICLE_FORWARD_SPEED(vehs[veh_tornado3].id,10.8)
|
|
endif
|
|
endif
|
|
// if DOES_ENTITY_EXIST(vehs[veh_parked_car].id)
|
|
// if not IS_ENTITY_DEAD(vehs[veh_parked_car].id)
|
|
// SET_ENTITY_COORDS(vehs[veh_parked_car].id,vDebugPosition)
|
|
// set_entity_heading(vehs[veh_parked_car].id,fDebugHeading)
|
|
// SET_VEHICLE_ON_GROUND_PROPERLY(vehs[veh_parked_car].id)
|
|
// endif
|
|
// endif
|
|
endproc
|
|
proc ST_9_TREV1_MCS3_P2_A()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
|
|
if HAS_CUTSCENE_LOADED()
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< -42.4877, 3093.7954, 26.7999 >>, << 4.0862, -0.0000, 49.0044 >>,46.1490, TRUE)
|
|
|
|
WATER_REFLECTION_SET_HEIGHT(true,fwatereflection)
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) = CHAR_TREVOR
|
|
SET_ENTITY_VISIBLE(player_ped_id(),true)
|
|
endif
|
|
|
|
camfollow = CREATE_CAM("DEFAULT_SCRIPTED_CAMERA")
|
|
SET_CAM_ACTIVE(cameraIndex,true)
|
|
RENDER_SCRIPT_CAMS(true,false)
|
|
SHAKE_CAM(cameraIndex,"HAND_SHAKE",0.3)
|
|
SHAKE_CAM(camfollow,"HAND_SHAKE",0.4)
|
|
SET_CLOCK_TIME(GET_CLOCK_HOURS(),30,0)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(objWeapon[WEAPON_TREVOR], "Trevors_weapon", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
START_CUTSCENE()
|
|
SET_CUTSCENE_ORIGIN(<<-9.430,3051.75,40>>,23.603,0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 1000
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 10200
|
|
SET_CAM_PARAMS(cameraIndex,<< -42.4877, 3093.7954, 26.7999 >>, << 4.0862, -0.0000, 49.0044 >>,38.0423,3000)
|
|
SET_CAM_PARAMS(camfollow,<< -42.4877, 3093.7954, 26.7999 >>, << 4.0862, -0.0000, 49.0044 >>,38.0423,0)
|
|
POINT_CAM_AT_COORD(camfollow,<<-48.32471, 3100.03223, 26.24728>>)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if GET_CUTSCENE_TIME() >= 11200
|
|
SET_CAM_ACTIVE_WITH_INTERP(camfollow,cameraIndex,2500)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 4
|
|
if GET_CUTSCENE_TIME() >= 14000
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 5
|
|
if GET_CUTSCENE_TIME() >= 17800
|
|
SET_CAM_ACTIVE(cameraIndex,true)
|
|
SET_CAM_PARAMS(cameraIndex,<< -44.8513, 3094.5393, 27.2668 >>, << 19.7181, 3.1424, -160.9558 >>,16.8474,0)
|
|
SET_CAM_PARAMS(cameraIndex,<< -45.0337, 3094.4468, 27.1943 >>, << 23.6207, 3.1258, -154.9080 >>,15.5739,1200)//<< -45.0328, 3094.4441, 27.1954 >>, << 21.0296, 3.1424, -157.5487 >>,16.8474,1200)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 6
|
|
if GET_CUTSCENE_TIME() >= 19200
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 7
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_10_CHIN1_INT_P2)
|
|
set_up_stage(STAGE_10_CHIN1_INT_P2)
|
|
Mission_Set_Stage(STAGE_10_CHIN1_INT_P2)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_9_TREV1_MCS3_P2_A)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
|
|
|
|
if mission_substage > 2
|
|
and mission_substage < 5
|
|
and IS_CUTSCENE_PLAYING()
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
endproc
|
|
proc ST_10_CHIN1_INT_P2() //bar fight
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) = CHAR_TREVOR
|
|
SET_ENTITY_VISIBLE(player_ped_id(),true)
|
|
endif
|
|
START_CUTSCENE()
|
|
clear_area(<<1987.9679, 3053.7041, 46.1257>>,20,true)
|
|
//camera
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<<1987.9679, 3053.7041, 46.1257>>, << 5.2109, 1.3016, -35.9444 >>, 45, TRUE)
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 2000
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 24000
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_11_TREV1_MCS3_P2_B)
|
|
set_up_stage(STAGE_11_TREV1_MCS3_P2_B)
|
|
Mission_Set_Stage(STAGE_11_TREV1_MCS3_P2_B)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_10_CHIN1_INT_P2)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if IS_CUTSCENE_ACTIVE()
|
|
//add blood decals
|
|
// if not does_entity_exist(peds[mpf_pilot2].id)
|
|
// if does_entity_exist(GET_ENTITY_INDEX_OF_CUTSCENE_ENTITY("Russian_Drunk", CS_RussianDrunk))
|
|
//
|
|
// peds[mpf_pilot2].id = GET_PED_INDEX_FROM_ENTITY_INDEX(GET_ENTITY_INDEX_OF_CUTSCENE_ENTITY("Russian_Drunk", CS_RussianDrunk))
|
|
//
|
|
// endif
|
|
//
|
|
// else
|
|
|
|
// if not is_ped_injured(peds[mpf_pilot2].id)
|
|
|
|
if GET_CUTSCENE_TIME() >= 22930 //has_anim_event_fired(peds[mpf_pilot2].id, get_hash_key("Blood_Splat"))
|
|
if not is_decal_alive(blood[0].the_decal_id)
|
|
println("DECAL")
|
|
blood[0].the_decal_id = add_decal(blood[0].decal_texture_id, blood[0].pos, blood[0].direction, blood[0].side, blood[0].width, blood[0].height, 0.196, 0, 0, blood[0].fAlpha, blood[0].life)
|
|
blood[1].the_decal_id = add_decal(blood[1].decal_texture_id, blood[1].pos, blood[1].direction, blood[1].side, blood[1].width, blood[1].height, 0.196, 0, 0, blood[1].fAlpha, blood[1].life)
|
|
endif
|
|
endif
|
|
// endif
|
|
|
|
// endif
|
|
endif
|
|
endproc
|
|
proc ST_11_TREV1_MCS3_P2_B()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) = CHAR_TREVOR
|
|
SET_ENTITY_VISIBLE(player_ped_id(),true)
|
|
endif
|
|
REGISTER_ENTITY_FOR_CUTSCENE(objWeapon[WEAPON_TREVOR], "Trevors_weapon", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
START_CUTSCENE()
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<<-31.2,3040.7,40>>, << 5.2109, 1.3016, -35.9444 >>, 45, TRUE)
|
|
//camera
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 2000
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 24000
|
|
or HAS_CUTSCENE_FINISHED()
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(AS_BUGGY)
|
|
set_up_stage(AS_BUGGY)
|
|
Mission_Set_Stage(AS_BUGGY)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_11_TREV1_MCS3_P2_B)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc AST_BUGGY()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_TREVOR
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_TREVOR)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
|
|
CLEAR_AREA(<<2330.8523, 3127.2266, 48.0014 >>,30,true)
|
|
bHighDofOn = true
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA", << 2330.8523, 3127.2266, 48.0014 >>, << 0.5023, 4.0720, 143.7649 >>, 46.5, TRUE)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
settimera(0)
|
|
//buggy
|
|
if not DOES_ENTITY_EXIST(vehs[veh_dune].id)
|
|
vehs[veh_dune].id = CREATE_VEHICLE(dune,<< 2330.9966, 3107.8857, 47.1834 >>, 12.5717)
|
|
SET_VEHICLE_EXTRA(vehs[veh_dune].id,3,true)
|
|
SET_VEHICLE_EXTRA(vehs[veh_dune].id,2,true)
|
|
POINT_CAM_AT_ENTITY(cameraIndex,vehs[veh_dune].id,<<0,0,0>>)
|
|
SET_PED_INTO_VEHICLE(PLAYER_PED_ID(),vehs[veh_dune].id)
|
|
SET_VEHICLE_ENGINE_ON(vehs[veh_dune].id,true,true)
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if timera() > 500
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
endif
|
|
if IsEntityAlive(vehs[veh_dune].id)
|
|
SET_VEHICLE_EXTRA(vehs[veh_dune].id,3,true)
|
|
SET_VEHICLE_EXTRA(vehs[veh_dune].id,2,true)
|
|
endif
|
|
SET_CAM_PARAMS(cameraIndex, << 2330.8523, 3127.2266, 48.0014 >>, << 0.5313, -3.1592, 83.2309 >>, 36.5, 10000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
bplayerControl = true
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if timera() > 10000
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(AS_TREV_MOL)
|
|
set_up_stage(AS_TREV_MOL)
|
|
Mission_Set_Stage(AS_TREV_MOL)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(player_ped_id(),<<2328.93408, 3109.98779, 47.17923>>)
|
|
endif
|
|
if IsEntityAlive(vehs[veh_dune].id)
|
|
EMPTY_VEHICLE(vehs[veh_dune].id)
|
|
DELETE_VEHICLE(vehs[veh_dune].id)
|
|
endif
|
|
DESTROY_ALL_CAMS()
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
|
|
endproc
|
|
proc AST_TREV_MOL()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
CLEAR_AREA(<<2461.0942, 4952.7583, 45.2938 >>,30,true)
|
|
bHighDofOn = true
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< 2461.9463, 4953.2314, 45.3812 >>, << 5.2509, 0.2879, -60.8458 >>, 45.9737, TRUE)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
if not DOES_ENTITY_EXIST(peds[mpf_trev].id)
|
|
peds[mpf_trev].id = CREATE_PED(PEDTYPE_MISSION,player_two,<< 2463.4604, 4953.9409, 44.1651 >>, 61.5282)
|
|
SET_PED_COMP_ITEM_CURRENT_SP(peds[mpf_trev].id, COMP_TYPE_OUTFIT, OUTFIT_P2_DEFAULT)
|
|
GIVE_WEAPON_TO_PED(peds[mpf_trev].id,WEAPONTYPE_MOLOTOV,10,true,true)
|
|
SET_CURRENT_PED_WEAPON(peds[mpf_trev].id,WEAPONTYPE_MOLOTOV,true)
|
|
syncsceneID = CREATE_SYNCHRONIZED_SCENE(<<2463.460,4953.941,45.165>>,<<0,0,180>>)
|
|
TASK_SYNCHRONIZED_SCENE(peds[mpf_trev].id,syncsceneID,"trailer2@molotov_throw","trevor_throw_molotov",INSTANT_BLEND_IN,NORMAL_BLEND_OUT)
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(peds[mpf_trev].id,false)
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if IsEntityAlive(peds[mpf_trev].id)
|
|
and HAVE_ALL_STREAMING_REQUESTS_COMPLETED(peds[mpf_trev].id)
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
endif
|
|
SET_CAM_PARAMS(cameraIndex,<< 2461.9534, 4953.2207, 45.3811 >>, << 6.9905, 0.3115, -55.1523 >>,45.9737, 1000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
SHAKE_CAM(cameraIndex,"HAND_SHAKE",0.2)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_SYNCHRONIZED_SCENE_RUNNING(syncsceneID)
|
|
and GET_SYNCHRONIZED_SCENE_PHASE(syncsceneID) >= 0.37
|
|
camfollow = CREATE_CAMERA_WITH_PARAMS(CAMTYPE_SCRIPTED,<< 2461.9534, 4953.2207, 45.3811 >>, << 9.4673, 0.3115, -58.1561 >>,39.2322)
|
|
SHAKE_CAM(camfollow,"HAND_SHAKE",0.2)
|
|
SET_CAM_ACTIVE_WITH_INTERP(camfollow,cameraIndex,700)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if IS_SYNCHRONIZED_SCENE_RUNNING(syncsceneID)
|
|
and GET_SYNCHRONIZED_SCENE_PHASE(syncsceneID) >= 0.86
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(AS_FIRE_TRAIL)
|
|
set_up_stage(AS_FIRE_TRAIL)
|
|
Mission_Set_Stage(AS_FIRE_TRAIL)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
if timerb() > 2000
|
|
if DOES_ENTITY_EXIST(peds[mpf_trev].id)
|
|
delete_ped(peds[mpf_trev].id)
|
|
endif
|
|
DESTROY_ALL_CAMS()
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
else
|
|
settimerb(0)
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
endproc
|
|
PROC AST_FIRE_TRAIL()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
endif
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA", << 2440.2930, 4969.5010, 47.2616 >>, << -18.8169, -0.7638, -66.2176 >>,60.0335, TRUE)
|
|
SET_CAM_ACTIVE(cameraIndex,true)
|
|
SHAKE_CAM(cameraIndex,"HAND_SHAKE",0.8)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
CLEAR_AREA(<<2461.0942, 4952.7583, 45.2938 >>,50,true)
|
|
SET_CAM_PARAMS(cameraIndex,<< 2440.2578, 4969.5659, 47.2585 >>, << -27.1572, -0.4346, -83.5768 >>,59.6725,2500,GRAPH_TYPE_LINEAR,GRAPH_TYPE_LINEAR)
|
|
|
|
gasTrail[0].coord = <<2449.5710, 4973.7192, 45.8104>>
|
|
gasTrail[1].coord = <<2448.6167, 4973.2974, 45.8106>>
|
|
gasTrail[2].coord = <<2447.6245, 4973.0576, 45.8106>>
|
|
gasTrail[3].coord = <<2446.6130, 4973.3550, 45.8106>>
|
|
gasTrail[4].coord = <<2445.5569, 4973.1733, 45.8106>>
|
|
gasTrail[5].coord = <<2445.3013, 4972.8477, 46.8068>>
|
|
gasTrail[6].coord = <<2445.1509, 4972.8140, 45.8106>>
|
|
gasTrail[7].coord = <<2444.3108, 4972.2383, 45.8106>>
|
|
gasTrail[8].coord = <<2443.4321, 4971.7354, 45.8106>>
|
|
gasTrail[9].coord = <<2443.1523, 4970.6953, 45.8106>>
|
|
gasTrail[10].coord = <<2442.3347, 4970.1021, 45.8106>>
|
|
gasTrail[11].coord = <<2442.0115, 4969.1426, 45.8106>>
|
|
gasTrail[12].coord = <<2441.0894, 4968.6128, 45.8306>>
|
|
gasTrail[13].coord = <<2440.7466, 4968.0190, 45.8106>>
|
|
SETTIMERA(0)
|
|
IGNITE_GAS_TRAIL()
|
|
mission_substage++
|
|
|
|
break
|
|
case 1
|
|
if TIMERA() > 2000
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(AS_BARN_BOOM)
|
|
set_up_stage(AS_BARN_BOOM)
|
|
Mission_Set_Stage(AS_BARN_BOOM)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
STOP_FIRE_IN_RANGE(<<2440.7466, 4968.0190, 45.8106>>,30)
|
|
CLEANUP_GAS_TRAILS()
|
|
DESTROY_ALL_CAMS()
|
|
mission_substage++
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
case 2
|
|
if TIMERA() > 4500
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
break
|
|
endswitch
|
|
ENDPROC
|
|
proc AST_BARN_BLOW()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_FRANKLIN
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_FRANKLIN)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA", << 2474.4490, 4949.2695, 44.7158 >>, << 6.6523, -0.0000, 47.9417 >>, 23.7333, TRUE)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
SET_CAM_PARAMS(cameraIndex,<< 2474.4490, 4949.1992, 44.7158 >>, << 8.6303, 0.0000, 47.9417 >>, 25,1000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
CLEAR_AREA(<<2461.0942, 4952.7583, 45.2938 >>,50,true)
|
|
CREATE_MODEL_HIDE(<<2457.15, 4968.79, 48.677>>, 100,V_ret_fhglassfrm,true)
|
|
CREATE_MODEL_HIDE(<<2457.15, 4968.79, 48.677>>, 100,V_RET_FHGLASSFRMSML,true)
|
|
SET_CUTSCENE_FADE_VALUES()
|
|
START_CUTSCENE()
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
endif
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() > 1000
|
|
SET_CAM_PARAMS(cameraIndex,<< 2472.7263, 4943.2305, 44.5535 >>, << 13.5964, -0.0145, 35.8347 >>, 36.6522,0, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
SET_CAM_PARAMS(cameraIndex,<< 2472.7744, 4943.2002, 44.8689 >>, << 11.1380, -0.0145, 35.8347 >>, 36.6522,2500, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
settimera(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if HAS_CUTSCENE_FINISHED()
|
|
or GET_CUTSCENE_TIME() > 3000
|
|
if IS_CUTSCENE_PLAYING()
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
endif
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
if timerb() > 2000
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_12_CHIN1_MCS4)
|
|
set_up_stage(STAGE_12_CHIN1_MCS4)
|
|
Mission_Set_Stage(STAGE_12_CHIN1_MCS4)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
bDoSkip = true
|
|
iSkipToStage = enum_to_int(AS_BARN_BOOM)
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
else
|
|
settimerb(0)
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if IS_CUTSCENE_PLAYING()
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
endproc
|
|
proc ST_12_CHIN1_MCS4() // dont mind the bodies
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) = CHAR_TREVOR
|
|
SET_ENTITY_VISIBLE(player_ped_id(),true)
|
|
endif
|
|
|
|
//camera
|
|
START_CUTSCENE()
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< 1387.8705, 3594.2642, 33.8831 >>, << 5.2109, 1.3016, -35.9444 >>, 45, TRUE)
|
|
CLEAR_AREA(<< 1387.8705, 3594.2642, 33.8831 >>,50,true)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,1388.541382,3595.834717,34.822456,1.020051)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,1368.177002,3599.519043,34.564472,8.601562)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,1388.541382,3595.834717,34.822456,4.988801)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,1382.398926,3606.866699,37.343925,37.099258)
|
|
if not DOES_ENTITY_EXIST(peds[mpf_driver].id)
|
|
peds[mpf_driver].id = CREATE_PED(PEDTYPE_MISSION,G_M_Y_PoloGoon_01,<<1372.51465, 3596.12451, 35.89510>>,50)
|
|
SET_ENTITY_LOD_DIST(peds[mpf_driver].id ,200)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_frank].id)
|
|
peds[mpf_frank].id = CREATE_PED(PEDTYPE_MISSION,G_M_Y_PoloGoon_01,<<1374.22021, 3598.77832, 35.89492>>,256)
|
|
SET_ENTITY_LOD_DIST(peds[mpf_frank].id ,200)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_mike].id)
|
|
peds[mpf_mike].id = CREATE_PED(PEDTYPE_MISSION,G_M_Y_PoloGoon_01,<<1373.69910, 3593.69238, 35.88594>>,10)
|
|
SET_ENTITY_LOD_DIST(peds[mpf_mike].id ,200)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(vehs[veh_exp1].id)
|
|
vehs[veh_exp1].id = CREATE_VEHICLE(LANDSTALKER,<< 1368.1614, 3599.2683, 33.8946 >>, 252.9023)
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehs[veh_exp1].id,0)
|
|
SET_VEHICLE_DOOR_OPEN(vehs[veh_exp1].id,SC_DOOR_FRONT_LEFT,true)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(vehs[veh_exp2].id)
|
|
vehs[veh_exp2].id = CREATE_VEHICLE(SENTINEL,<< 1366.8489, 3594.2241, 33.8873 >>, 289.2585)
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehs[veh_exp2].id,0)
|
|
SET_VEHICLE_DOOR_OPEN(vehs[veh_exp2].id,SC_DOOR_FRONT_LEFT,true)
|
|
SET_VEHICLE_DOOR_OPEN(vehs[veh_exp2].id,SC_DOOR_FRONT_RIGHT,true)
|
|
endif
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 1000
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
if IsEntityAlive(peds[mpf_driver].id)
|
|
SHOOT_SINGLE_BULLET_BETWEEN_COORDS(<<1382.8558, 3598.7285, 44.4848>>,(GET_ENTITY_COORDS(peds[mpf_driver].id)+<<0,0,0.1>>),100,true,WEAPONTYPE_ASSAULTSHOTGUN)
|
|
EXPLODE_PED_HEAD(peds[mpf_driver].id)
|
|
endif
|
|
if IsEntityAlive(peds[mpf_frank].id)
|
|
SHOOT_SINGLE_BULLET_BETWEEN_COORDS(<<1382.8558, 3598.7285, 44.4848>>,GET_ENTITY_COORDS(peds[mpf_frank].id),100,true,WEAPONTYPE_ASSAULTSHOTGUN)
|
|
EXPLODE_PED_HEAD(peds[mpf_frank].id)
|
|
endif
|
|
if IsEntityAlive(peds[mpf_mike].id)
|
|
SHOOT_SINGLE_BULLET_BETWEEN_COORDS(<<1382.8558, 3598.7285, 44.4848>>,(GET_ENTITY_COORDS(peds[mpf_mike].id)+<<0,0,0.1>>),100,true,WEAPONTYPE_ASSAULTSHOTGUN)
|
|
EXPLODE_PED_HEAD(peds[mpf_mike].id)
|
|
endif
|
|
if IsEntityAlive(vehs[veh_exp1].id)
|
|
SHOOT_SINGLE_BULLET_BETWEEN_COORDS(<<1382.8558, 3598.7285, 44.4848>>,(GET_ENTITY_COORDS(vehs[veh_exp1].id)+<<0.2,-0.1,0.3>>),100,true,WEAPONTYPE_ASSAULTSHOTGUN)
|
|
SHOOT_SINGLE_BULLET_BETWEEN_COORDS(<<1382.8558, 3598.7285, 44.4848>>,GET_ENTITY_COORDS(vehs[veh_exp1].id),100,true,WEAPONTYPE_ASSAULTSHOTGUN)
|
|
endif
|
|
if IsEntityAlive(vehs[veh_exp2].id)
|
|
SHOOT_SINGLE_BULLET_BETWEEN_COORDS(<<1382.8558, 3598.7285, 44.4848>>,GET_ENTITY_COORDS(vehs[veh_exp1].id),100,true,WEAPONTYPE_ASSAULTSHOTGUN)
|
|
endif
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 25000
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
WASH_DECALS_IN_RANGE(<<1373.75684, 3597.12354, 33.89509>>,100,50)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_13_DOCKS_BRIDGE_SHOT)
|
|
set_up_stage(STAGE_13_DOCKS_BRIDGE_SHOT)
|
|
Mission_Set_Stage(STAGE_13_DOCKS_BRIDGE_SHOT)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_12_CHIN1_MCS4)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc ST_13_DOCKS_BRIDGE_SHOT()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
fLODscale = 1.3
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA", << 844.4641, -2703.3467, 64.8 >>, << -3.0696, 0.0000, 45.0314 >>, 34.0, TRUE)
|
|
SET_CAM_PARAMS(cameraIndex, << 844.4641, -2696.1641, 64.8 >>, << -3.0696, 0.0000, 45.0314 >>, 34, 3000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if TIMERA() > 3000
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
if bPlayThrough
|
|
DO_SCREEN_FADE_OUT(0)
|
|
Load_Stage_Assets(STAGE_14_GHETTO_TRAIN_SHOT)
|
|
set_up_stage(STAGE_14_GHETTO_TRAIN_SHOT)
|
|
Mission_Set_Stage(STAGE_14_GHETTO_TRAIN_SHOT)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc ST_13_DOCKS_BRIDGE_SHOT_ALT()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
fLODscale = 1.3
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA", << 844.4641, -2703.3467, 64.8 >>, << -3.0696, 0.0000, 45.0314 >>, 34.0, TRUE)
|
|
SET_CAM_PARAMS(cameraIndex, << 844.4641, -2696.1641, 64.8 >>, << -3.0696, 0.0000, 45.0314 >>, 34, 3000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if TIMERA() > 3000
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
if bPlayThrough
|
|
DO_SCREEN_FADE_OUT(0)
|
|
Load_Stage_Assets(STAGE_14_GHETTO_TRAIN_SHOT)
|
|
set_up_stage(STAGE_14_GHETTO_TRAIN_SHOT)
|
|
Mission_Set_Stage(STAGE_14_GHETTO_TRAIN_SHOT)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc ST_14_GHETTO_TRAIN_SHOT()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
//cam
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< 263.4090, -1907.6572, 31.7329 >>, << -6.2916, 0.0000, 111.8651 >>, 33.4236, TRUE)
|
|
SET_CAM_PARAMS(cameraIndex,<< 263.3643, -1907.6705, 31.7278 >>, << -5.8188, -0.0000, 105.4892 >>, 30.0626, 3500, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,229.604538,-1921.954956,24.265200,12.000000)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,207.779190,-1932.754028,24.944870,12.731603)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,145.656769,-1956.644043,22.935163,72.007889)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,145.656769,-1956.644043,22.935163,250.000000)
|
|
|
|
//create train
|
|
vehs[veh_Ghetto_train].id = CREATE_MISSION_TRAIN(iTrainConfiguration,vtrainGhettopos, TRUE)
|
|
SET_TRAIN_CRUISE_SPEED(vehs[veh_Ghetto_train].id, 0)
|
|
SET_TRAIN_SPEED(vehs[veh_Ghetto_train].id, 0)
|
|
CLEAR_AREA(<<225.69148, -1918.71436, 23.08420>>,10,true)
|
|
if not DOES_ENTITY_EXIST(vehs[veh_Bike].id)
|
|
CLEAR_AREA(<< -461.0177, 1098.2268, 326.6818 >>,5,true)
|
|
vehs[veh_Bike].id = CREATE_VEHICLE(DOMINATOR,<< -461.0177, 1098.2268, 326.6818 >>, 339.7852)
|
|
peds[mpf_chop].id = CREATE_RANDOM_PED_AS_DRIVER(vehs[veh_Bike].id)
|
|
TASK_VEHICLE_DRIVE_WANDER(peds[mpf_chop].id,vehs[veh_Bike].id,10,DRIVINGMODE_STOPFORCARS_STRICT)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(vehs[veh_Driveway].id)
|
|
CLEAR_AREA(<< 223.2482, -1906.0947, 23.7127 >>,5,true)
|
|
vehs[veh_Driveway].id = CREATE_VEHICLE(FUTO,<< 223.2482, -1906.0947, 23.7127 >>, 138.0350)
|
|
peds[mpf_driver].id = CREATE_RANDOM_PED_AS_DRIVER(vehs[veh_Driveway].id)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(vehs[veh_dune].id)
|
|
CLEAR_AREA(<< 192.2951, -1908.0621, 22.3350>>,5,true)
|
|
vehs[veh_dune].id = CREATE_VEHICLE(GRESLEY,<< 192.2951, -1908.0621, 22.3350 >>, 230.4381)
|
|
peds[mpf_frank].id = CREATE_RANDOM_PED_AS_DRIVER(vehs[veh_dune].id)
|
|
TASK_VEHICLE_DRIVE_WANDER(peds[mpf_frank].id,vehs[veh_dune].id,10,DRIVINGMODE_STOPFORCARS_STRICT)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(vehs[veh_exp1].id)
|
|
CLEAR_AREA(<<195.5358, -1939.4250, 20.3868 >>,5,true)
|
|
vehs[veh_exp1].id = CREATE_VEHICLE(CAVALCADE,<< 195.5358, -1939.4250, 20.3868 >>, 142.0388)
|
|
peds[mpf_mike].id = CREATE_RANDOM_PED_AS_DRIVER(vehs[veh_exp1].id)
|
|
TASK_VEHICLE_DRIVE_WANDER(peds[mpf_mike].id,vehs[veh_exp1].id,5,DRIVINGMODE_STOPFORCARS_STRICT)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(vehs[veh_exp2].id)
|
|
CLEAR_AREA(<< 219.1808, -1948.7679, 21.0163 >>,5,true)
|
|
vehs[veh_exp2].id = CREATE_VEHICLE(SERRANO,<< 219.1808, -1948.7679, 21.0163 >>, 321.7678)
|
|
peds[mpf_oldman].id = CREATE_RANDOM_PED_AS_DRIVER(vehs[veh_exp2].id)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(vehs[veh_exp3].id)
|
|
CLEAR_AREA(<< 181.9075, -1950.0544, 19.2296 >>,5,true)
|
|
vehs[veh_exp3].id = CREATE_VEHICLE(ORACLE,<< 181.9075, -1950.0544, 19.2296 >>, 140.7774)
|
|
peds[mpf_phone].id = CREATE_RANDOM_PED_AS_DRIVER(vehs[veh_exp3].id)
|
|
TASK_VEHICLE_DRIVE_WANDER(peds[mpf_phone].id,vehs[veh_exp3].id,15,DRIVINGMODE_STOPFORCARS_STRICT)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(vehs[veh_jet].id)
|
|
vehs[veh_jet].id = CREATE_VEHICLE(bus,<<228.8420, -1938.4072, 22.1604>>, 319.7927)
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehs[veh_jet].id,1)
|
|
peds[mpf_jetPilot].id = CREATE_RANDOM_PED_AS_DRIVER(vehs[veh_jet].id)
|
|
TASK_VEHICLE_DRIVE_WANDER(peds[mpf_jetPilot].id,vehs[veh_jet].id,20,DRIVINGMODE_STOPFORCARS_STRICT)
|
|
endif
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if timera()> 1000
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
endif
|
|
if IsEntityAlive(vehs[veh_Ghetto_train].id)
|
|
SET_TRAIN_CRUISE_SPEED(vehs[veh_Ghetto_train].id, ftrainSpeed)
|
|
SET_TRAIN_SPEED(vehs[veh_Ghetto_train].id, ftrainSpeed)
|
|
endif
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if timera() > 2500
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_15_ARM1_INT_P3)
|
|
set_up_stage(STAGE_15_ARM1_INT_P3)
|
|
Mission_Set_Stage(STAGE_15_ARM1_INT_P3)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
if timera() > 3500
|
|
if DOES_ENTITY_EXIST(vehs[veh_Bike].id)
|
|
DELETE_VEHICLE(vehs[veh_Bike].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_chop].id)
|
|
delete_ped(peds[mpf_chop].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[veh_Driveway].id)
|
|
DELETE_VEHICLE(vehs[veh_Driveway].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_driver].id)
|
|
delete_ped(peds[mpf_driver].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[veh_dune].id)
|
|
DELETE_VEHICLE(vehs[veh_dune].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_frank].id)
|
|
delete_ped(peds[mpf_frank].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[veh_exp1].id)
|
|
DELETE_VEHICLE(vehs[veh_exp1].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_mike].id)
|
|
delete_ped(peds[mpf_mike].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[veh_exp2].id)
|
|
DELETE_VEHICLE(vehs[veh_exp2].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_oldman].id)
|
|
delete_ped(peds[mpf_oldman].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[veh_exp3].id)
|
|
DELETE_VEHICLE(vehs[veh_exp3].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_phone].id)
|
|
delete_ped(peds[mpf_phone].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[veh_jet].id)
|
|
DELETE_VEHICLE(vehs[veh_jet].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_jetPilot].id)
|
|
delete_ped(peds[mpf_jetPilot].id)
|
|
endif
|
|
|
|
DELETE_MISSION_TRAIN(vehs[veh_Ghetto_train].id)
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc ST_15_ARM1_INT_P3() // frank lamar and mike
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) = CHAR_FRANKLIN
|
|
or get_player_ped_enum(player_ped_id()) =CHAR_MICHAEL
|
|
SET_ENTITY_VISIBLE(player_ped_id(),true)
|
|
endif
|
|
START_CUTSCENE()
|
|
//camera
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< -1882.8746, -621.5580, 11.2904 >>, << 5.2109, 1.3016, -35.9444 >>, 39.2, TRUE)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
SETTIMERA(0)
|
|
|
|
//ambient peds
|
|
if not DOES_ENTITY_EXIST(peds[mpf_slide].id)
|
|
peds[mpf_slide].id = CREATE_PED(PEDTYPE_MISSION,A_F_Y_Runner_01,<< -1855.9010, -649.7280, 9.7416 >>, 226.4764)
|
|
TASK_PLAY_ANIM(peds[mpf_slide].id,"move_f@jogger","jogging",INSTANT_BLEND_IN,NORMAL_BLEND_OUT,-1,AF_LOOPING)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_driver].id)
|
|
peds[mpf_driver].id = CREATE_PED(PEDTYPE_MISSION,A_M_Y_Runner_01,<<-1849.91382, -652.79443, 9.58069>>, 47.1811)
|
|
TASK_PLAY_ANIM(peds[mpf_driver].id,"move_m@jogger","run",INSTANT_BLEND_IN,NORMAL_BLEND_OUT,-1,AF_LOOPING)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_fatmancross].id)
|
|
peds[mpf_fatmancross].id = CREATE_PED(PEDTYPE_MISSION,A_M_Y_Beach_01,<<-1868.48071, -641.28119, 10.17934>>)
|
|
TASK_START_SCENARIO_AT_POSITION(peds[mpf_fatmancross].id,"WORLD_HUMAN_SMOKING",<<-1867.03259, -652.71924, 9.88202>>,144.1027)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_oldman].id)
|
|
peds[mpf_oldman].id = CREATE_PED(PEDTYPE_MISSION,A_F_Y_Beach_01,<<-1869.61414, -641.03345, 10.09873>>)
|
|
TASK_START_SCENARIO_AT_POSITION(peds[mpf_oldman].id,"WORLD_HUMAN_TOURIST_MOBILE",<<-1868.18555, -652.66718, 9.85372>>,144.1027)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_pilot1].id)
|
|
peds[mpf_pilot1].id = CREATE_PED(PEDTYPE_MISSION,A_M_Y_Beach_02,<<-1832.87830, -658.80634, 9.39731>>)
|
|
TASK_START_SCENARIO_AT_POSITION(peds[mpf_pilot1].id,"WORLD_HUMAN_DRINKING",<<-1855.64075, -643.02692, 9.79211>>,91.8124)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_phone].id)
|
|
peds[mpf_phone].id = CREATE_PED(PEDTYPE_MISSION,A_M_Y_Beach_03,<<-1835.54700, -656.17584, 9.43967>>)
|
|
TASK_START_SCENARIO_AT_POSITION(peds[mpf_phone].id,"WORLD_HUMAN_HANG_OUT_STREET",<<-1855.96375, -641.81024, 9.79603>>,156.6058)
|
|
endif
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 5000
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
SET_CAM_PARAMS(cameraIndex,<< -1882.8746, -621.5580, 11.2904 >>, << 6.8497, 1.3016, -33.8065 >>, 39.2, 3500, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 22600
|
|
SET_CAM_PARAMS(cameraIndex,<< -1884.0699, -613.8306, 11.9532 >>, << -1.7772, 0.0002, -145.2922 >>, 18.5509, 0, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
SET_CAM_PARAMS(cameraIndex,<< -1884.1084, -613.8566, 11.9532 >>, << -1.0972, 0.0002, -144.8821 >>, 17.3141, 4000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if GET_CUTSCENE_TIME() >= 25500
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 4
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_16_FRA2_INT_P2)
|
|
set_up_stage(STAGE_16_FRA2_INT_P2)
|
|
Mission_Set_Stage(STAGE_16_FRA2_INT_P2)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_15_ARM1_INT_P3)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if IS_CUTSCENE_PLAYING()
|
|
if GET_CUTSCENE_TIME() < 22600
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-1881.205811,-619.626770,11.360289,1.192433)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-1880.906982,-617.691467,11.383300,1.421409)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,-1872.708984,-608.497009,11.383300,11.796383)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,-1821.171021,-548.864075,13.820810,86.968231)
|
|
|
|
elif GET_CUTSCENE_TIME() >= 22600
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-1881.365967,-617.224670,11.402990,1.328125)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-1881.205811,-619.626770,11.360289,1.192433)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,-1872.708984,-628.183899,11.383300,11.796383)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,-1821.171021,-637.418030,13.820810,86.968231)
|
|
endif
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
endproc
|
|
proc LNCH_ARM_1()
|
|
TEXT_LABEL_15 sMissionName = "armenian1"
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_FRANKLIN
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_FRANKLIN)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
REQUEST_SCRIPT(sMissionName)
|
|
IF HAS_SCRIPT_LOADED(sMissionName)
|
|
IF REQUEST_MISSION_LAUNCH(missionCandidateID, MCTID_MUST_LAUNCH, MISSION_TYPE_STORY) = MCRET_ACCEPTED
|
|
START_NEW_SCRIPT(sMissionName, MISSION_STACK_SIZE)
|
|
SET_SCRIPT_AS_NO_LONGER_NEEDED(sMissionName)
|
|
Mission_substage++
|
|
ENDIF
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if IS_CUTSCENE_PLAYING()
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
endif
|
|
IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("armenian1")) = 0
|
|
missionCandidateID = NO_CANDIDATE_ID
|
|
g_savedGlobals.sFlow.isGameflowActive = TRUE
|
|
RESET_GAMEFLOW()
|
|
g_savedGlobals.sFlow.isGameflowActive = FALSE
|
|
iSkipToStage = enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
bDoSkip = true
|
|
ENDIF
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc ST_16_FRA2_INT_P2() // frank and ex gf
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
fLODscale = 2
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) = CHAR_FRANKLIN
|
|
SET_ENTITY_VISIBLE(player_ped_id(),true)
|
|
endif
|
|
START_CUTSCENE()
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<<-1882.8746, -621.5580, 11.2904>>, << 5.2109, 1.3016, -35.9444 >>, 45, TRUE)
|
|
SET_CLOCK_TIME(GET_CLOCK_HOURS(),50,0)
|
|
//camera
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 0
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_17_ARM1_INT_P4)//AS_CAR_TRANS_TRUCK)
|
|
set_up_stage(STAGE_17_ARM1_INT_P4)//AS_CAR_TRANS_TRUCK)
|
|
Mission_Set_Stage(STAGE_17_ARM1_INT_P4)//AS_CAR_TRANS_TRUCK)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_16_FRA2_INT_P2)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc LNCH_CAR_STEAL_FINALE()
|
|
TEXT_LABEL_15 sMissionName = "carsteal5"
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_FRANKLIN
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_FRANKLIN)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
REQUEST_SCRIPT(sMissionName)
|
|
IF HAS_SCRIPT_LOADED(sMissionName)
|
|
IF REQUEST_MISSION_LAUNCH(missionCandidateID, MCTID_MUST_LAUNCH, MISSION_TYPE_STORY) = MCRET_ACCEPTED
|
|
START_NEW_SCRIPT(sMissionName, MISSION_STACK_SIZE)
|
|
SET_SCRIPT_AS_NO_LONGER_NEEDED(sMissionName)
|
|
Mission_substage++
|
|
ENDIF
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
|
|
IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("carsteal5")) = 0
|
|
missionCandidateID = NO_CANDIDATE_ID
|
|
g_savedGlobals.sFlow.isGameflowActive = TRUE
|
|
RESET_GAMEFLOW()
|
|
g_savedGlobals.sFlow.isGameflowActive = FALSE
|
|
iSkipToStage = enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
bDoSkip = true
|
|
ENDIF
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc ST_17_ARM1_INT_P4() // frank and lamar talk
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) = CHAR_FRANKLIN
|
|
SET_ENTITY_VISIBLE(player_ped_id(),true)
|
|
endif
|
|
START_CUTSCENE()
|
|
|
|
//camera
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< -1889.1241, -611.5778, 12.1867 >>, << 0.8171, 0.0000, -110.1338 >>, 45.4540, TRUE)
|
|
SET_CAM_ACTIVE(cameraIndex,true)
|
|
RENDER_SCRIPT_CAMS(true,false)
|
|
SHAKE_CAM(cameraIndex,"HAND_SHAKE",0.5)
|
|
SETTIMERA(0)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-1888.470459,-611.470825,11.557186,1.308422)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-1887.373779,-612.942749,11.580187,1.191715)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,-1881.138184,-611.045227,11.580190,9.152658)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,-1853.282837,-621.021423,-4.669847,40.000000)
|
|
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 0
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 24800
|
|
SET_CAM_PARAMS(cameraIndex,<< -1889.1896, -611.6677, 12.1862 >>, << -1.8354, -0.0000, -100.9288 >>,45.4540,3000,GRAPH_TYPE_LINEAR,GRAPH_TYPE_LINEAR)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if GET_CUTSCENE_TIME() >= 27450
|
|
SET_CAM_PARAMS(cameraIndex,<< -1888.8672, -612.3585, 12.1531 >>, << 2.0534, -0.0000, -44.9319 >>,35.7958,0,GRAPH_TYPE_LINEAR,GRAPH_TYPE_LINEAR)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 4
|
|
if GET_CUTSCENE_TIME() >= 30000
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 5
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_18_ARM1_INT_P1)
|
|
set_up_stage(STAGE_18_ARM1_INT_P1)
|
|
Mission_Set_Stage(STAGE_18_ARM1_INT_P1)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_17_ARM1_INT_P4)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if IS_CUTSCENE_PLAYING()
|
|
if mission_substage > 2
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
endif
|
|
endproc
|
|
proc ST_17_ARM1_INT_P4_ALT() // frank and lamar talk
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) = CHAR_FRANKLIN
|
|
SET_ENTITY_VISIBLE(player_ped_id(),true)
|
|
endif
|
|
START_CUTSCENE()
|
|
|
|
//camera
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< -1889.1241, -611.5778, 12.1867 >>, << 0.8171, 0.0000, -110.1338 >>, 45.4540, TRUE)
|
|
SET_CLOCK_TIME(GET_CLOCK_HOURS(),50,0)
|
|
SET_CAM_ACTIVE(cameraIndex,true)
|
|
RENDER_SCRIPT_CAMS(true,false)
|
|
SHAKE_CAM(cameraIndex,"HAND_SHAKE",0.5)
|
|
SETTIMERA(0)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-1888.470459,-611.470825,11.557186,1.308422)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-1887.373779,-612.942749,11.580187,1.191715)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,-1881.138184,-611.045227,11.580190,9.152658)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,-1853.282837,-621.021423,-4.669847,40.000000)
|
|
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 0
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 24800
|
|
SET_CAM_PARAMS(cameraIndex,<< -1889.1896, -611.6677, 12.1862 >>, << -1.8354, -0.0000, -100.9288 >>,45.4540,3000,GRAPH_TYPE_LINEAR,GRAPH_TYPE_LINEAR)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if GET_CUTSCENE_TIME() >= 27450
|
|
SET_CAM_PARAMS(cameraIndex,<< -1888.8672, -612.3585, 12.1531 >>, << 2.0534, -0.0000, -44.9319 >>,35.7958,0,GRAPH_TYPE_LINEAR,GRAPH_TYPE_LINEAR)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 4
|
|
if GET_CUTSCENE_TIME() >= 30000
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 5
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_18_ARM1_INT_P1)
|
|
set_up_stage(STAGE_18_ARM1_INT_P1)
|
|
Mission_Set_Stage(STAGE_18_ARM1_INT_P1)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_17_ARM1_INT_P4)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if IS_CUTSCENE_PLAYING()
|
|
if mission_substage > 2
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
endif
|
|
endproc
|
|
proc LNCH_CAR_STEAL_3()
|
|
TEXT_LABEL_15 sMissionName = "carsteal3"
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_FRANKLIN
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_FRANKLIN)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
REQUEST_SCRIPT(sMissionName)
|
|
IF HAS_SCRIPT_LOADED(sMissionName)
|
|
IF REQUEST_MISSION_LAUNCH(missionCandidateID, MCTID_MUST_LAUNCH, MISSION_TYPE_STORY) = MCRET_ACCEPTED
|
|
START_NEW_SCRIPT(sMissionName, MISSION_STACK_SIZE)
|
|
SET_SCRIPT_AS_NO_LONGER_NEEDED(sMissionName)
|
|
Mission_substage++
|
|
ENDIF
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("carsteal3")) = 0
|
|
missionCandidateID = NO_CANDIDATE_ID
|
|
g_savedGlobals.sFlow.isGameflowActive = TRUE
|
|
RESET_GAMEFLOW()
|
|
g_savedGlobals.sFlow.isGameflowActive = FALSE
|
|
iSkipToStage = enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
bDoSkip = true
|
|
ENDIF
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc ST_18_ARM1_INT_P1() // shrink
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_FRANKLIN
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_FRANKLIN)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
START_CUTSCENE()
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-1917.264038,-573.376099,21.201332,0.500000)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-1911.839233,-570.471497,18.748800,1.500000)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,-1907.958618,-577.133362,18.529911,3.500000)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,-1907.958618,-577.133362,18.529911,20.000000)
|
|
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 2000
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< -1912.8066, -570.3843, 19.4885 >>, << -12.2202, 0.0005, -131.0556 >>, 58.5346, TRUE)
|
|
SET_CAM_PARAMS(cameraIndex,<< -1912.8699, -570.4575, 19.4885 >>, << -12.2202, 0.0005, -131.0556 >>, 58.5346, 3000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
|
|
mission_substage++
|
|
endif
|
|
break
|
|
// 2nd shot
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 4060
|
|
SET_CAM_PARAMS(cameraIndex,<<-1906.9742, -576.9066, 19.5320>>, <<-21.2485, 0.0749, 142.5980>>, 22.5370, 0, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
SET_CAM_PARAMS(cameraIndex,<<-1906.9495, -576.8750, 19.3882>>, <<-11.7333, 0.0749, 142.5980>>, 22.5370, 7000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,-1910.150269,-580.080017,18.250196,1.007878)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,-1910.150024,-578.385193,18.250200,2.914063)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,-1910.150269,-580.080017,18.250196,10.000000)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,-1910.150269,-580.080017,18.250196,20.000000)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if GET_CUTSCENE_TIME() >= 11000
|
|
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 4
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_19_FAM5_MCS5)
|
|
set_up_stage(STAGE_19_FAM5_MCS5)
|
|
Mission_Set_Stage(STAGE_19_FAM5_MCS5)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_18_ARM1_INT_P1)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if IS_CUTSCENE_PLAYING()
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
endproc
|
|
proc LNCH_FAM_1()
|
|
TEXT_LABEL_15 sMissionName = "Family1"
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
SET_PED_COMP_ITEM_CURRENT_SP(sSelectorPeds.pedID[SELECTOR_PED_FRANKLIN], COMP_TYPE_OUTFIT, OUTFIT_P1_DEFAULT)
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_FRANKLIN
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_FRANKLIN)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
REQUEST_SCRIPT(sMissionName)
|
|
IF HAS_SCRIPT_LOADED(sMissionName)
|
|
IF REQUEST_MISSION_LAUNCH(missionCandidateID, MCTID_MUST_LAUNCH, MISSION_TYPE_STORY) = MCRET_ACCEPTED
|
|
START_NEW_SCRIPT(sMissionName, MISSION_STACK_SIZE)
|
|
SET_SCRIPT_AS_NO_LONGER_NEEDED(sMissionName)
|
|
Mission_substage++
|
|
ENDIF
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("Family1")) = 0
|
|
missionCandidateID = NO_CANDIDATE_ID
|
|
g_savedGlobals.sFlow.isGameflowActive = TRUE
|
|
RESET_GAMEFLOW()
|
|
g_savedGlobals.sFlow.isGameflowActive = FALSE
|
|
iSkipToStage = enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
bDoSkip = true
|
|
ENDIF
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc ST_19_FAM5_MCS5() // lets bounce
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) = CHAR_MICHAEL
|
|
SET_ENTITY_VISIBLE(player_ped_id(),true)
|
|
endif
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< -1175.5521, -890.1361, 14.0579 >>, << -2.8052, -0.0001, 15.8190 >>, 26.7097, TRUE)
|
|
streamvol = STREAMVOL_CREATE_FRUSTUM(<< -1175.5521, -890.1361, 14.0579 >>, << -2.8052, -0.0001, 15.8190 >>,250,FLAG_MAPDATA)
|
|
START_CUTSCENE()
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 58500
|
|
SET_CAM_PARAMS(cameraIndex,<< -1175.4164, -890.0877, 14.0579 >>, << -2.8052, -0.0001, 20.2137 >>, 26.7097, 7000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 64000
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_20_TREV1_INT_P4)
|
|
set_up_stage(STAGE_20_TREV1_INT_P4)
|
|
Mission_Set_Stage(STAGE_20_TREV1_INT_P4)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_19_FAM5_MCS5)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if mission_substage > 1
|
|
and IS_CUTSCENE_PLAYING()
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
endproc
|
|
proc ST_20_TREV1_INT_P4() //trev stomps johnny
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) = CHAR_TREVOR
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_MICHAEL)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
while not CREATE_PLAYER_PED_ON_FOOT(peds[mpf_trev].id,CHAR_TREVOR,<<2019.6141, 3827.6531, 32.1370 >>)
|
|
wait(0)
|
|
endwhile
|
|
APPLY_PED_DIRT(peds[mpf_trev].id,PDZ_TORSO,0.731,0.791,231.120,0.3,0.5,false,"cs_trev1_dirt")
|
|
APPLY_PED_DIRT(peds[mpf_trev].id,PDZ_TORSO,0.97,0.604,64.4,0.448,0.291,false,"cs_trev1_dirt")
|
|
APPLY_PED_DIRT(peds[mpf_trev].id,PDZ_TORSO,0.746,0.769,64.4,0.180,0.8,false,"cs_trev1_dirt")
|
|
REGISTER_ENTITY_FOR_CUTSCENE(peds[mpf_trev].id,"Trevor",CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< 2019.6141, 3827.6531, 32.1370 >>, << 13.3138, 0.0002, 75.5047 >>,37.78, TRUE)
|
|
START_CUTSCENE()
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,2017.730957,3828.103027,32.206337,1.176932)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,2013.080200,3825.589844,32.198395,1.354639)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,2013.274414,3830.489014,31.648689,4.221611)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,2016.102051,3827.890869,33.907627,22.204473)
|
|
isplat = 0
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
mission_substage++
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 43000
|
|
SET_CAM_PARAMS(cameraIndex,<< 2019.6141, 3827.6531, 32.1370 >>, << 19.2118, 0.0002, 73.0449 >>, 30.3997, 1000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if GET_CUTSCENE_TIME() >= 44000
|
|
set_clock_time(18,0,0)
|
|
SET_WEATHER_TYPE_NOW_PERSIST("clear")
|
|
SET_CAM_PARAMS(cameraIndex,<< 2010.5330, 3824.8005, 32.8034 >>, << -3.9662, -0.0001, -69.6521 >>, 22.5574, 0, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
SET_CAM_PARAMS(cameraIndex,<< 2010.5808, 3824.6895, 32.8407 >>, << -2.9147, -0.0001, -67.5574 >>, 21.9827, 1500, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 4
|
|
if GET_CUTSCENE_TIME() >= 45500
|
|
SET_CAM_PARAMS(cameraIndex,<< 2019.4073, 3827.1326, 31.8241 >>, << 19.8743, -0.0002, 55.2114 >>, 21.0824, 0, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
SET_CAM_PARAMS(cameraIndex,<< 2019.4424, 3827.1033, 31.9482 >>, << 21.3875, -0.0002, 49.9836 >>, 12.6036, 1500, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 5
|
|
if GET_CUTSCENE_TIME() >= 47000
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 6
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_21_FBI2_MCS1_P1)
|
|
set_up_stage(STAGE_21_FBI2_MCS1_P1)
|
|
Mission_Set_Stage(STAGE_21_FBI2_MCS1_P1)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_20_TREV1_INT_P4)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
|
|
if mission_substage > 2
|
|
and IS_CUTSCENE_PLAYING()
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
|
|
if DOES_ENTITY_EXIST(peds[mpf_trev].id)
|
|
and not IS_PED_INJURED(peds[mpf_trev].id)
|
|
and IS_CUTSCENE_PLAYING()
|
|
// if HAS_ANIM_EVENT_FIRED(peds[mpf_trev].id,GET_HASH_KEY("TRIGGER_DAMAGE_VFX"))
|
|
switch isplat
|
|
case 0
|
|
if GET_CUTSCENE_TIME() >= 43160
|
|
//ptfx
|
|
START_PARTICLE_FX_NON_LOOPED_AT_COORD("scr_para_kick_blood",<<2018.33997, 3828.17310,31.874>>,vDebugRotation)
|
|
settimerb(0)
|
|
isplat++
|
|
endif
|
|
break
|
|
case 1
|
|
if timerb() > 150
|
|
APPLY_PED_BLOOD_SPECIFIC(peds[mpf_trev].id,0,0.657,0.566,126.360,0.07,3,0,"cs_trev1_blood")
|
|
println("BLOOD VFX0")
|
|
isplat++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 43730
|
|
START_PARTICLE_FX_NON_LOOPED_AT_COORD("scr_para_kick_blood",<<2018.33997, 3828.17310,31.874>>,vDebugRotation)
|
|
settimerb(0)
|
|
isplat++
|
|
endif
|
|
break
|
|
case 3
|
|
if timerb() > 150
|
|
APPLY_PED_BLOOD_SPECIFIC(peds[mpf_trev].id,0,0.589,0.266,0,0.01,2,0,"cs_trev1_blood")
|
|
println("BLOOD VFX1")
|
|
isplat++
|
|
endif
|
|
break
|
|
case 4
|
|
if GET_CUTSCENE_TIME() >= 44200
|
|
START_PARTICLE_FX_NON_LOOPED_AT_COORD("scr_para_kick_blood",<<2018.33997, 3828.17310,31.874>>,vDebugRotation)
|
|
settimerb(0)
|
|
isplat++
|
|
endif
|
|
break
|
|
case 5
|
|
if timerb() > 200
|
|
APPLY_PED_BLOOD_SPECIFIC(peds[mpf_trev].id,0,0.612,0.269,126.360,0.22,2,0,"cs_trev1_blood")
|
|
println("BLOOD VFX2")
|
|
isplat++
|
|
endif
|
|
break
|
|
case 6
|
|
if GET_CUTSCENE_TIME() >= 44660
|
|
START_PARTICLE_FX_NON_LOOPED_AT_COORD("scr_para_kick_blood",<<2018.33997, 3828.17310,31.874>>,vDebugRotation)
|
|
settimerb(0)
|
|
isplat++
|
|
|
|
endif
|
|
break
|
|
case 7
|
|
if timerb() > 200
|
|
APPLY_PED_BLOOD_SPECIFIC(peds[mpf_trev].id,0,0.709,0.396,126.360,0.00,1,0,"cs_trev1_blood")
|
|
println("BLOOD VFX3")
|
|
isplat++
|
|
endif
|
|
break
|
|
case 8
|
|
if GET_CUTSCENE_TIME() >= 45260
|
|
START_PARTICLE_FX_NON_LOOPED_AT_COORD("scr_para_kick_blood",<<2018.33997, 3828.17310,31.874>>,vDebugRotation)
|
|
settimerb(0)
|
|
isplat++
|
|
|
|
endif
|
|
break
|
|
case 9
|
|
if timerb() > 200
|
|
APPLY_PED_BLOOD_SPECIFIC(peds[mpf_trev].id,0,0.582,0.383,200.360,0.1,2,0,"cs_trev1_blood")
|
|
println("BLOOD VFX4")
|
|
isplat++
|
|
endif
|
|
break
|
|
case 10
|
|
if GET_CUTSCENE_TIME() >= 46600
|
|
START_PARTICLE_FX_NON_LOOPED_AT_COORD("scr_para_kick_blood",<<2018.33997, 3828.17310,31.874>>,vDebugRotation)
|
|
settimerb(0)
|
|
isplat++
|
|
endif
|
|
break
|
|
case 11
|
|
if timerb() > 200
|
|
APPLY_PED_BLOOD_SPECIFIC(peds[mpf_trev].id,0,0.582,0.383,111.360,0.05,2,0,"cs_trev1_blood")
|
|
println("BLOOD VFX5")
|
|
isplat++
|
|
endif
|
|
break
|
|
endswitch
|
|
// endif
|
|
ENDIF
|
|
|
|
endproc
|
|
proc LNCH_TREV_2()
|
|
TEXT_LABEL_15 sMissionName = "Trevor2"
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_TREVOR
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_TREVOR)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
REQUEST_SCRIPT(sMissionName)
|
|
IF HAS_SCRIPT_LOADED(sMissionName)
|
|
IF REQUEST_MISSION_LAUNCH(missionCandidateID, MCTID_MUST_LAUNCH, MISSION_TYPE_STORY) = MCRET_ACCEPTED
|
|
START_NEW_SCRIPT(sMissionName, MISSION_STACK_SIZE)
|
|
SET_SCRIPT_AS_NO_LONGER_NEEDED(sMissionName)
|
|
Mission_substage++
|
|
ENDIF
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if IS_CUTSCENE_PLAYING()
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
endif
|
|
IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("Trevor2")) = 0
|
|
missionCandidateID = NO_CANDIDATE_ID
|
|
g_savedGlobals.sFlow.isGameflowActive = TRUE
|
|
RESET_GAMEFLOW()
|
|
g_savedGlobals.sFlow.isGameflowActive = FALSE
|
|
iSkipToStage = enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
bDoSkip = true
|
|
ENDIF
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc ST_21_FBI2_MCS1_P1()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
SET_ENTITY_VISIBLE(player_ped_id(),true)
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< 1372.5259, -2076.6384, 52.4951 >>, << -3.1108, 2.2664, 27.1731 >>,31.0331, TRUE)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
START_CUTSCENE()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 2000
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
endif
|
|
if GET_CUTSCENE_TIME() >= 77000
|
|
SET_CAM_PARAMS(cameraIndex,<< 1372.4467, -2076.6824, 52.4986 >>, << -3.1108, 2.2664, 30.5578 >>, 31.0331, 2500, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
|
|
bHighDofOn = false
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 79000
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if GET_CUTSCENE_TIME() >= 82000
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 4
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_22_FIN_EXT_P2)
|
|
set_up_stage(STAGE_22_FIN_EXT_P2)
|
|
Mission_Set_Stage(STAGE_22_FIN_EXT_P2)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_21_FBI2_MCS1_P1)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if mission_stage = 2
|
|
and IS_CUTSCENE_PLAYING()
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
endproc
|
|
proc AST_VAULT_EXP()
|
|
switch mission_substage
|
|
case stage_entry
|
|
if HAS_CUTSCENE_LOADED()
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< 5292.9336, -5190.3901, 83.7388 >>, << 1.2521, -1.0201, -75.8007 >>,43, TRUE)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
SET_CUTSCENE_FADE_VALUES()
|
|
START_CUTSCENE()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
IF IS_CUTSCENE_PLAYING()
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
endif
|
|
SET_CAM_PARAMS(cameraIndex,<< 5293.0874, -5190.3535, 83.7433 >>, << 1.6198, -1.0201, -76.6550 >>, 42.5, 1000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 1000
|
|
SET_CAM_PARAMS(cameraIndex,<< 5292.9707, -5190.3579, 83.7424 >>, << 0.4269, -1.0201, -90.5266 >>, 43, 776, GRAPH_TYPE_SIN_ACCEL_DECEL, GRAPH_TYPE_SIN_ACCEL_DECEL)
|
|
shake_cam(cameraIndex,"SMALL_EXPLOSION_SHAKE",0.5)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if GET_CUTSCENE_TIME() >= 1390
|
|
shake_cam(cameraIndex,"HAND_SHAKE",1)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 4
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if bDrawMenu = false
|
|
and bresetScene
|
|
if timerb() > 2000
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(AS_CAR_SLIDE)
|
|
set_up_stage(AS_CAR_SLIDE)
|
|
Mission_Set_Stage(AS_CAR_SLIDE)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(AS_VAULT_EXP)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
else
|
|
settimerb(0)
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
|
|
endproc
|
|
proc AST_PRO_BLAST()
|
|
switch mission_substage
|
|
case stage_entry
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_FRANKLIN
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_FRANKLIN)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
if HAS_CUTSCENE_LOADED()
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA", << 5310.2490, -5175.8232, 83.5057 >>, << -2.2273, -0.0000, -131.0285 >>,30, TRUE)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
SET_CUTSCENE_FADE_VALUES()
|
|
REGISTER_ENTITY_FOR_CUTSCENE(peds[mpf_mike].id, "Michael", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
SET_CUTSCENE_PED_COMPONENT_VARIATION_FROM_PED("michael",peds[mpf_mike].id)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(objWeapon[WEAPON_MICHAEL], "Michaels_weapon", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
|
|
REGISTER_ENTITY_FOR_CUTSCENE(peds[mpf_trev].id, "Trevor", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
SET_CUTSCENE_PED_COMPONENT_VARIATION_FROM_PED("Trevor",peds[mpf_trev].id)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(objWeapon[WEAPON_TREVOR], "Trevors_weapon", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
START_CUTSCENE()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
IF IS_CUTSCENE_PLAYING()
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
endif
|
|
SET_CAM_PARAMS(cameraIndex,<< 5310.2490, -5175.8232, 83.5057 >>, << -2.2273, -0.0000, -131.0285 >>,29, 590, GRAPH_TYPE_DECEL, GRAPH_TYPE_DECEL)
|
|
camfollow = CREATE_CAMERA()
|
|
SET_CAM_PARAMS(camfollow,<< 5310.2490, -5175.8232, 83.5057 >>, << -2.2273, -0.0000, -131.0285 >>,29,0)
|
|
SHAKE_CAM(camfollow,"hand_shake",0.6)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 590
|
|
shake_cam(cameraIndex,"SMALL_EXPLOSION_SHAKE",0.4)
|
|
SET_CAM_PARAMS(cameraIndex,<< 5310.2085, -5175.8662, 83.4681 >>, << -4.2610, -1.9162, -125.5088 >>,30, 670, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
START_PARTICLE_FX_NON_LOOPED_AT_COORD("scr_prologue_door_blast", <<5318.00, -5185.06, 83.82>>, <<0.0, 0.0, 0.0>>, 1.0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if GET_CUTSCENE_TIME() >= 1260
|
|
SHAKE_CAM(cameraIndex,"HAND_SHAKE",0.6)
|
|
SET_CAM_ACTIVE_WITH_INTERP(camfollow,cameraIndex,1500)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 4
|
|
if HAS_CUTSCENE_FINISHED()
|
|
or GET_CUTSCENE_TIME() > 3200
|
|
if bDrawMenu = false
|
|
and bresetScene
|
|
if timerb() > 2000
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(AS_CAR_SLIDE)
|
|
set_up_stage(AS_CAR_SLIDE)
|
|
Mission_Set_Stage(AS_CAR_SLIDE)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(AS_PRO_BLAST)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
else
|
|
settimerb(0)
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
|
|
endproc
|
|
proc LNCH_FRANK_1()
|
|
TEXT_LABEL_15 sMissionName = "Franklin1"
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_FRANKLIN
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_FRANKLIN)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
REQUEST_SCRIPT(sMissionName)
|
|
IF HAS_SCRIPT_LOADED(sMissionName)
|
|
IF REQUEST_MISSION_LAUNCH(missionCandidateID, MCTID_MUST_LAUNCH, MISSION_TYPE_STORY) = MCRET_ACCEPTED
|
|
START_NEW_SCRIPT(sMissionName, MISSION_STACK_SIZE)
|
|
SET_SCRIPT_AS_NO_LONGER_NEEDED(sMissionName)
|
|
Mission_substage++
|
|
ENDIF
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if IS_CUTSCENE_PLAYING()
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
endif
|
|
IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("Franklin1")) = 0
|
|
missionCandidateID = NO_CANDIDATE_ID
|
|
g_savedGlobals.sFlow.isGameflowActive = TRUE
|
|
RESET_GAMEFLOW()
|
|
g_savedGlobals.sFlow.isGameflowActive = FALSE
|
|
iSkipToStage = enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
bDoSkip = true
|
|
ENDIF
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc AST_SLIDE_CAR()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
// create car
|
|
if not DOES_ENTITY_EXIST(vehs[veh_slide].id)
|
|
vehs[veh_slide].id = CREATE_VEHICLE(EMPEROR,vslidecar,fslidecar)
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehs[veh_slide].id,4)
|
|
endif
|
|
|
|
if not does_entity_exist(peds[mpf_slide].id)
|
|
peds[mpf_slide].id = CREATE_PED(PEDTYPE_MISSION,IG_BALLASOG,<<492.19934, -542.82751, 23.75046>>,-8.93)
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(peds[mpf_slide].id,true)
|
|
//syncsene
|
|
syncsceneID = CREATE_SYNCHRONIZED_SCENE(<<0,0,0>>,<<0,0,0>>)//<<492.630, -544.440,24.850>>,<<0,0,357.1>>)
|
|
if IsEntityAlive(vehs[veh_slide].id)
|
|
ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY(syncsceneID,vehs[veh_slide].id,0)
|
|
endif
|
|
TASK_SYNCHRONIZED_SCENE(peds[mpf_slide].id,syncsceneID,"trailer2@bonnet_slide","ballasog_carbonnetslide",INSTANT_BLEND_IN,NORMAL_BLEND_OUT)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_driver].id)
|
|
peds[mpf_driver].id = CREATE_PED_INSIDE_VEHICLE(vehs[veh_slide].id,PEDTYPE_MISSION,S_M_Y_AIRWORKER)
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(peds[mpf_driver].id,true)
|
|
TASK_LOOK_AT_ENTITY(peds[mpf_driver].id,peds[mpf_slide].id,-1,SLF_WIDEST_PITCH_LIMIT |SLF_WIDEST_YAW_LIMIT|SLF_FAST_TURN_RATE|SLF_WHILE_NOT_IN_FOV)
|
|
endif
|
|
//cam
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< 491.1316, -532.1777, 24.7727 >>, << -0.3714, -0.0000, -167.9387 >>,15.7136, TRUE)
|
|
SHAKE_CAM(cameraIndex,"HAND_SHAKE",0.5)
|
|
RENDER_SCRIPT_CAMS(true,false)
|
|
settimera(0)
|
|
bHighDofOn = true
|
|
clear_area(<<492.7981, -528.7627, 24.7392 >>,50,true)
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if IS_SYNCHRONIZED_SCENE_RUNNING(syncsceneID)
|
|
and GET_SYNCHRONIZED_SCENE_PHASE(syncsceneID) >= 0.200
|
|
SET_CAM_PARAMS(cameraIndex,<< 493.4366, -532.0567, 24.8464 >>, << 0.3594, 0.0687, 178.9825 >>, 15.7136, 1250, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
if IsEntityAlive(peds[mpf_slide].id)
|
|
and IsEntityAlive(peds[mpf_driver].id)
|
|
TASK_LOOK_AT_ENTITY(peds[mpf_driver].id,peds[mpf_slide].id,-1)//,SLF_WIDEST_PITCH_LIMIT |SLF_WIDEST_YAW_LIMIT|SLF_FAST_TURN_RATE|SLF_WHILE_NOT_IN_FOV)
|
|
endif
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_SYNCHRONIZED_SCENE_RUNNING(syncsceneID)
|
|
and GET_SYNCHRONIZED_SCENE_PHASE(syncsceneID) >= 0.393
|
|
if IsEntityAlive(vehs[veh_slide].id)
|
|
APPLY_FORCE_TO_ENTITY(vehs[veh_slide].id, APPLY_TYPE_IMPULSE, <<0,0,-0.2>>, <<0,3,0>>, 0, TRUE, TRUE, TRUE)
|
|
endif
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if IS_SYNCHRONIZED_SCENE_RUNNING(syncsceneID)
|
|
and GET_SYNCHRONIZED_SCENE_PHASE(syncsceneID) >= 0.60
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(AS_CHOP_ON_CAR)
|
|
set_up_stage(AS_CHOP_ON_CAR)
|
|
Mission_Set_Stage(AS_CHOP_ON_CAR)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
if does_entity_exist(peds[mpf_slide].id)
|
|
delete_ped(peds[mpf_slide].id)
|
|
endif
|
|
DESTROY_CAM(cameraIndex)
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if IsEntityAlive(peds[mpf_driver].id)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_driver].id,PED_COMP_HEAD,iDockWorkerHeadID,iDockWorkerHeadText)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_driver].id,PED_COMP_TORSO,iDockWorkerUpperID,idockworkerUpperText)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_driver].id,PED_COMP_LEG,idockworkerlowID,idockworkerlowText)
|
|
SET_PED_PROP_INDEX(peds[mpf_driver].id,ANCHOR_HEAD,iDockPropID,idockpropText)
|
|
endif
|
|
// if DOES_ENTITY_EXIST(vehs[veh_slide].id)
|
|
// if not IS_ENTITY_DEAD(vehs[veh_slide].id)
|
|
// SET_ENTITY_COORDS(vehs[veh_slide].id,vDebugPosition)
|
|
// set_entity_heading(vehs[veh_slide].id,fDebugHeading)
|
|
// SET_VEHICLE_ON_GROUND_PROPERLY(vehs[veh_slide].id)
|
|
// endif
|
|
// endif
|
|
endproc
|
|
proc AST_CHOP_CAR()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,492.537170,-540.263794,24.426411,1.013790)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,492.545013,-539.491394,24.426411,1.013790)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,490.956055,-539.331970,24.298565,3.543797)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,490.956055,-539.331970,24.298565,10.000000)
|
|
|
|
if not DOES_ENTITY_EXIST(vehs[veh_slide].id)
|
|
vehs[veh_slide].id = CREATE_VEHICLE(EMPEROR,(vslidecar + <<-0.35,-2.1,0>>),fslidecar)
|
|
SET_VEHICLE_DOOR_OPEN(vehs[veh_slide].id,SC_DOOR_FRONT_LEFT)
|
|
SET_VEHICLE_COLOUR_COMBINATION(vehs[veh_slide].id,4)
|
|
SET_VEHICLE_ON_GROUND_PROPERLY(vehs[veh_slide].id)
|
|
endif
|
|
if not does_entity_exist(peds[mpf_chop].id)
|
|
peds[mpf_chop].id = CREATE_PED(PEDTYPE_MISSION,GET_CHOP_MODEL(),(<<491.1316, -532.1777, 24.7727>>+ <<-0.35,-2.1,0>>),360)
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(peds[mpf_chop].id,true)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_chop].id,PED_COMP_TORSO,0,0)
|
|
//sync
|
|
syncsceneID = CREATE_SYNCHRONIZED_SCENE((<<492.630, -544.440, 24.150>>+ <<-0.35,-2.1,0>>),<<0,0,358>>)
|
|
TASK_SYNCHRONIZED_SCENE(peds[mpf_chop].id,syncsceneID,"MISSFRA0_chop","FRA_0_IG_9_CHOP_JUMP_OVER_CAR_HOOD",INSTANT_BLEND_IN,NORMAL_BLEND_OUT)
|
|
endif
|
|
if not DOES_ENTITY_EXIST(peds[mpf_driver].id)
|
|
peds[mpf_driver].id = CREATE_PED_INSIDE_VEHICLE(vehs[veh_slide].id,PEDTYPE_MISSION,S_M_Y_AIRWORKER)
|
|
TASK_LOOK_AT_ENTITY(peds[mpf_driver].id,peds[mpf_chop].id,-1)
|
|
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(peds[mpf_driver].id,true)
|
|
endif
|
|
//bison
|
|
if not DOES_ENTITY_EXIST(vehs[veh_parked_car].id)
|
|
vehs[veh_parked_car].id = CREATE_VEHICLE(BISON2,<< 489.3728, -545.1403, 23.7508 >>, 86.5515)
|
|
SET_VEHICLE_ON_GROUND_PROPERLY(vehs[veh_parked_car].id)
|
|
endif
|
|
//cam
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",(<< 495.3479, -534.4951, 24.5051 >>+ <<-0.35,-2.1,0>>), << -1.1364, -0.0000, 145.0519 >>,23.2901, TRUE)
|
|
RENDER_SCRIPT_CAMS(true,false)
|
|
bHighDofOn = true
|
|
clear_area(<<492.7981, -528.7627, 24.7392 >>,50,true)
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if IS_SYNCHRONIZED_SCENE_RUNNING(syncsceneID)
|
|
and GET_SYNCHRONIZED_SCENE_PHASE(syncsceneID) >=0.32
|
|
DO_SCREEN_FADE_IN(0)
|
|
if IsEntityAlive(peds[mpf_driver].id)
|
|
and IsEntityAlive(peds[mpf_chop].id)
|
|
OPEN_SEQUENCE_TASK(seq)
|
|
TASK_LOOK_AT_ENTITY(null,peds[mpf_chop].id,-1,SLF_FAST_TURN_RATE)
|
|
TASK_LEAVE_ANY_VEHICLE(null,0,ECF_DONT_CLOSE_DOOR)
|
|
CLOSE_SEQUENCE_TASK(seq)
|
|
TASK_PERFORM_SEQUENCE(peds[mpf_driver].id,seq)
|
|
CLEAR_SEQUENCE_TASK(seq)
|
|
endif
|
|
SET_CAM_PARAMS(cameraIndex,(<< 495.8520, -535.4316, 24.3789 >>+ <<-0.35,-2.1,0>>), << 4.5014, 0.0000, 99.9261 >>, 23.2901, 1100, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_SYNCHRONIZED_SCENE_RUNNING(syncsceneID)
|
|
and GET_SYNCHRONIZED_SCENE_PHASE(syncsceneID) >= 0.45
|
|
if DOES_ENTITY_EXIST(vehs[veh_slide].id)
|
|
and not IS_ENTITY_DEAD(vehs[veh_slide].id)
|
|
APPLY_FORCE_TO_ENTITY(vehs[veh_slide].id, APPLY_TYPE_IMPULSE, <<0,0,-0.1>>, <<0,3,0>>, 0, TRUE, TRUE, TRUE)
|
|
endif
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if IS_SYNCHRONIZED_SCENE_RUNNING(syncsceneID)
|
|
and GET_SYNCHRONIZED_SCENE_PHASE(syncsceneID) >= 0.595
|
|
if DOES_ENTITY_EXIST(vehs[veh_slide].id)
|
|
and not IS_ENTITY_DEAD(vehs[veh_slide].id)
|
|
APPLY_FORCE_TO_ENTITY(vehs[veh_slide].id, APPLY_TYPE_IMPULSE, <<0,0,-0.1>>, <<0,3,0>>, 0, TRUE, TRUE, TRUE)
|
|
endif
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 4
|
|
if IS_SYNCHRONIZED_SCENE_RUNNING(syncsceneID)
|
|
and GET_SYNCHRONIZED_SCENE_PHASE(syncsceneID) >= 0.8
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
if timerb() >2000
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(AS_FRANK_BIKE_EXP)
|
|
set_up_stage(AS_FRANK_BIKE_EXP)
|
|
Mission_Set_Stage(AS_FRANK_BIKE_EXP)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
if does_entity_exist(peds[mpf_chop].id)
|
|
delete_ped(peds[mpf_chop].id)
|
|
endif
|
|
if does_entity_exist(peds[mpf_driver].id)
|
|
delete_ped(peds[mpf_driver].id)
|
|
endif
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
else
|
|
settimerb(0)
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if IsEntityAlive(peds[mpf_driver].id)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_driver].id,PED_COMP_HEAD,iDockWorkerHeadID,iDockWorkerHeadText)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_driver].id,PED_COMP_TORSO,iDockWorkerUpperID,idockworkerUpperText)
|
|
SET_PED_COMPONENT_VARIATION(peds[mpf_driver].id,PED_COMP_LEG,idockworkerlowID,idockworkerlowText)
|
|
SET_PED_PROP_INDEX(peds[mpf_driver].id,ANCHOR_HEAD,iDockPropID,idockpropText)
|
|
endif
|
|
endproc
|
|
proc LNCH_FBI2()
|
|
TEXT_LABEL_15 sMissionName = "Fbi2"
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_MICHAEL
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_MICHAEL)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
REQUEST_SCRIPT(sMissionName)
|
|
IF HAS_SCRIPT_LOADED(sMissionName)
|
|
IF REQUEST_MISSION_LAUNCH(missionCandidateID, MCTID_MUST_LAUNCH, MISSION_TYPE_STORY) = MCRET_ACCEPTED
|
|
START_NEW_SCRIPT(sMissionName, MISSION_STACK_SIZE)
|
|
SET_SCRIPT_AS_NO_LONGER_NEEDED(sMissionName)
|
|
Mission_substage++
|
|
ENDIF
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
SET_ROADS_IN_AREA(<<-103.62539, -539.09808, 29.47614>>,<<318.05725, -470.30832, 35.06704>>,false)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if IS_CUTSCENE_PLAYING()
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
endif
|
|
IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("Fbi2")) = 0
|
|
missionCandidateID = NO_CANDIDATE_ID
|
|
g_savedGlobals.sFlow.isGameflowActive = TRUE
|
|
RESET_GAMEFLOW()
|
|
g_savedGlobals.sFlow.isGameflowActive = FALSE
|
|
SET_ROADS_BACK_TO_ORIGINAL(<<-103.62539, -539.09808, 29.47614>>,<<318.05725, -470.30832, 35.06704>>)
|
|
iSkipToStage = enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
bDoSkip = true
|
|
ENDIF
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc LNCH_JEWEL_HEIST_2A()
|
|
TEXT_LABEL_15 sMissionName = "jewelry_heist"
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_MICHAEL
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_MICHAEL)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
REQUEST_SCRIPT(sMissionName)
|
|
IF HAS_SCRIPT_LOADED(sMissionName)
|
|
IF REQUEST_MISSION_LAUNCH(missionCandidateID, MCTID_MUST_LAUNCH, MISSION_TYPE_STORY) = MCRET_ACCEPTED
|
|
START_NEW_SCRIPT(sMissionName, MISSION_STACK_SIZE)
|
|
SET_SCRIPT_AS_NO_LONGER_NEEDED(sMissionName)
|
|
Mission_substage++
|
|
ENDIF
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("jewelry_heist")) = 0
|
|
missionCandidateID = NO_CANDIDATE_ID
|
|
g_savedGlobals.sFlow.isGameflowActive = TRUE
|
|
RESET_GAMEFLOW()
|
|
g_savedGlobals.sFlow.isGameflowActive = FALSE
|
|
iSkipToStage = enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
bDoSkip = true
|
|
ENDIF
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc AST_BIKE_EXP()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(0)
|
|
//police cars
|
|
vehs[Veh_police1].id = CREATE_VEHICLE(police, << -2385.2922, -261.0016, 13.8655 >>, 315.3952 )
|
|
vehs[Veh_police2].id = create_vehicle(police2, << -2390.2839, -266.6570, 13.9012 >>, 340.0167 )
|
|
vehs[Veh_police3].id = create_vehicle(police3, << -2378.5684, -258.7115, 13.7511 >>, 135.2469)
|
|
vehs[Veh_police4].id = create_vehicle(policet,<< -2396.4150, -271.3444, 13.8323 >>, 359.7728 )
|
|
//Ambiant cars
|
|
vehs[veh_exp1].id = create_vehicle(sentinel2,<< -2398.7073, -263.0657, 14.1163 >>, 237.4294)
|
|
vehs[veh_exp2].id = create_vehicle(stratum,<< -2403.5388, -265.4770, 14.1341 >>, 238.7391)
|
|
vehs[veh_exp3].id = create_vehicle(emperor2, << -2376.6907, -263.7331, 13.6691 >>, 59.4443)
|
|
//bike
|
|
vehs[veh_Bike].id = create_vehicle(AKUMA, << -2416.8469, -233.8673, 15.3493 >>, 150)
|
|
int i
|
|
for i = 0 to ENUM_TO_INT(MVF_NUM_OF_VEH) - 1
|
|
if IsEntityAlive(vehs[i].id)
|
|
SET_VEHICLE_ON_GROUND_PROPERLY(vehs[i].id)
|
|
endif
|
|
endfor
|
|
fTrafficDensity = 0
|
|
fPedDensity = 0
|
|
//cam
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< -2545.8171, -173.9794, 19.4473 >>, << -1.1896, -5.5740, -122.2291 >>,15.5371, TRUE)
|
|
// SET_ENTITY_COORDS(player_ped_id(),<< -1736.5225, -944.9641, 6.7451 >>)
|
|
SET_CAM_MOTION_BLUR_STRENGTH(cameraIndex,0.1)
|
|
SET_CAM_ACTIVE(cameraIndex,true)
|
|
RENDER_SCRIPT_CAMS(true,false)
|
|
SHAKE_CAM(cameraIndex,"hand_shake",1)
|
|
clear_area(<< -2552.9766, -171.2143, 19.9467>>,300,true)
|
|
STOP_FIRE_IN_RANGE(<< -2552.9766, -171.2143, 19.9467 >>,300)
|
|
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if CREATE_PLAYER_PED_INSIDE_VEHICLE(peds[mpf_frank].id,CHAR_FRANKLIN,vehs[veh_Bike].id)
|
|
GIVE_PED_HELMET(peds[mpf_frank].id,true)
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(peds[mpf_frank].id)
|
|
settimera(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if IsEntityAlive(peds[mpf_frank].id)
|
|
and timera() > 1000
|
|
if HAVE_ALL_STREAMING_REQUESTS_COMPLETED(peds[mpf_frank].id)
|
|
if IsEntityAlive(vehs[veh_Bike].id)
|
|
START_PLAYBACK_RECORDED_VEHICLE(vehs[veh_Bike].id,6,"Trailer2REC")
|
|
SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehs[veh_bike].id,1700)
|
|
endif
|
|
SET_CAM_PARAMS(cameraIndex,<< -2546.5476, -175.2028, 19.4944 >>, << -1.1896, -5.5740, -120.9157 >>,15.5371,2500,GRAPH_TYPE_LINEAR,GRAPH_TYPE_LINEAR)
|
|
settimera(0)
|
|
mission_substage++
|
|
endif
|
|
endif
|
|
break
|
|
case 3
|
|
if timera() > 400
|
|
DO_SCREEN_FADE_IN(0)
|
|
camfollow = CREATE_CAMERA_WITH_PARAMS(CAMTYPE_SCRIPTED,<< -2546.5476, -175.2028, 19.4944 >>, << -1.1896, -5.5740, -120.9157 >>,16)
|
|
SET_CAM_MOTION_BLUR_STRENGTH(camfollow,0.6)
|
|
if IsEntityAlive(vehs[veh_Bike].id)
|
|
POINT_CAM_AT_ENTITY(camfollow,vehs[veh_Bike].id,<<0,0.3,0.1>>)
|
|
endif
|
|
if IsEntityAlive(vehs[Veh_police1].id)
|
|
ADD_EXPLOSION(GET_ENTITY_COORDS(vehs[Veh_police1].id),EXP_TAG_CAR,1)
|
|
endif
|
|
if IsEntityAlive(vehs[Veh_police2].id)
|
|
ADD_EXPLOSION(get_entity_coords(vehs[Veh_police2].id),EXP_TAG_CAR,1)
|
|
endif
|
|
if IsEntityAlive(vehs[Veh_police4].id)
|
|
ADD_EXPLOSION(get_entity_coords(vehs[Veh_police4].id),EXP_TAG_CAR,1)
|
|
endif
|
|
ADD_EXPLOSION(<<-2389.32544, -260.25778, 13.95412>>,EXP_TAG_HI_OCTANE)
|
|
ADD_EXPLOSION(<<-2392.40527, -262.88516, 13.99207>>,EXP_TAG_HI_OCTANE)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 4
|
|
if timera() > 900
|
|
SET_CAM_ACTIVE_WITH_INTERP(camfollow,cameraIndex, 2000)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 5
|
|
if timera() > 2000
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
if timerb() >2000
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(AS_JET_FIGHT)
|
|
set_up_stage(AS_JET_FIGHT)
|
|
Mission_Set_Stage(AS_JET_FIGHT)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
if DOES_ENTITY_EXIST(peds[mpf_frank].id)
|
|
DELETE_PED(peds[mpf_frank].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[veh_Bike].id)
|
|
delete_vehicle(vehs[veh_Bike].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[Veh_police2].id)
|
|
delete_vehicle(vehs[Veh_police2].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[Veh_police3].id)
|
|
delete_vehicle(vehs[Veh_police3].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[Veh_police4].id)
|
|
delete_vehicle(vehs[Veh_police4].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[Veh_police1].id)
|
|
delete_vehicle(vehs[Veh_police1].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[veh_exp1].id)
|
|
delete_vehicle(vehs[veh_exp1].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[veh_exp2].id)
|
|
delete_vehicle(vehs[veh_exp2].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[veh_exp3].id)
|
|
delete_vehicle(vehs[veh_exp3].id)
|
|
endif
|
|
DESTROY_ALL_CAMS()
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
else
|
|
settimerb(0)
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc LNCH_EXILE_1()
|
|
TEXT_LABEL_15 sMissionName = "exile1"
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_FRANKLIN
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_FRANKLIN)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
REQUEST_SCRIPT(sMissionName)
|
|
IF HAS_SCRIPT_LOADED(sMissionName)
|
|
IF REQUEST_MISSION_LAUNCH(missionCandidateID, MCTID_MUST_LAUNCH, MISSION_TYPE_STORY) = MCRET_ACCEPTED
|
|
START_NEW_SCRIPT(sMissionName, MISSION_STACK_SIZE)
|
|
SET_SCRIPT_AS_NO_LONGER_NEEDED(sMissionName)
|
|
Mission_substage++
|
|
ENDIF
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_CUTSCENE_PLAYING()
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
endif
|
|
IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("exile1")) = 0
|
|
missionCandidateID = NO_CANDIDATE_ID
|
|
g_savedGlobals.sFlow.isGameflowActive = TRUE
|
|
RESET_GAMEFLOW()
|
|
g_savedGlobals.sFlow.isGameflowActive = FALSE
|
|
iSkipToStage = enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
bDoSkip = true
|
|
ENDIF
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc LNCH_Offroad_1()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_FRANKLIN
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_FRANKLIN)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_COORDS(player_ped_id(),<<-1958.1558, 4463.4121, 33.7800>>)
|
|
Mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(800)
|
|
SET_CLOCK_TIME(13,0,0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
Mission_Cleanup(true)
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc LNCH_EXILE_3()
|
|
TEXT_LABEL_15 sMissionName = "exile3"
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_TREVOR
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_TREVOR)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
REQUEST_SCRIPT(sMissionName)
|
|
IF HAS_SCRIPT_LOADED(sMissionName)
|
|
IF REQUEST_MISSION_LAUNCH(missionCandidateID, MCTID_MUST_LAUNCH, MISSION_TYPE_STORY) = MCRET_ACCEPTED
|
|
START_NEW_SCRIPT(sMissionName, MISSION_STACK_SIZE)
|
|
SET_SCRIPT_AS_NO_LONGER_NEEDED(sMissionName)
|
|
Mission_substage++
|
|
ENDIF
|
|
endif
|
|
break
|
|
case 2
|
|
if IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if IS_CUTSCENE_PLAYING()
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
endif
|
|
IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("exile3")) = 0
|
|
missionCandidateID = NO_CANDIDATE_ID
|
|
g_savedGlobals.sFlow.isGameflowActive = TRUE
|
|
RESET_GAMEFLOW()
|
|
g_savedGlobals.sFlow.isGameflowActive = FALSE
|
|
iSkipToStage = enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
bDoSkip = true
|
|
ENDIF
|
|
break
|
|
endswitch
|
|
endproc
|
|
proc AST_JET_FIGHT()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< 683.8909, 1242.1932, 359.0270 >>, << -11.9587, 3.4700, 177.9113 >>,31.3, TRUE)
|
|
NEW_LOAD_SCENE_START(<< 683.8909, 1242.1932, 359.0270 >>, << -11.9587, 3.4700, 177.9113 >>,150)
|
|
while not IS_NEW_LOAD_SCENE_LOADED()
|
|
wait(0)
|
|
endwhile
|
|
ENABLE_EXTRA_DISTANTLIGHTS(<<383,-903,50.9>>,1000)
|
|
SET_WEATHER_TYPE_NOW_PERSIST("CLEAR")
|
|
settimera(0)
|
|
if not DOES_ENTITY_EXIST(vehs[veh_jet].id)
|
|
vehs[veh_jet].id = CREATE_VEHICLE(LAZER,<< 723.2245, 1249.4069, 363.7921 >>,180)
|
|
SET_VEHICLE_ENGINE_ON(vehs[veh_jet].id,true,true)
|
|
CONTROL_LANDING_GEAR(vehs[veh_jet].id,LGC_RETRACT_INSTANT)
|
|
SET_VEHICLE_FLIGHT_NOZZLE_POSITION(vehs[veh_jet].id,0)
|
|
SET_ENTITY_INVINCIBLE(vehs[veh_jet].id,true)
|
|
SET_ENTITY_LOD_DIST(vehs[veh_jet].id,1000)
|
|
if not DOES_ENTITY_EXIST(peds[mpf_jetPilot].id)
|
|
peds[mpf_jetPilot].id = CREATE_PED_INSIDE_VEHICLE(vehs[veh_jet].id,pedtype_mission,S_M_Y_Pilot_01)
|
|
endif
|
|
endif
|
|
|
|
mission_substage++
|
|
break
|
|
case 1
|
|
if timera() > 1000
|
|
DO_SCREEN_FADE_IN(0)
|
|
//heli 1
|
|
if not DOES_ENTITY_EXIST(vehs[veh_heli1].id)
|
|
vehs[veh_heli1].id = create_vehicle(polmav,<< 551.2347, 873.2770, 331.1218 >>)
|
|
SET_HELI_BLADES_FULL_SPEED(vehs[veh_heli1].id)
|
|
START_PLAYBACK_RECORDED_VEHICLE(vehs[veh_heli1].id,1,"Trailer2REC")
|
|
SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehs[veh_heli1].id,800)
|
|
SET_PLAYBACK_SPEED(vehs[veh_heli1].id,1.1)
|
|
SET_ENTITY_ALWAYS_PRERENDER(vehs[veh_heli1].id,true)
|
|
SET_ENTITY_LOD_DIST(vehs[veh_heli1].id,1000)
|
|
SET_VEHICLE_SEARCHLIGHT(vehs[veh_heli1].id,true)
|
|
if not DOES_ENTITY_EXIST(peds[mpf_pilot1].id)
|
|
peds[mpf_pilot1].id = CREATE_PED_INSIDE_VEHICLE(vehs[veh_heli1].id,pedtype_mission,S_M_Y_Pilot_01)
|
|
TASK_VEHICLE_AIM_AT_COORD(peds[mpf_pilot1].id,<<565.02087, 807.79779, 200.03485>>)
|
|
endif
|
|
endif
|
|
|
|
//heli 2
|
|
if not DOES_ENTITY_EXIST(vehs[veh_heli2].id)
|
|
vehs[veh_heli2].id = create_vehicle(polmav,<< 516.6041, 773.4421, 300.7780 >>)
|
|
SET_HELI_BLADES_FULL_SPEED(vehs[veh_heli2].id)
|
|
START_PLAYBACK_RECORDED_VEHICLE(vehs[veh_heli2].id,2,"Trailer2REC")
|
|
SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehs[veh_heli2].id,800)
|
|
SET_PLAYBACK_SPEED(vehs[veh_heli2].id,1.1)
|
|
SET_ENTITY_LOD_DIST(vehs[veh_heli2].id,1000)
|
|
SET_VEHICLE_SEARCHLIGHT(vehs[veh_heli2].id,true)
|
|
if not DOES_ENTITY_EXIST(peds[mpf_pilot2].id)
|
|
peds[mpf_pilot2].id = CREATE_PED_INSIDE_VEHICLE(vehs[veh_heli2].id,pedtype_mission,S_M_Y_Pilot_01)
|
|
TASK_VEHICLE_AIM_AT_COORD(peds[mpf_pilot2].id,<<565.02087, 807.79779, 200.03485>>)
|
|
endif
|
|
endif
|
|
//jet
|
|
if IsEntityAlive(vehs[veh_jet].id)
|
|
START_PLAYBACK_RECORDED_VEHICLE(vehs[veh_jet].id,3,"Trailer2REC")
|
|
SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehs[veh_jet].id,2500)
|
|
SET_PLAYBACK_SPEED(vehs[veh_jet].id,1.35)
|
|
SET_VEHICLE_FLIGHT_NOZZLE_POSITION(vehs[veh_jet].id,0)
|
|
endif
|
|
//cam
|
|
SET_CAM_PARAMS(cameraIndex,<< 687.4604, 1242.0137, 359.3400 >>, << -9.7147, 3.4577, 178.6762 >>,31.3,1500,GRAPH_TYPE_LINEAR,GRAPH_TYPE_LINEAR)
|
|
RENDER_SCRIPT_CAMS(true,false)
|
|
SHAKE_CAM(cameraIndex,"hand_shake",1)
|
|
clear_area(<< 686.7050, 1222.2231, 353.9688 >>,2000,true)
|
|
STOP_FIRE_IN_RANGE(<< 686.7050, 1222.2231, 353.9688 >>,2000)
|
|
settimera(0)
|
|
|
|
FREEZE_ENTITY_POSITION(player_ped_id(),true)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if timera() > 800
|
|
camfollow = CREATE_CAM_WITH_PARAMS("default_scripted_camera",<< 687.4604, 1242.0137, 359.3400 >>, << -9.7147, 3.4577, 178.6762 >>,30)
|
|
POINT_CAM_AT_ENTITY(camfollow,vehs[veh_jet].id,<<0,0,0>>)
|
|
SET_CAM_ACTIVE_WITH_INTERP(camfollow,cameraIndex,1500)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if timera() > 2000
|
|
|
|
// NEW_LOAD_SCENE_START(<< 547.9744, 793.1989, 409.4529 >>, << 0.3927, -3.5066, -17.2993 >>,250)
|
|
// while not IS_NEW_LOAD_SCENE_LOADED()
|
|
// wait(0)
|
|
// endwhile
|
|
SET_CAM_PARAMS(cameraIndex,<< 547.9744, 793.1989, 409.4529 >>, << 0.3927, -3.5066, -17.2993 >>,29.7407,0,GRAPH_TYPE_LINEAR,GRAPH_TYPE_LINEAR)
|
|
SET_CAM_PARAMS(cameraIndex,<< 538.0171, 797.1656, 411.7323 >>, << -2.9483, -2.4574, -26.3961 >>,29.7407,2300,GRAPH_TYPE_LINEAR,GRAPH_TYPE_LINEAR)
|
|
SET_CAM_ACTIVE(cameraIndex,true)
|
|
settimerA(0)
|
|
SET_WEATHER_TYPE_NOW_PERSIST("SNOWLIGHT")
|
|
//heli
|
|
if IsEntityAlive(vehs[veh_heli1].id)
|
|
if IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehs[veh_heli1].id)
|
|
STOP_PLAYBACK_RECORDED_VEHICLE(vehs[veh_heli1].id)
|
|
endif
|
|
SET_HELI_BLADES_FULL_SPEED(vehs[veh_heli1].id)
|
|
START_PLAYBACK_RECORDED_VEHICLE(vehs[veh_heli1].id,5,"Trailer2REC")
|
|
SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehs[veh_heli1].id,2300)
|
|
SET_PLAYBACK_SPEED(vehs[veh_heli1].id,0.85)
|
|
SET_ENTITY_HEALTH(vehs[veh_heli1].id,20)
|
|
SET_VEHICLE_SEARCHLIGHT(vehs[veh_heli1].id,false)
|
|
endif
|
|
if IsEntityAlive(vehs[veh_jet].id)
|
|
//jet
|
|
if IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehs[veh_jet].id)
|
|
STOP_PLAYBACK_RECORDED_VEHICLE(vehs[veh_jet].id)
|
|
endif
|
|
START_PLAYBACK_RECORDED_VEHICLE(vehs[veh_jet].id,4,"Trailer2REC")
|
|
SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehs[veh_jet].id,1400)
|
|
SET_PLAYBACK_SPEED(vehs[veh_jet].id,1)
|
|
SET_VEHICLE_ENGINE_ON(vehs[veh_jet].id,true,true)
|
|
CONTROL_LANDING_GEAR(vehs[veh_jet].id,LGC_RETRACT_INSTANT)
|
|
endif
|
|
if IsEntityAlive(peds[mpf_jetPilot].id)
|
|
and IsEntityAlive(peds[mpf_pilot1].id)
|
|
SET_CURRENT_PED_VEHICLE_WEAPON(peds[mpf_jetPilot].id,WEAPONTYPE_VEHICLE_SPACE_ROCKET)
|
|
TASK_VEHICLE_SHOOT_AT_PED(peds[mpf_jetPilot].id,peds[mpf_pilot1].id)
|
|
endif
|
|
//get rid of other heli
|
|
if DOES_ENTITY_EXIST(peds[mpf_pilot2].id)
|
|
delete_ped(peds[mpf_pilot2].id)
|
|
endif
|
|
|
|
if DOES_ENTITY_EXIST(vehs[veh_heli2].id)
|
|
and not IS_ENTITY_DEAD(vehs[veh_heli2].id)
|
|
DELETE_VEHICLE(vehs[veh_heli2].id)
|
|
endif
|
|
|
|
mission_substage++
|
|
ENDIF
|
|
break
|
|
case 4
|
|
if timera() > 2000
|
|
SET_CAM_PARAMS(camfollow,<< 538.0171, 797.1656, 411.7323 >>, << -2.9483, -2.4574, -26.3961 >>,34,0,GRAPH_TYPE_LINEAR,GRAPH_TYPE_LINEAR)
|
|
SET_CAM_ACTIVE_WITH_INTERP(camfollow,cameraIndex,1000)//2300)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 5
|
|
if timera() > 2500
|
|
SET_WEATHER_TYPE_NOW_PERSIST("CLEAR")
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 6
|
|
if timera() > 3500
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_22_FIN_EXT_P2)
|
|
set_up_stage(STAGE_22_FIN_EXT_P2)
|
|
Mission_Set_Stage(STAGE_22_FIN_EXT_P2)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
if DOES_ENTITY_EXIST(peds[mpf_pilot1].id)
|
|
delete_ped(peds[mpf_pilot1].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[veh_heli1].id)
|
|
DELETE_VEHICLE(vehs[veh_heli1].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_pilot2].id)
|
|
delete_ped(peds[mpf_pilot2].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[veh_heli2].id)
|
|
DELETE_VEHICLE(vehs[veh_heli2].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(peds[mpf_jetPilot].id)
|
|
delete_ped(peds[mpf_jetPilot].id)
|
|
endif
|
|
if DOES_ENTITY_EXIST(vehs[veh_jet].id)
|
|
DELETE_VEHICLE(vehs[veh_jet].id)
|
|
endif
|
|
DESTROY_ALL_CAMS()
|
|
CLEAR_FOCUS()
|
|
mission_substage = STAGE_ENTRY
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if IsEntityAlive(vehs[veh_heli1].id)
|
|
and IsEntityAlive(peds[mpf_jetPilot].id)
|
|
if HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(vehs[veh_heli1].id,peds[mpf_jetPilot].id)
|
|
if IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehs[veh_heli1].id)
|
|
STOP_PLAYBACK_RECORDED_VEHICLE(vehs[veh_heli1].id)
|
|
SET_ENTITY_HEALTH(vehs[veh_heli1].id,0)
|
|
endif
|
|
endif
|
|
endif
|
|
if DOES_CAM_EXIST(cameraIndex)
|
|
SET_FOCUS_POS_AND_VEL(GET_CAM_COORD(cameraIndex),<<0,0,0>>)
|
|
endif
|
|
endproc
|
|
proc ST_22_FIN_EXT_P2() //therepist has a lot to answer for
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
SET_ENTITY_VISIBLE(player_ped_id(),true)
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<< 1376.4539, -2062.7883, 51.4848 >>, << 7.5267, -0.0000, -14.6135 >>,24.7441, TRUE)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,1377.702026,-2057.952881,51.962540,1.200000)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,1378.937988,-2049.780762,52.548439,7.243392)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,1386.948975,-2031.549194,53.900768,20.271351)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,1413.269043,-1985.094849,62.787762,70.397774)
|
|
RENDER_SCRIPT_CAMS(true,false)
|
|
START_CUTSCENE_AT_COORDS(<<1352.650,-2056.3,51.05>>)
|
|
SET_CUTSCENE_ORIGIN(<<1367.650,-2041.300,51.050>>,62.436,0)
|
|
if not DOES_ENTITY_EXIST(vehs[veh_heli1].id)
|
|
vehs[veh_heli1].id = CREATE_VEHICLE(BUZZARD,<< 1379.3744, -2054.3933, 50.9981 >>, 225.8938)
|
|
SET_VEHICLE_ON_GROUND_PROPERLY(vehs[veh_heli1].id)
|
|
endif
|
|
//camera
|
|
SETTIMERA(0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 1000
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if GET_CUTSCENE_TIME() >= 45000
|
|
SET_CAM_PARAMS(cameraIndex,<< 1376.5262, -2062.5112, 51.5226 >>, << 7.5267, -0.0000, -14.6135 >>, 24.7441, 13000, GRAPH_TYPE_LINEAR, GRAPH_TYPE_LINEAR)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 3
|
|
if GET_CUTSCENE_TIME() >= 57000
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 4
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
Load_Stage_Assets(STAGE_23_FINAL_SHOT)
|
|
set_up_stage(STAGE_23_FINAL_SHOT)
|
|
Mission_Set_Stage(STAGE_23_FINAL_SHOT)
|
|
mission_substage = STAGE_ENTRY
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_22_FIN_EXT_P2)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if mission_substage > 2
|
|
and IS_CUTSCENE_PLAYING()
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
endproc
|
|
proc ST_23_FINAL_SHOT()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
bplayerControl = true
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_MICHAEL
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_MICHAEL)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_VISIBLE(player_ped_id(),true)
|
|
SET_PED_COMPONENT_VARIATION(player_ped_id(),PED_COMP_SPECIAL,0,0)
|
|
SET_PED_COMPONENT_VARIATION(player_ped_id(),PED_COMP_SPECIAL2,0,0)
|
|
endif
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<<1372.5806, -2071.8660, 50.8653>>, <<23.2888, -0.0000, -165.3118>>,27.3521, TRUE)
|
|
|
|
SET_CAM_ACTIVE(cameraIndex,true)
|
|
RENDER_SCRIPT_CAMS(true,false)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,1373.540039,-2075.073730,51.945171,1.161457)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,1373.540283,-2075.745361,51.945168,1.161457)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,1403.187012,-2045.066650,56.329720,5.764066)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,1380.006958,-2080.055908,53.470879,11.786053)
|
|
|
|
SET_CAM_DOF_STRENGTH(cameraIndex,0)
|
|
bHighDofOn = true
|
|
SET_CAM_NEAR_DOF(cameraIndex,3.260)
|
|
SET_CAM_FAR_DOF(cameraIndex,500)
|
|
SET_CAM_USE_SHALLOW_DOF_MODE(cameraIndex,true)
|
|
|
|
START_CUTSCENE()
|
|
SET_CUTSCENE_ORIGIN(<<1382.56,-2059.8,51>>,-120.5,0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 1000
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
iSkipToStage = enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
bDoSkip = true
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_23_FINAL_SHOT)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if GET_CUTSCENE_TIME() >= 43630
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
endproc
|
|
proc ST_23_FINAL_SHOT_ALT()
|
|
switch mission_substage
|
|
case STAGE_ENTRY
|
|
if HAS_CUTSCENE_LOADED()
|
|
bplayerControl = true
|
|
if GET_PLAYER_PED_ENUM(player_ped_id()) != CHAR_MICHAEL
|
|
WHILE NOT SET_CURRENT_SELECTOR_PED(SELECTOR_PED_MICHAEL)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
endif
|
|
if IsEntityAlive(player_ped_id())
|
|
SET_ENTITY_VISIBLE(player_ped_id(),true)
|
|
SET_PED_COMPONENT_VARIATION(player_ped_id(),PED_COMP_SPECIAL,0,0)
|
|
SET_PED_COMPONENT_VARIATION(player_ped_id(),PED_COMP_SPECIAL2,0,0)
|
|
endif
|
|
cameraIndex = CREATE_CAM_WITH_PARAMS_AND_SETUP_SCENE("DEFAULT_SCRIPTED_CAMERA",<<1372.9314, -2073.5801, 52.1832>>, <<7.0716, -0.0000, -168.5246>>,45, TRUE)
|
|
|
|
SET_CAM_ACTIVE(cameraIndex,true)
|
|
RENDER_SCRIPT_CAMS(true,false)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(0,TRUE,1373.540039,-2075.073730,51.945171,1.161457)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(1,TRUE,1373.540283,-2075.745361,51.945168,1.161457)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(2,TRUE,1403.187012,-2045.066650,56.329720,5.764066)
|
|
CASCADE_SHADOWS_SET_CASCADE_BOUNDS(3,TRUE,1380.006958,-2080.055908,53.470879,11.786053)
|
|
|
|
SET_CAM_DOF_STRENGTH(cameraIndex,1)
|
|
bHighDofOn = true
|
|
SET_CAM_NEAR_DOF(cameraIndex,1)
|
|
SET_CAM_FAR_DOF(cameraIndex,15)
|
|
|
|
START_CUTSCENE()
|
|
SET_CUTSCENE_ORIGIN(<<1382.56,-2059.8,51>>,-120.5,0)
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 1
|
|
if GET_CUTSCENE_TIME() >= 1000
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(0)
|
|
ENDIF
|
|
mission_substage++
|
|
endif
|
|
break
|
|
case 2
|
|
if HAS_CUTSCENE_FINISHED()
|
|
if not bDrawMenu
|
|
and bresetScene
|
|
DO_SCREEN_FADE_OUT(0)
|
|
if bPlayThrough
|
|
iSkipToStage = enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
bDoSkip = true
|
|
else
|
|
iSkipToStage = enum_to_int(STAGE_23_FINAL_SHOT)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
break
|
|
endswitch
|
|
if GET_CUTSCENE_TIME() >= 43630
|
|
BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE()
|
|
endif
|
|
endproc
|
|
// STAGE_RECORD,
|
|
|
|
PROC MISSION_STAGE_SKIP()
|
|
//a skip has been made
|
|
IF bDoSkip = TRUE
|
|
|
|
//begin the skip if the switching is idle
|
|
if stageSwitch = STAGESWITCH_IDLE
|
|
if not IS_SCREEN_FADED_OUT()
|
|
IF NOT IS_SCREEN_FADING_OUT()
|
|
DO_SCREEN_FADE_OUT(1000)
|
|
ENDIF
|
|
else
|
|
Mission_Set_Stage(INT_TO_ENUM(MSF_MISSION_STAGE_FLAGS, iSkipToStage))
|
|
endif
|
|
//Needs to be carried out before states own entering stage
|
|
ELIF stageSwitch = STAGESWITCH_ENTERING
|
|
|
|
RENDER_SCRIPT_CAMS(false,false)
|
|
|
|
RESET_EVERYTHING()
|
|
|
|
Load_Stage_Assets(int_to_enum(MSF_MISSION_STAGE_FLAGS, mission_stage))
|
|
Set_up_stage(int_to_enum(MSF_MISSION_STAGE_FLAGS, mission_stage))
|
|
|
|
iTitlesTimer = GET_GAME_TIMER()
|
|
bDoSkip = FALSE
|
|
|
|
ENDIF
|
|
#if Is_debug_build
|
|
//Check is a skip being asked for, dont allow skip during setup stage
|
|
ELIF NOT IS_CURRENTLY_ON_MISSION_OF_ANY_TYPE()
|
|
if LAUNCH_MISSION_STAGE_MENU(zMenuNames, iSkipToStage, mission_stage, false,"Trailer 2 Shot List")
|
|
IF iSkipToStage > ENUM_TO_INT(STAGE_NUM_LAST)-1
|
|
Mission_Set_Stage(STAGE_0_WAIT_FOR_STAGE)
|
|
ELSE
|
|
iSkipToStage = CLAMP_INT(iSkipToStage, 0, ENUM_TO_INT(STAGE_NUM_LAST)-1)
|
|
if IS_SCREEN_FADED_IN()
|
|
DO_SCREEN_FADE_OUT(0)
|
|
bDoSkip = true
|
|
endif
|
|
endif
|
|
endif
|
|
#endif
|
|
ENDIF
|
|
ENDPROC
|
|
// -----------------------------------------------------------------------------------------------------------
|
|
// MISSION FLOW
|
|
// -----------------------------------------------------------------------------------------------------------
|
|
PROC mission_flow()
|
|
Switch int_to_enum(MSF_MISSION_STAGE_FLAGS, mission_stage)
|
|
|
|
case STAGE_0_WAIT_FOR_STAGE
|
|
ST_0_WAIT_FOR_STAGE()
|
|
break
|
|
case STAGE_1_RUN_THROUGH_SHOTS
|
|
bPlayThrough = true
|
|
bDoSkip = true
|
|
iSkipToStage = ENUM_TO_INT(STAGE_2_OBSERVATORY_SHOT)
|
|
break
|
|
|
|
case STAGE_2_OBSERVATORY_SHOT st_2_OBSERVATORY_SHOT() break
|
|
case STAGE_2_OBSERVATORY_SHOT_alt ST_2_OBSERVATORY_SHOT_ALT() break
|
|
case STAGE_3_FAM2_INT_P1 ST_3_FAM2_INT_P1() break
|
|
case STAGE_4_DRIVEWAY_SHOT ST_4_DRIVEWAY_SHOT() break
|
|
case STAGE_5_FAM1_INT_P1 ST_5_FAM1_INT_P1() break
|
|
case STAGE_6_CITY_TRAIN_SHOT ST_6_CITY_TRAIN_SHOT() break
|
|
case STAGE_7_COUNTRY_SCAPE_SHOT ST_7_COUNTRY_SCAPE_SHOT() break
|
|
case STAGE_8_LIQUOR_ACE_SHOT ST_8_LIQUOR_ACE_SHOT() break
|
|
case STAGE_9_TREV1_MCS3_P2_A ST_9_TREV1_MCS3_P2_A() break
|
|
case STAGE_10_CHIN1_INT_P2 ST_10_CHIN1_INT_P2() break
|
|
case STAGE_11_TREV1_MCS3_P2_B ST_11_TREV1_MCS3_P2_B() break
|
|
case STAGE_12_CHIN1_MCS4 ST_12_CHIN1_MCS4() break
|
|
case STAGE_13_DOCKS_BRIDGE_SHOT ST_13_DOCKS_BRIDGE_SHOT() break
|
|
case STAGE_13_DOCKS_BRIDGE_SHOT_ALT ST_13_DOCKS_BRIDGE_SHOT_ALT ()break
|
|
case STAGE_14_GHETTO_TRAIN_SHOT ST_14_GHETTO_TRAIN_SHOT() break
|
|
case STAGE_15_ARM1_INT_P3 ST_15_ARM1_INT_P3() break
|
|
case STAGE_16_FRA2_INT_P2 ST_16_FRA2_INT_P2() break
|
|
case STAGE_17_ARM1_INT_P4 ST_17_ARM1_INT_P4() break
|
|
case STAGE_17_ARM1_INT_P4_ALT ST_17_ARM1_INT_P4_ALT() break
|
|
case STAGE_18_ARM1_INT_P1 ST_18_ARM1_INT_P1() break
|
|
case STAGE_19_FAM5_MCS5 ST_19_FAM5_MCS5() break
|
|
case STAGE_20_TREV1_INT_P4 ST_20_TREV1_INT_P4() break
|
|
case STAGE_21_FBI2_MCS1_P1 ST_21_FBI2_MCS1_P1() break
|
|
case STAGE_22_FIN_EXT_P2 ST_22_FIN_EXT_P2() break
|
|
case STAGE_23_FINAL_SHOT ST_23_FINAL_SHOT() break
|
|
case STAGE_23_FINAL_SHOT_ALT ST_23_FINAL_SHOT_ALT() break
|
|
//action shots
|
|
case AS_BUGGY AST_BUGGY() break
|
|
case AS_TREV_MOL AST_TREV_MOL() break
|
|
case AS_FIRE_TRAIL AST_FIRE_TRAIL() break
|
|
case AS_BARN_BOOM AST_BARN_BLOW() break
|
|
case AS_VAULT_EXP AST_VAULT_EXP() break
|
|
case AS_PRO_BLAST AST_PRO_BLAST() break
|
|
case AS_CAR_SLIDE AST_SLIDE_CAR() break
|
|
case AS_CHOP_ON_CAR AST_CHOP_CAR() break
|
|
case AS_FRANK_BIKE_EXP AST_BIKE_EXP() break
|
|
case AS_JET_FIGHT AST_JET_FIGHT() break
|
|
// Mission launching
|
|
case AS_LAUNCH_ARM1 LNCH_ARM_1() break
|
|
case AS_LAUNCH_CAR_STEAL_3 LNCH_CAR_STEAL_3() break
|
|
case AS_LAUNCH_CAR_STEAL_FINALE LNCH_CAR_STEAL_FINALE() break
|
|
case AS_LAUNCH_EXILE_1 LNCH_EXILE_1() break
|
|
case AS_LAUNCH_EXILE_3 LNCH_EXILE_3() break
|
|
case AS_LAUNCH_FAMILY_1 LNCH_FAM_1() break
|
|
case AS_LAUNCH_FBI_2 LNCH_FBI2() break
|
|
case AS_LAUNCH_FRANK_1 LNCH_FRANK_1() break
|
|
case AS_LAUNCH_JEWEL_2A LNCH_JEWEL_HEIST_2A() break
|
|
case AS_LAUNCH_OFFROAD_RACE_1 LNCH_Offroad_1() break
|
|
case AS_LAUNCH_TREV2 LNCH_TREV_2() break
|
|
|
|
endswitch
|
|
ENDPROC
|
|
Proc trailer_checks()
|
|
|
|
//death check
|
|
int i
|
|
for i = 0 to enum_to_int(MPF_NUM_OF_PEDS) -1
|
|
if DOES_ENTITY_EXIST(peds[i].id)
|
|
if IS_PED_INJURED(peds[i].id)
|
|
SET_PED_AS_NO_LONGER_NEEDED(peds[i].id)
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
for i = 0 to enum_to_int(MVF_NUM_OF_VEH) -1
|
|
if DOES_ENTITY_EXIST(vehs[i].id)
|
|
if not IS_VEHICLE_DRIVEABLE(vehs[i].id)
|
|
SET_VEHICLE_AS_NO_LONGER_NEEDED(vehs[i].id)
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
//
|
|
CONTROL_GAS_TRAILS()
|
|
|
|
IF IS_KEYBOARD_KEY_JUST_PRESSED(KEY_P)
|
|
if bresetScene
|
|
bresetScene = false
|
|
else
|
|
bresetScene = true
|
|
endif
|
|
ENDIF
|
|
|
|
if mission_stage > enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
and bWideScreen
|
|
and not bDrawMenu
|
|
DRAW_RECT_FROM_CORNER(0,0,1,0.1,0,0,0,255)
|
|
DRAW_RECT_FROM_CORNER(0,0.9,1,0.1,0,0,0,255)
|
|
endif
|
|
IF bHighDofOn
|
|
SET_USE_HI_DOF()
|
|
ENDIF
|
|
|
|
IF mission_stage <> enum_to_int(STAGE_0_WAIT_FOR_STAGE)
|
|
AND mission_Stage <> enum_to_int(STAGE_1_RUN_THROUGH_SHOTS)
|
|
AND bDisplayTitles
|
|
IF GET_GAME_TIMER() - iTitlesTimer < 2500
|
|
DISPLAY_TEXT_WITH_LITERAL_STRING(0.05, 0.04, "STRING", zMenuNames[mission_stage].sTxtLabel)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
if DOES_CAM_EXIST(cameraIndex)
|
|
vCamPOS = GET_CAM_COORD(cameraIndex)
|
|
vCamROT = GET_CAM_ROT(cameraIndex)
|
|
fCamFOV = GET_CAM_FOV(cameraIndex)
|
|
else
|
|
vCamPOS = <<0,0,0>>
|
|
fCamFOV =0
|
|
endif
|
|
if DOES_CAM_EXIST(GET_DEBUG_CAM())
|
|
vdebugcamPOS= GET_CAM_COORD(GET_DEBUG_CAM())
|
|
vdebugCamROT= get_cam_rot(GET_DEBUG_CAM())
|
|
fdebugcamFOV= GET_CAM_FOV(GET_DEBUG_CAM())
|
|
endif
|
|
|
|
if bClearArea
|
|
bClearArea = false
|
|
CLEAR_AREA(GET_ENTITY_COORDS(player_ped_id()),500,true)
|
|
endif
|
|
|
|
DISPLAY_RADAR(FALSE)
|
|
DISPLAY_HUD(FALSE)
|
|
|
|
SET_PED_DENSITY_MULTIPLIER_THIS_FRAME(fPedDensity)
|
|
SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(fTrafficDensity)
|
|
|
|
if IS_CURRENTLY_ON_MISSION_OF_ANY_TYPE()
|
|
bDrawMenu = false
|
|
SET_PLAYER_CONTROL(player_id(),true)
|
|
SET_ENTITY_INVINCIBLE(player_ped_id(),false)
|
|
SET_ENTITY_VISIBLE(PLAYER_PED_ID(), TRUE)
|
|
else
|
|
if bplayerControl
|
|
SET_PLAYER_CONTROL(player_id(),true)
|
|
SET_ENTITY_VISIBLE(PLAYER_PED_ID(), TRUE)
|
|
else
|
|
SET_PLAYER_CONTROL(player_id(),false)
|
|
endif
|
|
SET_ENTITY_INVINCIBLE(player_ped_id(),true)
|
|
endif
|
|
|
|
if mission_stage = enum_to_int(AS_LAUNCH_FBI_2)
|
|
SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(4)
|
|
SET_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(4)
|
|
SET_AMBIENT_VEHICLE_RANGE_MULTIPLIER_THIS_FRAME(4)
|
|
endif
|
|
|
|
OVERRIDE_LODSCALE_THIS_FRAME(fLODscale)
|
|
g_bTrailer2Active = true
|
|
endproc
|
|
// ===========================================================================================================
|
|
// Script Loop
|
|
// ===========================================================================================================
|
|
|
|
SCRIPT
|
|
|
|
PRINTSTRING("...Trailer 2 Launched")
|
|
PRINTNL()
|
|
|
|
NETWORK_SET_SCRIPT_IS_SAFE_FOR_NETWORK_GAME()
|
|
|
|
IF HAS_FORCE_CLEANUP_OCCURRED(FORCE_CLEANUP_FLAG_DEBUG_MENU)
|
|
PRINTSTRING("...Trailer 2 clean up")
|
|
Mission_Cleanup(true)
|
|
ENDIF
|
|
|
|
// SET_MISSION_FLAG(TRUE)
|
|
|
|
MISSION_SETUP()
|
|
|
|
WHILE (TRUE)
|
|
|
|
Mission_stage_management()
|
|
MISSION_STAGE_SKIP()
|
|
mission_flow()
|
|
trailer_checks()
|
|
|
|
IF IS_KEYBOARD_KEY_JUST_PRESSED(KEY_F)
|
|
IF NOT IS_CURRENTLY_ON_MISSION_OF_ANY_TYPE()
|
|
Mission_Cleanup(true)
|
|
endif
|
|
ENDIF
|
|
if not IsEntityAlive(player_ped_id())
|
|
Mission_Cleanup(true)
|
|
endif
|
|
|
|
WAIT(0)
|
|
ENDWHILE
|
|
|
|
|
|
// Script should never reach here. Always terminate with cleanup function.
|
|
ENDSCRIPT
|
|
|
|
#ENDIF
|
|
|