725 lines
23 KiB
Python
Executable File
725 lines
23 KiB
Python
Executable File
#IF IS_FINAL_BUILD
|
|
SCRIPT
|
|
ENDSCRIPT
|
|
#ENDIF
|
|
|
|
#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_event.sch"
|
|
USING "commands_decorator.sch"
|
|
|
|
bool bSpawn = FALSE
|
|
bool bDelete = FALSE
|
|
|
|
bool bTriggerAction = FALSE
|
|
bool bClearAction = FALSE
|
|
bool bUseFocusPed = FALSE
|
|
bool bPreviousUseFocusPed = FALSE
|
|
bool bUseScenarioPed = TRUE
|
|
bool bPreviousUseScenarioPed = TRUE
|
|
|
|
INT iSelectedScenario1 = 0
|
|
INT iSelectedScenario2 = 0
|
|
INT iSelectedScenario3 = 0
|
|
INT iPreviousSelectedScenario1 = 0
|
|
INT iPreviousSelectedScenario2 = 0
|
|
INT iPreviousSelectedScenario3 = 0
|
|
|
|
INT iSelectedScenarioAction = 0
|
|
INT iDebugDrawEventCount = 0
|
|
|
|
FLOAT fEventHeading = 90.0
|
|
FLOAT fEventDistance = 2.0
|
|
|
|
|
|
|
|
VECTOR vDebugEventLocation
|
|
|
|
|
|
ENUM ScenarioEnum
|
|
CODE_HUMAN_IN_CAR_MUSIC,
|
|
CODE_HUMAN_IN_CAR_SMOKING,
|
|
CODE_HUMAN_VEHICLE_BROKEN_DOWN,
|
|
CODE_HUMAN_WANDER_CARRIER_BAGS,
|
|
CODE_HUMAN_WANDER_DRINKING,
|
|
CODE_HUMAN_WANDER_DRINKING_COFFEE,
|
|
CODE_HUMAN_WANDER_EATING_BAGEL,
|
|
CODE_HUMAN_WANDER_HANDBAG,
|
|
CODE_HUMAN_WANDER_IDLES,
|
|
CODE_HUMAN_WANDER_MOBILE,
|
|
CODE_HUMAN_WANDER_MUSIC_LISTEN,
|
|
CODE_HUMAN_WANDER_RING_BINDER,
|
|
CODE_HUMAN_WANDER_SHOPPING_BAGS,
|
|
CODE_HUMAN_WANDER_SMOKING,
|
|
PROP_HUMAN_ATM,
|
|
PROP_HUMAN_MUSCLE_CHIN_UPS,
|
|
PROP_HUMAN_SEAT_ARMCHAIR,
|
|
PROP_HUMAN_SEAT_BAR,
|
|
PROP_HUMAN_SEAT_BENCH,
|
|
PROP_HUMAN_SEAT_BENCH_BUM,
|
|
PROP_HUMAN_SEAT_BENCH_DRINK,
|
|
PROP_HUMAN_SEAT_CHAIR,
|
|
PROP_HUMAN_SEAT_COMPUTER,
|
|
PROP_HUMAN_SEAT_MUSCLE_BENCH_PRESS,
|
|
PROP_HUMAN_SEAT_RESTAURANT,
|
|
PROP_HUMAN_SEAT_STRIP_WATCH,
|
|
PROP_HUMAN_STRIP_POLE,
|
|
WORLD_HUMAN_BUM_SLUMPED,
|
|
WORLD_HUMAN_BUM_STANDING,
|
|
WORLD_HUMAN_CONST_DRILL,
|
|
WORLD_HUMAN_CLIPBOARD,
|
|
WORLD_HUMAN_DOCKWORKER_REPAIR,
|
|
WORLD_HUMAN_DRUG_DEALER,
|
|
WORLD_HUMAN_GARDENER_PLANT,
|
|
WORLD_HUMAN_GUARD_PATROL,
|
|
WORLD_HUMAN_GUARD_STAND,
|
|
WORLD_HUMAN_JOG_STANDING,
|
|
WORLD_HUMAN_LEANING,
|
|
WORLD_HUMAN_LEANING_FORWARDS,
|
|
WORLD_HUMAN_MAID_CLEAN,
|
|
WORLD_HUMAN_MIME_ARTIST,
|
|
WORLD_HUMAN_MUSCLE_FLEX,
|
|
WORLD_HUMAN_MUSCLE_FREE_WEIGHTS,
|
|
WORLD_HUMAN_PROSTITUTE,
|
|
WORLD_HUMAN_SEAT_KERB,
|
|
WORLD_HUMAN_SEAT_LEDGE,
|
|
WORLD_HUMAN_SEAT_STEPS,
|
|
WORLD_HUMAN_SEAT_WALL,
|
|
WORLD_HUMAN_SEAT_WALL_IPAD,
|
|
WORLD_HUMAN_SECURITY_SHINE_TORCH,
|
|
WORLD_HUMAN_SMOKING,
|
|
WORLD_HUMAN_STRIP_WATCH_STAND,
|
|
WORLD_HUMAN_SUPERHERO,
|
|
WORLD_HUMAN_TENNIS_PLAYER,
|
|
WORLD_HUMAN_TOURIST_MAP,
|
|
WORLD_HUMAN_TOURIST_MOBILE,
|
|
WORLD_HUMAN_WINDOW_SHOP_BROWSE,
|
|
WORLD_HUMAN_YOGA,
|
|
WORLD_VEHICLE_LIFEGUARD_TRUCK,
|
|
WORLD_VEHICLE_POLICE_CAR,
|
|
WORLD_HUMAN_PROTEST,
|
|
WORLD_HUMAN_STAND_FIRE,
|
|
CODE_HUMAN_WANDER_PURSE,
|
|
CODE_HUMAN_WANDER_TEXTING,
|
|
WORLD_COW_GRAZING,
|
|
WORLD_COYOTE_HOWL,
|
|
WORLD_COYOTE_WANDER,
|
|
WORLD_DEER_GRAZING,
|
|
WORLD_DOG_BARKING_RETRIEVER,
|
|
WORLD_DOG_BARKING_ROTTWEILER,
|
|
WORLD_GULL_FEEDING,
|
|
WORLD_GULL_STANDING,
|
|
WORLD_HEN_PECKING,
|
|
WORLD_HEN_STANDING,
|
|
WORLD_HORSE_GRAZING,
|
|
WORLD_HUMAN_BINOCULARS,
|
|
WORLD_HUMAN_BUM_FREEWAY,
|
|
WORLD_HUMAN_HIKER,
|
|
WORLD_HUMAN_JOG,
|
|
WORLD_HUMAN_POWER_WALKER,
|
|
WORLD_HUMAN_STAND_IMPATIENT,
|
|
WORLD_MOUNTAIN_LION_WANDER,
|
|
WORLD_PIGEON_FEEDING,
|
|
WORLD_PIGEON_STANDING,
|
|
WORLD_RATS_EATING,
|
|
WORLD_SHARK_SWIM,
|
|
WORLD_VEHICLE_BICYCLE_BMX,
|
|
WORLD_VEHICLE_BICYCLE_MOUNTAIN,
|
|
WORLD_VEHICLE_BICYCLE_ROAD,
|
|
WORLD_VEHICLE_SECURITY_CAR,
|
|
PROP_HUMAN_BUM_BIN,
|
|
CODE_HUMAN_COWER,
|
|
CODE_HUMAN_WANDER_BRIEFCASE,
|
|
CODE_HUMAN_WANDER_CLIPBOARD,
|
|
CODE_HUMAN_WANDER_COUPLES,
|
|
CODE_HUMAN_WANDER_EATING_DONUT,
|
|
CODE_HUMAN_WANDER_EATING_HOTDOG,
|
|
PROP_HUMAN_SEAT_NEWSPAPER,
|
|
PROP_HUMAN_SEAT_SUNLOUNGER,
|
|
WORLD_HUMAN_AA_COFFEE,
|
|
WORLD_HUMAN_AA_SMOKE,
|
|
WORLD_HUMAN_GARDENER_LEAF_BLOWER,
|
|
WORLD_HUMAN_HOSP_CLIPBOARD,
|
|
WORLD_HUMAN_JANITOR,
|
|
WORLD_HUMAN_QUEUE_IMPATIENT,
|
|
WORLD_HUMAN_SEAT_WALL_EATING,
|
|
WORLD_HUMAN_STANDING_WITH_SUITCASE,
|
|
WORLD_VEHICLE_POLICE_BIKE,
|
|
WORLD_VEHICLE_POLICE_NEXT_TO_CAR,
|
|
WORLD_VEHICLE_TRACTOR,
|
|
WORLD_VEHICLE_TRACTOR_BEACH,
|
|
PROP_HUMAN_SEAT_BUS_STOP_WAIT,
|
|
PROP_HUMAN_SEAT_BENCH_FOOD,
|
|
DRIVE,
|
|
PROP_HUMAN_MUSCLE_CHIN_UPS_PRISON,
|
|
PROP_HUMAN_SEAT_MUSCLE_BENCH_PRESS_ARMY,
|
|
PROP_HUMAN_SEAT_MUSCLE_BENCH_PRESS_PRISON,
|
|
WALK,
|
|
WORLD_VEHICLE_AMBULANCE,
|
|
WORLD_VEHICLE_DRIVE_PASSENGERS,
|
|
WORLD_VEHICLE_DRIVE_SOLO,
|
|
WORLD_VEHICLE_FIRE_TRUCK,
|
|
CODE_HUMAN_LEAN_AGAINST_CAR,
|
|
CODE_HUMAN_VEHICLE_MECHANIC,
|
|
CODE_HUMAN_IN_CAR_IDLE,
|
|
CODE_HUMAN_PARK_CAR,
|
|
PROP_HUMAN_SEAT_CHAIR_UPRIGHT,
|
|
PROP_HUMAN_SEAT_DECKCHAIR,
|
|
WORLD_FISH_FLEE,
|
|
WORLD_HUMAN_BUM_WASH,
|
|
WORLD_HUMAN_DOCKWORKER_REPAIR_LOW,
|
|
WORLD_HUMAN_DRUG_DEALER_HARD,
|
|
WORLD_HUMAN_GOLF_PLAYER,
|
|
WORLD_HUMAN_HANG_OUT_STREET,
|
|
WORLD_HUMAN_PICNIC,
|
|
WORLD_FISH_IDLE,
|
|
WORLD_HEN_FLEE,
|
|
WORLD_HUMAN_BUSKER,
|
|
WORLD_HUMAN_HIKER_STANDING,
|
|
WORLD_HUMAN_MUSICIAN,
|
|
WORLD_HUMAN_PAPARAZZI,
|
|
WORLD_HUMAN_STAR_MAP,
|
|
WORLD_RATS_FLEEING,
|
|
CODE_HUMAN_CROSS_ROAD_WAIT_LEFT,
|
|
CODE_HUMAN_CROSS_ROAD_WAIT_RIGHT,
|
|
CODE_HUMAN_JAYWALKER,
|
|
CODE_HUMAN_LOST_TOURIST_DRIVING,
|
|
CODE_HUMAN_POLICE_CROWD_CONTROL,
|
|
CODE_HUMAN_POLICE_INVESTIGATE,
|
|
PROP_HUMAN_BBQ,
|
|
WORLD_HUMAN_GUARD_STAND_ARMY,
|
|
WORLD_HUMAN_PARTYING,
|
|
WORLD_HUMAN_QUEUE_COOL,
|
|
WORLD_HUMAN_QUEUE_EXCITED,
|
|
WORLD_HUMAN_SEAT_LEDGE_EATING,
|
|
WORLD_HUMAN_STUPOR,
|
|
PROP_HUMAN_SEAT_SEWING,
|
|
WORLD_HUMAN_STAND_FISHING,
|
|
WORLD_HUMAN_STAND_MOBILE,
|
|
WORLD_HUMAN_HUMAN_STATUE,
|
|
WORLD_HUMAN_SUNBATHE,
|
|
WORLD_HUMAN_SUNBATHE_BACK,
|
|
WORLD_BOAR_GRAZING,
|
|
WORLD_VEHICLE_PARK,
|
|
WORLD_VEHICLE_PARK_PARALLEL,
|
|
NUM_SCENARIOS
|
|
ENDENUM
|
|
|
|
PROC SET_SCRIPT_CAN_START (string current_Script, int current_Script_Hash)
|
|
|
|
int iCurrent_Script
|
|
iCurrent_Script = GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(current_Script_Hash)
|
|
|
|
IF (iCurrent_Script = 0)
|
|
REQUEST_SCRIPT(current_Script)
|
|
WHILE NOT HAS_SCRIPT_LOADED(current_Script)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
START_NEW_SCRIPT(current_Script, DEFAULT_STACK_SIZE)
|
|
|
|
IF DOES_ENTITY_EXIST(GET_PLAYER_PED(GET_PLAYER_INDEX()))
|
|
IF NOT IS_PED_INJURED(GET_PLAYER_PED(GET_PLAYER_INDEX()))
|
|
DECOR_SET_BOOL(GET_PLAYER_PED(GET_PLAYER_INDEX()),"scenario_active",TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
PRINTSTRING("Launching ")
|
|
PRINTSTRING(current_Script)
|
|
PRINTSTRING(" script")
|
|
PRINTNL()
|
|
|
|
|
|
ENDIF
|
|
//ENDIF
|
|
ENDPROC
|
|
|
|
|
|
PROC CREATE_SCENARIO_SCRIPT ( ScenarioEnum eScenario )
|
|
|
|
SWITCH eScenario
|
|
CASE WORLD_HUMAN_LEANING_FORWARDS
|
|
SET_SCRIPT_CAN_START ("scn_w_h_leaning_fwd", HASH("scn_w_h_leaning_fwd"))
|
|
BREAK
|
|
CASE WORLD_HUMAN_STAND_MOBILE
|
|
SET_SCRIPT_CAN_START ("scn_w_h_stand_mobile", HASH("scn_w_h_stand_mobile"))
|
|
BREAK
|
|
|
|
CASE PROP_HUMAN_SEAT_CHAIR
|
|
SET_SCRIPT_CAN_START ("scn_prop_h_seat_chair", HASH("scn_prop_h_seat_chair"))
|
|
BREAK
|
|
|
|
CASE PROP_HUMAN_SEAT_BAR
|
|
SET_SCRIPT_CAN_START ("scn_prop_h_seat_bar", HASH("scn_prop_h_seat_bar"))
|
|
BREAK
|
|
|
|
CASE PROP_HUMAN_SEAT_BENCH
|
|
SET_SCRIPT_CAN_START ("scn_prop_h_seat_bench", HASH("scn_prop_h_seat_bench"))
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
ENDPROC
|
|
|
|
FUNC PED_INDEX FIND_PED_WITH_DECORATOR(STRING s)
|
|
|
|
IF DOES_ENTITY_EXIST(GET_PLAYER_PED(GET_PLAYER_INDEX()))
|
|
IF NOT IS_PED_INJURED(GET_PLAYER_PED(GET_PLAYER_INDEX()))
|
|
|
|
PED_INDEX pedArray[25]
|
|
|
|
INT cnt = GET_PED_NEARBY_PEDS(GET_PLAYER_PED(GET_PLAYER_INDEX()), pedArray)
|
|
IF (cnt > COUNT_OF(pedArray))
|
|
SCRIPT_ASSERT("[WARNING]:GET_PEDS_NEAR_PED - There are more in range than in the temp array")
|
|
ENDIF
|
|
|
|
INT i = 0
|
|
WHILE (i < cnt)
|
|
IF DOES_ENTITY_EXIST(pedArray[i])
|
|
IF DECOR_EXIST_ON(pedArray[i], s)
|
|
return pedArray[i]
|
|
ENDIF
|
|
ENDIF
|
|
i++
|
|
ENDWHILE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
RETURN NULL
|
|
|
|
ENDFUNC
|
|
|
|
proc CREATE_SCENARIO_ACTION()
|
|
|
|
PED_INDEX pindex
|
|
|
|
IF bUseScenarioPed
|
|
pindex = FIND_PED_WITH_DECORATOR("scenario_test_ped")
|
|
ENDIF
|
|
|
|
IF bUseFocusPed
|
|
pindex = GET_PED_INDEX_FROM_ENTITY_INDEX(GET_FOCUS_ENTITY_INDEX())
|
|
ENDIF
|
|
|
|
|
|
IF pindex <> NULL
|
|
|
|
IF NOT IS_PED_INJURED(pindex)
|
|
|
|
VECTOR eventDirection = GET_ENTITY_FORWARD_VECTOR(pindex)
|
|
VECTOR eventPosition = GET_ENTITY_COORDS(pindex)
|
|
|
|
eventDirection = ROTATE_VECTOR_ABOUT_Z(eventDirection, fEventHeading)
|
|
eventDirection *= fEventDistance
|
|
eventPosition += eventDirection
|
|
vDebugEventLocation = eventPosition
|
|
iDebugDrawEventCount = 100
|
|
|
|
IF iSelectedScenarioAction = 0
|
|
TRIGGER_PED_SCENARIO_PANICEXITTOFLEE(pindex, eventPosition)
|
|
ELIF iSelectedScenarioAction = 1
|
|
|
|
PED_INDEX pScenarioPedIndex = CREATE_PED(PEDTYPE_CIVMALE, S_M_M_DOCKWORK_01, eventPosition, 0)
|
|
DECOR_SET_BOOL(pScenarioPedIndex,"scenario_dummy_ped",TRUE)
|
|
|
|
TRIGGER_PED_SCENARIO_PANICEXITTOCOMBAT(pindex, pScenarioPedIndex)
|
|
ELIF iSelectedScenarioAction = 2
|
|
PED_INDEX pScenarioPedIndex = CREATE_PED(PEDTYPE_CIVMALE, S_M_M_DOCKWORK_01, eventPosition, 0)
|
|
DECOR_SET_BOOL(pScenarioPedIndex,"scenario_dummy_ped",TRUE)
|
|
TRIGGER_PED_SCENARIO_COWARDTHENRESUME(pindex, pScenarioPedIndex)
|
|
ELIF iSelectedScenarioAction = 3
|
|
TRIGGER_PED_SCENARIO_COWARDTHENEXIT(pindex, eventPosition)
|
|
ELIF iSelectedScenarioAction = 4
|
|
PED_INDEX pScenarioPedIndex = CREATE_PED(PEDTYPE_CIVMALE, S_M_M_DOCKWORK_01, eventPosition, 0)
|
|
DECOR_SET_BOOL(pScenarioPedIndex,"scenario_dummy_ped",TRUE)
|
|
TRIGGER_PED_SCENARIO_AGGROTHENEXIT(pindex, pScenarioPedIndex)
|
|
ELIF iSelectedScenarioAction = 5
|
|
PED_INDEX pScenarioPedIndex = CREATE_PED(PEDTYPE_CIVMALE, S_M_M_DOCKWORK_01, eventPosition, 0)
|
|
DECOR_SET_BOOL(pScenarioPedIndex,"scenario_dummy_ped",TRUE)
|
|
TRIGGER_PED_SCENARIO_SHOCKANIMATION(pindex, pScenarioPedIndex)
|
|
ELSE
|
|
TRIGGER_PED_SCENARIO_HEADLOOK(pindex, eventPosition)
|
|
ENDIF
|
|
|
|
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
PROC CLEANUP_SCENARIO_ACTION ( )
|
|
|
|
PED_INDEX pindex = FIND_PED_WITH_DECORATOR("scenario_dummy_ped")
|
|
IF pindex <> NULL
|
|
IF DOES_ENTITY_EXIST(pindex)
|
|
DELETE_PED(pindex)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
iDebugDrawEventCount = 0
|
|
|
|
ENDPROC
|
|
|
|
PROC CLEANUP_SCENARIO_SCRIPT ( )
|
|
|
|
IF DOES_ENTITY_EXIST(GET_PLAYER_PED(GET_PLAYER_INDEX()))
|
|
IF NOT IS_PED_INJURED(GET_PLAYER_PED(GET_PLAYER_INDEX()))
|
|
DECOR_SET_BOOL(GET_PLAYER_PED(GET_PLAYER_INDEX()),"scenario_active",FALSE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
|
|
PROC CLEANUP()
|
|
|
|
CLEANUP_SCENARIO_SCRIPT()
|
|
CLEANUP_SCENARIO_ACTION()
|
|
CLEAR_PRINTS()
|
|
CLEAR_HELP()
|
|
TERMINATE_THIS_THREAD ()
|
|
|
|
ENDPROC
|
|
|
|
PROC CREATE_WIDGETS()
|
|
|
|
START_WIDGET_GROUP ("scenarios_test")
|
|
START_NEW_WIDGET_COMBO()
|
|
ADD_TO_WIDGET_COMBO ("INVALID")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_IN_CAR_MUSIC")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_IN_CAR_SMOKING")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_VEHICLE_BROKEN_DOWN")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_CARRIER_BAGS")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_DRINKING")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_DRINKING_COFFEE")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_EATING_BAGEL")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_HANDBAG")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_IDLES")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_MOBILE")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_MUSIC_LISTEN")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_RING_BINDER")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_SHOPPING_BAGS")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_SMOKING")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_ATM")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_MUSCLE_CHIN_UPS")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_ARMCHAIR")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_BAR")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_BENCH")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_BENCH_BUM")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_BENCH_DRINK")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_CHAIR")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_COMPUTER")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_MUSCLE_BENCH_PRESS")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_RESTAURANT")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_STRIP_WATCH")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_STRIP_POLE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_BUM_SLUMPED")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_BUM_STANDING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_CONST_DRILL")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_CLIPBOARD")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_DOCKWORKER_REPAIR")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_DRUG_DEALER")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_GARDENER_PLANT")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_GUARD_PATROL")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_GUARD_STAND")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_JOG_STANDING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_LEANING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_LEANING_FORWARDS")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_MAID_CLEAN")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_MIME_ARTIST")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_MUSCLE_FLEX")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_MUSCLE_FREE_WEIGHTS")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_PROSTITUTE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_SEAT_KERB")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_SEAT_LEDGE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_SEAT_STEPS")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_SEAT_WALL")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_SEAT_WALL_IPAD")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_SECURITY_SHINE_TORCH")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_SMOKING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_STRIP_WATCH_STAND")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_SUPERHERO")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_TENNIS_PLAYER")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_TOURIST_MAP")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_TOURIST_MOBILE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_WINDOW_SHOP_BROWSE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_YOGA")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_LIFEGUARD_TRUCK")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_POLICE_CAR")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_PROTEST")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_STAND_FIRE")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_PURSE")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_TEXTING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_COW_GRAZING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_COYOTE_HOWL")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_COYOTE_WANDER")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_DEER_GRAZING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_DOG_BARKING_RETRIEVER")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_DOG_BARKING_ROTTWEILER")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_GULL_FEEDING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_GULL_STANDING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HEN_PECKING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HEN_STANDING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HORSE_GRAZING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_BINOCULARS")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_BUM_FREEWAY")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_HIKER")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_JOG")
|
|
STOP_WIDGET_COMBO("Scenario[1-79]", iSelectedScenario1)
|
|
|
|
START_NEW_WIDGET_COMBO()
|
|
ADD_TO_WIDGET_COMBO ("INVALID")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_POWER_WALKER")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_STAND_IMPATIENT")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_MOUNTAIN_LION_WANDER")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_PIGEON_FEEDING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_PIGEON_STANDING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_RATS_EATING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_SHARK_SWIM")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_BICYCLE_BMX")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_BICYCLE_MOUNTAIN")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_BICYCLE_ROAD")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_SECURITY_CAR")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_BUM_BIN")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_COWER")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_BRIEFCASE")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_CLIPBOARD")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_COUPLES")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_EATING_DONUT")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_WANDER_EATING_HOTDOG")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_NEWSPAPER")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_SUNLOUNGER")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_AA_COFFEE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_AA_SMOKE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_GARDENER_LEAF_BLOWER")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_HOSP_CLIPBOARD")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_JANITOR")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_QUEUE_IMPATIENT")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_SEAT_WALL_EATING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_STANDING_WITH_SUITCASE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_POLICE_BIKE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_POLICE_NEXT_TO_CAR")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_TRACTOR")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_TRACTOR_BEACH")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_BUS_STOP_WAIT")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_BENCH_FOOD")
|
|
ADD_TO_WIDGET_COMBO ("DRIVE")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_MUSCLE_CHIN_UPS_PRISON")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_MSCLE_BNCH_PRSS_ARMY")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_MSCLE_BNCH_PRSS_PRISON")
|
|
ADD_TO_WIDGET_COMBO ("WALK")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_AMBULANCE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_DRIVE_ PASSENGERS")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_DRIVE_ SOLO")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_FIRE_TRUCK")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_LEAN_AGAINST_CAR")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_VEHICLE_MECHANIC")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_IN_CAR_IDLE")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_PARK_CAR")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_CHAIR_UPRIGHT")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_DECKCHAIR")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_FISH_FLEE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_BUM_WASH")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_DOCKWORKER_REPAIR_LOW")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_DRUG_DEALER_HARD")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_GOLF_PLAYER")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_HANG_OUT_STREET")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_PICNIC")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_FISH_IDLE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HEN_FLEE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_BUSKER")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_HIKER_STANDING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_MUSICIAN")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_PAPARAZZI")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_STAR_MAP")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_RATS_FLEEING")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_CROSS_ROAD_WAIT_LEFT")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_CROSS_ROAD_WAIT_RIGHT")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_JAYWALKER")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_LOST_TOURIST_DRIVING")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_POLICE_CROWD_CONTROL")
|
|
ADD_TO_WIDGET_COMBO ("CODE_HUMAN_POLICE_INVESTIGATE")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_BBQ")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_GUARD_STAND_ARMY")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_PARTYING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_QUEUE_COOL")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_QUEUE_EXCITED")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_SEAT_LEDGE_EATING")
|
|
|
|
STOP_WIDGET_COMBO("Scenario[80-158]", iSelectedScenario2)
|
|
|
|
START_NEW_WIDGET_COMBO()
|
|
ADD_TO_WIDGET_COMBO ("INVALID")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_STUPOR")
|
|
ADD_TO_WIDGET_COMBO ("PROP_HUMAN_SEAT_SEWING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_STAND_FISHING")
|
|
ADD_TO_WIDGET_COMBO ("CODE_H_SHKING_STAND_AND_WATCH")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_STAND_MOBILE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_HUMAN_STATUE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_SUNBATHE")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_HUMAN_SUNBATHE_BACK")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_BOAR_GRAZING")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_PARK")
|
|
ADD_TO_WIDGET_COMBO ("WORLD_VEHICLE_PARK_PARALLEL")
|
|
STOP_WIDGET_COMBO("Scenario[159-count]", iSelectedScenario3)
|
|
ADD_WIDGET_BOOL ("Spawn", bSpawn)
|
|
ADD_WIDGET_BOOL ("Delete", bDelete)
|
|
|
|
START_WIDGET_GROUP ("Force Scenario Action")
|
|
START_NEW_WIDGET_COMBO()
|
|
ADD_TO_WIDGET_COMBO ("PanicExitToFlee")
|
|
ADD_TO_WIDGET_COMBO ("PanicExitToCombat")
|
|
ADD_TO_WIDGET_COMBO ("TriggerCowardThenResume")
|
|
ADD_TO_WIDGET_COMBO ("TriggerCowardThenExit")
|
|
ADD_TO_WIDGET_COMBO ("TriggerAggroThenExit")
|
|
ADD_TO_WIDGET_COMBO ("TriggerShockAnimation")
|
|
ADD_TO_WIDGET_COMBO ("TriggerHeadLook")
|
|
STOP_WIDGET_COMBO("Scenario Action", iSelectedScenarioAction)
|
|
|
|
ADD_WIDGET_FLOAT_SLIDER("Relative Heading", fEventHeading, -180.0, 180.0, 1)
|
|
ADD_WIDGET_FLOAT_SLIDER("Relative Distance", fEventDistance, 0.0, 100.0, 1)
|
|
|
|
ADD_WIDGET_BOOL ("UseFocusPed", bUseFocusPed)
|
|
ADD_WIDGET_BOOL ("UseScenarioPed", bUseScenarioPed)
|
|
|
|
ADD_WIDGET_BOOL ("Trigger", bTriggerAction)
|
|
ADD_WIDGET_BOOL ("Clear", bClearAction)
|
|
|
|
STOP_WIDGET_GROUP()
|
|
|
|
STOP_WIDGET_GROUP()
|
|
|
|
ENDPROC
|
|
|
|
PROC PROCESS_WIDGETS()
|
|
|
|
IF iSelectedScenario1 <> iPreviousSelectedScenario1
|
|
iPreviousSelectedScenario1 = iSelectedScenario1
|
|
iSelectedScenario2 = 0
|
|
iPreviousSelectedScenario2 = 0
|
|
iSelectedScenario3 = 0
|
|
iPreviousSelectedScenario3 = 0
|
|
ENDIF
|
|
|
|
IF iSelectedScenario2 <> iPreviousSelectedScenario2
|
|
iPreviousSelectedScenario2 = iSelectedScenario2
|
|
iSelectedScenario1 = 0
|
|
iPreviousSelectedScenario1 = 0
|
|
iSelectedScenario3 = 0
|
|
iPreviousSelectedScenario3 = 0
|
|
ENDIF
|
|
|
|
IF iSelectedScenario3 <> iPreviousSelectedScenario3
|
|
iPreviousSelectedScenario3 = iSelectedScenario3
|
|
iSelectedScenario1 = 0
|
|
iPreviousSelectedScenario1 = 0
|
|
iSelectedScenario2 = 0
|
|
iPreviousSelectedScenario2 = 0
|
|
ENDIF
|
|
|
|
IF bSpawn
|
|
|
|
INT iSelectedScenario
|
|
IF iSelectedScenario1 <> 0
|
|
iSelectedScenario = iSelectedScenario1 - 1
|
|
ELIF iSelectedScenario2 <> 0
|
|
iSelectedScenario = iSelectedScenario2 + 79 - 1
|
|
ELSE
|
|
iSelectedScenario = iSelectedScenario3 + 158 - 1
|
|
ENDIF
|
|
|
|
CLEANUP_SCENARIO_SCRIPT()
|
|
CREATE_SCENARIO_SCRIPT(INT_TO_ENUM(ScenarioEnum, iSelectedScenario))
|
|
|
|
bSpawn = FALSE
|
|
ENDIF
|
|
|
|
IF bDelete
|
|
CLEANUP_SCENARIO_ACTION()
|
|
CLEANUP_SCENARIO_SCRIPT()
|
|
bDelete = FALSE
|
|
ENDIF
|
|
|
|
IF bUseScenarioPed <> bPreviousUseScenarioPed
|
|
bPreviousUseScenarioPed = bUseScenarioPed
|
|
bUseFocusPed = FALSE
|
|
bPreviousUseFocusPed = FALSE
|
|
ENDIF
|
|
|
|
IF bUseFocusPed <> bPreviousUseFocusPed
|
|
bPreviousUseFocusPed = bUseFocusPed
|
|
bUseScenarioPed = FALSE
|
|
bPreviousUseScenarioPed = FALSE
|
|
ENDIF
|
|
|
|
IF bTriggerAction
|
|
bTriggerAction = FALSE
|
|
CLEANUP_SCENARIO_ACTION()
|
|
CREATE_SCENARIO_ACTION()
|
|
|
|
ENDIF
|
|
|
|
IF bClearAction
|
|
CLEANUP_SCENARIO_ACTION()
|
|
bClearAction = FALSE
|
|
ENDIF
|
|
|
|
|
|
ENDPROC
|
|
|
|
PROC PROCESS_DEBUG()
|
|
|
|
IF iDebugDrawEventCount > 0
|
|
|
|
iDebugDrawEventCount--
|
|
DRAW_DEBUG_SPHERE(vDebugEventLocation, 0.25, 255, 0, 0, 255)
|
|
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
SCRIPT
|
|
|
|
IF HAS_FORCE_CLEANUP_OCCURRED(FORCE_CLEANUP_FLAG_SP_TO_MP)
|
|
CLEANUP()
|
|
ENDIF
|
|
|
|
SET_DEBUG_ACTIVE (TRUE)
|
|
SET_DEBUG_LINES_AND_SPHERES_DRAWING_ACTIVE(TRUE)
|
|
|
|
DECOR_REGISTER_UNLOCK()
|
|
DECOR_REGISTER("scenario_test_ped", DECOR_TYPE_BOOL)
|
|
DECOR_REGISTER("scenario_active", DECOR_TYPE_BOOL)
|
|
DECOR_REGISTER("scenario_dummy_ped", DECOR_TYPE_BOOL)
|
|
|
|
DECOR_REGISTER_LOCK()
|
|
|
|
CREATE_WIDGETS()
|
|
|
|
WHILE TRUE
|
|
PROCESS_WIDGETS()
|
|
PROCESS_DEBUG()
|
|
|
|
WAIT(0)
|
|
ENDWHILE
|
|
|
|
CLEANUP()
|
|
|
|
ENDSCRIPT
|
|
|
|
#ENDIF // IS_DEBUG_BUILD
|