Files
gtav-src/script/dev_ng/singleplayer/scripts/missions/Finale/Finale_Credits.sc
T
2025-09-29 00:52:08 +02:00

3102 lines
105 KiB
Python
Executable File

//
// Author: Ross Wallace Date: 04/10/12
//
//
// Finale Strand - GTA V Credits
//
//
//Compile out Title Update changes to header functions.
//Must be before includes.
//CONST_INT USE_TU_CHANGES 0 // Removed by Kenneth R.
USING "rage_builtins.sch"
USING "globals.sch"
USING "commands_camera.sch"
USING "commands_pad.sch"
USING "commands_script.sch"
USING "cutscene_public.sch"
USING "flow_public_core_override.sch"
USING "script_misc.sch"
PROC Credits_Cleanup()
SET_CREDITS_ACTIVE(FALSE)
CPRINTLN(DEBUG_FLOW, "<CREDITS> Credits script ended.")
TERMINATE_THIS_THREAD()
ENDPROC
//PURPOSE: Starts or stops a cutscene. If TRUE is passed TIMERA() is set to Zero
PROC SET_CUTSCENE_RUNNING(BOOL isRunning, BOOL doGameCamInterp = FALSE, INT durationFromInterp = 2000, BOOL turnOffGadgets = TRUE)
// SET_USE_HIGHDOF(isRunning)removed
SET_WIDESCREEN_BORDERS(isRunning,0)
IF turnOffGadgets = TRUE
SET_PLAYER_CONTROL(PLAYER_ID(), (NOT isRunning), SPC_DEACTIVATE_GADGETS)
ELSE
SET_PLAYER_CONTROL(PLAYER_ID(), (NOT isRunning))
ENDIF
RENDER_SCRIPT_CAMS(isRunning, doGameCamInterp, durationFromInterp)
CLEAR_HELP(TRUE)
CLEAR_PRINTS()
SET_SCRIPTS_SAFE_FOR_CUTSCENE(isRunning)
DISABLE_CELLPHONE(isRunning)
DISPLAY_HUD(NOT isRunning)
DISPLAY_RADAR(NOT isRunning)
ENDPROC
PROC Credits_Finished()
REMOVE_IPL("prologue01")
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("prologue01z")
REMOVE_IPL("prologue02")
REMOVE_IPL("prologue03")
REMOVE_IPL("prologue03b")
REMOVE_IPL("prologue04")
REMOVE_IPL("prologue04b")
REMOVE_IPL("prologue05")
REMOVE_IPL("prologue05b")
REMOVE_IPL("prologue06")
REMOVE_IPL("prologue06b")
REMOVE_IPL("prologuerd")
REQUEST_IPL("prologuerdb")
REMOVE_IPL("prologue_occl")
SET_ROADS_IN_ANGLED_AREA(<<5526.240234,-5137.229980,61.789253>>, <<3679.326660,-4973.879395,125.082840>>, 192.0, FALSE, TRUE)
SET_ROADS_IN_ANGLED_AREA(<<3691.211426,-4941.240234,94.593681>>, <<3511.115479,-4869.191406,126.762108>>, 16.0, FALSE, TRUE)
SET_ROADS_IN_ANGLED_AREA(<<3510.004395,-4865.810059,94.695572>>, <<3204.424316,-4833.816895,126.815216>>, 16.0, FALSE, TRUE)
SET_ROADS_IN_ANGLED_AREA(<<3186.533691,-4832.797852,109.814827>>, <<3202.187256,-4833.993164,114.814995>>, 16.0, FALSE, TRUE)
// Rob - 2085088 - necessary to avoid blowing pool with NEW_LOAD_SCENE below
RENDER_SCRIPT_CAMS(FALSE, FALSE)
WAIT(0)
IF NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
FREEZE_ENTITY_POSITION(PLAYER_PED_ID(), FALSE)
SET_ENTITY_INVINCIBLE(PLAYER_PED_ID(), FALSE)
SET_ENTITY_VISIBLE(PLAYER_PED_ID(), TRUE)
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<-1579.2450, 5162.3467, 18.7032>>)
SET_ENTITY_HEADING(PLAYER_PED_ID(), 187.9143)
SET_ENABLE_SCUBA(PLAYER_PED_ID(), FALSE)
ENDIF
SET_MOBILE_RADIO_ENABLED_DURING_GAMEPLAY(FALSE)
SET_MOBILE_PHONE_RADIO_STATE(FALSE)
CLEAR_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK")
SKIP_RADIO_FORWARD()
//LOAD_SCENE(<<-1579.2450, 5162.3467, 18.7032>>)
// Rob - 2085088 - replace with NEW_LOAD_SCENE
INT iTimeOutLoadScene = GET_GAME_TIMER() + 5000
NEW_LOAD_SCENE_START_SPHERE(<<-1579.2450, 5162.3467, 18.7032>>, 150)
WHILE GET_GAME_TIMER() < iTimeOutLoadScene
AND NOT IS_NEW_LOAD_SCENE_LOADED()
WAIT(0)
ENDWHILE
IF IS_NEW_LOAD_SCENE_ACTIVE()
NEW_LOAD_SCENE_STOP()
ENDIF
PAUSE_CLOCK(FALSE)
SET_CREDITS_ACTIVE(FALSE)
//CPRINTLN(DEBUG_FLOW, "<CREDITS> Credits ending due to pad skip.")
SET_CUTSCENE_RUNNING(FALSE)
SET_MAX_WANTED_LEVEL(5)
//SET_INTERIOR_CAPPED(INTERIOR_V_RECYCLE, TRUE)
SET_CREDITS_FADE_OUT_WITH_SCREEN(FALSE)
SET_TIME_SCALE(1.0)
g_bFinaleCreditsPlaylistStarted = FALSE
TRIGGER_MISSION_STATS_UI(TRUE)
MISSION_FLOW_MISSION_PASSED()
Credits_Cleanup()
ENDPROC
ENUM STAGE_CREDITS_FLOW
STAGE_INIT,
STAGE_UPDATE,
STAGE_CLEANUP
ENDENUM
STAGE_CREDITS_FLOW eCreditsStage = STAGE_INIT
ENUM CREDITS_CAMERA_SHOTS
SHOT_OPENING, //0
SHOT_NORTH_YANKTON, //1
SHOT_GOLF_COURSE, //2
SHOT_EXTRA_NG_DOCKS, //3
SHOT_VINEYARD, //4
SHOT_LIGHTHOUSE, //5
SHOT_SALVATION_MOUNTAIN, //6
SHOT_LAKE, //7
SHOT_BEACH, //8
SHOT_DINO, //9
SHOT_UNDERWATER, //10
SHOT_TUNNELS, //11
SHOT_RECYCLE_YARD, //12
SHOT_SATELITES, //13
SHOT_EXTRA_NG_SALTON_SEA, //14
SHOT_AIRPORT, //15
SHOT_SUNSET_BLVD, //16
SHOT_AIRPORT_RUNWAY, //17
SHOT_PIER, //18
SHOT_ABOVE_BRIDGE, //19
SHOT_PALETO_BAY, //20
SHOT_THROUGH_CANYON, //21
SHOT_WINDMILLS, //22
SHOT_COVERED_BRIDGE, //23
SHOT_STORM_DRAIN, //24
SHOT_EXTRA_NG_FREEWAY, //25
SHOT_VINEWOOD_BLVD, //26
SHOT_PALETO, //27
SHOT_VINEWOOD_SIGN, //28
SHOT_EXTA_NG_DAM_SHOT, //29
SHOT_LS_THUNDER, //30
SHOT_EXTRA_NG_SANTA_MONICA, //31
SHOT_ENDSUNSET, //32
SHOT_LAMAR1, //33
SHOT_END, //34
SHOT_NO_MORE
ENDENUM
CREDITS_CAMERA_SHOTS eCameraShots = SHOT_OPENING//SHOT_OPENING //SHOT_OPENING
CAMERA_INDEX cam_main
INT i_current_event
INT i_PCExtraTime = 0
PROC CHANGE_SHOT()
PRINTLN("CREDITS: CHANGING SHOT: ", ENUM_TO_INT(eCameraShots))
DO_SCREEN_FADE_OUT(5000)
i_current_event = 0
ENDPROC
PROC FADE_IN_IF_NEEDED()
IF IS_SCREEN_FADED_OUT()
DO_SCREEN_FADE_IN(5000)
ENDIF
ENDPROC
MODEL_NAMES mnCopPedModel = S_M_Y_SHERIFF_01
MODEL_NAMES mnCopCarModel = SHERIFF
STRUCT SET_PIECE_COP
VEHICLE_INDEX thisCar
PED_INDEX thisDriver
PED_INDEX thisPassenger
PED_INDEX thisPassenger2
BLIP_INDEX blipDriver
BLIP_INDEX blipPassenger
ENDSTRUCT
SET_PIECE_COP setpieceIniitalCops1
SET_PIECE_COP setpieceIniitalCops2
SET_PIECE_COP setpieceIniitalCops3
SET_PIECE_COP setpieceIniitalCops4
SET_PIECE_COP setpieceIniitalCops5
PROC INIT_SET_PIECE_COP_CAR(SET_PIECE_COP &thisSetpiece, MODEL_NAMES carModel, INT iRec, STRING stRec, VEHICLE_SEAT passSeat = VS_FRONT_RIGHT, FLOAT fSkipTime = 3000.0, FLOAT fPlayBackSpeed = 1.0, MODEL_NAMES mnOveride = DUMMY_MODEL_FOR_SCRIPT, BOOL bOnlyDamagedByPlayer = FALSE)
MODEL_NAMES thisPedModel
IF (mnOveride = DUMMY_MODEL_FOR_SCRIPT)
thisPedModel = mnCopPedModel //Set a default value
IF carModel = BARRACKS
OR carModel = CRUSADER
OR carModel = CARGOBOB
OR carModel = RHINO
thisPedModel = S_M_Y_Marine_03
ENDIF
IF carModel = mnCopCarModel
OR carModel = PRANGER
OR carModel = POLMAV
thisPedModel = mnCopPedModel
ENDIF
ELSE
thisPedModel = mnOveride
ENDIF
thisSetpiece.thisCar = CREATE_VEHICLE(carModel, <<0.0, 0.0, 0.0>>)
SET_VEHICLE_ENGINE_ON(thisSetpiece.thisCar, TRUE, TRUE)
SET_VEHICLE_SIREN(thisSetpiece.thisCar, TRUE)
//SET_SIREN_WITH_NO_DRIVER(thisSetpiece.thisCar, TRUE)
thisSetpiece.thisDriver = CREATE_PED_INSIDE_VEHICLE(thisSetpiece.thisCar, PEDTYPE_COP, thisPedModel )
SET_ENTITY_ONLY_DAMAGED_BY_PLAYER(thisSetpiece.thisDriver, bOnlyDamagedByPlayer)
SET_PED_CAN_BE_TARGETTED(thisSetpiece.thisDriver, TRUE)
SET_PED_CONFIG_FLAG(thisSetpiece.thisDriver, PCF_AllowToBeTargetedInAVehicle, TRUE)
IF NOT (carModel = RHINO)
IF (carModel = RIOT)
thisSetpiece.thisPassenger = CREATE_PED_INSIDE_VEHICLE(thisSetpiece.thisCar, PEDTYPE_COP, thisPedModel, VS_BACK_LEFT )
thisSetpiece.thisPassenger2 = CREATE_PED_INSIDE_VEHICLE(thisSetpiece.thisCar, PEDTYPE_COP, thisPedModel, VS_BACK_RIGHT )
ELSE
thisSetpiece.thisPassenger = CREATE_PED_INSIDE_VEHICLE(thisSetpiece.thisCar, PEDTYPE_COP, thisPedModel, passSeat )
ENDIF
ELSE
SET_VEHICLE_CAN_BE_TARGETTED(thisSetpiece.thisCar, FALSE)
ENDIF
START_PLAYBACK_RECORDED_VEHICLE_WITH_FLAGS(thisSetpiece.thisCar, iRec, stRec, ENUM_TO_INT(SWITCH_ON_PLAYER_VEHICLE_IMPACT))
SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(thisSetpiece.thisCar, fSkipTime)
IF carModel = CARGOBOB
OR carModel = POLMAV
SET_HELI_BLADES_FULL_SPEED(thisSetpiece.thisCar)
ENDIF
SET_PLAYBACK_SPEED(thisSetpiece.thisCar, fPlayBackSpeed)
IF DOES_ENTITY_EXIST(thisSetpiece.thisPassenger)
IF NOT (carModel = RHINO)
SET_PED_CAN_BE_TARGETTED(thisSetpiece.thisPassenger, TRUE)
SET_PED_CONFIG_FLAG(thisSetpiece.thisPassenger, PCF_AllowToBeTargetedInAVehicle, TRUE)
ENDIF
ENDIF
IF DOES_ENTITY_EXIST(thisSetpiece.thisPassenger2)
IF NOT (carModel = RHINO)
SET_PED_CAN_BE_TARGETTED(thisSetpiece.thisPassenger2, TRUE)
SET_PED_CONFIG_FLAG(thisSetpiece.thisPassenger2, PCF_AllowToBeTargetedInAVehicle, TRUE)
ENDIF
SET_ENTITY_ONLY_DAMAGED_BY_PLAYER(thisSetpiece.thisPassenger2, bOnlyDamagedByPlayer)
ENDIF
SET_ENTITY_PROOFS(thisSetpiece.thisCar, FALSE, FALSE, FALSE, TRUE, FALSE)
REMOVE_VEHICLE_RECORDING(iRec, stRec) //Test, hopefully this will be held in memory when needed and then auto cleaned up this way.
IF thisPedModel = mnCopPedModel
IF NOT IS_PED_INJURED(thisSetpiece.thisDriver)
GIVE_WEAPON_TO_PED(thisSetpiece.thisDriver, WEAPONTYPE_PISTOL, INFINITE_AMMO, TRUE)
SET_PED_PROP_INDEX(thisSetpiece.thisDriver, INT_TO_ENUM(PED_PROP_POSITION,1), GET_RANDOM_INT_IN_RANGE(0, 2), 0)
SET_PED_PROP_INDEX(thisSetpiece.thisDriver, INT_TO_ENUM(PED_PROP_POSITION,0), GET_RANDOM_INT_IN_RANGE(0, 1), 0)
IF GET_RANDOM_BOOL()
CLEAR_PED_PROP(thisSetpiece.thisDriver, INT_TO_ENUM(PED_PROP_POSITION,0))
ELSE
CLEAR_PED_PROP(thisSetpiece.thisDriver, INT_TO_ENUM(PED_PROP_POSITION,1))
ENDIF
SET_PED_COMPONENT_VARIATION(thisSetpiece.thisDriver, INT_TO_ENUM(PED_COMPONENT,9), 2, 0, 0) //(task)
ENDIF
IF NOT IS_PED_INJURED(thisSetpiece.thisPassenger)
GIVE_WEAPON_TO_PED(thisSetpiece.thisPassenger, WEAPONTYPE_PUMPSHOTGUN, INFINITE_AMMO, TRUE)
SET_PED_PROP_INDEX(thisSetpiece.thisPassenger, INT_TO_ENUM(PED_PROP_POSITION,1), GET_RANDOM_INT_IN_RANGE(0, 2), 0)
SET_PED_PROP_INDEX(thisSetpiece.thisPassenger, INT_TO_ENUM(PED_PROP_POSITION,0), GET_RANDOM_INT_IN_RANGE(0, 1), 0)
IF GET_RANDOM_BOOL()
CLEAR_PED_PROP(thisSetpiece.thisPassenger, INT_TO_ENUM(PED_PROP_POSITION,0))
ELSE
CLEAR_PED_PROP(thisSetpiece.thisPassenger, INT_TO_ENUM(PED_PROP_POSITION,1))
ENDIF
SET_PED_COMPONENT_VARIATION(thisSetpiece.thisPassenger, INT_TO_ENUM(PED_COMPONENT,9), 2, 0, 0) //(task)
ENDIF
ELSE
IF NOT IS_PED_INJURED(thisSetpiece.thisDriver)
GIVE_WEAPON_TO_PED(thisSetpiece.thisDriver, WEAPONTYPE_CARBINERIFLE, INFINITE_AMMO, TRUE)
IF carModel = CRUSADER
SET_PED_ACCURACY(thisSetpiece.thisDriver, 1)
SET_PED_CHANCE_OF_FIRING_BLANKS(thisSetpiece.thisDriver, 0.6, 0.6)
ENDIF
ENDIF
IF DOES_ENTITY_EXIST(thisSetpiece.thisPassenger)
GIVE_WEAPON_TO_PED(thisSetpiece.thisPassenger, WEAPONTYPE_CARBINERIFLE, INFINITE_AMMO, TRUE)
//SET_PED_PROP_INDEX(thisSetpiece.thisPassenger, ANCHOR_HEAD, 0)
SET_PED_COMPONENT_VARIATION(thisSetpiece.thisPassenger, INT_TO_ENUM(PED_COMPONENT,2), 1, 0, 0) //(hair)
SET_ENTITY_ONLY_DAMAGED_BY_PLAYER(thisSetpiece.thisPassenger, bOnlyDamagedByPlayer)
IF carModel = CRUSADER
SET_PED_ACCURACY(thisSetpiece.thisPassenger, 1)
SET_PED_CHANCE_OF_FIRING_BLANKS(thisSetpiece.thisPassenger, 0.6, 0.6)
ENDIF
ENDIF
IF DOES_ENTITY_EXIST(thisSetpiece.thisPassenger2)
GIVE_WEAPON_TO_PED(thisSetpiece.thisPassenger2, WEAPONTYPE_CARBINERIFLE, INFINITE_AMMO, TRUE)
//SET_PED_PROP_INDEX(thisSetpiece.thisPassenger2, ANCHOR_HEAD, 0)
SET_PED_COMPONENT_VARIATION(thisSetpiece.thisPassenger2, INT_TO_ENUM(PED_COMPONENT,2), 1, 0, 0) //(hair)
IF carModel = CRUSADER
SET_PED_ACCURACY(thisSetpiece.thisPassenger2, 1)
SET_PED_CHANCE_OF_FIRING_BLANKS(thisSetpiece.thisPassenger2, 0.6, 0.6)
ENDIF
ENDIF
//SET_PED_PROP_INDEX(thisSetpiece.thisDriver, ANCHOR_HEAD, 0)
SET_PED_COMPONENT_VARIATION(thisSetpiece.thisDriver, INT_TO_ENUM(PED_COMPONENT,2), 1, 0, 0) //(hair)
ENDIF
#IF IS_DEBUG_BUILD
TEXT_LABEL_63 debugName = stRec
debugName += iRec
SET_VEHICLE_NAME_DEBUG(thisSetpiece.thisCar, debugName)
debugName += " Drv"
SET_PED_NAME_DEBUG(thisSetpiece.thisDriver, debugName)
IF DOES_ENTITY_EXIST(thisSetpiece.thisPassenger)
debugName = stRec
debugName += iRec
debugName += " Pass"
SET_PED_NAME_DEBUG(thisSetpiece.thisPassenger, debugName)
ENDIF
IF DOES_ENTITY_EXIST(thisSetpiece.thisPassenger2)
debugName = stRec
debugName += iRec
debugName += " PassTWO"
SET_PED_NAME_DEBUG(thisSetpiece.thisPassenger2, debugName)
ENDIF
PRINTLN("INIT SET PIECE COP CAR: ", GET_MODEL_NAME_FOR_DEBUG(carModel))
#ENDIF
ENDPROC
VEHICLE_INDEX CopCarsParked[2]
PED_INDEX pedsCopsOutsideBank[7]
SELECTOR_PED_STRUCT pedSelector
PROC CREATE_COP_CARS_HOLD_OFF_COPS_AT_BANK()
INT i
CopCarsParked[0] = CREATE_VEHICLE(mnCopCarModel, << -102.6380, 6442.3481, 30.4864 >> , 11.6552)
CopCarsParked[1] = CREATE_VEHICLE(mnCopCarModel, << -126.5993, 6447.2339, 30.2360 >>, 4.0486)
pedsCopsOutsideBank[0] = CREATE_PED(PEDTYPE_MISSION, mnCopPedModel , <<-114.8641, 6438.6440, 30.5844>>, 301.4686)
pedsCopsOutsideBank[1] = CREATE_PED(PEDTYPE_COP, mnCopPedModel , <<-143.5829, 6462.7627, 30.4849>>, 227.6863)
pedsCopsOutsideBank[2] = CREATE_PED(PEDTYPE_COP, mnCopPedModel , <<-116.9066, 6439.1030, 30.6178>>, 21.3333 )
pedsCopsOutsideBank[3] = CREATE_PED(PEDTYPE_COP, mnCopPedModel , << -101.9852, 6439.2788, 30.3229 >>, 73.7334)
pedsCopsOutsideBank[4] = CREATE_PED(PEDTYPE_COP, mnCopPedModel , << -101.5087, 6443.3774, 30.4827 >> , 78.4434)
pedsCopsOutsideBank[5] = CREATE_PED(PEDTYPE_COP, mnCopPedModel ,<< -128.2090, 6447.4385, 30.5076 >>, 324.2866)
pedsCopsOutsideBank[6] = CREATE_PED(PEDTYPE_COP, mnCopPedModel , << -126.8094, 6444.1953, 30.5353 >>, 310.5773)
FOR i = 0 TO 2 - 1
IF DOES_ENTITY_EXIST(CopCarsParked[i])
SET_VEHICLE_SIREN(CopCarsParked[i], TRUE)
SET_SIREN_WITH_NO_DRIVER(CopCarsParked[i], TRUE)
SET_VEHICLE_DOORS_LOCKED(CopCarsParked[i], VEHICLELOCK_LOCKED)
//SET_ENTITY_HEALTH(CopCarsParked[i], 150)
TEXT_LABEL_63 debugCarName = "CopCar "
debugCarName += i
SET_VEHICLE_ON_GROUND_PROPERLY(CopCarsParked[i])
SET_VEHICLE_NAME_DEBUG(CopCarsParked[i], debugCarName)
ENDIF
ENDFOR
FOR i = 0 TO 7 - 1
IF DOES_ENTITY_EXIST(pedsCopsOutsideBank[i])
TEXT_LABEL_63 debugPedName = "CopPed "
debugPedName += i
SET_PED_NAME_DEBUG(pedsCopsOutsideBank[i], debugPedName)
SET_ENTITY_ONLY_DAMAGED_BY_PLAYER(pedsCopsOutsideBank[i], TRUE)
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedsCopsOutsideBank[i], FALSE)
TASK_COMBAT_PED(pedsCopsOutsideBank[i], pedSelector.pedID[SELECTOR_PED_TREVOR])
GIVE_WEAPON_TO_PED(pedsCopsOutsideBank[i], WEAPONTYPE_PISTOL, INFINITE_AMMO, TRUE, TRUE)
TASK_AIM_GUN_AT_COORD(pedsCopsOutsideBank[i], << -113.4377, 6460.4385, 30.4685>>, 7500, TRUE)
FORCE_PED_AI_AND_ANIMATION_UPDATE(pedsCopsOutsideBank[i], TRUE)
SET_PED_KEEP_TASK(pedsCopsOutsideBank[i], TRUE)
SET_PED_RESET_FLAG(pedsCopsOutsideBank[i], PRF_InstantBlendToAim, TRUE)
//Random shades
SET_PED_PROP_INDEX(pedsCopsOutsideBank[i], INT_TO_ENUM(PED_PROP_POSITION,1), GET_RANDOM_INT_IN_RANGE(0, 2), 0)
SET_PED_PROP_INDEX(pedsCopsOutsideBank[i], INT_TO_ENUM(PED_PROP_POSITION,0), GET_RANDOM_INT_IN_RANGE(0, 1), 0)
IF GET_RANDOM_BOOL()
CLEAR_PED_PROP(pedsCopsOutsideBank[i], INT_TO_ENUM(PED_PROP_POSITION,0))
ELSE
CLEAR_PED_PROP(pedsCopsOutsideBank[i], INT_TO_ENUM(PED_PROP_POSITION,1))
ENDIF
ENDIF
ENDFOR
SET_PED_COMPONENT_VARIATION(pedsCopsOutsideBank[5], INT_TO_ENUM(PED_COMPONENT,0), 1, 0, 0) //(head)
SET_PED_COMPONENT_VARIATION(pedsCopsOutsideBank[5], INT_TO_ENUM(PED_COMPONENT,3), 1, 0, 0) //(uppr)
SET_PED_COMPONENT_VARIATION(pedsCopsOutsideBank[5], INT_TO_ENUM(PED_COMPONENT,4), 0, 0, 0) //(lowr)
SET_PED_COMPONENT_VARIATION(pedsCopsOutsideBank[5], INT_TO_ENUM(PED_COMPONENT,5), 1, 0, 0) //(hand)
SET_PED_COMPONENT_VARIATION(pedsCopsOutsideBank[5], INT_TO_ENUM(PED_COMPONENT,9), 0, 0, 0) //(task)
SET_PED_PROP_INDEX(pedsCopsOutsideBank[5], INT_TO_ENUM(PED_PROP_POSITION,0), 1, 0)
SET_PED_COMPONENT_VARIATION(pedsCopsOutsideBank[6], INT_TO_ENUM(PED_COMPONENT,0), 0, 0, 0) //(head)
SET_PED_COMPONENT_VARIATION(pedsCopsOutsideBank[6], INT_TO_ENUM(PED_COMPONENT,3), 0, 0, 0) //(uppr)
SET_PED_COMPONENT_VARIATION(pedsCopsOutsideBank[6], INT_TO_ENUM(PED_COMPONENT,4), 0, 0, 0) //(lowr)
SET_PED_COMPONENT_VARIATION(pedsCopsOutsideBank[6], INT_TO_ENUM(PED_COMPONENT,5), 0, 0, 0) //(hand)
SET_PED_COMPONENT_VARIATION(pedsCopsOutsideBank[6], INT_TO_ENUM(PED_COMPONENT,9), 0, 0, 0) //(task)
SET_PED_PROP_INDEX(pedsCopsOutsideBank[6], INT_TO_ENUM(PED_PROP_POSITION,1), 1, 0)
//Moving cop cars
INIT_SET_PIECE_COP_CAR(setpieceIniitalCops1, SHERIFF, 1, "RBHINitial", VS_FRONT_RIGHT, 1000, 1.0, DUMMY_MODEL_FOR_SCRIPT, TRUE)
INIT_SET_PIECE_COP_CAR(setpieceIniitalCops2, SHERIFF, 2, "RBHINitial", VS_FRONT_RIGHT, 0000, 0.9, DUMMY_MODEL_FOR_SCRIPT, TRUE)
INIT_SET_PIECE_COP_CAR(setpieceIniitalCops3, SHERIFF, 3, "RBHINitial", VS_FRONT_RIGHT, 0000, 1.0, DUMMY_MODEL_FOR_SCRIPT, TRUE)
INIT_SET_PIECE_COP_CAR(setpieceIniitalCops4, SHERIFF, 7, "RBHINitial", VS_FRONT_RIGHT, 0000, 1.0, DUMMY_MODEL_FOR_SCRIPT, TRUE)
INIT_SET_PIECE_COP_CAR(setpieceIniitalCops5, SHERIFF, 6, "RBHINitial", VS_FRONT_RIGHT, 7000, 1.0, DUMMY_MODEL_FOR_SCRIPT, TRUE)
FORCE_PLAYBACK_RECORDED_VEHICLE_UPDATE(setpieceIniitalCops5.thisCar)
SET_VEHICLE_CAN_BE_TARGETTED(setpieceIniitalCops1.thisCar, FALSE)
SET_ENTITY_IS_TARGET_PRIORITY(setpieceIniitalCops1.thisCar, FALSE)
SET_VEHICLE_CAN_BE_TARGETTED(setpieceIniitalCops3.thisCar, FALSE)
SET_ENTITY_IS_TARGET_PRIORITY(setpieceIniitalCops3.thisCar, FALSE)
SET_VEHICLE_CAN_BE_TARGETTED(setpieceIniitalCops5.thisCar, FALSE)
SET_ENTITY_IS_TARGET_PRIORITY(setpieceIniitalCops5.thisCar, FALSE)
ENDPROC
PROC REQUEST_STAGE_ASSETS(CREDITS_CAMERA_SHOTS thisShot)
PRINTLN("Credits: REQUESTING ASSETS FOR SHOT: ", ENUM_TO_INT(thisShot))
SWITCH thisShot
CASE SHOT_OPENING
//REQUEST_MODEL(mnGoonModel)
BREAK
CASE SHOT_ABOVE_BRIDGE
BREAK
CASE SHOT_THROUGH_CANYON
BREAK
CASE SHOT_WINDMILLS
BREAK
CASE SHOT_STORM_DRAIN
BREAK
CASE SHOT_VINEWOOD_BLVD
BREAK
CASE SHOT_PALETO
BREAK
CASE SHOT_END
BREAK
ENDSWITCH
ENDPROC
FUNC BOOL HAVE_STAGE_ASSETS_LOADED(CREDITS_CAMERA_SHOTS thisShot)
PRINTLN("CREDITS: checking assets have loaded: ", ENUM_TO_INT(thisShot))
SWITCH thisShot
CASE SHOT_OPENING
RETURN TRUE
BREAK
CASE SHOT_ABOVE_BRIDGE
RETURN TRUE
BREAK
CASE SHOT_THROUGH_CANYON
RETURN TRUE
BREAK
CASE SHOT_WINDMILLS
RETURN TRUE
BREAK
CASE SHOT_STORM_DRAIN
RETURN TRUE
BREAK
CASE SHOT_VINEWOOD_BLVD
RETURN TRUE
BREAK
CASE SHOT_PALETO
RETURN TRUE
BREAK
CASE SHOT_END
RETURN TRUE
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
SCENARIO_BLOCKING_INDEX sbiVan
FUNC BOOL shotThroughCanyon()
SET_AMBIENT_VEHICLE_RANGE_MULTIPLIER_THIS_FRAME(2.0)
SET_AMBIENT_PED_RANGE_MULTIPLIER_THIS_FRAME(2.0)
VECTOR vBlockSize = <<8.0, 8.0, 8.0>>
//--------------------------- CAM EDITOR OUTPUT -----------------------------
SWITCH i_current_event
CASE 0
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<-1905.5077, 4765.5410, 2.6826>>)
IF IS_SCREEN_FADED_OUT()
sbiVan = ADD_SCENARIO_BLOCKING_AREA(<<-954.3553, 4359.4849, 12.6290>> - vBlockSize, <<-954.3553, 4359.4849, 12.6290>> + vBlockSize)
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1916.0842, 4795.2188, 3.1379>>, <<3.8531, 0.0000, -171.7801>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 11))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1905.5077, 4765.5410, 2.6826>>, <<9.3203, -0.0565, -173.3257>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 11))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1832.6503, 4621.5938, 1.7506>>, <<10.6206, -0.0565, -136.3462>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 11))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1710.0938, 4487.1060, 2.1122>>, <<8.2661, -0.0565, -111.2185>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 11))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1593.1694, 4394.1484, 8.9492>>, <<8.6634, -0.0565, -123.0239>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 11))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1435.3468, 4321.2251, 17.1582>>, <<3.6862, -0.0565, -85.5017>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 11))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1242.0516, 4394.2866, 27.8612>>, <<2.4464, -0.0565, -89.9662>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 11))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1078.7899, 4384.1025, 22.3137>>, <<6.5176, -0.0565, -90.2124>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 11))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-923.3418, 4390.7168, 30.8799>>, <<2.7141, -0.0565, -69.9486>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 11))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-652.7346, 4436.4917, 33.5175>>, <<4.6974, -0.0565, -92.9723>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 11))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-383.5358, 4422.5151, 81.1759>>, <<44.6958, -0.0565, -92.3987>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 11))
SET_CAM_ACTIVE(cam_main, TRUE)
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(8, 0, 0)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 15000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (115000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
REMOVE_SCENARIO_BLOCKING_AREA(sbiVan)
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC BOOL shotBeach()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_SLOW_OUT_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1253.0685, -1415.4380, 18.0304>>, <<3.5572, -0.0007, 93.1711>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1252.2156, -1443.2278, 18.0300>>, <<3.5572, -0.0007, 88.3789>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1253.8959, -1464.0182, 18.0297>>, <<3.5572, -0.0007, 82.0894>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1261.9933, -1503.5913, 18.0293>>, <<3.5572, -0.0007, 70.0711>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 4))
SET_CAM_ACTIVE(cam_main, TRUE)
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.05)
SET_CLOCK_TIME(19, 10, 0)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (60000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotDino()
SWITCH i_current_event
CASE 0
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<2581.3350, 2621.8979, 36.8885>>)
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_SLOW_OUT_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2581.3350, 2621.8979, 36.8885>>, <<-0.2545, 0.0000, 166.5471>>, 45.0000, TRUE), 25000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2581.3350, 2621.8792, 41.8131>>, <<-0.2545, 0.0000, 166.5471>>, 45.0000, TRUE), 25000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2581.3333, 2621.8303, 52.8645>>, <<-0.2545, 0.0000, 166.5471>>, 45.0000, TRUE), 25000 + (i_PCExtraTime / 3))
SET_CAM_ACTIVE(cam_main, TRUE)
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.05)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(20, 0, 0)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 12000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (50000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotNorthYankton()
SWITCH i_current_event
CASE 0
REQUEST_IPL("prologue01")
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("prologue01z")
REQUEST_IPL("prologue02")
REQUEST_IPL("prologue03")
REQUEST_IPL("prologue03b")
REQUEST_IPL("prologue04")
REQUEST_IPL("prologue04b")
REQUEST_IPL("prologue05")
REQUEST_IPL("prologue05b")
REQUEST_IPL("prologue06")
REQUEST_IPL("prologue06b")
REQUEST_IPL("prologuerd")
REQUEST_IPL("prologuerdb")
REQUEST_IPL("prologue_occl")
SET_ROADS_IN_ANGLED_AREA(<<5526.240234,-5137.229980,61.789253>>, <<3679.326660,-4973.879395,125.082840>>, 192.0, TRUE, TRUE)
SET_ROADS_IN_ANGLED_AREA(<<3691.211426,-4941.240234,94.593681>>, <<3511.115479,-4869.191406,126.762108>>, 16.0, TRUE, TRUE)
SET_ROADS_IN_ANGLED_AREA(<<3510.004395,-4865.810059,94.695572>>, <<3204.424316,-4833.816895,126.815216>>, 16.0, TRUE, TRUE)
SET_ROADS_IN_ANGLED_AREA(<<3186.533691,-4832.797852,109.814827>>, <<3202.187256,-4833.993164,114.814995>>, 16.0, TRUE, TRUE)
i_current_event++
BREAK
CASE 1
IF IS_SCREEN_FADED_OUT()
SET_CLOCK_TIME(19, 00, 00)
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3185.8894, -4832.7461, 114.2106>>, <<3.8204, 0.0000, 83.1790>>, 48.7373, TRUE), 43000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3289.7566, -4842.2134, 114.2106>>, <<3.8204, 0.0000, 83.1790>>, 48.7373, TRUE), 43000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3443.7751, -4856.4072, 114.2106>>, <<3.8204, 0.0000, 83.1790>>, 48.7373, TRUE), 43000 + (i_PCExtraTime / 3))
SET_WEATHER_TYPE_NOW("SNOWLIGHT")
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 2
//SET_CLOCK_TIME(19, 00, 00)
PAUSE_CLOCK(TRUE)
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 3
//SET_CLOCK_TIME(19, 00, 00)
PAUSE_CLOCK(TRUE)
IF TIMERB() > (76000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
SET_ROADS_IN_ANGLED_AREA(<<5526.240234,-5137.229980,61.789253>>, <<3679.326660,-4973.879395,125.082840>>, 192.0, FALSE, TRUE)
SET_ROADS_IN_ANGLED_AREA(<<3691.211426,-4941.240234,94.593681>>, <<3511.115479,-4869.191406,126.762108>>, 16.0, FALSE, TRUE)
SET_ROADS_IN_ANGLED_AREA(<<3510.004395,-4865.810059,94.695572>>, <<3204.424316,-4833.816895,126.815216>>, 16.0, FALSE, TRUE)
SET_ROADS_IN_ANGLED_AREA(<<3186.533691,-4832.797852,109.814827>>, <<3202.187256,-4833.993164,114.814995>>, 16.0, FALSE, TRUE)
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotLighthouse()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3587.5349, 4860.7925, 3.9609>>, <<6.6324, -0.0179, 27.2506>>, 45.0000, TRUE), 22000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3533.4978, 4960.6006, 3.9609>>, <<6.2686, -0.0179, 27.2506>>, 45.0000, TRUE), 22000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3459.7451, 5087.1201, 5.2853>>, <<6.2686, -0.0179, 27.2506>>, 45.0000, TRUE), 22000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3375.9031, 5228.5059, 5.2853>>, <<14.2505, -0.0179, 28.1868>>, 45.0000, TRUE), 22000 + (i_PCExtraTime / 4))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(7, 0, 0)
SET_WEATHER_TYPE_NOW("CLOUDS")
SETTIMERB(0)
//CASCADE_SHADOWS_SET_CASCADE_BOUNDS(?
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 12000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (60000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotSalvationMountain()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2432.4558, 3784.2878, 40.5582>>, <<3.6923, -0.0000, -92.5777>>, 45.0000, TRUE), 16500 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2448.4331, 3784.2908, 41.2309>>, <<8.4183, 0.0000, -91.8215>>, 45.0000, TRUE), 16500 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2461.6870, 3784.3152, 45.2641>>, <<8.4183, 0.0000, -91.8215>>, 45.0000, TRUE), 16500 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2487.5698, 3783.6809, 49.6870>>, <<8.4183, 0.0000, -91.8215>>, 45.0000, TRUE), 16500 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2580.3906, 3780.9075, 83.9326>>, <<32.8287, 0.0000, -91.3104>>, 45.0000, TRUE), 16500 + (i_PCExtraTime / 5))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(8, 0, 0)
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (65000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotTunnels()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_SLOW_OUT_SMOOTH)
//ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-109.5593, 4596.8130, 123.8662>>, <<19.8307, -0.0000, 55.9702>>, 45.0000, TRUE), 23000)
//ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-172.0435, 4653.1685, 130.2473>>, <<4.4373, -0.0000, 45.6261>>, 45.0000, TRUE), 23000)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-237.0719, 4715.1753, 137.1838>>, <<3.6968, -0.0000, 49.6506>>, 45.0000, TRUE), 23000)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-304.0869, 4774.0801, 141.6331>>, <<3.4343, 0.0000, 49.1929>>, 45.0000, TRUE), 23000)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-366.7834, 4826.3423, 145.2321>>, <<2.1269, 0.0000, 49.7593>>, 45.0000, TRUE), 23000)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-443.3375, 4887.3936, 146.8382>>, <<2.5410, -0.0000, 52.2997>>, 45.0000, TRUE), 23000)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-502.9940, 4933.5015, 154.1842>>, <<2.5410, -0.0000, 52.2997>>, 45.0000, TRUE), 23000)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-547.4118, 4979.2925, 184.8952>>, <<-15.0925, 0.0000, 13.8734>>, 45.0000, TRUE), 23000)
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.1)
SET_CLOCK_TIME(22, 0, 0)
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
SET_CLOCK_TIME(22, 0, 0)
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
SET_CLOCK_TIME(22, 0, 0)
IF TIMERB() > 105000//145000
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotRecycleYard()
SWITCH i_current_event
CASE 0
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<2339.1348, 3033.7434, 49.2209>>)
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2339.1348, 3033.7434, 49.2209>>, <<-0.8334, 0.0000, -69.9175>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2360.3965, 3041.5168, 48.8916>>, <<2.0030, 0.0000, -69.8641>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2386.2507, 3048.8235, 49.8320>>, <<2.0030, 0.0000, -77.7654>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2424.4385, 3057.3816, 54.1784>>, <<9.9176, -0.0000, -76.9599>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2483.2856, 3071.0110, 64.7622>>, <<10.1908, -0.0000, -75.0095>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 5))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.1)
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
SET_CLOCK_TIME(7, 0, 0)
IF TIMERB() > 12000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (70000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotCoveredBridge()
SWITCH i_current_event
CASE 0
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<2339.1348, 3033.7434, 49.2209>>)
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-44.3122, 2999.5569, 41.1735>>, <<-2.7641, 0.0005, 109.3277>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-164.9796, 2964.1990, 32.6669>>, <<-2.8667, 0.0005, 101.2396>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-283.8676, 2949.9431, 30.1030>>, <<0.6870, 0.0005, 82.3140>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-351.9180, 2953.7009, 26.1939>>, <<2.1626, 0.0005, 79.5006>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-420.6262, 2965.0891, 25.2746>>, <<3.4231, 0.1093, 78.6793>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-467.0213, 2974.3047, 26.1414>>, <<4.5971, 0.1093, 78.7363>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-533.4514, 3001.7148, 28.4767>>, <<-2.3009, 0.1093, 66.7469>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-596.6590, 3018.2258, 26.4333>>, <<-2.7551, 0.1093, 96.0962>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.1)
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
SET_CLOCK_TIME(18, 30, 0)
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > ( 130000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotSatelites()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1921.7357, 2969.3440, 58.4580>>, <<5.9884, -0.0000, -115.0092>>, 42.0110, TRUE), 15000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1977.8093, 2989.4807, 61.3841>>, <<3.4807, -0.0000, -138.1117>>, 42.0110, TRUE), 15000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2055.7910, 3005.1621, 63.5793>>, <<0.0466, -0.0000, -152.9442>>, 42.0110, TRUE), 15000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2153.1641, 2973.8018, 63.6353>>, <<0.2250, -0.0000, 143.9263>>, 42.0110, TRUE), 20000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2207.8843, 2911.4343, 62.6499>>, <<1.6293, -0.0000, 80.4066>>, 42.0110, TRUE), 25000 + (i_PCExtraTime / 5))
SET_CAM_ACTIVE(cam_main, TRUE)
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.2000)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(00, 0, 0)
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 12000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
//SET_CLOCK_TIME(22, 0, 0)
IF TIMERB() > (69000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotGolfCourse()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1355.7410, 187.9770, 59.0800>>, <<1.8665, 0.0000, -135.1039>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1329.7139, 161.8555, 57.9754>>, <<1.8665, 0.0000, -135.1039>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1283.7085, 115.6830, 60.0995>>, <<1.8665, 0.0000, -135.1039>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1201.9032, 48.3632, 63.5646>>, <<1.8665, 0.0000, -124.3969>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-984.7330, -100.3193, 82.0615>>, <<4.9140, -0.0000, -124.3969>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 5))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(7, 0, 0)
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (75000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotExtraNGDocks()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
// ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<920.129700,-3097.477783,30.411575>>,<<-42.447887,-0.000470,-166.271408>>,50.093483, TRUE), 19000)
// ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<920.129700,-3059.166748,30.411575>>,<<-42.447887,-0.000470,-166.271408>>,50.093483, TRUE), 19000)
// ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<920.129700,-3010.082275,30.411575>>,<<-42.447887,-0.000470,-166.271408>>,50.093483, TRUE), 19000)
// ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<920.129700,-2971.775635,30.411575>>,<<-42.447887,-0.000470,-166.271408>>,50.093483, TRUE), 19000)
// ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<920.129700,-2895.536621,30.411575>>,<<-42.447887,-0.000470,-166.271408>>,50.093483, TRUE), 19000)
// ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<920.129700,-2895.536621,30.411575>>,<<-42.447887,-0.000470,-166.271408>>,50.093483, TRUE), 19000)
//ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<920.129700,-2895.536621,30.411575>>,<<-42.447887,-0.000470,-166.271408>>,50.093483, TRUE), 19000)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<920.129700,-2895.536621,30.411575>>,<<-42.447887,-0.000470,-166.271408>>,50.093483, TRUE), 20000 + (i_PCExtraTime / 6))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<920.129700,-2971.775635,30.411575>>,<<-42.447887,-0.000470,-166.271408>>,50.093483, TRUE), 20000 + (i_PCExtraTime / 6))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<920.129700,-3010.082275,30.411575>>,<<-42.447887,-0.000470,-166.271408>>,50.093483, TRUE), 20000 + (i_PCExtraTime / 6))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<920.129700,-3059.166748,30.411575>>,<<-42.447887,-0.000470,-166.271408>>,50.093483, TRUE), 20000 + (i_PCExtraTime / 6))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<920.129700,-3097.477783,30.411575>>,<<-42.447887,-0.000470,-166.271408>>,50.093483, TRUE), 20000 + (i_PCExtraTime / 6))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<920.1297, -3124.0603, 30.4116>>, <<-42.4479, -0.0005, -166.2714>>,50.093483, TRUE), 20000 + (i_PCExtraTime / 6))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(17, 0, 0)
SET_WEATHER_TYPE_NOW("CLEAR")
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 13000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (90000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotVineyard()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-2204.9595, 1620.8646, 267.1454>>, <<-8.5002, -0.0025, -49.9870>>, 45.0000, TRUE), 22000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-2043.7039, 1738.2576, 219.7041>>, <<-12.5074, -0.0025, -51.8025>>, 45.0000, TRUE), 22000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1910.6498, 1852.8877, 179.1081>>, <<-7.4417, -0.0025, -31.5586>>, 45.0000, TRUE), 22000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1864.6097, 1979.2040, 161.5704>>, <<-5.0407, -0.0025, -33.7065>>, 45.0000, TRUE), 22000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1789.5532, 2127.8875, 140.8785>>, <<-1.5848, -0.0025, -25.4394>>, 45.0000, TRUE), 22000 + (i_PCExtraTime / 5))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(17, 0, 0)
SET_WEATHER_TYPE_NOW("CLEAR")
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 13000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (65000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
INT iNavBlockingArea
FUNC BOOL shotLake()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1877.0690, 4189.7876, 37.3659>>, <<7.5546, 0.0017, 73.6847>>, 45.0000, TRUE), 26000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1488.1042, 4241.6235, 37.3659>>, <<7.5546, 0.0017, 64.4795>>, 45.0000, TRUE), 26000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1290.7545, 4243.9937, 37.3659>>, <<7.5546, 0.0017, 20.4720>>, 45.0000, TRUE), 26000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1076.5968, 4244.0186, 37.3659>>, <<16.9531, 0.0017, 20.4720>>, 45.0000, TRUE), 26000 + (i_PCExtraTime / 4))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(20, 0, 0)
SET_WEATHER_TYPE_NOW("CLEAR")
iNavBlockingArea = ADD_NAVMESH_BLOCKING_OBJECT(<<1132.8705, -564.3635, 55.8749>>, <<4.0, 4.0, 4.0>>, 0.0)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (70000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
REMOVE_NAVMESH_BLOCKING_OBJECT(iNavBlockingArea)
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotAirport()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_SLOW_OUT_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-865.1187, -2432.0630, 14.3939>>, <<3.4252, -0.0000, 148.9827>>, 45.0000, TRUE), 22000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-864.8112, -2431.5518, 23.6570>>, <<10.5248, -0.0000, 148.9827>>, 45.0000, TRUE), 22000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-865.5177, -2432.7253, 98.3512>>, <<-5.9302, -0.0000, 148.9827>>, 45.0000, TRUE), 35000 + (i_PCExtraTime / 3))
SET_CAM_ACTIVE(cam_main, TRUE)
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.05)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_WEATHER_TYPE_NOW("CLEAR")
SET_CLOCK_TIME(19, 0, 0)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 12000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (48000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotSunsetBlvd()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-262.8899, 308.8326, 93.8405>>, <<0.1817, 0.0000, -159.0937>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-248.2659, 274.7704, 93.9581>>, <<0.1817, -0.0000, -155.6208>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-231.0772, 231.8714, 96.5047>>, <<0.1817, -0.0000, -159.1501>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-187.7147, 94.3744, 117.7859>>, <<2.0378, -0.0000, -168.4870>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-125.3929, -211.5931, 129.3175>>, <<2.0378, -0.0000, -168.4870>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 5))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
SET_CLOCK_TIME(0, 0, 0)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (70000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotAirportRunway()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-2026.1967, -2744.8391, 19.8858>>, <<-0.3979, -0.0570, -120.6251>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1885.2610, -2826.4563, 18.7531>>, <<-0.3979, -0.0570, -120.6251>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1767.4111, -2894.2961, 17.8071>>, <<-0.3979, -0.0570, -120.6251>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1631.4205, -2973.0000, 15.6656>>, <<-0.3979, -0.0570, -120.6251>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 4))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (50000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotUnderWater()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3338.0059, -621.7776, -44.9584>>, <<-14.9351, -0.0000, 24.5152>>, 45.0000, TRUE), 18000 + (i_PCExtraTime / 9))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3287.1018, -490.8297, -61.6814>>, <<-0.1146, -0.0000, 5.9119>>, 45.0000, TRUE), 18000 + (i_PCExtraTime / 9))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3246.8162, -420.7375, -40.0500>>, <<18.2685, 0.0000, 36.7530>>, 45.0000, TRUE), 18000 + (i_PCExtraTime / 9))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3202.1089, -357.5204, -24.0778>>, <<6.5175, 0.0000, 50.9221>>, 45.0000, TRUE), 18000 + (i_PCExtraTime / 9))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3164.8818, -328.2462, -20.4826>>, <<9.0396, -0.0000, 55.5429>>, 45.0000, TRUE), 18000 + (i_PCExtraTime / 9))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3140.6731, -303.8229, -16.9478>>, <<1.1297, -0.0000, 15.8418>>, 45.0000, TRUE), 18000 + (i_PCExtraTime / 9))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3127.5559, -226.4933, -22.8197>>, <<-0.6468, -0.0000, 23.3618>>, 45.0000, TRUE), 18000 + (i_PCExtraTime / 9))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3072.3215, -156.1007, -17.7341>>, <<3.7494, -0.0000, 40.3220>>, 45.0000, TRUE), 18000 + (i_PCExtraTime / 9))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<3068.9507, -152.1308, 1.0045>>, <<6.0711, -0.0000, 26.0366>>, 45.0000, TRUE), 18000 + (i_PCExtraTime / 9))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (116000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotPier()
//--------------------------- CAM EDITOR OUTPUT -----------------------------
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_SLOW_OUT_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1692.1573, -1108.0443, 13.0504>>, <<0.7654, 0.0022, -92.6355>>, 45.0000, TRUE), 27000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1692.2782, -1108.0372, 22.1027>>, <<0.7654, 0.0022, -92.6355>>, 45.0000, TRUE), 27000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1689.3832, -1106.9822, 60.2891>>, <<2.9995, 0.0022, -72.0565>>, 45.0000, TRUE), 27000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1689.3832, -1106.9822, 60.2891>>, <<2.9995, 0.0022, -72.0565>>, 45.0000, TRUE), 27000 + (i_PCExtraTime / 4))
SET_CAM_ACTIVE(cam_main, TRUE)
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.05)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(00, 00, 00)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (35000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
//--------------------------------------------------------------------------------
RETURN FALSE
ENDFUNC
FUNC BOOL shotAboveBridge()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-133.3582, -2571.7788, 168.8322>>, <<-67.4567, -0.0000, -77.0854>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-281.9736, -2437.4043, 176.1545>>, <<-74.7325, -0.0000, -55.6515>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-426.4573, -2339.1194, 176.1545>>, <<-74.7325, -0.0000, -55.6515>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-558.7574, -2242.2798, 176.1545>>, <<-74.7325, -0.0000, -55.6515>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-769.5870, -2104.6653, 176.1545>>, <<-74.7325, -0.0000, -55.6515>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 5))
// NEW_LOAD_SCENE_START_SPHERE(<<-133.3582, -2571.7788, 168.8322>>, 160.00)
// SETTIMERB(0)
// WHILE IS_NEW_LOAD_SCENE_LOADED()
// AND TIMERB() < 15000
// WAIT(0)
// ENDWHILE
// IF IS_NEW_LOAD_SCENE_ACTIVE()
// NEW_LOAD_SCENE_STOP()
// ENDIF
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(8, 0, 0)
SETTIMERB(0)
SET_TIME_SCALE(1.0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (75000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC BOOL shotPaletoBay()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_SLOW_OUT_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-352.8542, 6076.3384, 32.1660>>, <<-1.1628, -0.0000, 105.5219>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-381.4112, 6066.0815, 32.3482>>, <<0.6536, -0.0000, 130.2366>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-410.8810, 6045.5562, 32.5940>>, <<0.3665, -0.0000, 106.2762>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-463.5055, 6026.2119, 35.1960>>, <<2.9584, 0.0000, 107.0341>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-522.7526, 6009.1094, 38.1065>>, <<2.3686, 0.0000, 106.2780>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-571.1350, 5995.0747, 32.9546>>, <<-8.7694, 0.0000, 105.3941>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-633.3229, 5991.0474, 24.4397>>, <<-7.9325, 0.0000, 80.0770>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-715.5418, 6010.5229, 17.5661>>, <<3.6859, 0.0000, 73.0103>>, 45.0000, TRUE), 20000 + (i_PCExtraTime / 8))
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(19, 20, 0)
SETTIMERB(0)
SET_TIME_SCALE(1.0)
i_current_event++
ENDIF
BREAK
CASE 1
SET_CLOCK_TIME(19, 20, 0)
IF TIMERB() > 13000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (120000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC BOOL shotWindmills()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2174.1765, 1735.2435, 109.4122>>, <<7.6816, 0.0000, -0.0482>>, 34.8528, TRUE), 20000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2174.1765, 1732.0222, 133.2939>>, <<7.6816, 0.0000, -0.0482>>, 34.8528, TRUE), 20000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<2174.1736, 1727.5936, 175.5751>>, <<3.7588, -0.0000, -7.0037>>, 36.6129, TRUE), 20000 + (i_PCExtraTime / 3))
SET_CAM_ACTIVE(cam_main, TRUE)
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.05)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 5000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (40000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC BOOL shotStormDrain()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<888.9525, -408.1645, 37.6499>>, <<-79.3137, -0.5998, 88.7316>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<821.9319, -422.6405, 37.4952>>, <<3.0949, -0.5998, 104.4012>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<696.0519, -464.1059, 64.8772>>, <<4.2430, -0.5998, 112.2643>>, 45.0000, TRUE), 23000 + (i_PCExtraTime / 3))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(19, 0, 0)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 6500
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (40000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC BOOL shotExtraNGFreeway()
SWITCH i_current_event
CASE 0
//SET_ENTITY_COORDS(PLAYER_PED_ID(), <<405.4927, 110.5945, 105.0361>>)
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<191.201172,-1188.771484,59.375774>>,<<-62.414677,-0.001852,103.988991>>,45.000000, TRUE), 22000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<100.743408,-1188.258789,59.375774>>,<<-62.414677,-0.001852,103.988991>>,45.000000, TRUE), 22000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-41.310432,-1187.094604,59.375774>>,<<-45.186031,-0.001852,103.988991>>,45.000000, TRUE), 22000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-177.930069,-1187.094604,59.375774>>,<<-33.292206,-0.001851,103.988991>>,45.000000, TRUE), 22000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-308.132965,-1187.094604,59.375774>>,<<-8.678455,-0.001852,115.130112>>,45.000000, TRUE), 22000 + (i_PCExtraTime / 5))
//LOAD_SCENE(<<405.4927, 110.5945, 105.0361>>)
SET_WEATHER_TYPE_NOW("CLEAR")
SET_CAM_ACTIVE(cam_main, TRUE)
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.2000)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(19, 0, 0)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 12000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (83000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC BOOL shotVinewoodBlvd()
SWITCH i_current_event
CASE 0
//SET_ENTITY_COORDS(PLAYER_PED_ID(), <<405.4927, 110.5945, 105.0361>>)
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<405.4927, 110.5945, 105.0361>>, <<28.7364, -0.0000, 4.2586>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<351.9488, 127.5968, 104.7248>>, <<28.5356, 0.0000, -29.4515>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<311.4437, 151.5636, 104.7248>>, <<25.4354, 0.0000, -59.7210>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<274.0936, 167.2445, 104.7248>>, <<25.4354, 0.0000, -48.9993>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<218.1894, 190.2665, 123.8651>>, <<0.2697, -0.0000, -110.6178>>, 45.0000, TRUE), 15000 + (i_PCExtraTime / 5))
//LOAD_SCENE(<<405.4927, 110.5945, 105.0361>>)
SET_CAM_ACTIVE(cam_main, TRUE)
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.2000)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(22, 0, 0)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 12000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (54000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC BOOL shotVineWoodSign()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<570.1339, 624.7344, 181.2577>>, <<8.2330, -0.0000, -15.9900>>, 45.0000, TRUE), 0)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<609.7789, 763.0852, 205.4756>>, <<7.0750, 0.0000, -15.9900>>, 45.0000, TRUE), 30000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<665.6790, 986.9740, 269.0323>>, <<15.0379, 0.0000, -13.2777>>, 45.0000, TRUE), 30000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<735.5938, 1290.7844, 389.3340>>, <<21.7942, 0.0000, -12.8878>>, 45.0000, TRUE), 30000 + (i_PCExtraTime / 4))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<764.2928, 1416.2150, 450.2523>>, <<26.2951, 0.0000, -12.8878>>, 45.0000, TRUE), 30000 + (i_PCExtraTime / 4))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(00, 0, 0)
SET_WEATHER_TYPE_NOW("FOGGY")
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (80000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC BOOL shotLSThunder()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_SLOW_OUT_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<190.7830, -1399.5414, 28.7482>>, <<9.2974, -0.0000, 15.6743>>, 45.0000, TRUE), 27000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<189.3631, -1388.6300, 28.7482>>, <<9.2974, -0.0000, 15.6743>>, 45.0000, TRUE), 27000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<187.3559, -1378.5457, 28.7482>>, <<13.7276, -0.0000, 17.0204>>, 45.0000, TRUE), 32000 + (i_PCExtraTime / 3))
SET_CAM_ACTIVE(cam_main, TRUE)
SET_WEATHER_TYPE_NOW("THUNDER")
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.06000)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(21, 0, 0)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 11000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (50000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC BOOL shotExtraNGShotSaltonSea()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_SLOW_OUT_SMOOTH)
//Double first node
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1894.2101, 3752.3677, 38.8232>>, <<-3.2748, -0.0000, 74.7403>>,45.000000, TRUE), 25000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1822.4341, 3752.6919, 38.8232>>, <<-0.6732, -0.0000, 73.2030>>,45.000000, TRUE), 25000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1721.5247, 3753.5273, 38.8232>>, <<-0.6732, -0.0000, 73.2030>>,45.000000, TRUE), 25000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1670.5824, 3766.5874, 43.3779>>, <<-1.7418, -0.0000, 81.1962>>,45.000000, TRUE), 25000 + (i_PCExtraTime / 5))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1550.9694, 3785.1116, 39.9790>>, <<-1.4286, 0.0000, 81.1962>>,45.000000, TRUE), 25000 + (i_PCExtraTime / 5))
SET_CAM_ACTIVE(cam_main, TRUE)
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.06000)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(20, 0, 0)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 11000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (70000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC BOOL shotExtraNGShot()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_SLOW_OUT_SMOOTH)
//Double first node
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1138.2307, -560.4722, 59.6695>>, <<-19.2128, -0.0000, 131.1068>>,45.000000, TRUE), 15000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1135.092285,-561.356140,57.377533>>,<<1.842640,-0.199522,131.734390>>,45.000000, TRUE), 15000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1131.0037, -565.2379, 57.0930>>, <<1.8431, -0.2123, 128.4030>>,45.000000, TRUE), 15000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1122.949951,-574.337280,56.157940>>,<<2.104707,-0.199523,136.016586>>,45.000000, TRUE), 15000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1100.843018,-597.239075,56.506924>>,<<2.104707,-0.199523,136.016586>>,45.000000, TRUE), 15000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1070.651611,-628.519897,57.828300>>,<<2.104707,-0.199523,119.187698>>,45.000000, TRUE), 15000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1040.776001,-644.937683,73.359314>>,<<2.104707,-0.199523,113.079018>>,45.000000, TRUE), 15000 + (i_PCExtraTime / 8))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<1013.072144,-658.957642,105.497192>>,<<3.742157,-0.199525,113.949921>>,45.000000, TRUE), 15000 + (i_PCExtraTime / 8))
SET_CAM_ACTIVE(cam_main, TRUE)
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.06000)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SET_CLOCK_TIME(19, 0, 0)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 11000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (70000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC BOOL shotExtraNGSantaMonica()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-2024.1204, -556.4590, 10.3882>>, <<7.8994, -0.0000, -42.1714>>, 45.0000, TRUE), 35000 + (i_PCExtraTime / 6))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-2010.8842, -568.4490, 10.3882>>, <<7.8994, -0.0000, -42.1714>>, 45.0000, TRUE), 35000 + (i_PCExtraTime / 6))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1986.4208, -590.6094, 10.3882>>, <<7.8994, -0.0000, -42.1714>>, 45.0000, TRUE), 35000 + (i_PCExtraTime / 6))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1949.0087, -624.4987, 10.3882>>, <<7.8994, -0.0000, -42.1714>>, 45.0000, TRUE), 35000 + (i_PCExtraTime / 6))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1902.0428, -667.0425, 10.3882>>, <<7.8994, -0.0000, -42.1714>>, 45.0000, TRUE), 35000 + (i_PCExtraTime / 6))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1859.1022, -705.9395, 10.3882>>, <<7.8994, -0.0000, -42.1714>>, 45.0000, TRUE), 35000 + (i_PCExtraTime / 6))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.1000)
SET_WEATHER_TYPE_NOW("CLOUDS")
SET_CLOCK_TIME(16, 20, 0)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 15000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (95000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC BOOL shotEndSunset()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_SLOW_OUT_SMOOTH)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1761.3226, -862.8440, 8.1640>>, <<0.4405, -0.0000, 92.1012>>, 45.0000, TRUE), 35000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1789.1201, -863.8638, 8.3779>>, <<0.4405, -0.0000, 92.1012>>, 45.0000, TRUE), 35000 + (i_PCExtraTime / 3))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-1919.9290, -868.6623, 5.5128>>, <<5.0195, -0.0000, 92.1012>>, 45.0000, TRUE), 35000 + (i_PCExtraTime / 3))
SET_CAM_ACTIVE(cam_main, TRUE)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SHAKE_CAM(cam_main, "HAND_SHAKE", 0.1000)
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
SET_CLOCK_TIME(19, 20, 0)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 10000
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
IF TIMERB() > (95000 + i_PCExtraTime)
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
PROC DELETE_ARRAY_OF_VEHICLES(VEHICLE_INDEX &Vehicles[])
INT i
FOR i = 0 TO COUNT_OF(Vehicles) -1
IF DOES_ENTITY_EXIST(vehicles[i])
SET_ENTITY_AS_MISSION_ENTITY(vehicles[i])
SET_VEHICLE_AS_NO_LONGER_NEEDED(vehicles[i])
PRINTLN("deleted vehicle in array at: ", i)
ENDIF
ENDFOR
ENDPROC
PROC DELETE_ARRAY_OF_PEDS(PED_INDEX &thesePeds[], BOOL bSetAsNoLongerNeeded = FALSE, INT iMaxIndex = -1)
INT i
INT iArrayLength
IF iMaxIndex <> -1
iArrayLength = iMaxIndex
ELSE
iArrayLength = COUNT_OF(thesePeds) -1
ENDIF
FOR i = 0 TO iArrayLength
IF DOES_ENTITY_EXIST(thesePeds[i])
IF NOT bSetAsNoLongerNeeded
DELETE_PED(thesePeds[i])
PRINTLN("deleted Ped in array at: ", i)
ELSE
IF NOT IS_PED_INJURED(thesePeds[i])
SET_PED_KEEP_TASK(thesePeds[i], TRUE)
ENDIF
SET_PED_AS_NO_LONGER_NEEDED(thesePeds[i])
PRINTLN("set Ped as no longer needed in array at: ", i)
ENDIF
ENDIF
ENDFOR
ENDPROC
INT iGasStationExplosion
RAYFIRE_INDEX rfPetrolStation
PROC MANAGE_GASSTATION_RAYFIRE()
SWITCH iGasStationExplosion
CASE 0
SET_BUILDING_STATE(BUILDINGNAME_RF_GASSTATION01, BUILDINGSTATE_NORMAL)
iGasStationExplosion++
BREAK
CASE 1
rfPetrolStation = GET_RAYFIRE_MAP_OBJECT(<<-85.55, 6416.99, 29.37>>, 10, "DES_gasstation01")
IF DOES_RAYFIRE_MAP_OBJECT_EXIST(rfPetrolStation)
iGasStationExplosion++
ENDIF
BREAK
CASE 2
SET_STATE_OF_RAYFIRE_MAP_OBJECT(rfPetrolStation, RFMO_STATE_PRIMING)
iGasStationExplosion++
BREAK
CASE 3
IF GET_STATE_OF_RAYFIRE_MAP_OBJECT(rfPetrolStation) = RFMO_STATE_PRIMED
iGasStationExplosion++
ENDIF
BREAK
CASE 4
SHAKE_GAMEPLAY_CAM("SMALL_EXPLOSION_SHAKE", 0.5)
SET_STATE_OF_RAYFIRE_MAP_OBJECT(rfPetrolStation, RFMO_STATE_START_ANIM)
iGasStationExplosion++
BREAK
CASE 5
IF GET_STATE_OF_RAYFIRE_MAP_OBJECT(rfPetrolStation) = RFMO_STATE_END
REQUEST_IPL("gasparticle_grp2")
STOP_AUDIO_SCENE("PS_2A_GAS_STATION_RAYFIRE")
RELEASE_NAMED_SCRIPT_AUDIO_BANK("PS2A_Gas_Station_Explosion_L")
RELEASE_NAMED_SCRIPT_AUDIO_BANK("PS2A_Gas_Station_Explosion_R")
//IF (GET_GAME_TIMER() - iGasStationExplosionTime) > 6000
//iSmokeEffectPetrolStation = START_PARTICLE_FX_LOOPED_AT_COORD("scr_paleto_gas_plume", << -90.8233, 6421.9229, 30.6394 >>, <<0.0, 0.0, 0.0>>)
iGasStationExplosion++
ENDIF
BREAK
ENDSWITCH
ENDPROC
FUNC BOOL shotPaleto()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
SET_ENTITY_COORDS(PLAYER_PED_ID(), <<-123.3126, 6454.6475, 30.8826>>)
REQUEST_VEHICLE_RECORDING(1, "RBHInitial")
REQUEST_VEHICLE_RECORDING(2, "RBHInitial")
REQUEST_VEHICLE_RECORDING(3, "RBHInitial")
REQUEST_VEHICLE_RECORDING(6, "RBHINitial")
REQUEST_VEHICLE_RECORDING(7, "RBHINitial")
REQUEST_MODEL(mnCopPedModel)
REQUEST_MODEL(mnCopCarModel)
//REQUEST_PTFX_ASSET()
REQUEST_ANIM_SET("ANIM_GROUP_MOVE_BALLISTIC")
WHILE NOT HAS_MODEL_LOADED(mnCopPedModel)
OR NOT HAS_MODEL_LOADED(mnCopCarModel)
//OR NOT HAS_PTFX_ASSET_LOADED()
OR NOT HAS_ANIM_SET_LOADED("ANIM_GROUP_MOVE_BALLISTIC")
OR NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(1, "RBHInitial")
OR NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(2, "RBHInitial")
OR NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(3, "RBHInitial")
OR NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(6, "RBHINitial")
OR NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(7, "RBHINitial")
PRINTLN("waiting")
WAIT(0)
ENDWHILE
SET_CLOCK_TIME(10, 00, 00)
PRINTLN("HOld off cops at bank Skip: setupHeistCutscene1() all loaded")
//skipToEndOfTankerRec()
WHILE NOT CREATE_PLAYER_PED_ON_FOOT(pedSelector.pedID[SELECTOR_PED_TREVOR], CHAR_TREVOR, <<-121.6313, 6453.9810, 30.4685>>, 161.1223)
WAIT(0)
ENDWHILE
SET_ENTITY_INVINCIBLE(pedSelector.pedID[SELECTOR_PED_TREVOR], TRUE)
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedSelector.pedID[SELECTOR_PED_TREVOR], TRUE)
CREATE_COP_CARS_HOLD_OFF_COPS_AT_BANK()
GIVE_WEAPON_TO_PED(pedSelector.pedID[SELECTOR_PED_TREVOR], WEAPONTYPE_MINIGUN, 1000)
TASK_SHOOT_AT_COORD(pedSelector.pedID[SELECTOR_PED_TREVOR],<<-130.4226, 6423.6177, 31.3932>>, INFINITE_TASK_TIME, FIRING_TYPE_CONTINUOUS)
SET_PED_COMP_ITEM_CURRENT_SP(pedSelector.pedID[SELECTOR_PED_TREVOR], COMP_TYPE_OUTFIT, OUTFIT_P2_BALLISTICS, FALSE)
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
//ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-125.9184, 6457.7876, 30.8076>>, <<7.8341, -0.0425, -137.1120>>, 27.0000, TRUE), 10000)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-123.3126, 6454.6475, 30.8826>>, <<20.1121, -0.0425, -126.0013>>, 45.0000, TRUE), 40000 + (i_PCExtraTime / 2))
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-122.5475, 6455.3838, 30.8819>>, <<21.7537, -0.0425, -154.5661>>, 45.0000, TRUE), 40000 + (i_PCExtraTime / 2))
//ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-126.7689, 6456.9043, 30.8085>>, <<7.8341, -0.0425, -127.8139>>, 27.0000, TRUE), 10000)
SET_CAM_ACTIVE(cam_main, TRUE)
// SHAKE_CAM(cam_main, "HAND_SHAKE", 0.2000)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 7000
MANAGE_GASSTATION_RAYFIRE()
ENDIF
IF TIMERB() > (8000 + i_PCExtraTime)
SET_TIME_SCALE(0.01)
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
MANAGE_GASSTATION_RAYFIRE()
//IF TIMERB() > 10000
IF GET_CAM_SPLINE_PHASE(cam_main) > 0.9
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
REMOVE_VEHICLE_RECORDING(1, "RBHInitial")
REMOVE_VEHICLE_RECORDING(2, "RBHInitial")
REMOVE_VEHICLE_RECORDING(3, "RBHInitial")
REMOVE_VEHICLE_RECORDING(6, "RBHInitial")
REMOVE_VEHICLE_RECORDING(7, "RBHInitial")
SET_MODEL_AS_NO_LONGER_NEEDED(mnCopPedModel)
SET_MODEL_AS_NO_LONGER_NEEDED(mnCopCarModel)
//REQUEST_PTFX_ASSET()
REMOVE_ANIM_SET("ANIM_GROUP_MOVE_BALLISTIC")
DELETE_ARRAY_OF_VEHICLES(CopCarsParked)
DELETE_ARRAY_OF_PEDS(pedsCopsOutsideBank, TRUE)
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
PED_INDEX pedLamar
INT i_sync_scene
FUNC BOOL shotLamar1()
SWITCH i_current_event
CASE 0
IF IS_SCREEN_FADED_OUT()
REQUEST_MODEL(IG_LAMARDAVIS)
//REQUEST_PTFX_ASSET()
REQUEST_ANIM_DICT("misslamar1ig_5")
WHILE NOT HAS_ANIM_DICT_LOADED("misslamar1ig_5")
PRINTLN("waiting")
WAIT(0)
ENDWHILE
SET_CLOCK_TIME(10, 00, 00)
PRINTLN("HOld off cops at bank Skip: setupHeistCutscene1() all loaded")
//skipToEndOfTankerRec()
pedLamar = CREATE_PED(PEDTYPE_MISSION, IG_LAMARDAVIS, <<-599.100, -1619.598, 32.001>>)
i_sync_scene = CREATE_SYNCHRONIZED_SCENE(<<-599.100, -1619.598, 32.001>>, <<0.000, 0.000, -95.000>>)
TASK_SYNCHRONIZED_SCENE(pedLamar, i_sync_scene, "misslamar1ig_5", "lamar", INSTANT_BLEND_IN, INSTANT_BLEND_OUT)
SET_ENTITY_INVINCIBLE(pedLamar, TRUE)
SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedLamar, TRUE)
DESTROY_ALL_CAMS()
cam_main = CREATE_CAM("DEFAULT_SPLINE_CAMERA")
SET_CAM_SPLINE_SMOOTHING_STYLE(cam_main, CAM_SPLINE_NO_SMOOTH)
//ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-125.9184, 6457.7876, 30.8076>>, <<7.8341, -0.0425, -137.1120>>, 27.0000, TRUE), 10000)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-597.472534,-1617.979736,32.962296>>,<<-1.100582,-0.000000,126.361633>>, 45.0000, TRUE), 40000)
ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-597.065796,-1618.633057,32.962296>>,<<-3.057581,-0.000000,114.964195>>, 45.0000, TRUE), 40000)
//ADD_CAM_SPLINE_NODE_USING_CAMERA(cam_main, CREATE_CAM_WITH_PARAMS("DEFAULT_SCRIPTED_CAMERA", <<-126.7689, 6456.9043, 30.8085>>, <<7.8341, -0.0425, -127.8139>>, 27.0000, TRUE), 10000)
SET_CAM_ACTIVE(cam_main, TRUE)
// SHAKE_CAM(cam_main, "HAND_SHAKE", 0.2000)
RENDER_SCRIPT_CAMS(TRUE, FALSE)
SETTIMERB(0)
i_current_event++
ENDIF
BREAK
CASE 1
IF TIMERB() > 4000
SET_TIME_SCALE(0.01)
FADE_IN_IF_NEEDED()
i_current_event++
ENDIF
BREAK
CASE 2
//IF TIMERB() > 10000
IF GET_CAM_SPLINE_PHASE(cam_main) > 0.9
#IF IS_DEBUG_BUILD
OR IS_KEYBOARD_KEY_JUST_PRESSED(KEY_N)
#ENDIF
REMOVE_VEHICLE_RECORDING(1, "RBHInitial")
REMOVE_VEHICLE_RECORDING(2, "RBHInitial")
REMOVE_VEHICLE_RECORDING(3, "RBHInitial")
REMOVE_VEHICLE_RECORDING(6, "RBHInitial")
REMOVE_VEHICLE_RECORDING(7, "RBHInitial")
SET_MODEL_AS_NO_LONGER_NEEDED(mnCopPedModel)
SET_MODEL_AS_NO_LONGER_NEEDED(mnCopCarModel)
//REQUEST_PTFX_ASSET()
REMOVE_ANIM_SET("ANIM_GROUP_MOVE_BALLISTIC")
DELETE_ARRAY_OF_VEHICLES(CopCarsParked)
DELETE_ARRAY_OF_PEDS(pedsCopsOutsideBank, TRUE)
CHANGE_SHOT()
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
#IF IS_DEBUG_BUILD
INT iDebugMissionStage
BOOL bDebugInitialised = FALSE
WIDGET_GROUP_ID finaleCredits
PROC debugProcedures()
iDebugMissionStage = ENUM_TO_INT(eCameraShots)
IF bDebugInitialised = FALSE
//Init debug stuff.
finaleCredits = START_WIDGET_GROUP("END CREDITS")
ADD_WIDGET_INT_READ_ONLY("i_current_event", i_current_event)
ADD_WIDGET_INT_READ_ONLY("mission_stage", iDebugMissionStage)
STOP_WIDGET_GROUP()
SET_LOCATES_HEADER_WIDGET_GROUP(finaleCredits)
bDebugInitialised = TRUE
ENDIF
ENDPROC
#ENDIF
BOOL bEndTheCredits
INT iCreditsStartTime
#IF IS_DEBUG_BUILD
FLOAT creditsElapsedMinutes
#ENDIF
BOOL bStopMusic = FALSE
SCRIPT
CPRINTLN(DEBUG_FLOW, "<CREDITS> Credits script started.")
IF (HAS_FORCE_CLEANUP_OCCURRED())
CPRINTLN(DEBUG_FLOW, "<CREDITS> Credits ending due to force cleanup.")
Credits_Finished()
ENDIF
SET_MISSION_FLAG(TRUE)
IF IS_PC_VERSION()
i_PCExtraTime = (200000 / 31) // 200 extra seconds across the 31 shots
ELSE // PS4 & XB1
i_PCExtraTime = (140000 / 31) // 140 extra seconds across the 31 shots
ENDIF
WHILE (TRUE)
#IF IS_DEBUG_BUILD
IF IS_KEYBOARD_KEY_JUST_PRESSED(KEY_S)
PLAY_END_CREDITS_MUSIC(FALSE)
Credits_Finished()
ENDIF
debugProcedures()
#ENDIF
SET_AMBIENT_PED_RANGE_MULTIPLIER_THIS_FRAME(2.0)
SET_AMBIENT_VEHICLE_RANGE_MULTIPLIER_THIS_FRAME(2.0)
REPLAY_PREVENT_RECORDING_AND_UI_THIS_FRAME()
SWITCH eCreditsStage
CASE STAGE_INIT //0
PRINTLN("Start of credits INIT")
PROCGRASS_DISABLE_AMBSCALESCAN()
DESTROY_ALL_CAMS()
//SET_INTERIOR_CAPPED(INTERIOR_V_RECYCLE, FALSE)
//SET_ENTITY_COORDS(PLAYER_PED_ID(), <<651.447510,1023.505981,274.701233>> )
IF NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
SET_ENTITY_INVINCIBLE(PLAYER_PED_ID(), TRUE)
SET_ENTITY_VISIBLE(PLAYER_PED_ID(), FALSE)
FREEZE_ENTITY_POSITION(PLAYER_PED_ID(), TRUE)
SET_ENABLE_SCUBA(PLAYER_PED_ID(), TRUE)
SET_MAX_WANTED_LEVEL(0)
ENDIF
IF IS_PLAYER_PLAYING(PLAYER_ID())
SET_PLAYER_CONTROL(PLAYER_ID(), FALSE)
ENDIF
//#IF IS_DEBUG_BUILD
iCreditsStartTime = GET_GAME_TIMER()
//#ENDIF
//SET_END_CREDITS_FADE_ACTIVE(TRUE)
//g_iFinaleCreditsToPlay should be set to
//0 = Finale A Kill Trevor
//1 = Finale B Kill Michael
//2 = Finale C Save Both
SWITCH g_iFinaleCreditsToPlay
CASE 0
IF NOT g_bFinaleCreditsPlaylistStarted
PLAY_END_CREDITS_MUSIC(TRUE)
SET_MOBILE_RADIO_ENABLED_DURING_GAMEPLAY(TRUE)
SET_MOBILE_PHONE_RADIO_STATE(TRUE)
SET_RADIO_TO_STATION_NAME("RADIO_01_CLASS_ROCK")
SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_TREVOR", TRUE)
ENDIF
BREAK
CASE 1
IF NOT g_bFinaleCreditsPlaylistStarted
PLAY_END_CREDITS_MUSIC(TRUE)
SET_MOBILE_RADIO_ENABLED_DURING_GAMEPLAY(TRUE)
SET_MOBILE_PHONE_RADIO_STATE(TRUE)
SET_RADIO_TO_STATION_NAME("RADIO_01_CLASS_ROCK")
SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_MICHAEL", TRUE)
ENDIF
BREAK
CASE 2
IF NOT g_bFinaleCreditsPlaylistStarted
PLAY_END_CREDITS_MUSIC(TRUE)
SET_MOBILE_RADIO_ENABLED_DURING_GAMEPLAY(TRUE)
SET_MOBILE_PHONE_RADIO_STATE(TRUE)
SET_RADIO_TO_STATION_NAME("RADIO_01_CLASS_ROCK")
SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "END_CREDITS_SAVE_MICHAEL_TREVOR", TRUE)
ENDIF
BREAK
ENDSWITCH
REQUEST_ADDITIONAL_TEXT("CREDIT", MISSION_TEXT_SLOT)
WHILE NOT HAS_ADDITIONAL_TEXT_LOADED(MISSION_TEXT_SLOT)
WAIT(0)
ENDWHILE
IF NOT IS_AUDIO_SCENE_ACTIVE("END_CREDITS_SCENE")
START_AUDIO_SCENE("END_CREDITS_SCENE")
ENDIF
IF NOT g_bFinaleCreditsPlaylistStarted
SET_CREDITS_ACTIVE(TRUE)
SET_CREDITS_FADE_OUT_WITH_SCREEN(FALSE)
ENDIF
SET_GAME_PAUSES_FOR_STREAMING(FALSE)
// SET_CUTSCENE_RUNNING(TRUE)
// FADE_IN_IF_NEEDED()
DISPLAY_RADAR(FALSE)
PRINTLN("end of credits INIT")
eCreditsStage = STAGE_UPDATE
BREAK
CASE STAGE_UPDATE
HIDE_HUD_AND_RADAR_THIS_FRAME()
DISABLE_SCREEN_DIMMING_THIS_FRAME()
SWITCH eCameraShots
CASE SHOT_OPENING
CHANGE_SHOT()
eCameraShots = SHOT_PIER
//eCameraShots = SHOT_SATELITES
BREAK
CASE SHOT_PIER
IF shotPier()
eCameraShots = SHOT_GOLF_COURSE
ENDIF
BREAK
CASE SHOT_GOLF_COURSE
IF shotGolfCourse()
eCameraShots = SHOT_EXTRA_NG_DOCKS
ENDIF
BREAK
CASE SHOT_EXTRA_NG_DOCKS
IF shotExtraNGDocks()
eCameraShots = SHOT_VINEYARD
ENDIF
BREAK
CASE SHOT_VINEYARD
IF shotVineyard()
eCameraShots = SHOT_LIGHTHOUSE
ENDIF
BREAK
CASE SHOT_LIGHTHOUSE
IF shotLighthouse()
eCameraShots = SHOT_SALVATION_MOUNTAIN
ENDIF
BREAK
CASE SHOT_SALVATION_MOUNTAIN
IF shotSalvationMountain()
eCameraShots = SHOT_LAKE
ENDIF
BREAK
CASE SHOT_LAKE
IF shotLake()
eCameraShots = SHOT_AIRPORT
ENDIF
BREAK
CASE SHOT_AIRPORT
IF shotAirport()
eCameraShots = SHOT_SUNSET_BLVD
ENDIF
BREAK
CASE SHOT_SUNSET_BLVD
IF shotSunsetBlvd()
eCameraShots = SHOT_DINO
ENDIF
BREAK
CASE SHOT_DINO
IF shotDino()
eCameraShots = SHOT_BEACH
ENDIF
BREAK
CASE SHOT_BEACH
IF shotBeach()
eCameraShots = SHOT_AIRPORT_RUNWAY
ENDIF
BREAK
CASE SHOT_AIRPORT_RUNWAY
IF shotAirportRunway()
eCameraShots = SHOT_UNDERWATER
ENDIF
BREAK
CASE SHOT_UNDERWATER
IF shotUnderwater()
eCameraShots = SHOT_TUNNELS
ENDIF
BREAK
CASE SHOT_TUNNELS
IF shotTunnels()
eCameraShots = SHOT_RECYCLE_YARD
ENDIF
BREAK
CASE SHOT_RECYCLE_YARD
IF shotRecycleYard()
eCameraShots = SHOT_SATELITES
ENDIF
BREAK
CASE SHOT_SATELITES
IF shotSatelites()
eCameraShots = SHOT_EXTRA_NG_SALTON_SEA
ENDIF
BREAK
CASE SHOT_EXTRA_NG_SALTON_SEA
IF shotExtraNGShotSaltonSea()
eCameraShots = SHOT_NORTH_YANKTON
ENDIF
BREAK
CASE SHOT_NORTH_YANKTON
IF shotNorthYankton()
eCameraShots = SHOT_ABOVE_BRIDGE
ENDIF
BREAK
CASE SHOT_ABOVE_BRIDGE
IF shotAboveBridge()
eCameraShots = SHOT_PALETO_BAY
ENDIF
BREAK
CASE SHOT_PALETO_BAY
IF shotPaletoBay()
eCameraShots = SHOT_THROUGH_CANYON
ENDIF
BREAK
CASE SHOT_THROUGH_CANYON
IF shotThroughCanyon()
eCameraShots = SHOT_WINDMILLS
ENDIF
BREAK
CASE SHOT_WINDMILLS
IF shotWindmills()
eCameraShots = SHOT_COVERED_BRIDGE
ENDIF
BREAK
CASE SHOT_COVERED_BRIDGE
IF shotCoveredBridge()
eCameraShots = SHOT_STORM_DRAIN
ENDIF
BREAK
CASE SHOT_STORM_DRAIN
IF shotStormDrain()
eCameraShots = SHOT_EXTRA_NG_FREEWAY
ENDIF
BREAK
CASE SHOT_EXTRA_NG_FREEWAY
IF shotExtraNGFreeway()
eCameraShots = SHOT_VINEWOOD_BLVD
ENDIF
BREAK
CASE SHOT_VINEWOOD_BLVD
IF shotVinewoodBlvd()
eCameraShots = SHOT_VINEWOOD_SIGN
ENDIF
BREAK
CASE SHOT_VINEWOOD_SIGN
IF shotVineWoodSign()
eCameraShots = SHOT_EXTA_NG_DAM_SHOT
ENDIF
BREAK
CASE SHOT_EXTA_NG_DAM_SHOT
IF shotExtraNGShot()
eCameraShots = SHOT_LS_THUNDER
ENDIF
BREAK
CASE SHOT_LS_THUNDER
IF shotLSThunder()
eCameraShots = SHOT_EXTRA_NG_SANTA_MONICA
ENDIF
BREAK
CASE SHOT_EXTRA_NG_SANTA_MONICA
IF shotExtraNGSantaMonica()
eCameraShots = SHOT_ENDSUNSET
ENDIF
BREAK
CASE SHOT_ENDSUNSET
IF shotEndSunset()
eCameraShots = SHOT_END
ENDIF
BREAK
CASE SHOT_END
#IF IS_DEBUG_BUILD
creditsElapsedMinutes = (TO_FLOAT(GET_GAME_TIMER()) - TO_FLOAT(iCreditsStartTime))/60000.0
PRINTLN("CREDITS LOOPED AT ", creditsElapsedMinutes, "MINUTES!")
#ENDIF
DO_SCREEN_FADE_OUT(5000)
eCameraShots = SHOT_NO_MORE
BREAK
ENDSWITCH
REPLAY_PREVENT_RECORDING_AND_UI_THIS_FRAME()
DISABLE_SELECTOR_THIS_FRAME()
//IF NOT IS_GAMEPLAY_CAM_RENDERING()
IF eCameraShots > SHOT_OPENING
SET_ENTITY_COORDS_WITHOUT_PLANTS_RESET(PLAYER_PED_ID(), GET_FINAL_RENDERED_CAM_COORD() + <<0.0, 0.0, 3.0>>)
SET_ENTITY_VISIBLE(PLAYER_PED_ID(), FALSE)
SET_ENTITY_INVINCIBLE(PLAYER_PED_ID(), TRUE)
ENDIF
DISABLE_CONTROL_ACTION(PLAYER_CONTROL, INPUT_SELECT_WEAPON)
DISABLE_CONTROL_ACTION(PLAYER_CONTROL, INPUT_SELECT_CHARACTER_FRANKLIN)
DISABLE_CONTROL_ACTION(PLAYER_CONTROL, INPUT_SELECT_CHARACTER_MICHAEL)
DISABLE_CONTROL_ACTION(PLAYER_CONTROL, INPUT_SELECT_CHARACTER_MICHAEL)
DISABLE_CONTROL_ACTION(PLAYER_CONTROL, INPUT_SELECT_CHARACTER_MULTIPLAYER)
//Stop the music when we run out of tracks.
IF ((TO_FLOAT(GET_GAME_TIMER()) - TO_FLOAT(iCreditsStartTime))/60000.0) > 39.0
AND bStopMusic = FALSE
// Rob - 2079352 - remove fade out music call
//TRIGGER_MUSIC_EVENT("ARM1_RADIO_OFF")
bStopMusic = TRUE
ENDIF
IF HAVE_CREDITS_REACHED_END()
IF bEndTheCredits = FALSE
SETTIMERA(0)
bEndTheCredits = TRUE
ENDIF
ENDIF
IF (TIMERA() > 40000 AND bEndTheCredits)
OR IS_CUTSCENE_SKIP_BUTTON_JUST_PRESSED()
//OR IS_CUTSCENE_SKIP_BUTTON_JUST_PRESSED_WITH_DELAY()
//SET_END_CREDITS_FADE_ACTIVE(FALSE)
START_AUDIO_SCENE("CAR_MOD_RADIO_MUTE_SCENE")
SET_CREDITS_FADE_OUT_WITH_SCREEN(TRUE)
IF NOT IS_SCREEN_FADED_OUT()
DO_SCREEN_FADE_OUT(5000)
ENDIF
SETTIMERB(0)
WHILE TIMERB() < 5000
HIDE_HUD_AND_RADAR_THIS_FRAME()
REPLAY_PREVENT_RECORDING_AND_UI_THIS_FRAME()
WAIT(0)
ENDWHILE
SET_WEATHER_TYPE_NOW("EXTRASUNNY")
STOP_AUDIO_SCENE("END_CREDITS_SCENE")
PLAY_END_CREDITS_MUSIC(FALSE)
STOP_AUDIO_SCENE("CAR_MOD_RADIO_MUTE_SCENE")
SET_GAME_PAUSES_FOR_STREAMING(TRUE)
PROCGRASS_ENABLE_AMBSCALESCAN()
#IF IS_DEBUG_BUILD
creditsElapsedMinutes = (TO_FLOAT(GET_GAME_TIMER()) - TO_FLOAT(iCreditsStartTime))/60000.0
PRINTLN("CREDITS LASTED ", creditsElapsedMinutes, "MINUTES! on Shot:", ENUM_TO_INT(eCameraShots))
#ENDIF
SET_TIME_SCALE(1.0)
SET_PLAYER_CONTROL(PLAYER_ID(), TRUE)
Credits_Finished()
ENDIF
BREAK
ENDSWITCH
WAIT(0)
ENDWHILE
ENDSCRIPT