#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