2453 lines
67 KiB
Python
Executable File
2453 lines
67 KiB
Python
Executable File
// Do nothing in release mode
|
|
#IF IS_FINAL_BUILD
|
|
SCRIPT
|
|
ENDSCRIPT
|
|
#ENDIF
|
|
|
|
// Only include in debug mode
|
|
#IF IS_DEBUG_BUILD
|
|
|
|
USING "rage_builtins.sch"
|
|
USING "script_xml.sch"
|
|
USING "commands_ped.sch"
|
|
USING "commands_task.sch"
|
|
USING "commands_streaming.sch"
|
|
USING "commands_graphics.sch"
|
|
USING "commands_cutscene.sch"
|
|
USING "commands_debug.sch"
|
|
USING "test_tools.sch"
|
|
USING "commands_vehicle.sch"
|
|
USING "commands_camera.sch"
|
|
USING "commands_player.sch"
|
|
USING "script_DEBUG.sch"
|
|
USING "commands_script.sch"
|
|
USING "commands_entity.sch"
|
|
USING "commands_interiors.sch"
|
|
|
|
//Notes: This is script is to allow easy setup of test scenarios for the code department. It works in conjunction with test_tools.sch
|
|
//It is a data driven system
|
|
|
|
//Defaults values when the test is reset to factory the standard values are used
|
|
|
|
//vector gvMapOffset
|
|
|
|
//Level menu
|
|
STRING XMLMenu = "Testbed/TestCutsceneMenu"
|
|
//VECTOR gvMapOffset //offset all coords from the origin by the psoition of the mapin world coords
|
|
|
|
//Ped Vars
|
|
CONST_INT MAX_NUMBER_OF_PEDS 10
|
|
|
|
peds_struct TestPeds [MAX_NUMBER_OF_PEDS]
|
|
|
|
//Vehicle Vars
|
|
CONST_INT MAX_NUMBER_OF_VEHICLES 10
|
|
|
|
vehicle_struct TestVehicles[MAX_NUMBER_OF_VEHICLES]
|
|
|
|
//Route Vars
|
|
CONST_INT MAX_NUMBER_OF_NODES 7
|
|
|
|
RouteStruct Route[MAX_NUMBER_OF_NODES]
|
|
|
|
//Camera Vars
|
|
CONST_INT MAX_NUMBER_OF_CAMERAS 2
|
|
CONST_INT FixedCamera 0
|
|
CONST_INT TrackingCamera 1
|
|
|
|
CONST_INT MAX_NUMBER_OF_OBJECTS 10
|
|
|
|
Object_struct TestObjects[MAX_NUMBER_OF_OBJECTS]
|
|
|
|
|
|
StCameraData TestCams[MAX_NUMBER_OF_CAMERAS]
|
|
|
|
|
|
BOOL gAllowDebugging = TRUE
|
|
|
|
//Test
|
|
//ENUM Test_Scenario
|
|
// InitialiseScenarioData,
|
|
// CreateScenarioEntities,
|
|
// SetScenarioEntities,
|
|
// RunScenario,
|
|
// CleanupScenario
|
|
//ENDENUM
|
|
//
|
|
//Test_Scenario TestScenarioAStatus = InitialiseScenarioData
|
|
|
|
//Functions: WIDGETS
|
|
|
|
|
|
FLOAT TriggerOrient = 180
|
|
FLOAT triggerRadius = 11.0
|
|
FLOAT TriggerAngle = 90
|
|
VECTOR TriggerPos = <<0.0, 0.0, 0.0 >>
|
|
VECTOR vTestSceneOrigin
|
|
int delayinload = 70
|
|
|
|
|
|
PROC CREATE_TEST_WIDGET ()
|
|
|
|
START_WIDGET_GROUP("General Tests")
|
|
ADD_WIDGET_INT_SLIDER ("TriggerOrient",delayinload, 0, 10000, 1)
|
|
ADD_WIDGET_FLOAT_SLIDER ("TriggerOrient",TriggerOrient, 0, 360,1)
|
|
ADD_WIDGET_FLOAT_SLIDER ("triggerRadius",triggerRadius, 0, 360,1)
|
|
ADD_WIDGET_FLOAT_SLIDER ("TriggerAngle",TriggerAngle, 0, 360,1)
|
|
ADD_WIDGET_FLOAT_SLIDER ("TriggerPos.x",TriggerPos.x, -2000, 2000, 0.5)
|
|
ADD_WIDGET_FLOAT_SLIDER ("TriggerPos.y",TriggerPos.y, -2000, 2000, 0.5)
|
|
ADD_WIDGET_FLOAT_SLIDER ("TriggerPos.z",TriggerPos.z, -2000, 2000, 0.5)
|
|
ADD_WIDGET_FLOAT_SLIDER ("vTestSceneOrigin.x",vTestSceneOrigin.x, -2000, 2000, 0.5)
|
|
ADD_WIDGET_FLOAT_SLIDER ("vTestSceneOrigin.y",vTestSceneOrigin.y, -2000, 2000, 0.5)
|
|
ADD_WIDGET_FLOAT_SLIDER ("vTestSceneOrigin.z",vTestSceneOrigin.z, -2000, 2000, 0.5)
|
|
STOP_WIDGET_GROUP()
|
|
ENDPROC
|
|
|
|
// Functions end: WIDGET
|
|
|
|
//Mission flow House keeping
|
|
|
|
|
|
//PUPROSE: REmoves all the scenarios and resets all the relationships
|
|
PROC Cleanup_Scenario_Entities ()
|
|
int index = 0
|
|
for index = 0 to MAX_NUMBER_OF_PEDS -1
|
|
CLEAN_UP_PED_ENTITIES (TestPeds[index].ped)
|
|
ENDFOR
|
|
|
|
for index = 0 to MAX_NUMBER_OF_VEHICLES -1
|
|
CLEAN_UP_VEHICLE_ENTITIES (TestVehicles[index].Vehicle )
|
|
ENDFOR
|
|
|
|
FOR index = 0 TO MAX_NUMBER_OF_OBJECTS -1
|
|
CLEAN_UP_OBJECT_ENTITIES(TestObjects[index].Object)
|
|
ENDFOR
|
|
|
|
//Set_Gang_Relationships (FALSE)
|
|
ENDPROC
|
|
|
|
PROC Terminate_test_script ()
|
|
if IS_KEYBOARD_KEY_JUST_PRESSED (KEY_S)
|
|
CLEAR_PRINTS ()
|
|
CLEAR_HELP ()
|
|
Cleanup_Scenario_Entities ()
|
|
Temp_cleanup_scenario_cams ()
|
|
SET_PLAYER_COLISION(scplayer, true)
|
|
IF NOT IS_PED_INJURED (scplayer)
|
|
SET_PED_COORDS_KEEP_VEHICLE(scplayer, GET_PLAYER_START_POS () )
|
|
ENDIF
|
|
|
|
TERMINATE_THIS_THREAD ()
|
|
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
//END: House Keeping
|
|
bool bPedSetForEnterState = FALSE
|
|
bool bPlayerSetForExitState = FALSE
|
|
|
|
ENUM CutSceneState
|
|
CutSceneStart,
|
|
CutSceneStreaming,
|
|
CutScenePlaying,
|
|
CutSceneLoading,
|
|
CutScenePlayingAgain,
|
|
CutscenePost
|
|
ENDENUM
|
|
|
|
CutSceneState CutSceneFlow = CutSceneStart
|
|
|
|
PROC INITALISE_TEST_STATE()
|
|
SingleTaskStatus = startSingleTask
|
|
CutSceneFlow = CutSceneStart
|
|
|
|
bPedSetForEnterState = FALSE
|
|
bPlayerSetForExitState = FALSE
|
|
|
|
ENDPROC
|
|
|
|
ENUM Scenarios
|
|
CutSceneStandardTest = 0,
|
|
JanSeamlessTest = 1,
|
|
SCSPlayerTest1 = 2,
|
|
SCSPlayerTest2 = 3,
|
|
SCSPlayerTest3 = 4,
|
|
SCSPlayerMeetsPed1 = 5,
|
|
SCSPlayerMeetsPed2 = 6,
|
|
SCSPlayerMeetsPed3 = 7,
|
|
SCSPlayerMeetTriggerTest = 8,
|
|
SCSVehicleTest1 = 9,
|
|
SCSVehicleTest2 = 10,
|
|
SCSVehicleTest3 = 11,
|
|
SCSPropTest1 = 12,
|
|
SCSPropTest2 = 13,
|
|
SCSPropTest3 = 14,
|
|
SCSSkinnedPropTest1 = 15,
|
|
SCSSkinnedPropTest2 = 16,
|
|
SCSSkinnedPropTest3 = 17,
|
|
JanSeamlessNonPed = 18,
|
|
SCSLowVehicleDetail = 19,
|
|
PedExitWalkState = 20,
|
|
PedExitRunState = 21,
|
|
PedExitIntoFreeFallState = 22,
|
|
PedExitIntoCoverState = 23,
|
|
VehicleDoorAndWheelTest = 24,
|
|
SCSHeliboxTest = 25,
|
|
WalkTest = 26,
|
|
WalkTestSec = 27,
|
|
VehicleTest2 = 28,
|
|
ExpressionTest = 29,
|
|
PedExitWalkStateTask = 30,
|
|
TestFailedToStreamAssetsInTime = 31,
|
|
TestFailedToStreamCutFileInTime = 32,
|
|
PedRegisteredDeadForScene = 33,
|
|
StopCutsceneViaScript = 34,
|
|
ExitSceneInVehicle = 35,
|
|
ExitWithWeapon = 36,
|
|
LoadUnloadTest = 37,
|
|
RayfireTest= 38,
|
|
OverlayTest = 39,
|
|
LoadingUnloading = 40,
|
|
offscreencrash = 41,
|
|
FamFourTest = 42,
|
|
BranchTestPart_2345 = 43,
|
|
BranchTestPart_1345 = 44,
|
|
DefaultTest = 1000
|
|
ENDENUM
|
|
|
|
string CutsceneName
|
|
|
|
|
|
// END_SCENARIO: SquadOfPedsMovingBetweenVehicles
|
|
PROC SETUP_TEST_DATA ()
|
|
SWITCH int_to_enum (scenarios, gcurrentselection)
|
|
CASE ExitWithWeapon
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
CutsceneName = "seamlessexit_wpn"
|
|
BREAK
|
|
|
|
CASE LoadUnloadTest
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
BREAK
|
|
|
|
CASE RayfireTest
|
|
PlayerStartPos = <<-115.87,6452.98,30.40 >>
|
|
CutsceneName = "cbh_helicrash"
|
|
BREAK
|
|
|
|
case FamFourTest
|
|
CutsceneName = "family_4_int"
|
|
|
|
BREAK
|
|
|
|
CASE SCSHeliboxTest
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 7.0
|
|
TriggerOrient = 105.12
|
|
TriggerAngle = 85
|
|
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
TestObjects[0].ObjectCoords = <<-3.83, 86.44, 6.35>>
|
|
ENDIF
|
|
|
|
CutsceneName = "biohiest_crate"
|
|
|
|
BREAK
|
|
|
|
CASE TestFailedToStreamAssetsInTime
|
|
CASE CutSceneStandardTest
|
|
CASE StopCutsceneViaScript
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 11.5
|
|
TriggerOrient = 285.12
|
|
TriggerAngle = 85
|
|
ENDIF
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
vTestSceneOrigin = <<-1210.00, -1125.08, 6.67>>
|
|
PlayerStartPos = <<-1234.96, -1135.65, 6.80>>
|
|
ENDIF
|
|
|
|
CutsceneName = "fbi_jan_sections"
|
|
delayinload = 70
|
|
BREAK
|
|
|
|
CASE TestFailedToStreamCutFileInTime
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 11.5
|
|
TriggerOrient = 285.12
|
|
TriggerAngle = 85
|
|
ENDIF
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
vTestSceneOrigin = <<-1210.00, -1125.08, 6.67>>
|
|
PlayerStartPos = <<-1234.96, -1135.65, 6.80>>
|
|
ENDIF
|
|
|
|
CutsceneName = "fbi_jan_sections"
|
|
delayinload = 0
|
|
BREAK
|
|
|
|
CASE WalkTest
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<0.0, 0.0, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 15.0
|
|
TriggerOrient = 0.0
|
|
TriggerAngle = 0.0
|
|
ENDIF
|
|
|
|
CutsceneName = "walk_synctest"
|
|
BREAK
|
|
|
|
CASE WalkTestSec
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<0.0, 0.0, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 15.0
|
|
TriggerOrient = 0.0
|
|
TriggerAngle = 0.0
|
|
ENDIF
|
|
|
|
CutsceneName = "walk_synctest"
|
|
BREAK
|
|
|
|
CASE SCSPlayerTest1
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 3.0
|
|
TriggerOrient = 105.12
|
|
TriggerAngle = 85
|
|
ENDIF
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
vTestSceneOrigin = <<-1210.00, -1125.08, 6.67>>
|
|
PlayerStartPos = <<-1234.96, -1135.65, 6.80>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 3.0
|
|
TriggerOrient = 105.12
|
|
TriggerAngle = 85
|
|
ENDIF
|
|
CutsceneName = "Seamlesstest1"
|
|
BREAK
|
|
CASE SCSPlayerTest2
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 3.0
|
|
TriggerOrient = 285.12
|
|
TriggerAngle = 152
|
|
ENDIF
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
vTestSceneOrigin = <<-1210.00, -1125.08, 6.67>>
|
|
PlayerStartPos = <<-1234.96, -1135.65, 6.80>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 3.0
|
|
TriggerOrient = 285.12
|
|
TriggerAngle = 0.0
|
|
ENDIF
|
|
CutsceneName = "Seamlesstest2"
|
|
Break
|
|
CASE SCSPlayerTest3
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 11.5
|
|
TriggerOrient = 285.12
|
|
TriggerAngle = 85
|
|
ENDIF
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
vTestSceneOrigin = <<-1210.00, -1125.08, 6.67>>
|
|
PlayerStartPos = <<-1234.96, -1135.65, 6.80>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 3.0
|
|
TriggerOrient = 285.12
|
|
TriggerAngle = 152
|
|
ENDIF
|
|
|
|
CutsceneName = "Seamlesstest3"
|
|
|
|
BREAK
|
|
|
|
CASE SCSPlayerMeetsPed1
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
TestPeds[0].PedsCoords = <<-3.83, 86.44, 6.35>>
|
|
TestPeds[0].PedHeading = -176.44
|
|
TestPeds[0].Pedrelgrp = 1
|
|
TestPeds[0].PedModel = S_M_M_JANITOR
|
|
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 11.5
|
|
TriggerOrient = 180
|
|
TriggerAngle = 85
|
|
ENDIF
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
vTestSceneOrigin = <<-1210.00, -1125.08, 6.67>>
|
|
TestPeds[0].PedsCoords = <<-1210.00, -1125.08, 6.67>>
|
|
TestPeds[0].PedHeading = 112.30
|
|
TestPeds[0].Pedrelgrp = 1
|
|
TestPeds[0].PedModel = S_M_M_JANITOR
|
|
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 11.5
|
|
TriggerOrient = 105.84
|
|
TriggerAngle = 85
|
|
|
|
PlayerStartPos = <<-1234.96, -1135.65, 6.80>>
|
|
ENDIF
|
|
|
|
CutsceneName = "Seamlesstest_2_a"
|
|
|
|
BReak
|
|
|
|
CASE PedRegisteredDeadForScene
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 11.5
|
|
TriggerOrient = 180
|
|
TriggerAngle = 85
|
|
ENDIF
|
|
|
|
CutsceneName = "Seamlesstest_2_a"
|
|
Break
|
|
|
|
CASE SCSPlayerMeetsPed2
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 3.0
|
|
TriggerOrient = 285.12
|
|
TriggerAngle = 152
|
|
ENDIF
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
vTestSceneOrigin = <<-1210.00, -1125.08, 6.67>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 3.0
|
|
TriggerOrient = 110.12
|
|
TriggerAngle = 129
|
|
|
|
PlayerStartPos = <<-1234.96, -1135.65, 6.80>>
|
|
ENDIF
|
|
|
|
CutsceneName = "Seamlesstest_2_b"
|
|
|
|
BREAK
|
|
|
|
CASE SCSPlayerMeetsPed3
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TestPeds[0].PedsCoords = <<-1210.00, -1125.08, 6.67>>
|
|
TestPeds[0].PedHeading = 112.30
|
|
TestPeds[0].Pedrelgrp = 1
|
|
TestPeds[0].PedModel = S_M_M_JANITOR
|
|
ENDIF
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
vTestSceneOrigin = <<-1210.00, -1125.08, 6.67>>
|
|
TestPeds[0].PedsCoords = <<-1210.00, -1125.08, 6.67>>
|
|
TestPeds[0].PedHeading = 112.30
|
|
TestPeds[0].Pedrelgrp = 1
|
|
TestPeds[0].PedModel = S_M_M_JANITOR
|
|
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 11.5
|
|
TriggerOrient = 180
|
|
TriggerAngle = 85
|
|
|
|
PlayerStartPos = <<-1234.96, -1135.65, 6.80>>
|
|
ENDIF
|
|
|
|
CutsceneName = "Seamlesstest_2_c"
|
|
|
|
BREAK
|
|
|
|
|
|
CASE SCSPlayerMeetTriggerTest
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin =<<-36.82, -8.39, 6.35>>
|
|
PlayerStartPos = <<-14.60, -6.91, 6.35>>
|
|
ENDIF
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
vTestSceneOrigin = <<-1210.00, -1125.08, 6.67>>
|
|
PlayerStartPos = <<-1234.96, -1135.65, 6.80>>
|
|
ENDIF
|
|
|
|
|
|
TestPeds[0].PedsCoords = vTestSceneOrigin
|
|
TestPeds[0].PedHeading = -176.44
|
|
TestPeds[0].Pedrelgrp = 1
|
|
TestPeds[0].PedModel = S_M_M_JANITOR
|
|
|
|
BREAK
|
|
|
|
CASE JanSeamlessTest
|
|
case JanSeamlessNonPed
|
|
CutsceneName = "fbi_jan_sections"
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
|
|
|
|
TestPeds[0].PedsCoords = <<-3.83, 86.44, 6.35>>
|
|
TestPeds[0].PedHeading = -176.44
|
|
TestPeds[0].Pedrelgrp = 1
|
|
TestPeds[0].PedModel = S_M_M_JANITOR
|
|
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 11.5
|
|
TriggerOrient = 180
|
|
TriggerAngle = 85
|
|
ENDIF
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
vTestSceneOrigin = <<-104.11, -8.25, 65.35>>
|
|
|
|
PlayerStartPos = << -75, -16, 68 >>
|
|
|
|
bPedSetForEnterState = FALSE
|
|
bPlayerSetForExitState = FALSE
|
|
|
|
TestPeds[0].PedsCoords = << -106.76, -8.78, 69.52>>
|
|
TestPeds[0].PedHeading = 62.0425
|
|
TestPeds[0].Pedrelgrp = 1
|
|
TestPeds[0].PedModel = S_M_M_Janitor
|
|
|
|
TriggerRadius = 8.0
|
|
|
|
ENDIF
|
|
Break
|
|
|
|
CASE ExpressionTest
|
|
CutsceneName = "facial_combine"
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
// vTestSceneOrigin = <<0.0, 0.0, 0.0>>
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
TestPeds[0].PedsCoords = <<-3.83, 86.44, 6.35>>
|
|
TestPeds[0].PedHeading = -176.44
|
|
TestPeds[0].Pedrelgrp = 1
|
|
TestPeds[0].PedModel = S_M_M_JANITOR
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE SCSLowVehicleDetail
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
TriggerOrient = 180
|
|
triggerRadius = 11.0
|
|
TriggerAngle = 360
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TestVehicles[0].VehicleCoords =<<-3.83, 86.44, 6.35>>
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
ENDIF
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
TestVehicles[0].VehicleCoords =<<-1210.00, -1125.08, 6.67>>
|
|
vTestSceneOrigin = <<-1210.00, -1125.08, 6.67>>
|
|
PlayerStartPos = <<-1234.96, -1135.65, 6.80>>
|
|
ENDIF
|
|
|
|
//TestVehicles[0].VehicleModel = SULTAN2_LO removed
|
|
TestVehicles[0].VehicleModel = TAILGATER
|
|
|
|
CutsceneName = "veh_test2"
|
|
BREAK
|
|
|
|
|
|
CASE VehicleTest2
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
ENDIF
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
TestVehicles[0].VehicleCoords =<<-1210.00, -1125.08, 6.67>>
|
|
vTestSceneOrigin = <<-1210.00, -1125.08, 6.67>>
|
|
PlayerStartPos = <<-1234.96, -1135.65, 6.80>>
|
|
ENDIF
|
|
|
|
TestVehicles[0].VehicleModel = TAILGATER
|
|
TestVehicles[0].VehicleCoords =<<-3.83, 86.44, 6.35>>
|
|
CutsceneName = "veh_test2"
|
|
BREAK
|
|
|
|
|
|
CASE SCSVehicleTest1
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
ENDIF
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
TestVehicles[0].VehicleCoords =<<-1210.00, -1125.08, 6.67>>
|
|
vTestSceneOrigin = <<-1210.00, -1125.08, 6.67>>
|
|
PlayerStartPos = <<-1234.96, -1135.65, 6.80>>
|
|
ENDIF
|
|
|
|
TestVehicles[0].VehicleModel = SULTAN
|
|
TestVehicles[0].VehicleCoords =<<-3.83, 86.44, 6.35>>
|
|
CutsceneName = "scsveh_test1"
|
|
BREAK
|
|
|
|
CASE SCSVehicleTest2
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
ENDIF
|
|
|
|
TestVehicles[0].VehicleModel = SULTAN
|
|
TestVehicles[0].VehicleCoords =<<-3.83, 86.44, 6.35>>
|
|
CutsceneName = "scsveh_test2"
|
|
BREAK
|
|
|
|
CASE SCSVehicleTest3
|
|
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
ENDIF
|
|
|
|
TestVehicles[0].VehicleModel = SULTAN
|
|
TestVehicles[0].VehicleCoords =<<-3.83, 86.44, 6.35>>
|
|
CutsceneName = "scsveh_test3"
|
|
BREAK
|
|
|
|
CASE VehicleDoorAndWheelTest
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
ENDIF
|
|
|
|
TestVehicles[0].VehicleModel = TAILGATER
|
|
TestVehicles[0].VehicleCoords =<<-3.83, 86.44, 6.35>>
|
|
CutsceneName = "scsveh_test3"
|
|
|
|
BREAK
|
|
|
|
|
|
CASE SCSPropTest1
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
ENDIF
|
|
|
|
TestObjects[0].ObjectModel= Prop_FBIBombPlant
|
|
TestObjects[0].ObjectCoords =<<-3.83, 86.44, 6.35>>
|
|
CutsceneName = "scs01_igprop"
|
|
|
|
BREAK
|
|
|
|
CASE SCSPropTest2
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
ENDIF
|
|
|
|
TestObjects[0].ObjectModel= Prop_FBIBombPlant
|
|
TestObjects[0].ObjectCoords =<<-3.83, 86.44, 6.35>>
|
|
CutsceneName = "scs02_igprop"
|
|
Break
|
|
|
|
CASE SCSPropTest3
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
ENDIF
|
|
CutsceneName = "scs03_igprop"
|
|
Break
|
|
|
|
|
|
// CASE SCSSkinnedPropTest1
|
|
// if (GET_INDEX_OF_CURRENT_LEVEL() = testBed)
|
|
// vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
// PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
// ENDIF
|
|
//
|
|
// TestObjects[0].ObjectModel= W_5_GLOCK38
|
|
// TestObjects[0].ObjectCoords =<<-3.83, 86.44, 6.35>>
|
|
// CutsceneName = "scs01_igsprop"
|
|
//
|
|
// BREAK
|
|
//
|
|
// CASE SCSSkinnedPropTest2
|
|
// if (GET_INDEX_OF_CURRENT_LEVEL() = testBed)
|
|
// vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
// PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
// ENDIF
|
|
//
|
|
// TestObjects[0].ObjectModel= W_5_GLOCK38
|
|
// TestObjects[0].ObjectCoords =<<-3.83, 86.44, 6.35>>
|
|
// CutsceneName = "scs02_igsprop"
|
|
// Break
|
|
//
|
|
// CASE SCSSkinnedPropTest3
|
|
// if (GET_INDEX_OF_CURRENT_LEVEL() = testBed)
|
|
// vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
// PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
// ENDIF
|
|
//
|
|
// TestObjects[0].ObjectModel= W_5_GLOCK38
|
|
// TestObjects[0].ObjectCoords =<<-3.83, 86.44, 6.35>>
|
|
// CutsceneName = "scs03_igsprop"
|
|
// Break
|
|
|
|
CASE PedExitIntoFreeFallState
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<21.3, -11.3, 10.35>>
|
|
PlayerStartPos = <<-1.13, 69, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 12.0
|
|
TriggerOrient = 0
|
|
TriggerAngle = 0
|
|
ENDIF
|
|
CutsceneName = "exit_jump"
|
|
|
|
BREAK
|
|
|
|
CASE PedExitRunState
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-1.13, 69, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 12.0
|
|
TriggerOrient = 0
|
|
TriggerAngle = 0
|
|
ENDIF
|
|
CutsceneName = "exit_run"
|
|
|
|
BREAK
|
|
|
|
|
|
CASE PedExitWalkState
|
|
CASE PedExitWalkStateTask
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-1.13, 69, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 12.0
|
|
TriggerOrient = 180
|
|
TriggerAngle = 0
|
|
ENDIF
|
|
CutsceneName = "exit_walk"
|
|
|
|
BREAK
|
|
|
|
//test exiting from a cutscene into cover
|
|
CASE PedExitIntoCoverState
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
vTestSceneOrigin = <<17.73, 178.80, 6.35>>
|
|
PlayerStartPos = <<-1.13, 69, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 1.5
|
|
TriggerOrient = 180
|
|
TriggerAngle = 0
|
|
ENDIF
|
|
CutsceneName = "exit_aim"
|
|
BREAK
|
|
|
|
CASE ExitSceneInVehicle
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TriggerPos = <<0.0, 0.0, 0.0>>
|
|
TriggerRadius = 1.5
|
|
TriggerOrient = 180
|
|
TriggerAngle = 0
|
|
|
|
TestVehicles[0].VehicleModel = BJXL
|
|
TestVehicles[0].VehicleCoords =<<-3.83, 86.44, 6.35>>
|
|
|
|
TestPeds[0].PedsCoords = <<-3.83, 90.44, 6.35>>
|
|
TestPeds[0].PedHeading = -176.44
|
|
TestPeds[0].Pedrelgrp = 1
|
|
TestPeds[0].PedModel = PLAYER_ONE
|
|
|
|
|
|
CutsceneName = "armenian_3_mcs_6"
|
|
BREAK
|
|
|
|
CASE OverlayTest
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TestObjects[0].ObjectModel = PROP_TV_TEST
|
|
TestObjects[0].ObjectCoords = <<-2.83, 86.44, 6.35>>
|
|
TestObjects[0].ObjectRotation = <<0, 0, -180>>
|
|
CutsceneName = "overlaytest"
|
|
BREAK
|
|
|
|
CASE LoadingUnloading
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
|
|
CutsceneName = "armenian_3_mcs_6"
|
|
Break
|
|
|
|
case offscreencrash
|
|
vTestSceneOrigin = <<-3.83, 86.44, 6.35>>
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
TestVehicles[0].VehicleModel = SEASHARK
|
|
TestVehicles[0].VehicleCoords =<<-3.83, 86.44, 6.35>>
|
|
CutsceneName = "family_2_mcs_3"
|
|
BREAK
|
|
|
|
CASE BranchTestPart_2345
|
|
CASE BranchTestPart_1345
|
|
CutsceneName = "FBI_3_INT"
|
|
PlayerStartPos = <<-3.83, 50.44, 6.35>>
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDPROC
|
|
|
|
BLIP_INDEX CutSceneBlip
|
|
NAVDATA navDatah
|
|
INTERIOR_INSTANCE_INDEX CutScenInstance
|
|
PROC RUN_TEST ()
|
|
VECTOR vStreamArea = <<15.0 , 15.0 , 5.0>>
|
|
|
|
|
|
SWITCH int_to_enum (scenarios, gcurrentselection) // the ENUM corresponds to the values from the XML file
|
|
|
|
CASE SCSHeliboxTest
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
// SET_CUTSCENE_COORDS(vTestSceneOrigin)
|
|
SET_CUTSCENE_TRIGGER_AREA(TriggerPos, triggerRadius, TriggerOrient, TriggerAngle)
|
|
DISPLAY_CUTSCENE_TRIGGER_AREA()
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if HAS_CUTSCENE_LOADED()
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestObjects[0].Object, "CS_Container_02", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
START_CUTSCENE()
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if not HAS_CUTSCENE_FINISHED()
|
|
|
|
ELSE
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CutSceneStandardTest
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
REQUEST_AND_START_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if HAS_CUTSCENE_FINISHED()
|
|
Set_Test_State_To_Default()
|
|
ENDIF
|
|
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TestFailedToStreamAssetsInTime
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
wait(delayinload)
|
|
START_CUTSCENE()
|
|
CutSceneFlow = CutScenePlaying
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if HAS_CUTSCENE_FINISHED()
|
|
Set_Test_State_To_Default()
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE FamFourTest
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF NOT IS_PED_INJURED(player_ped_id())
|
|
set_entity_coords(player_ped_id(), <<-822.2418, 180.9213, 70.6951>>)
|
|
ENDIF
|
|
|
|
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
|
|
CutScenInstance = GET_INTERIOR_AT_COORDS_WITH_TYPE( <<-800.31, 184.80, 72.72>>, "V_Michael" )
|
|
|
|
PIN_INTERIOR_IN_MEMORY(CutScenInstance)
|
|
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
if HAS_CUTSCENE_LOADED()
|
|
if IS_INTERIOR_READY( CutScenInstance)
|
|
|
|
START_CUTSCENE()
|
|
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if HAS_CUTSCENE_FINISHED()
|
|
UNPIN_INTERIOR (CutScenInstance )
|
|
Set_Test_State_To_Default()
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE TestFailedToStreamCutFileInTime
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
wait(delayinload)
|
|
START_CUTSCENE()
|
|
CutSceneFlow = CutScenePlaying
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if HAS_CUTSCENE_FINISHED()
|
|
Set_Test_State_To_Default()
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE StopCutsceneViaScript
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
wait(delayinload)
|
|
START_CUTSCENE()
|
|
STOP_CUTSCENE()
|
|
CutSceneFlow = CutScenePlaying
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if HAS_CUTSCENE_FINISHED()
|
|
Set_Test_State_To_Default()
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE SCSPlayerTest1
|
|
CASE SCSPlayerTest2
|
|
CASE SCSPlayerTest3
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
//SET_CUTSCENE_COORDS(vTestSceneOrigin)
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if HAS_CUTSCENE_FINISHED()
|
|
Set_Test_State_To_Default()
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE WalkTestSec
|
|
CASE WalkTest
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
DRAW_DEBUG_LINE(<<0.0, 0.0, 6.38>>, <<0.0, 49.12, 6.38>>)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
DRAW_DEBUG_LINE(<<0.0, 0.0, 6.38>>, <<0.0, 49.12, 6.38>>)
|
|
if HAS_CUTSCENE_LOADED()
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
DRAW_DEBUG_LINE(<<0.0, 0.0, 6.38>>, <<0.0, 49.12, 6.38>>)
|
|
if not HAS_CUTSCENE_FINISHED()
|
|
|
|
ELSE
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE ExpressionTest
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
if HAS_CUTSCENE_LOADED()
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestPeds[0].Ped, "z_z_MAXTEST", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if not HAS_CUTSCENE_FINISHED()
|
|
|
|
ELSE
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
//Seamless test
|
|
//player walks up to ped in world
|
|
CASE PedRegisteredDeadForScene
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
|
|
SET_CUTSCENE_TRIGGER_AREA(TriggerPos, triggerRadius, TriggerOrient, TriggerAngle)
|
|
DISPLAY_CUTSCENE_TRIGGER_AREA()
|
|
|
|
if HAS_CUTSCENE_LOADED()
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
REGISTER_ENTITY_FOR_CUTSCENE( null ,"s_m_m_janitor", CU_DONT_ANIMATE_ENTITY)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
|
|
CASE SCSPlayerMeetsPed1
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
SET_CUTSCENE_TRIGGER_AREA(TriggerPos, triggerRadius, TriggerOrient, TriggerAngle)
|
|
DISPLAY_CUTSCENE_TRIGGER_AREA()
|
|
|
|
if HAS_CUTSCENE_LOADED()
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestPeds[0].ped, "s_m_m_janitor", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
//player meets ped in world
|
|
CASE SCSPlayerMeetsPed2
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
|
|
SET_CUTSCENE_TRIGGER_AREA(TriggerPos, triggerRadius, TriggerOrient, TriggerAngle)
|
|
DISPLAY_CUTSCENE_TRIGGER_AREA()
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if HAS_CUTSCENE_LOADED()
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(NULL, "s_m_m_janitor", CU_CREATE_AND_ANIMATE_NEW_SCRIPT_ENTITY)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if not HAS_CUTSCENE_FINISHED()
|
|
|
|
if not DOES_ENTITY_EXIST(testpeds[0].ped)
|
|
testpeds[0].ped = GET_PED_INDEX_FROM_ENTITY_INDEX( GET_ENTITY_INDEX_OF_REGISTERED_ENTITY("s_m_m_janitor" ))
|
|
ENDIF
|
|
|
|
DISPLAY_CUTSCENE_TRIGGER_AREA()
|
|
ELSE
|
|
if not IS_PED_INJURED(testpeds[0].ped)
|
|
TASK_FOLLOW_NAV_MESH_TO_COORD(testpeds[0].ped, <<6.10, 95.46, 6.35>>, PEDMOVE_WALK)
|
|
PRINTSTRING("told to walk")
|
|
PRINTNL()
|
|
ENDIF
|
|
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
//player meets ped and then the ped is deleted
|
|
CASE SCSPlayerMeetsPed3
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
PRINTNL()
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
|
|
DISPLAY_CUTSCENE_TRIGGER_AREA()
|
|
|
|
SET_CUTSCENE_TRIGGER_AREA(TriggerPos, triggerRadius,TriggerOrient, TriggerAngle)
|
|
|
|
if HAS_CUTSCENE_LOADED()
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestPeds[0].ped, "s_m_m_janitor", CU_ANIMATE_AND_DELETE_EXISTING_SCRIPT_ENTITY)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin )
|
|
SET_PED_AS_NO_LONGER_NEEDED(TestPeds[0].ped)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if not HAS_CUTSCENE_FINISHED()
|
|
|
|
ELSE
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
|
|
|
|
|
|
//Test the triggering of the cutscene
|
|
CASE SCSPlayerMeetTriggerTest
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
REQUEST_CUTSCENE("Seamlesstest_2_a")
|
|
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
|
|
|
|
SET_CUTSCENE_TRIGGER_AREA(TriggerPos, triggerRadius, TriggerOrient, TriggerAngle)
|
|
|
|
|
|
DISPLAY_CUTSCENE_TRIGGER_AREA()
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if HAS_CUTSCENE_LOADED()
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestPeds[0].ped, "s_m_m_janitor", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
CutSceneFlow = CutScenePlaying
|
|
PRINTSTRING("Can Trigger cutscene" )
|
|
PRINTNL()
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if not HAS_CUTSCENE_FINISHED()
|
|
DISPLAY_CUTSCENE_TRIGGER_AREA()
|
|
ELSE
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
|
|
//player walks up to ped in world
|
|
|
|
|
|
CASE JanSeamlessNonPed
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , <<30.0, 30.0, 30.0>>)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_GTA5)
|
|
if IS_ENTITY_IN_ANGLED_AREA( scplayer, <<-100.9608 , -9.5618 , 67.6090 >> , <<-97.6742 , -10.5727 , 65.3198 >> , 1.750)
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
START_CUTSCENE()
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if (GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_TESTBED)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , <<15.0, 15.0, 30.0>>)
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
PRINTSTRING("START_CUTSCENE_AT_COORDS(vTestSceneOrigin )")
|
|
PRINTNL()
|
|
SET_CUTSCENE_TRIGGER_AREA(<<0.0, 0.0, 0.0>>, 5.0, -70.0, 360.0)
|
|
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin )
|
|
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if NOT HAS_CUTSCENE_FINISHED()
|
|
IF Not IS_PED_INJURED(TestPeds[0].ped)
|
|
IF NOT bPedSetForEnterState
|
|
if CAN_SET_ENTER_STATE_FOR_REGISTERED_ENTITY("s_m_m_janitor")
|
|
|
|
CLEAR_ALL_PED_PROPS( TestPeds[0].ped)
|
|
bPedSetForEnterState = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
if not bPlayerSetForExitState
|
|
if CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("CS_Player")
|
|
IF Not IS_PED_INJURED(scplayer)
|
|
SET_PED_COMPONENT_VARIATION(scplayer, PED_COMP_SPECIAL2, 1, 0)
|
|
bPlayerSetForExitState = true
|
|
PRINTSTRING("made bag swap")
|
|
PRINTNL()
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
|
|
CASE JanSeamlessTest
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , <<30.0, 30.0, 30.0>>)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if HAS_CUTSCENE_LOADED()
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestPeds[0].ped, "s_m_m_janitor", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
START_CUTSCENE()
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
//-- VEHICLES --
|
|
|
|
CASE SCSLowVehicleDetail
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
|
|
if IS_VEHICLE_DRIVEABLE(TestVehicles[0].Vehicle)
|
|
REQUEST_VEHICLE_HIGH_DETAIL_MODEL(TestVehicles[0].Vehicle )
|
|
ENDIF
|
|
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
IF NOT HAS_CUTSCENE_LOADED()
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestVehicles[0].Vehicle, "tailgater", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE VehicleTest2
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
if HAS_CUTSCENE_LOADED()
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestVehicles[0].Vehicle, "tailgater", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE SCSVehicleTest1
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
//SET_CUTSCENE_COORDS(vTestSceneOrigin)
|
|
|
|
if HAS_CUTSCENE_LOADED()
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestVehicles[0].Vehicle, "sultan" , CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE SCSVehicleTest2
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
|
|
if HAS_CUTSCENE_LOADED()
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestVehicles[0].Vehicle, "sultan", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE SCSVehicleTest3
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea, FALSE)
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
|
|
if HAS_CUTSCENE_LOADED()
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestVehicles[0].Vehicle, "sultan", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE SCSPropTest1
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestObjects[0].Object, "Prop_FBIBombPlant", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
//SET_CUTSCENE_COORDS(vTestSceneOrigin)
|
|
SET_CUTSCENE_TRIGGER_AREA(TriggerPos, triggerRadius, TriggerOrient, TriggerAngle)
|
|
DISPLAY_CUTSCENE_TRIGGER_AREA()
|
|
|
|
if HAS_CUTSCENE_LOADED()
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE SCSPropTest2
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestObjects[0].Object, "Prop_FBIBombPlant", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
|
|
if HAS_CUTSCENE_LOADED()
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE SCSPropTest3
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_ENTITY_AT_COORD( scplayer, vTestSceneOrigin , vStreamArea)
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(null, "Prop_FBIBombPlant", CU_CREATE_AND_ANIMATE_NEW_SCRIPT_ENTITY)
|
|
CutSceneFlow = CutSceneStreaming
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
//SET_CUTSCENE_COORDS(vTestSceneOrigin)
|
|
SET_CUTSCENE_TRIGGER_AREA(TriggerPos, triggerRadius, TriggerOrient, TriggerAngle)
|
|
DISPLAY_CUTSCENE_TRIGGER_AREA()
|
|
|
|
if HAS_CUTSCENE_LOADED()
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
IF NOT HAS_CUTSCENE_FINISHED()
|
|
if not DOES_ENTITY_EXIST(TestObjects[0].Object)
|
|
TestObjects[0].Object =GET_OBJECT_INDEX_FROM_ENTITY_INDEX( GET_ENTITY_INDEX_OF_REGISTERED_ENTITY("Prop_FBIBombPlant"))
|
|
ENDIF
|
|
ELSE
|
|
if DOES_ENTITY_EXIST(TestObjects[0].Object)
|
|
|
|
SET_ENTITY_COORDS_NO_OFFSET( TestObjects[0].Object , <<0.46, 88.97, 6.35>>)
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
ENDIF
|
|
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
|
|
//player meets ped in world
|
|
CASE PedExitWalkStateTask
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
//SET_CUTSCENE_COORDS(vTestSceneOrigin)
|
|
SET_CUTSCENE_TRIGGER_AREA(TriggerPos, triggerRadius, TriggerOrient, TriggerAngle)
|
|
if HAS_CUTSCENE_LOADED()
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if not IS_PED_INJURED(scplayer)
|
|
if CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("Player_zero")
|
|
|
|
TASK_FOLLOW_NAV_MESH_TO_COORD_ADVANCED(scplayer,<<-1.65, 74.35, 6.45>>, PEDMOVE_WALK, -1, 0.35, ENAV_NO_STOPPING, navDatah)
|
|
FORCE_PED_MOTION_STATE(scplayer, MS_ON_FOOT_WALK, true, FAUS_CUTSCENE_EXIT )
|
|
PRINTSTRING("TASK_FOLLOW_NAV_MESH_TO_COORD")
|
|
PRINTNL()
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
ENDIF
|
|
|
|
if not HAS_CUTSCENE_FINISHED()
|
|
|
|
if not DOES_ENTITY_EXIST(testpeds[0].ped)
|
|
testpeds[0].ped = GET_PED_INDEX_FROM_ENTITY_INDEX( GET_ENTITY_INDEX_OF_REGISTERED_ENTITY("p_m_zero" ))
|
|
ENDIF
|
|
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
|
|
//player meets ped in world
|
|
CASE PedExitWalkState
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
//SET_CUTSCENE_COORDS(vTestSceneOrigin)
|
|
SET_CUTSCENE_TRIGGER_AREA(TriggerPos, triggerRadius, TriggerOrient, TriggerAngle)
|
|
if HAS_CUTSCENE_LOADED()
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if not IS_PED_INJURED(scplayer)
|
|
if CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("Player_zero")
|
|
FORCE_PED_MOTION_STATE(scplayer, MS_ON_FOOT_WALK, true, FAUS_CUTSCENE_EXIT )
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
ENDIF
|
|
|
|
if not HAS_CUTSCENE_FINISHED()
|
|
|
|
if not DOES_ENTITY_EXIST(testpeds[0].ped)
|
|
testpeds[0].ped = GET_PED_INDEX_FROM_ENTITY_INDEX (GET_ENTITY_INDEX_OF_REGISTERED_ENTITY("p_m_zero" ))
|
|
ENDIF
|
|
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
//player meets ped in world
|
|
CASE PedExitRunState
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
//SET_CUTSCENE_COORDS(vTestSceneOrigin)
|
|
SET_CUTSCENE_TRIGGER_AREA(TriggerPos, triggerRadius, TriggerOrient, TriggerAngle)
|
|
if HAS_CUTSCENE_LOADED()
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if not IS_PED_INJURED(scplayer)
|
|
if CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("Player_zero")
|
|
|
|
TASK_FOLLOW_NAV_MESH_TO_COORD_ADVANCED(scplayer,<<16.25, 79.55, 6.45>>, PEDMOVE_RUN, -1, 0.35, ENAV_NO_STOPPING, navDatah)
|
|
FORCE_PED_MOTION_STATE(scplayer, MS_ON_FOOT_RUN, true, FAUS_CUTSCENE_EXIT )
|
|
PRINTSTRING("TASK_FOLLOW_NAV_MESH_TO_COORD")
|
|
PRINTNL()
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
ENDIF
|
|
|
|
if not HAS_CUTSCENE_FINISHED()
|
|
|
|
if not DOES_ENTITY_EXIST(testpeds[0].ped)
|
|
testpeds[0].ped = GET_PED_INDEX_FROM_ENTITY_INDEX (GET_ENTITY_INDEX_OF_REGISTERED_ENTITY("p_m_zero" ))
|
|
ENDIF
|
|
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PedExitIntoFreeFallState
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
//SET_CUTSCENE_COORDS(vTestSceneOrigin)
|
|
SET_CUTSCENE_TRIGGER_AREA(TriggerPos, triggerRadius, TriggerOrient, TriggerAngle)
|
|
if HAS_CUTSCENE_LOADED()
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if not IS_PED_INJURED(scplayer)
|
|
if CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("Player_zero")
|
|
SET_PED_TO_RAGDOLL(scplayer, 1000, 3000, TASK_RELAX)
|
|
FORCE_PED_MOTION_STATE(scplayer, MS_DO_NOTHING, true, FAUS_CUTSCENE_EXIT )
|
|
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
ENDIF
|
|
|
|
if not HAS_CUTSCENE_FINISHED()
|
|
|
|
if not DOES_ENTITY_EXIST(testpeds[0].ped)
|
|
testpeds[0].ped = GET_PED_INDEX_FROM_ENTITY_INDEX (GET_ENTITY_INDEX_OF_REGISTERED_ENTITY("p_m_zero" ))
|
|
ENDIF
|
|
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
|
|
//player meets ped in world
|
|
CASE PedExitIntoCoverState
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
|
|
// SET_CUTSCENE_COORDS(vTestSceneOrigin)
|
|
SET_CUTSCENE_TRIGGER_AREA(TriggerPos, triggerRadius, TriggerOrient, TriggerAngle)
|
|
|
|
if HAS_CUTSCENE_LOADED()
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if not IS_PED_INJURED(scplayer)
|
|
if CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("Player_zero")
|
|
TASK_PUT_PED_DIRECTLY_INTO_COVER( scplayer, vTestSceneOrigin, -1 )
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(scplayer)
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
ENDIF
|
|
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE ExitSceneInVehicle
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
|
|
|
|
IF Not DOES_BLIP_EXIST(CutSceneBlip)
|
|
CutSceneBlip = ADD_BLIP_FOR_COORD(vTestSceneOrigin)
|
|
ENDIF
|
|
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
printstring ("CutSceneStreaming")
|
|
PRINTNL()
|
|
if HAS_CUTSCENE_LOADED()
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
if IS_VEHICLE_DRIVEABLE(TestVehicles[0].vehicle)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestVehicles[0].vehicle, "BJXL", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
ENDIF
|
|
|
|
if not IS_PED_INJURED(TestPeds[0].ped)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestPeds[0].ped, "player_one" , CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
ENDIF
|
|
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if not IS_PED_INJURED(scplayer)
|
|
|
|
if CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("player_one")
|
|
if IS_VEHICLE_DRIVEABLE(TestVehicles[0].vehicle)
|
|
if not IS_PED_INJURED(TestPeds[0].ped)
|
|
SET_PED_INTO_VEHICLE(TestPeds[0].ped, TestVehicles[0].vehicle)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
if CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("Player_zero")
|
|
|
|
if IS_VEHICLE_DRIVEABLE(TestVehicles[0].vehicle)
|
|
SET_PED_INTO_VEHICLE( scplayer, TestVehicles[0].vehicle, VS_BACK_RIGHT )
|
|
ENDIF
|
|
|
|
if IS_VEHICLE_DRIVEABLE(TestVehicles[0].vehicle )
|
|
TASK_LEAVE_VEHICLE(scplayer, TestVehicles[0].vehicle )
|
|
ENDIF
|
|
|
|
wait(0)
|
|
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
ENDIF
|
|
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE ExitWithWeapon
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
if not IS_PED_INJURED(scplayer)
|
|
GIVE_WEAPON_TO_PED( scplayer, WEAPONTYPE_ASSAULTRIFLE, 100, FALSE )
|
|
ENDIF
|
|
|
|
wait(1000)
|
|
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
printstring ("CutSceneStreaming")
|
|
PRINTNL()
|
|
if HAS_CUTSCENE_LOADED()
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
REMOVE_BLIP(CutSceneBlip)
|
|
|
|
if IS_VEHICLE_DRIVEABLE(TestVehicles[0].vehicle)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestVehicles[0].vehicle, "BJXL", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
ENDIF
|
|
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if not IS_PED_INJURED(scplayer)
|
|
if CAN_SET_ENTER_STATE_FOR_REGISTERED_ENTITY("Player_zero")
|
|
SET_CURRENT_PED_WEAPON( scplayer, WEAPONTYPE_ASSAULTRIFLE, FALSE )
|
|
ENDIF
|
|
|
|
//SET_WEAPON_VISIBILITY_FOR_CUTSCENE(scplayer, FALSE)
|
|
|
|
if CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("Player_zero")
|
|
GIVE_WEAPON_TO_PED( scplayer, WEAPONTYPE_ASSAULTRIFLE, 100, true )
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(scplayer)
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
ENDIF
|
|
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
|
|
CASE LoadUnloadTest
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
PRINTSTRING("REQUEST_CUTSCENE(fbi_jan_sections)")
|
|
PRINTNL()
|
|
REQUEST_CUTSCENE("fbi_jan_sections")
|
|
wait(100)
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
PRINTSTRING("REMOVE_CUTSCENE()")
|
|
PRINTNL()
|
|
REMOVE_CUTSCENE()
|
|
|
|
CutSceneFlow = CutSceneLoading
|
|
BREAK
|
|
|
|
CASE CutSceneLoading
|
|
PRINTSTRING("REQUEST_CUTSCENE(seamlessexit_wpn)")
|
|
PRINTNL()
|
|
if not IS_CUTSCENE_ACTIVE()
|
|
REQUEST_CUTSCENE("seamlessexit_wpn")
|
|
CutSceneFlow = CutScenePlayingAgain
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlayingAgain
|
|
if HAS_CUTSCENE_LOADED()
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if not IS_PED_INJURED(scplayer)
|
|
if CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("Player_zero")
|
|
GIVE_WEAPON_TO_PED( scplayer, WEAPONTYPE_ASSAULTRIFLE, 100, true )
|
|
FORCE_PED_AI_AND_ANIMATION_UPDATE(scplayer)
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
ENDIF
|
|
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE RayfireTest
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
if HAS_CUTSCENE_LOADED()
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
|
|
START_CUTSCENE()
|
|
SETTIMERA(0)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
if (TIMERA() > 10)
|
|
STOP_CUTSCENE()
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
|
|
|
|
|
|
IF HAS_CUTSCENE_FINISHED()
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
|
|
CASE OverlayTest
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
if HAS_CUTSCENE_LOADED()
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
|
|
if DOES_ENTITY_EXIST(TestObjects[0].Object)
|
|
SET_ENTITY_COORDS(TestObjects[0].Object, <<-3.00, 88.56, 7.04>>)
|
|
SET_ENTITY_ROTATION(TestObjects[0].Object, <<0, 0, 180>>)
|
|
PRINTSTRING("rotating object")
|
|
PRINTNL()
|
|
ENDIF
|
|
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
|
|
IF HAS_CUTSCENE_FINISHED()
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
|
|
CASE offscreencrash
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
REQUEST_CUTSCENE(CutsceneName)
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
if HAS_CUTSCENE_LOADED()
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
if IS_VEHICLE_DRIVEABLE(TestVehicles[0].Vehicle )
|
|
REGISTER_ENTITY_FOR_CUTSCENE(TestVehicles[0].Vehicle, "SEASHARK", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
ENDIF
|
|
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
break
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE BranchTestPart_1345
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
REQUEST_CUTSCENE_WITH_PLAYBACK_LIST(CutsceneName, CS_SECTION_1 | CS_SECTION_3 | CS_SECTION_4 | CS_SECTION_5 )
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
if HAS_CUTSCENE_LOADED()
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
break
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE BranchTestPart_2345
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
REQUEST_CUTSCENE_WITH_PLAYBACK_LIST(CutsceneName, CS_SECTION_2 | CS_SECTION_3 | CS_SECTION_4 | CS_SECTION_5 )
|
|
CutSceneFlow = CutSceneStreaming
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
if HAS_CUTSCENE_LOADED()
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
break
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
|
|
|
|
CASE LoadingUnloading
|
|
SWITCH CutSceneFlow
|
|
CASE CutSceneStart
|
|
if get_distance_between_coords(vTestSceneOrigin, get_entity_coords(player_ped_id())) < 20
|
|
request_cutscene(CutsceneName)
|
|
PRINTSTRING("request_cutscene")
|
|
PRINTNL()
|
|
else
|
|
if is_cutscene_active() or has_cutscene_loaded()
|
|
if get_distance_between_coords(vTestSceneOrigin, get_entity_coords(player_ped_id())) > 25
|
|
remove_cutscene()
|
|
PRINTSTRING("remove_cutscene")
|
|
PRINTNL()
|
|
endif
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
if has_cutscene_loaded()
|
|
printstring("loaded")
|
|
printnl()
|
|
else
|
|
printstring("not loaded")
|
|
printnl()
|
|
endif
|
|
|
|
BREAK
|
|
|
|
CASE CutSceneStreaming
|
|
if HAS_CUTSCENE_LOADED()
|
|
IF NOT IS_PED_INJURED(scplayer)
|
|
|
|
START_CUTSCENE_AT_COORDS(vTestSceneOrigin)
|
|
|
|
if DOES_ENTITY_EXIST(TestObjects[0].Object)
|
|
SET_ENTITY_COORDS(TestObjects[0].Object, <<-3.00, 88.56, 7.04>>)
|
|
SET_ENTITY_ROTATION(TestObjects[0].Object, <<0, 0, 180>>)
|
|
PRINTSTRING("rotating object")
|
|
PRINTNL()
|
|
ENDIF
|
|
|
|
CutSceneFlow = CutScenePlaying
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CutScenePlaying
|
|
|
|
IF HAS_CUTSCENE_FINISHED()
|
|
CutSceneFlow = CutscenePost
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
ENDPROC
|
|
|
|
|
|
//Purpose: Runs the main scenarios
|
|
PROC Run_Test_Scenario ()
|
|
int index = 0
|
|
|
|
SET_DEBUG_LINES_AND_SPHERES_DRAWING_ACTIVE(true)
|
|
|
|
SWITCH TestScenarioAStatus
|
|
//setps up all the data for the sceanrio, this is only called once or if selected in widget
|
|
CASE InitialiseScenarioData
|
|
PlayerStartPos = GET_PLAYER_START_POS() //sets the players start coords at the default
|
|
Bscenario_running = FALSE
|
|
INITIALISE_PED_DATA (Testpeds)
|
|
INITIALISE_VEHICLE_DATA (TestVehicles)
|
|
INITIALISE_CAM_DATA(TestCams )
|
|
INITIALISE_OBJECT_DATA(TestObjects)
|
|
|
|
SETUP_TEST_DATA ()
|
|
|
|
HELP_TEXT_STATE = HTF_SCENARIO_SELECTED_NOT_STARTED
|
|
TestScenarioAStatus = CreateScenarioEntities
|
|
|
|
Temp_Update_Player_With_Scenario(TestCams, scplayer, FALSE, PlayerStartPos) //sets the
|
|
|
|
BREAK
|
|
|
|
// Creates all the scenario data
|
|
CASE CreateScenarioEntities
|
|
Bscenario_running = FALSE
|
|
|
|
// Set_Gang_Relationships (TRUE)
|
|
|
|
Temp_Update_Player_With_Scenario(TestCams, scplayer, true, PlayerStartPos)
|
|
|
|
//peds
|
|
FOR index = 0 to MAX_NUMBER_OF_PEDS - 1
|
|
CREATE_PED_ENTITY(Testpeds[index])
|
|
//GiveBlipsToPedsGrps (Testpeds[index])
|
|
ALTER_COMBAT_STATS (Testpeds[index] )
|
|
SWAP_PED_WEAPONS (Testpeds[index])
|
|
ADD_RELATIONSHIP_GROUP_TO_STRUCT (Testpeds[index])
|
|
Block_Peds_Temp_Events (Testpeds[index], TRUE)
|
|
SET_PED_DEFENSIVE_AREAS(Testpeds[index] )
|
|
ENDFOR
|
|
|
|
//TestVehicles
|
|
FOR Index = 0 to MAX_NUMBER_OF_VEHICLES -1
|
|
CREATE_VEHICLE_ENTITY (TestVehicles[index] )
|
|
ENDFOR
|
|
|
|
//TestCams
|
|
for index = 0 to MAX_NUMBER_OF_CAMERAS -1
|
|
CREATE_CAM_ENTITY (TestCams[index])
|
|
ENDFOR
|
|
|
|
//TestObject
|
|
FOR index = 0 TO MAX_NUMBER_OF_OBJECTS -1
|
|
CREATE_OBJECT_ENTITY(TestObjects[index])
|
|
ENDFOR
|
|
TestScenarioAStatus = SetScenarioEntities
|
|
BREAK
|
|
|
|
CASE SetScenarioEntities
|
|
|
|
Temp_Update_Player_With_Scenario(TestCams, scplayer, true, PlayerStartPos)
|
|
|
|
Start_And_Reset_Test ()
|
|
|
|
IF gBeginCombatScenario
|
|
TestScenarioAStatus = RunScenario
|
|
gBeginCombatScenario = FALSE
|
|
gRun_debuggig = FALSE
|
|
Bscenario_running = TRUE
|
|
INITALISE_TEST_STATE()
|
|
TEMP_ACTIVATE_CAMS (TestCams[FixedCamera].cam )
|
|
|
|
IF DOES_CAM_EXIST (TestCams[FixedCamera].cam )
|
|
HELP_TEXT_STATE = HTF_SCENARIO_RUNNING_FIXED_CAM
|
|
ELSE
|
|
HELP_TEXT_STATE = HTF_STARTED_RUNNING_NO_CAMS
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
//Runs the actual selected scenario
|
|
|
|
CASE RunScenario
|
|
|
|
Temp_Run_Scenario_Tracking_Cam (TestPeds, MAX_NUMBER_OF_PEDS, TestCams[TrackingCamera].cam)
|
|
|
|
Temp_Update_Player_With_Scenario(TestCams, scplayer, true, PlayerStartPos)
|
|
|
|
Start_And_Reset_Test ()
|
|
|
|
Check_For_Scenario_Reset ()
|
|
|
|
IF DOES_CAM_EXIST (TestCams[TrackingCamera].cam)
|
|
if IS_CAM_RENDERING (TestCams[TrackingCamera].cam)
|
|
HELP_TEXT_STATE = HTF_SCENARIO_RUNNING_TRACKING_CAM
|
|
ELSE
|
|
HELP_TEXT_STATE = HTF_SCENARIO_RUNNING_FIXED_CAM
|
|
ENDIF
|
|
ENDIF
|
|
|
|
RUN_TEST () //run the main tests
|
|
|
|
BREAK
|
|
|
|
CASE CleanupScenario
|
|
|
|
HELP_TEXT_STATE = HTF_SCENARIO_SELECTED_NOT_STARTED
|
|
|
|
Cleanup_Scenario_Entities ()
|
|
|
|
IF gResetToDefault
|
|
Temp_cleanup_scenario_cams () //here we are changing scenarios so we need to reset cams
|
|
TestScenarioAStatus = InitialiseScenarioData
|
|
gResetToDefault = FALSE
|
|
ENDIF
|
|
|
|
IF gResetCombatScenario
|
|
Temp_Update_Player_With_Scenario(TestCams, scplayer, FALSE, PlayerStartPos)
|
|
gcurrentselection = gSelection
|
|
IF DOES_CAM_EXIST (TestCams[FixedCamera].cam)
|
|
ACTIVATE_CAM (TestCams[FixedCamera].cam)
|
|
ELSE
|
|
Temp_cleanup_scenario_cams ()
|
|
ENDIF
|
|
TestScenarioAStatus = CreateScenarioEntities
|
|
gResetCombatScenario = FALSE
|
|
ENDIF
|
|
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
ENDPROC
|
|
|
|
SCRIPT
|
|
|
|
SET_DEBUG_ACTIVE (TRUE)
|
|
|
|
//gvMapOffset = GET_PLAYER_START_POS ()
|
|
|
|
SETUP_MISSION_XML_MENU (XMLMenu, KEY_Q ) //defined at the top of the file
|
|
|
|
SETUP_AREA_FOR_MISSION (<<0.0, 0.0, 0.0>>)
|
|
|
|
//Gets a reference to the player
|
|
Get_The_Player ()
|
|
|
|
//set player collios
|
|
SET_PLAYER_COLISION(scplayer, true)
|
|
|
|
//Sets the test widget from the test tools
|
|
CREATE_TEST_WIDGET ()
|
|
|
|
//request the test anim bank
|
|
//REQUEST_TEST_ANIM_DICT ("misstest_anim")
|
|
|
|
WHILE TRUE
|
|
|
|
// controls the help text hides if xml menu is active
|
|
TEXT_CONTROLLER ()
|
|
|
|
// Can set all scenario peds invincible from the widget
|
|
Set_Scenario_Peds_Invincible (TestPeds, MAX_NUMBER_OF_PEDS, gsetpedsinvincible )
|
|
|
|
//User can create a debug cam for setting sceanrios
|
|
Temp_Create_Debug_Cam (TestCams[FixedCamera])
|
|
|
|
//Runs the selected option from the XML menu
|
|
Run_Selection_From_XML_input ()
|
|
|
|
//Checks that a valid selection has been input and runs the scenario
|
|
IF (gcurrentselection <> InvalidSelection)
|
|
|
|
Draw_Debug_Info ( )
|
|
|
|
//Sets the test scenario into debug mode
|
|
IF (gAllowDebugging)
|
|
Set_To_Debug ()
|
|
ENDIF
|
|
|
|
if (gRun_debuggig)
|
|
Temp_Debug_Scenario (TestPeds, TestVehicles, Route, TestCams[FixedCamera].cam, S_M_Y_COP_01) //Allows the entities in the scneario to be adjusted
|
|
Print_Scenario_Data (TestPeds, TestVehicles, Route, TestCams)
|
|
ENDIF
|
|
|
|
Run_Test_Scenario ()
|
|
|
|
SWITCH_BETWEEN_FIXED_AND_TRACKING (TestCams[FixedCamera].cam)
|
|
|
|
PRINT_ACTIVE_TEST (Bscenario_running, gRun_debuggig)
|
|
ENDIF
|
|
|
|
Terminate_test_script ()
|
|
|
|
WAIT (0)
|
|
|
|
|
|
ENDWHILE
|
|
|
|
ENDSCRIPT
|
|
|
|
|
|
#ENDIF // IS_DEBUG_BUILD
|
|
|