-
-
Save JuniorDjjr/2129e1e7640f7969acdfb1c56c263155 to your computer and use it in GitHub Desktop.
// ***************************************************************************************** | |
// ***************************************************************************************** | |
// ***************************************************************************************** | |
// ****************************************PC SA Main Script******************************** | |
// ***************************************************************************************** | |
// ***************************************************************************************** | |
// ***************************************************************************************** | |
SCRIPT_NAME MAIN //NEW MAIN | |
// ***************************************SETUP********************************************* | |
// ***************************************************************************************** | |
DO_FADE 0 FADE_OUT | |
SHOW_UPDATE_STATS FALSE // Don't want to see updates at the beginning of a new game. | |
SET_TOTAL_NUMBER_OF_MISSIONS 0 | |
SET_PROGRESS_TOTAL 0 | |
SET_MISSION_RESPECT_TOTAL 0 | |
SET_MAX_WANTED_LEVEL 6 | |
SET_DEATHARREST_STATE OFF | |
SET_TIME_OF_DAY 08 00 | |
// *****************************************CREATE PLAYER*********************************** | |
VAR_INT player1 scplayer | |
REQUEST_COLLISION 2488.5623 -1666.8645 | |
LOAD_SCENE 2488.5623 -1666.8645 13.3757 //LA | |
//LOAD_SCENE 2369.60 -1265.10 23.88 | |
//CREATE_PLAYER 0 1500.02 -1656.27 14.10 player1 //LA Downtown square | |
//CREATE_PLAYER 0 -2030.9 161.5 27.8 player1 //SF | |
//CREATE_PLAYER 0 2198.7 1679.2 10.4 player1 //Vegas | |
// *****************************************SET UP STATS************************************ | |
SET_FLOAT_STAT ENERGY 800.0 | |
SET_FLOAT_STAT BODY_MUSCLE 50.0 | |
SET_FLOAT_STAT FAT 200.0 | |
SET_FLOAT_STAT DRIVING_SKILL 0.0 | |
SET_INT_STAT CITIES_PASSED 0 | |
SET_INT_STAT RESPECT 0 | |
CREATE_PLAYER 0 2488.5623 -1666.8645 12.8757 player1 //LA hub | |
GOTO skip_create_player2 | |
CREATE_PLAYER 1 2488.5623 -1666.8645 12.8757 player2 | |
skip_create_player2: | |
DISPLAY_TIMER_BARS FALSE | |
//LA Gym | |
VAR_FLOAT statbikestamina_ctr | |
VAR_FLOAT statbikelowmuscle_ctr | |
VAR_FLOAT statbike_temp | |
VAR_FLOAT stattreadstamina_ctr | |
VAR_FLOAT stattreadlowmuscle_ctr | |
VAR_FLOAT stattread_temp | |
// ***************************************SET UP GANG THREATS******************************* | |
//VAR_INT grove_threatlist //grove gang (players gang in la1) | |
//VAR_INT flat_threatlist //flat gang | |
//VAR_INT nmex_threatlist //northside mex | |
//VAR_INT smex_threatlist //southside mex | |
//VAR_INT grove_decisions grove_group_decisions | |
//VAR_INT flat_decisions | |
//VAR_INT smex_decisions | |
//VAR_INT nmex_decisions | |
VAR_INT gf_game_timer Players_Group | |
//grove (player's gang for LA1 then enemy) | |
//GROVE STREET | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_LIKE PEDTYPE_GANG_GROVE PEDTYPE_PLAYER1 | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_GROVE PEDTYPE_GANG_FLAT | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_GROVE PEDTYPE_GANG_NMEX | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_GROVE PEDTYPE_GANG_SMEX | |
//FLATS | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_FLAT PEDTYPE_PLAYER1 | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_FLAT PEDTYPE_GANG_GROVE | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_FLAT PEDTYPE_GANG_NMEX | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_FLAT PEDTYPE_GANG_SMEX | |
//NORTH MEXICANS | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_NMEX PEDTYPE_PLAYER1 | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_NMEX PEDTYPE_GANG_GROVE | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_NMEX PEDTYPE_GANG_FLAT | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_NMEX PEDTYPE_GANG_SMEX | |
//SOUTH MEXICANS | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_SMEX PEDTYPE_PLAYER1 | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_SMEX PEDTYPE_GANG_GROVE | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_SMEX PEDTYPE_GANG_FLAT | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_SMEX PEDTYPE_GANG_NMEX | |
//SAN FRAN | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_SFMEX PEDTYPE_GANG_VIET | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_SFMEX PEDTYPE_GANG_TRIAD | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_VIET PEDTYPE_GANG_SFMEX | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_DISLIKE PEDTYPE_GANG_TRIAD PEDTYPE_GANG_SFMEX | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_TRIAD PEDTYPE_GANG_VIET | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_VIET PEDTYPE_GANG_TRIAD | |
GET_PLAYER_GROUP Player1 Players_Group | |
//SET_GROUP_SEPARATION_RANGE Players_Group 30.0 | |
// ***************************************************************************************** | |
GET_PLAYER_CHAR player1 scplayer | |
SET_CAMERA_BEHIND_PLAYER | |
SET_CHAR_HEADING scplayer 262.0 | |
//ADD_SCORE Player1 350 //TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
LOAD_AND_LAUNCH_MISSION initial.sc | |
wait 0 | |
LOAD_AND_LAUNCH_MISSION initial2.sc | |
// *************************************CONSTANTS******************************************* | |
//--- GF CONSTANTS | |
CONST_INT COOCHIE 0 | |
CONST_INT MICHELLE 1 | |
CONST_INT KYLIE 2 | |
CONST_INT BARBARA 3 | |
CONST_INT SUZIE 4 | |
CONST_INT MILLIE 5 | |
CONST_INT COOCHIE_NOT_AT_HOME 10 | |
CONST_INT MICHELLE_NOT_AT_HOME 11 | |
CONST_INT KYLIE_NOT_AT_HOME 12 | |
CONST_INT BARBARA_NOT_AT_HOME 13 | |
CONST_INT SUZIE_NOT_AT_HOME 14 | |
CONST_INT MILLIE_NOT_AT_HOME 15 | |
CONST_INT MICHELLE_BONUS_ACTIVE 21 | |
CONST_INT KYLIE_BONUS_ACTIVE 22 | |
CONST_INT BARBARA_BONUS_ACTIVE 23 | |
CONST_INT SUZIE_BONUS_ACTIVE 24 | |
CONST_INT GF_CHEAT_MODE_ON 31 | |
//--- DATE REPORT CONSTS | |
CONST_INT DATE_IN_PROGRESS 1 | |
CONST_INT DATE_WAS_SUCCESS 2 | |
CONST_INT PLAYER_AGREES_TO_SEX 3 | |
CONST_INT SEX_WAS_GOOD 4 | |
CONST_INT SEX_IN_PROGRESS 5 | |
CONST_INT GIRL_IS_BACK_AT_HOME 6 | |
CONST_INT EAT_OUT 11 | |
CONST_INT DRIVE 12 | |
CONST_INT DANCE 13 | |
CONST_INT KINKY_SEX 14 | |
CONST_INT GIRL_DRIVE 15 | |
CONST_INT MEETING_IN_PROGRESS 20 | |
CONST_INT MEET_TOMORROW 21 | |
CONST_INT FASTDATE_ON 26 | |
CONST_INT CHEAT_EAT_OUT 27 | |
CONST_INT CHEAT_DRIVE 28 | |
CONST_INT CHEAT_DANCE 29 | |
CONST_INT CHEAT_KINKY_SEX 30 | |
CONST_INT CHEAT_GIRL_DRIVE 31 | |
//--- AGENT CONSTS | |
CONST_INT APPOINTMENT_ON_FOR_COOCHIE 0 | |
CONST_INT APPOINTMENT_ON_FOR_MICHELLE 1 | |
CONST_INT APPOINTMENT_ON_FOR_KYLIE 2 | |
CONST_INT APPOINTMENT_ON_FOR_BARBARA 3 | |
CONST_INT APPOINTMENT_ON_FOR_SZUIE 4 | |
CONST_INT APPOINTMENT_ON_FOR_MILLIE 5 | |
CONST_INT MOBILE_CALL_ANSWERED 10 | |
CONST_INT MOBILE_CALL_SCRIPT_RUNNING 11 | |
CONST_INT MOBILE_INACTIVE 20 | |
CONST_INT TIME_FOR_CALL 21 | |
CONST_INT TIME_FOR_ANSWER 22 | |
CONST_INT TIME_FOR_DATE 23 | |
CONST_INT MOBILE_DUMPED 24 | |
CONST_INT KEEP_THIS_IDX 25 | |
CONST_INT MISSION_CLEANUP_DONE 31 | |
//--- LIKES ON DATE CONSTS | |
// FOOD & DRINK | |
CONST_INT LIKES_JUNK_FOOD 1 | |
CONST_INT LIKES_DINERS 2 | |
CONST_INT LIKES_BARS 3 | |
CONST_INT LIKES_DONUTS 4 | |
CONST_INT LIKES_SWANK_PLACES 5 | |
// DRIVING | |
CONST_INT LIKES_STUNTS 11 | |
CONST_INT LIKES_TO_GO_FAST 12 | |
CONST_INT LIKES_TO_CRUISE 13 | |
CONST_INT LIKES_PARKING_ROMANTIC 14 | |
CONST_INT LIKES_RICH_ZONES 15 | |
CONST_INT LIKES_GANG_ZONES 16 | |
CONST_INT LIKES_PARK_BEACH_ZONES 17 | |
CONST_INT LIKES_DESERT_COUNTRY_ZONES 18 | |
CONST_INT LIKES_SHOPPING_ZONES 19 | |
CONST_INT LIKES_ENTERTAINMENT_ZONES 20 | |
// UNIQUE | |
CONST_INT LIKES_GANG_FIGHTS 21 | |
CONST_INT LIKES_TO_DRIVE 22 | |
CONST_INT LIKES_KINKY_SEX 23 | |
CONST_INT LIKES_TO_CAUSE_ACCIDENTS_KILL_PEDS 24 | |
// MISC. | |
CONST_INT SINGS_ALONG_RADIO 26 | |
CONST_INT LIKES_SNOGGING_IN_PUBLIC 27 | |
CONST_INT LIKES_SEX_IN_PUBLIC 28 | |
CONST_INT LIKES_TO_BE_HIT_BY_PLAYER 29 | |
CONST_INT LIKES_FLYING 30 | |
CONST_INT LIKES_BOATING 31 | |
//--- LIKES PLAYER TRAITS CONSTS | |
// PHYSIQUE | |
CONST_INT FIT 1 | |
CONST_INT OBESE 2 | |
CONST_INT NORMAL 3 | |
// CAR | |
CONST_INT CAR_NORMAL_POORFAMILY 11 | |
CONST_INT CAR_EXECUTIVE_RICHFAMILY 12 | |
CONST_INT CAR_UNIQUE_CAR 13 | |
CONST_INT CAR_MOD_CAR 14 | |
CONST_INT CAR_MOTORBIKE 15 | |
CONST_INT CAR_COPCAR 16 | |
CONST_INT CAR_AMBULANCE 17 | |
CONST_INT CAR_CABBIE_TAXI 18 | |
//--- DIARY OF BUSY HOURS | |
CONST_INT H_MIDNIGHT 0 | |
CONST_INT H_2AM 2 | |
CONST_INT H_4AM 4 | |
CONST_INT H_6AM 6 | |
CONST_INT H_8AM 8 | |
CONST_INT H_10AM 10 | |
CONST_INT H_NOON 12 | |
CONST_INT H_2PM 14 | |
CONST_INT H_4PM 16 | |
CONST_INT H_6PM 18 | |
CONST_INT H_8PM 20 | |
CONST_INT H_10PM 22 | |
CONST_INT D_SUN 23 | |
CONST_INT D_MON 24 | |
CONST_INT D_TUE 25 | |
CONST_INT D_WED 26 | |
CONST_INT D_THU 27 | |
CONST_INT D_FRI 28 | |
CONST_INT D_SAT 29 | |
CONST_INT NEXT_FREE_DAY 31 | |
//--- MOBILE PHONE PARAMETERS | |
CONST_INT CALL_DATE 1 | |
CONST_INT CALL_DUMP 2 | |
//--- MISSION SPECIFIC GF CONSTS | |
CONST_INT MILLIE_LIKES_PLAYER_REQUIRED_FOR_KEYCARD 35 | |
// For wager UIs. | |
CONST_INT WAGER_WHITE 0 | |
CONST_INT WAGER_GREEN 1 | |
CONST_INT WAGER_BLUE 2 | |
// *************************************VARIABLES******************************************* | |
//GENERAL | |
VAR_INT button_pressed mission_trigger_wait_time flag_cell_nation game_timer | |
VAR_INT LStickX LStickY RStickX RStickY been_in_a_bmx tucking_contact_blip launch_shit_for_debug_build | |
VAR_INT game_starts_from_scratch Return_cities_passed flag_dont_start_shooting_range | |
VAR_INT tag_percentage cj_vomits_for_menace trigger_phonecall_failed | |
VAR_INT recording emmets_shop_blip emmets_gun swim_stamina_check_main | |
VAR_INT hours minutes LA_hub_activity keycard_aquired_from_millie player_is_completely_safe player_is_completely_safe_for_mobile | |
VAR_INT weekday activate_mobile_phone played_scipted_airscript_cut | |
VAR_INT main_visible_area trigger_final_synd_mission | |
VAR_INT model_index trigger_scrash2_mission returned_respect | |
VAR_INT car car_class oddjob_help_flag girlfried_help_flag stealth_help_flag | |
VAR_INT f1_which_missions_are_open_flag voice_over_at_hub airstrip_contact_blip | |
VAR_INT stop_gargae_for_neil trigger_final_LA1_missions trigger_final_LA2_missions trigger_ice_cold_mission | |
VAR_INT intro_bmx intro_bmx_blip trucking_help_flag R3_player_car | |
VAR_INT cat_counter funeral_mission_finished showroom_contact_blip | |
VAR_INT add_all_ammu_blips | |
VAR_FLOAT distance player_x player_y player_z | |
VAR_FLOAT heading | |
VAR_FLOAT x y z | |
VAR_FLOAT on_footX on_footY on_footZ | |
VAR_FLOAT in_carX in_carY in_carZ | |
VAR_INT time_spent_roaming_countryside | |
time_spent_roaming_countryside = 0 | |
VAR_INT time_player_spent_crime_free | |
time_player_spent_crime_free = 0 | |
//HELP MESSAGE VARS | |
VAR_INT bike_help drive_by_help | |
VAR_INT print_first_help car_help_played | |
VAR_INT driving_test_passed pilot_test_passed | |
//ODDJOB VARS | |
VAR_INT flag_menace_buyfood courier_timer | |
VAR_INT flag_kickstart_passed_1stime | |
VAR_INT f1_the90_best_score f1_spinrightgo_best_score f1_spinleftgo_best_score f1_burnlapright_best_score f1_burnlapleft_best_score | |
VAR_INT f1_popcontrol_best_score f1_cityslicking_best_score f1_whiprightterminate_best_score f1_whipleftterminate_best_score f1_alleyoop_best_score | |
VAR_INT f1_wheelieweave_best_score f1_pittechnique_best_score f1_conecoilright_best_score f1_conecoilleft_best_score | |
VAR_INT f1_the180_best_score camera_secret_help | |
VAR_INT f1_the360_best_score | |
VAR_FLOAT one_sixteenth one_thirtysecond one_sixtyfourth //stuck_x stuck_y stuck_z | |
VAR_FLOAT coord_1_x coord_1_y coord_1_z coord_2_x coord_2_y coord_c1_x coord_c1_y coord_c1_z | |
VAR_INT wasted_help wanted_star_help // flag names | |
VAR_INT show_race_selection gym_contact_blip | |
VAR_INT stat_read_skill_temp chat_help1 chat_help1_flag | |
show_race_selection = FALSE | |
VAR_INT busted_help | |
CREATE_PICKUP INFO PICKUP_ONCE 2027.77 -1420.52 16.49 wasted_help1 | |
CREATE_PICKUP INFO PICKUP_ONCE 1180.85 -1325.57 13.08 wasted_help2 | |
CREATE_PICKUP INFO PICKUP_ONCE 1550.68 -1675.49 15.01 busted_help1 | |
CREATE_PICKUP INFO PICKUP_ONCE 2431.17 -1668.75 13.04 chat_help1 | |
// *************************************LOCATE BLOB VARIABLE STUFF**************************** | |
VAR_INT blob_flag blob_flag_shop | |
// zero = false no blob displayed | |
// one = true blob is displayed | |
// before the loop set this flag tSo the way you want it displayed or nothing will happen | |
// *****************************************SPECIAL CHARACTERS******************************** | |
// Cutscene stuff | |
VAR_INT cs_time // timer for cutscenes | |
VAR_INT big_smoke | |
VAR_INT sweet | |
VAR_INT ryder | |
VAR_INT cesar | |
VAR_INT mc_strap | |
VAR_INT big_smoke_car | |
VAR_INT sweet_car | |
VAR_INT ryder_car | |
VAR_FLOAT sweet_carX sweet_carY sweet_carZ sweet_carH | |
VAR_FLOAT ryder_carX ryder_carY ryder_carZ ryder_carH | |
VAR_INT truth | |
VAR_INT catalina | |
// ODD JOB VARIABLES************************************************************************** | |
VAR_INT flag_player_on_ambulance_mission // Ambulance Missions | |
VAR_INT flag_player_on_fire_mission // Fire Truck Missions | |
VAR_INT got_siren_help_before finaleB_played_first_time_round | |
VAR_INT flag_bmx_trigger flag_nrg500_trigger | |
VAR_INT current_Language | |
VAR_INT player2 p2 gym_at_beach | |
VAR_INT flag_hhiker_trigger flag_pimping_trigger | |
VAR_INT been_in_freight_before flag_player_on_freight_mission flag_player_on_pimp_mission// Freight Missions | |
VAR_INT ft_train_level race_debug | |
VAR_INT flag_player_on_burglary_mission // burglary mission | |
VAR_FLOAT LA_ShootX LA_ShootY LA_ShootZ | |
LA_ShootX = 292.33 | |
LA_ShootY = -35.39 | |
LA_ShootZ = 1000.50 | |
race_debug = 0 | |
// 4x4/carpark Missions | |
VAR_INT flag_player_on_menace_mission | |
VAR_INT opened_badlands_up opened_sanfran_up opened_vegas_up opened_desert_up opened_la2_up | |
VAR_INT flag_mtbike_trigger | |
// Kickstart | |
VAR_INT flag_kickstart_mission1_passed | |
// BMX variables | |
VAR_FLOAT bmx_1_x bmx_1_y bmx_1_z | |
// Taxi mission | |
VAR_INT taxi_passed, R3_mission_help, flag_taxiodd_mission_launched | |
VAR_INT done_taxi_help | |
//MOBILE PHONE | |
VAR_INT timer_mobile_start timer_mobile_now timer_mobile_diff | |
//RC HELI MISSION | |
VAR_INT stat_stamina_temp | |
//Courier | |
VAR_INT flag_courier_mission_passed | |
VAR_INT flag_courier_trigger | |
//Airrace | |
VAR_INT flag_airrace_mission_passed | |
//COASTGUARD MISSION | |
VAR_INT been_in_a_coastguard_before | |
// coastguard | |
VAR_INT flag_player_on_coastguard_mission | |
//coke cash courier | |
VAR_INT courier_type | |
// Cash Courier | |
courier_type = 1 | |
// Coke Courier | |
courier_type = 2 | |
// lowrider minigame | |
VAR_INT lowrider_mission_flag | |
VAR_INT lowrider_minigame_unlocked | |
lowrider_mission_flag = 0 | |
lowrider_minigame_unlocked = 0 // gets unlocked after sweet 6 | |
// *******************************************school variables***************************************************** | |
//people | |
VAR_INT dummy_car1 dummy_car2 | |
VAR_INT instructor_car croupier_help | |
VAR_INT trafficcone_counter trafficcones[46] | |
//flags | |
VAR_INT mission_selection swimming_help | |
VAR_INT car_started | |
VAR_FLOAT instructor_car_speed instructor_car_heading | |
VAR_INT instructor_car_heading_int | |
VAR_INT car_timer lap_counter | |
VAR_FLOAT perfect_positionx perfect_positiony perfect_positionz perfect_heading players_distance_from_perfectpos | |
VAR_INT instructor_car_health dummy_car1_health dummy_car2_health total_instructor_car_health total_dummy_car1_health total_dummy_car2_health | |
VAR_INT heading_score position_score player_car_damage other_car_damage time_score overall_score total_car_damage | |
VAR_INT variablea variablec variabled | |
VAR_FLOAT variableb | |
VAR_FLOAT car_posx car_posy | |
VAR_FLOAT where_to_place_cones circle_start_x circle_start_y cone_coords_x cone_coords_y cone_coords_z cone_circle_radius | |
VAR_INT lap1_secs lap1_millisecs overall_lap1 lap2_secs lap2_millisecs overall_lap2 lap3_secs lap3_millisecs overall_lap3 | |
VAR_INT lap4_secs lap4_millisecs overall_lap4 lap5_secs lap5_millisecs overall_lap5 overall_secs overall_millisecs | |
VAR_FLOAT finish_leftx finish_lefty finish_rightx finish_righty | |
VAR_FLOAT start_coordsx start_coordsy | |
VAR_FLOAT area_check1ax area_check1ay area_check1bx area_check1by area_check2ax area_check2ay area_check2bx area_check2by | |
VAR_FLOAT area_check3ax area_check3ay area_check3bx area_check3by area_check4ax area_check4ay area_check4bx area_check4by | |
VAR_INT instructor_car_dead_flag finished_watching_scores | |
VAR_FLOAT noticeboard_x noticeboard_y noticeboard_z | |
VAR_FLOAT camera_positionx camera_positiony camera_positionz | |
VAR_INT camera_position_int | |
// *******************************************RACES variables****************************************************** | |
// AIR RACE VARIABLES | |
VAR_INT race1_best_position_airrace | |
VAR_INT race1_best_time_airrace | |
VAR_INT race2_best_position_airrace | |
VAR_INT race2_best_time_airrace | |
VAR_INT race3_best_position_airrace | |
VAR_INT race3_best_time_airrace | |
VAR_INT race4_best_position_airrace | |
VAR_INT race4_best_time_airrace | |
VAR_INT race5_best_position_airrace | |
VAR_INT race5_best_time_airrace | |
VAR_INT race6_best_position_airrace | |
VAR_INT race6_best_time_airrace | |
VAR_INT done_race1_progress_airrace done_race2_progress_airrace done_race3_progress_airrace | |
VAR_INT done_race4_progress_airrace done_race5_progress_airrace done_race6_progress_airrace | |
VAR_INT race_selection | |
race_selection = 0 | |
// *******************************************GIRLS variables****************************************************** | |
VAR_INT iGFSelfRespect[6] iGFLikesPlayer[6] iGFDesiredSexAppeal[6] iGFLikesPlayerTraits[6] // GF STATS | |
VAR_INT iGFLikesOnDate[6] iGFDiaryOfBusyHours[6] // MORE GF STATS | |
VAR_INT iGFidx //GF index for the arrays above, obviously no greater than 5 | |
VAR_INT iDateReport iAgentFlags iPhoneState iCaller | |
VAR_INT iGFBonusPickupID[4] iGFHomeBlips[6] | |
VAR_TEXT_LABEL txtCurrZone // Zone string used a bit everywhere | |
VAR_INT iActiveGF // Public Bitfield to record active GFs. | |
//STATS***************************************************************************************** | |
VAR_FLOAT fatstat_gym | |
//BEACH | |
//CREATE_PICKUP bribe PICKUP_ON_STREET_SLOW 393.9 -60.2 11.5 beach_bribe1 //Not far from Construction Site behind some houses | |
// ***************************************MISSION VARS********************************************** | |
// Global variables for missions | |
DECLARE_MISSION_FLAG flag_player_on_mission | |
VAR_INT mod_garage1 | |
VAR_INT flag_player_on_mission spray_help | |
VAR_INT flag_player_on_oddjob | |
VAR_INT total_saved_peds | |
VAR_INT weapon_shop1_blip | |
VAR_INT mod_garage_blip | |
VAR_INT wuzi | |
VAR_INT task_status | |
VAR_INT bcesar2_mission_flag | |
VAR_INT bcesar3_mission_flag | |
VAR_FLOAT chickX chickY chickZ | |
VAR_FLOAT shooter1X shooter1Y shooter1Z | |
VAR_FLOAT gravX gravY gravZ | |
VAR_FLOAT wheeloX wheeloY wheeloZ | |
VAR_FLOAT spaceX spaceY spaceZ | |
// LA1************************************************* | |
VAR_INT smoke_contact_blip sweet_contact_blip ryder_contact_blip strap_contact_blip | |
VAR_INT crash_contact_blip intro_contact_blip cesar_contact_blip intro_coords_blip | |
VAR_INT intro_blip_icon sweet_blip_icon ryder_blip_icon | |
VAR_INT crash_blip_icon smoke_blip_icon strap_blip_icon cesar_blip_icon | |
VAR_INT flag_intro_mission_counter spray_shop1 spray_shop2 spray_shop4 | |
VAR_INT flag_sweet_mission_counter | |
VAR_INT flag_ryder_mission_counter | |
VAR_INT flag_smoke_mission_counter | |
VAR_INT flag_strap_mission_counter | |
VAR_INT flag_crash_mission_counter | |
VAR_INT flag_cesar_mission_counter | |
VAR_INT flag_la1fin1_mission_counter | |
VAR_FLOAT introX introY introZ | |
VAR_FLOAT sweetX sweetY sweetZ | |
VAR_FLOAT ryderX ryderY ryderZ | |
VAR_FLOAT smokeX smokeY smokeZ | |
VAR_FLOAT strapX strapY strapZ | |
VAR_FLOAT strap2X strap2Y strap2Z | |
VAR_FLOAT crashX crashY crashZ | |
VAR_FLOAT cesarX cesarY cesarZ | |
//BADLANDS********************************************* | |
VAR_INT cat_contact_blip bcrash_contact_blip bcesar_contact_blip truth_contact_blip | |
VAR_INT cat_blip_icon truth_blip_icon | |
VAR_INT flag_cat_mission_counter flag_catcutscene_counter | |
VAR_INT flag_truth_mission_counter | |
VAR_INT flag_bcesar_mission_counter | |
VAR_INT flag_bcrash_mission_counter | |
VAR_FLOAT bcrashX bcrashY bcrashZ | |
VAR_FLOAT truthX truthY truthZ | |
VAR_FLOAT truth2X truth2Y truth2Z | |
VAR_FLOAT bcesarX bcesarY bcesarZ | |
VAR_FLOAT catX[6] catY[6] catZ[6] | |
//SAN FRAN********************************************* | |
VAR_INT wuzi_contact_blip steal_contact_blip synd_contact_blip | |
VAR_INT zero_contact_blip trace_contact_blip[4] scrash_contact_blip garage_contact_blip | |
VAR_INT wuzi_blip_icon synd_blip_icon steal_blip_icon garage_blip_icon | |
VAR_INT trace_blip_icon zero_blip_icon trace_contact_blip2 | |
VAR_INT flag_garage_mission_counter | |
VAR_INT flag_zero_mission_counter | |
VAR_INT flag_wuzi_mission_counter | |
VAR_INT flag_steal_mission_counter | |
VAR_INT flag_synd_mission_counter | |
VAR_INT flag_scrash_mission_counter | |
VAR_FLOAT garageX garageY garageZ | |
VAR_FLOAT zeroX zeroY zeroZ | |
VAR_FLOAT wuziX wuziY wuziZ | |
VAR_FLOAT stealX stealY stealZ | |
VAR_FLOAT syndX syndY syndZ | |
VAR_FLOAT traceX[4] traceY[4] traceZ[4] | |
VAR_FLOAT scrashX scrashY scrashZ | |
VAR_FLOAT testsX testsY testsZ | |
//VEGAS************************************************ | |
VAR_INT desert_contact_blip desert2_contact_blip casino_contact_blip vcrash_contact_blip doc_contact_blip heist_contact_blip | |
VAR_INT desert_blip_icon desert2_blip_icon casino_blip_icon doc_blip_icon heist_blip_icon pilot_blip_icon pilot_contact_blip | |
VAR_INT flag_desert_mission_counter Theheist_blip_icon Theheist_contact_blip | |
VAR_INT dschool_contact_blip | |
VAR_INT flag_casino_mission_counter | |
VAR_INT flag_vcrash_mission_counter | |
VAR_INT flag_doc_mission_counter | |
VAR_INT flag_heist_mission_counter | |
VAR_FLOAT desertX desertY desertZ | |
VAR_FLOAT desert2X desert2Y desert2Z | |
VAR_FLOAT casinoX casinoY casinoZ | |
VAR_FLOAT TheheistX TheheistY TheheistZ | |
VAR_FLOAT vcrashX vcrashY vcrashZ | |
VAR_FLOAT docX docY docZ | |
VAR_FLOAT heistX heistY heistZ | |
//LA2************************************************** | |
VAR_INT mansion_contact_blip grove_contact_blip | |
VAR_INT mansion_blip_icon grove_blip_icon | |
VAR_INT flag_mansion_mission_counter | |
VAR_INT flag_grove_mission_counter quarry_contact_blip | |
VAR_INT flag_riot_mission_counter | |
VAR_INT boat_school_blip got_gimp_suit | |
VAR_INT bike_school_blip | |
VAR_FLOAT mansionX mansionY mansionZ | |
VAR_FLOAT groveX groveY groveZ | |
//ODDJOBS | |
VAR_FLOAT RouletteX RouletteY RouletteZ | |
VAR_FLOAT otbX otbY otbZ | |
VAR_FLOAT blackjackX blackjackY blackjackZ | |
VAR_FLOAT driving_schoolx driving_schooly driving_schoolz | |
VAR_FLOAT basketballx basketbally basketballz | |
VAR_FLOAT limox limoy limoz | |
VAR_FLOAT directorx directory directorz | |
VAR_FLOAT valetx valety valetz | |
VAR_FLOAT banditx bandity banditz | |
VAR_FLOAT pilotx piloty pilotz // Pilot School Stuff | |
intro_blip_icon = RADAR_SPRITE_CJ | |
sweet_blip_icon = RADAR_SPRITE_SWEET | |
ryder_blip_icon = RADAR_SPRITE_RYDER | |
smoke_blip_icon = RADAR_SPRITE_BIG_SMOKE | |
strap_blip_icon = RADAR_SPRITE_OGLOC | |
crash_blip_icon = RADAR_SPRITE_CRASH1 //This 1s the same for scrash, bcrash and vcrash | |
cesar_blip_icon = RADAR_SPRITE_CESAR //Same for bcesar | |
cat_blip_icon = RADAR_SPRITE_CAT_PINK | |
truth_blip_icon = RADAR_SPRITE_TRUTH | |
wuzi_blip_icon = RADAR_SPRITE_WOOZIE | |
synd_blip_icon = RADAR_SPRITE_LOCO | |
garage_blip_icon = RADAR_SPRITE_TRIADS | |
steal_blip_icon = RADAR_SPRITE_CESAR | |
trace_blip_icon = RADAR_SPRITE_RACE | |
zero_blip_icon = RADAR_SPRITE_ZERO | |
casino_blip_icon = RADAR_SPRITE_TRIADS_CASINO | |
heist_blip_icon = RADAR_SPRITE_MAFIA | |
Theheist_blip_icon = RADAR_SPRITE_CASH | |
doc_blip_icon = RADAR_SPRITE_MADDOG | |
desert_blip_icon = RADAR_SPRITE_TORENO_RANCH | |
desert2_blip_icon = RADAR_SPRITE_AIRYARD | |
mansion_blip_icon = RADAR_SPRITE_CJ | |
pilot_blip_icon = RADAR_SPRITE_SCHOOL | |
grove_blip_icon = RADAR_SPRITE_SWEET //GET NEW BLIP FOR THIS | |
GOTO dont_run_the_blips | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2447.3643 -1974.4963 12.5469 RADAR_SPRITE_EMMETGUN emmets_shop_blip //Clothes | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2070.2703 -1791.0918 17.1484 RADAR_SPRITE_BARBERS barber_shop1 //Barbers | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2107.6243 -1807.5155 21.2114 RADAR_SPRITE_PIZZA food_shop1 //Pizza | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2243.8069 -1668.5667 20.0313 RADAR_SPRITE_TSHIRT clothes_shop1 //Clothes | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT introX introY introZ intro_blip_icon intro_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT ryderX ryderY ryderZ ryder_blip_icon ryder_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT smokeX smokeY smokeZ smoke_blip_icon smoke_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT strapX strapY strapZ strap_blip_icon strap_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT crashX crashY crashZ crash_blip_icon crash_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT cesarX cesarY cesarZ cesar_blip_icon cesar_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT bcrashX bcrashY bcrashZ crash_blip_icon bcrash_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT catX[0] catY[0] catZ[0] cat_blip_icon cat_contact_blip //cat lodge | |
//ADD_SPRITE_BLIP_FOR_CONTACT_POINT catX[5] catY[5] catZ[5] cat_blip_icon cat_contact_blip //Cat Truck Stop | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT truthX truthY truthZ truth_blip_icon truth_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT bcesarX bcesarY bcesarZ cesar_blip_icon bcesar_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ crash_blip_icon scrash_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT wuziX wuziY wuziZ wuzi_blip_icon wuzi_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT zeroX zeroY zeroZ zero_blip_icon zero_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT stealX stealY stealZ steal_blip_icon steal_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ garage_blip_icon garage_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT syndX syndY syndZ crash_blip_icon synd_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT testsX testsY testsZ trace_blip_icon trace_contact_blip[0] | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT testsX testsY testsZ trace_blip_icon trace_contact_blip2 | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desertX desertY desertZ desert_blip_icon desert_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desert2X desert2Y desert2Z desert2_blip_icon desert2_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT casinoX casinoY casinoZ casino_blip_icon casino_contact_blip //TRIAD CASINO | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT TheheistX TheheistY TheheistZ Theheist_blip_icon Theheist_contact_blip //ROB MAFIA CASINO | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT docX docY docZ doc_blip_icon doc_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT vcrashX vcrashY vcrashZ crash_blip_icon vcrash_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT heistX heistY heistZ heist_blip_icon heist_contact_blip //MAFIA CASINO | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT mansionX mansionY mansionZ mansion_blip_icon mansion_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT mansionX mansionY mansionZ mansion_blip_icon grove_contact_blip //REMOVE | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT pilotx piloty pilotz pilot_blip_icon pilot_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT -2031.2 -118.0 34.3 RADAR_SPRITE_SCHOOL dschool_contact_blip | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT boatsX boatsY boatsZ RADAR_SPRITE_SCHOOL boat_school_blip | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT boatsX boatsY boatsZ RADAR_SPRITE_SCHOOL bike_school_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT 2228.0002 -1722.8113 12.5543 sweet_blip_icon gym_contact_blip | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT save_pickupX[5] save_pickupY[5] save_pickupZ[5] RADAR_SPRITE_SAVEHOUSE save_house_blip[5] | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT quarryX quarryY quarryZ RADAR_SPRITE_BULLDOZER quarry_contact_blip | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2728.5, 212.2, 3.4 RADAR_SPRITE_MOD_GARAGE mod_garage_blips[0] | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2728.5, 212.2, 3.4 RADAR_SPRITE_MOD_GARAGE mod_garage_blips[1] | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[0] propertyY[0] propertyZ[0] RADAR_SPRITE_PROPERTY_GREEN showroom_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[1] propertyY[1] propertyZ[1] RADAR_SPRITE_PROPERTY_GREEN zero_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[2] propertyY[2] propertyZ[2] RADAR_SPRITE_PROPERTY_GREEN airstrip_contact_blip | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD truckX truckY truckZ RADAR_SPRITE_TRUCK tucking_contact_blip | |
CREATE_PROTECTION_PICKUP 2508.359 -1676.538 12.579 10000 territory_cash territory_pickup | |
CREATE_PICKUP KEYCARD PICKUP_ONCE 0.0 0.0 0.0 millies_keycard_pickup | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT 2035.7241 2727.9604 9.8281 Theheist_blip_icon Thekeycard_contact_blip | |
CREATE_LOCKED_PROPERTY_PICKUP propertyX[0] propertyY[0] propertyZ[0] PROP_4 save_housepickup[0] //SHOWROM | |
CREATE_LOCKED_PROPERTY_PICKUP propertyX[1] propertyY[1] propertyZ[1] PROP_4 save_housepickup[1] //ZEROS | |
CREATE_LOCKED_PROPERTY_PICKUP propertyX[2] propertyY[2] propertyZ[2] PROP_4 save_housepickup[2] //AIRSTRIP | |
CREATE_OBJECT ad_flatdoor 1833.36 -1995.45 12.5 riot2_door[0] | |
CREATE_OBJECT ad_flatdoor 1819.81 -1994.66 12.5 riot2_door[1] | |
CREATE_OBJECT ad_flatdoor 1827.68 -1980.0 12.5 riot2_door[2] | |
CREATE_OBJECT ad_flatdoor 1851.84 -1990.67 12.5 riot2_door[3] | |
CREATE_OBJECT ad_flatdoor 1867.29 -1984.96 12.5 riot2_door[4] | |
CREATE_OBJECT ad_flatdoor 1866.52 -1998.53 12.5 riot2_door[5] | |
CREATE_OBJECT ad_flatdoor 1899.75 -1984.95 12.5 riot2_door[6] | |
CREATE_OBJECT ad_flatdoor 1914.39 -1992.82 12.5 riot2_door[7] | |
CREATE_OBJECT ad_flatdoor 1899.01 -1998.5 12.5 riot2_door[8] | |
CREATE_OBJECT ad_flatdoor 1900.89 -2020.11 12.5 riot2_door[9] | |
CREATE_OBJECT ad_flatdoor 1914.4 -2020.91 12.5 riot2_door[10] | |
CREATE_OBJECT ad_flatdoor 1906.54 -2035.52 12.5 riot2_door[11] | |
//CREATE_OBJECT ad_flatdoor 1851.86 -2020.14 12.5 riot2_door[12] | |
//CREATE_OBJECT ad_flatdoor 1865.42 -2020.89 12.5 riot2_door[13] | |
//CREATE_OBJECT ad_flatdoor 1857.55 -2035.52 12.5 riot2_door[14] | |
dont_run_the_blips: | |
// ************************************HELP PICKUPS VARIABLES************************************ | |
// WASTED HELP ICONS | |
VAR_INT wasted_help1 | |
VAR_INT wasted_help2 | |
//CREATE_PICKUP INFO PICKUP_ONCE 493.5 703.1 12.1 wasted_help1 | |
//CREATE_PICKUP INFO PICKUP_ONCE -108.3 -974.4 10.4 wasted_help2 | |
// BUSTED HELP ICONS | |
VAR_INT busted_help1 | |
//CREATE_PICKUP INFO PICKUP_ONCE 508.9 506.8 11.3 busted_help1 | |
//CREATE_PICKUP INFO PICKUP_ONCE 398.8 -469.7 11.7 busted_help2 | |
// ************************************PICKUPVAN************************************ | |
//VAR_INT collectable1_van | |
//VAR_FLOAT collectable1_van_x collectable1_van_y collectable1_van_z collectable1_van_h | |
// Zone Locate needed for each van/radio station collectable1_van_x = 2520.56 collectable1_van_y = -1461.98 collectable1_van_z = 23.79 collectable1_van_h = 270.37 | |
//CREATE_CAR_GENERATOR collectable1_van_x collectable1_van_y collectable1_van_z collectable1_van_h NEWSVAN -1 -1 TRUE 0 0 0 10000 gen_car41 // Package Van LA | |
// *****************************************SWITCH ROADS OFF**************************************** | |
SWITCH_ROADS_OFF 2500.0 -1677.0 20.0 2430.0 -1653.0 0.0 //REMOVE (SPEAK TO JOHN) | |
// *****************************************SHOPS****************************************************** | |
VAR_INT flag_store_day_food hyfra_gen1 // TEST STUFF TO COME OUT!!!!!!!!!!!!! | |
flag_store_day_food = 0 | |
VAR_INT total_food_bought_per_day_shops | |
total_food_bought_per_day_shops = 0 | |
// Generic for all shops | |
VAR_INT skip_shopping_wait flag_changed_hair_intro2 | |
// TO MAKE PEDS IN PIZZA SHOP PANIC | |
VAR_INT iSetPizzaPanic | |
iSetPizzaPanic = 0 // 0 = DEFAULT / 1 = Peds Cower | |
VAR_FLOAT keep_offX keep_offY keep_offZ | |
VAR_FLOAT tray_offX tray_offY tray_offZ keep_off_dirX keep_off_dirY | |
VAR_FLOAT cam_offx cam_offy cam_offz // camera position | |
VAR_FLOAT ammuX ammuY ammuZ | |
VAR_FLOAT SHOPS_TEXT_SCALEX SHOPS_TEXT_SCALEY | |
VAR_INT TEXT_COL_SELECT_R TEXT_COL_SELECT_G TEXT_COL_SELECT_B TEXT_COL_SELECT_A | |
VAR_INT TEXT_COL_DULL_R TEXT_COL_DULL_G TEXT_COL_DULL_B TEXT_COL_DULL_A | |
VAR_INT TEXT_COL_NA_R TEXT_COL_NA_G TEXT_COL_NA_B TEXT_COL_NA_A | |
SHOPS_TEXT_SCALEX = 1.0 | |
SHOPS_TEXT_SCALEY = 1.6 | |
TEXT_COL_SELECT_R = 200 | |
TEXT_COL_SELECT_G = 200 | |
TEXT_COL_SELECT_B = 200 | |
TEXT_COL_SELECT_A = 255 | |
TEXT_COL_DULL_R = 100 | |
TEXT_COL_DULL_G = 100 | |
TEXT_COL_DULL_B = 100 | |
TEXT_COL_DULL_A = 255 | |
TEXT_COL_NA_R = 20 | |
TEXT_COL_NA_G = 20 | |
TEXT_COL_NA_B = 20 | |
TEXT_COL_NA_A = 255 | |
VAR_TEXT_LABEL shop_name | |
// REWARD CARS | |
CREATE_CAR_GENERATOR 2435.3018 -1671.8483 12.8007 90.0 rhino -1 -1 TRUE 0 0 0 10000 tank_gen1 // Farm car //HUB | |
SWITCH_CAR_GENERATOR tank_gen1 0 | |
CREATE_CAR_GENERATOR 2527.2 -1677.1 19.2 90.0 hydra -1 -1 TRUE 0 0 0 10000 hyfra_gen1 // Farm car //HUB | |
SWITCH_CAR_GENERATOR hyfra_gen1 0 | |
// **************************************** OBJECT SCRIPTS ******************************************** | |
CONST_INT NONE_SC 0 | |
CONST_INT DUAL_SC 1 | |
CONST_INT SHTR_SC 2 | |
CONST_INT GRAV_SC 3 | |
CONST_INT OTB_SCRIPT 4 | |
CONST_INT POOL_SCRIPT 5 | |
CONST_INT LOWR_SCRIPT 6 | |
CONST_INT ZERO5 7 | |
VAR_INT load_and_launch_mission_if_poss | |
load_and_launch_mission_if_poss = -1 | |
REGISTER_STREAMED_SCRIPT player_parachute.sc | |
REGISTER_STREAMED_SCRIPT parachute.sc | |
REGISTER_STREAMED_SCRIPT bcesar2.sc | |
REGISTER_STREAMED_SCRIPT bcesar3.sc | |
REGISTER_STREAMED_SCRIPT slot_machine.sc | |
REGISTER_STREAMED_SCRIPT roulette.sc | |
REGISTER_STREAMED_SCRIPT otb_script.sc | |
REGISTER_STREAMED_SCRIPT arcade.sc | |
REGISTER_STREAMED_SCRIPT vending_machine.sc | |
REGISTER_STREAMED_SCRIPT food_vendor.sc | |
REGISTER_STREAMED_SCRIPT gates_script.sc | |
REGISTER_STREAMED_SCRIPT gymbike.sc | |
REGISTER_STREAMED_SCRIPT gymbench.sc | |
REGISTER_STREAMED_SCRIPT gymtread.sc | |
REGISTER_STREAMED_SCRIPT gymdumb.sc | |
REGISTER_STREAMED_SCRIPT basketb.sc | |
REGISTER_STREAMED_SCRIPT vidpok.sc | |
REGISTER_STREAMED_SCRIPT blackj.sc | |
REGISTER_STREAMED_SCRIPT wheelo.sc | |
REGISTER_STREAMED_SCRIPT Dealer.sc | |
REGISTER_STREAMED_SCRIPT home_brains.sc | |
//REGISTER_STREAMED_SCRIPT pros_brains.sc | |
REGISTER_STREAMED_SCRIPT pool_script.sc | |
REGISTER_STREAMED_SCRIPT lowr_cont.sc | |
REGISTER_STREAMED_SCRIPT burg_brains.sc | |
REGISTER_STREAMED_SCRIPT GF_Meeting.sc | |
REGISTER_STREAMED_SCRIPT GF_Date.sc | |
REGISTER_STREAMED_SCRIPT GF_Sex.sc | |
REGISTER_STREAMED_SCRIPT Casino_ambience.sc | |
REGISTER_STREAMED_SCRIPT Bar_ambience.sc | |
REGISTER_STREAMED_SCRIPT FoodBrains.sc | |
REGISTER_STREAMED_SCRIPT OTB_ambience.sc | |
REGISTER_STREAMED_SCRIPT Strip_ambience.sc | |
REGISTER_STREAMED_SCRIPT planes.sc | |
REGISTER_STREAMED_SCRIPT trains.sc | |
REGISTER_STREAMED_SCRIPT Zero_ambience.sc | |
REGISTER_STREAMED_SCRIPT Dance.sc | |
//PEOPLE | |
REGISTER_STREAMED_SCRIPT ShopKeeper.sc | |
REGISTER_STREAMED_SCRIPT Customer_Panic.sc | |
REGISTER_STREAMED_SCRIPT Bar_Staff.sc | |
REGISTER_STREAMED_SCRIPT Bouncer.sc | |
REGISTER_STREAMED_SCRIPT OTB_Staff.sc | |
//ATTRACTOR BRAINS | |
REGISTER_STREAMED_SCRIPT PCHAIR.sc | |
REGISTER_STREAMED_SCRIPT PCUSTOM.sc | |
REGISTER_STREAMED_SCRIPT OTBWTCH.sc | |
REGISTER_STREAMED_SCRIPT OTBSLP.sc | |
REGISTER_STREAMED_SCRIPT OTBTILL.sc | |
REGISTER_STREAMED_SCRIPT FBOOTHR.sc | |
REGISTER_STREAMED_SCRIPT FBOOTHL.sc | |
REGISTER_STREAMED_SCRIPT BARGUY.sc | |
REGISTER_STREAMED_SCRIPT PEDROUL.sc | |
REGISTER_STREAMED_SCRIPT PEDCARD.sc | |
REGISTER_STREAMED_SCRIPT PEDSLOT.sc | |
REGISTER_STREAMED_SCRIPT DANCER.sc | |
REGISTER_STREAMED_SCRIPT STRIPW.sc | |
REGISTER_STREAMED_SCRIPT STRIPM.sc | |
// SHOPS | |
REGISTER_STREAMED_SCRIPT BROWSE.sc | |
REGISTER_STREAMED_SCRIPT COPSIT.sc | |
REGISTER_STREAMED_SCRIPT COPLOOK.sc | |
REGISTER_STREAMED_SCRIPT TICKET.sc | |
REGISTER_STREAMED_SCRIPT SHOPPER.sc | |
REGISTER_STREAMED_SCRIPT ammu.sc | |
REGISTER_STREAMED_SCRIPT tattoo.sc | |
REGISTER_STREAMED_SCRIPT barber.sc | |
REGISTER_STREAMED_SCRIPT wardrobe.sc | |
REGISTER_STREAMED_SCRIPT clothes.sc | |
REGISTER_STREAMED_SCRIPT junkfud.sc | |
REGISTER_STREAMED_SCRIPT carmod1.sc | |
REGISTER_STREAMED_SCRIPT crane1.sc | |
REGISTER_STREAMED_SCRIPT crane2.sc | |
REGISTER_STREAMED_SCRIPT crane3.sc | |
REGISTER_STREAMED_SCRIPT carpark1.sc | |
REGISTER_STREAMED_SCRIPT impound.sc | |
REGISTER_STREAMED_SCRIPT valet.sc | |
REGISTER_STREAMED_SCRIPT PHOTO.sc | |
REGISTER_STREAMED_SCRIPT PRISONR.sc | |
REGISTER_STREAMED_SCRIPT camera.sc | |
REGISTER_STREAMED_SCRIPT debt.sc | |
REGISTER_STREAMED_SCRIPT hotdog.sc | |
CONST_INT CASINO_OBJECT_BRAIN 1 | |
//CHRIS R's OBJECT SCRIPTS vv | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT slot_machine.sc KB_BANDIT_U 100 6.0 CASINO_OBJECT_BRAIN | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT roulette.sc ROULETTE_TBL 60 50.0 CASINO_OBJECT_BRAIN | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT otb_script.sc OTB_MACHINE 100 4.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT arcade.sc CJ_COIN_OP_3 100 4.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT arcade.sc CJ_COIN_OP_2 100 4.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT arcade.sc CJ_COIN_OP_1 100 4.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT arcade.sc CJ_COIN_OP 100 4.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT arcade.sc SWANK_CONSOLE 100 4.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT arcade.sc SNESISH 100 4.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT arcade.sc LOW_CONSOLE 100 4.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT vending_machine.sc VENDMACHFD 100 6.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT vending_machine.sc VENDMACH 100 6.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT vending_machine.sc VENDIN3 100 6.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT vending_machine.sc CJ_SPRUNK1 100 6.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT vending_machine.sc CJ_CANDYVENDOR 100 6.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT vending_machine.sc CJ_EXT_CANDY 100 6.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT vending_machine.sc CJ_EXT_SPRUNK 100 6.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT food_vendor.sc ICESCART_PROP 100 42.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT food_vendor.sc CHILLIDOGCART 100 42.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT food_vendor.sc NOODLECART_PROP 100 42.0 -1 | |
VAR_INT open_gate_now_flag | |
open_gate_now_flag = 0 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT gates_script.sc GATE_AUTOL 100 80.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT gates_script.sc GATE_AUTOR 100 80.0 -1 | |
//CHRIS R's OBJECT SCRIPTS ^^ | |
//PAUL's OBJECT SCRIPTS vv | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT gymbike.sc gym_bike 100 20.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT gymbench.sc gym_bench1 100 20.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT gymtread.sc gym_treadmill 100 20.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT gymdumb.sc gym_mat1 100 20.0 -1 | |
//PAULS's OBJECT SCRIPTS ^^ | |
//NEILS's OBJECT SCRIPTS vv | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT basketb.sc BSKBALL_LAX 100 70.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT basketb.sc BSKBALLHUB_LAX01 100 70.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT basketb.sc VGSXREFBBALLNET 100 70.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT basketb.sc VGSXREFBBALLNET2 100 70.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT pool_script.sc K_POOLTABLESM 100 70.0 -1 | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT vidpok.sc NEIL_SLOT 100 4.0 CASINO_OBJECT_BRAIN | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT vidpok.sc CJ_SLOT_BANK 100 4.0 CASINO_OBJECT_BRAIN | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT blackj.sc BLCK_JACK 50 70.0 CASINO_OBJECT_BRAIN | |
ALLOCATE_STREAMED_SCRIPT_TO_OBJECT wheelo.sc WHEEL_O_FORTUNE 50 70.0 CASINO_OBJECT_BRAIN | |
//NEIL's OBJECT SCRIPTS ^^ | |
// ADD IN SECTION TO CREATE THE TERRITORY PICKUP GENERATING CASH************************************* | |
VAR_INT territory_pickup | |
VAR_INT player_territory_owned | |
VAR_INT territory_cash | |
territory_cash = 1 | |
// **********************************************BRAINS********************************************** | |
// ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED test_brain goon1 100 //TEST SCRIPT | |
REGISTER_SCRIPT_BRAIN_FOR_CODE_USE burg_brains.sc HOUSE | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE DANCER.sc DANCER | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE PCHAIR.sc PCHAIR | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE PCUSTOM.sc PCUSTOM | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE OTBWTCH.sc OTBWTCH | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE OTBSLP.sc OTBSLP | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE OTBTILL.sc OTBTILL | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE FBOOTHR.sc FBOOTHR | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE FBOOTHL.sc FBOOTHL | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE BARGUY.sc BARGUY | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE PEDROUL.sc PEDROUL | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE PEDCARD.sc PEDCARD | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE PEDSLOT.sc PEDSLOT | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE STRIPW.sc STRIPW | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE STRIPM.sc STRIPM | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE BROWSE.sc BROWSE | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE COPSIT.sc COPSIT | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE COPLOOK.sc COPLOOK | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE TICKET.sc TICKET | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE SHOPPER.sc SHOPPER | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE PHOTO.sc PHOTO | |
REGISTER_ATTRACTOR_SCRIPT_BRAIN_FOR_CODE_USE PRISONR.sc PRISONR | |
// ****************************************PED BRAINS******************************************** | |
ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED Dealer.sc BMYDRUG 100 | |
ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED Dealer.sc WMYDRUG 100 | |
ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED Dealer.sc HMYDRUG 100 | |
ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED Dealer.sc BIKDRUG 100 | |
ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED hotdog.sc BMOCHIL 100 | |
ATTACH_ANIMS_TO_MODEL BMYDRUG DEALER | |
ATTACH_ANIMS_TO_MODEL WMYDRUG DEALER | |
ATTACH_ANIMS_TO_MODEL HMYDRUG DEALER | |
ATTACH_ANIMS_TO_MODEL BIKDRUG DEALER | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED home_brains.sc WMOTR1 20 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED home_brains.sc SWMOTR1 20 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED home_brains.sc BMOTR1 20 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED home_brains.sc SBMOTR2 20 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED home_brains.sc SWMOTR2 20 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED home_brains.sc SBMYTR3 20 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED home_brains.sc SWMOTR3 20 | |
//LA | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED pros_brains.sc WFYPRO 30 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED pros_brains.sc BFYPRO 30 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED pros_brains.sc HFYPRO 30 | |
//SAN FRAN | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED pros_brains.sc SWFOPRO 30 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED pros_brains.sc SHFYPRO 30 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED pros_brains.sc SBFYPRO 30 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED pros_brains.sc SFYPRO 30 | |
//VEGAS | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED pros_brains.sc VWFYPRO 30 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED pros_brains.sc VHFYPRO 30 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED pros_brains.sc VBFYPRO 30 | |
//ALLOCATE_STREAMED_SCRIPT_TO_RANDOM_PED pros_brains.sc VBFYPR2 30 | |
REQUEST_IPL CRACK //REQUEST THE CRACK LAB | |
SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE -2166.86 -236.50 40.86 40.0 crackfact_SFS FALSE // Set it up as undamaged. The model is switched in BP now in SetDamaged(). | |
SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE -2185.49 -215.55 34.31 40.0 CF_ext_dem_SFS FALSE // These commands no longer do anything but break the saves to remove... | |
SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE -2166.86 -236.50 40.86 40.0 LODcrackfact_SFS TRUE // These commands no longer do anything but break the saves to remove... | |
SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE -2185.49 -215.55 34.31 40.0 LODext_dem_SFS FALSE // These commands no longer do anything but break the saves to remove... | |
// ****************************************START_NEW_SCRIPTS****************************************** | |
//START_NEW_SCRIPT police_impound_script | |
//START_NEW_SCRIPT Tplay_mission_loop | |
START_NEW_SCRIPT vehicle_oddjob_loop | |
START_NEW_SCRIPT R3missions_loop | |
START_NEW_SCRIPT gym_loop | |
START_NEW_SCRIPT shoot_range_loop | |
START_NEW_SCRIPT blood_loop | |
START_NEW_SCRIPT hot_loop | |
START_NEW_SCRIPT kick_loop | |
START_NEW_SCRIPT grove_save_loop //SAVE GAME | |
START_NEW_SCRIPT game_flow_loop | |
START_NEW_SCRIPT game_help_loop | |
START_NEW_SCRIPT collectibes_loop | |
START_NEW_SCRIPT crane_manager | |
START_NEW_SCRIPT buy_pro_loop | |
START_NEW_SCRIPT valet_loop | |
START_NEW_SCRIPT planes_loop | |
START_NEW_SCRIPT trains_loop | |
START_NEW_SCRIPT impound_loop | |
START_NEW_SCRIPT open_the_map | |
START_NEW_SCRIPT tri_loop | |
//LAUNCH_MISSION parachute.sc //KB | |
LAUNCH_MISSION bbthrow.sc //NF | |
LAUNCH_MISSION bball_chal.sc //NF | |
LAUNCH_MISSION lowrider_game.sc //NF | |
LAUNCH_MISSION audio_singleline.sc //NF | |
LAUNCH_MISSION beatdisplay.sc //NF | |
LAUNCH_MISSION impexp.sc //NF | |
LAUNCH_MISSION airports.sc //CC | |
LAUNCH_MISSION girls.sc //CC | |
LAUNCH_MISSION Int_Manager.sc //CC | |
LAUNCH_MISSION audio_controller.sc //SL | |
LAUNCH_MISSION hj.sc //CR | |
LAUNCH_MISSION mobile.sc //CF | |
DO_FADE 0 FADE_OUT | |
DISPLAY_ZONE_NAMES FALSE | |
WAIT 0 | |
WAIT 0 | |
SWITCH_WORLD_PROCESSING OFF //TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
SET_FADING_COLOUR 0 0 0 | |
WAIT 2000 //Wait until keys are initialised //TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
SWITCH_WORLD_PROCESSING ON //TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
SET_MAX_WANTED_LEVEL 4 | |
IF IS_PLAYER_PLAYING player1 | |
FORCE_WEATHER_NOW WEATHER_SUNNY_LA | |
GIVE_PLAYER_CLOTHES_OUTSIDE_SHOP player1 vest vest 0 | |
GIVE_PLAYER_CLOTHES_OUTSIDE_SHOP player1 jeansdenim jeans 2 | |
GIVE_PLAYER_CLOTHES_OUTSIDE_SHOP player1 sneakerbincblk sneaker 3 | |
GIVE_PLAYER_CLOTHES_OUTSIDE_SHOP player1 player_face head 1 | |
flag_bought_from_binco = 1 | |
BUILD_PLAYER_MODEL player1 | |
STORE_CLOTHES_STATE | |
IF NOT IS_BUTTON_PRESSED PAD1 CROSS // Load Normal Game | |
SET_FADING_COLOUR 0 0 0 | |
DO_FADE 0 FADE_OUT | |
game_starts_from_scratch = 0 | |
SET_INT_STAT CITIES_PASSED 0 | |
LAUNCH_MISSION ms_skip.sc | |
DISPLAY_ZONE_NAMES FALSE | |
//we only load this in final_build and if holding shift when pressing newgame | |
//LOAD_AND_LAUNCH_MISSION intro.sc | |
DO_FADE 1000 FADE_IN | |
ELSE // Load Debug Game | |
game_starts_from_scratch = 0 | |
SET_INT_STAT CITIES_PASSED 3 | |
//LAUNCH_MISSION debug.sc //FOR DEBUG BUILD!!!!!! | |
//LAUNCH_MISSION designtools.sc //FOR DEBUG BUILD!!!!!!!! | |
LAUNCH_MISSION ms_skip.sc | |
SWITCH_ENTRY_EXIT gym1 FALSE | |
SWITCH_ENTRY_EXIT gym2 FALSE | |
SWITCH_ENTRY_EXIT gym3 FALSE | |
SWITCH_ENTRY_EXIT PDOMES FALSE | |
SWITCH_ENTRY_EXIT PDOMES2 FALSE | |
SWITCH_ENTRY_EXIT RCPLAY FALSE | |
REMOVE_IPL Barriers1 | |
REMOVE_IPL Barriers2 | |
SWITCH_ENTRY_EXIT cschp TRUE //BINCO //LA | |
SWITCH_ENTRY_EXIT cssprt TRUE //PROLAPS //LA | |
SWITCH_ENTRY_EXIT lacs1 TRUE //SUBURBAN //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2070.2703 -1791.0918 17.1484 RADAR_SPRITE_BARBERS barber_shop1 //Barbers | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2107.6243 -1807.5155 21.2114 RADAR_SPRITE_PIZZA food_shop1 //Pizza | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2243.8069 -1668.5667 20.0313 RADAR_SPRITE_TSHIRT clothes_shop1 //Clothes | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2376.4, 909.2, 45.4 RADAR_SPRITE_TSHIRT clothes_blips[6] //CSCHP //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 1654.0, 1733.4, 11.0 RADAR_SPRITE_TSHIRT clothes_blips[7] //CSCHP //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2105.7, 2257.4, 11.0 RADAR_SPRITE_TSHIRT clothes_blips[8] //CSCHP //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2371.1, 910.2, 47.2 RADAR_SPRITE_TSHIRT clothes_blips[14] //CSCHP //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 501.7, -1358.5, 16.4 RADAR_SPRITE_TSHIRT clothes_blips[9] //CSSPRT //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2818.6, 2401.5, 11.0 RADAR_SPRITE_TSHIRT clothes_blips[10] //CSSPRT //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2112.8, -1214.7, 23.9 RADAR_SPRITE_TSHIRT clothes_blips[4] //LACS1 //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2772.0, 2447.6, 11.0 RADAR_SPRITE_TSHIRT clothes_blips[5] //LACS1 //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2489.0, -26.9, 32.6 RADAR_SPRITE_TSHIRT clothes_blips[16] //LACS1 //LA | |
added_all_clothes_blips_before = 1 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 822.6, -1590.3, 13.5 RADAR_SPRITE_BARBERS barbers_blips[0] //BARBER2 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2570.1, 245.4, 10.3 RADAR_SPRITE_BARBERS barbers_blips[1] //BARBERS | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2726.6, -2026.4, 17.5 RADAR_SPRITE_BARBERS barbers_blips[2] //BARBERS | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2080.3, 2119.0, 10.8 RADAR_SPRITE_BARBERS barbers_blips[3] //BARBER2 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 675.7, -496.6, 16.8 RADAR_SPRITE_BARBERS barbers_blips[4] //BARBERS | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1805.7, 943.2, 24.8 RADAR_SPRITE_PIZZA pizza_blips[0] //FDPIZA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2750.9, 2470.9, 11.0 RADAR_SPRITE_PIZZA pizza_blips[1] //FDPIZA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2351.8, 2529.0, 10.8 RADAR_SPRITE_PIZZA pizza_blips[2] //FDPIZA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2635.5, 1847.4, 11.0 RADAR_SPRITE_PIZZA pizza_blips[3] //FDPIZA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2083.4, 2221.0, 11.0 RADAR_SPRITE_PIZZA pizza_blips[4] //FDPIZA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1719.1, 1359.4, 8.6 RADAR_SPRITE_PIZZA pizza_blips[5] //FDPIZA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2330.2, 75.2, 31.0 RADAR_SPRITE_PIZZA pizza_blips[6] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 203.2, -200.4, 6.5 RADAR_SPRITE_PIZZA pizza_blips[7] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 812.9, -1616.1, 13.6 RADAR_SPRITE_BURGERSHOT burger_blips[0] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 1199.1, -924.0, 43.3 RADAR_SPRITE_BURGERSHOT burger_blips[1] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2362.2, 2069.9, 10.8 RADAR_SPRITE_BURGERSHOT burger_blips[2] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2469.5, 2033.8, 10.8 RADAR_SPRITE_BURGERSHOT burger_blips[3] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2172.9, 2795.7, 10.8 RADAR_SPRITE_BURGERSHOT burger_blips[4] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 1875.3, 2072.0, 10.8 RADAR_SPRITE_BURGERSHOT burger_blips[5] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 1161.5, 2072.0, 10.8 RADAR_SPRITE_BURGERSHOT burger_blips[6] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2356.0, 1009.0, 49.0 RADAR_SPRITE_BURGERSHOT burger_blips[7] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1913.3, 826.2, 36.9 RADAR_SPRITE_BURGERSHOT burger_blips[8] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2335.6, -165.6, 39.5 RADAR_SPRITE_BURGERSHOT burger_blips[9] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2397.8, -1895.6, 13.7 RADAR_SPRITE_CHICKEN chicken_blips[0] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2421.6, -1509.6, 24.1 RADAR_SPRITE_CHICKEN chicken_blips[1] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2671.6, 257.4, 4.6 RADAR_SPRITE_CHICKEN chicken_blips[2] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2392.4, 2046.5, 10.8 RADAR_SPRITE_CHICKEN chicken_blips[3] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2844.5, 2401.1, 11.0 RADAR_SPRITE_CHICKEN chicken_blips[4] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2635.5, 1674.3, 11.0 RADAR_SPRITE_CHICKEN chicken_blips[5] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2105.7, 2228.7, 11.0 RADAR_SPRITE_CHICKEN chicken_blips[6] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2154.0, -2461.2, 30.8 RADAR_SPRITE_CHICKEN chicken_blips[7] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1816.2 620.8 37.5 RADAR_SPRITE_CHICKEN chicken_blips[8] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1216.0, 1831.4, 45.3 RADAR_SPRITE_CHICKEN chicken_blips[9] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 172.73, 1176.76, 13.7 RADAR_SPRITE_CHICKEN chicken_blips[10] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 932.0, -1353.0, 14.0 RADAR_SPRITE_CHICKEN chicken_blips[11] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 1971.7, -2036.6, 13.5 RADAR_SPRITE_TATTOO tattoo_blips[0] //TATTOO | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2071.6, -1779.9, 13.5 RADAR_SPRITE_TATTOO tattoo_blips[1] //TATTOO | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2094.6, 2119.0, 10.8 RADAR_SPRITE_TATTOO tattoo_blips[2] //TATTOO | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2490.5, -40.1, 39.3 RADAR_SPRITE_TATTOO tattoo_blips[3] //TATTOO | |
added_all_food_blips_before = 1 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 1372.9 -1278.8 12.5 RADAR_SPRITE_GUN weapon_shop1_blip | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2400.5 -1978.4 13.5 RADAR_SPRITE_GUN ammu_shop_blip[0] //AMMUN3 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2626.6 209.4 4.9 RADAR_SPRITE_GUN ammu_shop_blip[1] //AMMUN1 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2535.9 2083.5 10.8 RADAR_SPRITE_GUN ammu_shop_blip[2] //AMMUN2 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2156.5 943.2 10.8 RADAR_SPRITE_GUN ammu_shop_blip[3] //AMMUN2 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 779.7 1874.3 4.9 RADAR_SPRITE_GUN ammu_shop_blip[4] //AMMUN3 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2092.7 -2463.8 30.6 RADAR_SPRITE_GUN ammu_shop_blip[5] //AMMUN3 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 240.0 -178.2 2.0 RADAR_SPRITE_GUN ammu_shop_blip[6] //AMMUN2 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1509.4, 2611.8, 58.5 RADAR_SPRITE_GUN ammu_shop_blip[7] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -315.67, 829.87, 13.43 RADAR_SPRITE_GUN ammu_shop_blip[8] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2332.9, 63.6, 31.0, RADAR_SPRITE_GUN ammu_shop_blip[9] //NEW!!!!!!!!! | |
SET_CLOSEST_ENTRY_EXIT_FLAG propertyX[2] propertyY[2] 10.0 ENTRYEXITS_FLAG_ENABLED TRUE | |
ACTIVATE_GARAGE dhangar //Hanger | |
add_all_ammu_blips = 1 | |
DISPLAY_ZONE_NAMES TRUE | |
launch_shit_for_debug_build = 1 | |
DO_FADE 1000 FADE_IN | |
ENDIF | |
// Final Build | |
IF IS_FINALBUILD | |
SET_FADING_COLOUR 0 0 0 //FOR FINAL BUILD!!!!!!!!!!!!!!!!! | |
DO_FADE 0 FADE_OUT | |
game_starts_from_scratch = 0 | |
LOAD_AND_LAUNCH_MISSION intro.sc | |
ENDIF | |
// End Final Build | |
activate_mobile_phone = 1 //SET TO 0 TO SWITCH OFF MOBILE CALLS | |
//SET_CLOSEST_ENTRY_EXIT_FLAG 2137.9055 1600.5658 10.0 ENTRYEXITS_FLAG_ENABLED FALSE //MAFIA CASINO | |
IF IS_PLAYER_PLAYING player1 | |
SET_AREA_VISIBLE 0 | |
SET_PLAYER_CONTROL player1 on | |
ENDIF | |
RELEASE_WEATHER | |
SHOW_UPDATE_STATS TRUE // Don't want to see updates at the beginning of a new game. | |
GOTO mission_start | |
ENDIF | |
{ | |
//MAIN LOOP************************************************************************************************** | |
VAR_INT number_of_instances_of_streamed_script | |
number_of_instances_of_streamed_script = 0 | |
VAR_INT roaming_countryside_time | |
VAR_INT years_too_late_achievement | |
years_too_late_achievement = 0 | |
roaming_countryside_time = 0 | |
mission_start: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING player1 | |
GET_AREA_VISIBLE main_visible_area | |
GET_INT_STAT CITIES_PASSED Return_cities_passed | |
GET_CURRENT_DAY_OF_WEEK weekday | |
GET_CURRENT_LANGUAGE current_Language | |
GET_CITY_PLAYER_IS_IN Player1 im_players_city | |
GET_GAME_TIMER game_timer_wil | |
// some achievement processing | |
// delta time | |
IF roaming_countryside_time = 0 | |
GET_GAME_TIMER roaming_countryside_time | |
ENDIF | |
timer_wil = game_timer_wil - roaming_countryside_time | |
// _81_YEARS_TOO_LATE | |
// record how long the player is roaming around the countryside on foot | |
LVAR_INT tmp_popcycle_zone | |
GET_CURRENT_POPULATION_ZONE_TYPE tmp_popcycle_zone | |
IF tmp_popcycle_zone = POPCYCLE_ZONE_COUNTRYSIDE | |
AND IS_CHAR_ON_FOOT scplayer | |
time_spent_roaming_countryside += timer_wil | |
ENDIF | |
// TODAY_WAS_A_GOOD_DAY | |
// record if the player doesn't break any laws in 24 hours | |
IF NOT IS_PLAYER_CONTROL_ON -1 // hacked check for breaking any laws | |
time_player_spent_crime_free = 0 // reset if breaking laws | |
ELSE | |
time_player_spent_crime_free += timer_wil | |
ENDIF | |
roaming_countryside_time = game_timer_wil | |
IF time_spent_roaming_countryside > 86400000 // 24 hours in milliseconds | |
WRITE_LOG "UNLOCK_ACHIEVEMENT _81_YEARS_TOO_LATE" | |
ENDIF | |
IF time_player_spent_crime_free > 86400000 // 24 hours in milliseconds | |
WRITE_LOG "UNLOCK_ACHIEVEMENT TODAY_WAS_A_GOOD_DAY" | |
ENDIF | |
IF flag_store_day_food = 1 | |
timer_wil = game_timer_wil - stored_shop_time | |
IF timer_wil >= 180000 | |
flag_store_day_food = 0 | |
total_food_bought_per_day_shops = 0 | |
timer_wil = 0 | |
flag_ate_too_much_food = 0 | |
ENDIF | |
ENDIF | |
// CAR MOD GARAGES | |
IF IS_GARAGE_OPEN bodLAwN | |
OR IS_GARAGE_OPEN modlast | |
OR IS_GARAGE_OPEN mdsSFSe | |
OR IS_GARAGE_OPEN mds1SFS | |
OR IS_GARAGE_OPEN vEcmod | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT carmod1.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
STREAM_SCRIPT carmod1.sc | |
IF HAS_STREAMED_SCRIPT_LOADED carmod1.sc | |
START_NEW_STREAMED_SCRIPT carmod1.sc | |
ENDIF | |
ENDIF | |
ELSE | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED carmod1.sc | |
ENDIF | |
// PARACHUTE | |
IF HAS_CHAR_GOT_WEAPON scplayer WEAPONTYPE_PARACHUTE | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT player_parachute.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
STREAM_SCRIPT player_parachute.sc | |
IF HAS_STREAMED_SCRIPT_LOADED player_parachute.sc | |
START_NEW_STREAMED_SCRIPT player_parachute.sc | |
ENDIF | |
ENDIF | |
ELSE | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED player_parachute.sc | |
ENDIF | |
// CAMERA | |
IF HAS_CHAR_GOT_WEAPON scplayer WEAPONTYPE_CAMERA | |
AND flag_player_on_mission = 0 | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT camera.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
STREAM_SCRIPT camera.sc | |
IF HAS_STREAMED_SCRIPT_LOADED camera.sc | |
START_NEW_STREAMED_SCRIPT camera.sc | |
ENDIF | |
ENDIF | |
ELSE | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED camera.sc | |
ENDIF | |
//LOAD AND LAUNCHED STREAMED SCRIPTS | |
IF flag_player_on_mission = 0 | |
// --- HANDLES THE COKE COURIER SCRIPT | |
IF flag_Synd_mission_counter < 10 | |
IF cat_counter > 2 | |
IF courier_timer > 400 | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT bcesar2.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
IF bcesar3_mission_flag = 0 | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT bcesar3.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
GET_CURRENT_DAY_OF_WEEK weekday | |
GET_TIME_OF_DAY hours minutes | |
IF weekday = 4 // Wednesday | |
OR weekday = 7 // Saturday | |
IF hours >= 19 | |
OR hours < 7 | |
STREAM_SCRIPT bcesar3.sc | |
IF HAS_STREAMED_SCRIPT_LOADED bcesar3.sc | |
START_NEW_STREAMED_SCRIPT bcesar3.sc | |
bcesar3_mission_flag = 1 // stops script getting started twice in one day. | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT bcesar3.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
IF bcesar2_mission_flag = 0 | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT bcesar2.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
GET_CURRENT_DAY_OF_WEEK weekday | |
GET_TIME_OF_DAY hours minutes | |
IF weekday = 2 // monday | |
OR weekday = 6 // friday | |
IF hours >= 5 | |
AND hours < 17 | |
STREAM_SCRIPT bcesar2.sc | |
IF HAS_STREAMED_SCRIPT_LOADED bcesar2.sc | |
START_NEW_STREAMED_SCRIPT bcesar2.sc | |
bcesar2_mission_flag = 1 // stops script getting started twice in one day. | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GET_CURRENT_DAY_OF_WEEK weekday | |
IF weekday = 1 // Sunday | |
OR weekday = 3 // Tuesday | |
OR weekday = 5 // Thursday | |
bcesar2_mission_flag = 0 | |
bcesar3_mission_flag = 0 | |
courier_timer = 0 | |
ELSE | |
courier_timer ++ | |
ENDIF | |
ENDIF | |
ENDIF | |
// --- HANDLES THE LOWRIDER MINI GAME | |
IF lowrider_minigame_unlocked = 1 | |
AND flag_player_on_mission = 0 | |
IF lowrider_mission_flag = 0 | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT lowr_cont.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ANY_MEANS_2D scplayer 1812.3690 -1929.9215 80.0 80.0 FALSE | |
STREAM_SCRIPT lowr_cont.sc | |
IF HAS_STREAMED_SCRIPT_LOADED lowr_cont.sc | |
START_NEW_STREAMED_SCRIPT lowr_cont.sc | |
lowrider_mission_flag = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
IF IS_PLAYER_PLAYING player1 | |
IF NOT LOCATE_CHAR_ANY_MEANS_2D scplayer 1812.3690 -1929.9215 500.0 500.0 FALSE | |
lowrider_mission_flag = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
SWITCH load_and_launch_mission_if_poss | |
CASE NONE_SC | |
flag_player_on_mission = 1 | |
LOAD_AND_LAUNCH_MISSION none.sc | |
BREAK | |
CASE DUAL_SC | |
flag_player_on_mission = 1 | |
LOAD_AND_LAUNCH_MISSION dual.sc | |
BREAK | |
CASE SHTR_SC | |
flag_player_on_mission = 1 | |
LOAD_AND_LAUNCH_MISSION shtr.sc | |
BREAK | |
CASE GRAV_SC | |
flag_player_on_mission = 1 | |
LOAD_AND_LAUNCH_MISSION grav.sc | |
BREAK | |
CASE OTB_SCRIPT | |
flag_player_on_mission = 1 | |
LOAD_AND_LAUNCH_MISSION otb.sc | |
BREAK | |
CASE POOL_SCRIPT | |
flag_player_on_mission = 1 | |
LOAD_AND_LAUNCH_MISSION pool.sc | |
BREAK | |
CASE LOWR_SCRIPT | |
flag_player_on_mission = 1 | |
LOAD_AND_LAUNCH_MISSION lowr.sc | |
BREAK | |
CASE ZERO5 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( BEEFY ) 1000 2 | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION zero5.sc | |
BREAK | |
ENDSWITCH | |
ELSE | |
IF bcesar2_mission_flag = 1 | |
OR bcesar3_mission_flag = 1 | |
courier_timer = 0 | |
ENDIF | |
load_and_launch_mission_if_poss = -1 | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
// CAR park vegas (emerald isle) | |
IF IS_CHAR_IN_AREA_2D scplayer 2037.5359 2340.3726 2117.1765 2483.9216 0 | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT carpark1.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
STREAM_SCRIPT carpark1.sc | |
IF HAS_STREAMED_SCRIPT_LOADED carpark1.sc | |
START_NEW_STREAMED_SCRIPT carpark1.sc | |
ENDIF | |
ENDIF | |
ELSE | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED carpark1.sc | |
ENDIF | |
IF im_players_city = LEVEL_LOSANGELES | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer 658.0068 -1866.3127 4.4537 15.0 15.0 15.0 FALSE | |
IF gym_at_beach = 0 | |
IF gym_day > gym_final_day | |
OR gym_month > gym_final_month | |
gym_day_fitness = 0.0 | |
ENDIF | |
gym_at_beach = 1 | |
ENDIF | |
ELSE | |
IF gym_at_beach = 1 | |
gym_at_beach = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF //IF IS_PLAYER_PLAYING player1 | |
GOTO mission_start | |
} | |
// ********************************************************************************************************** | |
// ********************************************LA MISSIONS*************************************************** | |
// ********************************************************************************************************** | |
// ********************************************************************************************************** | |
// ****************************************** INTRO MISSIONS ************************************************ | |
intro_mission_loop: | |
{ | |
SCRIPT_NAME INT | |
intro_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_intro_mission_counter = 2 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer introX introY introZ 1.0 1.0 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_intro_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( INTRO_1 ) 1000 2 //"INTRO mission 1" //CRAIGF //BMX Bandits | |
GOSUB mother_script_cut | |
CLEAR_HELP | |
LOAD_AND_LAUNCH_MISSION intro1.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer ryderX ryderY ryderZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_intro_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( INTRO_2 ) 1000 2 //"INTRO mission 2" //CRAIGF //Haircut, Gym + robbery | |
GOSUB ryder_script_cut1 | |
LOAD_AND_LAUNCH_MISSION intro2.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO intro_loop_inner | |
} | |
// ********************************************************************************************************** | |
// **********************************************SWEET MISSIONS********************************************** | |
sweet_mission_loop: | |
{ | |
SCRIPT_NAME SWEET | |
sweet_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_sweet_mission_counter = 9 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer sweetX sweetY sweetZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_sweet_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SWEET_1 ) 1000 2 //"Sweet mission 1" //CRAIGF //Tagging | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION sweet1.sc | |
ENDIF | |
IF flag_sweet_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SWEET1B ) 1000 2 //"Sweet mission 1B" //CRAIGF //Clean | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION sweet1b.sc | |
ENDIF | |
IF flag_sweet_mission_counter = 2 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SWEET_3 ) 1000 2 //"Sweet mission 2" //CRAIG F //Chicken Wings | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION sweet3.sc | |
ENDIF | |
IF flag_sweet_mission_counter = 3 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SWEET_2 ) 1000 2 //"Sweet mission 3" //CRAIGF //Guns Guns Guns | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION sweet2.sc | |
ENDIF | |
IF flag_sweet_mission_counter = 4 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SWEET_4 ) 1000 2 //"Sweet mission 4" //CHRIS M //Getto Drive by | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION sweet4.sc | |
ENDIF | |
IF flag_sweet_mission_counter = 5 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SWEET_5 ) 1000 2 //"Sweet mission 5" //KEV B //Rescue | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION sweet5.sc | |
ENDIF | |
IF flag_sweet_mission_counter = 6 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SWEET_6 ) 1000 2 //"Sweet mission 6" //NEIL //Lowrider comp part 1 | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION sweet6.sc | |
ENDIF | |
IF flag_sweet_mission_counter = 8 | |
FIND_MAX_NUMBER_OF_GROUP_MEMBERS returned_respect | |
IF returned_respect > 1 | |
GET_TIME_OF_DAY hours minutes | |
IF hours >= 9 | |
AND hours < 17 | |
CLEAR_PRINTS | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SWEET_7 ) 1000 2 //"Sweet mission 8" //STEVE T //Grave Misfortune | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION sweet7.sc | |
ELSE | |
PRINT_NOW MTIME3 1000 1 //Come back between 9:00 17:00 | |
ENDIF | |
ELSE | |
PRINT_NOW MOREREP 1000 1 //You need more respect | |
IF respect_help_played = 0 | |
PRINT_HELP HELP101 | |
respect_help_played = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer 1365.2507 -1280.1200 12.5469 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_sweet_mission_counter = 7 | |
AND flag_mob_la1[4] = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( CRASH_2 ) 1000 2 //"Sweet mission 7" //WILLIE //Doberman | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION crash4.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO sweet_mission_loop_inner | |
} | |
// ********************************************************************************************************** | |
// *******************************************LA 1 CRASH MISSIONS******************************************** | |
crash_mission_loop: | |
{ | |
SCRIPT_NAME CRASH | |
crash_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_crash_mission_counter = 2 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer crashX crashY crashZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_crash_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( CRASH_1 ) 1000 2 //"Crash mission 1" //KEITH //Burning Desire | |
GOSUB crash_script_cut1 | |
LOAD_AND_LAUNCH_MISSION crash1.sc | |
ENDIF | |
IF flag_crash_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( CRASH_3 ) 1000 2 //"Crash mission 3" //IMRAN //Docks shootout | |
GOSUB crash_script_cut1 | |
LOAD_AND_LAUNCH_MISSION crash3.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO crash_mission_loop_inner | |
} | |
// **************************************************************************************************** | |
// *******************************************RYDER MISSIONS ****************************************** | |
ryder_mission_loop: | |
{ | |
SCRIPT_NAME RYDER | |
ryder_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_ryder_mission_counter = 3 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer ryderX ryderY ryderZ 1.6 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_ryder_mission_counter = 0 | |
GET_TIME_OF_DAY hours minutes | |
IF hours >= 12 | |
AND hours < 20 | |
CLEAR_PRINTS | |
flag_player_on_mission = 1 | |
PRINT_BIG ( RYDER_1 ) 1000 2 //"Ryder mission 1" //DAVE //Burglary | |
GOSUB ryder_script_cut1 | |
LOAD_AND_LAUNCH_MISSION ryder1.sc | |
ELSE | |
PRINT_NOW MTIME6 1000 1 //Come back between 20:00 6:00 | |
ENDIF | |
ENDIF | |
IF flag_ryder_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( RYDER_3 ) 1000 2 //"Ryder mission 3" //PAUL //Ammo Train Truck | |
GOSUB ryder_script_cut1 | |
LOAD_AND_LAUNCH_MISSION ryder3.sc | |
ENDIF | |
IF flag_ryder_mission_counter = 2 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( RYDER_2 ) 1000 2 //"Ryder mission 2" //NEIL //National Guard | |
GOSUB ryder_script_cut1 | |
LOAD_AND_LAUNCH_MISSION ryder2.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO ryder_mission_loop_inner | |
} | |
// *********************************************************************************************************** | |
// *********************************************SMOKE MISSIONS************************************************ | |
smoke_mission_loop: | |
{ | |
SCRIPT_NAME SMOKE | |
smoke_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_smoke_mission_counter = 4 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer smokeX smokeY smokeZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_smoke_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SMOKE_1 ) 1000 2 //"Smoke mission 1" //ANDY //Payback | |
GOSUB smoke_script_cut1 | |
LOAD_AND_LAUNCH_MISSION smoke1.sc | |
ENDIF | |
IF flag_smoke_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SMOKE_2 ) 1000 2 //"Smoke mission 2" //JUDITH //Northen Mexican chase | |
GOSUB smoke_script_cut1 | |
LOAD_AND_LAUNCH_MISSION smoke2.sc | |
ENDIF | |
IF flag_smoke_mission_counter = 2 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SMOKE_3 ) 1000 2 //"Smoke mission 3" //IMRAN //Train chase | |
GOSUB smoke_script_cut1 | |
LOAD_AND_LAUNCH_MISSION smoke3.sc | |
ENDIF | |
IF flag_smoke_mission_counter = 3 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SMOKE_4 ) 1000 2 //"Smoke mission 4" //IMRAN //Dodgy dealings | |
GOSUB smoke_script_cut1 | |
LOAD_AND_LAUNCH_MISSION smoke4.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO smoke_mission_loop_inner | |
} | |
// *********************************************************************************************************** | |
// *******************************************MC SRAP MISSIONS************************************************ | |
strap_mission_loop: | |
{ | |
SCRIPT_NAME STRAP | |
strap_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_strap_mission_counter = 5 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer strapX strapY strapZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_strap_mission_counter = 0 | |
GET_TIME_OF_DAY hours minutes | |
IF hours >= 22 | |
OR hours < 6 | |
CLEAR_PRINTS | |
flag_player_on_mission = 1 | |
PRINT_BIG ( STRAP_1 ) 1000 2 //"Strap mission 1" //JUDITH //GTS | |
GOSUB strap_script_cut1 | |
LOAD_AND_LAUNCH_MISSION strap1.sc | |
ELSE | |
PRINT_NOW MTIME5 1000 1 //Come back between 22:00 6:00 | |
ENDIF | |
ENDIF | |
IF flag_strap_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( STRAP_2 ) 1000 2 //"Strap mission 2" //IMRAN //Steal from DocG | |
GOSUB strap_script_cut1 | |
LOAD_AND_LAUNCH_MISSION strap2.sc | |
ENDIF | |
IF flag_strap_mission_counter = 2 | |
GET_TIME_OF_DAY hours minutes | |
IF hours >= 12 | |
OR hours < 5 | |
CLEAR_PRINTS | |
flag_player_on_mission = 1 | |
PRINT_BIG ( STRAP_3 ) 1000 2 //"Strap mission 3" //ANDY //Kill G's manager | |
GOSUB strap_script_cut1 | |
LOAD_AND_LAUNCH_MISSION strap3.sc | |
ELSE | |
PRINT_NOW MTIME2 1000 1 //Come back between 12:00 6:00 | |
ENDIF | |
ENDIF | |
IF flag_strap_mission_counter = 3 | |
flag_player_on_mission = 1 | |
GOSUB strap_script_cut1 | |
PRINT_BIG ( STRAP_4 ) 1000 2 //"Strap mission 4" //ANDY //House party | |
LOAD_AND_LAUNCH_MISSION strap4.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer strap2X strap2Y strap2Z 1.2 1.2 2.0 FALSE //housepX housepY housepZ | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_strap_mission_counter = 4 | |
GET_TIME_OF_DAY hours minutes | |
IF hours >= 20 | |
OR hours < 6 | |
CLEAR_PRINTS | |
flag_player_on_mission = 1 | |
PRINT_BIG ( STRAP_4 ) 1000 2 //"Strap mission 4" //ANDY //House party | |
GOSUB strap_script_cut2 | |
LOAD_AND_LAUNCH_MISSION strap4.sc | |
ELSE | |
PRINT_NOW MTIME1 1000 1 //Come back between 20:00 6:00 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO strap_mission_loop_inner | |
} | |
// ********************************************************************************************************** | |
// ********************************************** CESAR MISSIONS ******************************************** | |
cesar_mission_loop: | |
{ | |
SCRIPT_NAME CESAR | |
cesar_mission_loop_inner: | |
WAIT 0 | |
IF flag_cesar_mission_counter = 1 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF flag_cesar_mission_counter = 0 | |
IF cs1_race_is_go = 1 | |
race_selection = CESAR_RACE | |
show_race_selection = FALSE | |
LOAD_AND_LAUNCH_MISSION racetour.sc | |
cs1_race_is_go = 2 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF flag_player_on_mission = 0 | |
IF flag_cesar_mission_counter = 0 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer cesarX cesarY cesarZ 4.0 4.0 3.0 TRUE | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
STORE_CAR_CHAR_IS_IN_NO_SAVE scplayer cs1_player_car | |
IF IS_CAR_LOW_RIDER cs1_player_car | |
IF CAN_PLAYER_START_MISSION player1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( CESAR_1 ) 1000 2 //"Cesar mission 1" //CHRIS M //Race | |
GOSUB cesar_script_cut1 | |
LOAD_AND_LAUNCH_MISSION cesar1.sc | |
ENDIF | |
ELSE | |
PRINT_NOW CES_CK1 1000 1 //grab yourself a lowrider | |
ENDIF | |
ELSE | |
PRINT_NOW CES_CK1 1000 1 //grab yourself a car | |
ENDIF | |
ENDIF | |
ENDIF | |
/* | |
IF flag_mob_la1[3] = 1 | |
IF flag_cesar_mission_counter = 1 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer cesarX cesarY cesarZ 4.0 4.0 3.0 TRUE | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
STORE_CAR_CHAR_IS_IN_NO_SAVE scplayer cs2_player_car | |
GET_VEHICLE_CLASS cs2_player_car cs2_player_car_model | |
IF cs2_player_car_model = NORMAL_CAR | |
OR cs2_player_car_model = POOR_FAMILY_CAR | |
OR cs2_player_car_model = RICH_FAMILY_CAR | |
OR cs2_player_car_model = EXECUTIVE_CAR | |
IF CAN_PLAYER_START_MISSION player1 | |
flag_player_on_mission = 1 | |
GOSUB cesar_script_cut1 | |
PRINT_BIG ( CESAR_2 ) 1000 2 //"Cesar mission 2" //KEV B //Impound | |
LOAD_AND_LAUNCH_MISSION cesar2.sc | |
ENDIF | |
ELSE | |
PRINT_NOW CES_CK2 1000 1 //not a car | |
ENDIF | |
ELSE | |
PRINT_NOW CES_CK3 1000 1 //grab yourself a car | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
*/ | |
ENDIF | |
ENDIF | |
GOTO cesar_mission_loop_inner | |
} | |
// ********************************************************************************************************** | |
// ************************************************ LA1 FINALE ********************************************** | |
la1fin1_mission_loop: | |
{ | |
SCRIPT_NAME LA1FIN | |
la1fin1_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_la1fin1_mission_counter = 2 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer sweetX sweetY sweetZ 1.0 1.0 2.0 FALSE | |
IF flag_sweet_mission_counter = 9 | |
IF flag_smoke_mission_counter = 4 | |
IF flag_strap_mission_counter = 5 | |
IF flag_ryder_mission_counter = 3 | |
IF flag_crash_mission_counter = 2 | |
IF flag_cesar_mission_counter = 1 | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_la1fin1_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( LA1FIN1 ) 1000 2 //"LA final mission 1" //IMRAN //Motel deal | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION la1fin1.sc | |
ENDIF | |
IF flag_la1fin1_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( LA1FIN2 ) 1000 2 //"LA final mission 2" //KEV B //Killers cutlass | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION la1fin2.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO la1fin1_loop_inner | |
} | |
// ********************************************************************************************************** | |
// ************************************************COUNTRY MISSIONS****************************************** | |
// ********************************************************************************************************** | |
// ********************************************************************************************************** | |
// ********************************************BADLANDS CRASH MISSIONS*************************************** | |
bcrash_mission_loop: | |
{ | |
SCRIPT_NAME BCRASH | |
bcrash_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_bcrash_mission_counter = 1 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer bcrashX bcrashY bcrashZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_bcrash_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( BCRASH1 ) 1000 2 //"crash mission 1" //CHRIS M //Witness protection | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION bcrash1.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO bcrash_mission_loop_inner | |
} | |
// ********************************************************************************************************** | |
// *******************************************CATALINA MISSIONS********************************************** | |
cat_mission_loop: | |
{ | |
VAR_INT flag_cat_mission1_passed flag_cat_mission2_passed flag_cat_mission3_passed flag_cat_mission4_passed | |
VAR_INT load_and_launch_catalina_mission flag_trigger_trailor_cut | |
load_and_launch_catalina_mission = -1 | |
SCRIPT_NAME CAT | |
cat_mission_loop_inner: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF CAN_PLAYER_START_MISSION player1 | |
IF cat_counter = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer catX[5] catY[5] catZ[5] 1.2 1.2 2.0 FALSE //TRUCK STOP | |
flag_player_on_mission = 1 | |
GOSUB print_cat_text | |
GOSUB cat_a_script_cut | |
LOAD_AND_LAUNCH_MISSION catalina.sc | |
ENDIF | |
ELSE | |
IF flag_trailor_cutscene = 1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer catX[0] catY[0] catZ[0] 1.2 1.2 2.0 FALSE //LODGE | |
flag_player_on_mission = 1 | |
GOSUB print_cat_text | |
GOSUB cat_b_script_cut | |
LOAD_AND_LAUNCH_MISSION catalina.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
SWITCH load_and_launch_catalina_mission | |
CASE 0 | |
flag_player_on_mission = 1 | |
LOAD_AND_LAUNCH_MISSION cat1.sc //ROb liquor | |
GOTO cat_mission_loop_inner | |
BREAK | |
CASE 1 | |
flag_player_on_mission = 1 | |
LOAD_AND_LAUNCH_MISSION cat2.sc //Rob bank | |
GOTO cat_mission_loop_inner | |
BREAK | |
CASE 2 | |
flag_player_on_mission = 1 | |
LOAD_AND_LAUNCH_MISSION cat3.sc //Rob gas | |
GOTO cat_mission_loop_inner | |
BREAK | |
CASE 3 | |
flag_player_on_mission = 1 | |
LOAD_AND_LAUNCH_MISSION cat4.sc //Rob OTB | |
GOTO cat_mission_loop_inner | |
BREAK | |
ENDSWITCH | |
ENDIF | |
ELSE | |
load_and_launch_catalina_mission = -1 | |
ENDIF | |
IF flag_trigger_trailor_cut = 0 | |
IF cat_counter = 1 | |
REMOVE_BLIP cat_contact_blip | |
flag_trigger_trailor_cut = 1 | |
ENDIF | |
ENDIF | |
IF flag_trigger_trailor_cut = 1 | |
IF flag_truth_mission_counter = 1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer bcrashX bcrashY bcrashZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
flag_player_on_mission = 1 | |
PRINT_BIG (TRAILER) 1000 2 | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION cat_cuts.sc | |
flag_trigger_trailor_cut = 2 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF cat_counter > 3 | |
REMOVE_BLIP cat_contact_blip | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
ENDIF | |
GOTO cat_mission_loop_inner | |
} | |
print_cat_text: | |
IF cat_counter = 0 | |
PRINT_BIG CATCUT1 1000 2 //"Catalina" //CHRIS R | |
ENDIF | |
IF cat_counter = 1 | |
PRINT_BIG CATCUT2 1000 2 //"Catalina" //CHRIS R | |
ENDIF | |
IF cat_counter = 2 | |
PRINT_BIG CATCUT3 1000 2 //"Catalina" //CHRIS R | |
ENDIF | |
IF cat_counter = 3 | |
PRINT_BIG CATCUT4 1000 2 //"Catalina" //CHRIS R | |
ENDIF | |
RETURN | |
cat_a_script_cut: | |
IF IS_PLAYER_PLAYING player1 | |
flag_player_on_mission = 1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 664.9277 -479.6112 16.1668 0.0 0.0 0.0 //LODGE | |
POINT_CAMERA_AT_POINT 665.8948 -479.5685 16.4175 JUMP_CUT | |
CLEAR_AREA 681.8004 -474.1063 15.5363 3.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 681.8004 -474.1063 15.5363 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
cat_b_script_cut: | |
IF IS_PLAYER_PLAYING player1 | |
flag_player_on_mission = 1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 856.9968 -27.9584 63.7393 0.0 0.0 0.0 //LODGE | |
POINT_CAMERA_AT_POINT 857.9943 -28.0286 63.7295 JUMP_CUT | |
CLEAR_AREA 870.1503 -25.3395 62.9589 3.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 870.1503 -25.3395 62.9589 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
// ************************************************************************************************************ | |
// *******************************************TRUTH MISSIONS*************************************************** | |
truth_mission_loop: | |
{ | |
SCRIPT_NAME TRU | |
truth_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_truth_mission_counter = 2 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_truth_mission_counter = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer truth2X truth2Y truth2Z 1.2 1.2 2.0 FALSE | |
flag_player_on_mission = 1 | |
PRINT_BIG ( TRUTH_1 ) 1000 2 //"truth mission 1" //IMRAN //Body Harvest | |
GOSUB motel_script_cut1 | |
LOAD_AND_LAUNCH_MISSION truth1.sc | |
ENDIF | |
ENDIF | |
IF flag_truth_mission_counter = 1 | |
AND flag_bcesar_mission_counter > 9 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer truthX truthY truthZ 1.2 1.2 2.0 FALSE | |
flag_player_on_mission = 1 | |
PRINT_BIG ( TRUTH_2 ) 1000 2 //"truth mission 2" //ANDY //Full head of green | |
GOSUB truthfarm_script_cut1 | |
LOAD_AND_LAUNCH_MISSION truth2.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO truth_mission_loop_inner | |
} | |
// ************************************************************************************************************ | |
// ****************************************** BADLANDS CESAR MISSIONS ***************************************** | |
bcesar_mission_loop: | |
{ | |
SCRIPT_NAME BCESAR | |
bcesar_mission_loop_inner: | |
WAIT 0 | |
IF flag_bcesar_mission_counter = 10 | |
SET_INT_STAT PASSED_BCESAR4 1 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF flag_bcesar_mission_counter = 2 //triggers fail cutscene to clear race cars. | |
IF start_the_bcesar_race = 0 | |
LOAD_AND_LAUNCH_MISSION bcesar4.sc | |
ENDIF | |
ENDIF | |
IF flag_bcesar_mission_counter = 0 | |
//OR flag_bcesar_mission_counter = 1 | |
//OR flag_bcesar_mission_counter = 2 | |
IF start_the_bcesar_race = 0 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer bcesarX bcesarY bcesarZ 4.0 4.0 4.0 TRUE | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
IF CAN_PLAYER_START_MISSION player1 | |
GET_CAR_CHAR_IS_USING scplayer car | |
GET_VEHICLE_CLASS car car_class | |
IF car_class = NORMAL_CAR | |
OR car_class = POOR_FAMILY_CAR | |
OR car_class = RICH_FAMILY_CAR | |
OR car_class = EXECUTIVE_CAR | |
OR car_class = WORKER_CAR | |
OR car_class = TAXI_CAR | |
flag_bcesar_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( BCESAR4 ) 1000 2 //"bcesar mission 4" //KEV B //Badlands Race1 | |
GOSUB mini_fade | |
//IF cat_counter < 4 | |
// GOSUB setup_catalina_mission | |
//ENDIF | |
LOAD_AND_LAUNCH_MISSION bcesar4.sc | |
ELSE | |
PRINT_NOW BC4_7 1000 1 | |
ENDIF | |
ENDIF | |
ELSE | |
PRINT_NOW BC4_2 1000 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF flag_bcesar_mission_counter = 3 | |
flag_bcesar_mission_counter = 4 | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION bcesar4.sc | |
ENDIF | |
IF flag_stage_of_bcesar_race = 1 | |
AND cat_counter < 4 | |
REMOVE_BLIP cat_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT catX[0] catY[0] catZ[0] cat_blip_icon cat_contact_blip //Cats lodge | |
flag_stage_of_bcesar_race = 0 | |
ENDIF | |
IF cat_counter > 3 | |
IF start_the_bcesar_race = 0 | |
IF flag_bcesar_mission_counter = 5 | |
OR flag_bcesar_mission_counter = 6 | |
OR flag_bcesar_mission_counter = 7 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer -513.9356 -188.3140 77.4599 1.2 1.2 2.0 FALSE //Sort this out with KEV | |
IF CAN_PLAYER_START_MISSION player1 | |
flag_bcesar_mission_counter = 5 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( BCES4_2 ) 1000 2 //"bcesar mission 4" //KEV B //Badlands Race2 | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION bcesar4.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF flag_bcesar_mission_counter = 8 | |
flag_bcesar_mission_counter = 9 | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION bcesar4.sc | |
ENDIF | |
ENDIF | |
IF cat_counter = 4 | |
AND flag_bcesar_mission_counter > 4 | |
REMOVE_BLIP bcesar_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT -513.9356 -188.3140 77.4599 cesar_blip_icon bcesar_contact_blip | |
cat_counter = 5 | |
ENDIF | |
IF start_the_bcesar_race = 1 | |
IF flag_bcesar_mission_counter = 1 | |
flag_bcesar_mission_counter = 2 | |
race_selection = BADLAND_RACE1 | |
show_race_selection = FALSE | |
LOAD_AND_LAUNCH_MISSION racetour.sc | |
start_the_bcesar_race = 0 | |
ENDIF | |
IF flag_bcesar_mission_counter = 6 | |
flag_bcesar_mission_counter = 7 | |
race_selection = BADLAND_RACE2 | |
show_race_selection = FALSE | |
SET_INT_STAT STARTED_CRASH1 1 | |
LOAD_AND_LAUNCH_MISSION racetour.sc | |
start_the_bcesar_race = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO bcesar_mission_loop_inner | |
} | |
// ********************************************************************************************************** | |
// ********************************************SAN FRAN MISSIONS********************************************* | |
// ********************************************************************************************************** | |
// ********************************************************************************************************** | |
// *********************************************GARAGE MISSIONS********************************************** | |
garage_mission_loop: | |
{ | |
SCRIPT_NAME GARAGE | |
garage_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_garage_mission_counter = 2 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer garageX garageY garageZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_garage_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( GAR_1 ) 1000 2 //"Garage mission 1" //KEV W //Welcome to San Fran | |
GOSUB garage_script_cut1 | |
LOAD_AND_LAUNCH_MISSION garage1.sc | |
ENDIF | |
IF flag_scrash_mission_counter = 1 | |
IF flag_garage_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( GAR_2 ) 1000 2 //"Garage mission 2" //NEIL //Demolition | |
GOSUB garage_script_cut1 | |
LOAD_AND_LAUNCH_MISSION garage2.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO garage_mission_loop_inner | |
} | |
// ********************************************************************************************************** | |
// ****************************************SAN FRAN CRASH MISSIONS******************************************* | |
scrash_mission_loop: | |
{ | |
SCRIPT_NAME SCRASH | |
scrash_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_scrash_mission_counter = 2 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer scrashX scrashY scrashZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_scrash_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SCRA_1 ) 1000 2 //"Scrash mission 1" //KEV B //Plant The Drugs | |
GOSUB garage_script_cut1 | |
LOAD_AND_LAUNCH_MISSION scrash1.sc | |
ENDIF | |
IF flag_scrash_mission_counter = 1 | |
AND flag_Synd_mission_counter = 6 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SCRA_2 ) 1000 2 //"Scrash mission 2" //Keith //Follow the ped | |
GOSUB garage_script_cut1 | |
LOAD_AND_LAUNCH_MISSION scrash2.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO scrash_mission_loop_inner | |
} | |
// *********************************************************************************************************** | |
// ********************************************WUZI MISSIONS************************************************** | |
wuzi_mission_loop: | |
{ | |
SCRIPT_NAME WUZI | |
wuzi_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_wuzi_mission_counter = 5 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer wuziX wuziY wuziZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_wuzi_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( WUZI_1 ) 1000 2 //"Wuzi mission 1" //KEV B //Meet the People //Mountain Cloud Boy | |
GOSUB wuzi_script_cut1 | |
LOAD_AND_LAUNCH_MISSION wuzi1.sc | |
ENDIF | |
IF flag_wuzi_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( FAR_4 ) 1000 2 //"farlie mission 4" PAUL D //Airport Pickup | |
GOSUB wuzi_script_cut1 | |
LOAD_AND_LAUNCH_MISSION farlie4.sc | |
ENDIF | |
IF flag_wuzi_mission_counter = 2 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( FAR_5 ) 1000 2 //"farlie mission 5" JUDITH //Cross Country Decoy | |
GOSUB wuzi_script_cut1 | |
LOAD_AND_LAUNCH_MISSION farlie5.sc | |
ENDIF | |
IF flag_wuzi_mission_counter = 3 | |
GET_INT_STAT UNDERWATER_BREATH_STAMINA swim_stamina_check_main | |
IF swim_stamina_check_main > 50 | |
GET_TIME_OF_DAY hours minutes | |
IF hours >= 20 | |
OR hours < 6 | |
CLEAR_PRINTS | |
flag_player_on_mission = 1 | |
PRINT_BIG ( WUZI_2 ) 1000 2 //"Wuzi mission 2" //SIMON //Swimming with the Sharks | |
GOSUB wuzi_script_cut1 | |
LOAD_AND_LAUNCH_MISSION wuzi2.sc | |
ELSE | |
PRINT_NOW MTIME1 1000 1 //Come back between 20:00 6:00 | |
ENDIF | |
ELSE | |
// run alternate cutscene no matter what the time of day is | |
CLEAR_PRINTS | |
flag_player_on_mission = 1 | |
PRINT_BIG ( WUZI_2 ) 1000 2 //"Wuzi mission 2" //SIMON //Swimming with the Sharks | |
GOSUB wuzi_script_cut1 | |
LOAD_AND_LAUNCH_MISSION wuzi2.sc | |
//PRINT_NOW WZI2_60 1000 1 | |
ENDIF | |
ENDIF | |
IF flag_wuzi_mission_counter = 4 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( WUZI_4 ) 1000 2 //"Wuzi mission 4" //ANDY //Storm Freighter | |
GOSUB wuzi_script_cut1 | |
LOAD_AND_LAUNCH_MISSION wuzi4.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO wuzi_mission_loop_inner | |
} | |
// **************************************************************************************************************** | |
// ********************************************SYNDICATE MISSIONS************************************************** | |
Synd_mission_loop: | |
{ | |
SCRIPT_NAME SYND | |
Synd_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_Synd_mission_counter = 10 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer garageX garageY garageZ 1.2 1.2 2.0 FALSE //garage | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_synd_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SYND_1 ) 1000 2 //"Syndicate mission 1" //CHRIS M //Recon | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION Syn1.sc | |
ENDIF | |
IF flag_Synd_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SYND_2 ) 1000 2 //"Syndicate mission 2" //NEIL //Blonde Ambition PART1 | |
GOSUB garage_script_cut1 | |
LOAD_AND_LAUNCH_MISSION Syn2.sc | |
ENDIF | |
IF flag_Synd_mission_counter = 5 | |
//GOSUB garage_script_cut1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SYND_3 ) 1000 2 //"Syndicate mission 3" //JUDITH //Outrider | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION Syn3.sc | |
ENDIF | |
IF flag_Synd_mission_counter = 6 | |
AND flag_scrash_mission_counter = 2 | |
GET_TIME_OF_DAY hours minutes | |
IF hours >= 20 | |
OR hours < 6 | |
flag_player_on_mission = 1 | |
CLEAR_PRINTS | |
PRINT_BIG ( SYND_4 ) 1000 2 //"Syndicate mission 4" //PAUL //Call to arms | |
GOSUB garage_script_cut1 | |
LOAD_AND_LAUNCH_MISSION Syn4.sc | |
ELSE | |
PRINT_NOW MTIME1 1000 1 //Come back between 20:00 6:00 | |
ENDIF | |
ENDIF | |
IF flag_Synd_mission_counter = 8 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SYND_6 ) 1000 2 //"Syndicate mission 6" //Steve T //Toreno's Plane | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION Syn6.sc | |
ENDIF | |
IF flag_Synd_mission_counter = 9 | |
AND flag_wuzi_mission_counter = 5 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SYND_7 ) 1000 2 //"Syndicate mission 7" //Paul D//Los Cabras Crack Lab | |
GOSUB garage_script_cut1 | |
LOAD_AND_LAUNCH_MISSION Syn7.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_Synd_mission_counter = 7 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer -1717.05 1280.91 6.23 1.2 1.2 2.5 FALSE //Pier69 | |
IF CAN_PLAYER_START_MISSION player1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SYND_5 ) 1000 2 //"Syndicate mission 5" //ANDY //Pier69 | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION Syn5.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer SyndX SyndY SyndZ 1.2 1.2 2.5 FALSE //Pleasure domes | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_Synd_mission_counter = 2 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( SYND_2 ) 1000 2 //"Syndicate mission 2" //NEIL //Blonde Ambition PART2 | |
GOSUB pleasure_domes_script_cut1 | |
LOAD_AND_LAUNCH_MISSION Syn2.sc | |
ENDIF | |
IF flag_Synd_mission_counter = 3 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( FAR_2 ) 1000 2 //"farlie mission 2" JUDITH //Bike Bust Up | |
GOSUB pleasure_domes_script_cut1 | |
LOAD_AND_LAUNCH_MISSION farlie2.sc | |
ENDIF | |
IF flag_Synd_mission_counter = 4 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( FAR_3 ) 1000 2 //"farlie mission 3" KEV W //Hostage | |
GOSUB pleasure_domes_script_cut1 | |
LOAD_AND_LAUNCH_MISSION farlie3.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO Synd_mission_loop_inner | |
} | |
// *********************************************************************************************************** | |
// ********************************************STEAL MISSIONS************************************************* | |
steal_mission_loop: | |
{ | |
SCRIPT_NAME STEAL | |
steal_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_steal_mission_counter = 4 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer stealX stealY stealZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_steal_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( STEAL_1 ) 1000 2 //"steal mission 1" //CHRIS M //Follow | |
GOSUB steal_script_cut1 | |
LOAD_AND_LAUNCH_MISSION steal1.sc | |
ENDIF | |
IF flag_steal_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( STEAL_2 ) 1000 2 //"steal mission 2" //ANDY //Steal from Car Showroom | |
GOSUB steal_script_cut1 | |
LOAD_AND_LAUNCH_MISSION steal2.sc | |
ENDIF | |
IF flag_steal_mission_counter = 2 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( STEAL_4 ) 1000 2 //"steal mission 4" //NEIL //Car Crane | |
GOSUB steal_script_cut1 | |
LOAD_AND_LAUNCH_MISSION steal4.sc | |
ENDIF | |
IF flag_steal_mission_counter = 3 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( STEAL_5 ) 1000 2 //"steal mission 5" //ANDY //Stinger Trap | |
GOSUB steal_script_cut1 | |
LOAD_AND_LAUNCH_MISSION steal5.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO steal_mission_loop_inner | |
} | |
// *********************************************************************************************************** | |
// ********************************************TOURNAMENT RACE MISSIONS*************************************** | |
trace_mission_loop: | |
{ | |
SCRIPT_NAME TRACE | |
trace_mission_loop_inner: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer testsX testsY testsZ 20.0 20.0 10.0 FALSE | |
GET_AREA_VISIBLE main_visible_area | |
IF NOT main_visible_area = 0 | |
IF f1_scripted_cut = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer -2031.4 -116.5 1034.1 1.0 1.0 1.5 TRUE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_garage_mission_counter > 0 | |
flag_player_on_mission = 1 | |
SET_FADING_COLOUR 0 0 0 | |
PRINT_BIG ( FAR_1 ) 1000 2 //"farlie mission 1" ANDY //The Tests | |
SET_PLAYER_CONTROL player1 OFF | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION farlie1.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer testsX testsY testsZ 1.0 1.0 1.5 TRUE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_garage_mission_counter > 0 | |
flag_player_on_mission = 1 | |
SET_FADING_COLOUR 0 0 0 | |
PRINT_BIG ( FAR_1 ) 1000 2 //"farlie mission 1" ANDY //The Tests | |
SET_PLAYER_CONTROL player1 OFF | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION farlie1.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_mob_sanfran[3] = 1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer traceX[0] traceY[0] traceZ[0] 1.2 1.2 2.0 FALSE | |
flag_player_on_mission = 1 | |
SET_PLAYER_CONTROL player1 OFF | |
PRINT_BIG TRACE_1 1000 2 //"trace mission 1" //CHRIS R //Race Tournament | |
show_race_selection = TRUE | |
menu_mode = LA_RACES | |
LOAD_AND_LAUNCH_MISSION racetour.sc | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer traceX[1] traceY[1] traceZ[1] 1.2 1.2 2.0 FALSE | |
flag_player_on_mission = 1 | |
SET_PLAYER_CONTROL player1 OFF | |
PRINT_BIG TRACE_1 1000 2 //"trace mission 1" //CHRIS R //Race Tournament | |
show_race_selection = TRUE | |
menu_mode = SF_RACES | |
LOAD_AND_LAUNCH_MISSION racetour.sc | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer traceX[2] traceY[2] traceZ[2] 1.2 1.2 2.0 FALSE | |
flag_player_on_mission = 1 | |
SET_PLAYER_CONTROL player1 OFF | |
PRINT_BIG TRACE_1 1000 2 //"trace mission 1" //CHRIS R //Race Tournament | |
show_race_selection = TRUE | |
menu_mode = LV_RACES | |
LOAD_AND_LAUNCH_MISSION racetour.sc | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer traceX[3] traceY[3] traceZ[3] 1.2 1.2 2.0 FALSE | |
flag_player_on_mission = 1 | |
SET_PLAYER_CONTROL player1 OFF | |
PRINT_BIG TRACE_1 1000 2 //"trace mission 1" //CHRIS R //Race Tournament | |
show_race_selection = TRUE | |
menu_mode = AIR_RACES | |
LOAD_AND_LAUNCH_MISSION racetour.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO trace_mission_loop_inner | |
} | |
// *********************************************************************************************************** | |
// ****************************************ZERO RC MISSIONS*************************************************** | |
zero_mission_loop: | |
{ | |
SCRIPT_NAME zero | |
zero_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_zero_mission_counter = 3 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer zeroX zeroY zeroZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_zero_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( ZERO_1 ) 1000 2 //"zero mission 1" //KEV W //Scramble | |
GOSUB zero_script_cut1 | |
LOAD_AND_LAUNCH_MISSION zero1.sc | |
ENDIF | |
IF flag_zero_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( zero_2 ) 1000 2 //"zero mission 2" //KEV W //Rolling Thunder | |
GOSUB zero_script_cut1 | |
LOAD_AND_LAUNCH_MISSION zero2.sc | |
ENDIF | |
IF flag_zero_mission_counter = 2 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( ZERO_4 ) 1000 2 //"zero mission 4" //NEIL //Return Fire | |
GOSUB zero_script_cut1 | |
LOAD_AND_LAUNCH_MISSION zero4.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO zero_mission_loop_inner | |
} | |
// ********************************************************************************************************** | |
// ********************************************DESERT MISSIONS*********************************************** | |
// ********************************************************************************************************** | |
// ********************************************************************************************************** | |
// *********************************************DESERT MISSIONS********************************************** | |
desert_mission_loop: | |
{ | |
SCRIPT_NAME DESERT | |
desert_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_desert_mission_counter = 9 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer desertX desertY desertZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_desert_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( DESERT1 ) 1000 2 //"desert mission 1" //DAVE B //Monster Mash | |
GOSUB ranch_script_cut1 | |
LOAD_AND_LAUNCH_MISSION desert1.sc | |
ENDIF | |
IF flag_mob_sanfran[5] = 1 | |
IF flag_desert_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( DESERT2 ) 1000 2 //"desert mission 2" //ANDY //Jump linerunner //HighJack | |
GOSUB ranch_script_cut1 | |
LOAD_AND_LAUNCH_MISSION desert2.sc | |
ENDIF | |
ENDIF | |
IF flag_mob_sanfran[7] = 1 | |
IF flag_desert_mission_counter = 2 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( DESERT3 ) 1000 2 //"desert mission 3" //NEIL //Contraband | |
GOSUB ranch_script_cut1 | |
LOAD_AND_LAUNCH_MISSION desert3.sc | |
ENDIF | |
ENDIF | |
IF flag_desert_mission_counter = 3 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( DESERT4 ) 1000 2 //"desert mission 4" //CRAIG //Verdant Meadows | |
GOSUB ranch_script_cut1 | |
LOAD_AND_LAUNCH_MISSION desert4.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer desert2X desert2Y desert2Z 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF pilot_test_passed = 1 | |
IF flag_desert_mission_counter = 5 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( DESERT6 ) 1000 2 //"desert mission 6" //Keith //N.O.E. | |
GOSUB airstrip_script_cut2 | |
LOAD_AND_LAUNCH_MISSION desert6.sc | |
ENDIF | |
ENDIF | |
IF flag_desert_mission_counter = 6 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( DESERT9 ) 1000 2 //"desert mission 9" //KEV B //C3 Shootout | |
GOSUB airstrip_script_cut2 | |
LOAD_AND_LAUNCH_MISSION desert9.sc | |
ENDIF | |
IF flag_desert_mission_counter = 7 | |
GET_TIME_OF_DAY hours minutes | |
IF hours >= 20 | |
OR hours < 6 | |
CLEAR_PRINTS | |
flag_player_on_mission = 1 | |
PRINT_BIG ( DESERT8 ) 1000 2 //"desert mission 8" //IMRAN //Steal Jetpack | |
GOSUB airstrip_script_cut2 | |
LOAD_AND_LAUNCH_MISSION desert8.sc | |
ELSE | |
PRINT_NOW MTIME1 1000 1 //Come back between 20:00 6:00 | |
ENDIF | |
ENDIF | |
IF flag_desert_mission_counter = 8 | |
AND flag_mob_vegas[11] = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( DESER10 ) 1000 2 //"desert mission 10" //CHRIS R //Train Heist | |
GOSUB airstrip_script_cut2 | |
LOAD_AND_LAUNCH_MISSION desert10.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO desert_mission_loop_inner | |
} | |
// ************************************************************************************************************ | |
// ************************************* Pilot School Missions ************************************************ | |
// pilot school | |
pilot_school_loop: | |
{ | |
SCRIPT_NAME PSCH | |
pilot_school_loop_inner: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer pilotX pilotY pilotZ 1.0 1.0 1.0 TRUE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_desert_mission_counter > 3 | |
SET_FADING_COLOUR 0 0 0 | |
flag_player_on_mission = 1 | |
IF played_scipted_airscript_cut = 0 | |
GOSUB airstrip_script_cut1 | |
played_scipted_airscript_cut = 1 | |
ELSE | |
SET_FADING_COLOUR 0 0 0 | |
IF pilot_test_passed = 0 | |
PRINT_BIG ( DESERT5 ) 1000 2 //"Pilot School" | |
ENDIF | |
SET_PLAYER_CONTROL player1 OFF | |
GOSUB mini_fade | |
ENDIF | |
LOAD_AND_LAUNCH_MISSION desert5.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO pilot_school_loop_inner | |
} | |
// ********************************************************************************************************** | |
// ********************************************VEGAS MISSIONS************************************************ | |
// ********************************************************************************************************** | |
// *********************************************************************************************************** | |
// ********************************************Casino Missions************************************************ | |
casino_mission_loop: | |
{ | |
SCRIPT_NAME CASINO | |
casino_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_casino_mission_counter = 9 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF CAN_PLAYER_START_MISSION player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer casinoX casinoY casinoZ 1.2 1.2 2.0 FALSE | |
IF flag_casino_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( CASINO1 ) 1000 2 //"casino mission 1" //CHRIS M //Wind up | |
GOSUB triad_casino_script_cut1 | |
LOAD_AND_LAUNCH_MISSION casino1.sc | |
ENDIF | |
IF flag_casino_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( CASEEN2 ) 1000 2 //"casino mission 2" //PAUL //Kickstart Quarry //Explosive situation | |
GOSUB triad_casino_script_cut1 | |
LOAD_AND_LAUNCH_MISSION casino2.sc | |
ENDIF | |
IF flag_casino_mission_counter = 2 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( CASINO3 ) 1000 2 //"casino mission 3" //STEVE //Fake Chips | |
GOSUB triad_casino_script_cut1 | |
LOAD_AND_LAUNCH_MISSION casino3.sc | |
ENDIF | |
IF flag_casino_mission_counter = 6 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( CASINO7 ) 1000 2 //"casino mission 7" //CRAIG //Clear & Present Danger | |
GOSUB triad_casino_script_cut1 | |
LOAD_AND_LAUNCH_MISSION casino7_cut.sc | |
ENDIF | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer 2026.6028 1007.7353 9.8127 1.2 1.2 2.0 FALSE | |
IF flag_casino_mission_counter = 3 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( CASINO4 ) 1000 2 //"casino mission 4" //DAVE //Paul & Maccer | |
GOSUB triad_casino_script_cut3 | |
LOAD_AND_LAUNCH_MISSION casino4.sc | |
ENDIF | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer heistX heistY heistZ 1.2 1.2 2.0 FALSE | |
IF flag_casino_mission_counter = 4 | |
AND flag_mob_vegas[2] = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( CASINO5 ) 1000 2 //"casino mission 5" //SIMON //Hospital Hi Jinx | |
GOSUB mafia_casino_script_cut1 | |
LOAD_AND_LAUNCH_MISSION casino5.sc | |
ENDIF | |
IF flag_casino_mission_counter = 5 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( CASINO6 ) 1000 2 //"casino mission 6" //SIMON //Abattoir //Meat business | |
GOSUB mafia_casino_script_cut1 | |
LOAD_AND_LAUNCH_MISSION casino6.sc | |
ENDIF | |
IF flag_casino_mission_counter = 7 | |
AND flag_mob_vegas[3] = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( CASINO9 ) 1000 2 //"casino mission 9" //SIMON //Freefall | |
GOSUB mafia_casino_script_cut1 | |
LOAD_AND_LAUNCH_MISSION casino9.sc | |
ENDIF | |
IF flag_casino_mission_counter = 8 | |
AND flag_mob_vegas[4] = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( CASIN10 ) 1000 2 //"casino mission 10" //WILLIE //St Marks Bistro | |
GOSUB mafia_casino_script_cut1 | |
LOAD_AND_LAUNCH_MISSION casino10.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO casino_mission_loop_inner | |
} | |
// *********************************************************************************************************** | |
// ********************************************Vcrash Missions************************************************** | |
vcrash_mission_loop: | |
{ | |
SCRIPT_NAME VCRASH | |
vcrash_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_vcrash_mission_counter = 2 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF CAN_PLAYER_START_MISSION player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer vcrashX vcrashY vcrashZ 1.2 1.2 2.0 FALSE | |
IF flag_vcrash_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( VCRASH1 ) 1000 2 //"vcrash mission 1" //CHRIS R //Uber Chase | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION vcrash1.sc | |
ENDIF | |
ENDIF | |
IF flag_vcrash_mission_counter = 1 | |
AND flag_mob_vegas[0] = 1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer -378.75 2235.85 41.42 1.2 1.2 2.0 FALSE //Triggered from mobile (need coords for desert town) | |
flag_player_on_mission = 1 | |
PRINT_BIG ( VCRASH2 ) 1000 2 //"vcrash mission 2" //CHRIS R //High Noon | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION vcrash2.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO vcrash_mission_loop_inner | |
} | |
// *********************************************************************************************************** | |
// ********************************************Doc G Missions************************************************* | |
doc_mission_loop: | |
{ | |
SCRIPT_NAME DOC | |
doc_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_doc_mission_counter = 1 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer docX docY docZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_doc_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( DOC_2 ) 1000 2 //"doc mission 2" //PAUL //Jumper | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION doc2.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO doc_mission_loop_inner | |
} | |
// *********************************************************************************************************** | |
// ********************************************Heist Missions************************************************* | |
heist_mission_loop: | |
{ | |
SCRIPT_NAME HEIST | |
//VIEW_INTEGER_VARIABLE flag_heist_mission_counter flag_heist_mission_counter | |
heist_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_heist_mission_counter = 6 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer TheheistX TheheistY TheheistZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_heist_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( HEIST_1 ) 1000 2 //"heist mission 1" //STEVE //Photo Plans | |
GOSUB triad_casino_script_cut2 | |
LOAD_AND_LAUNCH_MISSION heist1.sc | |
ENDIF | |
IF flag_heist_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( HEIST_3 ) 1000 2 //"heist mission 2" //DAVE //Girlfriend | |
GOSUB triad_casino_script_cut2 | |
LOAD_AND_LAUNCH_MISSION heist3.sc | |
ENDIF | |
IF flag_heist_mission_counter = 2 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( HEIST_2 ) 1000 2 //"heist mission 2" //DAVE //Dam charges | |
GOSUB triad_casino_script_cut2 | |
LOAD_AND_LAUNCH_MISSION heist2.sc | |
ENDIF | |
IF flag_heist_mission_counter = 3 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( HEIST_4 ) 1000 2 //"heist mission 4" //STEVE T //Street Hawk | |
GOSUB triad_casino_script_cut2 | |
LOAD_AND_LAUNCH_MISSION heist4.sc | |
ENDIF | |
IF flag_heist_mission_counter = 4 | |
GET_TIME_OF_DAY hours minutes | |
IF hours >= 20 | |
OR hours < 6 | |
flag_player_on_mission = 1 | |
CLEAR_PRINTS | |
PRINT_BIG ( HEIST_5 ) 1000 2 //"heist mission 5" //WILLIE //Steal Heli Magnate | |
GOSUB triad_casino_script_cut2 | |
LOAD_AND_LAUNCH_MISSION heist5.sc | |
ELSE | |
PRINT_NOW MTIME1 1000 1 //Come back between 20:00 6:00 | |
ENDIF | |
ENDIF | |
IF flag_heist_mission_counter = 5 | |
AND flag_mob_vegas[6] = 1 | |
IF keycard_aquired_from_millie = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( HEIST_9 ) 1000 2 //"heist mission 9" //PAUL D //The Heist | |
GOSUB triad_casino_script_cut2 | |
LOAD_AND_LAUNCH_MISSION heist9.sc | |
ELSE | |
PRINT_NOW NEEDKEY 1000 1 //Need Key card | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO heist_mission_loop_inner | |
} | |
// ********************************************************************************************************** | |
// *******************************************(LA2) MISSIONS************************************************* | |
// ********************************************************************************************************** | |
// ********************************************************************************************************** | |
// ******************************************Mansion Missions************************************************ | |
mansion_mission_loop: | |
{ | |
SCRIPT_NAME MANSION | |
mansion_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_mansion_mission_counter = 4 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF CAN_PLAYER_START_MISSION player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer casinoX casinoY casinoZ 1.2 1.2 2.0 FALSE | |
IF flag_mansion_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( MAN_1 ) 1000 2 //"mansion mission 1" //SIMON //Take Back G's Mansion | |
GOSUB triad_casino_script_cut1 | |
LOAD_AND_LAUNCH_MISSION mansion1.sc | |
ENDIF | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer mansionX mansionY mansionZ 1.2 1.2 2.0 FALSE | |
IF flag_mansion_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( MAN_2 ) 1000 2 //"mansion mission 2" //CRAIG //Steal Harrier | |
GOSUB LA_mansion_script_cut1 | |
LOAD_AND_LAUNCH_MISSION mansion2.sc | |
ENDIF | |
IF flag_mansion_mission_counter = 2 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( MAN_3 ) 1000 2 //"mansion mission 3" //PAUL //Pick up sweet | |
GOSUB LA_mansion_script_cut1 | |
LOAD_AND_LAUNCH_MISSION mansion3.sc | |
ENDIF | |
IF flag_mansion_mission_counter = 3 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( MAN_5 ) 1000 2 //"mansion mission 5" //SIMON //Take down MC Strap | |
GOSUB LA_mansion_script_cut1 | |
LOAD_AND_LAUNCH_MISSION mansion5.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO mansion_mission_loop_inner | |
} | |
// *********************************************************************************************************** | |
// ******************************************Grove Missions*************************************************** | |
grove_mission_loop: | |
{ | |
SCRIPT_NAME GROVE | |
grove_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_grove_mission_counter = 2 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF CAN_PLAYER_START_MISSION player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer introX introY introZ 1.2 1.2 2.0 FALSE | |
IF flag_grove_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( GROVE_1 ) 1000 2 //"grove mission 1" //WILLIE //Beat Down on b Dup | |
GOSUB mother_script_cut | |
LOAD_AND_LAUNCH_MISSION grove1.sc | |
ENDIF | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer sweetX sweetY sweetZ 1.2 1.2 2.0 FALSE | |
IF flag_grove_mission_counter = 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( GROVE_2 ) 1000 2 //"grove mission 2" //PAUL //Grove 4 life | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION grove2.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO grove_mission_loop_inner | |
} | |
// *********************************************************************************************************** | |
// ******************************************Riot Missions**************************************************** | |
riot_mission_loop: | |
{ | |
SCRIPT_NAME RIOT | |
riot_mission_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_riot_mission_counter = 5 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer mansionX mansionY mansionZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_riot_mission_counter = 0 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( RIOT_1 ) 1000 2 //"riot mission 1" //ANDY //RIOT! | |
GOSUB LA_mansion_script_cut1 | |
LOAD_AND_LAUNCH_MISSION riot1.sc //andy | |
ENDIF | |
ENDIF | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer sweetX sweetY sweetZ 1.2 1.2 2.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
IF flag_riot_mission_counter = 1 | |
FIND_MAX_NUMBER_OF_GROUP_MEMBERS returned_respect | |
IF returned_respect > 1 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( RIOT_2 ) 1000 2 //"riot mission 2" //ANDY //DESPERADOS | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION riot2.sc | |
ELSE | |
PRINT_NOW MOREREP 1000 1 //You need more respect | |
IF respect_help_played = 0 | |
PRINT_HELP HELP101 | |
respect_help_played = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF flag_mob_LA2[3] = 1 | |
IF flag_mob_LA2[2] = 1 | |
IF flag_riot_mission_counter = 2 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( RIOT_4 ) 1000 2 //"riot mission 4" //IMRAN //CARTER BLOCK | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION finaleA.sc | |
ENDIF | |
ELSE | |
PRINT_NOW MORTURF 2000 1 //Take over gang territories | |
ENDIF | |
ENDIF | |
IF flag_riot_mission_counter = 3 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( RIOT_4 ) 1000 2 //"riot mission 4" //IMRAN //CARTER BLOCK | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION finaleB.sc | |
ENDIF | |
IF flag_riot_mission_counter = 4 | |
flag_player_on_mission = 1 | |
PRINT_BIG ( RIOT_4 ) 1000 2 //"riot mission 4" //IMRAN //CARTER BLOCK | |
GOSUB sweet_script_cut1 | |
LOAD_AND_LAUNCH_MISSION finaleC.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
IF flag_riot_mission_counter = 3 | |
AND finaleB_played_first_time_round = 0 | |
finaleB_played_first_time_round = 1 | |
flag_player_on_mission = 1 | |
LOAD_AND_LAUNCH_MISSION finaleB.sc | |
ENDIF | |
IF flag_riot_mission_counter = 4 | |
AND finaleB_played_first_time_round = 1 | |
finaleB_played_first_time_round = 2 | |
flag_player_on_mission = 1 | |
LOAD_AND_LAUNCH_MISSION finaleC.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO riot_mission_loop_inner | |
} | |
// *********************************************AMBIENT STUFF************************************************** | |
// ************************************************************************************************************ | |
// ********************************************ODD JOBS******************************************************** | |
// ************************************************************************************************************ | |
// *******************************************Shooting Range Missions****************************************** | |
// Shoot Mission 1 | |
shoot_range_loop: | |
{ | |
SCRIPT_NAME SHOOT | |
shoot_range_loop_inner: | |
WAIT 125 | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF NOT main_visible_area = 0 | |
IF flag_shooting_range_mission = 0 | |
//find which range the player is in | |
IF flag_dont_start_shooting_range = 0 | |
sr_i = 0 | |
WHILE sr_i < 4 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer Srange_X[sr_i] Srange_Y[sr_i] Srange_Z[sr_i] 20.0 20.0 10.0 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
flag_player_on_mission = 1 | |
SR_range_id = sr_i | |
LOAD_AND_LAUNCH_MISSION sh_range.sc | |
ENDIF | |
ENDIF | |
sr_i ++ | |
ENDWHILE | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
IF NOT main_visible_area = 0 | |
IF flag_dont_start_shooting_range = 0 | |
flag_dont_start_shooting_range = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF flag_dont_start_shooting_range = 1 | |
IF main_visible_area = 0 | |
flag_dont_start_shooting_range = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO shoot_range_loop_inner | |
} | |
// ************************************************************************************************************ | |
// *******************************************gym************************************************************** | |
VAR_INT main_visible_area_char | |
gym_loop: | |
{ | |
SCRIPT_NAME gym | |
gym_loop_inner: | |
WAIT 70 | |
IF flag_player_on_mission = 0 | |
IF flag_mob_la1[6] = 1 // WD_SCRIPT_BYPASS // now activates when you mission jump | |
IF switch_the_gym_interiors_off = 0 | |
SWITCH_ENTRY_EXIT gym1 TRUE | |
SWITCH_ENTRY_EXIT gym2 TRUE | |
SWITCH_ENTRY_EXIT gym3 TRUE | |
switch_the_gym_interiors_off = 1 | |
ENDIF | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF CAN_PLAYER_START_MISSION player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer 767.1537 4.8323 999.7185 50.0 50.0 10.0 FALSE | |
GET_CHAR_AREA_VISIBLE scplayer main_visible_area_char | |
IF main_visible_area_char = 5 | |
LOAD_AND_LAUNCH_MISSION gymLS.sc // PAUL D | |
ENDIF | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer 768.4777 -37.1737 999.6865 50.0 50.0 10.0 FALSE | |
GET_CHAR_AREA_VISIBLE scplayer main_visible_area_char | |
IF main_visible_area_char = 6 | |
LOAD_AND_LAUNCH_MISSION gymSF.sc // PAUL D | |
ENDIF | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer 766.5975 -65.2930 999.6562 50.0 50.0 10.0 FALSE | |
GET_CHAR_AREA_VISIBLE scplayer main_visible_area_char | |
IF main_visible_area_char = 7 | |
LOAD_AND_LAUNCH_MISSION gymLV.sc // PAUL D | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
IF flag_mob_la1[6] = 1 | |
IF main_visible_area = 0 | |
IF switch_the_gym_interiors_off = 1 | |
SWITCH_ENTRY_EXIT gym1 FALSE | |
SWITCH_ENTRY_EXIT gym2 FALSE | |
SWITCH_ENTRY_EXIT gym3 FALSE | |
switch_the_gym_interiors_off = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO gym_loop_inner | |
} | |
// ************************************************************************************************************ | |
// *******************************************trucking********************************************************* | |
trucking_loop: | |
{ | |
SCRIPT_NAME TRUCKS | |
trucking_loop_inner: | |
WAIT 0 | |
IF flag_player_on_mission = 0 | |
IF IS_PLAYER_PLAYING player1 | |
LVAR_INT nAtLocation | |
nAtLocation = 0 | |
//if we have passed [Tanker Commander] another corona appears at the trucking location that I cannot find, therefore | |
//to accomadate the corona not rendering but being functional on mission skip | |
IF flag_cat_mission3_passed = 1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer truckX truckY truckZ 1.2 1.2 1.5 FALSE | |
nAtLocation = 1 | |
ENDIF | |
ELSE | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer truckX truckY truckZ 1.2 1.2 1.5 TRUE | |
nAtLocation = 1 | |
ENDIF | |
ENDIf | |
IF nAtLocation = 1 | |
IF CAN_PLAYER_START_MISSION player1 | |
SET_PLAYER_CONTROL player1 OFF | |
DRAW_ODDJOB_TITLE_BEFORE_FADE FALSE | |
PRINT_BIG ( TRUCK ) 3000 5 //Trucking | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION truck.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO trucking_loop_inner | |
} | |
// ************************************************************************************************************ | |
// *********************************************quarry********************************************************* | |
quarry_loop: | |
{ | |
SCRIPT_NAME QUARRYS | |
quarry_loop_inner: | |
WAIT 0 | |
IF flag_player_on_mission = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer quarryX quarryY quarryZ 1.5 1.8 1.5 TRUE | |
IF CAN_PLAYER_START_MISSION player1 | |
SET_PLAYER_CONTROL player1 OFF | |
DRAW_ODDJOB_TITLE_BEFORE_FADE FALSE | |
PRINT_BIG ( QUARRY ) 3000 5 //Quarry | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION quarry.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO quarry_loop_inner | |
} | |
// ************************************************************************************************************ | |
// ********************************************Boat School************************************************** | |
boats_school_loop: | |
{ | |
SCRIPT_NAME BSCHOO | |
boats_school_loop_inner: | |
WAIT 0 | |
IF flag_player_on_mission = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer boatsX boatsY boatsZ 1.0 1.0 1.5 TRUE | |
IF CAN_PLAYER_START_MISSION player1 | |
SET_PLAYER_CONTROL player1 OFF | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION boat.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO boats_school_loop_inner | |
} | |
// ************************************************************************************************************ | |
// ********************************************Bike School************************************************** | |
bikes_school_loop: | |
{ | |
SCRIPT_NAME BIKES | |
bikes_school_loop_inner: | |
WAIT 0 | |
IF flag_player_on_mission = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer bikesX bikesY bikesZ 1.0 1.0 1.5 TRUE | |
IF CAN_PLAYER_START_MISSION player1 | |
SET_PLAYER_CONTROL player1 OFF | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION bikesch.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO bikes_school_loop_inner | |
} | |
// *********************************************R3 MISSIONS**************************************************** | |
// ************************************************************************************************************ | |
// ************************************************************************************************************ | |
// ********************************************R3 Missions***************************************************** | |
// Taxi Mission 1 | |
R3missions_loop: | |
{ | |
SCRIPT_NAME R3 | |
R3missions_loop_inner: | |
WAIT 0 // A long wait here (70) was messing up detection of the "Mission Accept" button being tap-released. | |
IF flag_player_on_mission = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
IF NOT IS_MINIGAME_IN_PROGRESS | |
IF IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
GOTO R3missions_loop_date | |
ELSE | |
IF IS_CHAR_IN_TAXI scplayer | |
OR IS_CHAR_IN_MODEL scplayer AMBULAN | |
OR IS_CHAR_IN_MODEL scplayer firetruk | |
OR IS_CHAR_IN_MODEL scplayer HUNTER | |
OR IS_CHAR_IN_MODEL scplayer BOXBURG | |
OR IS_CHAR_IN_ANY_POLICE_VEHICLE scplayer | |
STORE_CAR_CHAR_IS_IN_NO_SAVE scplayer R3_player_car | |
IF NOT IS_CAR_IN_WATER R3_player_car | |
IF IS_CHAR_IN_TAXI scplayer | |
IF NOT IS_PLAYER_IN_SHORTCUT_TAXI Player1 //TAXI Mission************************************************************************* | |
IF flag_taxiodd_mission_launched = 0 | |
IF R3_mission_help = 0 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP ( TTUTOR ) // Tap ~m~~widget_mission_start_vigilante~ to toggle taxi missions on. | |
R3_mission_help = 1 | |
ENDIF | |
ENDIF | |
IF IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
WHILE IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
WAIT 0 | |
IF flag_player_on_mission = 1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF NOT IS_PLAYER_PLAYING player1 | |
OR NOT IS_CHAR_IN_TAXI scplayer | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_MINIGAME_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
ENDWHILE | |
PRINT_BIG ( TAXI_M ) 6000 5 | |
WAIT 0 | |
LOAD_AND_LAUNCH_MISSION taxiodd.sc | |
flag_taxiodd_mission_launched = 1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
ENDIF | |
ENDIF //IS_PLAYER_IN_SHORTCUT_TAXI Player1F | |
ENDIF // IF IS_CHAR_IN_TAXI scplayer | |
IF IS_CHAR_IN_MODEL scplayer AMBULAN //AMBULANCE MISSION************************************************************************** | |
IF flag_player_on_ambulance_mission = 0 | |
IF R3_mission_help = 0 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP ( ATUTOR ) //Press RIGHTSHOCK to start | |
R3_mission_help = 1 | |
ENDIF | |
ENDIF | |
IF IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
WHILE IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
WAIT 0 | |
IF flag_player_on_mission = 1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF NOT IS_PLAYER_PLAYING player1 | |
OR NOT IS_CHAR_IN_MODEL scplayer ambulan | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_MINIGAME_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
ENDWHILE | |
PRINT_BIG ( AMBUL_M ) 6000 5 | |
WAIT 0 | |
LOAD_AND_LAUNCH_MISSION ambulance.sc | |
//been_in_ambulance_before = 1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
ENDIF | |
ENDIF // IF IS_CHAR_IN_MODEL scplayer ambula | |
IF IS_CHAR_IN_MODEL scplayer FIRETRUK //FIRETRUCK MISSION************************************************************************* | |
IF flag_player_on_fire_mission = 0 | |
IF R3_mission_help = 0 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP ( FTUTOR ) //Press RIGHTSHOCK to start | |
R3_mission_help = 1 | |
ENDIF | |
ENDIF | |
IF IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
WHILE IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
WAIT 0 | |
IF flag_player_on_mission = 1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF NOT IS_PLAYER_PLAYING player1 | |
OR NOT IS_CHAR_IN_MODEL scplayer firetruk | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_MINIGAME_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
ENDWHILE | |
PRINT_BIG ( FIRE_M ) 6000 5 | |
WAIT 0 | |
LOAD_AND_LAUNCH_MISSION firetruck.sc | |
//been_in_a_firetruk_before = 1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
ENDIF | |
ENDIF // IF IS_CHAR_IN_MODEL scplayer firetruk | |
IF IS_CHAR_IN_ANY_POLICE_VEHICLE scplayer //COP MISSION*************************************************************************** | |
OR IS_CHAR_IN_MODEL scplayer HUNTER | |
IF R3_mission_help = 0 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP ( CTUTOR ) //Press RIGHTSHOCK to start | |
R3_mission_help = 1 | |
ENDIF | |
ENDIF | |
IF IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
WHILE IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
WAIT 0 | |
IF flag_player_on_mission = 1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF NOT IS_PLAYER_PLAYING player1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF NOT IS_CHAR_IN_ANY_POLICE_VEHICLE scplayer | |
AND NOT IS_CHAR_IN_MODEL scplayer HUNTER | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_MINIGAME_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
ENDWHILE | |
IF IS_CHAR_IN_MODEL scplayer HUNTER | |
PRINT_BIG COP_M3 6000 5 | |
ELSE | |
IF IS_CHAR_IN_MODEL scplayer CHEETAH | |
PRINT_BIG COP_M2 6000 5 | |
ELSE | |
PRINT_BIG COP_M 6000 5 | |
ENDIF | |
ENDIF | |
WAIT 0 | |
LOAD_AND_LAUNCH_MISSION copcar.sc//CHRIS R | |
//been_in_a_copcar_before = 1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
ENDIF // If in some kind of cop car | |
IF IS_CHAR_IN_MODEL scplayer BOXBURG //BURGLARY MISSION************************************************************************** | |
IF flag_player_on_burglary_mission = 0 | |
GET_TIME_OF_DAY hours minutes | |
IF hours >= 20 | |
OR hours < 6 | |
IF R3_mission_help = 0 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP ( BTUTOR2 ) //Press RIGHTSHOCK to start | |
R3_mission_help = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
GET_TIME_OF_DAY hours minutes | |
IF hours >= 20 | |
OR hours < 6 | |
WHILE IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
WAIT 0 | |
IF flag_player_on_mission = 1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF NOT IS_PLAYER_PLAYING player1 | |
OR NOT IS_CHAR_IN_MODEL scplayer BOXBURG | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_MINIGAME_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
ENDWHILE | |
DRAW_ODDJOB_TITLE_BEFORE_FADE FALSE | |
PRINT_BIG ( BURGLAR ) 6000 5 | |
WAIT 0 | |
LOAD_AND_LAUNCH_MISSION burglary.sc | |
flag_player_on_burglary_mission = 1 | |
GOTO R3missions_loop_inner | |
ELSE | |
PRINT_NOW BURGHEL 4000 1 // ~s~You can only trigger the burglary missions between 20:00 and 6:00. | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF // IF IS_CHAR_IN_MODEL scplayer boxville | |
ENDIF | |
ENDIF | |
IF Return_cities_passed > 1 | |
IF IS_CHAR_IN_MODEL scplayer freight | |
OR IS_CHAR_IN_MODEL scplayer streak | |
STORE_CAR_CHAR_IS_IN_NO_SAVE scplayer R3_player_car | |
IF NOT IS_CAR_IN_WATER R3_player_car | |
AND NOT HAS_TRAIN_DERAILED R3_player_car | |
IF flag_player_on_freight_mission = 0 | |
IF R3_mission_help = 0 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP ( FTUTORA ) //Press RIGHTSHOCK to start | |
R3_mission_help = 1 | |
ENDIF | |
ENDIF | |
IF IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
WHILE IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
WAIT 0 | |
IF flag_player_on_mission = 1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF NOT IS_PLAYER_PLAYING player1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF NOT IS_CHAR_IN_MODEL scplayer freight | |
AND NOT IS_CHAR_IN_MODEL scplayer streak | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_MINIGAME_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
ENDWHILE | |
//PRINT_BIG ( FREIGH ) 6000 5 | |
WAIT 0 | |
LOAD_AND_LAUNCH_MISSION freight.sc | |
been_in_freight_before = 1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF // IF IS_CHAR_IN_MODEL scplayer freight train | |
ENDIF | |
// ************************************PIMPING************************************************************* | |
IF IS_CHAR_IN_MODEL scplayer BROADWAY | |
STORE_CAR_CHAR_IS_IN_NO_SAVE scplayer R3_player_car | |
IF NOT IS_CAR_IN_WATER R3_player_car | |
IF flag_player_on_pimp_mission = 0 | |
IF R3_mission_help = 0 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP ( PTUTORA ) //Press RIGHTSHOCK to start | |
R3_mission_help = 1 | |
ENDIF | |
ENDIF | |
IF IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
WHILE IS_WIDGET_RELEASED WIDGET_MISSION_START_VIGILANTE | |
WAIT 0 | |
IF flag_player_on_mission = 1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF NOT IS_PLAYER_PLAYING player1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF NOT IS_CHAR_IN_MODEL scplayer BROADWAY | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_MINIGAME_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
IF IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
GOTO R3missions_loop_inner | |
ENDIF | |
ENDWHILE | |
PRINT_BIG ( PIMP ) 6000 5 | |
WAIT 0 | |
LOAD_AND_LAUNCH_MISSION pimp.sc | |
flag_pimping_trigger = 1 | |
GOTO R3missions_loop_inner | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF // IF IS_CHAR_IN_MODEL scplayer freight train | |
ENDIF | |
ENDIF | |
ELSE | |
IF R3_mission_help = 1 | |
CLEAR_THIS_PRINT TTUTOR | |
CLEAR_THIS_PRINT ATUTOR | |
CLEAR_THIS_PRINT FTUTOR | |
CLEAR_THIS_PRINT CTUTOR | |
CLEAR_THIS_PRINT BTUTOR2 | |
CLEAR_THIS_PRINT FTUTORA | |
CLEAR_THIS_PRINT PTUTORA | |
R3_mission_help = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF //flag_player_on_mission | |
GOTO R3missions_loop_inner | |
R3missions_loop_date: | |
WAIT 10 | |
IF NOT IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
WAIT 5000 | |
GOTO R3missions_loop_inner | |
ENDIF | |
GOTO R3missions_loop_date | |
} | |
text_after_freight: | |
{ | |
SCRIPT_NAME FRTEXT | |
WAIT 5000 | |
CLEAR_HELP | |
PRINT_HELP ( FREI_16 ) // The freight oddjob has been passed, you can replay it to make extra cash | |
TERMINATE_THIS_SCRIPT | |
} | |
// ************************************************************************************************************ | |
// ***************************************** STADIUM SCRIPTS ************************************************ | |
// ************************************************************************************************************ | |
// **************************************BLOOD RING (Destruction Derby)**************************************** | |
blood_loop: | |
{ | |
SCRIPT_NAME BLOODR | |
blood_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_player_on_mission = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer bloodX bloodY bloodZ 1.4 1.8 1.5 FALSE | |
VAR_INT stat | |
GET_INT_STAT DRIVING_SKILL stat | |
IF stat > 199 | |
IF CAN_PLAYER_START_MISSION player1 | |
CHECKPOINT_SAVE 1 | |
GOSUB mini_fade | |
PRINT_BIG ( STAD_04 ) 1000 2 //Blood ring | |
LOAD_AND_LAUNCH_MISSION blood.sc //ANDY | |
ENDIF | |
ELSE | |
print_now STATCAR 500 1 // Your driving skill is not high enough to enter this race. | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO blood_loop_inner | |
} | |
// ************************************************************************************************************ | |
// ********************************************HOT RING (RACE)************************************************* | |
hot_loop: | |
{ | |
SCRIPT_NAME HOTR | |
hot_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_player_on_mission = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer hotringX hotringY hotringZ 1.4 1.8 1.5 FALSE | |
GET_INT_STAT DRIVING_SKILL stat | |
IF stat > 199 | |
IF CAN_PLAYER_START_MISSION player1 | |
CHECKPOINT_SAVE 1 | |
PRINT_BIG ( STAD_03 ) 1000 2//8-Track | |
GOSUB mini_fade | |
race_selection = NASCAR_RACE | |
show_race_selection = FALSE | |
LOAD_AND_LAUNCH_MISSION racetour.sc //CHRIS R | |
ENDIF | |
ELSE | |
print_now STATCAR 500 1 // Your driving skill is not high enough to enter this race. | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO hot_loop_inner | |
} | |
// ************************************************************************************************************ | |
// ***********************************DIRT RING (KICKSTART)**************************************************** | |
kick_loop: | |
{ | |
SCRIPT_NAME KICKS | |
kick_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF flag_player_on_mission = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer kickX kickY kickZ 1.4 1.8 1.5 FALSE | |
IF CAN_PLAYER_START_MISSION player1 | |
GET_CURRENT_DAY_OF_WEEK weekday | |
IF weekday = 0 | |
OR weekday = 2 | |
OR weekday = 4 | |
get_int_stat BIKE_SKILL stat | |
IF stat > 199 | |
CHECKPOINT_SAVE 1 | |
PRINT_BIG ( STAD_01 ) 1000 2//Dirt Track | |
GOSUB mini_fade | |
race_selection = DIRTBIKE_STADIUM | |
show_race_selection = FALSE | |
LOAD_AND_LAUNCH_MISSION racetour.sc | |
ELSE | |
print_now STATBIK 500 1 // Your bike skill is not high enough to enter this race. | |
ENDIF | |
ELSE | |
CHECKPOINT_SAVE 1 | |
PRINT_BIG ( STAD_02 ) 1000 2//Kickstart | |
GOSUB mini_fade | |
LOAD_AND_LAUNCH_MISSION kickstart.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO kick_loop_inner | |
} | |
// ************************************************************************************************************ | |
// ***********************************TRIALTHALON RACE**************************************************** | |
VAR_INT flag_cycling_skill_help_tri flag_stamina_skill_help_tri flag_cycling_skill_help2 map_opened_tri | |
tri_loop: | |
{ | |
SCRIPT_NAME TRI | |
tri_loop_inner: | |
WAIT 0 | |
IF flag_player_on_mission = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF weekday = 1 | |
OR weekday = 7 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer 181.0 -1878.0 2.0 1.4 1.8 1.5 TRUE // the small one on LS Beach | |
OR LOCATE_CHAR_ON_FOOT_3D scplayer 2135.4319 -67.9555 1.8 1.4 1.8 1.5 TRUE // the big one in Fishers Lagoon | |
GET_INT_STAT CITIES_PASSED Return_cities_passed | |
IF Return_cities_passed > 1 | |
GET_INT_STAT CYCLE_SKILL stat_read_skill_temp | |
IF stat_read_skill_temp >= 500 // skill has to be over 200 | |
GET_INT_STAT STAMINA stat_stamina_temp | |
IF stat_stamina_temp >=500 | |
IF CAN_PLAYER_START_MISSION player1 | |
PRINT_BIG ( BOTTY ) 1000 2 | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer 181.0 -1878.0 2.0 20.4 20.8 20.5 FALSE // the small one on LS Beach | |
triathalon_selection = 1 | |
ENDIF | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer 2135.4319 -67.9555 20.8 20.4 20.8 20.5 FALSE // the big one in Fishers Lagoon | |
triathalon_selection = 2 | |
ENDIF | |
ENDIF | |
LOAD_AND_LAUNCH_MISSION triathalon.sc | |
ENDIF | |
ELSE | |
IF flag_stamina_skill_help_tri = 0 | |
PRINT_HELP STASKIL //Stamina has to be over 500 | |
flag_stamina_skill_help_tri = 1 | |
ENDIF | |
ENDIF | |
ELSE | |
IF flag_cycling_skill_help_tri = 0 | |
PRINT_HELP MTBSKIL //Skill has to be over 500 | |
flag_cycling_skill_help_tri = 1 | |
ENDIF | |
ENDIF | |
ELSE | |
IF map_opened_tri = 0 | |
PRINT_HELP NOCOCK //Maps not opened | |
map_opened_tri = 1 | |
ENDIF | |
ENDIF | |
ELSE | |
IF flag_cycling_skill_help_tri = 1 | |
flag_cycling_skill_help_tri = 0 | |
ENDIF | |
IF flag_stamina_skill_help_tri = 1 | |
flag_stamina_skill_help_tri = 0 | |
ENDIF | |
IF map_opened_tri = 1 | |
map_opened_tri = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO tri_loop_inner | |
} | |
// ************************************************************************************************************ | |
// *********************************** Vehicle location Oddjob Mission **************************************** | |
vehicle_oddjob_loop: | |
VAR_INT stunt_course | |
{ | |
SCRIPT_NAME ODDVEH | |
vehicle_oddjob_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
// ************************************COURIER************************************************************************* | |
IF IS_CHAR_IN_MODEL scplayer BMX | |
IF NOT LOCATE_CHAR_ANY_MEANS_3D scplayer cour1X cour1Y cour1Z 3.0 3.0 3.0 FALSE //LA | |
flag_courier_trigger = 1 | |
ENDIF | |
ENDIF | |
IF IS_CHAR_IN_MODEL scplayer FREEWAY | |
IF NOT LOCATE_CHAR_ANY_MEANS_3D scplayer cour2X cour2Y cour2Z 3.0 3.0 3.0 FALSE //SF | |
flag_courier_trigger = 1 | |
ENDIF | |
ENDIF | |
IF IS_CHAR_IN_MODEL scplayer FAGGIO | |
IF NOT LOCATE_CHAR_ANY_MEANS_3D scplayer cour3X cour3Y cour3Z 3.0 3.0 3.0 FALSE //LV | |
flag_courier_trigger = 1 | |
ENDIF | |
ENDIF | |
IF IS_CHAR_IN_MODEL scplayer BMX | |
IF flag_courier_trigger = 0 | |
PRINT_BIG ( COUR1 ) 1000 2 //COURIER MISSION LA | |
LOAD_AND_LAUNCH_MISSION courier.sc | |
flag_courier_trigger = 1 | |
ENDIF | |
ENDIF | |
IF IS_CHAR_IN_MODEL scplayer FREEWAY | |
IF flag_courier_trigger = 0 | |
PRINT_BIG ( COUR1 ) 1000 2 //COURIER MISSION SF | |
LOAD_AND_LAUNCH_MISSION courier.sc | |
flag_courier_trigger = 1 | |
ENDIF | |
ENDIF | |
IF IS_CHAR_IN_MODEL scplayer FAGGIO | |
IF flag_courier_trigger = 0 | |
PRINT_BIG ( COUR1 ) 1000 2 //COURIER MISSION LV | |
LOAD_AND_LAUNCH_MISSION courier.sc | |
flag_courier_trigger = 1 | |
ENDIF | |
ENDIF | |
// ************************************MOUNTAIN BIKE******************************************************************* | |
IF IS_CHAR_IN_MODEL scplayer MTBIKE | |
IF NOT LOCATE_CHAR_ANY_MEANS_3D scplayer mountbX mountbY mountbZ 10.5 10.5 10.5 FALSE // | |
flag_mtbike_trigger = 1 | |
ENDIF | |
ENDIF | |
IF IS_CHAR_IN_MODEL scplayer MTBIKE | |
AND flag_mtbike_trigger = 0 | |
CLEAR_PRINTS | |
GET_INT_STAT CYCLE_SKILL stat_read_skill_temp | |
IF stat_read_skill_temp >= 400 // skill has to be over 400 | |
GET_TIME_OF_DAY hours minutes | |
IF hours >= 7 // from 7am to 6pm | |
AND hours < 18 | |
PRINT_BIG ( MOUNTN ) 1000 2 //mtbike MISSION | |
LOAD_AND_LAUNCH_MISSION mtbikerace.sc | |
flag_mtbike_trigger = 1 | |
ELSE | |
PRINT_NOW MTIME4 1000 1 //Come back between 9:00 17:00 | |
ENDIF | |
ELSE | |
IF flag_cycling_skill_help = 0 | |
PRINT_HELP MTBSKIL //Skill has to be over 200 | |
flag_cycling_skill_help = 1 | |
ENDIF | |
ENDIF | |
ELSE | |
IF flag_cycling_skill_help = 1 | |
flag_cycling_skill_help = 0 | |
ENDIF | |
ENDIF | |
// *********************************BMX************************************************************************* | |
IF IS_CHAR_IN_MODEL scplayer BMX | |
IF NOT LOCATE_CHAR_ANY_MEANS_3D scplayer stunt_bmx1_x stunt_bmx1_y stunt_bmx1_z 4.0 4.0 3.0 FALSE // | |
flag_bmx_trigger = 1 | |
ENDIF | |
ENDIF | |
IF IS_CHAR_IN_MODEL scplayer BMX | |
AND flag_bmx_trigger = 0 | |
GET_INT_STAT CYCLE_SKILL stat_read_skill_temp | |
IF stat_read_skill_temp >= 200 // skill has to be over 200 | |
PRINT_BIG ( BMX ) 1000 2 //BMX MISSION | |
stunt_course = 0 | |
LOAD_AND_LAUNCH_MISSION stunt.sc | |
flag_bmx_trigger = 1 | |
ELSE | |
IF flag_cycling_skill_help2 = 0 | |
PRINT_HELP MTBSKI2 //Skill has to be over 200 | |
flag_cycling_skill_help2 = 1 | |
ENDIF | |
ENDIF | |
ELSE | |
IF flag_cycling_skill_help2 = 1 | |
flag_cycling_skill_help2 = 0 | |
ENDIF | |
ENDIF | |
IF IS_CHAR_IN_MODEL scplayer nrg500 | |
IF NOT LOCATE_CHAR_ANY_MEANS_3D scplayer stunt_nrg500_x stunt_nrg500_y stunt_nrg500_z 4.0 4.0 3.0 FALSE | |
flag_nrg500_trigger = 1 | |
ENDIF | |
ENDIF | |
IF IS_CHAR_IN_MODEL scplayer nrg500 | |
AND flag_nrg500_trigger = 0 | |
PRINT_BIG ( NRG500 ) 1000 2 //NRG500 MISSION | |
stunt_course = 1 | |
LOAD_AND_LAUNCH_MISSION stunt.sc | |
flag_nrg500_trigger = 1 | |
ENDIF | |
ELSE | |
flag_hhiker_trigger = 0 | |
flag_courier_trigger = 0 | |
flag_mtbike_trigger = 0 | |
flag_bmx_trigger = 0 | |
flag_nrg500_trigger = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO vehicle_oddjob_loop_inner | |
} | |
// ************************************************************************************************************ | |
// ************************************************************************************************************ | |
// *******************************************END OF MISSIONS************************************************** | |
// ************************************************************************************************************ | |
// ************************************************************************************************************ | |
// ************************************************************************************************************ | |
// ************************************** SHOWROOM BUYING ***************************************************** | |
// CAR SHOWROOM PURCHASING SCRIPT | |
showroom_buy_loop: | |
{ | |
SCRIPT_NAME BUY1 | |
save_houseprice[0] = 50000 | |
REMOVE_PICKUP save_housepickup[0] | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[0] propertyY[0] propertyZ[0] save_houseprice[0] PROP_3 save_housepickup[0] | |
showroom_buy_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
//IF CAN_PLAYER_START_MISSION player1 | |
IF HAS_PICKUP_BEEN_COLLECTED save_housepickup[0] | |
buying_property_switch = PROP_BUY0 | |
REPORT_MISSION_AUDIO_EVENT_AT_POSITION propertyX[0] propertyY[0] propertyZ[0] SOUND_PROPERTY_PURCHASED | |
LOAD_AND_LAUNCH_MISSION buypro.sc | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
//ENDIF | |
ENDIF | |
ENDIF | |
GOTO showroom_buy_loop_inner | |
} | |
// ************************************************************************************************************ | |
// ************************************* ZERO SHOP BUYING ***************************************************** | |
// ZERO PURCHASING SCRIPT | |
zero_buy_loop: | |
{ | |
SCRIPT_NAME BUY2 | |
save_houseprice[1] = 30000 | |
REMOVE_PICKUP save_housepickup[1] | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[1] propertyY[1] propertyZ[1] save_houseprice[1] PROP_3 save_housepickup[1] | |
zero_buy_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
//IF CAN_PLAYER_START_MISSION player1 | |
IF HAS_PICKUP_BEEN_COLLECTED save_housepickup[1] | |
buying_property_switch = PROP_BUY1 | |
REPORT_MISSION_AUDIO_EVENT_AT_POSITION propertyX[1] propertyY[1] propertyZ[1] SOUND_PROPERTY_PURCHASED | |
LOAD_AND_LAUNCH_MISSION buypro.sc | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
//ENDIF | |
ENDIF | |
ENDIF | |
GOTO zero_buy_loop_inner | |
} | |
// ************************************************************************************************************ | |
// ************************************** AIRSTRIP BUYING ***************************************************** | |
// AIRSTRIP PURCHASING SCRIPT | |
airstrip_buy_loop: | |
{ | |
SCRIPT_NAME BUY3 | |
save_houseprice[2] = 80000 | |
REMOVE_PICKUP save_housepickup[2] | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[2] propertyY[2] propertyZ[2] save_houseprice[2] PROP_3 save_housepickup[2] | |
airstrip_buy_loop_inner: | |
WAIT mission_trigger_wait_time | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
//IF CAN_PLAYER_START_MISSION player1 | |
IF HAS_PICKUP_BEEN_COLLECTED save_housepickup[2] | |
buying_property_switch = PROP_BUY2 | |
REPORT_MISSION_AUDIO_EVENT_AT_POSITION propertyX[2] propertyY[2] propertyZ[2] SOUND_PROPERTY_PURCHASED | |
LOAD_AND_LAUNCH_MISSION buypro.sc | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
//ENDIF | |
ENDIF | |
ENDIF | |
GOTO airstrip_buy_loop_inner | |
} | |
// ************************************************************************************************************ | |
// ************************************** PROPERTY BUYING ***************************************************** | |
VAR_INT save_house_index already_bought_house[32] prorerty_switch[32] | |
buy_pro_loop: | |
{ | |
SCRIPT_NAME BUY_PRO | |
buy_pro_loop_inner: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
//IF CAN_PLAYER_START_MISSION player1 | |
IF already_bought_house[save_house_index] = 0 | |
IF HAS_PICKUP_BEEN_COLLECTED save_housepickup[save_house_index] | |
buying_property_switch = prorerty_switch[save_house_index] | |
REPORT_MISSION_AUDIO_EVENT_AT_POSITION propertyX[save_house_index] propertyY[save_house_index] propertyZ[save_house_index] SOUND_PROPERTY_PURCHASED | |
LOAD_AND_LAUNCH_MISSION buypro.sc | |
already_bought_house[save_house_index] = 1 | |
WRITE_LOG "UNLOCK_ACHIEVEMENT THE_AMERICAN_DREAM" | |
ENDIF | |
ENDIF | |
//ENDIF | |
ENDIF | |
ENDIF | |
save_house_index ++ | |
IF save_house_index >= 32 | |
save_house_index = 3 | |
ENDIF | |
GOTO buy_pro_loop_inner | |
} | |
// ********************************************************************************************************** | |
// ************************************** IMPOUND SCRIPT **************************************************** | |
impound_loop: | |
{ | |
SCRIPT_NAME IMPND_L | |
impound_loop_inner: | |
WAIT 100 | |
IF IS_PLAYER_PLAYING player1 | |
IF im_players_city = LEVEL_LOSANGELES | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT impound.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer 1579.4248 -1636.4630 14.5812 120.0 120.0 80.0 FALSE | |
impound_area = 1 | |
STREAM_SCRIPT impound.sc | |
IF HAS_STREAMED_SCRIPT_LOADED impound.sc | |
START_NEW_STREAMED_SCRIPT impound.sc | |
ENDIF | |
ELSE | |
IF impound_Area = 1 | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED impound.sc | |
impound_Area = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF im_players_city = LEVEL_SANFRANCISCO | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT impound.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer -1624.7710 679.6637 8.5690 120.0 120.0 80.0 FALSE | |
IF tlf_underway = 0 | |
impound_area = 2 | |
STREAM_SCRIPT impound.sc | |
IF HAS_STREAMED_SCRIPT_LOADED impound.sc | |
START_NEW_STREAMED_SCRIPT impound.sc | |
ENDIF | |
ENDIF | |
ELSE | |
IF tlf_underway = 2 //set in Steve’s mission cleanup | |
tlf_underway = 0 | |
ENDIF | |
IF impound_Area = 2 | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED impound.sc | |
impound_Area = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF im_players_city = LEVEL_SANFRANCISCO | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT impound.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer -1624.7710 679.6637 8.5690 120.0 120.0 80.0 FALSE | |
impound_area = 2 | |
STREAM_SCRIPT impound.sc | |
IF HAS_STREAMED_SCRIPT_LOADED impound.sc | |
START_NEW_STREAMED_SCRIPT impound.sc | |
ENDIF | |
ELSE | |
IF impound_Area = 2 | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED impound.sc | |
impound_Area = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF im_players_city = LEVEL_LASVEGAS | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT impound.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer 2284.5920 2466.8379 12.2306 120.0 120.0 80.0 FALSE | |
impound_area = 3 | |
STREAM_SCRIPT impound.sc | |
IF HAS_STREAMED_SCRIPT_LOADED impound.sc | |
START_NEW_STREAMED_SCRIPT impound.sc | |
ENDIF | |
ELSE | |
IF impound_Area = 3 | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED impound.sc | |
impound_Area = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO impound_loop_inner | |
} | |
// ********************************************************************************************************** | |
// ************************************** VALET PARKING ******************************************************* | |
valet_loop: | |
{ | |
SCRIPT_NAME VALET_L | |
valet_loop_inner: | |
WAIT 0 | |
IF valet_unlocked = 1 | |
IF im_players_city = LEVEL_SANFRANCISCO | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT valet.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_AREA_2D scplayer -1893.4186 1119.2267 -1617.9149 828.850 FALSE | |
val_Area = 2 | |
STREAM_SCRIPT valet.sc | |
IF HAS_STREAMED_SCRIPT_LOADED valet.sc | |
START_NEW_STREAMED_SCRIPT valet.sc | |
ENDIF | |
ELSE | |
IF val_Area = 2 | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED valet.sc | |
val_Area = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO valet_loop_inner | |
} | |
// ********************************************************************************************************** | |
// ************************************** TRAINS ************************************************************ | |
trains_loop: | |
{ | |
SCRIPT_NAME TRAINSL | |
trains_loop_inner: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
IF IS_CHAR_IN_MODEL scplayer streakc | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT trains.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
STREAM_SCRIPT trains.sc | |
IF HAS_STREAMED_SCRIPT_LOADED trains.sc | |
START_NEW_STREAMED_SCRIPT trains.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO trains_loop_inner | |
} | |
// ************************************************************************************************************ | |
// ******************************************* PLANES TICKET MACHINE ****************************************** | |
VAR_INT created_marker[3] airport_marker[3] | |
planes_loop: | |
{ | |
SCRIPT_NAME ADPLANE | |
planes_loop_inner: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF im_players_city = LEVEL_LOSANGELES | |
IF NOT IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT planes.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
IF created_marker[0] = 0 | |
CREATE_USER_3D_MARKER 1685.7 -2238.9 14.0 HUD_COLOUR_WHITE airport_marker[0] //LEVEL_LOSANGELES | |
created_marker[0] = 1 | |
ENDIF | |
IF CAN_PLAYER_START_MISSION player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer 1685.7 -2238.9 12.5 1.2 1.2 1.2 FALSE | |
SET_PLAYER_CONTROL player1 Off | |
GOSUB mini_fade | |
STREAM_SCRIPT planes.sc | |
flag_dozer_passed_1stime = 1 | |
//ELSE | |
//MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED planes.sc | |
ENDIF | |
IF HAS_STREAMED_SCRIPT_LOADED planes.sc | |
AND flag_dozer_passed_1stime = 1 | |
START_NEW_STREAMED_SCRIPT planes.sc | |
flag_dozer_passed_1stime = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
IF created_marker[0] = 1 | |
REMOVE_USER_3D_MARKER airport_marker[0] | |
created_marker[0] = 0 | |
ENDIF | |
ENDIF | |
ELSE | |
IF created_marker[0] = 1 | |
REMOVE_USER_3D_MARKER airport_marker[0] | |
created_marker[0] = 0 | |
ENDIF | |
ENDIF | |
IF im_players_city = LEVEL_SANFRANCISCO | |
IF NOT IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT planes.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
IF created_marker[1] = 0 | |
CREATE_USER_3D_MARKER -1421.5 -287.2 14.6 HUD_COLOUR_WHITE airport_marker[1] //LEVEL_SANFRANCISCO | |
created_marker[1] = 1 | |
ENDIF | |
IF CAN_PLAYER_START_MISSION player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer -1421.5 -287.2 14.6 1.2 1.2 1.2 FALSE | |
SET_PLAYER_CONTROL player1 Off | |
GOSUB mini_fade | |
STREAM_SCRIPT planes.sc | |
flag_dozer_passed_1stime = 1 | |
//ELSE | |
//MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED planes.sc | |
ENDIF | |
IF HAS_STREAMED_SCRIPT_LOADED planes.sc | |
AND flag_dozer_passed_1stime = 1 | |
START_NEW_STREAMED_SCRIPT planes.sc | |
flag_dozer_passed_1stime = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
IF created_marker[1] = 1 | |
REMOVE_USER_3D_MARKER airport_marker[1] | |
created_marker[1] = 0 | |
ENDIF | |
ENDIF | |
ELSE | |
IF created_marker[1] = 1 | |
REMOVE_USER_3D_MARKER airport_marker[1] | |
created_marker[1] = 0 | |
ENDIF | |
ENDIF | |
IF im_players_city = LEVEL_LASVEGAS | |
IF NOT IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT planes.sc number_of_instances_of_streamed_script | |
IF number_of_instances_of_streamed_script = 0 | |
IF created_marker[2] = 0 | |
CREATE_USER_3D_MARKER 1663.0 1423.6 11.2 HUD_COLOUR_WHITE airport_marker[2] //LEVEL_LASVEGAS | |
created_marker[2] = 1 | |
ENDIF | |
IF CAN_PLAYER_START_MISSION player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer 1663.0 1423.6 11.2 1.2 1.2 1.2 FALSE | |
SET_PLAYER_CONTROL player1 Off | |
GOSUB mini_fade | |
STREAM_SCRIPT planes.sc | |
flag_dozer_passed_1stime = 1 | |
//ELSE | |
//MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED planes.sc | |
ENDIF | |
IF HAS_STREAMED_SCRIPT_LOADED planes.sc | |
AND flag_dozer_passed_1stime = 1 | |
START_NEW_STREAMED_SCRIPT planes.sc | |
flag_dozer_passed_1stime = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
IF created_marker[2] = 1 | |
REMOVE_USER_3D_MARKER airport_marker[2] | |
created_marker[2] = 0 | |
ENDIF | |
ENDIF | |
ELSE | |
IF created_marker[2] = 1 | |
REMOVE_USER_3D_MARKER airport_marker[2] | |
created_marker[2] = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO planes_loop_inner | |
//MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED planes.sc | |
//MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED planes.sc | |
//MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED planes.sc | |
} | |
// ******************************COLLECTIBLES****************************************************************************** | |
VAR_INT Returned_oysters Returned_shoehorses Returned_snapshots Returned_tags game_complete | |
VAR_INT all_tags_pickup1 all_tags_pickup2 all_tags_pickup3 all_tags_pickup4 | |
VAR_INT all_photos_pickup1 all_photos_pickup2 all_photos_pickup3 all_photos_pickup4 | |
VAR_INT all_horse_pickup1 all_horse_pickup2 all_horse_pickup3 all_horse_pickup4 | |
VAR_FLOAT Return_progress_Percentage | |
collectibes_loop: | |
{ | |
SCRIPT_NAME COLLS | |
collectibes_loop_inner: | |
WAIT 3000 | |
GET_PROGRESS_PERCENTAGE Return_progress_Percentage | |
IF returned_oysters_flag = 0 | |
GET_INT_STAT OYSTERS_COLLECTED Returned_oysters | |
IF returned_oysters = 50 | |
PLAY_MISSION_PASSED_TUNE 2 | |
PLAYER_MADE_PROGRESS 1 | |
SET_INT_STAT UNDERWATER_BREATH_STAMINA 1000 | |
//--- Girlfriends bonus: all dead or dumped girls come back on the map | |
IF iGFLikesPlayer[SUZIE] <= 0 | |
iGFLikesPlayer[SUZIE] = 45 | |
ENDIF | |
IF iGFLikesPlayer[MICHELLE] <= 0 | |
iGFLikesPlayer[MICHELLE] = 45 | |
ENDIF | |
IF iGFLikesPlayer[BARBARA] <= 0 | |
iGFLikesPlayer[BARBARA] = 45 | |
ENDIF | |
IF iGFLikesPlayer[KYLIE] <= 0 | |
iGFLikesPlayer[KYLIE] = 45 | |
ENDIF | |
//--- All girls love the player even if he smells | |
iGFDesiredSexAppeal[COOCHIE] = -100 | |
iGFDesiredSexAppeal[MICHELLE] = -100 | |
iGFDesiredSexAppeal[BARBARA] = -100 | |
iGFDesiredSexAppeal[KYLIE] = -100 | |
iGFDesiredSexAppeal[SUZIE] = -100 | |
iGFDesiredSexAppeal[MILLIE] = -100 | |
//--- All girls are his bitches now | |
iGFSelfRespect[COOCHIE] = 1 | |
iGFSelfRespect[MICHELLE] = 1 | |
iGFSelfRespect[BARBARA] = 1 | |
iGFSelfRespect[KYLIE] = 1 | |
iGFSelfRespect[SUZIE] = 1 | |
iGFSelfRespect[MILLIE] = 1 | |
CLEAR_HELP | |
PRINT_HELP OYST100 | |
returned_oysters_flag = 1 | |
ENDIF | |
ENDIF | |
IF flag_returned_shoehorses = 0 | |
GET_INT_STAT HORSESHOES_COLLECTED Returned_shoehorses | |
IF Returned_shoehorses = 50 | |
PLAY_MISSION_PASSED_TUNE 2 | |
PLAYER_MADE_PROGRESS 1 | |
CREATE_PICKUP_WITH_AMMO M4 PICKUP_ON_STREET_SLOW 60 2021.8792 1001.4669 10.3203 all_horse_pickup1 | |
CREATE_PICKUP_WITH_AMMO MP5LNG PICKUP_ON_STREET_SLOW 120 2025.2858 1001.4957 10.3203 all_horse_pickup2 | |
CREATE_PICKUP_WITH_AMMO SHOTGSPA PICKUP_ON_STREET_SLOW 120 2021.3268 1013.3495 10.3203 all_horse_pickup3 | |
CREATE_PICKUP_WITH_AMMO SATCHEL PICKUP_ON_STREET_SLOW 20 2023.7754 1013.5269 10.5203 all_horse_pickup4 | |
CLEAR_HELP | |
PRINT_HELP LUCK100 | |
flag_returned_shoehorses = 1 | |
ENDIF | |
ENDIF | |
IF flag_returned_snapshots = 0 | |
GET_INT_STAT SNAPSHOTS_TAKEN Returned_snapshots | |
IF Returned_snapshots = 50 | |
PLAY_MISSION_PASSED_TUNE 2 | |
PLAYER_MADE_PROGRESS 1 | |
CREATE_PICKUP_WITH_AMMO SNIPER PICKUP_ON_STREET_SLOW 60 -2035.7729 139.4337 28.3359 all_photos_pickup1 | |
CREATE_PICKUP_WITH_AMMO MICRO_UZI PICKUP_ON_STREET_SLOW 120 -2038.4298 139.6281 28.3359 all_photos_pickup2 | |
CREATE_PICKUP_WITH_AMMO CHROMEGUN PICKUP_ON_STREET_SLOW 120 -2038.6641 137.4694 28.3359 all_photos_pickup3 | |
CREATE_PICKUP_WITH_AMMO GRENADE PICKUP_ON_STREET_SLOW 20 -2035.4735 137.2511 28.3359 all_photos_pickup4 | |
CLEAR_HELP | |
PRINT_HELP FOTO100 | |
flag_returned_snapshots = 1 | |
ENDIF | |
ENDIF | |
IF flag_returned_tags = 0 | |
FIND_NUMBER_TAGS_TAGGED Returned_tags | |
IF Returned_tags = 100 | |
PLAY_MISSION_PASSED_TUNE 2 | |
PLAYER_MADE_PROGRESS 1 | |
SET_GANG_WEAPONS GANG_GROVE WEAPONTYPE_DESERT_EAGLE WEAPONTYPE_MP5 WEAPONTYPE_KNIFE | |
CREATE_PICKUP_WITH_AMMO AK47 PICKUP_ON_STREET_SLOW 120 2499.3901 -1707.4629 1014.2496 all_tags_pickup1 | |
CREATE_PICKUP_WITH_AMMO TEC9 PICKUP_ON_STREET_SLOW 120 2499.5139 -1709.6403 1014.2496 all_tags_pickup2 | |
CREATE_PICKUP_WITH_AMMO SAWNOFF PICKUP_ON_STREET_SLOW 60 2493.4911 -1708.2368 1014.9316 all_tags_pickup3 | |
CREATE_PICKUP_WITH_AMMO MOLOTOV PICKUP_ON_STREET_SLOW 20 2493.5529 -1706.8634 1015.1316 all_tags_pickup4 | |
CLEAR_HELP | |
PRINT_HELP TAG_100 | |
flag_returned_tags = 1 | |
ENDIF | |
ENDIF | |
IF game_complete = 0 | |
IF Return_progress_Percentage >= 100.0 | |
IF IS_PLAYER_PLAYING player1 | |
SWITCH_CAR_GENERATOR tank_gen1 101 | |
SWITCH_CAR_GENERATOR hyfra_gen1 101 | |
ADD_SCORE player1 1000000 | |
SET_INT_STAT UNDERWATER_BREATH_STAMINA 1000 | |
SET_INT_STAT STAMINA 1000 | |
SET_INT_STAT SEX_APPEAL 1000 | |
SET_INT_STAT SEX_APPEAL_CLOTHES 1000 | |
SET_INT_STAT RESPECT 1000 | |
SET_INT_STAT RESPECT_GIRLFRIEND 1000 | |
SET_INT_STAT RESPECT_CLOTHES 1000 | |
SET_INT_STAT CYCLE_SKILL 1000 | |
WAIT 2000 | |
CLEAR_HELP | |
PRINT_HELP GAME100 | |
game_complete = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO collectibes_loop_inner | |
} | |
// ******************************TERITORY PICKUP****************************************************************************** | |
VAR_INT terminted_territory_pickup | |
territory_cash_loop: | |
{ | |
// Should be called before main loop | |
SCRIPT_NAME TCASH | |
territory_cash_loop_inner: | |
WAIT 20000 | |
IF terminted_territory_pickup = 1 | |
REMOVE_PICKUP territory_pickup | |
terminted_territory_pickup = 0 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
GET_TERRITORY_UNDER_CONTROL_PERCENTAGE player_territory_owned | |
IF Return_cities_passed > 1 | |
territory_cash = player_territory_owned * 100 | |
ELSE | |
territory_cash = player_territory_owned * 50 | |
ENDIF | |
UPDATE_PICKUP_MONEY_PER_DAY territory_pickup territory_cash | |
GOTO territory_cash_loop_inner | |
} | |
// ******************************GIRLFRIEND PICKUP****************************************************************************** | |
VAR_INT millies_keycard_pickup millies_keycard_pickup_flag not_entered_millies_house millies_double_ender millie_marker[2] created_millie_marker | |
millies_keycard_loop: | |
{ | |
GET_INT_STAT GIRLFRIEND_MILLIE millies_like_stat | |
IF millies_like_stat >= MILLIE_LIKES_PLAYER_REQUIRED_FOR_KEYCARD | |
CREATE_PICKUP Gun_dildo1 PICKUP_ONCE 345.2063 308.9788 998.6484 millies_double_ender //DILDO | |
ENDIF | |
SET_CLOSEST_ENTRY_EXIT_FLAG 345.5621 306.2212 10.0 ENTRYEXITS_FLAG_ENABLED FALSE | |
CREATE_USER_3D_MARKER 2037.3492 2722.0714 12.0281 HUD_COLOUR_ENTRYEXIT_YELLOW millie_marker[0] | |
CREATE_USER_3D_MARKER 343.9969 305.1040 999.6557 HUD_COLOUR_ENTRYEXIT_YELLOW millie_marker[1] | |
// Should be called before main loop | |
SCRIPT_NAME KEYCARD | |
millies_keycard_loop_inner: | |
WAIT 0 | |
GET_AREA_VISIBLE main_visible_area | |
IF main_visible_area = 0 | |
not_entered_millies_house = 0 | |
ELSE | |
not_entered_millies_house = 1 | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF not_entered_millies_house = 0 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer 2037.3492 2722.0714 9.8281 1.2 1.2 2.0 FALSE | |
SET_PLAYER_CONTROL player1 OFF | |
GOSUB mini_fade | |
SET_AREA_VISIBLE 6 | |
REQUEST_COLLISION 345.5621 306.2212 | |
LOAD_SCENE 345.5621 306.2212 998.1484 | |
SET_EXTRA_COLOURS 1 FALSE | |
SET_PLAYER_IS_IN_STADIUM TRUE | |
IF IS_PLAYER_PLAYING player1 | |
SET_CHAR_AREA_VISIBLE scplayer 6 | |
SET_CHAR_COORDINATES scplayer 345.5621 306.2212 998.4484 | |
SET_CHAR_HEADING scplayer 260.0 | |
SET_CAMERA_BEHIND_PLAYER | |
RESTORE_CAMERA_JUMPCUT | |
ENDIF | |
WAIT 1000 | |
DO_FADE 500 FADE_IN | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 ON | |
ENDIF | |
not_entered_millies_house = 1 | |
ENDIF | |
ELSE | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer 343.9969 305.1040 998.1557 1.2 1.2 2.0 FALSE | |
SET_PLAYER_CONTROL player1 OFF | |
GOSUB mini_fade | |
SET_AREA_VISIBLE 0 | |
REQUEST_COLLISION 2037.5408 2727.6865 | |
LOAD_SCENE 2037.5408 2727.6865 9.8281 | |
CLEAR_EXTRA_COLOURS FALSE | |
SET_PLAYER_IS_IN_STADIUM FALSE | |
IF IS_PLAYER_PLAYING player1 | |
SET_CHAR_AREA_VISIBLE scplayer 0 | |
SET_CHAR_COORDINATES scplayer 2037.5408 2727.6865 9.8281 | |
SET_CHAR_HEADING scplayer 0.0 | |
SET_CAMERA_BEHIND_PLAYER | |
RESTORE_CAMERA_JUMPCUT | |
ENDIF | |
WAIT 1000 | |
DO_FADE 500 FADE_IN | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 ON | |
ENDIF | |
not_entered_millies_house = 0 | |
ENDIF | |
ENDIF | |
ELSE | |
SET_PLAYER_IS_IN_STADIUM FALSE | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED millies_keycard_pickup | |
IF millies_keycard_pickup_flag = 0 | |
PRINT_NOW (GOTKEY) 6000 1 //You have acquired the keycard for the casino heist | |
REMOVE_BLIP Thekeycard_contact_blip | |
keycard_aquired_from_millie = 1 | |
millies_keycard_pickup_flag = 1 | |
ENDIF | |
ENDIF | |
GET_AREA_VISIBLE main_visible_area | |
IF millies_keycard_pickup_flag = 1 | |
AND main_visible_area = 0 | |
REMOVE_USER_3D_MARKER millie_marker[0] | |
REMOVE_USER_3D_MARKER millie_marker[1] | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
GOTO millies_keycard_loop_inner | |
} | |
// *********************************************************************************************************** | |
// **********************************************2player minigames******************************************** | |
VAR_INT Tplayer_pickup[16] recreate_tplay_pickup recreate_gfriend_pickup[6] | |
Tplay_mission_loop: | |
{ | |
SCRIPT_NAME TPLAYER | |
Tplay_mission_loop_inner: | |
WAIT 75 | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF recreate_tplay_pickup = 0 | |
GOSUB remove_2player_pickups | |
CREATE_PICKUP killfrenzy2plyr PICKUP_2P 1481.9551 -1656.1458 13.5469 Tplayer_pickup[0] //2player Ram | |
CREATE_PICKUP killfrenzy2plyr PICKUP_2P 1196.4912 249.3210 19.0618 Tplayer_pickup[1] //2player bike | |
CREATE_PICKUP killfrenzy2plyr PICKUP_2P -2102.8484 653.8868 51.8671 Tplayer_pickup[2] //2player cars | |
CREATE_PICKUP killfrenzy2plyr PICKUP_2P -252.9156 2583.7788 63.0703 Tplayer_pickup[3] //2player heli | |
CREATE_PICKUP killfrenzy2plyr PICKUP_2P 2510.6331 1207.9175 10.3281 Tplayer_pickup[4] //2player peds | |
CREATE_PICKUP twoplayer PICKUP_2P 2069.3376 -1556.9296 12.9243 Tplayer_pickup[5] //Run-around LS | |
CREATE_PICKUP twoplayer PICKUP_2P 2138.1689 1483.5952 10.3203 Tplayer_pickup[6] //Run-around LV | |
CREATE_PICKUP twoplayer PICKUP_2P -2197.6665 292.0621 34.6230 Tplayer_pickup[7] //Run-around SF | |
CREATE_PICKUP twoplayer PICKUP_2P -1520.8643 2608.2073 55.3437 Tplayer_pickup[8] //Run-around DE | |
CREATE_PICKUP twoplayer PICKUP_2P 711.0688 -569.3774 15.8359 Tplayer_pickup[9] //Run-around CO | |
recreate_tplay_pickup = 1 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[0] //2player Ram | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
PRINT_BIG ( TPLAY1 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION ram_2p.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[1] //2player bike | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
PRINT_BIG ( TPLAY2 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION bike_2p.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[2] //2player cars | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
PRINT_BIG ( TPLAY3 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION cars_2p.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[3] //2player heli | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
PRINT_BIG ( TPLAY4 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION heli_2p.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[4] //2player peds | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
PRINT_BIG ( TPLAY5 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION peds_2p.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[5] //Run-around LS | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
PRINT_BIG ( TPLAY6 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION run_LS.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[6] //Run-around LV | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
PRINT_BIG ( TPLAY7 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION run_LV.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[7] //Run-around SF | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
PRINT_BIG ( TPLAY8 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION run_SF.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[8] //Run-around DE | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
PRINT_BIG ( TPLAY9 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION run_DE.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[9] //Run-around CO | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
PRINT_BIG ( TPLAY10 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION run_CO.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
IF IS_BIT_SET iGFAvailableFor2Player MILLIE | |
IF recreate_gfriend_pickup[0] = 0 | |
CREATE_PICKUP twoplayer PICKUP_2P 2024.5217 2731.1960 10.3281 Tplayer_pickup[10] | |
recreate_gfriend_pickup[0] = 1 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[10] | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
//PRINT_BIG ( TPLAY10 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION r_mily.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
ELSE | |
IF recreate_gfriend_pickup[0] = 1 | |
REMOVE_PICKUP Tplayer_pickup[10] | |
recreate_gfriend_pickup[0] = 0 | |
ENDIF | |
ENDIF | |
IF IS_BIT_SET iGFAvailableFor2Player SUZIE | |
IF recreate_gfriend_pickup[1] = 0 | |
CREATE_PICKUP twoplayer PICKUP_2P -2576.7827 1151.9084 55.2333 Tplayer_pickup[11] | |
recreate_gfriend_pickup[1] = 1 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[11] | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
//PRINT_BIG ( TPLAY10 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION r_suzi.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
ELSE | |
IF recreate_gfriend_pickup[1] = 1 | |
REMOVE_PICKUP Tplayer_pickup[11] | |
recreate_gfriend_pickup[1] = 0 | |
ENDIF | |
ENDIF | |
IF IS_BIT_SET iGFAvailableFor2Player BARBARA | |
IF recreate_gfriend_pickup[2] = 0 | |
CREATE_PICKUP twoplayer PICKUP_2P -1390.1707 2637.5149 55.5000 Tplayer_pickup[12] | |
recreate_gfriend_pickup[2] = 1 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[12] | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
//PRINT_BIG ( TPLAY10 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION r_barb.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
ELSE | |
IF recreate_gfriend_pickup[2] = 1 | |
REMOVE_PICKUP Tplayer_pickup[12] | |
recreate_gfriend_pickup[2] = 0 | |
ENDIF | |
ENDIF | |
IF IS_BIT_SET iGFAvailableFor2Player KYLIE | |
IF recreate_gfriend_pickup[3] = 0 | |
CREATE_PICKUP twoplayer PICKUP_2P -381.8657 -1426.2695 25.5000 Tplayer_pickup[13] | |
recreate_gfriend_pickup[3] = 1 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[13] | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
//PRINT_BIG ( TPLAY10 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION r_kylie.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
ELSE | |
IF recreate_gfriend_pickup[3] = 1 | |
REMOVE_PICKUP Tplayer_pickup[13] | |
recreate_gfriend_pickup[3] = 0 | |
ENDIF | |
ENDIF | |
IF IS_BIT_SET iGFAvailableFor2Player COOCHIE | |
IF recreate_gfriend_pickup[4] = 0 | |
CREATE_PICKUP twoplayer PICKUP_2P 2402.4358 -1715.4941 14.0000 Tplayer_pickup[14] | |
recreate_gfriend_pickup[4] = 1 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[14] | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
//PRINT_BIG ( TPLAY10 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION r_coch.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
ELSE | |
IF recreate_gfriend_pickup[4] = 1 | |
REMOVE_PICKUP Tplayer_pickup[14] | |
recreate_gfriend_pickup[4] = 0 | |
ENDIF | |
ENDIF | |
IF IS_BIT_SET iGFAvailableFor2Player MICHELLE | |
IF recreate_gfriend_pickup[5] = 0 | |
CREATE_PICKUP twoplayer PICKUP_2P -1803.6143 1199.3320 25.0000 Tplayer_pickup[15] | |
recreate_gfriend_pickup[5] = 1 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED Tplayer_pickup[15] | |
flag_player_on_mission = 1 | |
GOSUB mini_fade | |
//PRINT_BIG ( TPLAY10 ) 1000 2 | |
LOAD_AND_LAUNCH_MISSION r_mich.sc //PAUL D | |
recreate_tplay_pickup = 0 | |
ENDIF | |
ELSE | |
IF recreate_gfriend_pickup[5] = 1 | |
REMOVE_PICKUP Tplayer_pickup[15] | |
recreate_gfriend_pickup[5] = 0 | |
ENDIF | |
ENDIF | |
ELSE | |
IF recreate_tplay_pickup = 1 | |
GOSUB remove_2player_pickups | |
recreate_tplay_pickup = 0 | |
ENDIF | |
ENDIF | |
ELSE | |
IF recreate_tplay_pickup = 1 | |
GOSUB remove_2player_pickups | |
recreate_tplay_pickup = 0 | |
ENDIF | |
ENDIF | |
GOTO Tplay_mission_loop_inner | |
} | |
remove_2player_pickups: | |
REMOVE_PICKUP Tplayer_pickup[0] | |
REMOVE_PICKUP Tplayer_pickup[1] | |
REMOVE_PICKUP Tplayer_pickup[2] | |
REMOVE_PICKUP Tplayer_pickup[3] | |
REMOVE_PICKUP Tplayer_pickup[4] | |
REMOVE_PICKUP Tplayer_pickup[5] | |
REMOVE_PICKUP Tplayer_pickup[6] | |
REMOVE_PICKUP Tplayer_pickup[7] | |
REMOVE_PICKUP Tplayer_pickup[8] | |
REMOVE_PICKUP Tplayer_pickup[9] | |
REMOVE_PICKUP Tplayer_pickup[10] | |
REMOVE_PICKUP Tplayer_pickup[11] | |
REMOVE_PICKUP Tplayer_pickup[12] | |
REMOVE_PICKUP Tplayer_pickup[13] | |
REMOVE_PICKUP Tplayer_pickup[14] | |
REMOVE_PICKUP Tplayer_pickup[15] | |
RETURN | |
// **********************************GROVE SAVE LOOP********************************************* | |
VAR_INT remove_grove_pickup[18] grove_save_pickup[18] save_index created_save_blips number_of_save_icons | |
VAR_FLOAT save_pickupX[18] save_pickupY[18] save_pickupZ[18] | |
VAR_FLOAT save_playerX[18] save_playerY[18] save_playerZ[18] save_playerH[18] | |
grove_save_loop: | |
{ | |
// Should be called before main loop | |
SCRIPT_NAME PSAVE1 | |
number_of_save_icons = 13 //18 | |
grove_save_loop_inner: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF flag_on_courier_mission = 0 | |
AND NOT IS_BIT_SET iDateReport MEETING_IN_PROGRESS | |
AND NOT IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
IF created_save_blips = 0 | |
GOSUB remove_all_save_pickups | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[0] save_pickupY[0] save_pickupZ[0] grove_save_pickup[0] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[1] save_pickupY[1] save_pickupZ[1] grove_save_pickup[1] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[2] save_pickupY[2] save_pickupZ[2] grove_save_pickup[2] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[3] save_pickupY[3] save_pickupZ[3] grove_save_pickup[3] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[4] save_pickupY[4] save_pickupZ[4] grove_save_pickup[4] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[5] save_pickupY[5] save_pickupZ[5] grove_save_pickup[5] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[6] save_pickupY[6] save_pickupZ[6] grove_save_pickup[6] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[7] save_pickupY[7] save_pickupZ[7] grove_save_pickup[7] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[8] save_pickupY[8] save_pickupZ[8] grove_save_pickup[8] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[9] save_pickupY[9] save_pickupZ[9] grove_save_pickup[9] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[10] save_pickupY[10] save_pickupZ[10] grove_save_pickup[10] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[11] save_pickupY[11] save_pickupZ[11] grove_save_pickup[11] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[12] save_pickupY[12] save_pickupZ[12] grove_save_pickup[12] | |
IF number_of_save_icons >= 14 | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[13] save_pickupY[13] save_pickupZ[13] grove_save_pickup[13] //BADLANDS TRAILOR//remove | |
ENDIF | |
IF number_of_save_icons >= 15 | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[14] save_pickupY[14] save_pickupZ[14] grove_save_pickup[14] //CATS LODGE//remove | |
ENDIF | |
IF number_of_save_icons >= 16 | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[15] save_pickupY[15] save_pickupZ[15] grove_save_pickup[15] //SAN FRAN GARAGE//remove | |
ENDIF | |
IF number_of_save_icons >= 17 | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[16] save_pickupY[16] save_pickupZ[16] grove_save_pickup[16] //TORENOS RANCH//remove | |
ENDIF | |
IF number_of_save_icons >= 18 | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[17] save_pickupY[17] save_pickupZ[17] grove_save_pickup[17] //TRIAD CASINO//remove | |
ENDIF | |
created_save_blips = 1 | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED grove_save_pickup[save_index] | |
GOSUB save_the_game | |
IF IS_PLAYER_PLAYING player1 | |
REMOVE_PICKUP grove_save_pickup[save_index] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[save_index] save_pickupY[save_index] save_pickupZ[save_index] grove_save_pickup[save_index] | |
CLEAR_AREA save_playerX[save_index] save_playerY[save_index] save_playerZ[save_index] 1.0 TRUE | |
SET_CHAR_COORDINATES scplayer save_playerX[save_index] save_playerY[save_index] save_playerZ[save_index] | |
SET_CHAR_HEADING scplayer save_playerH[save_index] | |
WAIT 0 | |
DO_FADE 1000 FADE_IN | |
ENDIF | |
GOSUB save_the_game2 | |
created_save_blips = 0 | |
ENDIF | |
ELSE | |
IF created_save_blips = 1 | |
GOSUB remove_all_save_pickups | |
created_save_blips = 0 | |
ENDIF | |
ENDIF | |
ELSE | |
IF created_save_blips = 1 | |
GOSUB remove_all_save_pickups | |
created_save_blips = 0 | |
ENDIF | |
ENDIF | |
save_index ++ | |
IF save_index >= number_of_save_icons | |
save_index = 0 | |
ENDIF | |
ENDIF // IF IS_PLAYER_PLAYING player1 | |
GOTO grove_save_loop_inner | |
} | |
//SAVE GAME SETUP************************************************************************************* | |
remove_all_save_pickups: | |
REMOVE_PICKUP grove_save_pickup[0] | |
REMOVE_PICKUP grove_save_pickup[1] | |
REMOVE_PICKUP grove_save_pickup[2] | |
REMOVE_PICKUP grove_save_pickup[3] | |
REMOVE_PICKUP grove_save_pickup[4] | |
REMOVE_PICKUP grove_save_pickup[5] | |
REMOVE_PICKUP grove_save_pickup[6] | |
REMOVE_PICKUP grove_save_pickup[7] | |
REMOVE_PICKUP grove_save_pickup[8] | |
REMOVE_PICKUP grove_save_pickup[9] | |
REMOVE_PICKUP grove_save_pickup[10] | |
REMOVE_PICKUP grove_save_pickup[11] | |
REMOVE_PICKUP grove_save_pickup[12] | |
REMOVE_PICKUP grove_save_pickup[13] | |
REMOVE_PICKUP grove_save_pickup[14] | |
REMOVE_PICKUP grove_save_pickup[15] | |
REMOVE_PICKUP grove_save_pickup[16] | |
REMOVE_PICKUP grove_save_pickup[17] | |
RETURN | |
save_the_game: | |
flag_player_on_mission = 1 | |
SET_PLAYER_CONTROL player1 Off | |
ACTIVATE_SAVE_MENU //THE GAME SAVES/RE-LOADS HERE!!!!! | |
//WAIT 0 | |
WHILE NOT HAS_SAVE_GAME_FINISHED | |
WAIT 0 | |
ENDWHILE | |
SET_FADING_COLOUR 0 0 0 | |
DO_FADE 1000 FADE_OUT | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
ENDIF | |
RETURN | |
save_the_game2: | |
IF IS_PLAYER_PLAYING player1 | |
RESTORE_CAMERA_JUMPCUT | |
SET_CAMERA_BEHIND_PLAYER | |
ENDIF | |
WAIT 500 | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 on | |
flag_player_on_mission = 0 | |
ENDIF | |
RETURN | |
//STORY MISSION SETUP******************************************************************************** | |
cutscene_fading_status: | |
//WAIT 1500 | |
SET_FADING_COLOUR 0 0 0 | |
DO_FADE 500 FADE_OUT | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
CLEAR_PRINTS | |
CLEAR_HELP | |
ENDWHILE | |
IF IS_PLAYER_PLAYING player1 | |
DO_FADE 0 FADE_OUT | |
RESTORE_CAMERA_JUMPCUT | |
CLEAR_CHAR_TASKS scplayer | |
DO_FADE 0 FADE_OUT | |
ENDIF | |
RETURN | |
//SHORT SCRIPTED CUTS********************************************************************************* | |
mother_script_cut: | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_HELP | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 2503.6008 -1676.7875 13.9236 0.0 0.0 0.0 //Mothers house | |
POINT_CAMERA_AT_POINT 2503.2595 -1677.7181 14.0548 JUMP_CUT | |
CLEAR_AREA 2495.3652 -1690.7665 13.7734 1.0 TRUE | |
CLEAR_AREA 2503.2595 -1677.7181 14.0548 2.0 TRUE | |
CLEAR_AREA introX introY introZ 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 2495.3652 -1690.7665 13.7734 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
sweet_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 2512.2329 -1673.5321 12.6635 0.0 0.0 0.0 //Sweets house | |
POINT_CAMERA_AT_POINT 2513.1387 -1673.8250 12.9696 JUMP_CUT | |
CLEAR_AREA 2513.1387 -1673.8250 12.9696 2.0 TRUE | |
CLEAR_AREA 2521.35 -1678.83 14.32 1.0 TRUE | |
CLEAR_AREA sweetX sweetY sweetZ 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 2521.35 -1678.83 14.32 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
ryder_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 2451.1482 -1677.7863 16.3581 0.0 0.0 0.0 //Ryder house | |
POINT_CAMERA_AT_POINT 2451.5637 -1678.6765 16.1721 JUMP_CUT | |
CLEAR_AREA 2451.5637 -1678.6765 16.1721 2.0 TRUE | |
CLEAR_AREA 2459.44 -1691.58 12.58 1.0 TRUE | |
CLEAR_AREA ryderX ryderY ryderZ 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 2459.44 -1691.58 12.58 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
smoke_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 2075.6997 -1687.8783 16.0883 0.0 0.0 0.0 //Smoke house | |
POINT_CAMERA_AT_POINT 2074.9836 -1688.5559 15.9215 JUMP_CUT | |
CLEAR_AREA 2065.4 -1703.4 13.1 1.0 TRUE | |
CLEAR_AREA 2074.9836 -1688.5559 15.9215 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 2065.4 -1703.4 13.1 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
crash_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 1054.6445 -1312.2812 14.9353 0.0 0.0 0.0 //Crash house | |
POINT_CAMERA_AT_POINT 1054.2712 -1313.2002 15.0617 JUMP_CUT | |
CLEAR_AREA 1038.04 -1339.23 12.55 1.0 TRUE | |
CLEAR_AREA 1054.2712 -1313.2002 15.0617 2.0 TRUE | |
CLEAR_AREA crashX crashY crashZ 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 1038.04 -1339.23 12.55 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
strap_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 825.1696 -1636.5719 23.1761 0.0 0.0 0.0 //Fast food house | |
POINT_CAMERA_AT_POINT 824.3510 -1636.0514 22.9332 JUMP_CUT | |
CLEAR_AREA 793.59 -1625.07 12.38 1.0 TRUE | |
CLEAR_AREA 824.3510 -1636.0514 22.9332 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 793.59 -1625.07 12.38 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
strap_script_cut2: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 2486.8477 -1660.3274 12.5441 0.0 0.0 0.0 //House Party | |
POINT_CAMERA_AT_POINT 2486.8464 -1659.3627 12.8073 JUMP_CUT | |
CLEAR_AREA 2486.94 -1646.76 13.07 1.0 TRUE | |
CLEAR_AREA 2486.8464 -1659.3627 12.8073 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 2486.94 -1646.76 13.07 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
cesar_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 1792.8767 -2105.3684 17.6519 0.0 0.0 0.0 //Cesar house | |
POINT_CAMERA_AT_POINT 1793.1516 -2106.3013 17.4194 JUMP_CUT | |
CLEAR_AREA 1793.1516 -2106.3013 17.4194 2.0 TRUE | |
//IF NOT flag_cesar_mission_counter = 0 | |
//TASK_GO_STRAIGHT_TO_COORD scplayer 1793.89 -2124.42 12.56 PEDMOVE_WALK 3000 | |
//ENDIF | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
motel_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION -2187.8699 -2269.8076 29.4158 0.0 0.0 0.0 //Motel | |
POINT_CAMERA_AT_POINT -2188.3757 -2269.0212 29.7703 JUMP_CUT | |
CLEAR_AREA -2194.3713 -2256.4980 29.6841 1.0 TRUE | |
CLEAR_AREA -2188.3757 -2269.0212 29.7703 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer -2194.3713 -2256.4980 29.6841 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
truthfarm_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION -919.0773 -1715.6240 78.4517 0.0 0.0 0.0 //Motel | |
POINT_CAMERA_AT_POINT -920.0563 -1715.8236 78.4112 JUMP_CUT | |
CLEAR_AREA -932.2975 -1718.8911 76.5703 1.0 TRUE | |
CLEAR_AREA -920.0563 -1715.8236 78.4112 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer -932.2975 -1718.8911 76.5703 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
garage_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION -2010.9739 154.9329 33.4883 0.0 0.0 0.0 //Triad Casino house | |
POINT_CAMERA_AT_POINT -2011.9657 154.9767 33.3685 JUMP_CUT | |
CLEAR_AREA -2034.5591 148.8178 27.8359 1.0 TRUE | |
CLEAR_AREA -2011.9657 154.9767 33.3685 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer -2034.5591 148.8178 27.8359 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
steal_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION -2031.3595 196.2776 34.8120 0.0 0.0 0.0 //Triad Casino house | |
POINT_CAMERA_AT_POINT -2031.6392 195.3477 34.5735 JUMP_CUT | |
CLEAR_AREA -2038.5095 178.4871 27.8359 1.0 TRUE | |
CLEAR_AREA -2031.6392 195.3477 34.5735 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer -2038.5095 178.4871 27.8359 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
wuzi_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION -2129.1858 640.2543 72.0002 0.0 0.0 0.0 //Triad Casino house | |
POINT_CAMERA_AT_POINT -2130.1023 640.2417 71.6005 JUMP_CUT | |
CLEAR_AREA -2156.56 645.08 51.35 1.0 TRUE | |
CLEAR_AREA -2130.1023 640.2417 71.6005 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer -2156.56 645.08 51.35 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
triad_casino_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 1979.0204 1004.7916 995.4213 0.0 0.0 0.0 //Triad Casino house | |
POINT_CAMERA_AT_POINT 1978.5657 1003.9200 995.2380 JUMP_CUT | |
CLEAR_AREA 1963.4 972.2 993.4 1.0 TRUE | |
CLEAR_AREA 1979.0204 1004.7916 995.4213 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 1963.4 972.2 993.4 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
triad_casino_script_cut2: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 1954.5709 1041.4943 993.1794 0.0 0.0 0.0 //Triad Casino house | |
POINT_CAMERA_AT_POINT 1954.9624 1042.4143 993.1676 JUMP_CUT | |
CLEAR_AREA 1963.5 1063.3 993.4 1.0 TRUE | |
CLEAR_AREA 1954.9624 1042.4143 993.1676 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 1963.5 1063.3 993.4 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
triad_casino_script_cut3: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 2073.9473 991.3126 17.4461 0.0 0.0 0.0 //Triad Casino house | |
POINT_CAMERA_AT_POINT 2072.9534 991.4046 17.5078 JUMP_CUT | |
CLEAR_AREA 2020.0 1008.83 9.82 1.0 TRUE | |
CLEAR_AREA 2072.9534 991.4046 17.5078 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 2020.0 1008.83 9.82 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
pleasure_domes_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION -2601.6772 1386.1322 6.8077 0.0 0.0 0.0 //Pleasure domes house | |
POINT_CAMERA_AT_POINT -2602.3279 1386.8549 7.0409 JUMP_CUT | |
CLEAR_AREA -2624.1951 1410.7644 6.1015 1.0 TRUE | |
CLEAR_AREA -2602.3279 1386.8549 7.0409 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer -2624.1951 1410.7644 6.1015 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
ranch_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION -690.6180 906.0824 13.0468 0.0 0.0 0.0 //Torino Ranch | |
POINT_CAMERA_AT_POINT -690.5204 907.0766 13.0919 JUMP_CUT | |
CLEAR_AREA -684.9820 927.3704 12.6293 1.0 TRUE | |
CLEAR_AREA -690.5204 907.0766 13.0919 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer -684.9820 927.3704 12.6293 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
airstrip_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 427.1954 2527.6433 19.4052 0.0 0.0 0.0 //Pilot School | |
POINT_CAMERA_AT_POINT 426.2472 2527.9556 19.4635 JUMP_CUT | |
CLEAR_AREA 426.2472 2527.9556 19.4635 2.0 TRUE | |
//TASK_GO_STRAIGHT_TO_COORD scplayer -684.9820 927.3704 12.6293 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
airstrip_script_cut2: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 330.1037 2587.7505 18.3215 0.0 0.0 0.0 //Air strip | |
POINT_CAMERA_AT_POINT 330.0515 2586.7527 18.3620 JUMP_CUT | |
CLEAR_AREA 330.0515 2586.7527 18.3620 2.0 TRUE | |
//TASK_GO_STRAIGHT_TO_COORD scplayer -684.9820 927.3704 12.6293 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
mafia_casino_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 2257.1345 1587.1329 1010.0352 0.0 0.0 0.0 //Mafia Casino house | |
POINT_CAMERA_AT_POINT 2257.2671 1588.1194 1009.9393 JUMP_CUT | |
CLEAR_AREA 2270.6 1637.9 1007.3 1.0 TRUE | |
CLEAR_AREA 2257.2671 1588.1194 1009.9393 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 2270.6 1637.9 1007.3 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
LA_mansion_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION 1278.0908 -849.6337 90.7593 0.0 0.0 0.0 //Triad Casino house | |
POINT_CAMERA_AT_POINT 1278.0381 -848.6531 90.5709 JUMP_CUT | |
CLEAR_AREA 1258.1578 -785.2752 91.0302 1.0 TRUE | |
CLEAR_AREA 1278.0381 -848.6531 90.5709 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer 1258.1578 -785.2752 91.0302 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
zero_script_cut1: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION -2278.0042 134.3340 39.6060 0.0 0.0 0.0 //Zero's shop | |
POINT_CAMERA_AT_POINT -2277.0078 134.3560 39.6897 JUMP_CUT | |
CLEAR_AREA -2242.8120 128.7572 34.3203 1.0 TRUE | |
CLEAR_AREA -2277.0078 134.3560 39.6897 2.0 TRUE | |
TASK_GO_STRAIGHT_TO_COORD scplayer -2242.8120 128.7572 34.3203 PEDMOVE_WALK 3000 | |
GOSUB cutscene_fading_status | |
ENDIF | |
RETURN | |
// ****************************************HELP TEXT************************************************* | |
game_help_loop: | |
{ | |
SCRIPT_NAME HELP | |
game_help_loop_inner: | |
WAIT 70 | |
IF IS_PLAYER_PLAYING player1 | |
IF game_starts_from_scratch = 1 | |
// added to game_help_loop_inner around line 5938 | |
IF wasted_help = 0 | |
IF HAS_PICKUP_BEEN_COLLECTED wasted_help1 | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
ENDIF | |
SET_FIXED_CAMERA_POSITION 2022.6125 -1432.0500 17.6541 0.0 0.0 0.0 | |
POINT_CAMERA_AT_POINT 2022.9888 -1431.1235 17.6552 JUMP_CUT | |
REMOVE_PICKUP wasted_help1 | |
REMOVE_PICKUP wasted_help2 | |
// You have been wasted | |
CLEAR_HELP | |
PRINT_HELP HOSP_1 // If your health reaches zero, you will pass out and you will be treated at the local medical center. | |
PRINT_HELP HOSP_2 // To replenish your health you can eat food, use health pick-ups or save at a safehouse. | |
PRINT_HELP HOSP_3 //Before you are discharged, hospital staff will confiscate your weapons and bill you for the healthcare you received. | |
//This is turned off in the mobile version. | |
WHILE (IS_HELP_MESSAGE_BEING_DISPLAYED) | |
wait 0 | |
IF IS_SKIP_CUTSCENE_BUTTON_PRESSED | |
CLEAR_HELP | |
ENDIF | |
ENDWHILE | |
wasted_help = 1 | |
RESTORE_CAMERA_JUMPCUT | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 ON | |
SWITCH_WIDESCREEN OFF | |
ENDIF | |
ENDIF | |
IF HAS_PICKUP_BEEN_COLLECTED wasted_help2 | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
ENDIF | |
//SET_FIXED_CAMERA_POSITION 1184.3470 -1313.4890 19.7079 0.0 0.0 0.0 // WDTOM there is a giant tree here now, camera is blocked in 3Master. | |
//POINT_CAMERA_AT_POINT 1183.6447 -1314.0889 19.3248 JUMP_CUT | |
SET_FIXED_CAMERA_POSITION 1188.1 -1318.6 18.9 0.0 0.0 0.0 | |
POINT_CAMERA_AT_POINT 1181.1 -1323.6 15.2 JUMP_CUT | |
REMOVE_PICKUP wasted_help1 | |
REMOVE_PICKUP wasted_help2 | |
// You have been wasted | |
CLEAR_HELP | |
PRINT_HELP HOSP_1 // If your health reaches zero, you will pass out and you will be treated at the local medical center. | |
PRINT_HELP HOSP_2 // To replenish your health you can eat food, use health pick-ups or save at a safehouse. | |
PRINT_HELP HOSP_3 //Before you are discharged, hospital staff will confiscate your weapons and bill you for the healthcare you received. | |
//This is turned off in the mobile version. | |
WHILE (IS_HELP_MESSAGE_BEING_DISPLAYED) | |
wait 0 | |
IF IS_SKIP_CUTSCENE_BUTTON_PRESSED | |
CLEAR_HELP | |
ENDIF | |
ENDWHILE | |
RESTORE_CAMERA_JUMPCUT | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 ON | |
SWITCH_WIDESCREEN OFF | |
ENDIF | |
wasted_help = 1 | |
ENDIF | |
ENDIF | |
IF busted_help = 0 | |
IF HAS_PICKUP_BEEN_COLLECTED busted_help1 | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
SWITCH_WIDESCREEN ON | |
ENDIF | |
SET_FIXED_CAMERA_POSITION 1536.5765 -1687.1343 26.7069 0.0 0.0 0.0 | |
POINT_CAMERA_AT_POINT 1537.2947 -1686.5641 26.3081 JUMP_CUT | |
REMOVE_PICKUP busted_help1 | |
// You have been arrested | |
CLEAR_HELP | |
PRINT_HELP BUST_1 //When you have a wanted level, the local police force will try to arrest ('bust') you. | |
PRINT_HELP BUST_2 //As your wanted level gets higher, different enforcement agencies will become involved and the likelihood of them trying to kill you will increase. | |
PRINT_HELP BUST_3 //If you are 'busted' by law enforcement you will be processed at a local police precinct. | |
PRINT_HELP BUST_4 //The officers will strip you of your weapons and take some of your cash as a bribe. | |
WHILE (IS_HELP_MESSAGE_BEING_DISPLAYED) | |
wait 0 | |
IF IS_SKIP_CUTSCENE_BUTTON_PRESSED | |
CLEAR_HELP | |
ENDIF | |
ENDWHILE | |
RESTORE_CAMERA_JUMPCUT | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 ON | |
SWITCH_WIDESCREEN OFF | |
ENDIF | |
busted_help = 1 | |
ENDIF | |
ENDIF | |
IF chat_help1_flag = 0 | |
IF HAS_PICKUP_BEEN_COLLECTED chat_help1 | |
PRINT_HELP CHATBAK // People on the streets will talk to Carl. Tap ~m~~widget_reply_no~ for a negative reply or tap ~m~~widget_reply_yes~ for a positive reply. | |
chat_help1_flag = 1 | |
ENDIF | |
ENDIF | |
IF swimming_help < 7 | |
IF swimming_help = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_SWIMMING scplayer | |
PRINT_HELP WZI2_A0 //Use the ~h~left analog stick ~w~to move around in the water. | |
swimming_help = 1 | |
WAIT 5000 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF swimming_help = 1 | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_SWIMMING scplayer | |
PRINT_HELP WZI2_A5 // Press ~m~~widget_button_dive~ to dive underwater. | |
swimming_help = 2 | |
WAIT 5000 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF swimming_help = 2 | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_SWIMMING scplayer | |
PRINT_HELP WZI2_A6 // Hold down ~m~~widget_button_swim~ to swim around underwater. | |
swimming_help = 3 | |
WAIT 5000 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF swimming_help = 3 | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_SWIMMING scplayer | |
PRINT_HELP WZI2_A1 // Hold ~m~~widget_button_swim~ to swim faster. | |
swimming_help = 4 | |
WAIT 5000 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF swimming_help = 4 | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_SWIMMING scplayer | |
PRINT_HELP WZI2_A2 //The blue bar at the top right of the screen is your ~h~breath meter ~h~this represents how long you can stay underwater. | |
FLASH_HUD_OBJECT HUD_FLASH_BREATH | |
WAIT 5000 | |
swimming_help = 5 | |
FLASH_HUD_OBJECT -1 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF swimming_help = 5 | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_SWIMMING scplayer | |
PRINT_HELP WZI2_A3 //Your breath will decrease while you're underwater. Once your breath reaches zero, your health will start to decrease. | |
swimming_help = 6 | |
WAIT 5000 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF swimming_help = 6 | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_SWIMMING scplayer | |
PRINT_HELP WZI2_A7 //Swim back up to the surface to get your breath back. The breath meter will slowly increase back to its maximum. | |
swimming_help = 7 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF print_first_help = 0 | |
PRINT_HELP HELP_42 | |
WAIT 2000 | |
IF IS_PLAYER_PLAYING player1 | |
IF been_in_a_bmx = 0 | |
IF IS_CHAR_IN_MODEL scplayer BMX | |
PRINT_HELP_FOREVER_CONDITIONAL CLSC_2F 2 // To pedal hold down ~m~~widget_accelerate~. (the 2 is CONDITION_FLAG_ACCELERATE) | |
been_in_a_bmx = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
WAIT 5000 | |
PRINT_HELP ( HELP42 ) //Follow the ~h~blip~w~ to get back to the hood. | |
FLASH_HUD_OBJECT HUD_FLASH_RADAR | |
WAIT 7000 | |
FLASH_HUD_OBJECT -1 | |
print_first_help = 1 | |
ELSE | |
IF spray_help = 0 | |
IF flag_sweet_mission_counter = 1 | |
WAIT 4000 | |
PRINT_HELP (SPRAY_C) //Spray can | |
spray_help = 1 | |
ENDIF | |
ENDIF | |
IF voice_over_at_hub = 1 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer introX introY introZ 25.0 25.0 5.0 FALSE | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
PRINT_HELP_FOREVER_CONDITIONAL HELP21B 1 // Press ~m~~widget_enter_car~ to get on the bike. | |
ENDIF | |
WAIT 5000 | |
PRINT_HELP_FOREVER HELP44 // Walk into the red marker to continue. Hold ~m~~widget_sprint~ to sprint. | |
voice_over_at_hub = 2 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF been_in_a_bmx = 0 | |
IF IS_CHAR_IN_MODEL scplayer BMX | |
OR IS_CHAR_IN_MODEL scplayer bike | |
OR IS_CHAR_IN_MODEL scplayer mtbike | |
WAIT 2000 | |
PRINT_HELP_FOREVER_CONDITIONAL CLSC_2F 2 // To pedal hold down ~m~~widget_accelerate~. (the 2 is CONDITION_FLAG_ACCELERATE) | |
been_in_a_bmx = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF bike_help = 0 | |
IF IS_CHAR_IN_MODEL scplayer BMX | |
OR IS_CHAR_IN_MODEL scplayer bike | |
OR IS_CHAR_IN_MODEL scplayer mtbike | |
IF bike_help = 0 | |
AND been_in_a_bmx = 1 | |
WAIT 6000 | |
PRINT_HELP_FOREVER_CONDITIONAL HELP5_A 8 // Press ~m~~widget_brake~ to brake. Press and hold to reverse if the bike has stopped. | |
WAIT 8000 | |
PRINT_HELP_FOREVER_CONDITIONAL HP27HIJ 4 // Use ~m~~widget_ped_move_up~ and ~m~~widget_ped_move_down~ to shift your weight on the bike. | |
WAIT 2000 | |
bike_help = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_intro_mission_counter > 0 | |
IF car_help_played = 0 | |
IF main_visible_area = 0 | |
IF NOT IS_CHAR_ON_ANY_BIKE scplayer | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
WAIT 2000 | |
PRINT_HELP_FOREVER_CONDITIONAL RAD_TCH 64 // Swipe the bottom left corner of the screen to change radio stations. CONDITION_FLAG_RADIO_STATION | |
//This should be here too but we can't mod this script w/o breaking old saves :( | |
//PRINT_HELP_FOREVER_CONDITIONAL RAD_HID 64 // Tap ~m~~widget_swipe_radio_up~ and ~m~~widget_swipe_radio_down~ to change radio stations. | |
WAIT 5000 | |
PRINT_HELP HELP56 // Press ~m~~widget_camera~ to change camera views. | |
car_help_played = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF drive_by_help = 0 | |
IF car_help_played = 1 | |
IF IS_PLAYER_PLAYING player1 | |
GET_AREA_VISIBLE main_visible_area | |
IF main_visible_area = 0 | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
AND NOT IS_CHAR_ON_ANY_BIKE scplayer | |
IF IS_CURRENT_CHAR_WEAPON scplayer WEAPONTYPE_MICRO_UZI | |
OR IS_CURRENT_CHAR_WEAPON scplayer WEAPONTYPE_MP5 | |
PRINT_HELP HELP31 // To do a drive-by, first look left or right using ~m~~widget_look_left~ or ~m~~widget_look_right~. Then fire using ~m~~widget_attack. | |
WAIT 6000 | |
PRINT_HELP HELP34 // You must have a sub machine gun to perform a drive-by. | |
drive_by_help = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF //IS_PLAYER_PLAYING | |
ENDIF //print_first_help = 0 | |
IF drive_by_help = 1 | |
IF car_help_played = 1 | |
IF voice_over_at_hub = 1 | |
IF chat_help1_flag = 1 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO game_help_loop_inner | |
} | |
// ****************************************OPEN UP MISSIONS************************************************* | |
intro_stuff_loop: | |
{ | |
SCRIPT_NAME INTROST | |
intro_stuff_loop_inner: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF voice_over_at_hub = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer 2471.7 -1668.0 12.3 90.0 40.0 4.0 FALSE | |
LOAD_MISSION_AUDIO 1 SOUND_VO_AF //Grove Street - Home. | |
LOAD_MISSION_AUDIO 2 SOUND_VO_AG // At least it was before I fucked everything up. | |
WHILE NOT HAS_MISSION_AUDIO_LOADED 1 | |
WAIT 0 | |
IF NOT IS_PLAYER_PLAYING player1 | |
GOTO skip_loading_audio | |
ENDIF | |
ENDWHILE | |
PRINT_NOW ( VO_AF ) 4000 1 | |
PLAY_MISSION_AUDIO 1 //Grove Street - Home. | |
WHILE NOT HAS_MISSION_AUDIO_FINISHED 1 | |
WAIT 0 | |
IF NOT IS_PLAYER_PLAYING player1 | |
GOTO skip_loading_audio | |
ENDIF | |
ENDWHILE | |
PRINT_NOW ( VO_AG ) 4000 1 | |
PLAY_MISSION_AUDIO 2 // At least it was before I fucked everything up. | |
WHILE NOT HAS_MISSION_AUDIO_LOADED 2 | |
WAIT 0 | |
IF NOT IS_PLAYER_PLAYING player1 | |
GOTO skip_loading_audio | |
ENDIF | |
ENDWHILE | |
skip_loading_audio: | |
voice_over_at_hub = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF funeral_mission_finished = 0 | |
IF flag_intro_mission_counter = 1 | |
WAIT 5000 | |
PRINT_NOW ( INT_CJ1 ) 8000 1 // ~s~go into CJ's house. | |
funeral_mission_finished = 1 | |
ENDIF | |
ENDIF | |
IF funeral_mission_finished = 1 | |
IF flag_intro_mission_counter = 1 | |
GET_AREA_VISIBLE main_visible_area | |
IF main_visible_area = 3 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer 2496.0505 -1698.0128 1013.7500 10.0 10.0 5.0 FALSE | |
SET_PLAYER_CONTROL player1 OFF | |
CLEAR_PRINTS | |
SET_FIXED_CAMERA_POSITION 2496.3799 -1694.3336 1015.4313 0.0 0.0 0.0 // look at savepoint | |
POINT_CAMERA_AT_POINT 2496.3677 -1695.3247 1015.2991 JUMP_CUT | |
PRINT_HELP SAVE | |
WAIT 5000 | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 ON | |
RESTORE_CAMERA_JUMPCUT | |
funeral_mission_finished = 2 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF funeral_mission_finished = 2 | |
IF flag_intro_mission_counter = 1 | |
GET_AREA_VISIBLE main_visible_area | |
IF main_visible_area = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer 2495.3298 -1689.1830 13.2716 20.0 20.0 6.0 FALSE | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME INT | |
START_NEW_SCRIPT intro_mission_loop | |
REMOVE_BLIP intro_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT ryderX ryderY ryderZ ryder_blip_icon intro_contact_blip | |
PRINT_NOW ( INT2_1 ) 8000 1 // Go and see Ryder, he lives across the street. | |
WAIT 2000 | |
PRINT_HELP ( RYBLIP ) //Follow the ~h~blip~w~ to get back to the hood. | |
WAIT 4000 | |
funeral_mission_finished = 3 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO intro_stuff_loop_inner | |
} | |
game_flow_loop: | |
{ | |
SCRIPT_NAME FLOW | |
game_flow_loop_inner: | |
WAIT 1000 | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF girlfried_help_flag = 0 | |
IF flag_crash_mission_counter = 1 | |
WAIT 5500 | |
CLEAR_HELP | |
PRINT_HELP ( GF_H000 ) //Girlfriend help | |
girlfried_help_flag = 1 | |
ENDIF | |
ENDIF | |
IF oddjob_help_flag = 0 | |
IF flag_scrash_mission_counter = 1 | |
WAIT 6000 | |
CLEAR_HELP | |
PRINT_HELP ( VAL_HLP ) //Valet help | |
WAIT 5000 | |
CLEAR_HELP | |
PRINT_HELP ( VAL_GOT ) //Valet uniform | |
oddjob_help_flag = 1 | |
ENDIF | |
ENDIF | |
IF trucking_help_flag = 0 | |
IF flag_cat_mission3_passed = 1 //truck help | |
WAIT 6000 | |
CLEAR_HELP | |
PRINT_HELP ( TRUCK_H ) | |
trucking_help_flag = 1 | |
ENDIF | |
ENDIF | |
IF stealth_help_flag = 0 | |
IF flag_strap_mission_counter > 1 //Stealth help | |
WAIT 6000 | |
CLEAR_HELP | |
PRINT_HELP ( STELF ) | |
stealth_help_flag = 1 | |
ENDIF | |
ENDIF | |
IF got_gimp_suit = 0 | |
IF flag_heist_mission_counter = 2 //Got gimp outfit | |
WAIT 6000 | |
CLEAR_HELP | |
PRINT_HELP ( GIMPGOT ) | |
got_gimp_suit = 1 | |
ENDIF | |
ENDIF | |
IF camera_secret_help = 0 | |
IF flag_synd_mission_counter = 1 //Camera | |
WAIT 6000 | |
CLEAR_HELP | |
PRINT_HELP ( SECRET ) | |
camera_secret_help = 1 | |
ENDIF | |
ENDIF | |
IF croupier_help = 0 | |
IF flag_heist_mission_counter = 6 //croupier uniform | |
WAIT 6000 | |
CLEAR_HELP | |
PRINT_HELP ( CRO_GOT ) | |
croupier_help = 1 | |
ENDIF | |
ENDIF | |
// trigger LA1 finale***************************************************************************************** | |
IF trigger_final_LA1_missions = 0 | |
IF flag_sweet_mission_counter = 9 | |
IF flag_smoke_mission_counter = 4 | |
IF flag_strap_mission_counter = 5 | |
IF flag_ryder_mission_counter = 3 | |
IF flag_crash_mission_counter = 2 | |
IF flag_cesar_mission_counter = 1 | |
START_NEW_SCRIPT la1fin1_mission_loop | |
REMOVE_BLIP sweet_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
trigger_final_LA1_missions = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
// Triggers the Scrash2 mission | |
IF trigger_scrash2_mission = 0 | |
IF flag_scrash_mission_counter = 1 | |
AND flag_Synd_mission_counter = 6 | |
REMOVE_BLIP garage_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ crash_blip_icon garage_contact_blip | |
trigger_scrash2_mission = 1 | |
ENDIF | |
ENDIF | |
// Triggers the outrider mission | |
IF trigger_ice_cold_mission = 0 | |
IF flag_Synd_mission_counter = 5 | |
REMOVE_BLIP synd_contact_blip | |
REMOVE_BLIP garage_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ garage_blip_icon garage_contact_blip | |
trigger_ice_cold_mission = 1 | |
ENDIF | |
ENDIF | |
// Triggers the final Synd mission | |
IF trigger_final_synd_mission = 0 | |
IF flag_Synd_mission_counter = 9 | |
AND flag_wuzi_mission_counter = 5 | |
REMOVE_BLIP garage_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ garage_blip_icon garage_contact_blip | |
trigger_final_synd_mission = 1 | |
ENDIF | |
ENDIF | |
// trigger LA2 finale***************************************************************************************** | |
IF trigger_final_LA2_missions = 0 | |
IF flag_grove_mission_counter = 2 | |
AND flag_mansion_mission_counter = 4 | |
START_NEW_SCRIPT riot_mission_loop //"riot mission 1" //CRAIG //RIOT! | |
REMOVE_BLIP grove_contact_blip | |
REMOVE_BLIP mansion_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT mansionX mansionY mansionZ mansion_blip_icon mansion_contact_blip | |
trigger_final_LA2_missions = 1 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
ENDIF | |
ENDIF //FLAG PLAYER ON MISSION | |
ENDIF // IF IS_PLAYER_PLAYING player1 | |
GOTO game_flow_loop_inner | |
} | |
andys_door_madness: | |
{ | |
SCRIPT_NAME DOORS | |
WAIT 0 | |
//////////////////////////////////////////////////////////////////////////// | |
// DOORS FOR RIOT2/////////////////////////////////////////////////////////// | |
//////////////////////////////////////////////////////////////////////////// | |
//NW house 0 | |
ROTATE_OBJECT riot2_door[3] 0.0 360.0 FALSE | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_AREA_2D scplayer 1852.0 -1990.7 1849.8 -1989.6 FALSE | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer | |
SET_CHAR_COORDINATES scplayer 1854.0 -1990.0 12.5 | |
ENDIF | |
DO_FADE 500 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
ENDIF | |
//NW house 1 | |
ROTATE_OBJECT riot2_door[4] 270.0 360.0 FALSE | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_AREA_2D scplayer 1867.3 -1985.2 1868.2 -1982.7 FALSE | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer | |
SET_CHAR_COORDINATES scplayer 1867.4 -1987.1 12.5 | |
ENDIF | |
DO_FADE 500 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
ENDIF | |
//NW house 2 | |
ROTATE_OBJECT riot2_door[5] 90.0 360.0 FALSE | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_AREA_2D scplayer 1866.5 -1998.3 1865.4 -2000.4 FALSE | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer | |
SET_CHAR_COORDINATES scplayer 1866.0 -1996.7 12.5 | |
ENDIF | |
DO_FADE 500 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
ENDIF | |
//NE house 0 | |
ROTATE_OBJECT riot2_door[6] 270.0 360.0 FALSE | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_AREA_2D scplayer 1899.6 -1985.2 1900.9 -1982.7 FALSE | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer | |
SET_CHAR_COORDINATES scplayer 1899.8 -1986.7 12.5 | |
ENDIF | |
DO_FADE 500 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
ENDIF | |
//NE house 1 | |
ROTATE_OBJECT riot2_door[7] 180.0 360.0 FALSE | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_AREA_2D scplayer 1914.1 -1992.7 1916.8 -1994.2 FALSE | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer | |
SET_CHAR_COORDINATES scplayer 1912.3 -1993.2 12.5 | |
ENDIF | |
DO_FADE 500 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
ENDIF | |
//NE house 2 | |
ROTATE_OBJECT riot2_door[8] 90.0 360.0 FALSE | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_AREA_2D scplayer 1899.0 -1998.1 1897.9 -2000.4 FALSE | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer | |
SET_CHAR_COORDINATES scplayer 1898.7 -1996.1 12.5 | |
ENDIF | |
DO_FADE 500 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
ENDIF | |
//SE house 0 | |
ROTATE_OBJECT riot2_door[9] 0.0 360.0 FALSE | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_AREA_2D scplayer 1901.0 -2020.1 1899.1 -2019.1 FALSE | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer | |
SET_CHAR_COORDINATES scplayer 1902.7 -2019.6 12.5 | |
ENDIF | |
DO_FADE 500 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
ENDIF | |
//SE house 1 | |
ROTATE_OBJECT riot2_door[10] 180.0 360.0 FALSE | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_AREA_2D scplayer 1914.1 -2020.8 1916.2 -2021.8 FALSE | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer | |
SET_CHAR_COORDINATES scplayer 1912.4 -2021.3 12.5 | |
ENDIF | |
DO_FADE 500 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
ENDIF | |
//SE house 2 | |
ROTATE_OBJECT riot2_door[11] 90.0 360.0 FALSE | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_AREA_2D scplayer 1906.5 -2035.3 1905.5 -2037.2 FALSE | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer | |
SET_CHAR_COORDINATES scplayer 1905.8 -2033.4 12.5 | |
ENDIF | |
DO_FADE 500 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
ENDIF | |
//SW house 0 | |
ROTATE_OBJECT riot2_door[12] 0.0 360.0 FALSE | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_AREA_2D scplayer 1852.0 -2020.1 1850.1 -2019.2 FALSE | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer | |
SET_CHAR_COORDINATES scplayer 1853.7 -2019.4 12.5 | |
ENDIF | |
DO_FADE 500 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
ENDIF | |
//SW house 1 | |
ROTATE_OBJECT riot2_door[13] 180.0 360.0 FALSE | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_AREA_2D scplayer 1865.0 -2020.7 1867.1 -2021.8 FALSE | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer | |
SET_CHAR_COORDINATES scplayer 1863.0 -2021.3 12.5 | |
ENDIF | |
DO_FADE 500 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
ENDIF | |
//SW house 2 | |
ROTATE_OBJECT riot2_door[14] 90.0 360.0 FALSE | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_AREA_2D scplayer 1857.6 -2035.2 1856.5 -2037.2 FALSE | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer | |
SET_CHAR_COORDINATES scplayer 1857.1 -2033.3 12.5 | |
ENDIF | |
DO_FADE 500 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
ENDIF | |
TERMINATE_THIS_SCRIPT | |
} | |
switch_update_stats_back_on: | |
{ | |
SCRIPT_NAME BACKON | |
WAIT 5000 | |
SHOW_UPDATE_STATS TRUE | |
TERMINATE_THIS_SCRIPT | |
} | |
{/////////////////////////////////////////////////////////////////////////////// | |
DISPLAY_WIN_TEXT:// Used for casino games ////////////////////////////////////// | |
//////////////////////////////////////////////////////////////////////////////// | |
SCRIPT_NAME cashwin | |
LVAR_INT cash_win | |
LVAR_INT time_to_print | |
LVAR_INT racetour_flag | |
LVAR_INT timer | |
GET_GAME_TIMER game_timer | |
IF time_to_print = 0 | |
timer = game_timer + 3000 | |
ELSE | |
timer = game_timer + time_to_print | |
ENDIF | |
display_win_text_loop: | |
WAIT 0 | |
IF NOT is_player_playing player1 | |
terminate_this_script | |
ENDIF | |
GET_GAME_TIMER game_timer | |
IF timer < game_timer | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
IF cash_win = 0 | |
GOSUB setup_win_text | |
SET_TEXT_COLOUR 180 180 180 255 | |
IF racetour_flag = 69 | |
DISPLAY_TEXT 320.0 180.333 BJ_PUSH | |
ELSE | |
DISPLAY_TEXT 320.0 180.333 NOWIN | |
ENDIF | |
ELSE | |
IF cash_win > 0 | |
GOSUB setup_win_text | |
SWITCH racetour_flag | |
CASE 45 | |
DISPLAY_TEXT_WITH_NUMBER 320.0 155.333 ALLRACE cash_win | |
BREAK | |
CASE 80 | |
DISPLAY_TEXT_WITH_NUMBER 320.0 155.333 PL_07 cash_win | |
BREAK | |
DEFAULT | |
DISPLAY_TEXT_WITH_NUMBER 320.0 155.333 WINNER cash_win | |
BREAK | |
ENDSWITCH | |
ELSE | |
temp_integer_1 = cash_win * -1 | |
GOSUB setup_win_text | |
SWITCH racetour_flag | |
CASE 80 | |
DISPLAY_TEXT_WITH_NUMBER 320.0 155.333 PL_10 temp_integer_1 | |
BREAK | |
DEFAULT | |
DISPLAY_TEXT_WITH_NUMBER 320.0 155.333 LOSER temp_integer_1 | |
BREAK | |
ENDSWITCH | |
ENDIF | |
ENDIF | |
GOTO display_win_text_loop | |
setup_win_text: | |
SET_TEXT_RIGHT_JUSTIFY OFF | |
SET_TEXT_JUSTIFY OFF | |
SET_TEXT_WRAPX 640.0 | |
SET_TEXT_PROPORTIONAL ON | |
SET_TEXT_BACKGROUND OFF | |
SET_TEXT_SCALE 1.3 3.36 | |
SET_TEXT_CENTRE ON | |
SET_TEXT_EDGE 2 0 0 0 255 | |
set_text_font font_heading | |
GET_HUD_COLOUR HUD_COLOUR_YELLOW temp_integer_2 temp_integer_3 temp_integer_4 an | |
set_text_colour temp_integer_2 temp_integer_3 temp_integer_4 255 | |
RETURN | |
} | |
{ | |
crane_manager: | |
SCRIPT_NAME CRANES | |
LVAR_INT num_of_crane_scripts_running | |
GOTO skip_crane_bit | |
CREATE_OBJECT WOODENBOX 0.0 0.0 0.0 magno_base | |
skip_crane_bit: | |
crane_manager_loop: | |
WAIT 100 | |
IF IS_PLAYER_PLAYING player1 | |
// crane type 1 ----------------------------- | |
// san fran | |
IF LOCATE_CHAR_ANY_MEANS_2D scplayer -2080.441 256.015 10.0 10.0 FALSE | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT crane1.sc num_of_crane_scripts_running | |
IF num_of_crane_scripts_running = 0 | |
STREAM_SCRIPT crane1.sc | |
IF HAS_STREAMED_SCRIPT_LOADED crane1.sc | |
START_NEW_STREAMED_SCRIPT crane1.sc sf_crane1_base | |
num_of_crane_scripts_running++ | |
ENDIF | |
ELSE | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED crane1.sc | |
ENDIF | |
ENDIF | |
// vegas | |
IF LOCATE_CHAR_ANY_MEANS_2D scplayer 2399.202 1879.139 10.0 10.0 FALSE | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT crane1.sc num_of_crane_scripts_running | |
IF num_of_crane_scripts_running = 0 | |
STREAM_SCRIPT crane1.sc | |
IF HAS_STREAMED_SCRIPT_LOADED crane1.sc | |
START_NEW_STREAMED_SCRIPT crane1.sc lv_base | |
num_of_crane_scripts_running++ | |
ENDIF | |
ELSE | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED crane1.sc | |
ENDIF | |
ENDIF | |
// DOCK CRANE | |
IF DOES_OBJECT_EXIST magno_base | |
IF LOCATE_CHAR_ANY_MEANS_OBJECT_2D scplayer magno_base 50.0 50.0 FALSE | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT crane2.sc num_of_crane_scripts_running | |
IF num_of_crane_scripts_running = 0 | |
STREAM_SCRIPT crane2.sc | |
IF HAS_STREAMED_SCRIPT_LOADED crane2.sc | |
START_NEW_STREAMED_SCRIPT crane2.sc magno_base | |
num_of_crane_scripts_running++ | |
ENDIF | |
ELSE | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED crane2.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
// QUARRY CRANE | |
IF LOCATE_CHAR_ANY_MEANS_2D scplayer 709.45 915.93 10.0 10.0 FALSE | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT crane3.sc num_of_crane_scripts_running | |
IF num_of_crane_scripts_running = 0 | |
STREAM_SCRIPT crane3.sc | |
IF HAS_STREAMED_SCRIPT_LOADED crane3.sc | |
START_NEW_STREAMED_SCRIPT crane3.sc quarry_base quarry_stand quarry_arm | |
num_of_crane_scripts_running++ | |
ENDIF | |
ELSE | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED crane3.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO crane_manager_loop | |
} | |
VAR_INT entry_exit_area entry_exit_status | |
VAR_TEXT_LABEL entry_exit_name | |
{ | |
switch_entry_exit_after_mission: | |
SCRIPT_NAME ENTEXT | |
LVAR_INT current_area | |
current_area = -1 | |
WHILE NOT current_area = entry_exit_area | |
WAIT 0 | |
GET_AREA_VISIBLE current_area | |
ENDWHILE | |
SWITCH_ENTRY_EXIT $entry_exit_name entry_exit_status | |
TERMINATE_THIS_SCRIPT | |
} | |
{ | |
check_player_is_safe: | |
player_is_completely_safe = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF main_visible_area = 0 | |
IF flag_cell_nation = 0 //phone call not in progress | |
IF player_fall_state = 0 //Parachute | |
IF NOT IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
IF NOT IS_BIT_SET iDateReport MEETING_IN_PROGRESS | |
IF NOT IS_MINIGAME_IN_PROGRESS | |
IF CAN_PLAYER_START_MISSION player1 | |
player_is_completely_safe = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
RETURN | |
} | |
{ | |
check_player_is_safe_for_mobile: | |
player_is_completely_safe_for_mobile = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF main_visible_area = 0 | |
IF flag_cell_nation = 0 //phone call not in progress | |
IF player_fall_state = 0 //Parachute | |
IF NOT IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
IF NOT IS_BIT_SET iDateReport MEETING_IN_PROGRESS | |
IF NOT IS_MINIGAME_IN_PROGRESS | |
IF CAN_PLAYER_START_MISSION player1 | |
IF IS_CHAR_ON_FOOT scplayer | |
IF NOT IS_GANG_WAR_FIGHTING_GOING_ON | |
IF NOT IS_WANTED_LEVEL_GREATER player1 0 | |
GET_GAME_TIMER timer_mobile_now | |
timer_mobile_diff = timer_mobile_now - timer_mobile_start | |
player_is_completely_safe_for_mobile = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
RETURN | |
} | |
{ | |
open_the_map: | |
SCRIPT_NAME OPENUP | |
open_the_map_inner: | |
WAIT 2000 | |
IF Return_cities_passed > 0 | |
IF opened_badlands_up = 0 | |
//BADLANDS | |
GOSUB remove_prop_blips1 | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[8] propertyY[8] propertyZ[8] save_houseprice[8] PROP_3 save_housepickup[8] //Small town suburban house with lawn and porch | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[8] propertyY[8] propertyZ[8] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[8] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[8] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[19] propertyY[19] propertyZ[19] save_houseprice[19] PROP_3 save_housepickup[19] //Farm | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[19] propertyY[19] propertyZ[19] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[19] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[19] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[22] propertyY[22] propertyZ[22] save_houseprice[22] PROP_3 save_housepickup[22] //just off main Angel Pine town, behind Sawmill | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[22] propertyY[22] propertyZ[22] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[22] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[22] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[25] propertyY[25] propertyZ[25] save_houseprice[25] PROP_3 save_housepickup[25] //Las Barrancas (southern town) | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[25] propertyY[25] propertyZ[25] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[25] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[25] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[31] propertyY[31] propertyZ[31] save_houseprice[31] PROP_3 save_housepickup[31] //North Badlands | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[31] propertyY[31] propertyZ[31] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[31] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[31] BLIP_ONLY | |
opened_badlands_up = 1 | |
ENDIF | |
ENDIF | |
IF Return_cities_passed > 0 | |
IF flag_truth_mission_counter > 1 | |
OR launch_shit_for_debug_build = 1 //TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
IF opened_sanfran_up = 0 | |
//SAN FRAN | |
GOSUB remove_prop_blips2 | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[11] propertyY[11] propertyZ[11] save_houseprice[11] PROP_3 save_housepickup[11] //big swanky SF savehouse at the top of lombard street | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[11] propertyY[11] propertyZ[11] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[11] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[11] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[13] propertyY[13] propertyZ[13] save_houseprice[13] PROP_3 save_housepickup[13] //small flat near hospital | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[13] propertyY[13] propertyZ[13] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[13] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[13] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[14] propertyY[14] propertyZ[14] save_houseprice[14] PROP_3 save_housepickup[14] //large garage in alley behind apartments in Hashbury | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[14] propertyY[14] propertyZ[14] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[14] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[14] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[18] propertyY[18] propertyZ[18] save_houseprice[18] PROP_3 save_housepickup[18] //small chinatown pad | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[18] propertyY[18] propertyZ[18] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[18] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[18] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[20] propertyY[20] propertyZ[20] save_houseprice[20] PROP_3 save_housepickup[20] //large pad next to driving school | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[20] propertyY[20] propertyZ[20] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[20] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[20] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[21] propertyY[21] propertyZ[21] save_houseprice[21] PROP_3 save_housepickup[21] //Vank Hoff In The Park Hotel Room | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[21] propertyY[21] propertyZ[21] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[21] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[21] BLIP_ONLY | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 1458.7, -1140.0, 24.2 RADAR_SPRITE_TSHIRT clothes_blips[0] //CLOTHGP //SAN FRAN | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1886.1, 862.4, 35.2 RADAR_SPRITE_TSHIRT clothes_blips[1] //CLOTHGP //SAN FRAN | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2574.3, 1901.7, 11.0 RADAR_SPRITE_TSHIRT clothes_blips[2] //CLOTHGP //SAN FRAN | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2090.5, 2221.0, 11.0 RADAR_SPRITE_TSHIRT clothes_blips[3] //CLOTHGP //SAN FRAN | |
SWITCH_ENTRY_EXIT clothgp TRUE //ZIP //SAN FRAN | |
opened_sanfran_up = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF Return_cities_passed > 1 | |
IF opened_desert_up = 0 | |
//DESERT | |
GOSUB remove_prop_blips3 | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[5] propertyY[5] propertyZ[5] save_houseprice[5] PROP_3 save_housepickup[5] //Fort Carson old house savehouse near river BADLANDS | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[5] propertyY[5] propertyZ[5] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[5] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[5] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[23] propertyY[23] propertyZ[23] save_houseprice[23] PROP_3 save_housepickup[23] //In El Quebrados (most northerly town) | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[23] propertyY[23] propertyZ[23] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[23] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[23] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[24] propertyY[24] propertyZ[24] save_houseprice[24] PROP_3 save_housepickup[24] //Las Barrancas (southern town) | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[24] propertyY[24] propertyZ[24] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[24] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[24] BLIP_ONLY | |
opened_desert_up = 1 | |
ENDIF | |
ENDIF | |
IF Return_cities_passed > 1 | |
IF flag_mob_sanfran[8] = 1 | |
OR launch_shit_for_debug_build = 1 //TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
IF opened_vegas_up = 0 | |
//VEGAS | |
GOSUB remove_prop_blips4 | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[4] propertyY[4] propertyZ[4] save_houseprice[4] PROP_3 save_housepickup[4] //Shabbyhouse in Vegas East | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[4] propertyY[4] propertyZ[4] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[4] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[4] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[6] propertyY[6] propertyZ[6] save_houseprice[6] PROP_3 save_housepickup[6] //Medium house in nice suburb of Venturas | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[6] propertyY[6] propertyZ[6] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[6] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[6] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[7] propertyY[7] propertyZ[7] save_houseprice[7] PROP_3 save_housepickup[7] //shabby house in rundown residential area | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[7] propertyY[7] propertyZ[7] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[7] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[7] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[9] propertyY[9] propertyZ[9] save_houseprice[9] PROP_3 save_housepickup[9] //shabby house in rundown residential area | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[9] propertyY[9] propertyZ[9] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[9] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[9] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[16] propertyY[16] propertyZ[16] save_houseprice[16] PROP_3 save_housepickup[16] //Pirates In Men’s Pants Casino | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[16] propertyY[16] propertyZ[16] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[16] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[16] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[17] propertyY[17] propertyZ[17] save_houseprice[17] PROP_3 save_housepickup[17] //The Camels Toe Casino | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[17] propertyY[17] propertyZ[17] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[17] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[17] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[27] propertyY[27] propertyZ[27] save_houseprice[27] PROP_3 save_housepickup[27] //CASINO | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[27] propertyY[27] propertyZ[27] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[27] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[27] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[28] propertyY[28] propertyZ[28] save_houseprice[28] PROP_3 save_housepickup[28] //Casino | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[28] propertyY[28] propertyZ[28] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[28] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[28] BLIP_ONLY | |
CREATE_FORSALE_PROPERTY_PICKUP propertyX[29] propertyY[29] propertyZ[29] save_houseprice[29] PROP_3 save_housepickup[29] //Vegas house | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[29] propertyY[29] propertyZ[29] RADAR_SPRITE_PROPERTY_GREEN prop_save_house_blip[29] | |
CHANGE_BLIP_DISPLAY prop_save_house_blip[29] BLIP_ONLY | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 457.2, -1500.7, 31.3 RADAR_SPRITE_TSHIRT clothes_blips[11] //CSDESGN //VEGAS | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2795.2, 2424.6, 11.0 RADAR_SPRITE_TSHIRT clothes_blips[12] //CSDESGN //VEGAS | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1692.9, 952.8, 26.3 RADAR_SPRITE_TSHIRT clothes_blips[15] //CSDESGN //SAN FRAN | |
SWITCH_ENTRY_EXIT csdesgn TRUE //VICTIM //VEGAS | |
opened_vegas_up = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF Return_cities_passed > 2 | |
IF opened_la2_up = 0 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 451.9, -1480.0, 30.9 RADAR_SPRITE_TSHIRT clothes_blips[13] //CSEXL //LA2 | |
SWITCH_ENTRY_EXIT csexl TRUE //DIDIERSACHS //LA2 | |
TERMINATE_THIS_SCRIPT | |
opened_la2_up = 1 | |
ENDIF | |
ENDIF | |
GOTO open_the_map_inner | |
} | |
remove_prop_blips1: | |
REMOVE_BLIP prop_save_house_blip[8] | |
REMOVE_BLIP prop_save_house_blip[19] | |
REMOVE_BLIP prop_save_house_blip[22] | |
REMOVE_BLIP prop_save_house_blip[25] | |
REMOVE_BLIP prop_save_house_blip[31] | |
REMOVE_PICKUP save_housepickup[8] | |
REMOVE_PICKUP save_housepickup[19] | |
REMOVE_PICKUP save_housepickup[22] | |
REMOVE_PICKUP save_housepickup[25] | |
REMOVE_PICKUP save_housepickup[31] | |
RETURN | |
remove_prop_blips2: | |
REMOVE_BLIP prop_save_house_blip[11] | |
REMOVE_BLIP prop_save_house_blip[13] | |
REMOVE_BLIP prop_save_house_blip[14] | |
REMOVE_BLIP prop_save_house_blip[18] | |
REMOVE_BLIP prop_save_house_blip[20] | |
REMOVE_BLIP prop_save_house_blip[21] | |
REMOVE_PICKUP save_housepickup[11] | |
REMOVE_PICKUP save_housepickup[13] | |
REMOVE_PICKUP save_housepickup[14] | |
REMOVE_PICKUP save_housepickup[18] | |
REMOVE_PICKUP save_housepickup[20] | |
REMOVE_PICKUP save_housepickup[21] | |
RETURN | |
remove_prop_blips3: | |
REMOVE_BLIP prop_save_house_blip[5] | |
REMOVE_BLIP prop_save_house_blip[23] | |
REMOVE_BLIP prop_save_house_blip[24] | |
REMOVE_PICKUP save_housepickup[5] | |
REMOVE_PICKUP save_housepickup[23] | |
REMOVE_PICKUP save_housepickup[24] | |
RETURN | |
remove_prop_blips4: | |
REMOVE_BLIP prop_save_house_blip[4] | |
REMOVE_BLIP prop_save_house_blip[6] | |
REMOVE_BLIP prop_save_house_blip[7] | |
REMOVE_BLIP prop_save_house_blip[9] | |
REMOVE_BLIP prop_save_house_blip[16] | |
REMOVE_BLIP prop_save_house_blip[17] | |
REMOVE_BLIP prop_save_house_blip[27] | |
REMOVE_BLIP prop_save_house_blip[28] | |
REMOVE_BLIP prop_save_house_blip[29] | |
REMOVE_PICKUP save_housepickup[4] | |
REMOVE_PICKUP save_housepickup[6] | |
REMOVE_PICKUP save_housepickup[7] | |
REMOVE_PICKUP save_housepickup[9] | |
REMOVE_PICKUP save_housepickup[16] | |
REMOVE_PICKUP save_housepickup[17] | |
REMOVE_PICKUP save_housepickup[27] | |
REMOVE_PICKUP save_housepickup[28] | |
REMOVE_PICKUP save_housepickup[29] | |
RETURN | |
little_casino_cut: | |
{ | |
SCRIPT_NAME LITCAS | |
little_casino_cut_inner: | |
WAIT 100 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer 1941.1461 997.5668 20.0 100.0 100.0 20.0 FALSE | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
SWITCH_WIDESCREEN ON | |
SET_PLAYER_CONTROL player1 OFF | |
ENDIF | |
LOAD_SCENE 2039.7322 1006.7711 14.7353 | |
SET_FIXED_CAMERA_POSITION 2040.7255 1006.7479 14.8482 0.0 0.0 0.0 //shot of Casino | |
POINT_CAMERA_AT_POINT 2039.7322 1006.7711 14.7353 JUMP_CUT | |
DO_FADE 500 FADE_IN | |
CLEAR_PRINTS | |
PRINT_NOW WUZ_HLP 5000 1 //walk into the casino | |
WAIT 5000 | |
GOSUB mini_fade | |
IF IS_PLAYER_PLAYING player1 | |
SET_CAMERA_BEHIND_PLAYER | |
SWITCH_WIDESCREEN OFF | |
SET_PLAYER_CONTROL player1 ON | |
RESTORE_CAMERA_JUMPCUT | |
CLEAR_PRINTS | |
ENDIF | |
DO_FADE 500 FADE_IN | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
ENDIF | |
GOTO little_casino_cut_inner | |
} | |
mini_fade: | |
SET_FADING_COLOUR 0 0 0 | |
DO_FADE 500 FADE_OUT | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
RETURN | |
// Since the script draw calls are being aspect corrected for anything that's not 4:3, we need to render | |
// backgrounds that cover the sides of the screen for widescreen back buffers in some cases. | |
DrawAspectCorrectingQuads: | |
DRAW_RECT -320.0 224.0 642.0 448.0 0 0 0 255 | |
DRAW_RECT 960.0 224.0 642.0 448.0 0 0 0 255 | |
RETURN | |
// This subroutine collects abstracted directional input. | |
CONST_INT INPUT_NEUTRAL 0 // Constants I'm initializing here. | |
CONST_INT INPUT_UP 1 | |
CONST_INT INPUT_DOWN 2 | |
CONST_INT INPUT_LEFT 3 | |
CONST_INT INPUT_RIGHT 4 | |
VAR_INT nLeftStickX nLeftStickY nRightStickX nRightStickY | |
VAR_FLOAT fWidgetCellX, fWidgetCellY | |
VAR_INT INPUT INPUT_ANALOG_LEFT_RIGHT INPUT_ANALOG_UP_DOWN | |
CollectAllInput: | |
// Grab stick and widget values. | |
GET_POSITION_OF_ANALOGUE_STICKS PAD1 nLeftStickX nLeftStickY nRightStickX nRightStickY | |
GET_WIDGET_VALUE2 WIDGET_ARCADE_JOYSTICK fWidgetCellX, fWidgetCellY | |
// Initialize abstract variables. | |
INPUT = INPUT_NEUTRAL | |
IF fWidgetCellX = 0.0 | |
INPUT_ANALOG_LEFT_RIGHT = -128 | |
ENDIF | |
IF fWidgetCellX = 1.0 | |
INPUT_ANALOG_LEFT_RIGHT = 0 | |
ENDIF | |
IF fWidgetCellX = 2.0 | |
INPUT_ANALOG_LEFT_RIGHT = 128 | |
ENDIF | |
IF fWidgetCellY = 0.0 | |
INPUT_ANALOG_UP_DOWN = -128 | |
ENDIF | |
IF fWidgetCellY = 1.0 | |
INPUT_ANALOG_UP_DOWN = 0 | |
ENDIF | |
IF fWidgetCellY = 2.0 | |
INPUT_ANALOG_UP_DOWN = 128 | |
ENDIF | |
// Do analysis. | |
IF nLeftStickY < -16 // Analog stick from controller for left, right, up, down. | |
OR nLeftStickY > 16 | |
INPUT_ANALOG_UP_DOWN = nLeftStickY | |
ENDIF | |
IF nLeftStickX < -16 | |
OR nLeftStickX > 16 | |
INPUT_ANALOG_LEFT_RIGHT = nLeftStickX | |
ENDIF | |
IF fWidgetCellY = 0.0 // Up. | |
INPUT = INPUT_UP | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD1 DPADUP | |
INPUT = INPUT_UP | |
INPUT_ANALOG_UP_DOWN = -127 | |
ENDIF | |
IF nLeftStickY < -16 | |
INPUT = INPUT_UP | |
ENDIF | |
IF fWidgetCellY = 2.0 // Down. | |
INPUT = INPUT_DOWN | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD1 DPADDOWN | |
INPUT = INPUT_DOWN | |
INPUT_ANALOG_UP_DOWN = 127 | |
ENDIF | |
IF nLeftStickY > 16 | |
INPUT = INPUT_DOWN | |
ENDIF | |
IF fWidgetCellX = 0.0 // Left | |
INPUT = INPUT_LEFT | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD1 DPADLEFT | |
INPUT = INPUT_LEFT | |
INPUT_ANALOG_LEFT_RIGHT = -127 | |
ENDIF | |
IF nLeftStickX < -16 | |
INPUT = INPUT_LEFT | |
ENDIF | |
IF fWidgetCellX = 2.0 // Right | |
INPUT = INPUT_RIGHT | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD1 DPADRIGHT | |
INPUT = INPUT_RIGHT | |
INPUT_ANALOG_LEFT_RIGHT = 127 | |
ENDIF | |
IF nLeftStickX > 16 | |
INPUT = INPUT_RIGHT | |
ENDIF | |
RETURN | |
EnableArcadeWidgets: | |
IS_WIDGET_RELEASED WIDGET_ARCADE_BUTTON | |
IS_WIDGET_RELEASED WIDGET_ARCADE_JOYSTICK | |
RETURN | |
MISSION_START | |
MISSION_END | |
// ****************************************************************************************** | |
// launch projectile | |
// ****************************************************************************************** | |
{ | |
launch_projectile: | |
SCRIPT_NAME PROJECT | |
// input variables | |
LVAR_INT proj_obj | |
LVAR_FLOAT start_x start_y start_z | |
LVAR_FLOAT target_x target_y target_z | |
LVAR_FLOAT arch_height // above starting or finishing position | |
LVAR_INT missed_shot | |
LVAR_INT this_hoop | |
// flags & workings | |
LVAR_INT flag | |
LVAR_INT start_time | |
CONST_FLOAT gravity_accel 9.8 | |
LVAR_INT this_time | |
LVAR_INT time_since_launch | |
LVAR_FLOAT time_since_launch_f | |
LVAR_INT temp_int | |
LVAR_FLOAT total_travel_time | |
LVAR_FLOAT temp_float temp_float2 temp_float3 | |
LVAR_FLOAT x2 y2 z2 | |
LVAR_FLOAT x3 y3 z3 | |
LVAR_FLOAT travel_vec_x travel_vec_y | |
LVAR_FLOAT vertex_time | |
LVAR_FLOAT a b c | |
// initialise any required variables | |
flag = 0 | |
points_scored = 0 | |
bball_throw_active = 1 | |
//VIEW_INTEGER_VARIABLE points_scored points_scored | |
// fake creates | |
IF flag = -1 | |
CREATE_OBJECT WOODENBOX 0.0 0.0 0.0 proj_obj | |
CREATE_OBJECT WOODENBOX 0.0 0.0 0.0 this_hoop | |
ENDIF | |
projectile_loop: | |
WAIT 0 | |
// calculate launch data | |
IF flag = 0 | |
// alter target slightly for missed shot | |
IF missed_shot = 1 | |
GENERATE_RANDOM_FLOAT_IN_RANGE -0.2 0.2 temp_float | |
target_x += temp_float | |
GENERATE_RANDOM_FLOAT_IN_RANGE -0.2 0.2 temp_float | |
target_y += temp_float | |
ENDIF | |
// adjust the target | |
target_z += 0.1 | |
// make sure input data is valid (height of arch) | |
IF start_z > target_z | |
IF arch_height < 0.0 | |
arch_height = 0.0 | |
ENDIF | |
ELSE | |
temp_float = start_z + arch_height | |
temp_float2 = temp_float - target_z | |
IF temp_float2 < 0.5 // min height | |
temp_float = target_z + 0.5 | |
arch_height = temp_float - start_z | |
ENDIF | |
ENDIF | |
// 1. figure out time this should take (t = sqrt(d/(0.5*a)) | |
// going up | |
temp_float = 0.5 * gravity_accel | |
temp_float2 = arch_height / temp_float | |
//WRITE_DEBUG_WITH_FLOAT dist_to_travel_up arch_height | |
SQRT temp_float2 vertex_time | |
// coming down | |
temp_float = start_z + arch_height | |
temp_float -= target_z // distance to travel | |
//WRITE_DEBUG_WITH_FLOAT dist_to_travel_down temp_float | |
temp_float2 = 0.5 * gravity_accel | |
temp_float3 = temp_float / temp_float2 | |
SQRT temp_float3 temp_float | |
//WRITE_DEBUG_WITH_FLOAT coming_down_time temp_float | |
// total | |
total_travel_time = vertex_time + temp_float | |
// 2. figure out the quadratic equation of the ball path | |
// a | |
temp_float = 0.0 - arch_height | |
temp_float2 = vertex_time * vertex_time | |
a = temp_float / temp_float2 | |
// b | |
temp_float = vertex_time * a | |
b = temp_float * -2.0 | |
// c | |
c = 0.0 | |
//WRITE_DEBUG_WITH_FLOAT a a | |
// 3. get the 2d vector the projectile travels | |
travel_vec_x = target_x - start_x | |
travel_vec_y = target_y - start_y | |
// 4. get initial start time, and set object initial settings | |
GET_GAME_TIMER start_time | |
IF DOES_OBJECT_EXIST proj_obj | |
SET_OBJECT_RECORDS_COLLISIONS proj_obj TRUE | |
SET_OBJECT_COLLISION proj_obj TRUE | |
FREEZE_OBJECT_POSITION proj_obj TRUE | |
ENDIF | |
flag++ | |
ENDIF | |
// position projectile | |
IF flag = 1 | |
IF DOES_OBJECT_EXIST proj_obj | |
IF NOT HAS_OBJECT_COLLIDED_WITH_ANYTHING proj_obj | |
// work out height of ball, based on time elapsed | |
GET_GAME_TIMER this_time | |
time_since_launch = this_time - start_time | |
time_since_launch_f =# time_since_launch | |
time_since_launch_f /= 1000.0 | |
IF time_since_launch_f < total_travel_time | |
// use the quadratic equation to calculate height | |
temp_float = time_since_launch_f * time_since_launch_f | |
temp_float *= a | |
temp_float2 = b * time_since_launch_f | |
z = temp_float + temp_float2 | |
z += c | |
// work out how far along the travel vector the object has gone | |
temp_float = time_since_launch_f / total_travel_time | |
x = travel_vec_x * temp_float | |
y = travel_vec_y * temp_float | |
// work out objects new position | |
x2 = start_x + x | |
y2 = start_y + y | |
z2 = start_z + z | |
SET_OBJECT_COORDINATES_AND_VELOCITY proj_obj x2 y2 z2 | |
ELSE | |
SET_OBJECT_COORDINATES_AND_VELOCITY proj_obj target_x target_y target_z | |
flag++ | |
ENDIF | |
ELSE | |
//WRITE_DEBUG hit_something | |
GOSUB bbthrow_get_random_velocity | |
FREEZE_OBJECT_POSITION proj_obj FALSE | |
SET_OBJECT_DYNAMIC proj_obj TRUE | |
SET_OBJECT_COLLISION proj_obj TRUE | |
SET_OBJECT_VELOCITY proj_obj x3 y3 z3 | |
IF NOT IS_MESSAGE_BEING_DISPLAYED | |
PRINT_NOW BB_06 4000 1 // missed shot | |
ENDIF | |
flag = 99 | |
ENDIF | |
ENDIF | |
ENDIF | |
// hit bbhoop or netted. | |
IF flag = 2 | |
IF missed_shot = 1 | |
IF DOES_OBJECT_EXIST this_hoop | |
GET_OBJECT_MODEL this_hoop temp_int | |
IF HAS_MODEL_LOADED temp_int | |
GOSUB bbthrow_get_random_velocity | |
// GET_OBJECT_COORDINATES this_hoop x y z | |
// | |
// GENERATE_RANDOM_FLOAT_IN_RANGE -1.0 1.0 temp_float | |
// GENERATE_RANDOM_FLOAT_IN_RANGE 0.2 1.0 temp_float2 | |
// GENERATE_RANDOM_FLOAT_IN_RANGE 1.0 2.0 temp_float3 | |
// GET_OFFSET_FROM_OBJECT_IN_WORLD_COORDS this_hoop temp_float temp_float2 temp_float3 x2 y2 z2 | |
// x3 = x2 - x | |
// y3 = y2 - y | |
// z3 = z2 - z | |
// | |
// GET_DISTANCE_BETWEEN_COORDS_3D x y z x2 y2 z2 temp_float | |
// x3 /= temp_float | |
// y3 /= temp_float | |
// z3 /= temp_float | |
// | |
// // give random speed | |
// GENERATE_RANDOM_FLOAT_IN_RANGE 5.0 8.0 temp_float | |
// | |
// x3 *= temp_float | |
// y3 *= temp_float | |
// z3 *= temp_float | |
FREEZE_OBJECT_POSITION proj_obj FALSE | |
SET_OBJECT_DYNAMIC proj_obj TRUE | |
SET_OBJECT_COLLISION proj_obj TRUE | |
SET_OBJECT_VELOCITY proj_obj x3 y3 z3 | |
IF NOT IS_MESSAGE_BEING_DISPLAYED | |
PRINT_NOW BB_06 4000 1 // missed shot | |
ENDIF | |
ENDIF | |
ENDIF | |
// play sound hitting off ring | |
REPORT_MISSION_AUDIO_EVENT_AT_OBJECT proj_obj SOUND_BASKETBALL_HIT_HOOP | |
points_scored = -1 | |
flag = 99 | |
ELSE | |
target_z += -0.5 | |
IF bball_shot_dist < 6 | |
IF NOT IS_MESSAGE_BEING_DISPLAYED | |
PRINT_WITH_2_NUMBERS_NOW BB_05 bball_shot_dist bball_shot_dist_decimal 5000 1 | |
ENDIF | |
points_scored = 1 | |
ELSE | |
IF NOT IS_MESSAGE_BEING_DISPLAYED | |
PRINT_WITH_2_NUMBERS_NOW BB_04 bball_shot_dist bball_shot_dist_decimal 5000 1 | |
ENDIF | |
points_scored = 2 | |
ENDIF | |
temp_float =# bball_shot_dist | |
temp_float2 =# bball_shot_dist_decimal | |
temp_float2 *= 0.1 | |
temp_float += temp_float2 | |
IF NOT ARE_MEASUREMENTS_IN_METRES | |
CONVERT_METRES_TO_FEET temp_float temp_float | |
ENDIF | |
REGISTER_FLOAT_STAT LONGEST_BASKETBALL temp_float | |
flag++ | |
ENDIF | |
ENDIF | |
// go in | |
IF flag = 3 | |
GET_OBJECT_COORDINATES proj_obj x y z | |
GET_DISTANCE_BETWEEN_COORDS_3D x y z target_x target_y target_z temp_float | |
// play sound going in | |
REPORT_MISSION_AUDIO_EVENT_AT_OBJECT proj_obj SOUND_BASKETBALL_SCORE | |
IF temp_float < 0.1 | |
FREEZE_OBJECT_POSITION proj_obj FALSE | |
SET_OBJECT_COLLISION proj_obj TRUE | |
SET_OBJECT_DYNAMIC proj_obj TRUE | |
SET_OBJECT_VELOCITY proj_obj 0.0 0.0 -0.1 | |
flag = 99 | |
ELSE | |
x2 = target_x - x | |
y2 = target_y - y | |
z2 = target_z - z | |
x2 *= 0.3 | |
y2 *= 0.3 | |
z2 *= 0.3 | |
x += x2 | |
y += y2 | |
z += z2 | |
SET_OBJECT_COORDINATES proj_obj x y z | |
ENDIF | |
ENDIF | |
// finish projectile script | |
IF flag = 99 | |
bball_throw_active = 0 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
GOTO projectile_loop | |
bbthrow_get_random_velocity: | |
GET_OBJECT_COORDINATES this_hoop x y z | |
GENERATE_RANDOM_FLOAT_IN_RANGE -1.0 1.0 temp_float | |
GENERATE_RANDOM_FLOAT_IN_RANGE 0.2 1.0 temp_float2 | |
GENERATE_RANDOM_FLOAT_IN_RANGE 1.2 2.2 temp_float3 | |
GET_OFFSET_FROM_OBJECT_IN_WORLD_COORDS this_hoop temp_float temp_float2 temp_float3 x2 y2 z2 | |
x3 = x2 - x | |
y3 = y2 - y | |
z3 = z2 - z | |
GET_DISTANCE_BETWEEN_COORDS_3D x y z x2 y2 z2 temp_float | |
x3 /= temp_float | |
y3 /= temp_float | |
z3 /= temp_float | |
// give random speed | |
//WRITE_DEBUG_WITH_FLOAT total_travel_time total_travel_time | |
//GENERATE_RANDOM_FLOAT_IN_RANGE 5.0 7.0 temp_float | |
temp_float = total_travel_time * 5.0 | |
x3 *= temp_float | |
y3 *= temp_float | |
z3 *= temp_float | |
RETURN | |
} | |
MISSION_START | |
MISSION_END | |
{ | |
bball_challenge_script: | |
SCRIPT_NAME BBCHAL | |
// parameters passed in | |
LVAR_INT bbhoop | |
// blips | |
LVAR_INT location_blip | |
// floats | |
LVAR_FLOAT x2 y2 z2 | |
LVAR_FLOAT x3 y3 z3 | |
LVAR_FLOAT vec_x vec_y vec_z | |
LVAR_FLOAT vec2_x vec2_y vec2_z | |
LVAR_FLOAT location_x location_y location_z | |
LVAR_FLOAT temp_float temp_float2 | |
// ints | |
LVAR_INT m_stage | |
LVAR_INT m_goals | |
LVAR_INT help_flag | |
LVAR_INT temp_int temp_int2 temp_int3 | |
LVAR_INT next_time_to_award | |
LVAR_INT new_high_score | |
//LVAR_INT round | |
LVAR_INT missed_flag | |
LVAR_INT missed_flag2 | |
LVAR_INT time_to_add_on | |
VAR_INT bball_r3_is_pressed | |
m_stage = 0 | |
m_goals = 0 | |
help_flag = 0 | |
bball_challenge_timer = 60500 | |
bball_challenge_score = 0 | |
new_high_score = 0 | |
//round = 0 | |
missed_flag = 0 | |
missed_flag2 = 0 | |
time_to_add_on = 3000 | |
new_marker_distance = 4.0 | |
TIMERA = 0 | |
TIMERB = 0 | |
bball_challenge_active = 1 | |
// fake create | |
IF m_stage = -1 | |
CREATE_OBJECT WOODENBOX 0.0 0.0 0.0 bbhoop | |
ENDIF | |
bball_challenge_loop: | |
WAIT 0 | |
SWITCH m_stage | |
CASE 0 | |
GOSUB bbchal_m_stage_0 | |
BREAK | |
CASE 1 | |
GOSUB bbchal_m_stage_1 | |
BREAK | |
ENDSWITCH | |
IF bball_active = 0 | |
AND bball_throw_active = 0 | |
GOSUB bbchal_cleanup | |
ENDIF | |
GOSUB bbchal_display_help | |
IF bball_is_active = 0 | |
GOSUB bbchal_cleanup | |
ENDIF | |
IF bball_r3_is_pressed = 0 | |
IF IS_BUTTON_PRESSED PAD1 RIGHTSHOCK | |
bball_r3_is_pressed = 1 | |
GOSUB bbchal_cleanup | |
ENDIF | |
ELSE | |
IF NOT IS_BUTTON_PRESSED PAD1 RIGHTSHOCK | |
bball_r3_is_pressed = 0 | |
ENDIF | |
ENDIF | |
GOTO bball_challenge_loop | |
bbchal_display_help: | |
// print help | |
SWITCH help_flag | |
CASE 0 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
AND NOT IS_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP BB_11 // Shoot as many hoops as possible before the time expires. | |
help_flag++ | |
ENDIF | |
BREAK | |
CASE 1 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
AND NOT IS_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP BB_12 // Extra time will be awarded for each shot made | |
help_flag++ | |
ENDIF | |
BREAK | |
CASE 2 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
AND NOT IS_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP BB_10 // Shoot hoops from the ~y~marker~w~ on the court. | |
help_flag++ | |
ENDIF | |
BREAK | |
ENDSWITCH | |
RETURN | |
bbchal_m_stage_0: | |
// print instructions | |
IF m_goals = 0 | |
PRINT_NOW BB_13 5000 1 | |
TIMERA = 0 | |
m_goals++ | |
ENDIF | |
IF m_goals = 1 | |
//IF TIMERA > 5000 | |
m_goals++ | |
//ENDIF | |
ENDIF | |
// create onscreen timers and text | |
IF m_goals = 2 | |
//IF help_flag > 2 | |
DISPLAY_ONSCREEN_TIMER_WITH_STRING bball_challenge_timer TIMER_DOWN BB_19 // time | |
DISPLAY_NTH_ONSCREEN_COUNTER_WITH_STRING bball_challenge_score COUNTER_DISPLAY_NUMBER 1 BB_18 // score | |
DISPLAY_NTH_ONSCREEN_COUNTER_WITH_STRING bball_challenge_high_score COUNTER_DISPLAY_NUMBER 2 BB_14 // high score | |
GOSUB bbchal_get_new_marker | |
ADD_BLIP_FOR_COORD location_x location_y location_z location_blip | |
m_goals++ | |
//ENDIF | |
ENDIF | |
// wait for player to shoot from first marker | |
IF m_goals = 3 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer location_x location_y location_z 1.5 1.5 2.0 TRUE | |
IF bball_throw_active = 1 | |
IF DOES_BLIP_EXIST location_blip | |
REMOVE_BLIP location_blip | |
ENDIF | |
m_goals = 1 | |
m_stage++ | |
ELSE | |
bball_challenge_timer = 60500 | |
ENDIF | |
ELSE | |
bball_challenge_timer = 60500 | |
ENDIF | |
ENDIF | |
ENDIF | |
RETURN | |
bbchal_m_stage_1: | |
//WRITE_DEBUG_WITH_INT m_goals m_goals | |
//WRITE_DEBUG_WITH_INT m_stage m_stage | |
//WRITE_DEBUG_WITH_INT points_scored points_scored | |
IF m_goals = 0 | |
// see if shot went in | |
IF NOT points_scored = 0 | |
IF points_scored > 0 | |
bball_challenge_score += points_scored | |
bball_challenge_timer += next_time_to_award | |
new_marker_distance += 0.5 | |
GOSUB bbchal_get_new_marker | |
IF DOES_BLIP_EXIST location_blip | |
REMOVE_BLIP location_blip | |
ENDIF | |
ADD_BLIP_FOR_COORD location_x location_y location_z location_blip | |
//points_scored = 0 | |
m_goals++ | |
ELSE | |
// missed | |
IF DOES_BLIP_EXIST location_blip | |
REMOVE_BLIP location_blip | |
ENDIF | |
ADD_BLIP_FOR_COORD location_x location_y location_z location_blip | |
IF missed_flag = 0 | |
PRINT_NOW BB_20 5000 1 | |
missed_flag++ | |
ENDIF | |
//points_scored = 0 | |
m_goals++ | |
ENDIF | |
ENDIF | |
ENDIF | |
// wait for player to take shot from location | |
IF m_goals = 1 | |
IF IS_PLAYER_PLAYING player1 | |
LOCATE_CHAR_ON_FOOT_3D scplayer location_x location_y location_z 1.5 1.5 2.0 TRUE | |
ENDIF | |
IF bball_throw_active = 1 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer location_x location_y location_z 1.5 1.5 2.0 TRUE | |
IF DOES_BLIP_EXIST location_blip | |
REMOVE_BLIP location_blip | |
ENDIF | |
//points_scored = 0 | |
m_goals = 0 | |
bball_throw_active = 0 | |
//WRITE_DEBUG true1 | |
ELSE | |
IF missed_flag2 = 0 | |
PRINT_NOW BB_16 5000 1 // take the shot from the marker | |
missed_flag2++ | |
ENDIF | |
bball_throw_active = 0 | |
//WRITE_DEBUG false1 | |
ENDIF | |
ENDIF | |
ELSE | |
missed_flag2 = 0 | |
ENDIF | |
ENDIF | |
// // wait for player to slam dunk | |
// IF m_goals = 2 | |
// IF IS_PLAYER_PLAYING player1 | |
// LOCATE_CHAR_ON_FOOT_3D scplayer location_x location_y location_z 1.5 1.5 2.0 TRUE | |
// ENDIF | |
// IF bball_throw_active = 1 | |
// IF IS_PLAYER_PLAYING player1 | |
// IF LOCATE_CHAR_ON_FOOT_3D scplayer location_x location_y location_z 1.5 1.5 2.0 TRUE | |
// IF DOES_BLIP_EXIST location_blip | |
// REMOVE_BLIP location_blip | |
// ENDIF | |
// m_goals = 0 | |
// ELSE | |
// bball_throw_active = 0 | |
// ENDIF | |
// ENDIF | |
// ENDIF | |
// ENDIF | |
// finishing | |
IF m_goals = 3 | |
IF TIMERA > 5000 | |
GOSUB bbchal_cleanup | |
ENDIF | |
ENDIF | |
// check for new high score | |
IF new_high_score = 0 | |
IF bball_challenge_score > bball_challenge_high_score | |
bball_challenge_high_score = bball_challenge_score | |
//PRINT_NOW BB_15 5000 1 // new high score!! | |
new_high_score++ | |
ENDIF | |
ELSE | |
IF bball_challenge_score > bball_challenge_high_score | |
bball_challenge_high_score = bball_challenge_score | |
ENDIF | |
ENDIF | |
// wait for time to expire | |
IF bball_challenge_timer <= 0 | |
IF m_goals < 3 | |
PRINT_NOW BB_17 5000 1 // time has expired | |
TIMERA = 0 | |
ENDIF | |
m_goals = 3 | |
ENDIF | |
RETURN | |
LVAR_FLOAT new_marker_distance | |
bbchal_get_random_marker: | |
get_random_marker_start: | |
IF DOES_OBJECT_EXIST bbhoop | |
GET_LEVEL_DESIGN_COORDS_FOR_OBJECT bbhoop 2 x2 y2 z2 | |
GET_LEVEL_DESIGN_COORDS_FOR_OBJECT bbhoop 3 x3 y3 z3 | |
GET_LEVEL_DESIGN_COORDS_FOR_OBJECT bbhoop 0 x y z | |
// bring court in a bit | |
SWITCH hoop_direction | |
CASE 1 | |
x2 += -1.5 | |
y2 += 1.5 | |
x3 += 1.5 | |
y3 += -1.5 | |
BREAK | |
CASE 2 | |
x2 += -1.5 | |
y2 += -1.5 | |
x3 += 1.5 | |
y3 += 1.5 | |
BREAK | |
CASE 3 | |
x2 += 1.5 | |
y2 += -1.5 | |
x3 += -1.5 | |
y3 += 1.5 | |
BREAK | |
CASE 4 | |
x2 += 1.5 | |
y2 += 1.5 | |
x3 += -1.5 | |
y3 += -1.5 | |
BREAK | |
ENDSWITCH | |
z2 += 5.0 | |
GET_GROUND_Z_FOR_3D_COORD x2 y2 z2 location_z | |
// get random point | |
IF x2 < x3 | |
GENERATE_RANDOM_FLOAT_IN_RANGE x2 x3 location_x | |
ELSE | |
GENERATE_RANDOM_FLOAT_IN_RANGE x3 x2 location_x | |
ENDIF | |
IF y2 < y3 | |
GENERATE_RANDOM_FLOAT_IN_RANGE y2 y3 location_y | |
ELSE | |
GENERATE_RANDOM_FLOAT_IN_RANGE y2 y3 location_y | |
ENDIF | |
vec_x = location_x - x | |
vec_y = location_y - y | |
GET_DISTANCE_BETWEEN_COORDS_2D x y location_x location_y temp_float | |
vec_x /= temp_float | |
vec_y /= temp_float | |
vec_x *= new_marker_distance | |
vec_y *= new_marker_distance | |
location_x = x + vec_x | |
location_y = y + vec_y | |
// check location isn't outside court | |
IF x2 < x3 | |
IF location_x < x2 | |
location_x = x2 | |
ENDIF | |
IF location_x > x3 | |
location_x = x3 | |
ENDIF | |
ELSE | |
IF location_x > x2 | |
location_x = x2 | |
ENDIF | |
IF location_x < x3 | |
location_x = x3 | |
ENDIF | |
ENDIF | |
IF y2 < y3 | |
IF location_y < y2 | |
location_y = y2 | |
ENDIF | |
IF location_y > y3 | |
location_y = y3 | |
ENDIF | |
ELSE | |
IF location_y > y2 | |
location_y = y2 | |
ENDIF | |
IF location_y < y3 | |
location_y = y3 | |
ENDIF | |
ENDIF | |
ENDIF | |
RETURN | |
bbchal_get_new_marker: | |
GOSUB bbchal_get_random_marker | |
IF DOES_OBJECT_EXIST bbhoop | |
GET_LEVEL_DESIGN_COORDS_FOR_OBJECT bbhoop 0 x y z | |
ENDIF | |
GET_DISTANCE_BETWEEN_COORDS_2D location_x location_y x y distance | |
// store how much time this will be worth 1 sec per meter | |
next_time_to_award =# distance | |
next_time_to_award *= time_to_add_on | |
temp_float =# time_to_add_on | |
temp_float *= 0.1 | |
temp_int =# temp_float | |
temp_int *= -1 | |
time_to_add_on += temp_int | |
IF time_to_add_on < 500 | |
time_to_add_on = 500 | |
ENDIF | |
RETURN | |
bbchal_cleanup: | |
CLEAR_PRINTS | |
IF NOT new_high_score = 0 | |
//PRINT_BIG BB_15 5000 1 // new high score | |
//PRINT_NOW BB_15 5000 1 // new high score!! | |
//~y~NEW HIGH SCORE!!~n~~1~ | |
PRINT_WITH_NUMBER_BIG BB_15 bball_challenge_high_score 5000 1 | |
REGISTER_INT_STAT HIGHEST_SCORE_IN_BASKETBALL_CHALLENGE bball_challenge_high_score | |
PLAY_MISSION_PASSED_TUNE 1 | |
ENDIF | |
IF DOES_BLIP_EXIST location_blip | |
REMOVE_BLIP location_blip | |
ENDIF | |
CLEAR_ONSCREEN_COUNTER bball_challenge_score | |
CLEAR_ONSCREEN_COUNTER bball_challenge_high_score | |
CLEAR_ONSCREEN_TIMER bball_challenge_timer | |
bball_challenge_active = 0 | |
TERMINATE_THIS_SCRIPT | |
RETURN | |
} | |
// [BB_09] | |
// Press the ~h~R3 ~w~button to start the challenge mode. | |
// [BB_10] | |
// Shoot hoops from the ~y~marker~w~ on the court. | |
// [BB_11] | |
// Shoot as many hoops as possible before the time expires. | |
// [BB_12] | |
// Extra time will be awarded for each shot made. | |
// [BB_13] | |
// ~s~Challenge mode started! | |
// [BB_14] | |
// High Score | |
// [BB_15] | |
// ~s~NEW HIGH SCORE!! | |
// [BB_16] | |
// ~s~Shoot from the ~y~marker~s~. | |
// [BB_17] | |
// ~r~Time Expired! | |
// [BB_18] | |
// Score | |
// [BB_19] | |
// Time | |
MISSION_START | |
MISSION_END | |
// GLOBALS | |
VAR_INT lowrider_game_is_active | |
VAR_INT lowrider_pscore | |
VAR_INT lowrider_oscore | |
VAR_INT lowrider_level | |
VAR_INT lowrider_last_level | |
VAR_INT lowrider_opposition_skill | |
VAR_FLOAT wheel_fl wheel_bl wheel_fr wheel_br | |
CONST_INT LOWRIDER_PERFECT_SCORE 50 | |
CONST_INT LOWRIDER_GOOD_SCORE 25 | |
CONST_INT LOWRIDER_OK_SCORE 15 | |
CONST_INT LOWRIDER_BAD_SCORE 0 | |
CONST_INT LOWRIDER_VBAD_SCORE 0 | |
CONST_INT LOWRIDER_PERFECT_TIME 126 | |
CONST_INT LOWRIDER_PERFECT_TIME_NEG -126 | |
CONST_INT LOWRIDER_GOOD_TIME 244 | |
CONST_INT LOWRIDER_GOOD_TIME_NEG -244 | |
CONST_INT LOWRIDER_OK_TIME 344 | |
CONST_INT LOWRIDER_OK_TIME_NEG -344 | |
CONST_INT LOWRIDER_BAD_TIME 450 | |
CONST_INT LOWRIDER_BAD_TIME_NEG -450 | |
CONST_INT LOWRIDER_BEAT_PERFECT 0 | |
CONST_INT LOWRIDER_BEAT_GOOD 1 | |
CONST_INT LOWRIDER_BEAT_ALRIGHT 2 | |
CONST_INT LOWRIDER_BEAT_PAST 3 | |
CONST_INT LOWRIDER_BEAT_FUTURE 4 | |
CONST_INT LOWRIDER_BEAT_WRONG_BUTTON 5 | |
CONST_INT LOWRIDER_BEAT_MISTIMED_BUTTON 6 | |
CONST_INT LOWRIDER_SCORE_LIMIT 999999 | |
CONST_INT LOWRIDER_OVERALL_BAD 0 | |
CONST_INT LOWRIDER_OVERALL_GOOD 1 | |
CONST_INT LOWRIDER_OVERALL_PERFECT 2 | |
CONST_INT LOWRIDER_SCORE_PERFECT_MULTIPLER 10 | |
CONST_INT LOWRIDER_SCORE_TOTAL_BEATS_TO_REPORT 4 | |
VAR_INT lowr_perfect_beat_counter | |
VAR_INT lowr_good_beat_counter | |
VAR_INT lowr_bad_beat_counter | |
VAR_INT lowr_overall_state | |
{ | |
lowrider_game: | |
SCRIPT_NAME LOWGAME | |
// input parameters | |
LVAR_INT pcar | |
LVAR_INT ocar | |
LVAR_INT bounce_girl | |
// workings | |
LVAR_FLOAT pcar_x pcar_y pcar_z | |
LVAR_FLOAT ocar_x ocar_y ocar_z | |
LVAR_FLOAT vec_x vec_y vec_z | |
LVAR_FLOAT force_multiplier | |
LVAR_INT flag | |
LVAR_INT temp_seq | |
LVAR_INT lowrider_sequence | |
LVAR_INT car_got_roof | |
LVAR_INT temp_int | |
LVAR_INT player_stick_position | |
LVAR_INT last_stick_position | |
LVAR_INT beat_time beat_type beat_num | |
LVAR_INT beat_fuckup | |
LVAR_INT cumulative_score | |
LVAR_INT last_scored_beat | |
LVAR_FLOAT temp_float | |
LVAR_INT last_opp_scored_beat | |
VAR_INT old_beat_num | |
LVAR_INT last_print | |
LVAR_INT consecutive_goods | |
LVAR_INT consecutive_bads | |
// set initial flags | |
force_multiplier = 0.01 | |
lowrider_level = 0 | |
flag = 0 | |
car_got_roof = 0 | |
lowrider_pscore = 0 | |
lowrider_oscore = 0 | |
player_stick_position = 0 | |
beat_fuckup = 0 | |
cumulative_score = 0 | |
last_scored_beat = -1 | |
last_opp_scored_beat = 0 | |
last_stick_position = 0 | |
old_beat_num = -1 | |
// fake creates | |
IF flag = -1 | |
CREATE_CAR PONY 0.0 0.0 0.0 pcar | |
CREATE_CAR PONY 0.0 0.0 0.0 ocar | |
CREATE_CHAR PEDTYPE_CIVMALE MALE01 0.0 0.0 0.0 bounce_girl | |
WAIT 0 | |
WAIT 0 | |
WAIT 0 | |
ENDIF | |
// check input is valid | |
IF DOES_VEHICLE_EXIST pcar | |
IF IS_CAR_DEAD pcar | |
GOTO terminate_lowrider_game | |
ENDIF | |
ELSE | |
GOTO terminate_lowrider_game | |
ENDIF | |
IF DOES_VEHICLE_EXIST ocar | |
IF IS_CAR_DEAD ocar | |
GOTO terminate_lowrider_game | |
ENDIF | |
ELSE | |
GOTO terminate_lowrider_game | |
ENDIF | |
IF lowrider_opposition_skill < 1 | |
lowrider_opposition_skill = 1 | |
ELSE | |
IF lowrider_opposition_skill > 5 | |
lowrider_opposition_skill = 5 | |
ENDIF | |
ENDIF | |
// get initial values | |
IF NOT IS_CAR_DEAD pcar | |
GET_CAR_COORDINATES pcar pcar_x pcar_y pcar_z | |
ENDIF | |
IF NOT IS_CAR_DEAD ocar | |
GET_CAR_COORDINATES ocar ocar_x ocar_y ocar_z | |
ENDIF | |
lowrider_game_is_active = 1 | |
lowrider_game_loop: | |
WAIT 0 | |
// this is to fix the bug if player dies from starvation while on mini game | |
IF flag < 5 | |
IF NOT DOES_VEHICLE_EXIST pcar | |
bd_terminate_script = 1 | |
flag = 5 | |
ENDIF | |
ENDIF | |
SWITCH flag | |
// initialise | |
CASE 0 | |
SET_CAR_DENSITY_MULTIPLIER 0.0 | |
SET_PED_DENSITY_MULTIPLIER 0.0 | |
CLEAR_AREA pcar_x pcar_y pcar_z 200.0 TRUE | |
// load anims | |
REQUEST_ANIMATION LOWRIDER | |
WHILE NOT HAS_ANIMATION_LOADED LOWRIDER | |
WAIT 0 | |
ENDWHILE | |
// setup girl in car | |
IF NOT IS_CAR_DEAD pcar | |
LOCK_CAR_DOORS pcar CARLOCK_LOCKED_PLAYER_INSIDE | |
APPLY_BRAKES_TO_PLAYERS_CAR player1 ON | |
SET_CAR_PROOFS pcar TRUE TRUE TRUE TRUE TRUE | |
// default offsets | |
x = 0.6200 | |
y = 0.3100 | |
z = -0.1670 | |
ENDIF | |
// give girl initial sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_idleloop LOWRIDER 4.0 FALSE FALSE FALSE FALSE -1 | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_idleloop LOWRIDER 4.0 FALSE FALSE FALSE FALSE -1 | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_idleloop LOWRIDER 4.0 FALSE FALSE FALSE FALSE -1 | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_idleloop LOWRIDER 4.0 FALSE FALSE FALSE FALSE -1 | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_hurry LOWRIDER 4.0 FALSE FALSE FALSE FALSE -1 | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_hair LOWRIDER 4.0 FALSE FALSE FALSE FALSE -1 | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_idleloop LOWRIDER 4.0 FALSE FALSE FALSE FALSE -1 | |
SET_SEQUENCE_TO_REPEAT lowrider_sequence 1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
IF NOT IS_CHAR_DEAD bounce_girl | |
IF IS_CHAR_ATTACHED_TO_ANY_CAR bounce_girl | |
PERFORM_SEQUENCE_TASK bounce_girl lowrider_sequence | |
ENDIF | |
ENDIF | |
// check if car has roof | |
car_got_roof = 0 | |
IF NOT IS_CAR_DEAD pcar | |
IF IS_CAR_MODEL pcar REMINGTN | |
OR IS_CAR_MODEL pcar SLAMVAN | |
OR IS_CAR_MODEL pcar TORNADO | |
car_got_roof = 1 | |
ELSE | |
IF IS_CAR_MODEL pcar BLADE | |
OR IS_CAR_MODEL pcar BROADWAY | |
OR IS_CAR_MODEL pcar SAVANNA | |
GET_CURRENT_CAR_MOD pcar VEHICLE_UPGRADE_ROOF temp_int | |
IF NOT temp_int = -1 | |
car_got_roof = 1 | |
ENDIF | |
ELSE | |
car_got_roof = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF NOT IS_CHAR_DEAD bounce_girl | |
IF NOT IS_CHAR_ATTACHED_TO_ANY_CAR bounce_girl | |
car_got_roof = 1 | |
ENDIF | |
ENDIF | |
// initialise all the scores | |
lowr_perfect_beat_counter = 0 | |
lowr_good_beat_counter = 0 | |
lowr_bad_beat_counter = 0 | |
lowrider_pscore = 0 | |
lowr_overall_state = 0 | |
lowrider_oscore = 0 | |
flag++ | |
BREAK | |
// wait to make sure track is playing | |
CASE 1 | |
GET_BEAT_TRACK_STATUS temp_int | |
IF temp_int = CUTSCENE_TRACK_PLAYING | |
//DISPLAY_NTH_ONSCREEN_COUNTER_WITH_STRING lowrider_pscore COUNTER_DISPLAY_NUMBER 1 LOWR1 | |
//DISPLAY_NTH_ONSCREEN_COUNTER_WITH_STRING lowrider_oscore COUNTER_DISPLAY_NUMBER 2 LOWR2 | |
flag++ | |
TIMERA = 0 | |
ENDIF | |
BREAK | |
// game is playing - update scores and bounce girl | |
CASE 2 | |
GET_BEAT_TRACK_STATUS temp_int | |
IF IS_PS2_KEYBOARD_KEY_JUST_PRESSED PS2_KEY_SPACE | |
TIMERA = 90000 | |
ENDIF | |
GET_BEAT_PROXIMITY -1 beat_time beat_type beat_num | |
IF NOT beat_type = 33 | |
LVAR_FLOAT fTempVal | |
fTempVal = 0.0 | |
fTempVal =# lowrider_pscore | |
SET_WIDGET_INFO WIDGET_PLAYER_SCORE 1 0 0 1 1 fTempVal LOWR1 | |
fTempVal =# lowrider_oscore | |
SET_WIDGET_INFO WIDGET_OPPOSITION_SCORE 1 0 0 1 1 fTempVal LOWR2 | |
FORCE_BIG_MESSAGE_AND_COUNTER TRUE | |
/// ------------- FIGURE HOW GOOD THIS ATTEMPT WAS ----------------------------------- | |
GET_BEAT_PROXIMITY 0 beat_time beat_type beat_num | |
//WRITE_DEBUG_WITH_INT beat_num beat_num | |
// scoring system --------------------------------------- | |
GOSUB LOWR_get_stick_position | |
IF NOT beat_type = SPRITE_STKUR | |
AND NOT beat_type = SPRITE_STKDL | |
AND NOT beat_type = SPRITE_STKUL | |
AND NOT beat_type = SPRITE_STKDR | |
IF NOT beat_num = last_scored_beat | |
stored_beat = -1 | |
// if player has moved stick | |
IF NOT player_stick_position = 0 | |
// player hits beat spot on (zone 1) | |
IF beat_time > LOWRIDER_PERFECT_TIME_NEG | |
AND beat_time < LOWRIDER_PERFECT_TIME | |
// player has hit the right beat | |
IF player_stick_position = beat_type | |
stored_beat = LOWRIDER_BEAT_PERFECT | |
ELSE | |
// player hits wrong beat | |
beat_fuckup = 1 | |
stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
ENDIF | |
ELSE | |
// player hits beat medium zone (zone 2) | |
IF beat_time > LOWRIDER_GOOD_TIME_NEG | |
AND beat_time < LOWRIDER_GOOD_TIME | |
// player has hit the right beat | |
IF player_stick_position = beat_type | |
stored_beat = LOWRIDER_BEAT_GOOD | |
ELSE | |
// player hits wrong beat | |
beat_fuckup = 1 | |
stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
ENDIF | |
ELSE | |
// player hits beat in easy zone (zone 3) | |
IF beat_time > LOWRIDER_OK_TIME_NEG | |
AND beat_time < LOWRIDER_OK_TIME | |
// player has hit the right beat | |
IF player_stick_position = beat_type | |
stored_beat = LOWRIDER_BEAT_ALRIGHT | |
ELSE | |
// player hits wrong beat | |
beat_fuckup = 1 | |
stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
ENDIF | |
ELSE | |
// player has missed beat | |
IF beat_time > LOWRIDER_BAD_TIME_NEG | |
OR beat_time < LOWRIDER_BAD_TIME | |
IF player_stick_position = beat_type | |
beat_fuckup = 1 | |
IF beat_time < 0 | |
stored_beat = LOWRIDER_BEAT_PAST | |
ELSE | |
stored_beat = LOWRIDER_BEAT_FUTURE | |
ENDIF | |
ELSE | |
beat_fuckup = 1 | |
stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
BD_RenderHit = 0 | |
IF stored_beat = LOWRIDER_BEAT_PERFECT | |
BD_RenderHit = BD_HIT_PERFECT | |
consecutive_goods++ | |
ELSE | |
IF stored_beat = LOWRIDER_BEAT_GOOD | |
BD_RenderHit = BD_HIT_GOOD | |
consecutive_goods++ | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
consecutive_bads++ | |
ELSE | |
BD_RenderHit = BD_HIT_STANDARD | |
consecutive_bads++ | |
ENDIF | |
ENDIF | |
ELSE | |
IF beat_time < LOWRIDER_BAD_TIME_NEG | |
beat_fuckup = 1 | |
stored_beat = LOWRIDER_BEAT_PAST | |
consecutive_bads++ | |
ENDIF | |
ENDIF | |
IF NOT stored_beat = -1 | |
GOSUB LOWR_Update_Overall_Report | |
GOSUB LOWR_update_score_and_stats | |
//GOSUB LOWR_Print_Input_Feedback | |
last_scored_beat = beat_num | |
ENDIF | |
ENDIF | |
ENDIF | |
// make sure players score can't fall below zero | |
IF lowrider_pscore < 0 | |
lowrider_pscore = 0 | |
ENDIF | |
// make sure cars don't roll over -------------------------- | |
IF NOT IS_CAR_DEAD pcar | |
IF NOT LOCATE_CAR_2D pcar pcar_x pcar_y 3.0 3.0 FALSE | |
GET_CAR_COORDINATES pcar x y z | |
vec_x = pcar_x - x | |
vec_y = pcar_y - y | |
vec_x *= force_multiplier | |
vec_y *= force_multiplier | |
APPLY_FORCE_TO_CAR pcar vec_x vec_y 0.0 0.0 0.0 0.0 | |
ENDIF | |
ENDIF | |
IF NOT IS_CAR_DEAD ocar | |
IF NOT LOCATE_CAR_2D ocar ocar_x ocar_y 3.0 3.0 FALSE | |
GET_CAR_COORDINATES ocar x y z | |
vec_x = ocar_x - x | |
vec_y = ocar_y - y | |
vec_x *= force_multiplier | |
vec_y *= force_multiplier | |
APPLY_FORCE_TO_CAR ocar vec_x vec_y 0.0 0.0 0.0 0.0 | |
ENDIF | |
ENDIF | |
// make opposition car bounce to the music ------------------- | |
IF beat_time < 100 | |
AND beat_time > -100 | |
IF beat_type = 9 | |
wheel_fl = 1.0 | |
wheel_bl = 1.0 | |
wheel_fr = 0.0 | |
wheel_br = 0.0 | |
ENDIF | |
IF beat_type = 10 | |
wheel_fl = 0.0 | |
wheel_bl = 0.0 | |
wheel_fr = 1.0 | |
wheel_br = 1.0 | |
ENDIF | |
IF beat_type = 11 | |
wheel_fl = 0.0 | |
wheel_bl = 0.0 | |
wheel_fr = 1.0 | |
wheel_br = 0.0 | |
ENDIF | |
IF beat_type = 12 | |
wheel_fl = 0.0 | |
wheel_bl = 1.0 | |
wheel_fr = 0.0 | |
wheel_br = 0.0 | |
ENDIF | |
IF beat_type = 13 | |
wheel_fl = 1.0 | |
wheel_bl = 0.0 | |
wheel_fr = 1.0 | |
wheel_br = 0.0 | |
ENDIF | |
IF beat_type = 14 | |
wheel_fl = 0.0 | |
wheel_bl = 1.0 | |
wheel_fr = 0.0 | |
wheel_br = 1.0 | |
ENDIF | |
IF beat_type = 15 | |
wheel_fl = 1.0 | |
wheel_bl = 0.0 | |
wheel_fr = 0.0 | |
wheel_br = 0.0 | |
ENDIF | |
IF beat_type = 16 | |
wheel_fl = 0.0 | |
wheel_bl = 0.0 | |
wheel_fr = 0.0 | |
wheel_br = 1.0 | |
ENDIF | |
// give opposition score depending on their skill | |
IF NOT beat_num = last_opp_scored_beat | |
GOSUB update_lowrider_opposition_score | |
last_opp_scored_beat = beat_num | |
ENDIF | |
ELSE | |
wheel_fl = 0.0 | |
wheel_bl = 0.0 | |
wheel_fr = 0.0 | |
wheel_br = 0.0 | |
ENDIF | |
// control ocar hydraulics | |
IF NOT IS_CAR_DEAD ocar | |
IF DOES_CAR_HAVE_HYDRAULICS ocar | |
CONTROL_CAR_HYDRAULICS ocar wheel_fl wheel_bl wheel_fr wheel_br | |
ENDIF | |
ENDIF | |
// BOUNCING GIRL =============================================================== | |
IF car_got_roof = 0 | |
// control the level of the bounce girl -------------------- | |
// once passed level -1 never go back | |
IF lowrider_level = -1 | |
IF NOT player_stick_position = 0 | |
lowrider_level = 0 | |
ENDIF | |
ENDIF | |
// once passed level 0 never go back | |
IF lowrider_level = 0 | |
IF consecutive_goods > 5 | |
lowrider_level++ | |
consecutive_goods = 0 | |
ENDIF | |
ENDIF | |
IF lowrider_level = 1 | |
IF consecutive_goods > 5 | |
lowrider_level++ | |
consecutive_goods = 0 | |
consecutive_bads = 0 | |
ENDIF | |
ENDIF | |
IF lowrider_level = 2 | |
IF consecutive_goods > 5 | |
lowrider_level++ | |
consecutive_goods = 0 | |
consecutive_bads = 0 | |
ENDIF | |
IF consecutive_bads > 1 | |
lowrider_level-- | |
consecutive_bads = 0 | |
ENDIF | |
ENDIF | |
IF lowrider_level = 3 | |
IF consecutive_goods > 5 | |
lowrider_level++ | |
consecutive_goods = 0 | |
consecutive_bads = 0 | |
ENDIF | |
IF consecutive_bads > 1 | |
lowrider_level-- | |
consecutive_bads = 0 | |
ENDIF | |
ENDIF | |
IF lowrider_level = 4 | |
IF consecutive_goods > 5 | |
lowrider_level++ | |
consecutive_goods = 0 | |
consecutive_bads = 0 | |
ENDIF | |
IF consecutive_bads > 1 | |
lowrider_level-- | |
consecutive_bads = 0 | |
ENDIF | |
ENDIF | |
IF lowrider_level = 5 | |
IF consecutive_bads > 1 | |
lowrider_level-- | |
consecutive_goods = 0 | |
consecutive_bads = 0 | |
ENDIF | |
ENDIF | |
// ------------------------- girl anims -------------------------- | |
// we have changed l | |
IF NOT IS_CHAR_DEAD bounce_girl | |
IF NOT lowrider_last_level = lowrider_level | |
IF lowrider_level = -1 | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_hair LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_hurry LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_idleloop LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
SET_SEQUENCE_TO_REPEAT lowrider_sequence 1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
ENDIF | |
IF lowrider_last_level = -1 | |
AND lowrider_level = 0 | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_idle_to_l0 LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
PERFORM_SEQUENCE_TASK bounce_girl lowrider_sequence | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l0_loop LOWRIDER 4.0 TRUE FALSE FALSE FALSE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
ENDIF | |
IF lowrider_last_level = 0 | |
AND lowrider_level = 1 | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l0_to_l1 LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
PERFORM_SEQUENCE_TASK bounce_girl lowrider_sequence | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l1_loop LOWRIDER 4.0 TRUE FALSE FALSE FALSE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
ENDIF | |
IF lowrider_last_level = 1 | |
AND lowrider_level = 2 | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l1_to_l2 LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
PERFORM_SEQUENCE_TASK bounce_girl lowrider_sequence | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l2_loop LOWRIDER 4.0 TRUE FALSE FALSE FALSE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
ENDIF | |
IF lowrider_last_level = 2 | |
AND lowrider_level = 3 | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l2_to_l3 LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
PERFORM_SEQUENCE_TASK bounce_girl lowrider_sequence | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l3_loop LOWRIDER 4.0 TRUE FALSE FALSE FALSE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
ENDIF | |
IF lowrider_last_level = 3 | |
AND lowrider_level = 4 | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l3_to_l4 LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
PERFORM_SEQUENCE_TASK bounce_girl lowrider_sequence | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l4_loop LOWRIDER 4.0 TRUE FALSE FALSE FALSE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
ENDIF | |
IF lowrider_last_level = 4 | |
AND lowrider_level = 5 | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l4_to_l5 LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
PERFORM_SEQUENCE_TASK bounce_girl lowrider_sequence | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l5_loop LOWRIDER 4.0 TRUE FALSE FALSE FALSE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
ENDIF | |
IF lowrider_last_level > 1 | |
AND lowrider_level = 1 | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l345_to_l1 LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
PERFORM_SEQUENCE_TASK bounce_girl lowrider_sequence | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l1_loop LOWRIDER 4.0 TRUE FALSE FALSE FALSE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
ENDIF | |
IF lowrider_last_level = 1 | |
AND lowrider_level = 0 | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l12_to_l0 LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
PERFORM_SEQUENCE_TASK bounce_girl lowrider_sequence | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l0_loop LOWRIDER 4.0 TRUE FALSE FALSE FALSE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
ENDIF | |
IF lowrider_last_level = 0 | |
AND lowrider_level = -1 | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_hair LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_hurry LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_idleloop LOWRIDER 4.0 TRUE FALSE FALSE FALSE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
ENDIF | |
lowrider_last_level = lowrider_level | |
ENDIF | |
IF NOT last_stick_position = player_stick_position | |
AND NOT player_stick_position = 0 | |
temp_int = 0 | |
temp_float = 1.0 | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_idle_to_l0 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_idle_to_l0 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l12_to_l0 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l12_to_l0 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l345_to_l1 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l345_to_l1 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l0_to_l1 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l0_to_l1 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l1_to_l2 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l1_to_l2 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l2_to_l3 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l2_to_l3 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l3_to_l4 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l3_to_l4 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l4_to_l5 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l4_to_l5 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_bdbnce | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_bdbnce temp_float | |
ENDIF | |
IF temp_float < 0.9 | |
temp_int = 1 | |
ENDIF | |
IF temp_int = 0 | |
IF lowrider_level = 0 | |
OPEN_SEQUENCE_TASK temp_seq | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l0_bnce LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK temp_seq | |
PERFORM_SEQUENCE_TASK bounce_girl temp_seq | |
CLEAR_SEQUENCE_TASK temp_seq | |
ENDIF | |
IF lowrider_level = 1 | |
OPEN_SEQUENCE_TASK temp_seq | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l1_bnce LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK temp_seq | |
PERFORM_SEQUENCE_TASK bounce_girl temp_seq | |
CLEAR_SEQUENCE_TASK temp_seq | |
ENDIF | |
IF lowrider_level = 2 | |
OPEN_SEQUENCE_TASK temp_seq | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l2_bnce LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK temp_seq | |
PERFORM_SEQUENCE_TASK bounce_girl temp_seq | |
CLEAR_SEQUENCE_TASK temp_seq | |
ENDIF | |
IF lowrider_level = 3 | |
OPEN_SEQUENCE_TASK temp_seq | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l3_bnce LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK temp_seq | |
PERFORM_SEQUENCE_TASK bounce_girl temp_seq | |
CLEAR_SEQUENCE_TASK temp_seq | |
ENDIF | |
IF lowrider_level = 4 | |
OPEN_SEQUENCE_TASK temp_seq | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l4_bnce LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK temp_seq | |
PERFORM_SEQUENCE_TASK bounce_girl temp_seq | |
CLEAR_SEQUENCE_TASK temp_seq | |
ENDIF | |
IF lowrider_level = 5 | |
OPEN_SEQUENCE_TASK temp_seq | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l5_bnce LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK temp_seq | |
PERFORM_SEQUENCE_TASK bounce_girl temp_seq | |
CLEAR_SEQUENCE_TASK temp_seq | |
ENDIF | |
ENDIF | |
last_stick_position = player_stick_position | |
ENDIF | |
IF beat_fuckup = 1 | |
IF player_stick_position = 0 | |
IF lowrider_level > 0 | |
IF NOT IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_bdbnce | |
OPEN_SEQUENCE_TASK temp_seq | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_bdbnce LOWRIDER 4.0 FALSE FALSE FALSE TRUE -1 | |
CLOSE_SEQUENCE_TASK temp_seq | |
PERFORM_SEQUENCE_TASK bounce_girl temp_seq | |
CLEAR_SEQUENCE_TASK temp_seq | |
CLEAR_SEQUENCE_TASK lowrider_sequence | |
OPEN_SEQUENCE_TASK lowrider_sequence | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE -1 lrgirl_l1_loop LOWRIDER 4.0 TRUE FALSE FALSE FALSE -1 | |
CLOSE_SEQUENCE_TASK lowrider_sequence | |
ENDIF | |
lowrider_level = 1 | |
lowrider_last_level = 1 | |
ENDIF | |
ENDIF | |
beat_fuckup = 0 | |
ENDIF | |
// if char is not playing certain anims then do the sequence task | |
temp_int = 0 | |
temp_float = 1.0 | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_bdbnce | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_bdbnce temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_idle_to_l0 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_idle_to_l0 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l12_to_l0 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l12_to_l0 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l345_to_l1 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l345_to_l1 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l0_bnce | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l0_bnce temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l0_to_l1 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l0_to_l1 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l1_to_l2 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l1_to_l2 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l2_to_l3 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l2_to_l3 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l3_to_l4 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l3_to_l4 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l4_to_l5 | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l4_to_l5 temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l1_bnce | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l1_bnce temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l2_bnce | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l2_bnce temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l3_bnce | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l3_bnce temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l4_bnce | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l4_bnce temp_float | |
ENDIF | |
IF IS_CHAR_PLAYING_ANIM bounce_girl lrgirl_l5_bnce | |
GET_CHAR_ANIM_CURRENT_TIME bounce_girl lrgirl_l5_bnce temp_float | |
ENDIF | |
IF temp_float < 0.9 | |
temp_int = 1 | |
ENDIF | |
IF temp_int = 0 | |
GET_SCRIPT_TASK_STATUS bounce_girl PERFORM_SEQUENCE_TASK temp_int | |
IF temp_int = FINISHED_TASK | |
PERFORM_SEQUENCE_TASK bounce_girl lowrider_sequence | |
ENDIF | |
ENDIF | |
ENDIF // is char dead | |
ENDIF // car_got_roof | |
// quit out | |
//SET_PLAYER_CONTROL player1 OFF // This should be set, but breaks old saves :( | |
IF IS_BUTTON_PRESSED PAD1 TRIANGLE | |
OR IS_WIDGET_RELEASED WIDGET_RHYTHM_EXIT | |
lowrider_pscore = 0 | |
flag++ | |
ENDIF | |
ELSE | |
// track has finished | |
flag++ | |
TIMERA = 0 | |
ENDIF | |
BREAK | |
// wait for beat display to finish | |
CASE 3 | |
//IF beat_display_script_started = 0 | |
flag++ | |
//ENDIF | |
BREAK | |
// fade out music | |
CASE 4 | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
ENDIF | |
DO_FADE 500 FADE_OUT | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
bd_terminate_script = 1 | |
flag++ | |
BREAK | |
// track has ended | |
CASE 5 | |
GET_BEAT_TRACK_STATUS temp_int | |
IF temp_int = CUTSCENE_TRACK_PLAYING | |
STOP_BEAT_TRACK | |
ENDIF | |
CLEAR_ONSCREEN_COUNTER lowrider_pscore | |
CLEAR_ONSCREEN_COUNTER lowrider_oscore | |
REMOVE_ANIMATION LOWRIDER | |
GOTO terminate_lowrider_game | |
BREAK | |
ENDSWITCH | |
GOTO lowrider_game_loop | |
update_lowrider_opposition_score: | |
GENERATE_RANDOM_INT_IN_RANGE 0 10 temp_int | |
IF lowrider_opposition_skill = 0 | |
OR lowrider_opposition_skill = 1 | |
SWITCH temp_int | |
CASE 0 | |
CASE 1 | |
lowrider_oscore += LOWRIDER_BAD_SCORE | |
BREAK | |
CASE 2 | |
CASE 3 | |
CASE 4 | |
CASE 5 | |
lowrider_oscore += LOWRIDER_OK_SCORE | |
BREAK | |
CASE 6 | |
CASE 7 | |
CASE 8 | |
lowrider_oscore += LOWRIDER_GOOD_SCORE | |
BREAK | |
CASE 9 | |
lowrider_oscore += LOWRIDER_PERFECT_SCORE | |
BREAK | |
ENDSWITCH | |
ELSE | |
IF lowrider_opposition_skill = 2 | |
SWITCH temp_int | |
CASE 0 | |
lowrider_oscore += LOWRIDER_BAD_SCORE | |
BREAK | |
CASE 1 | |
CASE 2 | |
CASE 3 | |
CASE 4 | |
lowrider_oscore += LOWRIDER_OK_SCORE | |
BREAK | |
CASE 5 | |
CASE 6 | |
CASE 7 | |
lowrider_oscore += LOWRIDER_GOOD_SCORE | |
BREAK | |
CASE 8 | |
CASE 9 | |
lowrider_oscore += LOWRIDER_PERFECT_SCORE | |
BREAK | |
ENDSWITCH | |
ELSE | |
IF lowrider_opposition_skill = 3 | |
SWITCH temp_int | |
CASE 0 | |
lowrider_oscore += LOWRIDER_BAD_SCORE | |
BREAK | |
CASE 1 | |
CASE 2 | |
CASE 3 | |
lowrider_oscore += LOWRIDER_OK_SCORE | |
BREAK | |
CASE 4 | |
CASE 5 | |
CASE 6 | |
lowrider_oscore += LOWRIDER_GOOD_SCORE | |
BREAK | |
CASE 7 | |
CASE 8 | |
CASE 9 | |
lowrider_oscore += LOWRIDER_PERFECT_SCORE | |
BREAK | |
ENDSWITCH | |
ELSE | |
IF lowrider_opposition_skill = 4 | |
SWITCH temp_int | |
CASE 0 | |
CASE 1 | |
CASE 2 | |
lowrider_oscore += LOWRIDER_OK_SCORE | |
BREAK | |
CASE 3 | |
CASE 4 | |
CASE 5 | |
CASE 6 | |
lowrider_oscore += LOWRIDER_GOOD_SCORE | |
BREAK | |
CASE 7 | |
CASE 8 | |
CASE 9 | |
lowrider_oscore += LOWRIDER_PERFECT_SCORE | |
BREAK | |
ENDSWITCH | |
ELSE | |
IF lowrider_opposition_skill = 5 | |
SWITCH temp_int | |
CASE 0 | |
CASE 1 | |
lowrider_oscore += LOWRIDER_OK_SCORE | |
BREAK | |
CASE 2 | |
CASE 3 | |
CASE 4 | |
CASE 5 | |
lowrider_oscore += LOWRIDER_GOOD_SCORE | |
BREAK | |
CASE 6 | |
CASE 7 | |
CASE 8 | |
CASE 9 | |
lowrider_oscore += LOWRIDER_PERFECT_SCORE | |
BREAK | |
ENDSWITCH | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF lowrider_oscore < 0 | |
lowrider_oscore = 0 | |
ENDIF | |
RETURN | |
terminate_lowrider_game: | |
lowrider_game_is_active = 0 | |
TERMINATE_THIS_SCRIPT | |
/******************************************** | |
PRINT INPUT FEEDBACK | |
********************************************/ | |
LOWR_Print_Input_Feedback: | |
SWITCH stored_beat | |
CASE LOWRIDER_BEAT_PERFECT | |
SHAKE_PAD PAD1 200 255 | |
BREAK | |
CASE LOWRIDER_BEAT_GOOD | |
SHAKE_PAD PAD1 200 200 | |
BREAK | |
CASE LOWRIDER_BEAT_ALRIGHT | |
SHAKE_PAD PAD1 200 110 | |
BREAK | |
DEFAULT | |
SHAKE_PAD PAD1 200 50 | |
BREAK | |
ENDSWITCH | |
PRINT_BIG DNC_013 1000 5 //That's it! | |
SWITCH last_print | |
DEFAULT | |
IF stored_beat = LOWRIDER_BEAT_PERFECT | |
PRINT_BIG DNC_005 1000 5 // Great timing! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_GOOD | |
PRINT_BIG DNC_006 1000 5 // Well done! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_ALRIGHT | |
PRINT_BIG DNC_007 1000 5 // Alright | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_PAST | |
PRINT_BIG DNC_008 1000 5 // Too late! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_FUTURE | |
PRINT_BIG DNC_009 1000 5 // Too early! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
PRINT_BIG DNC_010 1000 5 // Wrong! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_MISTIMED_BUTTON | |
PRINT_BIG DNC_011 1000 5 // Poor timing! | |
ENDIF | |
last_print = 2 | |
BREAK | |
CASE 2 | |
IF stored_beat = LOWRIDER_BEAT_PERFECT | |
PRINT_BIG DNC_012 1000 5 //Synchronized! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_GOOD | |
PRINT_BIG DNC_013 1000 5 //That's it! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_ALRIGHT | |
PRINT_BIG DNC_014 1000 5 //Not bad! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_PAST | |
PRINT_BIG DNC_015 1000 5 //You missed it! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_FUTURE | |
PRINT_BIG DNC_016 1000 5 //You're fast! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
PRINT_BIG DNC_017 1000 5 //Not that one! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_MISTIMED_BUTTON | |
PRINT_BIG DNC_018 1000 5 //Try again! | |
ENDIF | |
++last_print | |
BREAK | |
CASE 3 | |
IF stored_beat = LOWRIDER_BEAT_PERFECT | |
PRINT_BIG DNC_019 1000 5 //The master! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_GOOD | |
PRINT_BIG DNC_020 1000 5 //You got it! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_ALRIGHT | |
PRINT_BIG DNC_021 1000 5 //Can do better! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_PAST | |
PRINT_BIG DNC_022 1000 5 //You're late! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_FUTURE | |
PRINT_BIG DNC_023 1000 5 //Slow down! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
PRINT_BIG DNC_024 1000 5 //Random! | |
ENDIF | |
IF stored_beat = LOWRIDER_BEAT_MISTIMED_BUTTON | |
PRINT_BIG DNC_025 1000 5 //Not on time! | |
ENDIF | |
++last_print | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************** | |
UPDATE OVERALL REPORT | |
********************************************/ | |
LOWR_Update_Overall_Report: | |
temp_int = lowr_good_beat_counter + lowr_bad_beat_counter | |
temp_int += lowr_perfect_beat_counter | |
IF temp_int > 0 | |
IF temp_int >= LOWRIDER_SCORE_TOTAL_BEATS_TO_REPORT | |
IF lowr_perfect_beat_counter = LOWRIDER_SCORE_TOTAL_BEATS_TO_REPORT | |
IF lowr_overall_state = LOWRIDER_OVERALL_GOOD | |
OR lowr_overall_state = LOWRIDER_OVERALL_PERFECT | |
//--- Can enter perfect | |
PRINT_BIG DNC_002 50000 7 // PERFECT! //use a big number, the next state will brak it | |
lowr_overall_state = LOWRIDER_OVERALL_PERFECT | |
ELSE | |
PRINT_BIG DNC_004 50000 7 // GOOD! //use a big number, the next state will brak it | |
lowr_overall_state = LOWRIDER_OVERALL_GOOD | |
ENDIF | |
ELSE | |
IF lowr_good_beat_counter > lowr_bad_beat_counter | |
PRINT_BIG DNC_004 50000 7 // GOOD! //use a big number, the next state will brak it | |
lowr_overall_state = LOWRIDER_OVERALL_GOOD | |
ELSE | |
IF lowr_overall_state = LOWRIDER_OVERALL_PERFECT | |
PRINT_BIG DNC_004 50000 7 // GOOD! //use a big number, the next state will brak it | |
lowr_overall_state = LOWRIDER_OVERALL_GOOD | |
ELSE | |
IF lowr_overall_state = LOWRIDER_OVERALL_GOOD | |
PRINT_BIG DNC_003 50000 7 // BAD! //use a big number, the next state will brak it | |
lowr_overall_state = LOWRIDER_OVERALL_BAD | |
ELSE | |
PRINT_BIG DNC_003 50000 7 // BAD! //use a big number, the next state will brak it | |
lowr_overall_state = LOWRIDER_OVERALL_BAD | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
//--- Clear the counters | |
lowr_perfect_beat_counter = 0 | |
lowr_good_beat_counter = 0 | |
lowr_bad_beat_counter = 0 | |
ENDIF | |
ENDIF | |
RETURN | |
LOWR_update_score_and_stats: | |
SWITCH stored_beat | |
CASE LOWRIDER_BEAT_PERFECT | |
IF lowrider_pscore < LOWRIDER_SCORE_LIMIT | |
IF lowr_overall_state = LOWRIDER_OVERALL_PERFECT | |
temp_int = LOWRIDER_PERFECT_SCORE * LOWRIDER_SCORE_PERFECT_MULTIPLER | |
lowrider_pscore += temp_int | |
ELSE | |
lowrider_pscore += LOWRIDER_PERFECT_SCORE | |
ENDIF | |
ENDIF | |
lowr_perfect_beat_counter++ | |
BREAK | |
CASE LOWRIDER_BEAT_GOOD | |
IF lowrider_pscore < LOWRIDER_SCORE_LIMIT | |
IF lowr_overall_state = LOWRIDER_OVERALL_PERFECT | |
temp_int = LOWRIDER_GOOD_SCORE * LOWRIDER_SCORE_PERFECT_MULTIPLER | |
lowrider_pscore += temp_int | |
ELSE | |
lowrider_pscore += LOWRIDER_GOOD_SCORE | |
ENDIF | |
ENDIF | |
lowr_good_beat_counter++ | |
BREAK | |
CASE LOWRIDER_BEAT_ALRIGHT | |
IF lowrider_pscore < LOWRIDER_SCORE_LIMIT | |
IF lowr_overall_state = LOWRIDER_OVERALL_PERFECT | |
temp_int = LOWRIDER_OK_SCORE * LOWRIDER_SCORE_PERFECT_MULTIPLER | |
lowrider_pscore += temp_int | |
ELSE | |
lowrider_pscore += LOWRIDER_OK_SCORE | |
ENDIF | |
ENDIF | |
lowr_good_beat_counter++ | |
BREAK | |
CASE LOWRIDER_BEAT_PAST | |
IF lowrider_pscore > 0 | |
lowrider_pscore += LOWRIDER_BAD_SCORE | |
ENDIF | |
lowr_bad_beat_counter++ | |
BREAK | |
CASE LOWRIDER_BEAT_FUTURE | |
IF lowrider_pscore > 0 | |
lowrider_pscore += LOWRIDER_BAD_SCORE | |
ENDIF | |
lowr_bad_beat_counter++ | |
BREAK | |
CASE LOWRIDER_BEAT_WRONG_BUTTON | |
IF lowrider_pscore > 0 | |
lowrider_pscore += LOWRIDER_VBAD_SCORE | |
ENDIF | |
lowr_bad_beat_counter++ | |
BREAK | |
CASE LOWRIDER_BEAT_MISTIMED_BUTTON | |
IF lowrider_pscore > 0 | |
lowrider_pscore += LOWRIDER_VBAD_SCORE | |
ENDIF | |
lowr_bad_beat_counter++ | |
BREAK | |
ENDSWITCH | |
// make sure score hasn't gone above maximum | |
IF lowrider_pscore > LOWRIDER_SCORE_LIMIT | |
lowrider_pscore = LOWRIDER_SCORE_LIMIT | |
ENDIF | |
RETURN | |
LOWR_get_stick_position: | |
GET_POSITION_OF_ANALOGUE_STICKS PAD1 lstickx lsticky rstickx rsticky | |
temp_float =# rstickx | |
vec_x = temp_float | |
temp_float =# rsticky | |
vec_y = temp_float | |
GET_DISTANCE_BETWEEN_COORDS_2D 0.0 0.0 vec_x vec_y temp_float | |
player_stick_position = 0 | |
IF temp_float > 64.0 | |
GET_ANGLE_BETWEEN_2D_VECTORS vec_x vec_y 0.0 -1.0 temp_float | |
// must be up | |
IF temp_float < 15.0 | |
player_stick_position = 13 // up | |
ELSE | |
IF temp_float < 75.0 | |
IF rstickx > 0 | |
player_stick_position = 11 // right and up | |
ELSE | |
player_stick_position = 15 // left and up | |
ENDIF | |
ELSE | |
IF temp_float < 105.0 | |
IF rstickx > 0 | |
player_stick_position = 10 // right | |
ELSE | |
player_stick_position = 9 // left | |
ENDIF | |
ELSE | |
IF temp_float < 165.0 | |
IF rstickx > 0 | |
player_stick_position = 16 // right down | |
ELSE | |
player_stick_position = 12 // left down | |
ENDIF | |
ELSE | |
// must be down | |
player_stick_position = 14 // left down | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
RETURN | |
} | |
MISSION_START | |
MISSION_END | |
// GLOBALS | |
VAR_INT audio_line_is_active | |
VAR_TEXT_LABEL audio_string | |
VAR_INT audio_sound_file | |
VAR_INT audio_line_terminate_all | |
{ | |
audio_line: | |
SCRIPT_NAME AUDIOL | |
// input parameters | |
LVAR_INT audio_ped | |
LVAR_INT audio_attached | |
LVAR_INT audio_forced | |
LVAR_INT audio_slot | |
LVAR_INT audio_is_preloaded | |
LVAR_TEXT_LABEL audio_text | |
LVAR_INT audio_sound | |
// workings | |
LVAR_INT flag | |
flag = 0 | |
// fake create | |
IF flag = -1 | |
CREATE_CHAR PEDTYPE_CIVMALE MALE01 0.0 0.0 0.0 audio_ped | |
ENDIF | |
// check if there is another audio line currently active | |
IF NOT audio_line_is_active = 0 | |
// force this script to play | |
IF audio_forced = 1 | |
CLEAR_MISSION_AUDIO audio_slot | |
WHILE NOT audio_line_is_active = 0 | |
IF audio_line_terminate_all = 1 | |
GOTO terminate_audio_line | |
ENDIF | |
WAIT 0 | |
ENDWHILE | |
ELSE | |
GOTO terminate_audio_line | |
ENDIF | |
ENDIF | |
$audio_text = $audio_string | |
audio_sound = audio_sound_file | |
audio_line_is_active = 1 | |
audio_loop: | |
IF audio_line_terminate_all = 1 | |
GOTO cleanup_audio_line | |
ENDIF | |
SWITCH flag | |
CASE 0 | |
IF audio_is_preloaded = 0 | |
CLEAR_MISSION_AUDIO audio_slot | |
LOAD_MISSION_AUDIO audio_slot audio_sound | |
ENDIF | |
IF NOT IS_CHAR_DEAD audio_ped | |
DISABLE_CHAR_SPEECH audio_ped TRUE | |
SHUT_CHAR_UP_FOR_SCRIPTED_SPEECH audio_ped TRUE | |
ENDIF | |
TIMERA = 0 | |
flag++ | |
BREAK | |
CASE 1 | |
IF HAS_MISSION_AUDIO_LOADED audio_slot | |
IF NOT IS_CHAR_DEAD audio_ped | |
IF NOT IS_CHAR_TALKING audio_ped | |
IF audio_attached = 1 | |
ATTACH_MISSION_AUDIO_TO_CHAR audio_slot audio_ped | |
ENDIF | |
ENDIF | |
START_CHAR_FACIAL_TALK audio_ped 10000 | |
ENDIF | |
PLAY_MISSION_AUDIO audio_slot | |
IF NOT $audio_text = DUMMY | |
PRINT_NOW $audio_text 10000 1 | |
ENDIF | |
flag++ | |
ELSE | |
IF TIMERA > 5000 // if it takes too long to load quit out | |
flag++ | |
ENDIF | |
ENDIF | |
BREAK | |
CASE 2 | |
IF HAS_MISSION_AUDIO_LOADED audio_slot | |
IF HAS_MISSION_AUDIO_FINISHED audio_slot | |
flag++ | |
ELSE | |
IF DOES_CHAR_EXIST audio_ped | |
IF IS_CHAR_DEAD audio_ped | |
flag++ | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
flag++ | |
ENDIF | |
BREAK | |
CASE 3 | |
GOTO cleanup_audio_line | |
BREAK | |
ENDSWITCH | |
WAIT 0 | |
GOTO audio_loop | |
cleanup_audio_line: | |
IF NOT IS_CHAR_DEAD audio_ped | |
ENABLE_CHAR_SPEECH audio_ped | |
SHUT_CHAR_UP_FOR_SCRIPTED_SPEECH audio_ped FALSE | |
STOP_CHAR_FACIAL_TALK audio_ped | |
ENDIF | |
CLEAR_MISSION_AUDIO audio_slot | |
IF NOT $audio_text = DUMMY | |
CLEAR_THIS_PRINT $audio_text | |
ENDIF | |
audio_line_is_active = 0 | |
terminate_audio_line: | |
TERMINATE_THIS_SCRIPT | |
} | |
{ | |
cleanup_audio_lines: | |
SCRIPT_NAME CLEANAU | |
TIMERA = 0 | |
audio_line_terminate_all = 1 | |
WHILE NOT audio_line_is_active = 0 | |
WAIT 0 | |
IF TIMERA > 2000 | |
audio_line_is_active = 0 | |
ENDIF | |
ENDWHILE | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME AUDIOL | |
//CLEAR_MISSION_AUDIO 1 | |
//CLEAR_MISSION_AUDIO 2 | |
audio_line_terminate_all = 0 | |
TERMINATE_THIS_SCRIPT | |
} | |
MISSION_START | |
//--- Dance | |
CONST_INT SPRITE_CROSS 1 | |
CONST_INT SPRITE_SQUARE 2 | |
CONST_INT SPRITE_TRIANGLE 3 | |
CONST_INT SPRITE_CIRCLE 4 | |
//--- Lowrider | |
CONST_INT SPRITE_STKLEFT 9 //not used | |
CONST_INT SPRITE_STKRGHT 10 //not used | |
CONST_INT SPRITE_STKUR 11 | |
CONST_INT SPRITE_STKDL 12 | |
CONST_INT SPRITE_STKUP 13 | |
CONST_INT SPRITE_STKDWN 14 | |
CONST_INT SPRITE_STKUL 15 //not used | |
CONST_INT SPRITE_STKDR 16 //not used | |
//--- Hit zones | |
CONST_INT SPRITE_CRING_UP 17 //CONST_INT SPRITE_CRING 17 | |
CONST_INT SPRITE_CRING_DOWN 18 | |
CONST_INT SPRITE_CRING_LEFT 19 | |
CONST_INT SPRITE_CRING_RIGHT 20 | |
//--- FXs | |
CONST_INT SPRITE_CHIT_UP 21 //CONST_INT SPRITE_CHIT 18 | |
CONST_INT SPRITE_CHIT_DOWN 22 | |
CONST_INT SPRITE_CHIT_LEFT 23 | |
CONST_INT SPRITE_CHIT_RIGHT 24 | |
CONST_INT SPRITE_BACKGROUND 42 | |
//--- Rendering Hit FX | |
CONST_INT DB_HIT_DURATION 160 //(in milliseconds) | |
CONST_INT DB_HIT_STEP_MULTI_FAST 8 | |
CONST_INT DB_HIT_STEP_MULTI_SLOW 4 | |
CONST_INT BD_HIT_STANDARD 1 | |
CONST_INT BD_HIT_GOOD 2 | |
CONST_INT BD_HIT_PERFECT 3 | |
MISSION_END | |
// GLOBAL VARIABLES --- | |
VAR_INT iStoredBeat | |
VAR_INT stored_beat | |
// parameters - don't need to be set cause there's some default values, but can if you want. | |
VAR_INT bd_future_time_shown | |
VAR_INT bd_past_time_shown | |
VAR_FLOAT bd_x bd_y | |
VAR_FLOAT bd_width | |
VAR_FLOAT bd_sprite_height bd_sprite_width | |
VAR_FLOAT BULLSHIT_LINE_HEIGHT | |
VAR_INT fDownTimer | |
VAR_INT BD_RenderHit // Incoming request to render a hit around the button. | |
VAR_INT last_beat_closestnumber | |
VAR_INT beat_valid | |
VAR_INT invalid_beat_type | |
// optional flags | |
VAR_INT bd_terminate_script // set to 1 to terminate the script | |
VAR_INT debug_show_beat_position | |
// debug stuff for matt | |
VAR_INT time_of_first_beat | |
VAR_INT time_since_first_beat | |
VAR_INT beat_display_script_started | |
VAR_INT first_color | |
VAR_INT second_color | |
VAR_INT third_color | |
VAR_INT fourth_color | |
VAR_INT fifth_color | |
first_color = 0 | |
second_color = 0 | |
third_color = 0 | |
fourth_color = 0 | |
fifth_color = 0 | |
VAR_INT first_stored_beat | |
VAR_INT second_stored_beat | |
VAR_INT third_stored_beat | |
VAR_INT fourth_stored_beat | |
VAR_INT fifth_stored_beat | |
first_stored_beat = -1 | |
second_stored_beat = -1 | |
third_stored_beat = -1 | |
fourth_stored_beat = -1 | |
fifth_stored_beat = -1 | |
last_beat_closestnumber = -1 | |
beat_valid = 1 | |
invalid_beat_type = -1 | |
{/////////////////////////////////////////////////////////////////////////////// | |
beat_display://///////////////////////////////////////////////////////////////// | |
//////////////////////////////////////////////////////////////////////////////// | |
SCRIPT_NAME BDISPLY | |
IF beat_display_script_started = 0 | |
beat_display_script_started = 1 | |
bd_terminate_script = 0 | |
ENDIF | |
LVAR_INT temp_int iTemp iTemp2 | |
LVAR_INT temp_int2 | |
LVAR_INT temp_int3 | |
LVAR_FLOAT temp_float | |
LVAR_FLOAT temp_float2 | |
LVAR_FLOAT temp_float3 | |
LVAR_INT time_to_this_beat time_to_this_beat_2 | |
LVAR_INT this_beat_type this_beat_type_2 | |
LVAR_INT this_beat_closestnumber this_beat_closestnumber_2 this_beat_closestnumber_stored | |
LVAR_INT this_time | |
LVAR_INT last_time | |
LVAR_INT time_elapsed | |
LVAR_INT sprite_num | |
LVAR_FLOAT fHitZone_sprite_height fHitZone_sprite_width fHitFX_sprite_width fHitFX_sprite_height | |
LVAR_INT iHit_Rendering iFXCurrentAlpha iFX_BeatToRender iFXDesiredAlpha iFXHitDuration | |
USE_TEXT_COMMANDS TRUE | |
LOAD_TEXTURE_DICTIONARY ld_beat | |
//The Notes | |
LOAD_SPRITE SPRITE_STKUP up | |
LOAD_SPRITE SPRITE_STKDWN down | |
LOAD_SPRITE SPRITE_STKRGHT right | |
LOAD_SPRITE SPRITE_STKLEFT left | |
//--- Hit zone | |
LOAD_SPRITE SPRITE_CRING_UP cring | |
LOAD_SPRITE SPRITE_CRING_DOWN cring | |
LOAD_SPRITE SPRITE_CRING_LEFT cring | |
LOAD_SPRITE SPRITE_CRING_RIGHT cring | |
//The Background | |
LOAD_SPRITE SPRITE_STKDL down | |
//The White Lines | |
LOAD_SPRITE SPRITE_STKUL white | |
//The Green Gradient | |
LOAD_SPRITE SPRITE_BACKGROUND dance_bg | |
//--- Hit FX | |
LOAD_SPRITE SPRITE_CHIT_UP chit | |
LOAD_SPRITE SPRITE_CHIT_DOWN chit | |
LOAD_SPRITE SPRITE_CHIT_LEFT chit | |
LOAD_SPRITE SPRITE_CHIT_RIGHT chit | |
fDownTimer = 0 | |
BD_FUTURE_TIME_SHOWN = 4500 | |
BD_PAST_TIME_SHOWN = 2500 | |
BD_X = 77.0000 | |
BD_Y = 381.0000 | |
BD_WIDTH = 365.0000 | |
BD_SPRITE_HEIGHT = 40.0 | |
BD_SPRITE_WIDTH = 42.0 | |
fHitZone_sprite_height = 50.0 | |
fHitZone_sprite_width = 54.0 | |
fHitFX_sprite_height = 50.0 | |
fHitFX_sprite_width = 54.0 | |
BULLSHIT_LINE_HEIGHT = 4.2 | |
GET_GAME_TIMER last_time | |
WAIT 1000 | |
beat_display_loop: | |
WAIT 0 | |
//--- If the player has paused the game, clear the FX rendering flags | |
IF HAS_GAME_JUST_RETURNED_FROM_FRONTEND | |
BD_RenderHit = 0 | |
iHit_Rendering = 0 | |
ENDIF | |
GET_BEAT_TRACK_STATUS temp_int | |
IF temp_int = CUTSCENE_TRACK_PLAYING | |
GET_GAME_TIMER this_time | |
time_elapsed = this_time - last_time | |
last_time = this_time | |
IF fDownTimer > 0 | |
fDownTimer -= time_elapsed | |
ENDIf | |
// draw line for present time | |
temp_int = bd_past_time_shown + bd_future_time_shown // total time shown | |
temp_float =# temp_int | |
temp_float2 =# bd_past_time_shown | |
temp_float2 /= temp_float | |
temp_float2 *= bd_width | |
x = 232.0 | |
y = BD_Y - 5.0 | |
//--- Draw the hit zone | |
LVAR_FLOAT fAdjustedY | |
SET_SPRITES_DRAW_BEFORE_FADE TRUE | |
LVAR_FLOAT backgroundX | |
LVAR_FLOAT backgroundY | |
backgroundX = BD_X * 0.48 | |
backgroundY = BD_Y * 0.74 | |
LVAR_FLOAT fuck_y | |
//the background | |
fuck_y = BD_SPRITE_HEIGHT * 2.2 | |
DRAW_SPRITE SPRITE_BACKGROUND x BD_Y 444.0 fuck_y 255, 255, 255, 255 | |
//Draw hit zones// | |
//fuck_y = y - 34.0 | |
//DRAW_SPRITE SPRITE_STKUL x fuck_y 640.0 BULLSHIT_LINE_HEIGHT 0 0 0 255 | |
//fuck_y = y + 33.0 | |
//DRAW_SPRITE SPRITE_STKUL x fuck_y 640.0 BULLSHIT_LINE_HEIGHT 0 0 0 255 | |
GET_BEAT_PROXIMITY 0 time_to_this_beat this_beat_type this_beat_closestnumber | |
IF time_to_this_beat < LOWRIDER_OK_TIME_NEG | |
GET_BEAT_PROXIMITY 1 time_to_this_beat this_beat_type this_beat_closestnumber | |
ENDIF | |
IF this_beat_type = SPRITE_STKDWN | |
OR this_beat_type = SPRITE_CROSS | |
DRAW_SPRITE SPRITE_CRING_DOWN x y fHitZone_sprite_width fHitZone_sprite_height 255 255 255 255 | |
ENDIF | |
IF this_beat_type = SPRITE_STKUP | |
OR this_beat_type = SPRITE_TRIANGLE | |
DRAW_SPRITE_WITH_ROTATION SPRITE_CRING_DOWN x y fHitZone_sprite_width fHitZone_sprite_height 0.0 255 255 255 255 | |
ENDIF | |
IF this_beat_type = SPRITE_STKLEFT | |
OR this_beat_type = SPRITE_SQUARE | |
OR this_beat_type = SPRITE_STKUR //beat not used | |
OR this_beat_type = SPRITE_STKDL //beat not used | |
OR this_beat_type = SPRITE_STKUL //beat not used | |
OR this_beat_type = SPRITE_STKDR //beat not used | |
DRAW_SPRITE_WITH_ROTATION SPRITE_CRING_DOWN x y fHitZone_sprite_width fHitZone_sprite_height -90.0 255 255 255 255 | |
ENDIF | |
IF this_beat_type = SPRITE_STKRGHT | |
OR this_beat_type = SPRITE_CIRCLE | |
DRAW_SPRITE_WITH_ROTATION SPRITE_CRING_DOWN x y fHitZone_sprite_width fHitZone_sprite_height 90.0 255 255 255 255 | |
ENDIF | |
////////////////////////////////////////////// | |
// used for turning off past beats | |
GET_GAME_TIMER time_since_first_beat | |
time_since_first_beat -= time_of_first_beat | |
// draw future beats | |
temp_int = 1 | |
WHILE temp_int < 11 | |
GET_BEAT_PROXIMITY temp_int time_to_this_beat this_beat_type this_beat_closestnumber | |
// draw this fucker | |
IF NOT this_beat_type = 0 | |
IF time_to_this_beat < bd_future_time_shown | |
// map sprite to beat | |
GOSUB BD_MapButtonToBeat | |
//WRITE_DEBUG_WITH_INT sprite_num sprite_num | |
// where to draw // | |
// total time shown | |
temp_int2 = bd_past_time_shown + bd_future_time_shown | |
temp_float2 =# temp_int2 | |
// time to beat // | |
temp_int3 = time_to_this_beat | |
temp_int3 += bd_past_time_shown | |
temp_float =# temp_int3 | |
// time to beat / total time | |
temp_float /= temp_float2 | |
temp_float *= bd_width | |
x = bd_width - temp_float | |
y = bd_y - 5.0 | |
// figure out alpha | |
temp_float =# time_to_this_beat | |
temp_float2 =# bd_future_time_shown | |
temp_float /= temp_float2 | |
temp_float *= -1.0 | |
temp_float += 1.0 | |
//IF time_to_this_beat < 0 | |
temp_float = 1.0 | |
//ENDIF | |
temp_float *= 255.0 | |
temp_int3 =# temp_float | |
IF NOT sprite_num = 0 | |
//--- Render FX | |
GOSUB BD_RenderSpriteFX | |
//--- Draw button sprite on top of FX | |
SET_SPRITES_DRAW_BEFORE_FADE TRUE | |
IF sprite_num = SPRITE_STKDWN // down | |
//DRAW_SPRITE SPRITE_STKUL 320.0 y 640.0 BULLSHIT_LINE_HEIGHT 255 255 255 255 | |
//DRAW_SPRITE sprite_num x y bd_sprite_width bd_sprite_height 0 0 255 temp_int3 | |
DRAW_SPRITE sprite_num x y bd_sprite_width bd_sprite_height 255 255 255 temp_int3 | |
ENDIF | |
//fAdjustedY = y - 69.0 | |
IF sprite_num = SPRITE_STKUP // up | |
//DRAW_SPRITE SPRITE_STKUL 320.0 y 640.0 BULLSHIT_LINE_HEIGHT 255 255 255 255 | |
//DRAW_SPRITE sprite_num x y bd_sprite_width bd_sprite_height 255 255 0 temp_int3 | |
DRAW_SPRITE sprite_num x y bd_sprite_width bd_sprite_height 255 255 255 temp_int3 | |
ENDIF | |
//y = fAdjustedY - 69.0 | |
IF sprite_num = SPRITE_STKLEFT // left | |
//DRAW_SPRITE SPRITE_STKUL 320.0 y 640.0 BULLSHIT_LINE_HEIGHT 255 255 255 255 | |
//DRAW_SPRITE sprite_num x y bd_sprite_width bd_sprite_height 0 255 0 temp_int3 | |
DRAW_SPRITE sprite_num x y bd_sprite_width bd_sprite_height 255 255 255 temp_int3 | |
ENDIF | |
//fAdjustedY = fAdjustedY - 69.0 | |
IF sprite_num = SPRITE_STKRGHT // right | |
//DRAW_SPRITE SPRITE_STKUL 320.0 y 640.0 BULLSHIT_LINE_HEIGHT 255 255 255 255 | |
//DRAW_SPRITE sprite_num x y bd_sprite_width bd_sprite_height 255 128 0 temp_int3 | |
DRAW_SPRITE sprite_num x y bd_sprite_width bd_sprite_height 255 255 255 temp_int3 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
//------------------------------------------------------------------------------------------------------- | |
IF debug_show_beat_position = 0 // used for turning off past beats | |
// draw past beats | |
temp_int = -1 | |
WHILE temp_int > -6 | |
GET_BEAT_PROXIMITY temp_int time_to_this_beat this_beat_type this_beat_closestnumber | |
//check if this beat is the first past beat | |
IF temp_int = -1 | |
//IF time_to_this_beat < LOWRIDER_OK_TIME_NEG | |
IF time_to_this_beat < DANCE_BOUNDS_ALRIGHT_MIN | |
//has the beat num changed, if so change color | |
IF NOT old_beat_num = this_beat_closestnumber | |
old_beat_num = this_beat_closestnumber | |
IF this_beat_type = SPRITE_CROSS | |
OR this_beat_type = SPRITE_SQUARE | |
OR this_beat_type = SPRITE_TRIANGLE | |
OR this_beat_type = SPRITE_CIRCLE | |
IF NOT iStoredBeat = DANCE_BEAT_GOOD_SCORED | |
first_color = 2 //bad | |
ELSE | |
first_color = 1 //good | |
ENDIF | |
first_stored_beat = iStoredBeat | |
ELSE | |
IF NOT stored_beat = LOWRIDER_BEAT_ALRIGHT | |
AND NOT stored_beat = LOWRIDER_BEAT_PERFECT | |
AND NOT stored_beat = LOWRIDER_BEAT_GOOD | |
//bad | |
first_color = 2 | |
ELSE | |
//good | |
first_color = 1 | |
ENDIF | |
first_stored_beat = stored_beat | |
ENDIF | |
ENDIF | |
ELSE | |
IF NOT first_color = 0 | |
fifth_color = fourth_color | |
fourth_color = third_color | |
third_color = second_color | |
second_color = first_color | |
fifth_stored_beat = fourth_stored_beat | |
fourth_stored_beat = third_stored_beat | |
third_stored_beat = second_stored_beat | |
second_stored_beat = first_stored_beat | |
ENDIF | |
first_stored_beat = -1 | |
first_color = 0 | |
ENDIF | |
ENDIF | |
time_to_this_beat *= -1 | |
// draw this fucker | |
IF NOT this_beat_type = 0 | |
IF time_to_this_beat < bd_past_time_shown | |
// map sprite to beat | |
GOSUB BD_MapButtonToBeat | |
// where to draw | |
temp_int3 = time_to_this_beat | |
temp_int3 *= -1 | |
temp_int3 += bd_past_time_shown | |
temp_int2 = bd_past_time_shown + bd_future_time_shown // total time shown | |
temp_float =# temp_int3 | |
temp_float2 =# temp_int2 | |
temp_float /= temp_float2 // how far along the line this needs to get drawn | |
temp_float *= bd_width | |
x = bd_width - temp_float | |
y = bd_y - 5.0 | |
// figure out alpha | |
temp_float =# temp_int3 | |
temp_float2 =# bd_past_time_shown | |
temp_float /= temp_float2 | |
IF time_to_this_beat < 0 | |
temp_float = 1.0 | |
ENDIF | |
temp_float *= 255.0 | |
temp_int3 =# temp_float | |
LVAR_INT color | |
IF temp_int = -1 | |
color = first_color | |
ENDIF | |
IF temp_int = -2 | |
color = second_color | |
ENDIF | |
IF temp_int = -3 | |
color = third_color | |
ENDIF | |
IF temp_int = -4 | |
color = fourth_color | |
ENDIF | |
IF temp_int = -5 | |
color = fifth_color | |
ENDIF | |
IF NOT sprite_num = 0 | |
//--- Render FX | |
GOSUB BD_RenderSpriteFX | |
LVAR_INT nValid | |
nValid = 0 | |
IF sprite_num = SPRITE_STKDWN // down | |
nValid = 1 | |
ENDIF | |
IF sprite_num = SPRITE_STKUP // up | |
nValid = 1 | |
ENDIF | |
IF sprite_num = SPRITE_STKLEFT // left | |
nValid = 1 | |
ENDIF | |
IF sprite_num = SPRITE_STKRGHT // right | |
nValid = 1 | |
ENDIF | |
IF nValid = 1 | |
IF color = 0 | |
DRAW_SPRITE sprite_num x y bd_sprite_width bd_sprite_height 255 255 255 temp_int3 | |
ENDIF | |
IF color = 1 | |
DRAW_SPRITE sprite_num x y bd_sprite_width bd_sprite_height 0 255 0 temp_int3 | |
ENDIF | |
IF color = 2 | |
DRAW_SPRITE sprite_num x y bd_sprite_width bd_sprite_height 255 0 0 temp_int3 | |
ENDIF | |
//retarded text | |
SET_TEXT_CENTRE ON | |
SET_TEXT_SCALE 1.3 1.3 // These strings should use DISPLAY_TEXT_CLAMPED here, but we can't modify this script w/o breaking old saves so it's hacked in scale :( | |
SET_TEXT_DROPSHADOW 0 0 0 0 255 | |
fAdjustedY = y | |
LVAR_FLOAT fAdjust | |
fAdjust = bd_sprite_height | |
fAdjust *= 0.69 | |
fAdjustedY += fAdjust | |
IF temp_int = -1 | |
IF first_stored_beat = LOWRIDER_BEAT_PERFECT | |
OR first_stored_beat = DANCE_BEAT_GOOD_SCORED | |
DISPLAY_TEXT x fAdjustedY DNC_005 // Great | |
ENDIF | |
IF first_stored_beat = LOWRIDER_BEAT_GOOD | |
DISPLAY_TEXT x fAdjustedY DNC_006 // Nice | |
ENDIF | |
IF first_stored_beat = LOWRIDER_BEAT_ALRIGHT | |
DISPLAY_TEXT x fAdjustedY DNC_007 // Alright | |
ENDIF | |
IF first_stored_beat = LOWRIDER_BEAT_PAST | |
OR first_stored_beat = DANCE_BEAT_NONE | |
DISPLAY_TEXT x fAdjustedY DNC_008 // Late | |
ELSE | |
IF first_stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
DISPLAY_TEXT x fAdjustedY DNC_010 // Wrong | |
ENDIF | |
ENDIF | |
IF first_stored_beat = LOWRIDER_BEAT_FUTURE | |
DISPLAY_TEXT x fAdjustedY DNC_009 // Early | |
ENDIF | |
IF first_stored_beat = -1 | |
AND time_to_this_beat < LOWRIDER_OK_TIME_NEG | |
DISPLAY_TEXT x fAdjustedY DNC_011 // Bad | |
ENDIF | |
//fucking dance | |
IF first_stored_beat = DANCE_BEAT_BAD_SCORED | |
DISPLAY_TEXT x fAdjustedY DNC_011 // Bad | |
ENDIF | |
ENDIf | |
IF temp_int = -2 | |
IF second_stored_beat = LOWRIDER_BEAT_PERFECT | |
OR second_stored_beat = DANCE_BEAT_GOOD_SCORED | |
DISPLAY_TEXT x fAdjustedY DNC_005 // Great | |
ENDIF | |
IF second_stored_beat = LOWRIDER_BEAT_GOOD | |
DISPLAY_TEXT x fAdjustedY DNC_006 // Nice | |
ENDIF | |
IF second_stored_beat = LOWRIDER_BEAT_ALRIGHT | |
DISPLAY_TEXT x fAdjustedY DNC_007 // Alright | |
ENDIF | |
IF second_stored_beat = LOWRIDER_BEAT_PAST | |
OR second_stored_beat = DANCE_BEAT_NONE | |
DISPLAY_TEXT x fAdjustedY DNC_008 // late | |
ELSE | |
IF second_stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
DISPLAY_TEXT x fAdjustedY DNC_010 // Wrong | |
ENDIF | |
ENDIF | |
IF second_stored_beat = LOWRIDER_BEAT_FUTURE | |
DISPLAY_TEXT x fAdjustedY DNC_009 // Early | |
ENDIF | |
IF second_stored_beat = -1 | |
AND time_to_this_beat < LOWRIDER_OK_TIME_NEG | |
DISPLAY_TEXT x fAdjustedY DNC_011 // Bad | |
ENDIF | |
//fucking dance | |
IF second_stored_beat = DANCE_BEAT_BAD_SCORED | |
DISPLAY_TEXT x fAdjustedY DNC_011 // Bad | |
ENDIF | |
ENDIF | |
IF temp_int = -3 | |
IF third_stored_beat = LOWRIDER_BEAT_PERFECT | |
OR third_stored_beat = DANCE_BEAT_GOOD_SCORED | |
DISPLAY_TEXT x fAdjustedY DNC_005 // Great | |
ENDIF | |
IF third_stored_beat = LOWRIDER_BEAT_GOOD | |
DISPLAY_TEXT x fAdjustedY DNC_006 // Nice | |
ENDIF | |
IF third_stored_beat = LOWRIDER_BEAT_ALRIGHT | |
DISPLAY_TEXT x fAdjustedY DNC_007 // Alright | |
ENDIF | |
IF third_stored_beat = LOWRIDER_BEAT_PAST | |
OR third_stored_beat = DANCE_BEAT_NONE | |
DISPLAY_TEXT x fAdjustedY DNC_008 // Late | |
ELSE | |
IF third_stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
DISPLAY_TEXT x fAdjustedY DNC_010 // Wrong | |
ENDIF | |
ENDIF | |
IF third_stored_beat = LOWRIDER_BEAT_FUTURE | |
DISPLAY_TEXT x fAdjustedY DNC_009 // Early | |
ENDIF | |
IF third_stored_beat = -1 | |
AND time_to_this_beat < LOWRIDER_OK_TIME_NEG | |
DISPLAY_TEXT x fAdjustedY DNC_011 // Bad | |
ENDIF | |
//fucking dance | |
IF third_stored_beat = DANCE_BEAT_BAD_SCORED | |
DISPLAY_TEXT x fAdjustedY DNC_011 // Bad | |
ENDIF | |
ENDIF | |
IF temp_int = -4 | |
IF fourth_stored_beat = LOWRIDER_BEAT_PERFECT | |
OR fourth_stored_beat = DANCE_BEAT_GOOD_SCORED | |
DISPLAY_TEXT x fAdjustedY DNC_005 // Great | |
ENDIF | |
IF fourth_stored_beat = LOWRIDER_BEAT_GOOD | |
DISPLAY_TEXT x fAdjustedY DNC_006 // Nice | |
ENDIF | |
IF fourth_stored_beat = LOWRIDER_BEAT_ALRIGHT | |
DISPLAY_TEXT x fAdjustedY DNC_007 // Alright | |
ENDIF | |
IF fourth_stored_beat = LOWRIDER_BEAT_PAST | |
OR fourth_stored_beat = DANCE_BEAT_NONE | |
DISPLAY_TEXT x fAdjustedY DNC_008 // Late | |
ELSE | |
IF fourth_stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
DISPLAY_TEXT x fAdjustedY DNC_010 // Wrong | |
ENDIF | |
ENDIF | |
IF fourth_stored_beat = LOWRIDER_BEAT_FUTURE | |
DISPLAY_TEXT x fAdjustedY DNC_009 // Early | |
ENDIF | |
IF fourth_stored_beat = -1 | |
AND time_to_this_beat < LOWRIDER_OK_TIME_NEG | |
DISPLAY_TEXT x fAdjustedY DNC_011 // Bad | |
ENDIF | |
//fucking dance | |
IF fourth_stored_beat = DANCE_BEAT_BAD_SCORED | |
DISPLAY_TEXT x fAdjustedY DNC_011 // Bad | |
ENDIF | |
ENDIf | |
IF temp_int = -5 | |
IF fifth_stored_beat = LOWRIDER_BEAT_PERFECT | |
OR fifth_stored_beat = DANCE_BEAT_GOOD_SCORED | |
DISPLAY_TEXT x fAdjustedY DNC_005 // Great | |
ENDIF | |
IF fifth_stored_beat = LOWRIDER_BEAT_GOOD | |
DISPLAY_TEXT x fAdjustedY DNC_006 // Nice | |
ENDIF | |
IF fifth_stored_beat = LOWRIDER_BEAT_ALRIGHT | |
DISPLAY_TEXT x fAdjustedY DNC_007 // Alright | |
ENDIF | |
IF fifth_stored_beat = LOWRIDER_BEAT_PAST | |
OR fifth_stored_beat = DANCE_BEAT_NONE | |
DISPLAY_TEXT x fAdjustedY DNC_008 // Late | |
ELSE | |
IF fifth_stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
DISPLAY_TEXT x fAdjustedY DNC_010 // Wrong | |
ENDIF | |
ENDIF | |
IF fifth_stored_beat = LOWRIDER_BEAT_FUTURE | |
DISPLAY_TEXT x fAdjustedY DNC_009 // Early | |
ENDIF | |
IF fifth_stored_beat = LOWRIDER_BEAT_WRONG_BUTTON | |
DISPLAY_TEXT x fAdjustedY DNC_010 // Wrong | |
ENDIF | |
IF fifth_stored_beat = -1 | |
AND time_to_this_beat < LOWRIDER_OK_TIME_NEG | |
DISPLAY_TEXT x fAdjustedY DNC_011 // Bad | |
ENDIF | |
//fucking dance | |
IF fifth_stored_beat = DANCE_BEAT_BAD_SCORED | |
DISPLAY_TEXT x fAdjustedY DNC_011 // Bad | |
ENDIF | |
ENDIf | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
temp_int-- | |
ENDWHILE | |
ENDIF | |
ELSE | |
DRAW_SPRITE SPRITE_STKDL backgroundX backgroundY 666.0 420.0 0 0 0 255 | |
// if track is not TRACK_PLAYING | |
GOTO cleanup_beat_display | |
ENDIF | |
IF bd_terminate_script = 0 | |
GOTO beat_display_loop | |
ELSE | |
GOTO cleanup_beat_display | |
ENDIF | |
cleanup_beat_display: | |
bd_terminate_script = 0 | |
beat_display_script_started = 0 | |
USE_TEXT_COMMANDS FALSE | |
REMOVE_TEXTURE_DICTIONARY // WDFIXME this is causing issues at the end (shows non textured quads). | |
TERMINATE_THIS_SCRIPT | |
// SUBROUTINES------------------------------------------------------ | |
/******************************************** | |
MAP BUTTON TO BEAT | |
********************************************/ | |
BD_MapButtonToBeat: | |
sprite_num = 0 | |
// analogue directions | |
IF this_beat_type = SPRITE_STKLEFT // left | |
OR this_beat_type = SPRITE_SQUARE | |
sprite_num = SPRITE_STKLEFT | |
ENDIF | |
IF this_beat_type = SPRITE_STKRGHT // right | |
OR this_beat_type = SPRITE_CIRCLE | |
sprite_num = SPRITE_STKRGHT | |
ENDIF | |
IF this_beat_type = SPRITE_STKUR // up & right | |
sprite_num = SPRITE_STKUR | |
ENDIF | |
IF this_beat_type = SPRITE_STKDL // down & left | |
sprite_num = SPRITE_STKDL | |
ENDIF | |
IF this_beat_type = SPRITE_STKUP // up | |
OR this_beat_type = SPRITE_TRIANGLE | |
sprite_num = SPRITE_STKUP | |
ENDIF | |
IF this_beat_type = SPRITE_STKDWN // down | |
OR this_beat_type = SPRITE_CROSS | |
sprite_num = SPRITE_STKDWN | |
ENDIF | |
IF this_beat_type = SPRITE_STKUL // up & left | |
sprite_num = SPRITE_STKUL | |
ENDIF | |
IF this_beat_type = SPRITE_STKDR // down & right | |
sprite_num = SPRITE_STKDR | |
ENDIF | |
IF beat_valid = 0 | |
AND this_beat_type = invalid_beat_type | |
sprite_num = 0 | |
ENDIF | |
RETURN | |
/******************************************** | |
RENDER SPRITE FX | |
********************************************/ | |
BD_RenderSpriteFX: | |
IF BD_RenderHit > 0 | |
AND iHit_Rendering = 0 | |
GET_BEAT_PROXIMITY 0 iTemp iTemp iFX_BeatToRender | |
++iFX_BeatToRender | |
iHit_Rendering = 1 | |
ENDIF | |
this_beat_closestnumber_2 = this_beat_closestnumber | |
this_beat_closestnumber_2 += temp_int | |
IF temp_int < 0 | |
time_to_this_beat *= -1 | |
++this_beat_closestnumber_2 | |
ENDIF | |
//--- FX rendering | |
IF this_beat_closestnumber_2 = iFX_BeatToRender | |
IF time_to_this_beat < DANCE_BOUNDS_NO_BEAT | |
AND time_to_this_beat > -400 | |
GOSUB BD_RenderHitFX | |
ELSE | |
iHit_Rendering = 0 | |
BD_RenderHit = 0 | |
ENDIF | |
ELSE | |
BD_RenderHit = 0 | |
ENDIF | |
RETURN | |
/******************************************** | |
RENDER HIT FX | |
********************************************/ | |
BD_RenderHitFX: | |
SWITCH iHit_Rendering | |
CASE 1 | |
IF BD_RenderHit = BD_HIT_STANDARD | |
OR BD_RenderHit = BD_HIT_GOOD | |
OR BD_RenderHit = BD_HIT_PERFECT | |
iFXCurrentAlpha = 255 | |
iFXHitDuration = 100 | |
ENDIF | |
TIMERB = 0 | |
SET_SPRITES_DRAW_BEFORE_FADE TRUE | |
IF sprite_num = SPRITE_STKDWN // down | |
DRAW_SPRITE SPRITE_CRING_DOWN 232.0 376.0 fHitZone_sprite_width fHitZone_sprite_height 255 255 255 iFXCurrentAlpha | |
ENDIF | |
//fAdjustedY = y - 69.0 | |
IF sprite_num = SPRITE_STKUP // up | |
DRAW_SPRITE_WITH_ROTATION SPRITE_CRING_UP 232.0 376.0 fHitZone_sprite_width fHitZone_sprite_height 0.0 255 255 255 iFXCurrentAlpha | |
ENDIF | |
//fAdjustedY = fAdjustedY - 69.0 | |
IF sprite_num = SPRITE_STKLEFT // left | |
DRAW_SPRITE_WITH_ROTATION SPRITE_CRING_LEFT 232.0 376.0 fHitZone_sprite_width fHitZone_sprite_height -90.0 255 255 255 iFXCurrentAlpha | |
ENDIF | |
//fAdjustedY = fAdjustedY - 69.0 | |
IF sprite_num = SPRITE_STKRGHT // right | |
DRAW_SPRITE_WITH_ROTATION SPRITE_CRING_DOWN 232.0 376.0 fHitZone_sprite_width fHitZone_sprite_height 90.0 255 255 255 iFXCurrentAlpha | |
ENDIF | |
++iHit_Rendering | |
BREAK | |
CASE 2 | |
IF TIMERB > iFXHitDuration | |
++iHit_Rendering | |
ENDIF | |
SET_SPRITES_DRAW_BEFORE_FADE TRUE | |
IF sprite_num = SPRITE_STKDWN // down | |
DRAW_SPRITE SPRITE_CRING_DOWN 232.0 376.0 fHitZone_sprite_width fHitZone_sprite_height 0 0 255 iFXCurrentAlpha | |
ENDIF | |
//fAdjustedY = y - 69.0 | |
IF sprite_num = SPRITE_STKUP // up | |
DRAW_SPRITE_WITH_ROTATION SPRITE_CRING_UP 232.0 376.0 fHitZone_sprite_width fHitZone_sprite_height 0.0 255 255 0 iFXCurrentAlpha | |
ENDIF | |
//fAdjustedY = fAdjustedY - 69.0 | |
IF sprite_num = SPRITE_STKLEFT // left | |
DRAW_SPRITE_WITH_ROTATION SPRITE_CRING_LEFT 232.0 376.0 fHitZone_sprite_width fHitZone_sprite_height -90.0 255 0 0 iFXCurrentAlpha | |
ENDIF | |
//fAdjustedY = fAdjustedY - 69.0 | |
IF sprite_num = SPRITE_STKRGHT // right | |
DRAW_SPRITE_WITH_ROTATION SPRITE_CRING_RIGHT 232.0 376.0 fHitZone_sprite_width fHitZone_sprite_height 90.0 0 255 0 iFXCurrentAlpha | |
ENDIF | |
BREAK | |
CASE 3 | |
//--- compute alpha | |
iTemp = iFXDesiredAlpha / time_elapsed | |
iTemp *= DB_HIT_STEP_MULTI_SLOW | |
//--- Fade out | |
iFXCurrentAlpha -= iTemp | |
IF iFXCurrentAlpha <= 0 | |
iFXCurrentAlpha = 0 | |
//--- FX finished | |
iHit_Rendering = 0 | |
BD_RenderHit = 0 | |
ENDIF | |
SET_SPRITES_DRAW_BEFORE_FADE TRUE | |
IF sprite_num = SPRITE_STKDWN // down | |
DRAW_SPRITE SPRITE_CRING_DOWN 232.0 376.0 fHitZone_sprite_width fHitZone_sprite_height 0 0 255 iFXCurrentAlpha | |
ENDIF | |
//fAdjustedY = y - 69.0 | |
IF sprite_num = SPRITE_STKUP // up | |
DRAW_SPRITE_WITH_ROTATION SPRITE_CRING_UP 232.0 376.0 fHitZone_sprite_width fHitZone_sprite_height 0.0 255 255 0 iFXCurrentAlpha | |
ENDIF | |
//fAdjustedY = fAdjustedY - 69.0 | |
IF sprite_num = SPRITE_STKLEFT // left | |
DRAW_SPRITE_WITH_ROTATION SPRITE_CRING_LEFT 232.0 376.0 fHitZone_sprite_width fHitZone_sprite_height -90.0 255 0 0 iFXCurrentAlpha | |
ENDIF | |
//fAdjustedY = fAdjustedY - 69.0 | |
IF sprite_num = SPRITE_STKRGHT // right | |
DRAW_SPRITE_WITH_ROTATION SPRITE_CRING_RIGHT 232.0 376.0 fHitZone_sprite_width fHitZone_sprite_height 90.0 0 255 0 iFXCurrentAlpha | |
ENDIF | |
BREAK | |
ENDSWITCH | |
RETURN | |
} | |
MISSION_START | |
//SCRIPT_NAME IMPEXPS | |
//{ | |
// START_NEW_SCRIPT import_export_script | |
//} | |
MISSION_END | |
VAR_INT current_wanted_list | |
VAR_INT current_wanted_car_list[10] // stores model ids of cars we want | |
VAR_INT current_wanted_car_status[10] // 0 - need, 1 - got | |
//VAR_INT current_wanted_car_payout[10] // stores the value of each car | |
VAR_INT current_import_car_list[6] | |
VAR_INT unlocked_import_cars[42] // total of 42 | |
VAR_INT imported_car | |
VAR_INT current_vehicle_cost | |
VAR_INT cross_out[10] | |
VAR_INT export_name[10] | |
VAR_INT import_name[6] | |
VAR_INT restore_mobile_for_filshie | |
VAR_INT wanted_list_object | |
VAR_INT impexp_selected_day | |
VAR_INT impexp_selected_car | |
VAR_FLOAT impexp_door_rotation | |
// globals that couldn't fit in the script | |
VAR_TEXT_LABEL impexp_text_label | |
VAR_TEXT_LABEL impexp_menu_text_label[6] | |
VAR_TEXT_LABEL impexp_day[7] | |
VAR_INT impexp_has_been_initialised | |
VAR_INT impexp_new_cars | |
VAR_INT explain_import_help | |
VAR_INT impexp_is_complete | |
VAR_INT steal4_flag | |
VAR_FLOAT import_price_multiplier | |
VAR_FLOAT export_price_multiplier | |
VAR_FLOAT export_damage_multiplier | |
VAR_INT imported_cars[5] // stores imported cars in memory | |
// *************************************************** | |
// IMPORT / EXPORT SCRIPT | |
// *************************************************** | |
{ | |
import_export_script: | |
SCRIPT_NAME IMPEXPM | |
//WRITE_DEBUG IMPEXPM_STARTED | |
LVAR_INT tri_is_pressed | |
LVAR_INT cross_is_pressed | |
LVAR_INT up_is_pressed | |
LVAR_INT down_is_pressed | |
// For widgets. | |
LVAR_FLOAT fWidgetValue | |
LVAR_INT temp_int | |
LVAR_INT temp_int2 | |
LVAR_INT temp_model | |
LVAR_FLOAT x2 y2 z2 | |
LVAR_FLOAT x3 y3 | |
LVAR_FLOAT temp_float temp_float2 temp_float3 | |
LVAR_INT impexp_mode // 0 - exporting, 1 - importing | |
LVAR_INT m_goals | |
LVAR_INT crane_car | |
LVAR_INT crane_ped | |
LVAR_INT crane_obj | |
LVAR_INT last_crane_car | |
LVAR_INT stored_model | |
LVAR_INT export_car | |
LVAR_INT help_flag | |
LVAR_INT selector_obj | |
LVAR_INT current_selection | |
LVAR_INT delete_export_car_flag | |
// board stuff | |
VAR_INT board | |
LVAR_INT imp_exp_help | |
LVAR_INT payout | |
LVAR_INT temp_seq | |
LVAR_INT player_was_in_car | |
// ----- INITIALISATION ---- ONLY RUN ONCE!!! -------- | |
IF NOT impexp_has_been_initialised = 99 | |
// fake create | |
IF impexp_has_been_initialised = -1000 | |
CREATE_OBJECT_NO_OFFSET NF_BLACKBOARD 0.0 0.0 0.0 board | |
CREATE_CAR_GENERATOR_WITH_PLATE 0.0 0.0 0.0 180.0 EUROS -1 -1 FALSE 50 0 0 10000 IMPEXP__ impexp_car_gen[0] | |
ENDIF | |
// create blackboard | |
IF NOT DOES_OBJECT_EXIST board | |
CREATE_OBJECT_NO_OFFSET NF_BLACKBOARD -1573.8812 135.3845 2.5350 board | |
SET_OBJECT_HEADING board 180.0 | |
FREEZE_OBJECT_POSITION board TRUE | |
SET_OBJECT_DYNAMIC board FALSE | |
DONT_REMOVE_OBJECT board | |
ENDIF | |
// set stuff intially, that will only ever be set ONCE | |
current_wanted_list = 0 | |
// clear list of unlockable cars, except for the initial unlocked ones. | |
unlocked_import_cars[0] = CLUB | |
unlocked_import_cars[1] = PEREN | |
unlocked_import_cars[2] = JESTER | |
unlocked_import_cars[3] = CLUB | |
unlocked_import_cars[4] = PEREN | |
unlocked_import_cars[5] = JESTER | |
temp_int = 6 | |
WHILE temp_int < 42 | |
unlocked_import_cars[temp_int] = -1 | |
temp_int++ | |
ENDWHILE | |
$impexp_day[0] = &IE16 | |
$impexp_day[1] = &IE10 | |
$impexp_day[2] = &IE11 | |
$impexp_day[3] = &IE12 | |
$impexp_day[4] = &IE13 | |
$impexp_day[5] = &IE14 | |
$impexp_day[6] = &IE15 | |
explain_import_help = 0 | |
impexp_new_cars = 0 | |
impexp_is_complete = 0 | |
import_price_multiplier = 0.8 | |
export_price_multiplier = 1.0 | |
//VIEW_INTEGER_VARIABLE impexp_new_cars impexp_new_cars | |
imported_cars[0] = -1 | |
imported_cars[1] = -1 | |
imported_cars[2] = -1 | |
imported_cars[3] = -1 | |
imported_cars[4] = -1 | |
START_NEW_SCRIPT impexp_car_check | |
impexp_has_been_initialised = 99 | |
ENDIF | |
import_export_script_start: | |
// wait for player to get near ------------------------------------------------- | |
impexp_script_manager_loop: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING player1 | |
// IF IS_CHAR_IN_ZONE scplayer EASB // Easter Basin zone. | |
IF LOCATE_CHAR_ANY_MEANS_2D scplayer -1574.8812 135.3845 150.0 150.0 FALSE | |
AND import_export_is_active = 1 | |
impexp_mode = 0 | |
GOTO impexp_main | |
ENDIF | |
ENDIF | |
GOTO impexp_script_manager_loop | |
delete_export_car_flag = 0 | |
// load up stuff we need for import export -------------------------------------- | |
impexp_main: | |
IF import_export_is_active = 1 | |
IF activate_mobile_phone = 1 | |
activate_mobile_phone = 0 | |
restore_mobile_for_filshie = 1 | |
ENDIF | |
ENDIF | |
GOSUB impexp_update_car_gens | |
//WRITE_DEBUG impexp_main_started | |
// fake creates | |
IF m_goals = -1 | |
CREATE_CAR PONY 0.0 0.0 0.0 crane_car | |
CREATE_CAR PONY 0.0 0.0 0.0 last_crane_car | |
CREATE_CAR PONY 0.0 0.0 0.0 export_car | |
CREATE_OBJECT WOODENBOX 0.0 0.0 0.0 board | |
CREATE_OBJECT WOODENBOX 0.0 0.0 0.0 cross_out[0] | |
CREATE_OBJECT WOODENBOX 0.0 0.0 0.0 export_name[0] | |
CREATE_OBJECT WOODENBOX 0.0 0.0 0.0 import_name[0] | |
CREATE_OBJECT WOODENBOX 0.0 0.0 0.0 selector_obj | |
// CREATE_OBJECT WOODENBOX 0.0 0.0 0.0 door1 | |
// CREATE_OBJECT WOODENBOX 0.0 0.0 0.0 door2 | |
CREATE_OBJECT WOODENBOX 0.0 0.0 0.0 magno_arm | |
CREATE_OBJECT WOODENBOX 0.0 0.0 0.0 wanted_list_object | |
ENDIF | |
m_goals = 0 | |
last_crane_car = -1 | |
help_flag = 0 | |
impexp_door_rotation = 0.0 | |
imp_exp_help = 0 | |
GOSUB load_wanted_car_list | |
GOSUB load_import_car_list | |
// export names on board | |
IF import_export_is_active = 1 | |
IF DOES_OBJECT_EXIST wanted_list_object | |
DELETE_OBJECT wanted_list_object | |
ENDIF | |
IF current_wanted_list = 0 | |
GET_OFFSET_FROM_OBJECT_IN_WORLD_COORDS board 0.0 0.0 0.0 x y z | |
CREATE_OBJECT_NO_OFFSET NF_LIST_1 x y z wanted_list_object | |
SET_OBJECT_HEADING wanted_list_object 180.0 | |
//WRITE_DEBUG create_board1 | |
ENDIF | |
IF current_wanted_list = 1 | |
GET_OFFSET_FROM_OBJECT_IN_WORLD_COORDS board 0.0 0.0 0.0 x y z | |
CREATE_OBJECT_NO_OFFSET NF_LIST_2 x y z wanted_list_object | |
SET_OBJECT_HEADING wanted_list_object 180.0 | |
//WRITE_DEBUG create_board2 | |
ENDIF | |
IF current_wanted_list = 2 | |
GET_OFFSET_FROM_OBJECT_IN_WORLD_COORDS board 0.0 0.0 0.0 x y z | |
CREATE_OBJECT_NO_OFFSET NF_LIST_3 x y z wanted_list_object | |
SET_OBJECT_HEADING wanted_list_object 180.0 | |
//WRITE_DEBUG create_board3 | |
ENDIF | |
ENDIF | |
GOSUB impexp_update_car_gens | |
// create score offs | |
IF import_export_is_active = 1 | |
temp_int = 0 | |
WHILE temp_int < 10 | |
IF DOES_OBJECT_EXIST cross_out[temp_int] | |
DELETE_OBJECT cross_out[temp_int] | |
ENDIF | |
cross_out[temp_int] = -1 | |
IF flag_player_on_mission = 0 | |
OR steal4_flag = 1 | |
IF current_wanted_car_status[temp_int] = 1 | |
IF NOT DOES_OBJECT_EXIST cross_out[temp_int] | |
// figure out x y z | |
GET_OFFSET_FROM_OBJECT_IN_WORLD_COORDS board 0.0 0.0 0.0 x y z | |
temp_float =# temp_int | |
IF temp_float > 4.0 | |
temp_float += -5.0 | |
ENDIF | |
// add on verticle offset | |
temp_float2 = temp_float | |
temp_float2 *= -0.05 | |
temp_float *= -0.2355 | |
temp_float += temp_float2 | |
z += temp_float | |
// add on horizontal offset | |
IF temp_int < 5 | |
x += 1.741 | |
ENDIF | |
temp_float *= -0.1 | |
z += temp_float | |
CREATE_OBJECT_NO_OFFSET WANTED_CROSS_OFF x y z cross_out[temp_int] | |
FREEZE_OBJECT_POSITION cross_out[temp_int] TRUE | |
SET_OBJECT_HEADING cross_out[temp_int] 180.0 | |
ENDIF | |
ENDIF | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
ENDIF | |
// import export loop ----------------------------------------------------------- | |
impexp_main_loop: | |
WAIT 0 | |
IF import_export_is_active = 0 | |
GOTO impexp_main_loop | |
ENDIF | |
IF delete_export_car_flag = 1 | |
IF DOES_VEHICLE_EXIST export_car | |
IF NOT IS_CAR_DEAD export_car | |
FREEZE_CAR_POSITION export_car TRUE | |
IF NOT IS_CAR_ON_SCREEN export_car | |
//WRITE_DEBUG delete_export1 | |
DELETE_CAR export_car | |
delete_export_car_flag = 0 | |
ENDIF | |
ELSE | |
//WRITE_DEBUG delete_export2 | |
DELETE_CAR export_car | |
delete_export_car_flag = 0 | |
ENDIF | |
// check it not being lifted by crane | |
GRAB_ENTITY_ON_ROPE_FOR_OBJECT magno_arm crane_car crane_ped crane_obj | |
IF crane_car = export_car | |
RELEASE_ENTITY_FROM_ROPE_FOR_OBJECT magno_arm | |
ENDIF | |
ENDIF | |
ENDIF | |
IF NOT impexp_new_cars = 0 | |
AND TIMERB > 5000 | |
IF NOT IS_MESSAGE_BEING_DISPLAYED | |
AND NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
IF impexp_new_cars = 1 | |
PRINT_HELP IE25 | |
ENDIF | |
IF impexp_new_cars = 2 | |
PRINT_HELP IE26 | |
ENDIF | |
impexp_new_cars = 0 | |
//WRITE_DEBUG printed_help | |
ENDIF | |
ENDIF | |
IF explain_import_help = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ANY_MEANS_2D scplayer -1574.8812 135.3845 40.0 40.0 FALSE | |
IF NOT IS_MESSAGE_BEING_DISPLAYED | |
AND NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP IE27 | |
explain_import_help++ | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
//IF IS_CHAR_IN_ZONE scplayer EASB // Easter Basin zone. | |
IF LOCATE_CHAR_ANY_MEANS_2D scplayer -1574.8812 135.3845 150.0 150.0 FALSE | |
// PLAYER IS IN EXPORTING MODE (DEFAULT) +++++++++ | |
IF impexp_mode = 0 | |
IF impexp_is_complete = 0 | |
// WAIT FOR CORRECT CAT TO BE PLACED IN LOCATE | |
IF m_goals = 0 | |
GOSUB store_last_crane_car | |
// display corona | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer -1577.9417 52.6333 16.3281 4.0 4.0 6.0 TRUE | |
// fuck all | |
ENDIF | |
ENDIF | |
GET_RANDOM_CAR_IN_SPHERE_NO_SAVE -1577.9417 52.6333 16.3281 4.0 -1 car | |
IF DOES_VEHICLE_EXIST car | |
IF NOT IS_CAR_DEAD car | |
IF IS_CAR_STOPPED car | |
IF NOT IS_CAR_IN_AIR_PROPER car | |
IF NOT car = crane_car | |
// check to see that car is wanted | |
GET_CAR_MODEL car temp_model | |
// check if car is on wanted list | |
temp_int = 0 | |
temp_int2 = 0 | |
WHILE temp_int < 10 | |
IF current_wanted_car_list[temp_int] = temp_model | |
IF current_wanted_car_status[temp_int] = 0 | |
temp_int2 = 1 | |
temp_int = 10 | |
ENDIF | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
IF temp_int2 = 1 | |
export_car = car | |
IF IS_CAR_PASSENGER_SEAT_FREE car 0 | |
CREATE_RANDOM_CHAR -1576.88 55.26 8.57 crane_ped | |
WARP_CHAR_INTO_CAR_AS_PASSENGER crane_ped car 0 | |
SET_CHAR_VISIBLE crane_ped FALSE | |
//WRITE_DEBUG ped_is_in_car | |
ELSE | |
GET_CHAR_IN_CAR_PASSENGER_SEAT car 0 crane_ped | |
DELETE_CHAR crane_ped | |
CREATE_RANDOM_CHAR -1576.88 55.26 8.57 crane_ped | |
WARP_CHAR_INTO_CAR_AS_PASSENGER crane_ped car 0 | |
SET_CHAR_VISIBLE crane_ped FALSE | |
//WRITE_DEBUG ped_is_deleted | |
ENDIF | |
m_goals++ | |
TIMERA = 0 | |
ELSE | |
IF NOT IS_MESSAGE_BEING_DISPLAYED | |
PRINT IE23 3000 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
IF LOCATE_STOPPED_CHAR_IN_CAR_3D scplayer -1577.9417 52.6333 16.3281 4.0 4.0 6.0 FALSE | |
STORE_CAR_CHAR_IS_IN_NO_SAVE scplayer car | |
GET_CAR_MODEL car temp_model | |
// check if car is on wanted list | |
temp_int = 0 | |
temp_int2 = 0 | |
WHILE temp_int < 10 | |
IF current_wanted_car_list[temp_int] = temp_model | |
IF current_wanted_car_status[temp_int] = 0 | |
temp_int2 = 1 | |
temp_int = 10 | |
ENDIF | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
IF temp_int2 = 1 | |
export_car = car | |
IF NOT IS_CAR_DEAD export_car | |
//SET_CAR_STATUS export_car STATUS_PLAYER | |
ENDIF | |
m_goals++ | |
TIMERA = 0 | |
ELSE | |
IF NOT IS_MESSAGE_BEING_DISPLAYED | |
PRINT IE23 3000 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF m_goals = 1 | |
IF DOES_OBJECT_EXIST magno_arm | |
SET_ROPE_HEIGHT_FOR_OBJECT magno_arm 0.7 | |
ENDIF | |
disable_crane = 1 | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
ENDIF | |
DO_FADE 250 FADE_OUT | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
IF DOES_VEHICLE_EXIST export_car | |
IF NOT IS_CAR_DEAD export_car | |
IF IS_PLAYER_PLAYING player1 | |
GET_CHAR_COORDINATES scplayer x y z | |
ENDIF | |
SET_CAR_COORDINATES export_car -1577.9417 52.6333 40.0 | |
FREEZE_CAR_POSITION export_car TRUE | |
GET_CAR_HEALTH export_car temp_int | |
export_damage_multiplier =# temp_int | |
export_damage_multiplier /= 1000.0 | |
ENDIF | |
ENDIF | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION -1573.4189 53.4591 17.9655 0.0 0.0 0.0 | |
POINT_CAMERA_AT_POINT -1574.3435 53.0835 17.9027 JUMP_CUT | |
CLEAR_AREA -1577.9417 52.6333 16.3281 9.0 TRUE | |
WAIT 0 | |
// align car position | |
IF NOT IS_CAR_DEAD export_car | |
GET_CAR_MODEL export_car temp_int | |
GET_MODEL_DIMENSIONS temp_int x y z x2 y2 z2 | |
temp_float = y2 - y // car length | |
temp_float /= 2.0 | |
temp_float *= -1.0 | |
SIN 45.0 temp_float3 | |
COS 45.0 temp_float2 | |
temp_float2 *= temp_float | |
temp_float3 *= temp_float | |
x = -1577.9417 + temp_float3 | |
y = 52.6333 + temp_float2 | |
z = 16.3281 | |
FREEZE_CAR_POSITION export_car FALSE | |
SET_CAR_COORDINATES export_car x y z | |
SET_CAR_HEADING export_car 315.0 | |
ENDIF | |
DO_FADE 250 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
// set players position (if not in crane) | |
IF IS_PLAYER_PLAYING player1 | |
IF NOT IS_CAR_DEAD export_car | |
IF IS_CHAR_IN_CAR scplayer export_car | |
player_was_in_car = 1 | |
OPEN_SEQUENCE_TASK temp_seq | |
TASK_LEAVE_CAR -1 export_car | |
TASK_GO_STRAIGHT_TO_COORD -1 -1578.1637 63.7954 16.3281 PEDMOVE_WALK 10000 | |
CLOSE_SEQUENCE_TASK temp_seq | |
PERFORM_SEQUENCE_TASK scplayer temp_seq | |
CLEAR_SEQUENCE_TASK temp_seq | |
ELSE | |
player_was_in_car = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
PRINT_NOW IE24 5000 1 // ~s~You have successfully delivered this vehicle for export. | |
ENABLE_CRANE_CONTROLS FALSE FALSE FALSE // Make sure the widgets don't show up when we're waiting for user to continue. | |
ADD_WIDGET_FLAG WIDGET_MISSION_START 4 // WIDGET_FLAG_ENABLED_IN_CUTSCENE | |
IF IS_WIDGET_RELEASED WIDGET_MISSION_START | |
cross_is_pressed = 1 | |
ENDIF | |
TIMERA = 0 | |
m_goals++ | |
ENDIF | |
// wait for a couple of secs | |
IF m_goals = 2 | |
IF TIMERA > 5000 | |
AND IS_WIDGET_RELEASED WIDGET_MISSION_START | |
IF cross_is_pressed = 0 | |
m_goals++ | |
ENDIF | |
ENDIF | |
IF cross_is_pressed = 1 | |
IF NOT IS_WIDGET_RELEASED WIDGET_MISSION_START | |
cross_is_pressed = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
// cleanup | |
IF m_Goals = 3 | |
ENABLE_CRANE_CONTROLS TRUE TRUE TRUE | |
REMOVE_WIDGET_FLAG WIDGET_MISSION_START 4 // WIDGET_FLAG_ENABLED_IN_CUTSCENE | |
DO_FADE 500 FADE_OUT | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
// set char coordinates (if not in crane) | |
IF NOT player_was_in_car = 0 | |
IF IS_PLAYER_PLAYING player1 | |
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer | |
SET_CHAR_COORDINATES scplayer -1578.1637 63.7954 16.3281 | |
SET_CHAR_HEADING scplayer 0.8 | |
ENDIF | |
ENDIF | |
GOSUB impexp_update_car_lists | |
//WRITE_DEBUG_WITH_INT impexp_new_cars impexp_new_cars | |
DELETE_CAR export_car | |
IF DOES_CHAR_EXIST crane_ped | |
DELETE_CHAR crane_ped | |
ENDIF | |
SET_CAMERA_BEHIND_PLAYER | |
RESTORE_CAMERA_JUMPCUT | |
SWITCH_WIDESCREEN OFF | |
disable_crane = 0 | |
IF player_is_in_crane = 2 | |
reset_crane_camera = 1 | |
ENDIF | |
DO_FADE 500 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 ON | |
ENDIF | |
IF impexp_is_complete = 1 | |
PRINT_BIG IE29 5000 1 // all cars collected!! | |
REPORT_MISSION_AUDIO_EVENT_AT_POSITION -1000.0 -1000.0 -1000.0 SOUND_PART_MISSION_COMPLETE | |
WAIT 5000 | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
ADD_SCORE player1 payout | |
ENDIF | |
PRINT_WITH_NUMBER_BIG IE30 payout 5000 1 | |
REPORT_MISSION_AUDIO_EVENT_AT_POSITION -1000.0 -1000.0 -1000.0 SOUND_PART_MISSION_COMPLETE | |
TIMERB = 0 | |
GOTO impexp_main | |
ENDIF | |
ENDIF | |
// check if player is looking at export board | |
IF DOES_OBJECT_EXIST board | |
GET_OFFSET_FROM_OBJECT_IN_WORLD_COORDS board 0.0 1.5 0.0 x y z | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer x y z 2.0 1.0 2.0 FALSE | |
IF NOT help_flag = 1 | |
PRINT_HELP IE18 | |
help_flag = 1 | |
ENDIF | |
SET_PLAYER_ENTER_CAR_BUTTON player1 FALSE | |
IF tri_is_pressed = 0 | |
WRITE_LOG "FANCYCONTEXT WIDGET_MISSION_START VIEWVEH" // "View Vehicles". Button prompts for a shared buttons need to present context-specific strings. | |
IF IS_WIDGET_RELEASED WIDGET_MISSION_START | |
tri_is_pressed = 1 | |
impexp_mode = 1 | |
GOTO impexp_main | |
ENDIF | |
ELSE | |
IF NOT IS_WIDGET_RELEASED WIDGET_MISSION_START | |
tri_is_pressed = 0 | |
ENDIF | |
ENDIF | |
ELSE | |
IF help_flag = 1 | |
CLEAR_HELP | |
help_flag = 0 | |
ENDIF | |
SET_PLAYER_ENTER_CAR_BUTTON player1 TRUE | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
// PLAYER IS VIEWING IMPORT BOARD MODE -------------------------- | |
IF impexp_mode = 1 | |
// set player position and camera position | |
import_mode_start: | |
// --------------- SET FIRST MENU UP ---------------------------- | |
IF m_goals = 0 | |
// set camera | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
ENDIF | |
CLEAR_HELP | |
//This is needed here but it breaks old saves :( | |
//SET_WIDGET_TEXTURE WIDGET_STORE_ACCEPT "hud_check" | |
PRINT_HELP_FOREVER IE20HID // Use the movement controls to select a day. Press ~m~~widget_store_accept~ to continue. Press ~m~~widget_store_cancel~ to exit. | |
DISPLAY_RADAR FALSE | |
// Not sure what's creating a flicker here when you destroy a menu and recreate it. | |
WAIT 100 | |
// Create the main menu. | |
CREATE_SHOP_WIDGET IE09 | |
ADD_SHOP_ITEM IE16 0 | |
ADD_SHOP_ITEM IE10 0 | |
ADD_SHOP_ITEM IE11 0 | |
ADD_SHOP_ITEM IE12 0 | |
ADD_SHOP_ITEM IE13 0 | |
ADD_SHOP_ITEM IE14 0 | |
ADD_SHOP_ITEM IE15 0 | |
IF temp_int = -69 | |
fWidgetValue =# impexp_selected_day | |
SET_WIDGET_VALUE WIDGET_SHOP fWidgetValue // Set selected item to equipped item. | |
ELSE | |
GET_CURRENT_DAY_OF_WEEK temp_int | |
temp_int -= 1 // match up with menu system | |
fWidgetValue =# temp_int | |
SET_WIDGET_VALUE WIDGET_SHOP fWidgetValue // Set selected item to equipped item. | |
ENDIF | |
m_goals++ | |
ENDIF | |
// -------- wait for user to select a day ------------------------ | |
IF m_goals = 1 | |
IF cross_is_pressed = 0 | |
IF IS_WIDGET_RELEASED WIDGET_STORE_ACCEPT | |
GET_WIDGET_VALUE WIDGET_SHOP fWidgetValue // Grab the selected item from the widget. | |
impexp_selected_day =# fWidgetValue | |
m_goals++ | |
cross_is_pressed = 1 | |
CLEAR_THIS_PRINT IE28 | |
ENDIF | |
ELSE | |
IF NOT IS_WIDGET_RELEASED WIDGET_STORE_ACCEPT | |
cross_is_pressed = 0 | |
ENDIF | |
ENDIF | |
IF tri_is_pressed = 0 | |
IF IS_WIDGET_RELEASED WIDGET_STORE_CANCEL | |
GOSUB impexp_delete_menus | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 ON | |
ENDIF | |
DISPLAY_RADAR TRUE | |
CLEAR_HELP | |
impexp_mode = 0 | |
m_goals = 0 | |
tri_is_pressed = 1 | |
ENDIF | |
ELSE | |
IF NOT IS_WIDGET_RELEASED WIDGET_STORE_CANCEL | |
tri_is_pressed = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
// ----------- setup cars available for that day --------------- | |
IF m_goals = 2 | |
// load cars available | |
import_car_list_input = impexp_selected_day | |
GOSUB load_import_car_list | |
// check cars are available | |
temp_int = 0 | |
temp_int2 = 0 | |
WHILE temp_int < 6 | |
IF NOT current_import_car_list[temp_int] = -1 | |
temp_int2 = 1 | |
temp_int = 6 | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
// no cars are available for that day | |
IF temp_int2 = 0 | |
PRINT_NOW IE28 5000 1 | |
m_goals = 1 | |
GOTO import_mode_start | |
ELSE | |
CLEAR_HELP | |
PRINT_HELP_FOREVER IE21HID // Use the movement controls to select a vehicle. Press ~m~~widget_store_accept~ to continue. Press ~m~~widget_store_back~ to exit. | |
// create menu. fill menu - first colum - cars | |
temp_int = 0 | |
WHILE temp_int < 6 | |
temp_model = current_import_car_list[temp_int] | |
IF NOT temp_model = -1 | |
GOSUB get_vehicle_text_label | |
$impexp_menu_text_label[temp_int] = $impexp_text_label | |
ELSE | |
$impexp_menu_text_label[temp_int] = DUMMY | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
temp_int = impexp_selected_day | |
CREATE_SHOP_WIDGET IE09 | |
temp_int = 0 | |
WHILE temp_int < 6 | |
temp_model = current_import_car_list[temp_int] | |
IF NOT temp_model = -1 | |
GET_CAR_MODEL_VALUE current_import_car_list[temp_int] current_vehicle_cost | |
temp_float =# current_vehicle_cost | |
temp_float *= import_price_multiplier | |
current_vehicle_cost =# temp_float | |
ADD_SHOP_ITEM $impexp_menu_text_label[temp_int] current_vehicle_cost | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
m_goals ++ | |
ENDIF | |
ENDIF | |
// --------- wait for user to select ------------- | |
IF m_goals = 3 | |
IF cross_is_pressed = 0 | |
IF IS_WIDGET_RELEASED WIDGET_STORE_ACCEPT | |
GET_WIDGET_VALUE WIDGET_SHOP fWidgetValue // Grab the selected item from the widget. | |
impexp_selected_car =# fWidgetValue | |
//CLEAR_HELP This is not allowed here; breaks existing saves :( | |
m_goals++ | |
cross_is_pressed = 1 | |
ENDIF | |
ELSE | |
IF NOT IS_WIDGET_RELEASED WIDGET_STORE_ACCEPT | |
cross_is_pressed = 0 | |
ENDIF | |
ENDIF | |
IF tri_is_pressed = 0 | |
IF IS_WIDGET_RELEASED WIDGET_STORE_BACK | |
GOSUB impexp_delete_menus | |
m_goals = 0 | |
tri_is_pressed = 1 | |
temp_int = -69 | |
GOTO import_mode_start | |
ENDIF | |
ELSE | |
IF NOT IS_WIDGET_RELEASED WIDGET_STORE_BACK | |
tri_is_pressed = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
// -------- check if player can buy car -------- | |
IF m_goals = 4 | |
// check it's correct day | |
GET_CURRENT_DAY_OF_WEEK temp_int | |
temp_int += -1 // match up with menu system | |
IF NOT temp_int = impexp_selected_day | |
PRINT_NOW IE19 5000 1 // wrong day! | |
GOSUB impexp_delete_menus | |
m_goals = 0 | |
ENDIF | |
// check player has enough cash | |
GET_CAR_MODEL_VALUE current_import_car_list[current_selection] current_vehicle_cost | |
temp_float =# current_vehicle_cost | |
temp_float *= import_price_multiplier | |
current_vehicle_cost =# temp_float | |
STORE_SCORE player1 temp_int | |
IF current_vehicle_cost > temp_int | |
PRINT_NOW IE07 5000 1 // not enough cash! | |
GOSUB impexp_delete_menus | |
m_goals = 0 | |
ENDIF | |
// check that a vehicle has been selected | |
IF NOT m_goals = 0 | |
IF current_import_car_list[impexp_selected_car] = -1 | |
GOSUB impexp_delete_menus | |
m_goals = 0 | |
ENDIF | |
ENDIF | |
// we must be ok then - proceed with importing the car | |
IF NOT m_goals = 0 | |
// current_selection = impexp_selected_car | |
// GOSUB get_model_cost | |
GET_CAR_MODEL_VALUE current_import_car_list[current_selection] current_vehicle_cost | |
temp_float =# current_vehicle_cost | |
temp_float *= import_price_multiplier | |
current_vehicle_cost =# temp_float | |
temp_int = current_vehicle_cost * -1 | |
ADD_SCORE player1 temp_int | |
m_goals++ | |
ENDIF | |
ENDIF | |
// ------- create car ---------------------- | |
IF m_Goals = 5 | |
// load the model | |
IF NOT HAS_MODEL_LOADED current_import_car_list[impexp_selected_car] | |
REQUEST_MODEL current_import_car_list[impexp_selected_car] | |
WHILE NOT HAS_MODEL_LOADED current_import_car_list[impexp_selected_car] | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
CLEAR_HELP | |
GOSUB impexp_delete_menus | |
CLEAR_AREA -1572.1682 63.2853 16.3281 20.0 TRUE | |
// create car | |
GOSUB ie_create_custom_plates | |
CREATE_CAR current_import_car_list[impexp_selected_car] -1572.1682 63.2853 16.3281 imported_car | |
SET_VEHICLE_DIRT_LEVEL imported_car 0.0 | |
SET_CAR_HEADING imported_car 315.0 | |
MARK_MODEL_AS_NO_LONGER_NEEDED current_import_car_list[impexp_selected_car] | |
// if it's a golf | |
IF current_import_car_list[impexp_selected_car] = CLUB | |
CHANGE_CAR_COLOUR imported_car 11 0 | |
ENDIF | |
GET_CAR_MODEL imported_car temp_int | |
GET_MODEL_DIMENSIONS temp_int x y z x2 y2 z2 | |
temp_float = y2 - y // car length | |
temp_float /= 2.0 | |
temp_float *= -1.0 | |
COS 45.0 temp_float2 | |
SIN 45.0 temp_float3 | |
temp_float2 *= temp_float | |
temp_float3 *= temp_float | |
x = -1572.1682 + temp_float3 | |
y = 63.2853 + temp_float2 | |
z = 16.3281 | |
SET_CAR_COORDINATES imported_car x y z | |
SET_CAR_HEADING imported_car 315.0 | |
CLEAR_PRINTS | |
SWITCH_WIDESCREEN ON | |
SET_FIXED_CAMERA_POSITION -1567.5967 63.2567 17.7586 0.0 0.0 0.0 | |
POINT_CAMERA_AT_POINT -1568.5756 63.0585 17.7094 JUMP_CUT | |
PRINT_NOW IE08 5000 1 // Your new vehicle is on the container ship. | |
// increment stat | |
INCREMENT_INT_STAT VEHICLES_IMPORTED 1 | |
TIMERA = 0 | |
m_goals++ | |
ENDIF | |
// ---------- admire car ----------- | |
IF m_goals = 6 | |
IF TIMERA > 5000 | |
m_goals++ | |
ELSE | |
IF cross_is_pressed = 0 | |
IF IS_WIDGET_RELEASED WIDGET_MISSION_START | |
m_goals++ | |
ENDIF | |
ELSE | |
IF NOT IS_WIDGET_RELEASED WIDGET_STORE_ACCEPT | |
cross_is_pressed = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
// -------- restore player, wait for him to pickup car ------------- | |
IF m_goals = 7 | |
CLEAR_PRINTS | |
SET_CAMERA_BEHIND_PLAYER | |
RESTORE_CAMERA_JUMPCUT | |
SWITCH_WIDESCREEN OFF | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 ON | |
ENDIF | |
SET_PLAYER_ENTER_CAR_BUTTON player1 TRUE | |
DISPLAY_RADAR TRUE | |
CLEAR_HELP | |
m_goals++ | |
ENDIF | |
// wait for player to remove car | |
IF m_goals = 8 | |
IF NOT IS_CAR_DEAD imported_car | |
IF NOT LOCATE_CAR_3D imported_car -1572.1682 63.2853 16.3281 30.0 30.0 5.0 FALSE | |
AND NOT IS_POINT_ON_SCREEN -1572.1682 63.2853 16.3281 5.0 | |
MARK_CAR_AS_NO_LONGER_NEEDED imported_car | |
impexp_mode = 0 | |
m_goals = 0 | |
GOTO impexp_main | |
ENDIF | |
ELSE | |
MARK_CAR_AS_NO_LONGER_NEEDED imported_car | |
impexp_mode = 0 | |
m_goals = 0 | |
GOTO impexp_main | |
ENDIF | |
// check if player is looking at export board | |
IF DOES_OBJECT_EXIST board | |
GET_OFFSET_FROM_OBJECT_IN_WORLD_COORDS board 0.0 1.5 0.0 x y z | |
IF IS_PLAYER_PLAYING player1 | |
IF LOCATE_CHAR_ON_FOOT_3D scplayer x y z 2.0 1.0 2.0 FALSE | |
IF tri_is_pressed = 0 | |
IF IS_WIDGET_RELEASED WIDGET_MISSION_CANCEL | |
tri_is_pressed = 1 | |
PRINT_NOW IE08 5000 1 // Your new vehicle is on the container ship. | |
ENDIF | |
ELSE | |
IF NOT IS_WIDGET_RELEASED WIDGET_STORE_BACK | |
tri_is_pressed = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
GOTO impexp_cleanup | |
ENDIF | |
ELSE | |
GOTO impexp_cleanup | |
ENDIF | |
IF IS_PS2_KEYBOARD_KEY_JUST_PRESSED PS2_KEY_U | |
// find next wanted model | |
temp_int = 0 | |
WHILE temp_int < 10 | |
IF current_wanted_car_status[temp_int] = 0 | |
temp_model = current_wanted_car_list[temp_int] | |
temp_int = 10 | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
GOSUB impexp_update_car_lists | |
GOTO impexp_main | |
ENDIF | |
IF IS_PS2_KEYBOARD_KEY_JUST_PRESSED PS2_KEY_T | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
SAVE_STRING_TO_DEBUG_FILE "current_wanted_list = " | |
SAVE_INT_TO_DEBUG_FILE current_wanted_list | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
SAVE_STRING_TO_DEBUG_FILE "modID, status, payout, exp name, cross out" | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
temp_int = 0 | |
WHILE temp_int < 10 | |
SAVE_INT_TO_DEBUG_FILE current_wanted_car_list[temp_int] | |
SAVE_STRING_TO_DEBUG_FILE " " | |
SAVE_INT_TO_DEBUG_FILE current_wanted_car_status[temp_int] | |
SAVE_STRING_TO_DEBUG_FILE " " | |
//SAVE_INT_TO_DEBUG_FILE current_wanted_car_payout[temp_int] | |
SAVE_STRING_TO_DEBUG_FILE " " | |
SAVE_INT_TO_DEBUG_FILE export_name[temp_int] | |
SAVE_STRING_TO_DEBUG_FILE " " | |
SAVE_INT_TO_DEBUG_FILE cross_out[temp_int] | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
temp_int++ | |
ENDWHILE | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
SAVE_STRING_TO_DEBUG_FILE "import details" | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
SAVE_STRING_TO_DEBUG_FILE "modID, imp name" | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
temp_int = 0 | |
WHILE temp_int < 6 | |
SAVE_INT_TO_DEBUG_FILE current_import_car_list[temp_int] | |
SAVE_STRING_TO_DEBUG_FILE " " | |
SAVE_INT_TO_DEBUG_FILE import_name[temp_int] | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
temp_int++ | |
ENDWHILE | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
SAVE_STRING_TO_DEBUG_FILE "unlocked_import_cars array" | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
temp_int = 0 | |
WHILE temp_int < 42 | |
SAVE_STRING_TO_DEBUG_FILE "unlocked_import_cars[" | |
SAVE_INT_TO_DEBUG_FILE temp_int | |
SAVE_STRING_TO_DEBUG_FILE "] = " | |
SAVE_INT_TO_DEBUG_FILE unlocked_import_cars[temp_int] | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
temp_int++ | |
ENDWHILE | |
ENDIF | |
GOTO impexp_main_loop | |
impexp_delete_menus: | |
DELETE_WIDGET WIDGET_SHOP | |
RETURN | |
// cleanup then go back to the start of script ------------------------------------ | |
impexp_cleanup: | |
//WRITE_DEBUG impexp_cleaned_up | |
IF DOES_VEHICLE_EXIST export_car | |
IF DOES_OBJECT_EXIST magno_arm | |
GRAB_ENTITY_ON_ROPE_FOR_OBJECT magno_arm crane_car crane_ped crane_obj | |
IF NOT crane_car = export_car | |
MARK_CAR_AS_NO_LONGER_NEEDED export_car | |
ENDIF | |
ENDIF | |
ENDIF | |
IF DOES_VEHICLE_EXIST imported_car | |
IF DOES_OBJECT_EXIST magno_arm | |
GRAB_ENTITY_ON_ROPE_FOR_OBJECT magno_arm crane_car crane_ped crane_obj | |
IF NOT crane_car = imported_car | |
MARK_CAR_AS_NO_LONGER_NEEDED imported_car | |
ENDIF | |
ENDIF | |
ENDIF | |
IF DOES_CHAR_EXIST crane_ped | |
DELETE_CHAR crane_ped | |
ENDIF | |
IF DOES_OBJECT_EXIST selector_obj | |
DELETE_OBJECT selector_obj | |
ENDIF | |
temp_int = 0 | |
WHILE temp_int < 10 | |
IF DOES_OBJECT_EXIST cross_out[temp_int] | |
DELETE_OBJECT cross_out[temp_int] | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
IF DOES_OBJECT_EXIST wanted_list_object | |
DELETE_OBJECT wanted_list_object | |
ENDIF | |
// IF DOES_OBJECT_EXIST board | |
// DELETE_OBJECT board | |
// ENDIF | |
IF restore_mobile_for_filshie = 1 | |
activate_mobile_phone = 1 | |
ENDIF | |
GOTO import_export_script_start | |
// GOSUBS *********************************************** | |
impexp_board_cleanup: | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 ON | |
SET_PLAYER_ENTER_CAR_BUTTON player1 TRUE | |
ENDIF | |
SWITCH_WIDESCREEN OFF | |
SET_CAMERA_BEHIND_PLAYER | |
RESTORE_CAMERA_JUMPCUT | |
CLEAR_PRINTS | |
tri_is_pressed = 1 | |
RETURN | |
impexp_draw_buying_hud: | |
RETURN | |
impexp_update_car_lists: | |
// update stat | |
INCREMENT_INT_STAT VEHICLES_EXPORTED 1 | |
// mark car off list | |
temp_int = 0 | |
WHILE temp_int < 10 | |
IF current_wanted_car_list[temp_int] = temp_model | |
IF current_wanted_car_status[temp_int] = 0 | |
current_wanted_car_status[temp_int] = 1 | |
// give player cash | |
//payout = current_wanted_car_payout[temp_int] | |
GET_CAR_MODEL_VALUE temp_model payout | |
temp_float =# payout | |
temp_float *= export_price_multiplier | |
temp_float *= export_damage_multiplier | |
payout =# temp_float | |
GET_INT_STAT VEHICLES_EXPORTED temp_int | |
SWITCH temp_int | |
CASE 10 | |
payout += 50000 | |
BREAK | |
CASE 20 | |
payout += 100000 | |
BREAK | |
CASE 30 | |
payout += 200000 | |
IF NOT impexp_is_complete = 1 | |
WRITE_LOG "UNLOCK_ACHIEVEMENT A_LEGITIMATE_BUSINESS" | |
impexp_is_complete = 1 | |
ENDIF | |
BREAK | |
ENDSWITCH | |
temp_int = 10 | |
ENDIF | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
// update car gens | |
GOSUB impexp_update_car_gens | |
// add car to unlocked list | |
temp_int = 0 | |
WHILE temp_int < 42 | |
IF unlocked_import_cars[temp_int] = -1 | |
unlocked_import_cars[temp_int] = temp_model | |
temp_int2 = temp_int | |
temp_int = 42 | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
impexp_new_cars = 1 | |
//WRITE_DEBUG_WITH_INT impexp_new_cars impexp_new_cars | |
// unlock special cars - one gets unlocked every 3ish cars | |
SWITCH temp_int2 | |
CASE 10 | |
temp_int2++ | |
unlocked_import_cars[temp_int2] = MONSTER | |
impexp_new_cars++ | |
BREAK | |
// CASE 9 | |
// temp_int2++ | |
// unlocked_import_cars[temp_int2] = NRG500 | |
// impexp_new_cars++ | |
// BREAK | |
CASE 16 | |
temp_int2++ | |
unlocked_import_cars[temp_int2] = WINDSOR | |
PLAYER_MADE_PROGRESS 1 | |
PLAY_MISSION_PASSED_TUNE 2 | |
impexp_new_cars++ | |
BREAK | |
// CASE 18 | |
// temp_int2++ | |
// unlocked_import_cars[temp_int2] = HOTKNIFE | |
// impexp_new_cars++ | |
// BREAK | |
CASE 22 | |
temp_int2++ | |
unlocked_import_cars[temp_int2] = BANDITO | |
impexp_new_cars++ | |
BREAK | |
CASE 28 | |
temp_int2++ | |
unlocked_import_cars[temp_int2] = TURISMO | |
PLAYER_MADE_PROGRESS 1 | |
PLAY_MISSION_PASSED_TUNE 2 | |
impexp_new_cars++ | |
BREAK | |
// CASE 31 | |
// temp_int2++ | |
// unlocked_import_cars[temp_int2] = DUNERIDE | |
// impexp_new_cars++ | |
// BREAK | |
CASE 34 | |
temp_int2++ | |
unlocked_import_cars[temp_int2] = VORTEX | |
impexp_new_cars++ | |
BREAK | |
CASE 40 | |
temp_int2++ | |
unlocked_import_cars[temp_int2] = BULLET | |
PLAYER_MADE_PROGRESS 1 | |
PLAY_MISSION_PASSED_TUNE 2 | |
impexp_new_cars++ | |
BREAK | |
ENDSWITCH | |
RETURN | |
load_wanted_car_list: | |
IF flag_player_on_mission = 1 | |
AND NOT steal4_flag = 1 | |
//WRITE_DEBUG FLAG_PLAYER_ON_MISSION | |
current_wanted_car_list[0] = -1 | |
current_wanted_car_list[1] = -1 | |
current_wanted_car_list[2] = -1 | |
current_wanted_car_list[3] = -1 | |
current_wanted_car_list[4] = -1 | |
current_wanted_car_list[5] = -1 | |
current_wanted_car_list[6] = -1 | |
current_wanted_car_list[7] = -1 | |
current_wanted_car_list[8] = -1 | |
current_wanted_car_list[9] = -1 | |
ELSE | |
// check if all the wanted cars have been got | |
temp_int = 0 | |
temp_int2 = 0 | |
WHILE temp_int < 10 | |
IF current_wanted_car_status[temp_int] = 1 | |
temp_int2++ | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
// if got them all | |
IF temp_int2 = 10 | |
// increment wanted list | |
IF current_wanted_list < 2 | |
current_wanted_list++ | |
// clear need / got status | |
temp_int = 0 | |
WHILE temp_int < 10 | |
current_wanted_car_status[temp_int] = 0 | |
temp_int++ | |
ENDWHILE | |
ELSE | |
IF NOT impexp_is_complete = 1 | |
WRITE_LOG "UNLOCK_ACHIEVEMENT A_LEGITIMATE_BUSINESS" | |
impexp_is_complete = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF current_wanted_list = 0 | |
current_wanted_car_list[0] = BUFFALO | |
current_wanted_car_list[1] = SENTINEL | |
current_wanted_car_list[2] = INFERNUS | |
current_wanted_car_list[3] = CAMPER | |
current_wanted_car_list[4] = ADMIRAL | |
current_wanted_car_list[5] = PATRIOT | |
current_wanted_car_list[6] = SANCHEZ | |
current_wanted_car_list[7] = STRETCH | |
current_wanted_car_list[8] = FELTZER | |
current_wanted_car_list[9] = REMINGTN | |
ENDIF | |
IF current_wanted_list = 1 | |
current_wanted_car_list[0] = CHEETAH | |
current_wanted_car_list[1] = RANCHER | |
current_wanted_car_list[2] = STALLION | |
current_wanted_car_list[3] = PETRO | |
current_wanted_car_list[4] = COMET | |
current_wanted_car_list[5] = SLAMVAN | |
current_wanted_car_list[6] = BLISTAC | |
current_wanted_car_list[7] = STAFFORD | |
current_wanted_car_list[8] = SABRE | |
current_wanted_car_list[9] = FCR900 | |
ENDIF | |
IF current_wanted_list = 2 | |
current_wanted_car_list[0] = BANSHEE | |
current_wanted_car_list[1] = SUPERGT | |
current_wanted_car_list[2] = JOURNEY | |
current_wanted_car_list[3] = HUNTLEY | |
current_wanted_car_list[4] = BFINJECT | |
current_wanted_car_list[5] = BLADE | |
current_wanted_car_list[6] = FREEWAY | |
current_wanted_car_list[7] = MESA | |
current_wanted_car_list[8] = ZR350 | |
current_wanted_car_list[9] = EUROS | |
ENDIF | |
ENDIF | |
RETURN | |
store_last_crane_car: | |
IF DOES_OBJECT_EXIST magno_arm | |
GRAB_ENTITY_ON_ROPE_FOR_OBJECT magno_arm crane_car crane_ped crane_obj | |
IF NOT crane_car = -1 | |
IF NOT last_crane_car = crane_car | |
last_crane_car = crane_car | |
ENDIF | |
ENDIF | |
ENDIF | |
RETURN | |
VAR_INT import_car_list_input | |
load_import_car_list: | |
temp_int = 0 | |
WHILE temp_int < 6 | |
current_import_car_list[temp_int] = -1 | |
temp_int++ | |
ENDWHILE | |
//GET_CURRENT_DAY_OF_WEEK temp_int | |
// sunday | |
SWITCH import_car_list_input | |
CASE 0 | |
current_import_car_list[0] = unlocked_import_cars[0] | |
current_import_car_list[1] = unlocked_import_cars[7] | |
current_import_car_list[2] = unlocked_import_cars[14] | |
current_import_car_list[3] = unlocked_import_cars[21] | |
current_import_car_list[4] = unlocked_import_cars[28] | |
current_import_car_list[5] = unlocked_import_cars[35] | |
BREAK | |
// monday | |
CASE 1 | |
current_import_car_list[0] = unlocked_import_cars[1] | |
current_import_car_list[1] = unlocked_import_cars[8] | |
current_import_car_list[2] = unlocked_import_cars[15] | |
current_import_car_list[3] = unlocked_import_cars[22] | |
current_import_car_list[4] = unlocked_import_cars[29] | |
current_import_car_list[5] = unlocked_import_cars[36] | |
BREAK | |
// tuesday | |
CASE 2 | |
current_import_car_list[0] = unlocked_import_cars[2] | |
current_import_car_list[1] = unlocked_import_cars[9] | |
current_import_car_list[2] = unlocked_import_cars[16] | |
current_import_car_list[3] = unlocked_import_cars[23] | |
current_import_car_list[4] = unlocked_import_cars[30] | |
current_import_car_list[5] = unlocked_import_cars[37] | |
BREAK | |
// wednesday | |
CASE 3 | |
current_import_car_list[0] = unlocked_import_cars[3] | |
current_import_car_list[1] = unlocked_import_cars[10] | |
current_import_car_list[2] = unlocked_import_cars[17] | |
current_import_car_list[3] = unlocked_import_cars[24] | |
current_import_car_list[4] = unlocked_import_cars[31] | |
current_import_car_list[5] = unlocked_import_cars[38] | |
BREAK | |
// thursday | |
CASE 4 | |
current_import_car_list[0] = unlocked_import_cars[4] | |
current_import_car_list[1] = unlocked_import_cars[11] | |
current_import_car_list[2] = unlocked_import_cars[18] | |
current_import_car_list[3] = unlocked_import_cars[25] | |
current_import_car_list[4] = unlocked_import_cars[32] | |
current_import_car_list[5] = unlocked_import_cars[39] | |
BREAK | |
// friday | |
CASE 5 | |
current_import_car_list[0] = unlocked_import_cars[5] | |
current_import_car_list[1] = unlocked_import_cars[12] | |
current_import_car_list[2] = unlocked_import_cars[19] | |
current_import_car_list[3] = unlocked_import_cars[26] | |
current_import_car_list[4] = unlocked_import_cars[33] | |
current_import_car_list[5] = unlocked_import_cars[40] | |
BREAK | |
// saturday | |
CASE 6 | |
current_import_car_list[0] = unlocked_import_cars[6] | |
current_import_car_list[1] = unlocked_import_cars[13] | |
current_import_car_list[2] = unlocked_import_cars[20] | |
current_import_car_list[3] = unlocked_import_cars[27] | |
current_import_car_list[4] = unlocked_import_cars[34] | |
current_import_car_list[5] = unlocked_import_cars[41] | |
BREAK | |
ENDSWITCH | |
RETURN | |
//get_model_cost: | |
// | |
// temp_model = current_import_car_list[current_selection] | |
// | |
// current_vehicle_cost = 0 | |
// | |
// SWITCH temp_model | |
// CASE CLUB | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE JESTER | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE BUFFALO | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE SENTINEL | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE INFERNUS | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE CAMPER | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE ADMIRAL | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE PATRIOT | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE SANCHEZ | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE STRETCH | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE FELTZER | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE REMINGTN | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE MONSTER | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE NRG500 | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE WINDSOR | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE CHEETAH | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE RANCHER | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE STALLION | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE PETRO | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE COMET | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE SLAMVAN | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE BLISTAC | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE STAFFORD | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE SABRE | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE FCR900 | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE EUROS | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE BANDITO | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE SUPERGT | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE BANSHEE | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE TURISMO | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE JOURNEY | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE HUNTLEY | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE BFINJECT | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE BLADE | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE FREEWAY | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE MESA | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE ZR350 | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE HOTKNIFE | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE DUNERIDE | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE VORTEX | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE BULLET | |
// current_vehicle_cost = 100 | |
// BREAK | |
// CASE PEREN | |
// current_vehicle_cost = 5 | |
// BREAK | |
// ENDSWITCH | |
// | |
// | |
// //PRINT_WITH_NUMBER_NOW IE06 current_vehicle_cost 9999999 1 // vehicle price: $ | |
// | |
//RETURN | |
add_car_to_players_imported_cars: | |
add_car_to_players_imported_cars_start: | |
temp_int = 0 | |
WHILE temp_int < 5 | |
IF imported_cars[temp_int] = -1 | |
imported_cars[temp_int] = imported_car | |
temp_int = 10 | |
ELSE | |
IF DOES_VEHICLE_EXIST imported_cars[temp_int] | |
IF IS_CAR_DEAD imported_cars[temp_int] | |
MARK_CAR_AS_NO_LONGER_NEEDED imported_cars[temp_int] | |
imported_cars[temp_int] = -1 | |
GOTO add_car_to_players_imported_cars_start | |
ELSE | |
temp_int++ | |
ENDIF | |
ELSE | |
MARK_CAR_AS_NO_LONGER_NEEDED imported_cars[temp_int] | |
imported_cars[temp_int] = -1 | |
GOTO add_car_to_players_imported_cars_start | |
ENDIF | |
ENDIF | |
ENDWHILE | |
// if 5 are full - replace last one | |
IF temp_int = 5 | |
MARK_CAR_AS_NO_LONGER_NEEDED imported_cars[4] | |
imported_cars[4] = -1 | |
GOTO add_car_to_players_imported_cars_start | |
ENDIF | |
RETURN | |
trim_players_imported_cars: | |
temp_int = 0 | |
WHILE temp_int < 5 | |
IF NOT imported_cars[temp_int] = -1 | |
IF DOES_VEHICLE_EXIST imported_cars[temp_int] | |
IF NOT IS_CAR_DEAD imported_cars[temp_int] | |
IF IS_PLAYER_PLAYING player1 | |
IF NOT LOCATE_CHAR_ANY_MEANS_CAR_2D scplayer imported_cars[temp_int] 500.0 500.0 FALSE | |
MARK_CAR_AS_NO_LONGER_NEEDED imported_cars[temp_int] | |
imported_cars[temp_int] = -1 | |
ENDIF | |
ENDIF | |
ELSE | |
MARK_CAR_AS_NO_LONGER_NEEDED imported_cars[temp_int] | |
imported_cars[temp_int] = -1 | |
ENDIF | |
ELSE | |
MARK_CAR_AS_NO_LONGER_NEEDED imported_cars[temp_int] | |
imported_cars[temp_int] = -1 | |
ENDIF | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
RETURN | |
impexp_update_car_gens: | |
// switch on / off car gens | |
temp_int = 0 | |
WHILE temp_int < 10 | |
IF current_wanted_list = 0 | |
temp_int2 = temp_int + 0 | |
ENDIF | |
IF current_wanted_list = 1 | |
temp_int2 = temp_int + 10 | |
ENDIF | |
IF current_wanted_list = 2 | |
temp_int2 = temp_int + 20 | |
ENDIF | |
IF current_wanted_car_status[temp_int] = 0 | |
SWITCH_CAR_GENERATOR impexp_car_gen[temp_int2] 101 | |
ELSE | |
SWITCH_CAR_GENERATOR impexp_car_gen[temp_int2] 0 | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
RETURN | |
get_vehicle_text_label: | |
SWITCH temp_model | |
CASE CLUB | |
$impexp_text_label = &CLUB | |
BREAK | |
CASE JESTER | |
$impexp_text_label = &JESTER | |
BREAK | |
CASE BUFFALO | |
$impexp_text_label = &BUFFALO | |
BREAK | |
CASE SENTINEL | |
$impexp_text_label = &SENTINL | |
BREAK | |
CASE INFERNUS | |
$impexp_text_label = &INFERNU | |
BREAK | |
CASE CAMPER | |
$impexp_text_label = &CAMPER | |
BREAK | |
CASE ADMIRAL | |
$impexp_text_label = &ADMIRAL | |
BREAK | |
CASE PATRIOT | |
$impexp_text_label = &PATRIOT | |
BREAK | |
CASE SANCHEZ | |
$impexp_text_label = &SANCHEZ | |
BREAK | |
CASE STRETCH | |
$impexp_text_label = &STRETCH | |
BREAK | |
CASE FELTZER | |
$impexp_text_label = &FELTZER | |
BREAK | |
CASE REMINGTN | |
$impexp_text_label = &REMING | |
BREAK | |
CASE MONSTER | |
$impexp_text_label = &MONSTER | |
BREAK | |
CASE NRG500 | |
$impexp_text_label = &NRG500 | |
BREAK | |
CASE WINDSOR | |
$impexp_text_label = &WINDSOR | |
BREAK | |
CASE CHEETAH | |
$impexp_text_label = &CHEETAH | |
BREAK | |
CASE RANCHER | |
$impexp_text_label = &RANCHER | |
BREAK | |
CASE STALLION | |
$impexp_text_label = &STALION | |
BREAK | |
CASE PETRO | |
$impexp_text_label = &PETROL | |
BREAK | |
CASE COMET | |
$impexp_text_label = &COMET | |
BREAK | |
CASE SLAMVAN | |
$impexp_text_label = &SLAMVAN | |
BREAK | |
CASE BLISTAC | |
$impexp_text_label = &BLISTAC | |
BREAK | |
CASE STAFFORD | |
$impexp_text_label = &STAFFRD | |
BREAK | |
CASE SABRE | |
$impexp_text_label = &SABRE | |
BREAK | |
CASE FCR900 | |
$impexp_text_label = &FCR900 | |
BREAK | |
CASE EUROS | |
$impexp_text_label = &EUROS | |
BREAK | |
CASE BANDITO | |
$impexp_text_label = &BANDITO | |
BREAK | |
CASE SUPERGT | |
$impexp_text_label = &SUPERGT | |
BREAK | |
CASE BANSHEE | |
$impexp_text_label = &BANSHEE | |
BREAK | |
CASE TURISMO | |
$impexp_text_label = &TURISMO | |
BREAK | |
CASE JOURNEY | |
$impexp_text_label = &JOURNEY | |
BREAK | |
CASE HUNTLEY | |
$impexp_text_label = &HUNTLEY | |
BREAK | |
CASE BFINJECT | |
$impexp_text_label = &BFINJC | |
BREAK | |
CASE BLADE | |
$impexp_text_label = &BLADE | |
BREAK | |
CASE FREEWAY | |
$impexp_text_label = &FREEWAY | |
BREAK | |
CASE MESA | |
$impexp_text_label = &MESAA | |
BREAK | |
CASE ZR350 | |
$impexp_text_label = &ZR350 | |
BREAK | |
CASE HOTKNIFE | |
$impexp_text_label = &HOTKNIF | |
BREAK | |
CASE DUNERIDE | |
$impexp_text_label = &DUNE | |
BREAK | |
CASE VORTEX | |
$impexp_text_label = &VORTEX | |
BREAK | |
CASE BULLET | |
$impexp_text_label = &BULLET | |
BREAK | |
CASE PEREN | |
$impexp_text_label = &PEREN | |
BREAK | |
ENDSWITCH | |
RETURN | |
ie_create_custom_plates: | |
SWITCH current_import_car_list[impexp_selected_car] | |
CASE CLUB | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &N13_LLF_ | |
BREAK | |
CASE EUROS | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &_DS3MP__ | |
BREAK | |
CASE SUPERGT | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &_CMACD1_ | |
BREAK | |
CASE WINDSOR | |
GENERATE_RANDOM_INT_IN_RANGE 0 3 temp_int | |
IF temp_int = 0 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &__C0S___ | |
ENDIF | |
BREAK | |
CASE JESTER | |
GENERATE_RANDOM_INT_IN_RANGE 0 3 temp_int | |
IF temp_int = 1 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &_X2_GAV_ | |
ENDIF | |
IF temp_int = 2 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &__G3PO__ | |
ENDIF | |
BREAK | |
CASE SENTINEL | |
GENERATE_RANDOM_INT_IN_RANGE 0 3 temp_int | |
IF temp_int = 0 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &D0N_D0N_ | |
ENDIF | |
IF temp_int = 1 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &_D0_NNY_ | |
ENDIF | |
IF temp_int = 2 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &TH3_D0N_ | |
ENDIF | |
BREAK | |
CASE CAMPER | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &SJM1985 | |
BREAK | |
CASE FELTZER | |
GENERATE_RANDOM_INT_IN_RANGE 0 5 temp_int | |
IF temp_int = 1 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &433_ADF_ | |
ENDIF | |
IF temp_int = 2 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &DR_F_MBE | |
ENDIF | |
IF temp_int = 3 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &ANN_F3RG | |
ENDIF | |
BREAK | |
CASE SABRE | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &__FR4Z__ | |
BREAK | |
CASE CHEETAH | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &_IMY_AK_ | |
BREAK | |
CASE COMET | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &_L0LLY__ | |
BREAK | |
CASE INFERNUS | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &_J_L33S_ | |
BREAK | |
CASE RANCHER | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &S4_LIJON | |
BREAK | |
CASE BLISTAC | |
GENERATE_RANDOM_INT_IN_RANGE 0 2 temp_int | |
IF temp_int = 0 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &DI5CO5TU | |
ELSE | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &SM53_NUV | |
ENDIF | |
BREAK | |
CASE BANSHEE | |
GENERATE_RANDOM_INT_IN_RANGE 0 3 temp_int | |
IF temp_int = 0 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &J3NYTAL5 | |
ENDIF | |
IF temp_int = 1 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &_J3_NCF_ | |
ENDIF | |
IF temp_int = 2 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &DD0_N4LD | |
ENDIF | |
BREAK | |
CASE BFINJECT | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &LA5H_L3Y | |
BREAK | |
CASE PATRIOT | |
GENERATE_RANDOM_INT_IN_RANGE 0 4 temp_int | |
IF temp_int = 0 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &AL3X_RES | |
ENDIF | |
IF temp_int = 1 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &R_F3RG1E | |
ENDIF | |
IF temp_int = 2 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &H4_NNAHF | |
ENDIF | |
IF temp_int = 3 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &CL41_RES | |
ENDIF | |
BREAK | |
CASE BLADE | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &R055_MCL | |
BREAK | |
CASE BULLET | |
GENERATE_RANDOM_INT_IN_RANGE 0 4 temp_int | |
IF temp_int = 0 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &T00_FAST | |
ENDIF | |
BREAK | |
DEFAULT | |
GOSUB ie_random_custom_plate | |
BREAK | |
ENDSWITCH | |
RETURN | |
ie_random_custom_plate: | |
GENERATE_RANDOM_INT_IN_RANGE 0 100 temp_int | |
SWITCH temp_int | |
CASE 0 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &R4N_G3RS | |
BREAK | |
CASE 1 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &GL4S_G0W | |
BREAK | |
CASE 2 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &_ARRAN__ | |
BREAK | |
CASE 3 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &AM0_RUS0 | |
BREAK | |
CASE 4 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &_AMAT0__ | |
BREAK | |
CASE 5 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &_GA_ZZA_ | |
BREAK | |
CASE 6 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &ZID_ANE_ | |
BREAK | |
CASE 7 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &MC_C01ST | |
BREAK | |
CASE 8 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &BAW_BAG_ | |
BREAK | |
CASE 9 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &BR0_D1E_ | |
BREAK | |
CASE 10 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &MR_J0BBY | |
BREAK | |
CASE 11 | |
CUSTOM_PLATE_FOR_NEXT_CAR current_import_car_list[impexp_selected_car] &BR0_DICK | |
BREAK | |
ENDSWITCH | |
RETURN | |
} | |
{ | |
impexp_car_check: | |
SCRIPT_NAME IMPEXPC | |
LVAR_INT impexp_help | |
LVAR_INT temp_model | |
LVAR_INT temp_int | |
LVAR_INT temp_int2 | |
impexp_car_check_loop: | |
WAIT 5000 | |
IF IS_PLAYER_PLAYING player1 | |
IF flag_player_on_mission = 0 | |
IF import_export_is_active = 1 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
AND NOT IS_MESSAGE_BEING_DISPLAYED | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
IF impexp_help = 0 | |
STORE_CAR_CHAR_IS_IN_NO_SAVE scplayer car | |
GET_CAR_MODEL car temp_model | |
// check if car is on wanted list | |
temp_int = 0 | |
temp_int2 = 0 | |
WHILE temp_int < 10 | |
IF current_wanted_car_list[temp_int] = temp_model | |
IF current_wanted_car_status[temp_int] = 0 | |
temp_int2 = 1 | |
temp_int = 10 | |
ENDIF | |
ENDIF | |
temp_int++ | |
ENDWHILE | |
IF temp_int2 = 1 | |
PRINT_HELP IE22 | |
impexp_help = 1 | |
ENDIF | |
ENDIF | |
ELSE | |
IF impexp_help = 1 | |
impexp_help = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOTO impexp_car_check_loop | |
} | |
MISSION_START | |
SCRIPT_NAME APCHECK | |
/********************************************* | |
GLOBAL VARIABLES | |
**********************************************/ | |
VAR_INT iAPgateSF1 iAPgateSF2 iAPgateSF1b iAPgateSF2b iAPgateLA1 iAPgateLA2 iAPgateLV1 iAPgateLV2 | |
VAR_INT iFlagOpenAirportGates | |
// LOCATE CONSTANTS | |
CONST_FLOAT LAx 1968.697 | |
CONST_FLOAT LAy -2189.776 | |
CONST_FLOAT LAz 13.553 | |
CONST_FLOAT SFx -1540.66 | |
CONST_FLOAT SFy -435.786 | |
CONST_FLOAT SFz 6.039 | |
CONST_FLOAT SFbx -1226.1616 | |
CONST_FLOAT SFby 65.3807 | |
CONST_FLOAT SFbz 13.0375 | |
CONST_FLOAT LVx 1703.4 | |
CONST_FLOAT LVy 1600.518 | |
CONST_FLOAT LVz 10.058 | |
/********************************************* | |
AIRPORT GATES INIT | |
**********************************************/ | |
//--- Set the deatharrest OFF since we are doing a loop in this script | |
SET_DEATHARREST_STATE OFF | |
//--- This is initialised as false, but missions can change it | |
iFlagOpenAirportGates = 0 | |
//--- San Fierro Airport | |
CREATE_OBJECT_NO_OFFSET ws_apgate -1543.742 -432.703 6.039 iAPgateSF1 | |
SET_OBJECT_HEADING iAPgateSF1 -45.0 | |
DONT_REMOVE_OBJECT iAPgateSF1 | |
CREATE_OBJECT_NO_OFFSET ws_apgate -1547.625 -428.82 6.039 iAPgateSF2 | |
SET_OBJECT_HEADING iAPgateSF2 -45.0 | |
DONT_REMOVE_OBJECT iAPgateSF2 | |
CREATE_OBJECT_NO_OFFSET ws_apgate -1222.953 53.826 14.134 iAPgateSF1b | |
SET_OBJECT_HEADING iAPgateSF1b -135.0 | |
DONT_REMOVE_OBJECT iAPgateSF1b | |
CREATE_OBJECT_NO_OFFSET ws_apgate -1218.206 68.883 14.134 iAPgateSF2b | |
SET_OBJECT_HEADING iAPgateSF2b -135.0 | |
DONT_REMOVE_OBJECT iAPgateSF2b | |
//--- Los Santos Airport | |
CREATE_OBJECT_NO_OFFSET ws_apgate 1964.342 -2189.776 13.533 iAPgateLA1 | |
SET_OBJECT_HEADING iAPgateLA1 180.0 | |
DONT_REMOVE_OBJECT iAPgateLA1 | |
CREATE_OBJECT_NO_OFFSET ws_apgate 1958.851 -2189.777 13.553 iAPgateLA2 | |
SET_OBJECT_HEADING iAPgateLA2 180.0 | |
DONT_REMOVE_OBJECT iAPgateLA2 | |
//--- Vegas Airport | |
CREATE_OBJECT_NO_OFFSET ws_apgate 1704.777 1605.165 10.058 iAPgateLV1 | |
SET_OBJECT_HEADING iAPgateLV1 73.0 | |
DONT_REMOVE_OBJECT iAPgateLV1 | |
CREATE_OBJECT_NO_OFFSET ws_apgate 1706.364 1610.422 10.058 iAPgateLV2 | |
SET_OBJECT_HEADING iAPgateLV2 73.0 | |
DONT_REMOVE_OBJECT iAPgateLV2 | |
/********************************************* | |
AIRPORT SECURITY MEMORY RESIDENT MAIN | |
**********************************************/ | |
AP_PlayerCheck_Loop: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING PLAYER1 | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer SFx SFy SFz 65.0 65.0 10.0 FALSE | |
IF flag_is_farlie3_running = 1 | |
//--- If Kevin W. mission is running the airport has been raided... | |
iFlagOpenAirportGates = 1 // Mark the gates as open | |
START_NEW_SCRIPT Airport_Guard -1 // The ped is dead and outside the door | |
SET_OBJECT_COORDINATES iAPgateSF1 -1540.66 -435.786 6.039 | |
SET_OBJECT_COORDINATES iAPgateSF2 -1550.709 -425.736 6.039 | |
ELSE | |
//--- The airport operates as normal | |
START_NEW_SCRIPT Airport_Guard 1 | |
START_NEW_SCRIPT Airport_Gate iAPgateSF1 -1540.66 -435.786 6.039 | |
START_NEW_SCRIPT Airport_Gate iAPgateSF2 -1550.709 -425.736 6.039 | |
ENDIF | |
GOTO AP_PlayerCheck_WaitSF | |
ENDIF | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer LAx LAy LAz 65.0 65.0 10.0 FALSE | |
START_NEW_SCRIPT Airport_Guard 2 | |
START_NEW_SCRIPT Airport_Gate iAPgateLA1 1968.697 -2189.776 13.553 | |
START_NEW_SCRIPT Airport_Gate iAPgateLA2 1954.571 -2189.777 13.553 | |
GOTO AP_PlayerCheck_WaitLA | |
ENDIF | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer LVx LVy LVz 65.0 65.0 10.0 FALSE | |
START_NEW_SCRIPT Airport_Guard 3 | |
START_NEW_SCRIPT Airport_Gate iAPgateLV1 1703.4 1600.518 10.058 | |
START_NEW_SCRIPT Airport_Gate iAPgateLV2 1707.722 1614.937 10.058 | |
GOTO AP_PlayerCheck_WaitLV | |
ENDIF | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer SFbx SFby SFbz 65.0 65.0 10.0 FALSE | |
START_NEW_SCRIPT Airport_Guard 4 | |
START_NEW_SCRIPT Airport_Gate iAPgateSF1b -1226.59 50.189 14.134 | |
START_NEW_SCRIPT Airport_Gate iAPgateSF2b -1214.392 72.697 14.134 | |
GOTO AP_PlayerCheck_WaitSFb | |
ENDIF | |
ELSE | |
//--- Player not playing. Reset everything. | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME APGATE | |
SET_OBJECT_COORDINATES iAPgateSF1 -1543.742 -432.703 6.039 | |
SET_OBJECT_COORDINATES iAPgateSF2 -1547.625 -428.82 6.039 | |
SET_OBJECT_COORDINATES iAPgateSF1b -1222.953 53.826 14.134 | |
SET_OBJECT_COORDINATES iAPgateSF2b -1218.206 68.883 14.134 | |
SET_OBJECT_COORDINATES iAPgateLA1 1964.342 -2189.776 13.533 | |
SET_OBJECT_COORDINATES iAPgateLA2 1958.851 -2189.777 13.553 | |
SET_OBJECT_COORDINATES iAPgateLV1 1704.777 1605.165 10.058 | |
SET_OBJECT_COORDINATES iAPgateLV2 1706.364 1610.422 10.058 | |
iFlagOpenAirportGates = 0 | |
GOTO AP_PlayerCheck_Loop | |
ENDIF | |
GOTO AP_PlayerCheck_Loop | |
/********************************************* | |
WAIT SF | |
**********************************************/ | |
AP_PlayerCheck_WaitSF: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING PLAYER1 | |
IF NOT LOCATE_CHAR_ANY_MEANS_3D scplayer SFx SFy SFz 66.0 66.0 10.0 FALSE | |
//--- RESET THE GATES | |
IF flag_player_on_mission = 0 | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME APGATE | |
SET_OBJECT_COORDINATES iAPgateSF1 -1543.742 -432.703 6.039 | |
SET_OBJECT_COORDINATES iAPgateSF2 -1547.625 -428.82 6.039 | |
iFlagOpenAirportGates = 0 | |
GOTO AP_PlayerCheck_Loop | |
ENDIF | |
ENDIF | |
ELSE | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME APGATE | |
SET_OBJECT_COORDINATES iAPgateSF1 -1543.742 -432.703 6.039 | |
SET_OBJECT_COORDINATES iAPgateSF2 -1547.625 -428.82 6.039 | |
iFlagOpenAirportGates = 0 | |
GOTO AP_PlayerCheck_Loop | |
ENDIF | |
GOTO AP_PlayerCheck_WaitSF | |
/********************************************* | |
WAIT SFb | |
**********************************************/ | |
AP_PlayerCheck_WaitSFb: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING PLAYER1 | |
IF NOT LOCATE_CHAR_ANY_MEANS_3D scplayer SFbx SFby SFbz 66.0 66.0 10.0 FALSE | |
//--- RESET THE GATES | |
IF flag_player_on_mission = 0 | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME APGATE | |
SET_OBJECT_COORDINATES iAPgateSF1b -1222.953 53.826 14.134 | |
SET_OBJECT_COORDINATES iAPgateSF2b -1218.206 68.883 14.134 | |
iFlagOpenAirportGates = 0 | |
GOTO AP_PlayerCheck_Loop | |
ENDIF | |
ENDIF | |
ELSE | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME APGATE | |
SET_OBJECT_COORDINATES iAPgateSF1b -1222.953 53.826 14.134 | |
SET_OBJECT_COORDINATES iAPgateSF2b -1218.206 68.883 14.134 | |
iFlagOpenAirportGates = 0 | |
GOTO AP_PlayerCheck_Loop | |
ENDIF | |
GOTO AP_PlayerCheck_WaitSFb | |
/********************************************* | |
WAIT LA | |
**********************************************/ | |
AP_PlayerCheck_WaitLA: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING PLAYER1 | |
IF NOT LOCATE_CHAR_ANY_MEANS_3D scplayer LAx LAy LAz 66.0 66.0 10.0 FALSE | |
//--- RESET THE GATES | |
IF flag_player_on_mission = 0 | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME APGATE | |
SET_OBJECT_COORDINATES iAPgateLA1 1964.342 -2189.776 13.533 | |
SET_OBJECT_COORDINATES iAPgateLA2 1958.851 -2189.777 13.553 | |
iFlagOpenAirportGates = 0 | |
GOTO AP_PlayerCheck_Loop | |
ENDIF | |
ENDIF | |
ELSE | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME APGATE | |
SET_OBJECT_COORDINATES iAPgateLA1 1964.342 -2189.776 13.533 | |
SET_OBJECT_COORDINATES iAPgateLA2 1958.851 -2189.777 13.553 | |
iFlagOpenAirportGates = 0 | |
GOTO AP_PlayerCheck_Loop | |
ENDIF | |
GOTO AP_PlayerCheck_WaitLA | |
/********************************************* | |
WAIT VEGAS | |
**********************************************/ | |
AP_PlayerCheck_WaitLV: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING PLAYER1 | |
IF NOT LOCATE_CHAR_ANY_MEANS_3D scplayer LVx LVy LVz 66.0 66.0 10.0 FALSE | |
//--- RESET THE GATES | |
IF flag_player_on_mission = 0 | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME APGATE | |
SET_OBJECT_COORDINATES iAPgateLV1 1704.777 1605.165 10.058 | |
SET_OBJECT_COORDINATES iAPgateLV2 1706.364 1610.422 10.058 | |
iFlagOpenAirportGates = 0 | |
GOTO AP_PlayerCheck_Loop | |
ENDIF | |
ENDIF | |
ELSE | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME APGATE | |
SET_OBJECT_COORDINATES iAPgateLV1 1704.777 1605.165 10.058 | |
SET_OBJECT_COORDINATES iAPgateLV2 1706.364 1610.422 10.058 | |
iFlagOpenAirportGates = 0 | |
GOTO AP_PlayerCheck_Loop | |
ENDIF | |
GOTO AP_PlayerCheck_WaitLV | |
MISSION_END | |
/***************************************************************************************************************************************** | |
*********************************************** AIRPORT SECURITY ******************************************************************* | |
*****************************************************************************************************************************************/ | |
{ | |
Airport_Guard: | |
SCRIPT_NAME APGUARD | |
//--- PARAMETERS | |
LVAR_INT iZoneIn // If this is -1 this ped is dead in SF | |
//--- VARS | |
LVAR_INT iAPguard iTemp iHasSpoken | |
//--- VAR init | |
iHasSpoken = 0 | |
//--- Steraming Request Loop | |
WHILE NOT HAS_MODEL_LOADED WMYSGRD | |
REQUEST_MODEL WMYSGRD | |
WAIT 0 | |
ENDWHILE | |
//--- Find Out the current zone we are in | |
SWITCH iZoneIn | |
CASE -1 | |
//--- Init the guy as dead | |
CREATE_CHAR PEDTYPE_CIVMALE WMYSGRD -1544.8795 -441.1089 5.0068 iAPguard | |
SET_CHAR_HEADING iAPguard 7.3631 | |
SET_CHAR_MONEY iAPguard 0 | |
DONT_REMOVE_CHAR iAPguard | |
TASK_DEAD iAPguard | |
BREAK | |
CASE 1 | |
//--- Init the guy according to the current zone | |
CREATE_CHAR PEDTYPE_CIVMALE WMYSGRD -1544.3962 -443.2464 5.045 iAPguard | |
SET_CHAR_HEADING iAPguard 54.6458 | |
BREAK | |
CASE 2 | |
//--- Init the guy according to the current zone | |
CREATE_CHAR PEDTYPE_CIVMALE WMYSGRD 1955.8087 -2181.5405 12.5865 iAPguard | |
SET_CHAR_HEADING iAPguard 272.1978 | |
BREAK | |
CASE 3 | |
//--- Init the guy according to the current zone | |
CREATE_CHAR PEDTYPE_CIVMALE WMYSGRD 1717.2017 1617.3760 9.1924 iAPguard | |
SET_CHAR_HEADING iAPguard 186.0379 | |
BREAK | |
CASE 4 | |
//--- Init the guy according to the current zone | |
CREATE_CHAR PEDTYPE_CIVMALE WMYSGRD -1229.4380 55.3906 13.2328 iAPguard | |
SET_CHAR_HEADING iAPguard 301.4596 | |
BREAK | |
ENDSWITCH | |
//--- Set Up the Decision Maker for this guy (considering he is trapped inside a hut!) | |
SET_CHAR_DECISION_MAKER iAPguard DM_PED_INDOORS | |
SET_CHAR_ONLY_DAMAGED_BY_PLAYER iAPguard TRUE | |
DONT_REMOVE_CHAR iAPguard | |
//--- Main Loop | |
Airport_Guard_LoopCheck: | |
WAIT 0 | |
IF IS_PLAYER_PLAYING PLAYER1 | |
IF NOT IS_CHAR_DEAD iAPguard | |
//--- Check if it's time to clear up | |
IF NOT LOCATE_CHAR_ANY_MEANS_CHAR_3D scplayer iAPguard 67.0 67.0 10.0 FALSE | |
GOSUB Airport_Guard_CleanUp | |
ENDIF | |
//--- If player is near the guy | |
IF NOT IS_CHAR_DEAD iAPguard | |
IF LOCATE_CHAR_ANY_MEANS_CHAR_3D scplayer iAPguard 15.0 15.0 15.0 FALSE | |
GOSUB Airport_Guard_SpeakIfNeeded | |
ENDIF | |
ENDIF | |
//--- If player has hit the guy | |
IF HAS_CHAR_BEEN_DAMAGED_BY_CHAR iAPguard scplayer | |
SET_CHAR_RELATIONSHIP iAPguard ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_PLAYER1 | |
ENDIF | |
ELSE | |
GOSUB Airport_Guard_CleanUp | |
ENDIF | |
ELSE | |
GOSUB Airport_Guard_CleanUp | |
ENDIF | |
GOTO Airport_Guard_LoopCheck | |
//--- End Of Main | |
/******************************************* | |
SPEAK IF NEEDED | |
********************************************/ | |
Airport_Guard_SpeakIfNeeded: | |
IF LOCATE_CHAR_ANY_MEANS_CHAR_3D scplayer iAPguard 5.0 5.0 3.0 FALSE | |
GET_INT_STAT FLYING_SKILL iTemp | |
IF NOT IS_CHAR_RESPONDING_TO_EVENT iAPguard EVENT_ACQUAINTANCE_PED_HATE | |
AND iTemp >= FLYING_SKILL_REQUIRED_FOR_PILOT_LICENCE | |
IF iHasSpoken = 0 | |
//--- You have the skill | |
GENERATE_RANDOM_INT_IN_RANGE 1 100 iHasSpoken | |
IF iHasSpoken > 50 | |
$audio_string = &G_OPEN1 | |
audio_sound_file = SOUND_G_OPEN1 | |
ELSE | |
$audio_string = &G_OPEN2 | |
audio_sound_file = SOUND_G_OPEN2 | |
ENDIF | |
START_NEW_SCRIPT audio_line iAPguard 1 1 2 0 //They�ll give a pilot license to anybody these days! | |
iHasSpoken = 1 | |
RETURN | |
ENDIF | |
ELSE | |
IF iHasSpoken = 0 | |
//--- You DO NOT have the skill | |
GENERATE_RANDOM_INT_IN_RANGE 1 100 iHasSpoken | |
IF iHasSpoken > 50 | |
$audio_string = &G_CLOS1 | |
audio_sound_file = SOUND_G_CLOS1 | |
ELSE | |
$audio_string = &G_CLOS2 | |
audio_sound_file = SOUND_G_CLOS2 | |
ENDIF | |
START_NEW_SCRIPT audio_line iAPguard 1 1 2 0 //This area is restricted to pilots only! | |
iHasSpoken = 1 | |
RETURN | |
ENDIF | |
ENDIF | |
ENDIF | |
RETURN | |
/******************************************* | |
CLEAN UP GUARD | |
********************************************/ | |
Airport_Guard_CleanUp: | |
IF IS_PLAYER_PLAYING PLAYER1 | |
IF flag_player_on_mission = 0 // Don't do anything if the player is playing a mission - it might use this happy chap | |
DELETE_CHAR iAPguard | |
MARK_MODEL_AS_NO_LONGER_NEEDED WMYSGRD | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
ELSE | |
DELETE_CHAR iAPguard | |
MARK_MODEL_AS_NO_LONGER_NEEDED WMYSGRD | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
RETURN | |
} | |
/***************************************************************************************************************************************** | |
************************************************ AIRPORT GATE ********************************************************************** | |
*****************************************************************************************************************************************/ | |
{ | |
Airport_Gate: | |
SCRIPT_NAME APGATE | |
//--- PARAMETERS | |
LVAR_INT this_gate | |
LVAR_FLOAT fAP_targetX fAP_targetY fAP_targetZ | |
//--- VARS | |
LVAR_INT iTemp iGateState iSubStateStatus // State Machine variables | |
LVAR_INT iAPguard iDM iSoundIdx iFlyingSkill | |
LVAR_FLOAT fX[3] fY[3] fZ[3] | |
iGateState = 0 | |
iSubStateStatus = 0 | |
iTemp = 0 | |
//--- Parameter Passing Fudge | |
IF iTemp > 0 | |
CREATE_OBJECT_NO_OFFSET Ws_apgate 0.0 0.0 0.0 this_gate | |
ENDIF | |
//---MAIN LOOP--- | |
Airport_Gate_Main_Loop: | |
WAIT 0 | |
//--- Do all the checks and then run the state machine | |
IF DOES_OBJECT_EXIST this_gate | |
AND IS_PLAYER_PLAYING PLAYER1 | |
GOSUB Airport_Gate_State_Machine | |
ENDIF | |
GOTO Airport_Gate_Main_Loop | |
//---END OF MAIN LOOP--- | |
/******************************************** | |
STATE MACHINE | |
********************************************/ | |
Airport_Gate_State_Machine: | |
SWITCH iGateState | |
CASE 0 //---STATE 1: | |
GOSUB GateState0 | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************** | |
STATE 0 | |
********************************************/ | |
GateState0: | |
SWITCH iSubStateStatus | |
CASE 0 | |
GET_INT_STAT FLYING_SKILL iFlyingSkill | |
IF iFlyingSkill >= FLYING_SKILL_REQUIRED_FOR_PILOT_LICENCE | |
//--- Player has the pilot licence, open the gate | |
IF LOCATE_CHAR_ANY_MEANS_OBJECT_2D scplayer this_gate 10.0 10.0 FALSE | |
GET_OBJECT_COORDINATES this_gate fX[0] fY[0] fZ[0] | |
IF HAS_MISSION_AUDIO_LOADED 3 | |
REPORT_MISSION_AUDIO_EVENT_AT_OBJECT this_gate SOUND_MESH_GATE_OPEN_START | |
ENDIF | |
++iSubStateStatus | |
ENDIF | |
ELSE | |
//-- No pilot licence | |
IF iFlagOpenAirportGates > 0 | |
//--- If the gates are ordered to open by an external entity | |
IF LOCATE_CHAR_ANY_MEANS_OBJECT_2D scplayer this_gate 10.0 10.0 FALSE | |
GET_OBJECT_COORDINATES this_gate fX[0] fY[0] fZ[0] | |
IF HAS_MISSION_AUDIO_LOADED 3 | |
REPORT_MISSION_AUDIO_EVENT_AT_OBJECT this_gate SOUND_MESH_GATE_OPEN_START | |
ENDIF | |
++iSubStateStatus | |
ENDIF | |
ELSE // GATES SHOULD STAY CLOSED | |
//--- Check if the player is stuck on the other side | |
GET_OFFSET_FROM_OBJECT_IN_WORLD_COORDS this_gate 0.0 5.2 0.0 fX[0] fY[0] fZ[0] | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer fX[0] fY[0] fZ[0] 4.5 4.5 4.5 FALSE | |
//--- Player SOMEHOW has ended on the other side, so the gate must open anyway | |
GET_OBJECT_COORDINATES this_gate fX[0] fY[0] fZ[0] | |
IF HAS_MISSION_AUDIO_LOADED 3 | |
REPORT_MISSION_AUDIO_EVENT_AT_OBJECT this_gate SOUND_MESH_GATE_OPEN_START | |
ENDIF | |
++iSubStateStatus | |
ELSE | |
//--- Check if we need to print help | |
GET_OFFSET_FROM_OBJECT_IN_WORLD_COORDS this_gate 0.0 -3.0 0.0 fX[0] fY[0] fZ[0] | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer fX[0] fY[0] fZ[0] 3.0 3.0 3.0 FALSE | |
AND iFlyingSkill < FLYING_SKILL_REQUIRED_FOR_PILOT_LICENCE | |
AND NOT IS_THIS_HELP_MESSAGE_BEING_DISPLAYED AP_0003 | |
PRINT_HELP AP_0003 // help text directing player to pilot school | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
BREAK | |
CASE 1 | |
GOSUB Airport_Gate_GetSlideStepsForHeading // Returns fX[2],fY[2],fZ[2] | |
IF SLIDE_OBJECT this_gate fAP_targetX fAP_targetY fAP_targetZ fX[2] fY[2] fZ[2] TRUE | |
//--- Is this a collision or has the object reached the target? | |
IF LOCATE_OBJECT_3D this_gate fAP_targetX fAP_targetY fAP_targetZ 0.1 0.1 0.1 FALSE | |
//--- Target reached | |
SET_OBJECT_COORDINATES this_gate fAP_targetX fAP_targetY fAP_targetZ | |
IF HAS_MISSION_AUDIO_LOADED 3 | |
REPORT_MISSION_AUDIO_EVENT_AT_OBJECT this_gate SOUND_MESH_GATE_OPEN_STOP | |
ENDIF | |
++iSubStateStatus | |
ENDIF | |
ENDIF | |
BREAK | |
CASE 2 | |
//--- Now see if the player has moved past the gate | |
IF NOT LOCATE_CHAR_ANY_MEANS_OBJECT_2D scplayer this_gate 20.0 20.0 FALSE | |
//-- YES, start closing it | |
GET_OBJECT_COORDINATES this_gate fX[1] fY[1] fZ[1] | |
IF HAS_MISSION_AUDIO_LOADED 3 | |
REPORT_MISSION_AUDIO_EVENT_AT_OBJECT this_gate SOUND_MESH_GATE_OPEN_START | |
ENDIF | |
++iSubStateStatus | |
ENDIF | |
BREAK | |
CASE 3 | |
GOSUB Airport_Gate_GetSlideStepsForHeading // Returns fX[2],fY[2],fZ[2] | |
IF SLIDE_OBJECT this_gate fX[0] fY[0] fZ[0] fX[2] fY[2] fZ[2] TRUE | |
//--- Is this a collision or has the object reached the target? | |
IF LOCATE_OBJECT_3D this_gate fX[0] fY[0] fZ[0] 0.1 0.1 0.1 FALSE | |
//--- Target reached | |
SET_OBJECT_COORDINATES this_gate fX[0] fY[0] fZ[0] | |
IF HAS_MISSION_AUDIO_LOADED 3 | |
REPORT_MISSION_AUDIO_EVENT_AT_OBJECT this_gate SOUND_MESH_GATE_OPEN_STOP | |
ENDIF | |
//--- Loop from SubState 0 | |
iSubStateStatus = 0 | |
ENDIF | |
ENDIF | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************** | |
GET SLIDE STEPS FOR GATE'S HEADING | |
********************************************/ | |
Airport_Gate_GetSlideStepsForHeading: | |
GET_OBJECT_HEADING this_gate fX[2] | |
IF fX[2] > 70.0 | |
AND fX[2] < 75.0 | |
fX[2] = 0.03 | |
fY[2] = 0.1 | |
fZ[2] = 0.1 | |
ELSE | |
fX[2] = 0.1 | |
fY[2] = 0.1 | |
fZ[2] = 0.1 | |
ENDIF | |
RETURN | |
} | |
MISSION_START | |
SCRIPT_NAME GFINIT | |
/********************************************************************************************************************************************* | |
************************************************ ********************************************************************** | |
*********************************************** GIRLFRIENDS INIT ********************************************************************** | |
************************************************ ********************************************************************** | |
**********************************************************************************************************************************************/ | |
// for the achievement NOT_A_PLAYER | |
VAR_INT iGFGoneOnDate[6] | |
iGFGoneOnDate[0]=0 | |
iGFGoneOnDate[1]=0 | |
iGFGoneOnDate[2]=0 | |
iGFGoneOnDate[3]=0 | |
iGFGoneOnDate[4]=0 | |
iGFGoneOnDate[5]=0 | |
/* N.B. ALL THESE ARE NOW IN MAIN.SC | |
VAR_INT iGFSelfRespect[6] iGFLikesPlayer[6] iGFDesiredSexAppeal[6] iGFLikesPlayerTraits[6] // GF STATS | |
VAR_INT iGFLikesOnDate[6] iGFDiaryOfBusyHours[6] // MORE GF STATS | |
VAR_INT iGFidx //GF index for the arrays above, obviously no greater than 5 | |
VAR_INT iDateReport iAgentFlags iPhoneState iCaller | |
VAR_INT iGFBonusPickupID[4] iGFHomeBlips[6] | |
VAR_TEXT_LABEL txtCurrZone // Zone string used a bit everywhere | |
VAR_INT iActiveGF // Public Bitfield to record active GFs. | |
BITS: 0 GANG GIRL (Coochie Robinson) | |
1 MECHANIC (Michelle Cannes) | |
2 GUN NUT (Kylie Goodpoke) | |
3 COP (Barbara Schternvart) | |
4 NURSE (Suzie Nookie) | |
5 CROUPIER (Millie) | |
//--- the values below are calculated. Do not push them around. | |
10 COOCHIE_NOT_AT_HOME | |
11 MICHELLE_NOT_AT_HOME | |
12 KYLIE_NOT_AT_HOME | |
13 BARBARA_NOT_AT_HOME | |
14 SUZIE_NOT_AT_HOME | |
15 MILLIE_NOT_AT_HOME | |
21 MICHELLE_BONUS_ACTIVE | |
22 KYLIE_BONUS_ACTIVE | |
23 BARBARA_BONUS_ACTIVE | |
24 SUZIE_BONUS_ACTIVE | |
//--- CAR flags | |
25 CAR_COOCHIE_UNLOCKED_HELP | |
26 CAR_MICHELLE_UNLOCKED_HELP | |
27 CAR_KYLIE_UNLOCKED_HELP | |
28 CAR_BARBARA_UNLOCKED_HELP | |
29 CAR_SUZIE_UNLOCKED_HELP | |
30 CAR_MILLIE_UNLOCKED_HELP | |
//--- cheat mode | |
31 GF_CHEAT_MODE_ON | |
*/ | |
//--------------------------------------------CONSTANTS------------------------------------------- | |
//--- AGENT'S TIME STEPS | |
CONST_INT GF_TIME_STEP_SLOW 500 // In milliseconds, how long to wait before looping again | |
CONST_INT GF_TIME_STEP_MEDIUM 250 // In milliseconds | |
CONST_INT GF_TIME_STEP_FAST 0 // This should always be ZERO = 1 frame | |
//--- AGENT'S SUPER STATES | |
CONST_INT GF_IDLE_TRY_TO_LOCATE_PLAYER 0 | |
CONST_INT GF_LAUNCH_DATE_OR_SEX 1 | |
CONST_INT GF_WRAP_UP_AND_UPDATE 2 | |
CONST_INT GF_MEETING_WAIT 3 | |
CONST_INT GF_START_DATE_WAIT 4 | |
//--- MORE DATE REPORT CONSTS... | |
CONST_INT DATE_WAS_ABORTED 8 | |
CONST_INT PLAYER_TWO_TIMING 22 | |
CONST_INT CHEAT_TWO_TIMING 25 | |
//--- MORE AGENT FLAG CONSTS... | |
CONST_INT GF_CAR_GENERATOR_ON 26 | |
//--- MORE ACTTIVE GF FLAGS.... CAR FLAGS | |
CONST_INT CAR_COOCHIE_UNLOCKED_HELP 25 | |
CONST_INT CAR_MICHELLE_UNLOCKED_HELP 26 | |
CONST_INT CAR_KYLIE_UNLOCKED_HELP 27 | |
CONST_INT CAR_BARBARA_UNLOCKED_HELP 28 | |
CONST_INT CAR_SUZIE_UNLOCKED_HELP 29 | |
CONST_INT CAR_MILLIE_UNLOCKED_HELP 30 | |
//--- STATS: ADDITIONS AND DEDUCTIONS | |
CONST_INT GF_LIKES_PLAYER_INCREMENT 5 | |
CONST_INT GF_LIKES_PLAYER_INCREMENT_MEETING 15 | |
CONST_INT GF_LIKES_PLAYER_DECREMENT 5 | |
CONST_INT GF_LIKES_PLAYER_DECREMENT_MISS_DATE 3 | |
CONST_INT GF_LIKES_PLAYER_DECREMENT_NO_ANSWER 2 | |
CONST_INT GF_LIKES_PLAYER_DECREMENT_BEATEN_UP 10 | |
CONST_INT GF_LIKES_PLAYER_DECREMENT_TWOTIMING 4 | |
CONST_INT GF_LIKES_PLAYER_DECREMENT_DATE_ABORT 1 | |
//--- FUN: ADDITIONS AND DEDUCTIONS | |
CONST_FLOAT GF_FUN_INCREMENT_SMALL 0.5 | |
CONST_FLOAT GF_FUN_INCREMENT_MEDIUM 1.5 | |
CONST_FLOAT GF_FUN_INCREMENT_BIG 4.0 | |
CONST_FLOAT GF_FUN_DECREMENT_SMALL 0.5 | |
CONST_FLOAT GF_FUN_DECREMENT_MEDIUM 1.0 | |
CONST_FLOAT GF_FUN_DECREMENT_BIG 2.5 | |
//--- STAT LIMITS | |
CONST_INT GF_LIKES_PLAYER_LOW_LIMIT -15 | |
CONST_INT GF_HATES_PLAYER -100 | |
CONST_INT GF_IS_DEAD -999 | |
CONST_INT GF_DUMP_PLAYER_IMMEDIATELY -99 | |
//--- LIKE PLAYER STAGES | |
CONST_INT GF_LIKES_PLAYER_STAGE1 30 // Dates get more variety other than EAT_OUT | |
CONST_INT GF_LIKES_PLAYER_STAGE2 50 // Girl's car is unlocked, player can drive it | |
CONST_INT GF_LIKES_PLAYER_STAGE3 100 // Player is awarded a unique set of clothes | |
//--- TIMER CHECKS & LIMITS | |
CONST_INT GF_TIME_STOPPED_CONSIDERED_PARKING 10000 // Counted while the car is standing still | |
CONST_INT GF_TIME_FOR_RANDOM_SPEECH 25000 // Counted while the car is driving | |
CONST_INT GF_TIME_BEFORE_TRIGGERING_TWOTIME 7000 // Counted after an event if idle in car or on foot | |
CONST_INT GF_TIME_BEFORE_ESCAPED_TWOTIME 20000 // Counted from when the player has distanced the GF | |
CONST_INT GF_TIME_MAX_BEFORE_BORED_WARNING 120000 // The max time before the bored warning is issued | |
CONST_INT GF_TIME_MAX_BORED_WARNING_OUT_OF_TOWN 240000 // Version of above for dates originating out of town | |
CONST_INT GF_TIME_BEFORE_BORED_END_OF_DATE 180000 // The max time the girl can spend while doing nothing | |
CONST_INT GF_TIME_BORED_END_OF_DATE_OUT_OF_TOWN 300000 // Version of above for dates originating out of town | |
CONST_INT GF_TIME_BEFORE_BORED_FLEE_PLAYER 360000 // Max time after asking to be taken home before she runs | |
CONST_INT GF_TIME_BEFORE_START_FUN_CHECKS 30000 // First few seconds free for the player to sort himself | |
CONST_INT GF_TIME_BEFORE_AREA_COMMENTS 30000 // When a girl can start commenting on areas, on any date | |
CONST_INT GF_EARLIEST_MINUTE_FOR_MOBILE_CHECK 5 // 'Appointment missed' check is done between this and 0 | |
//--- COUNTERS OF THINGS | |
CONST_INT GF_AMMO_IN_UZI 60 // Counted during a date, when empty she had enough | |
//--- SPEECH MANAGER STATES | |
CONST_INT GF_SPEECH_FREE 0 | |
CONST_INT GF_SPEECH_ENABLE_AI 1 | |
CONST_INT GF_SPEECH_DISABLE_AI 2 | |
CONST_INT GF_SPEECH_REQUEST 3 | |
CONST_INT GF_SPEECH_DISABLE_AI_AND_SPEAK 4 | |
CONST_INT GF_SPEECH_ENABLE_AI_WHEN_SILENT 5 | |
CONST_INT GF_SPEECH_REQUEST_FOR_PLAYER 6 | |
CONST_INT GF_SPEECH_SPECIAL_TT_CONTEXT 7 | |
//--- MUTE GF SPEECH CONTEXTS | |
CONST_INT GF_CONTEXT_JUSTPLAYER -2 | |
//--- TWO-TIMING STATES | |
CONST_INT GF_TT_INIT 0 | |
CONST_INT GF_TT_REQUESTS 1 | |
CONST_INT GF_TT_CREATE_CAR 2 | |
CONST_INT GF_TT_CUT1_START 3 | |
CONST_INT GF_TT_CUT1_END 4 | |
CONST_INT GF_TT_INTERCEPT_PLAYER 5 | |
CONST_INT GF_TT_CHECK_PLAYER_POSITION 6 | |
CONST_INT GF_TT_VERIFY_PLAYER_LOST 7 | |
CONST_INT GF_TT_REACHED_PLAYER 8 | |
CONST_INT GF_TT_CUT2_START 9 | |
CONST_INT GF_TT_CUT2_MIDDLE 10 | |
CONST_INT GF_TT_CUT2_END 11 | |
CONST_INT GF_TT_END 12 | |
CONST_INT GF_TT_END_WRAP_UP 13 | |
CONST_INT GF_TT_EMERGENCY_END 99 | |
CONST_INT GF_TT_DO_NOT_RUN -1 | |
//--- INTEGER LIMITS THAT VALUES CAN REACH | |
CONST_INT GF_ALLOWED_HEALTH_LOSS_BY_PLAYER 498 | |
CONST_INT GF_HEALTH_LIMIT_FOR_DEATH 10 | |
CONST_INT GF_CAR_DAMAGE_LIMIT_FOR_END_DATE 0 // REMEMBER TO SET THIS EVENTUALLY!!! | |
CONST_INT GF_DANCE_SCORE_REQUIRED 2500 | |
CONST_INT GF_SPECIAL_CLOTHES_APPEAL_INCREASE 25 | |
CONST_INT GF_CHANCE_TWOTIMING_PERCENT 50 // Chance of getting caught two-timing, out of 100 | |
//--- FLOAT LIMITS THAT VALUES CAN REACH | |
CONST_FLOAT GF_KISS_2_SELFRESPECT_DIVIDER 1.2 // It's a division so cannot be zero | |
CONST_FLOAT GF_PROXIMITY_OF_PEDS_AS_PUBLIC 20.0 | |
CONST_FLOAT GF_FAST_CAR_SPEED 22.0 | |
CONST_FLOAT GF_CRUISE_CAR_SPEED_LOW 5.0 | |
CONST_FLOAT GF_CRUISE_CAR_SPEED_FAST 42.0 | |
//--- MISC | |
CONST_INT GF_BARN_DOOR 6 | |
//------------------------------------GIRLFRIEND RESPECT GLOBALS---------------------------------- | |
VAR_INT iGFRespectGiven[6] | |
//-----------------------------------GIRLFRIEND TWO PLAYER GLOBALS-------------------------------- | |
VAR_INT iGFAvailableFor2Player | |
//-------------------------------------DATE SEQUENCING GLOBALS------------------------------------ | |
VAR_INT iTransitionStages iGFTimeStep | |
//--------------------------------------SEX MINIGAME GLOBALS-------------------------------------- | |
VAR_INT GF_left_stick_x GF_left_stick_y GF_right_stick_x GF_right_stick_y excitement power iCensoredVersion | |
VAR_FLOAT GF_anim_time | |
//-----------------------------------PS2 KEYBOARD CONSOLE GLOBALS---------------------------------- | |
VAR_TEXT_LABEL16 GF_txtConsoleIn GF_txtConsoleCheck | |
//--------------------------------------GLOBAL DECISION MAKERS------------------------------------- | |
VAR_INT iGF_GlobalDM_Tough iGF_GlobalDM_Weak_Gang | |
//--------------------------------------DANCE MINIGAME GLOBALS-------------------------------------- | |
VAR_INT iDanceGirlfriend | |
//--------------------------------------SPEECH MANAGER GLOBALS-------------------------------------- | |
VAR_INT iGFSpeechStatus iGFSayContext iCJSayContext iGFContextVariation | |
//----------------------------------------TWO-TIMING GLOBALS---------------------------------------- | |
VAR_INT iGF_TT_Status iGF_TT_driver iGF_TT_Car iGF_TT_PedModel iGF_TT_CarModel iGF_TT_Blip | |
//--------------------------------------GF DATA STRUCTURES------------------------------------------ | |
//--- GANG GIRL (COOCHIE) | |
iGFSelfRespect[COOCHIE] = 30 | |
iGFLikesPlayer[COOCHIE] = 15 | |
iGFDesiredSexAppeal[COOCHIE] = -100 // Coochie likes any piece of shit (as long as he's got personality!) | |
iGFRespectGiven[COOCHIE] = 200 | |
iGFLikesOnDate[COOCHIE] = 0 | |
SET_BIT iGFLikesOnDate[COOCHIE] LIKES_JUNK_FOOD | |
SET_BIT iGFLikesOnDate[COOCHIE] LIKES_BARS | |
SET_BIT iGFLikesOnDate[COOCHIE] LIKES_STUNTS | |
SET_BIT iGFLikesOnDate[COOCHIE] LIKES_GANG_ZONES | |
SET_BIT iGFLikesOnDate[COOCHIE] LIKES_PARK_BEACH_ZONES | |
SET_BIT iGFLikesOnDate[COOCHIE] LIKES_ENTERTAINMENT_ZONES | |
SET_BIT iGFLikesOnDate[COOCHIE] LIKES_GANG_FIGHTS | |
SET_BIT iGFLikesOnDate[COOCHIE] LIKES_SNOGGING_IN_PUBLIC | |
iGFLikesPlayerTraits[COOCHIE] = 0 | |
SET_BIT iGFLikesPlayerTraits[COOCHIE] NORMAL | |
iGFDiaryOfBusyHours[COOCHIE] = 0 | |
SET_BIT iGFDiaryOfBusyHours[COOCHIE] H_6AM | |
SET_BIT iGFDiaryOfBusyHours[COOCHIE] H_8AM | |
SET_BIT iGFDiaryOfBusyHours[COOCHIE] H_10AM | |
SET_BIT iGFDiaryOfBusyHours[COOCHIE] H_NOON | |
SET_BIT iGFDiaryOfBusyHours[COOCHIE] H_2PM | |
//--- MECHANIC GIRL (MICHELLE) | |
iGFSelfRespect[MICHELLE] = 45 | |
iGFLikesPlayer[MICHELLE] = 0 | |
iGFDesiredSexAppeal[MICHELLE] = 60 | |
iGFRespectGiven[MICHELLE] = 500 | |
iGFLikesOnDate[MICHELLE] = 0 | |
SET_BIT iGFLikesOnDate[MICHELLE] LIKES_BARS | |
SET_BIT iGFLikesOnDate[MICHELLE] LIKES_STUNTS | |
SET_BIT iGFLikesOnDate[MICHELLE] LIKES_TO_GO_FAST | |
SET_BIT iGFLikesOnDate[MICHELLE] LIKES_GANG_ZONES | |
SET_BIT iGFLikesOnDate[MICHELLE] LIKES_PARK_BEACH_ZONES | |
SET_BIT iGFLikesOnDate[MICHELLE] LIKES_ENTERTAINMENT_ZONES | |
SET_BIT iGFLikesOnDate[MICHELLE] LIKES_SNOGGING_IN_PUBLIC | |
SET_BIT iGFLikesOnDate[MICHELLE] LIKES_TO_DRIVE | |
iGFLikesPlayerTraits[MICHELLE] = 0 | |
SET_BIT iGFLikesPlayerTraits[MICHELLE] OBESE | |
iGFDiaryOfBusyHours[MICHELLE] = 0 | |
SET_BIT iGFDiaryOfBusyHours[MICHELLE] H_NOON | |
SET_BIT iGFDiaryOfBusyHours[MICHELLE] H_2PM | |
SET_BIT iGFDiaryOfBusyHours[MICHELLE] H_4PM | |
SET_BIT iGFDiaryOfBusyHours[MICHELLE] H_6PM | |
SET_BIT iGFDiaryOfBusyHours[MICHELLE] H_8PM | |
SET_BIT iGFDiaryOfBusyHours[MICHELLE] H_10PM | |
//--- GUN GIRL (KYLIE) | |
iGFSelfRespect[KYLIE] = 70 | |
iGFLikesPlayer[KYLIE] = 0 | |
iGFDesiredSexAppeal[KYLIE] = 70 | |
iGFRespectGiven[KYLIE] = 700 | |
iGFLikesOnDate[KYLIE] = 0 | |
SET_BIT iGFLikesOnDate[KYLIE] LIKES_SWANK_PLACES | |
SET_BIT iGFLikesOnDate[KYLIE] LIKES_PARKING_ROMANTIC | |
SET_BIT iGFLikesOnDate[KYLIE] LIKES_TO_CRUISE | |
SET_BIT iGFLikesOnDate[KYLIE] LIKES_RICH_ZONES | |
SET_BIT iGFLikesOnDate[KYLIE] LIKES_DESERT_COUNTRY_ZONES | |
SET_BIT iGFLikesOnDate[KYLIE] LIKES_SEX_IN_PUBLIC | |
iGFLikesPlayerTraits[KYLIE] = 0 | |
SET_BIT iGFLikesPlayerTraits[KYLIE] NORMAL | |
iGFDiaryOfBusyHours[KYLIE] = 0 | |
SET_BIT iGFDiaryOfBusyHours[KYLIE] H_2AM | |
SET_BIT iGFDiaryOfBusyHours[KYLIE] H_4AM | |
SET_BIT iGFDiaryOfBusyHours[KYLIE] H_6AM | |
SET_BIT iGFDiaryOfBusyHours[KYLIE] H_NOON | |
//--- COP GIRL (BARBARA) | |
iGFSelfRespect[BARBARA] = 60 | |
iGFLikesPlayer[BARBARA] = 0 | |
iGFDesiredSexAppeal[BARBARA] = 45 | |
iGFRespectGiven[BARBARA] = 400 | |
iGFLikesOnDate[BARBARA] = 0 | |
SET_BIT iGFLikesOnDate[BARBARA] LIKES_DINERS | |
SET_BIT iGFLikesOnDate[BARBARA] LIKES_TO_CRUISE | |
SET_BIT iGFLikesOnDate[BARBARA] LIKES_DESERT_COUNTRY_ZONES | |
SET_BIT iGFLikesOnDate[BARBARA] LIKES_ENTERTAINMENT_ZONES | |
iGFLikesPlayerTraits[BARBARA] = 0 | |
SET_BIT iGFLikesPlayerTraits[BARBARA] OBESE | |
iGFDiaryOfBusyHours[BARBARA] = 0 | |
SET_BIT iGFDiaryOfBusyHours[BARBARA] H_6AM | |
SET_BIT iGFDiaryOfBusyHours[BARBARA] H_8AM | |
SET_BIT iGFDiaryOfBusyHours[BARBARA] H_10AM | |
SET_BIT iGFDiaryOfBusyHours[BARBARA] H_NOON | |
SET_BIT iGFDiaryOfBusyHours[BARBARA] H_2PM | |
//--- NURSE GIRL (SUZIE) | |
iGFSelfRespect[SUZIE] = 50 | |
iGFLikesPlayer[SUZIE] = 0 | |
iGFDesiredSexAppeal[SUZIE] = 50 | |
iGFRespectGiven[SUZIE] = 300 | |
iGFLikesOnDate[SUZIE] = 0 | |
SET_BIT iGFLikesOnDate[SUZIE] LIKES_DINERS | |
SET_BIT iGFLikesOnDate[SUZIE] LIKES_TO_CRUISE | |
SET_BIT iGFLikesOnDate[SUZIE] LIKES_ENTERTAINMENT_ZONES | |
SET_BIT iGFLikesOnDate[SUZIE] LIKES_SHOPPING_ZONES | |
SET_BIT iGFLikesOnDate[SUZIE] LIKES_PARK_BEACH_ZONES | |
SET_BIT iGFLikesOnDate[SUZIE] LIKES_TO_CAUSE_ACCIDENTS_KILL_PEDS | |
iGFLikesPlayerTraits[SUZIE] = 0 | |
SET_BIT iGFLikesPlayerTraits[SUZIE] FIT | |
iGFDiaryOfBusyHours[SUZIE] = 0 | |
SET_BIT iGFDiaryOfBusyHours[SUZIE] H_2AM | |
SET_BIT iGFDiaryOfBusyHours[SUZIE] H_4AM | |
SET_BIT iGFDiaryOfBusyHours[SUZIE] H_6AM | |
SET_BIT iGFDiaryOfBusyHours[SUZIE] H_8AM | |
SET_BIT iGFDiaryOfBusyHours[SUZIE] H_10AM | |
SET_BIT iGFDiaryOfBusyHours[SUZIE] H_MIDNIGHT | |
//--- CROUPIER (MILLIE) | |
iGFSelfRespect[MILLIE] = 45 | |
iGFLikesPlayer[MILLIE] = 20 | |
iGFDesiredSexAppeal[MILLIE] = 60 | |
iGFRespectGiven[MILLIE] = 400 | |
iGFLikesOnDate[MILLIE] = 0 | |
SET_BIT iGFLikesOnDate[MILLIE] LIKES_SWANK_PLACES | |
SET_BIT iGFLikesOnDate[MILLIE] LIKES_BARS | |
SET_BIT iGFLikesOnDate[MILLIE] LIKES_TO_CRUISE | |
SET_BIT iGFLikesOnDate[MILLIE] LIKES_PARKING_ROMANTIC | |
SET_BIT iGFLikesOnDate[MILLIE] LIKES_RICH_ZONES | |
SET_BIT iGFLikesOnDate[MILLIE] LIKES_SHOPPING_ZONES | |
SET_BIT iGFLikesOnDate[MILLIE] LIKES_ENTERTAINMENT_ZONES | |
SET_BIT iGFLikesOnDate[MILLIE] LIKES_SNOGGING_IN_PUBLIC | |
SET_BIT iGFLikesOnDate[MILLIE] LIKES_KINKY_SEX | |
iGFLikesPlayerTraits[MILLIE] = 0 | |
SET_BIT iGFLikesPlayerTraits[MILLIE] FIT | |
iGFDiaryOfBusyHours[MILLIE] = 0 | |
SET_BIT iGFDiaryOfBusyHours[MILLIE] H_10PM | |
SET_BIT iGFDiaryOfBusyHours[MILLIE] H_MIDNIGHT | |
SET_BIT iGFDiaryOfBusyHours[MILLIE] H_2AM | |
SET_BIT iGFDiaryOfBusyHours[MILLIE] H_4AM | |
SET_BIT iGFDiaryOfBusyHours[MILLIE] H_6AM | |
SET_BIT iGFDiaryOfBusyHours[MILLIE] H_8AM | |
SET_BIT iGFDiaryOfBusyHours[MILLIE] H_10AM | |
//-------------------------------------------GF DOORS--------------------------------------------- | |
VAR_INT iGFdoor[7] | |
CREATE_OBJECT_NO_OFFSET Gen_doorEXT03 2401.75 -1714.477 13.125 iGFdoor[COOCHIE] | |
DONT_REMOVE_OBJECT iGFdoor[COOCHIE] | |
SET_OBJECT_COLLISION_DAMAGE_EFFECT iGFdoor[COOCHIE] FALSE | |
SET_OBJECT_PROOFS iGFdoor[COOCHIE] TRUE TRUE TRUE TRUE TRUE | |
CREATE_OBJECT_NO_OFFSET Gen_doorEXT07 -2574.495 1153.023 54.669 iGFdoor[SUZIE] | |
SET_OBJECT_HEADING iGFdoor[SUZIE] -19.444 | |
DONT_REMOVE_OBJECT iGFdoor[SUZIE] | |
SET_OBJECT_COLLISION_DAMAGE_EFFECT iGFdoor[SUZIE] FALSE | |
SET_OBJECT_PROOFS iGFdoor[SUZIE] TRUE TRUE TRUE TRUE TRUE | |
CREATE_OBJECT_NO_OFFSET Gen_doorSHOP02 -1800.706 1201.041 24.12 iGFdoor[MICHELLE] | |
DONT_REMOVE_OBJECT iGFdoor[MICHELLE] | |
SET_OBJECT_COLLISION_DAMAGE_EFFECT iGFdoor[MICHELLE] FALSE | |
SET_OBJECT_PROOFS iGFdoor[MICHELLE] TRUE TRUE TRUE TRUE TRUE | |
CREATE_OBJECT_NO_OFFSET Gen_doorEXT04 -383.46 -1439.64 25.33 iGFdoor[KYLIE] | |
SET_OBJECT_HEADING iGFdoor[KYLIE] 90.0 | |
DONT_REMOVE_OBJECT iGFdoor[KYLIE] | |
SET_OBJECT_COLLISION_DAMAGE_EFFECT iGFdoor[KYLIE] FALSE | |
SET_OBJECT_PROOFS iGFdoor[KYLIE] TRUE TRUE TRUE TRUE TRUE | |
CREATE_OBJECT_NO_OFFSET Gen_doorSHOP3 -1390.79 2639.33 54.973 iGFdoor[BARBARA] | |
DONT_REMOVE_OBJECT iGFdoor[BARBARA] | |
SET_OBJECT_COLLISION_DAMAGE_EFFECT iGFdoor[BARBARA] FALSE | |
SET_OBJECT_PROOFS iGFdoor[BARBARA] TRUE TRUE TRUE TRUE TRUE | |
CREATE_OBJECT_NO_OFFSET Gen_doorEXT03 2038.036 2721.37 10.53 iGFdoor[MILLIE] | |
SET_OBJECT_HEADING iGFdoor[MILLIE] -180.0 | |
DONT_REMOVE_OBJECT iGFdoor[MILLIE] | |
SET_OBJECT_COLLISION_DAMAGE_EFFECT iGFdoor[MILLIE] FALSE | |
SET_OBJECT_PROOFS iGFdoor[MILLIE] TRUE TRUE TRUE TRUE TRUE | |
CREATE_OBJECT_NO_OFFSET CUNTGIRLDOOR -371.4 -1429.42 26.47 iGFdoor[GF_BARN_DOOR] | |
DONT_REMOVE_OBJECT iGFdoor[GF_BARN_DOOR] | |
SET_OBJECT_COLLISION_DAMAGE_EFFECT iGFdoor[GF_BARN_DOOR] FALSE | |
SET_OBJECT_PROOFS iGFdoor[GF_BARN_DOOR] TRUE TRUE TRUE TRUE TRUE | |
//------------------------------------------------------------------------------------------------ | |
//--- Flag here what type of sex version to run | |
// 0 = ALL SEX IS IN | |
// 1 = NO SEX | |
iCensoredVersion = 1 | |
//--- Launch the memory resident that handles GFs. | |
START_NEW_SCRIPT GF_Dating_Agent | |
MISSION_END | |
/***************************************************************************************************************************************** | |
************************************************ ********************************************************************** | |
************************************************ DATING AGENT ********************************************************************** | |
************************************************ ********************************************************************** | |
*****************************************************************************************************************************************/ | |
/* TO DO ON THIS SCRIPT: | |
------------------------ | |
- Optimisations | |
*/ | |
{ | |
GF_Dating_Agent: | |
SCRIPT_NAME GFAGNT | |
/*--- Dating Agent Structures-------- | |
see GirlFriend Stats Map.txt | |
-------------------------------------*/ | |
LVAR_INT iAgentState iSubStateStatus iCurrentGF iTemp iTemp2 iHours iMinutes iDay iSixFrameCounter iTempStat | |
LVAR_FLOAT fOriginX fOriginY fOriginZ fOriginH | |
//--- Init the vars | |
iGFTimeStep = 0 | |
iTemp = 0 | |
iTemp2 = 0 | |
iAgentFlags = 0 | |
iAgentState = GF_IDLE_TRY_TO_LOCATE_PLAYER | |
iSubStateStatus = 0 | |
$GF_txtConsoleCheck = NIL | |
iPhoneState = MOBILE_INACTIVE | |
iGFidx = -1 | |
iSixFrameCounter = -1 | |
iDay = 1 // there is no day zero! | |
//--- Fudge | |
IF iTemp > 0 | |
CREATE_CHAR PEDTYPE_CIVFEMALE 0 0.0 0.0 0.0 iCurrentGF | |
ADD_BLIP_FOR_COORD 0.0 0.0 0.0 iGFHomeBlips[0] | |
ADD_BLIP_FOR_COORD 0.0 0.0 0.0 iGFHomeBlips[1] | |
ADD_BLIP_FOR_COORD 0.0 0.0 0.0 iGFHomeBlips[2] | |
ADD_BLIP_FOR_COORD 0.0 0.0 0.0 iGFHomeBlips[3] | |
ADD_BLIP_FOR_COORD 0.0 0.0 0.0 iGFHomeBlips[4] | |
ADD_BLIP_FOR_COORD 0.0 0.0 0.0 iGFHomeBlips[5] | |
CREATE_CAR_GENERATOR 0.0 0.0 0.0 0.0 0 0 0 0 0 0 0 0 iGFLockedCarGenerator[0] | |
CREATE_CAR_GENERATOR 0.0 0.0 0.0 0.0 0 0 0 0 0 0 0 0 iGFUnlockedCarGenerator[0] | |
ENDIF | |
//--- Main Loop | |
GF_Dating_Agent_Main: | |
WAIT iGFTimeStep | |
//--- Calls to the debug subroutines if needed - otherwise comment | |
// GOSUB GF_Dating_Agent_Debug | |
// GOSUB GF_Dating_Agent_Console_Commands | |
//--- Alive Checks for player and mission checks | |
IF IS_PLAYER_PLAYING PLAYER1 | |
AND NOT IS_CHAR_DEAD scplayer | |
AND flag_player_on_mission = 0 | |
//-- Player NOT on mission, remove the clean up flag | |
CLEAR_BIT iAgentFlags MISSION_CLEANUP_DONE | |
//--- Go into the appopriate Agent State | |
GOSUB GF_Dating_Agent_DoCurrentState | |
ELSE | |
IF NOT IS_BIT_SET iAgentFlags MISSION_CLEANUP_DONE | |
GOSUB GF_Dating_Agent_MissionCleanUp | |
SET_BIT iAgentFlags MISSION_CLEANUP_DONE | |
ENDIF | |
ENDIF | |
GOTO GF_Dating_Agent_Main | |
//--- End Main Loop | |
/***************************************************************************** | |
GF_Dating_Agent STATES | |
******************************************************************************/ | |
GF_Dating_Agent_DoCurrentState: | |
SWITCH iAgentState | |
CASE GF_IDLE_TRY_TO_LOCATE_PLAYER //---STATE 0: WAIT TO START DATE | |
GOSUB GF_Dating_Agent_State0 | |
BREAK | |
CASE GF_LAUNCH_DATE_OR_SEX //---STATE 1: LAUNCH A DATE OR SEX | |
GOSUB GF_Dating_Agent_State1 | |
BREAK | |
CASE GF_WRAP_UP_AND_UPDATE //---STATE 2: WRAP UP AND STAT UPDATES | |
GOSUB GF_Dating_Agent_State2 | |
BREAK | |
CASE GF_MEETING_WAIT //---STATE3: MEETING WAIT STATE | |
GOSUB GF_Dating_Agent_State3 | |
BREAK | |
CASE GF_START_DATE_WAIT //---STATE4: START DATE WAIT STATE | |
GOSUB GF_Dating_Agent_State4 | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************** | |
STATE 0: WAIT TO START DATE | |
********************************************/ | |
GF_Dating_Agent_State0: | |
//--- Get the index of the girlfriend we are going to handle this frame | |
GOSUB GF_Dating_Agent_GetGFidxThisFrame | |
//--- Check that the girl is active | |
IF IS_BIT_SET iActiveGF iGFidx | |
IF IS_BIT_SET iAgentFlags KEEP_THIS_IDX // If we have locked this girl already... | |
iTemp = 1 // City ALWAYS matches with this girl | |
ELSE | |
//--- Check the current city | |
iTemp = 0 | |
GET_CITY_PLAYER_IS_IN PLAYER1 iTemp2 | |
SWITCH iGFidx | |
CASE COOCHIE | |
IF iTemp2 = LEVEL_LOSANGELES | |
iTemp = 1 | |
ENDIF | |
BREAK | |
CASE BARBARA | |
IF iTemp2 = LEVEL_GENERIC | |
iTemp = 1 | |
ENDIF | |
BREAK | |
CASE KYLIE | |
IF iTemp2 = LEVEL_GENERIC | |
iTemp = 1 | |
ENDIF | |
BREAK | |
CASE MICHELLE | |
IF iTemp2 = LEVEL_SANFRANCISCO | |
iTemp = 1 | |
ENDIF | |
BREAK | |
CASE SUZIE | |
IF iTemp2 = LEVEL_SANFRANCISCO | |
iTemp = 1 | |
ENDIF | |
BREAK | |
CASE MILLIE | |
IF iTemp2 = LEVEL_LASVEGAS | |
iTemp = 1 | |
ENDIF | |
BREAK | |
ENDSWITCH | |
ENDIF | |
IF iTemp = 1 // City matches with girl | |
//--- Check if the Girlfriend Blips and Bonuses are ON as required | |
GOSUB GF_Dating_Agent_CheckStatusOfActiveBlipsAndBonuses | |
//--- Check if player is in zone of the active girl | |
GOSUB GF_Dating_Agent_MatchCurrentZoneWithGFZone // Returns iTemp > 0 if active GF, and the matching iGFidx | |
IF iTemp > 0 // Player is around the zone of an active GF | |
//--- Speed up the agent's time step a little bit | |
iGFTimeStep = GF_TIME_STEP_MEDIUM | |
//--- Check if we have not aquired this GF at this very moment | |
IF NOT IS_BIT_SET iDateReport MEETING_IN_PROGRESS | |
//--- Get origin coordinates for curent girlfriend | |
GOSUB GF_Dating_Agent_GetOrigin_X_Y_Z_H // Reads iGFidx, Returns in fOriginX,Y,Z,Heading | |
//--- Determine if this girl is at home or not, according to her diary | |
GOSUB GF_Dating_Agent_CheckGirlsDiary | |
IF iTemp > 0 // She is in | |
//--- Set the agent time step at its fastest speed - MUST RENDER THE LOCATE | |
iGFTimeStep = GF_TIME_STEP_FAST | |
GOSUB GF_Dating_Agent_CreateGFCar | |
//--- Mark the GF available for 2 Player games | |
SET_BIT iGFAvailableFor2Player iGFidx | |
//--- Player detected at the flat | |
iAgentState = GF_START_DATE_WAIT | |
iSubStateStatus = 0 | |
RETURN | |
ELSE // she is not home | |
//--- Mark the GF as not ready for 2 player games | |
CLEAR_BIT iGFAvailableFor2Player iGFidx | |
GOSUB GF_Dating_Agent_RemoveGFCar | |
iGFTimeStep = GF_TIME_STEP_MEDIUM | |
IF LOCATE_STOPPED_CHAR_ANY_MEANS_3D scplayer fOriginX fOriginY fOriginZ 5.0 5.0 3.0 FALSE | |
//--- Player detected at the flat - display HELP | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
AND NOT IS_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP GF_0048 // Your girlfriend is not at home. Try again later | |
ENDIF | |
RETURN | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
//--- Player is not around the area of the girl | |
GOSUB GF_Dating_Agent_CheckPhoneState // Mobile Phone | |
ENDIF | |
ELSE | |
//--- City check failed, return | |
RETURN | |
ENDIF | |
ELSE // This is an inactive girlfriend | |
//--- Check if the Girlfriend Blips and Bonuses are OFF as required | |
GOSUB GF_Dating_Agent_CheckStatusOfInactiveBlipsAndBonuses | |
//--- Check if player is in the 'meeting' zone of an inactive girl | |
IF NOT IS_BIT_SET iDateReport MEETING_IN_PROGRESS // If the meeting script is not running already | |
GOSUB GF_Dating_Agent_MatchCurrentZoneWithMeetZone // Returns iTemp > 0 if match, and the matching iGFidx | |
IF iTemp > 0 | |
//--- Speed up the agent's time step a little bit | |
iGFTimeStep = GF_TIME_STEP_MEDIUM | |
//--- Special case for KYLIE who is not available until after this mission | |
IF iGFidx = KYLIE | |
AND flag_la1fin1_mission_counter < 2 | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED GF_Meeting.sc | |
RETURN | |
ENDIF | |
//--- Check if girl is allowed to be created in the world or not | |
IF NOT iGFLikesPlayer[iGFidx] = GF_HATES_PLAYER | |
AND NOT iGFLikesPlayer[iGFidx] = GF_IS_DEAD | |
//--- Check if we must skip a day | |
IF IS_BIT_SET iGFDiaryOfBusyHours[iGFidx] NEXT_FREE_DAY | |
//--- Verify that this is the next free day in her diary | |
GET_CURRENT_DAY_OF_WEEK iTemp | |
iTemp += H_10PM // pick the right bit to find the day of the week in the diary | |
IF IS_BIT_SET iGFDiaryOfBusyHours[iGFidx] iTemp // if this is the right day | |
//--- Clean the "day to skip" and the "skip a day" bits off her diary | |
GOSUB GF_Dating_Agent_CleanFreeDays | |
//--- This IS the next day | |
iTemp = 1 | |
ELSE | |
//--- Check that we have not skipped days and have to wait a week | |
++iTemp // look at tomorrow | |
IF iTemp > D_SAT | |
iTemp = D_SUN | |
ENDIF | |
IF IS_BIT_SET iGFDiaryOfBusyHours[iGFidx] iTemp // is tomorrow the free day? | |
//--- All ok, tomorrow is her free day, so return false | |
iTemp = -1 | |
RETURN | |
ELSE | |
//--- Player has skipped a week! | |
GOSUB GF_Dating_Agent_CleanFreeDays | |
//--- Better mark this as the next day | |
iTemp = 1 | |
ENDIF | |
ENDIF | |
ELSE | |
//--- No need to check for free day | |
iTemp = 1 | |
ENDIF | |
//--- If she is supposed to be there, get her co-ordinates | |
IF iTemp = 1 | |
GOSUB GF_Dating_Agent_GetMeetingOrigin_X_Y_Z_H | |
//--- Start a meeting with this girl - gives the opportunity to activate her | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT GF_Meeting.sc iTemp | |
IF iTemp = 0 | |
STREAM_SCRIPT GF_Meeting.sc | |
IF HAS_STREAMED_SCRIPT_LOADED GF_Meeting.sc | |
SET_BIT iDateReport MEETING_IN_PROGRESS | |
START_NEW_STREAMED_SCRIPT GF_Meeting.sc iGFidx fOriginX fOriginY fOriginZ fOriginH | |
//--- Speed up the agent's time step to its maximum speed | |
iGFTimeStep = GF_TIME_STEP_FAST | |
iAgentState = GF_MEETING_WAIT | |
iSubStateStatus = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
//--- Slow down the agent's time step | |
iGFTimeStep = GF_TIME_STEP_SLOW | |
//--- Player has moved away from the meeting zone | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED GF_Meeting.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
RETURN | |
/******************************************** | |
STATE 1: LAUNCH A DATE OR SEX | |
********************************************/ | |
GF_Dating_Agent_State1: | |
iGFGoneOnDate[iGFidx] = 1 | |
IF iGFGoneOnDate[0] = 1 | |
AND iGFGoneOnDate[1] = 1 | |
AND iGFGoneOnDate[2] = 1 | |
AND iGFGoneOnDate[3] = 1 | |
AND iGFGoneOnDate[4] = 1 | |
AND iGFGoneOnDate[5] = 1 | |
WRITE_LOG "UNLOCK_ACHIEVEMENT NOT_A_PLAYER" | |
ENDIF | |
SWITCH iSubStateStatus | |
CASE 0 | |
//--- Check the mobile phone - if player has received a call from this GF | |
IF iCaller = iGFidx | |
//--- RESET | |
GOSUB GF_Dating_Agent_ResetAppointment | |
iPhoneState = MOBILE_INACTIVE | |
ENDIF | |
CLEAR_BIT iAgentFlags iGFidx // Clear the appointment bit anyway. | |
//------CREATE THE GF in the game world: | |
GOSUB GF_Dating_Agent_CreateAndInitGF // Pass the IDX of the GF, returns iCurrentGF as ped pointer | |
//--- Disband the current player's group in case he has gang members with him | |
IF IS_PLAYER_PLAYING PLAYER1 | |
REMOVE_GROUP players_group | |
SET_PLAYER_GROUP_RECRUITMENT PLAYER1 FALSE | |
GET_RID_OF_PLAYER_PROSTITUTE | |
ENDIF | |
//--- Clear the report for this date (this should be clean already, but just to make sure...) | |
IF NOT IS_BIT_SET iActiveGF GF_CHEAT_MODE_ON // If there are no keyboard cheats active | |
iDateReport = 0 | |
ENDIF | |
//--- Check if the player is in GIMP SUIT here, and if the GF likes kinky | |
GOSUB GF_Dating_Agent_IsPlayerInGimpSuit // Returns iTemp = 1 if player in gimp suit, 0 otherwise | |
IF iTemp = 1 | |
AND IS_BIT_SET iGFLikesOnDate[iGFidx] LIKES_KINKY_SEX | |
SET_BIT iDateReport KINKY_SEX // Push the kinky sex as date, this starts the cut of her leaving house | |
ELSE | |
//--- On the first few dates, the girl always wants to be taken out for dinner | |
IF iGFLikesPlayer[iGFidx] <= GF_LIKES_PLAYER_STAGE1 | |
SET_BIT iDateReport EAT_OUT | |
ELSE | |
//--- Generate a random date | |
GOSUB GF_Dating_Agent_CreateRandomDate // Returns date number in iTemp. Valid dates: 11, 12, 13 | |
SET_BIT iDateReport iTemp //Push the date type in the bitfield | |
ENDIF | |
ENDIF | |
//--- Start the date script | |
STREAM_SCRIPT GF_Date.sc | |
++iSubStateStatus // Wait for the date to end, i.e. bit 1 in the report is clear | |
BREAK | |
CASE 1 | |
IF HAS_STREAMED_SCRIPT_LOADED GF_Date.sc | |
SET_BIT iDateReport DATE_IN_PROGRESS // Mark Date as In Progress | |
CLEAR_BIT iGFAvailableFor2Player iGFidx // Mark GF as NOT available for 2 player games | |
START_NEW_STREAMED_SCRIPT GF_Date.sc iCurrentGF //Start the date, passing the GF model | |
++iSubStateStatus // Wait for the date to end, i.e. bit 1 in the report is clear | |
ENDIF | |
BREAK | |
CASE 2 | |
//--- Date Has ended | |
IF NOT IS_BIT_SET iDateReport DATE_IN_PROGRESS // Date In Progress | |
//--- Check if player has agreed to sex or has declined | |
IF IS_BIT_SET iDateReport PLAYER_AGREES_TO_SEX | |
//--- Player did agree to Sex | |
IF NOT IS_BIT_SET iDateReport SEX_IN_PROGRESS | |
SET_PLAYER_CONTROL player1 OFF | |
//--- Remove the instance, it is no longer needed on screen. | |
GOSUB GF_Dating_Agent_RemoveGF | |
STREAM_SCRIPT GF_Sex.sc | |
++iSubStateStatus | |
ENDIF | |
ELSE | |
//--- Player refused sex | |
DO_FADE 1000 FADE_IN | |
iAgentState = GF_WRAP_UP_AND_UPDATE | |
iSubStateStatus = 0 | |
ENDIF | |
ELSE | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT GF_Date.sc iTemp | |
IF iTemp =0 | |
CLEAR_BIT iDateReport DATE_IN_PROGRESS | |
ENDIF | |
ENDIF | |
BREAK | |
CASE 3 | |
IF HAS_STREAMED_SCRIPT_LOADED GF_Sex.sc | |
//--- Retrieve the stuff we need to pass to the sex script | |
GET_AREA_VISIBLE iTemp | |
GOSUB GF_Dating_Agent_GetOrigin_X_Y_Z_H | |
//--- See what type of sex we shoud trigger | |
IF IS_BIT_SET iDateReport KINKY_SEX | |
START_NEW_STREAMED_SCRIPT GF_Sex.sc iGFidx TRUE iTemp fOriginX fOriginY fOriginZ fOriginH //Pass the GF, spanking, current area, home outside XYZ and final heading | |
ELSE | |
START_NEW_STREAMED_SCRIPT GF_Sex.sc iGFidx FALSE iTemp fOriginX fOriginY fOriginZ fOriginH //Pass the GF, spanking, current area, home outside XYZ and final heading | |
ENDIF | |
SET_BIT iDateReport SEX_IN_PROGRESS | |
++iSubStateStatus | |
ENDIF | |
BREAK | |
CASE 4 | |
//--- Sex has ended | |
IF NOT IS_BIT_SET iDateReport SEX_IN_PROGRESS | |
iAgentState = GF_WRAP_UP_AND_UPDATE | |
iSubStateStatus = 0 | |
ELSE | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT GF_Sex.sc iTemp | |
IF iTemp =0 | |
CLEAR_BIT iDateReport SEX_IN_PROGRESS | |
ENDIF | |
ENDIF | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************** | |
STATE 2: WRAP UP AND STAT UPDATES | |
********************************************/ | |
GF_Dating_Agent_State2: | |
SWITCH iSubStateStatus | |
CASE 0 | |
CLEAR_BIT iAgentFlags iGFidx // APPOINTMENT_ON for current gf | |
//--- Do all the basic housekeeping stuff on the instanced girlfriend model | |
GOSUB GF_Dating_Agent_RemoveGF | |
//--- Check if the girlfriend is DEAD | |
IF iGFLikesPlayer[iGFidx] = GF_IS_DEAD | |
CLEAR_HELP | |
PRINT_HELP GF_0039 //Your girlfriend is dead. | |
CLEAR_BIT iActiveGF iGFidx // remove the girl | |
ELSE | |
//--- GF is alive and well, update her stats | |
GOSUB GF_Dating_Agent_UpdateGFStats | |
//--- Print unlocked car generator help | |
IF iGFLikesPlayer[iGFidx] >= GF_LIKES_PLAYER_STAGE2 | |
GOSUB GF_Dating_Agent_PrintUnlockedCarInfo | |
ENDIF | |
ENDIF | |
++iSubStateStatus | |
BREAK | |
CASE 1 | |
//--- Check if the girl has dumped the player | |
IF iGFLikesPlayer[iGFidx] = GF_HATES_PLAYER | |
OR iGFLikesPlayer[iGFidx] = GF_IS_DEAD | |
GOSUB GF_Dating_Agent_DeleteStats | |
iAgentState = GF_IDLE_TRY_TO_LOCATE_PLAYER | |
iSubStateStatus = 0 | |
ELSE | |
//--- Check that the player has moved away from the GF origin (i.e. where most dates end) | |
IF NOT LOCATE_CHAR_ANY_MEANS_3D scplayer fOriginX fOriginY fOriginZ 10.0 10.0 10.0 FALSE | |
iAgentState = GF_IDLE_TRY_TO_LOCATE_PLAYER | |
iSubStateStatus = 0 | |
ENDIF | |
ENDIF | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************** | |
STATE 3: MEETING WAIT STATE | |
********************************************/ | |
GF_Dating_Agent_State3: | |
//--- Meeting Script Has ended | |
IF NOT IS_BIT_SET iDateReport MEETING_IN_PROGRESS // MEETING In Progress | |
GOSUB GF_Dating_Agent_GetMeetingOrigin_X_Y_Z_H | |
IF NOT LOCATE_CHAR_ANY_MEANS_3D scplayer fOriginX fOriginY fOriginZ 65.0 65.0 5.0 FALSE | |
IF IS_BIT_SET iDateReport MEET_TOMORROW | |
GET_CURRENT_DAY_OF_WEEK iDay | |
++iDay | |
IF iDay > 7 | |
iDay = 1 | |
ENDIF | |
ENDIF | |
iAgentState = GF_IDLE_TRY_TO_LOCATE_PLAYER | |
iSubStateStatus = 0 | |
ENDIF | |
ELSE | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT GF_Meeting.sc iTemp | |
IF iTemp =0 | |
CLEAR_BIT iDateReport MEETING_IN_PROGRESS | |
ENDIF | |
ENDIF | |
RETURN | |
/******************************************** | |
STATE 4: START DATE WAIT STATE | |
********************************************/ | |
GF_Dating_Agent_State4: | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer fOriginX fOriginY fOriginZ 75.0 75.0 10.0 FALSE | |
GOSUB GF_Dating_Agent_CheckGirlsDiary | |
IF iTemp > 0 // She is in | |
IF LOCATE_STOPPED_CHAR_ANY_MEANS_3D scplayer fOriginX fOriginY fOriginZ 1.5 1.5 1.5 TRUE | |
IF NOT IS_BIT_SET iAgentFlags MOBILE_CALL_SCRIPT_RUNNING | |
AND CAN_PLAYER_START_MISSION PLAYER1 | |
SET_PLAYER_CONTROL player1 OFF | |
iAgentState = GF_LAUNCH_DATE_OR_SEX | |
iSubStateStatus = 0 | |
RETURN | |
ENDIF | |
ENDIF | |
ELSE | |
//---She is no longer at home | |
iAgentState = GF_IDLE_TRY_TO_LOCATE_PLAYER | |
iSubStateStatus = 0 | |
ENDIF | |
ELSE | |
//--- Player has left the area | |
iAgentState = GF_IDLE_TRY_TO_LOCATE_PLAYER | |
iSubStateStatus = 0 | |
ENDIF | |
RETURN | |
/***************************************************************************** | |
GF_Dating_Agent SUBROUTINES | |
******************************************************************************/ | |
/******************************************** | |
CHECK STATUS OF ACTIVE BONUSES AND BLIPS | |
********************************************/ | |
GF_Dating_Agent_CheckStatusOfActiveBlipsAndBonuses: | |
//--- check if the ACTIVE girl we are doing this frame needs a blip | |
IF NOT DOES_BLIP_EXIST iGFHomeBlips[iGFidx] | |
GOSUB GF_Dating_Agent_GetOrigin_X_Y_Z_H | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD fOriginX fOriginY fOriginZ RADAR_SPRITE_GIRLFRIEND iGFHomeBlips[iGFidx] | |
//--- The blip can also be considered a 'flag' to see if this girl needs to be counted | |
INCREMENT_INT_STAT CURRENT_GIRLFRIENDS 1 // current number, always updated | |
INCREMENT_INT_STAT GIRLS_DATED 1 // total number, up to 6 | |
//--- Set Girlfriend Respect | |
GET_INT_STAT RESPECT_GIRLFRIEND iTemp | |
iTemp += iGFRespectGiven[iGFidx] | |
IF iTemp > 1000 | |
iTemp = 1000 | |
ENDIF | |
SET_INT_STAT RESPECT_GIRLFRIEND iTemp | |
ENDIF | |
//--- Girl specific checks | |
SWITCH iGFidx | |
CASE COOCHIE | |
//--- Give player clothes as gift | |
IF iGFLikesPlayer[iGFidx] >= GF_LIKES_PLAYER_STAGE3 | |
AND flag_got_pimp_clothes = 0 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP GF_H006 // your girlfriend has bought you a gift | |
flag_got_pimp_clothes = 1 | |
ENDIF | |
ENDIF | |
BREAK | |
CASE MICHELLE | |
//--- Give player clothes as gift | |
IF iGFLikesPlayer[iGFidx] >= GF_LIKES_PLAYER_STAGE3 | |
AND flag_got_mechanic_clothes = 0 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP GF_H006 // your girlfriend has bought you a gift | |
flag_got_mechanic_clothes = 1 | |
ENDIF | |
ENDIF | |
//--- check if this girl needs her bonus activated | |
IF NOT IS_BIT_SET iActiveGF MICHELLE_BONUS_ACTIVE | |
CHANGE_GARAGE_TYPE MICHDR GARAGE_RESPRAY | |
SET_GARAGE_RESPRAY_FREE MICHDR TRUE | |
SET_BIT iActiveGF MICHELLE_BONUS_ACTIVE | |
ENDIF | |
BREAK | |
CASE KYLIE | |
//--- Give player clothes as gift | |
IF iGFLikesPlayer[iGFidx] >= GF_LIKES_PLAYER_STAGE3 | |
AND flag_player_got_country_clothes = 0 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP GF_H006 // your girlfriend has bought you a gift | |
flag_player_got_country_clothes = 1 | |
ENDIF | |
ENDIF | |
//--- check if this girl needs her bonus activated | |
IF NOT IS_BIT_SET iActiveGF KYLIE_BONUS_ACTIVE | |
SET_OBJECT_VISIBLE iGFdoor[GF_BARN_DOOR] FALSE | |
SET_OBJECT_COLLISION iGFdoor[GF_BARN_DOOR] FALSE | |
CREATE_PICKUP MOLOTOV PICKUP_ON_STREET_SLOW -366.2235 -1429.0878 25.5 iGFBonusPickupID[0] | |
CREATE_PICKUP CHNSAW PICKUP_ON_STREET_SLOW -365.7906 -1425.2526 25.5 iGFBonusPickupID[1] | |
CREATE_PICKUP_WITH_AMMO COLT45 PICKUP_ON_STREET_SLOW 100 -365.4774 -1422.4015 25.5 iGFBonusPickupID[2] | |
CREATE_PICKUP_WITH_AMMO FLAME PICKUP_ON_STREET_SLOW 200 -366.0660 -1418.6830 25.5 iGFBonusPickupID[3] | |
SET_BIT iActiveGF KYLIE_BONUS_ACTIVE | |
ENDIF | |
BREAK | |
CASE BARBARA | |
//--- Give player clothes as gift | |
IF iGFLikesPlayer[iGFidx] >= GF_LIKES_PLAYER_STAGE3 | |
AND flag_player_got_police_uniform = 0 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP GF_H006 // your girlfriend has bought you a gift | |
flag_player_got_police_uniform = 1 | |
ENDIF | |
ENDIF | |
//--- check if this girl needs her bonus activated | |
IF NOT IS_BIT_SET iActiveGF BARBARA_BONUS_ACTIVE | |
SET_EXTRA_POLICE_STATION_RESTART_POINT -1379.8428 2635.7395 54.4315 1500.0 170.6194 | |
SWITCH_ARREST_PENALTIES FALSE | |
SET_BIT iActiveGF BARBARA_BONUS_ACTIVE | |
ENDIF | |
BREAK | |
CASE SUZIE | |
//--- Give player clothes as gift | |
IF iGFLikesPlayer[iGFidx] >= GF_LIKES_PLAYER_STAGE3 | |
AND flag_got_medic_clothes = 0 | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
PRINT_HELP GF_H006 // your girlfriend has bought you a gift | |
flag_got_medic_clothes = 1 | |
ENDIF | |
ENDIF | |
IF NOT IS_BIT_SET iActiveGF SUZIE_BONUS_ACTIVE | |
//--- check if this girl needs her bonus activated | |
SET_EXTRA_HOSPITAL_RESTART_POINT -2570.5107 1139.5815 54.8547 1500.0 160.0 | |
SWITCH_DEATH_PENALTIES FALSE | |
SET_BIT iActiveGF SUZIE_BONUS_ACTIVE | |
ENDIF | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************** | |
CHECK STATUS OF INACTIVE BONUSES AND BLIPS | |
********************************************/ | |
GF_Dating_Agent_CheckStatusOfInactiveBlipsAndBonuses: | |
IF returned_oysters = 50 | |
//--- Resurrect this girl if dead | |
IF iGFLikesPlayer[iGFidx] < 0 | |
AND NOT iGFidx = COOCHIE | |
AND NOT iGFidx = MILLIE | |
iGFLikesPlayer[iGFidx] = 45 | |
ENDIF | |
ENDIF | |
IF DOES_BLIP_EXIST iGFHomeBlips[iGFidx] | |
REMOVE_BLIP iGFHomeBlips[iGFidx] | |
//--- Delete her stats | |
GOSUB GF_Dating_Agent_DeleteStats | |
//--- Remove her car | |
GOSUB GF_Dating_Agent_RemoveGFCar | |
//--- Mark the GF as not ready for 2 player games | |
CLEAR_BIT iGFAvailableFor2Player iGFidx | |
//--- Decrease the counter of current girls | |
DECREMENT_INT_STAT CURRENT_GIRLFRIENDS 1 | |
//--- Increase the counter of girls dumped | |
INCREMENT_INT_STAT GIRLS_DUMPED 1 | |
//--- Decrease Girlfriend Respect | |
GET_INT_STAT RESPECT_GIRLFRIEND iTemp | |
iTemp -= iGFRespectGiven[iGFidx] | |
IF iTemp < 0 | |
iTemp = 0 | |
ENDIF | |
SET_INT_STAT RESPECT_GIRLFRIEND iTemp | |
ENDIF | |
//--- calculate the bonus_active bit for this girl | |
iTemp = iGFidx + 20 | |
IF IS_BIT_SET iActiveGF iTemp | |
//--- need to remove this bonus as the girl has gone inactive | |
SWITCH iGFidx | |
CASE MICHELLE | |
IF NOT IS_CHAR_IN_AREA_3D scplayer -1790.7 1209.0 23.0 -1784.0 1221.5 27.5 FALSE | |
SET_GARAGE_RESPRAY_FREE MICHDR FALSE | |
CHANGE_GARAGE_TYPE MICHDR GARAGE_FOR_SCRIPT_TO_OPEN_AND_CLOSE | |
CLOSE_GARAGE MICHDR | |
CLEAR_BIT iActiveGF MICHELLE_BONUS_ACTIVE | |
ENDIF | |
BREAK | |
CASE KYLIE | |
IF NOT IS_CHAR_IN_AREA_3D scplayer -361.0 -1417.0 23.0 -372.0 -1431.0 30.0 FALSE | |
REMOVE_PICKUP iGFBonusPickupID[0] | |
REMOVE_PICKUP iGFBonusPickupID[1] | |
REMOVE_PICKUP iGFBonusPickupID[2] | |
REMOVE_PICKUP iGFBonusPickupID[3] | |
SET_OBJECT_VISIBLE iGFdoor[GF_BARN_DOOR] TRUE | |
SET_OBJECT_COLLISION iGFdoor[GF_BARN_DOOR] TRUE | |
CLEAR_BIT iActiveGF KYLIE_BONUS_ACTIVE | |
ENDIF | |
BREAK | |
CASE BARBARA | |
SET_EXTRA_POLICE_STATION_RESTART_POINT -1379.8428 2635.7395 54.4315 0.0 170.6194 // clears it | |
SWITCH_ARREST_PENALTIES TRUE | |
CLEAR_BIT iActiveGF BARBARA_BONUS_ACTIVE | |
BREAK | |
CASE SUZIE | |
SET_EXTRA_HOSPITAL_RESTART_POINT fOriginX fOriginY fOriginZ 0.0 fOriginH // clears it | |
SWITCH_DEATH_PENALTIES TRUE | |
CLEAR_BIT iActiveGF SUZIE_BONUS_ACTIVE | |
BREAK | |
ENDSWITCH | |
ENDIF | |
RETURN | |
/******************************************** | |
GET CURRENT GIRLFRIEND ORIGIN XYZ & HEADING | |
********************************************/ | |
GF_Dating_Agent_GetOrigin_X_Y_Z_H: | |
SWITCH iGFidx | |
CASE COOCHIE | |
fOriginX = 2401.9646 | |
fOriginY = -1723.2197 | |
fOriginZ = 12.6005 | |
fOriginH = 180.0 | |
BREAK | |
CASE MICHELLE | |
fOriginX = -1799.5 | |
fOriginY = 1195.5 | |
fOriginZ = 24.1094 | |
fOriginH = 180.0 | |
BREAK | |
CASE KYLIE | |
fOriginX = -377.3978 //-398.5166 89.8377 | |
fOriginY = -1438.6919 //-1426.4675 | |
fOriginZ = 24.7209 //24.7110 | |
fOriginH = 270.0 //90.0 | |
BREAK | |
CASE BARBARA | |
fOriginX = -1398.1010 | |
fOriginY = 2636.8730 | |
fOriginZ = 54.7031 | |
fOriginH = 75.0 | |
BREAK | |
CASE SUZIE | |
fOriginX = -2576.8079 | |
fOriginY = 1144.7438 | |
fOriginZ = 54.7422 | |
fOriginH = 164.0 | |
BREAK | |
CASE MILLIE | |
fOriginX = 2035.3619 | |
fOriginY = 2732.4106 | |
fOriginZ = 9.8203 | |
fOriginH = 0.0 | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************** | |
GET GF MEETING ORIGIN XYZ & HEADING | |
********************************************/ | |
GF_Dating_Agent_GetMeetingOrigin_X_Y_Z_H: | |
SWITCH iGFidx | |
CASE MICHELLE | |
fOriginX = -2027.5835 | |
fOriginY = -118.7022 | |
fOriginZ = 1034.0 | |
fOriginH = 3.4 | |
BREAK | |
CASE KYLIE | |
fOriginX = 257.6682 | |
fOriginY = -154.7475 | |
fOriginZ = 4.0786 | |
fOriginH = 268.7731 | |
BREAK | |
CASE BARBARA | |
fOriginX = -1410.0997 | |
fOriginY = 2648.7307 | |
fOriginZ = 54.6875 | |
fOriginH = 130.0 | |
BREAK | |
CASE SUZIE // commented the co-ords inside the gym, temporarily set her in a park nearby | |
fOriginX = -2291.7075 //762.9347 | |
fOriginY = -233.0215 //-23.3127 | |
fOriginZ = 41.7185 //999.5938 | |
fOriginH = 360.0 //360.0 | |
BREAK | |
DEFAULT | |
fOriginX = 0.0 | |
fOriginY = 0.0 | |
fOriginZ = 0.0 | |
fOriginH = 0.0 | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************** | |
GET GIRLFRIEND INDEX FOR THIS FRAME | |
********************************************/ | |
GF_Dating_Agent_GetGFidxThisFrame: | |
++iSixFrameCounter | |
IF iSixFrameCounter >= 6 | |
//--- Loop around | |
iSixFrameCounter = 0 | |
ENDIF | |
IF IS_BIT_SET iAgentFlags KEEP_THIS_IDX | |
IF iSixFrameCounter = iGFidx // we have looped back to the same girl | |
CLEAR_BIT iAgentFlags KEEP_THIS_IDX | |
ENDIF | |
ELSE | |
++iGFidx | |
IF iGFidx >= 6 | |
//--- Loop around | |
iGFidx = 0 | |
ENDIF | |
ENDIF | |
RETURN | |
/******************************************** | |
MATCH CURRENT ZONE WITH GF ORIGIN ZONE | |
********************************************/ | |
GF_Dating_Agent_MatchCurrentZoneWithGFZone: | |
GOSUB GF_Dating_Agent_GetOrigin_X_Y_Z_H // Reads iGFidx, Returns in fOriginX,Y,Z | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer fOriginX fOriginY fOriginZ 65.0 65.0 5.0 FALSE | |
//--- Hold this iGFidx until we leave the area, to prevent locate flickers etc. | |
SET_BIT iAgentFlags KEEP_THIS_IDX | |
//--- Return Match for Active GF | |
iTemp = 1 | |
RETURN | |
ENDIF | |
iTemp = -1 | |
RETURN | |
/******************************************** | |
MATCH CURRENT ZONE WITH GF MEETING ZONE | |
********************************************/ | |
GF_Dating_Agent_MatchCurrentZoneWithMeetZone: | |
GOSUB GF_Dating_Agent_GetMeetingOrigin_X_Y_Z_H // Reads iGFidx, Returns in fOriginX,Y,Z,H (0.0 if no meeting allowed) | |
IF NOT fOriginX = 0.0 | |
//--- Check if player is withing the maximum distance to start the meeting script | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer fOriginX fOriginY fOriginZ 80.0 80.0 10.0 FALSE | |
//--- Now check if the player is not too close to actually stream in the GF (to avoid pop) | |
IF NOT LOCATE_CHAR_ANY_MEANS_3D scplayer fOriginX fOriginY fOriginZ 8.0 8.0 10.0 FALSE //7.0 | |
//--- Hold this iGFidx until we leave the area, to prevent locate flickers etc. | |
SET_BIT iAgentFlags KEEP_THIS_IDX | |
//--- Return Match | |
iTemp = 1 | |
RETURN | |
ENDIF | |
ENDIF | |
ENDIF | |
iTemp = -1 | |
RETURN | |
/******************************************** | |
CHECK GIRLFRIEND'S DIARY | |
********************************************/ | |
GF_Dating_Agent_CheckGirlsDiary: | |
iTemp = -1 | |
//--- Check if there is an appointment on AND she has phoned you | |
IF IS_BIT_SET iAgentFlags MOBILE_CALL_SCRIPT_RUNNING | |
AND iCaller = iGFidx | |
//--- She is always home if she is on the phone | |
iTemp = 1 | |
RETURN | |
ENDIF | |
//--- Check if the player has received a call from the girl | |
IF IS_BIT_SET iAgentFlags MOBILE_CALL_ANSWERED | |
AND iCaller = iGFidx | |
//--- She is always home if she is is wai ting for you | |
iTemp = 1 | |
RETURN | |
ENDIF | |
//--- Check if we must skip a day after a date | |
IF IS_BIT_SET iGFDiaryOfBusyHours[iGFidx] NEXT_FREE_DAY | |
//--- Verify that this is the next free day in her diary | |
GET_CURRENT_DAY_OF_WEEK iTemp | |
iTemp += H_10PM // pick the right bit to find the day of the week in the diary | |
IF IS_BIT_SET iGFDiaryOfBusyHours[iGFidx] iTemp // if this is the right day | |
//--- Clean her diary so that only one day can be set at any given time | |
GOSUB GF_Dating_Agent_CleanFreeDays | |
//--- Carry on with the rest of the diary below... | |
ELSE | |
//--- Check that we have not skipped days and have to wait a week | |
++iTemp // look at tomorrow | |
IF iTemp > D_SAT | |
iTemp = D_SUN | |
ENDIF | |
IF IS_BIT_SET iGFDiaryOfBusyHours[iGFidx] iTemp // is tomorrow the free day? | |
//--- All ok, tomorrow is her free day, so return false | |
iTemp = -1 | |
RETURN | |
ELSE | |
//--- Player has skipped a week! | |
GOSUB GF_Dating_Agent_CleanFreeDays | |
//--- Don't return and proceed with the diary | |
ENDIF | |
ENDIF | |
ENDIF | |
//--- Now proceed to check the diary | |
GET_TIME_OF_DAY iTemp iTemp2 | |
// We only consider odd hours, minutes are discarded an overwritten | |
iTemp2 = iTemp / 2 | |
iTemp2 *= 2 // If it's an odd number it will be less than the original due to the integer cast | |
IF IS_BIT_SET iGFDiaryOfBusyHours[iGFidx] iTemp2 | |
//--- According to her diary, she is not at home | |
iTemp = -1 // Store an invalid time in the return var | |
RETURN | |
ELSE | |
//--- Her diary says she is free... | |
iTemp = 1 | |
RETURN | |
ENDIF | |
RETURN | |
/******************************************** | |
CREATE GIRLFRIEND'S CAR | |
********************************************/ | |
GF_Dating_Agent_CreateGFCar: | |
IF iGFLikesPlayer[iGFidx] >= GF_LIKES_PLAYER_STAGE2 | |
IF NOT IS_BIT_SET iAgentFlags GF_CAR_GENERATOR_ON | |
SWITCH_CAR_GENERATOR iGFUnlockedCarGenerator[iGFidx] 101 | |
SET_BIT iAgentFlags GF_CAR_GENERATOR_ON | |
ENDIF | |
ELSE | |
IF NOT IS_BIT_SET iAgentFlags GF_CAR_GENERATOR_ON | |
SWITCH_CAR_GENERATOR iGFLockedCarGenerator[iGFidx] 101 | |
SET_BIT iAgentFlags GF_CAR_GENERATOR_ON | |
ENDIF | |
ENDIF | |
RETURN | |
/******************************************** | |
REMOVE GIRLFRIEND'S CAR | |
********************************************/ | |
GF_Dating_Agent_RemoveGFCar: | |
IF IS_BIT_SET iAgentFlags GF_CAR_GENERATOR_ON | |
SWITCH_CAR_GENERATOR iGFUnlockedCarGenerator[iGFidx] 0 | |
SWITCH_CAR_GENERATOR iGFLockedCarGenerator[iGFidx] 0 | |
CLEAR_BIT iAgentFlags GF_CAR_GENERATOR_ON | |
ENDIF | |
RETURN | |
/******************************************** | |
PRINT UNLOCKED CAR INFO | |
********************************************/ | |
GF_Dating_Agent_PrintUnlockedCarInfo: | |
SWITCH iGFidx | |
CASE COOCHIE | |
IF NOT IS_BIT_SET iActiveGF CAR_COOCHIE_UNLOCKED_HELP | |
PRINT_HELP GF_H007 // message to inform player he now has the keys to her car | |
SET_BIT iActiveGF CAR_COOCHIE_UNLOCKED_HELP | |
ENDIF | |
BREAK | |
CASE MICHELLE | |
IF NOT IS_BIT_SET iActiveGF CAR_MICHELLE_UNLOCKED_HELP | |
PRINT_HELP GF_H008 // message to inform player he now has the keys to her car | |
SET_BIT iActiveGF CAR_MICHELLE_UNLOCKED_HELP | |
ENDIF | |
BREAK | |
CASE KYLIE | |
IF NOT IS_BIT_SET iActiveGF CAR_KYLIE_UNLOCKED_HELP | |
PRINT_HELP GF_H009 // message to inform player he now has the keys to her car | |
SET_BIT iActiveGF CAR_KYLIE_UNLOCKED_HELP | |
ENDIF | |
BREAK | |
CASE BARBARA | |
IF NOT IS_BIT_SET iActiveGF CAR_BARBARA_UNLOCKED_HELP | |
PRINT_HELP GF_H010 // message to inform player he now has the keys to her car | |
SET_BIT iActiveGF CAR_BARBARA_UNLOCKED_HELP | |
ENDIF | |
BREAK | |
CASE SUZIE | |
IF NOT IS_BIT_SET iActiveGF CAR_SUZIE_UNLOCKED_HELP | |
PRINT_HELP GF_H011 // message to inform player he now has the keys to her car | |
SET_BIT iActiveGF CAR_SUZIE_UNLOCKED_HELP | |
ENDIF | |
BREAK | |
CASE MILLIE | |
IF NOT IS_BIT_SET iActiveGF CAR_MILLIE_UNLOCKED_HELP | |
PRINT_HELP GF_H012 // message to inform player he now has the keys to her car | |
SET_BIT iActiveGF CAR_MILLIE_UNLOCKED_HELP | |
ENDIF | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************* | |
CHECK PHONE STATE | |
********************************************/ | |
GF_Dating_Agent_CheckPhoneState: | |
SWITCH iPhoneState | |
CASE MOBILE_INACTIVE | |
GOSUB GF_Dating_Agent_ResetAppointment | |
GOSUB GF_Dating_Agent_CheckIfDumpPlayerPhone | |
GOSUB GF_Dating_Agent_CreateRandomAppointment // Sets the time, returns appoinment bit in iAgentFlags | |
BREAK | |
CASE TIME_FOR_CALL | |
GET_MINUTES_TO_TIME_OF_DAY iHours iMinutes iTemp | |
IF iTemp <= GF_EARLIEST_MINUTE_FOR_MOBILE_CHECK | |
IF NOT IS_BIT_SET iAgentFlags MOBILE_CALL_SCRIPT_RUNNING | |
IF iCaller = iGFidx // if the appointment is set with the girl for this frame | |
START_NEW_SCRIPT cell_phone_GF iGFidx CALL_DATE | |
iPhoneState = TIME_FOR_ANSWER | |
ELSE | |
IF NOT IS_BIT_SET iActiveGF iCaller | |
GOSUB GF_Dating_Agent_ResetAppointment | |
iPhoneState = MOBILE_INACTIVE | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
BREAK | |
CASE TIME_FOR_ANSWER | |
IF NOT IS_BIT_SET iAgentFlags MOBILE_CALL_SCRIPT_RUNNING | |
IF IS_BIT_SET iAgentFlags MOBILE_CALL_ANSWERED | |
//--- Player has answered | |
GOSUB GF_Dating_Agent_CreateDateAppointment | |
iPhoneState = TIME_FOR_DATE | |
ELSE | |
//--- Player has NOT answered | |
iGFLikesPlayer[iCaller] -= GF_LIKES_PLAYER_DECREMENT_NO_ANSWER | |
GOSUB GF_Dating_Agent_SynchStats | |
//--- RESET | |
GOSUB GF_Dating_Agent_ResetAppointment | |
iPhoneState = MOBILE_INACTIVE | |
ENDIF | |
ENDIF | |
BREAK | |
CASE TIME_FOR_DATE | |
GET_MINUTES_TO_TIME_OF_DAY iHours iMinutes iTemp | |
IF iTemp <= GF_EARLIEST_MINUTE_FOR_MOBILE_CHECK | |
iGFidx = iCaller | |
GOSUB GF_Dating_Agent_PrintHelpAndClearMissedAppointment | |
iPhoneState = MOBILE_INACTIVE | |
ENDIF | |
BREAK | |
CASE MOBILE_DUMPED | |
IF NOT IS_BIT_SET iAgentFlags MOBILE_CALL_SCRIPT_RUNNING | |
IF IS_BIT_SET iAgentFlags MOBILE_CALL_ANSWERED | |
IF iCaller > -1 | |
AND iCaller < 6 | |
iGFLikesPlayer[iCaller] = GF_HATES_PLAYER | |
CLEAR_BIT iActiveGF iCaller // remove the girlfriend | |
ENDIF | |
iPhoneState = MOBILE_INACTIVE | |
ELSE | |
IF iCaller > -1 | |
AND iCaller < 6 | |
//--- Player has not answered... wait until he meets girl | |
iGFLikesPlayer[iCaller] = GF_DUMP_PLAYER_IMMEDIATELY | |
ENDIF | |
iPhoneState = MOBILE_INACTIVE | |
ENDIF | |
ENDIF | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************** | |
CREATE A RANDOM APPOINTMENT | |
********************************************/ | |
GF_Dating_Agent_CreateRandomAppointment: | |
GENERATE_RANDOM_INT_IN_RANGE 0 6 iTemp // pick a random girl | |
IF IS_BIT_SET iActiveGF iTemp // see if this random girl is active | |
IF iGFLikesPlayer[iTemp] > GF_LIKES_PLAYER_LOW_LIMIT // see if she likes the player and is alive | |
IF NOT iGFLikesPlayer[iTemp] = GF_HATES_PLAYER | |
AND NOT iGFLikesPlayer[iGFidx] = GF_IS_DEAD | |
//--- Generate appointmen | |
GENERATE_RANDOM_INT_IN_RANGE 1 23 iHours // Hours: 0-23 | |
GENERATE_RANDOM_INT_IN_RANGE 1 59 iMinutes // Minutes: 0-59 | |
iCaller = iTemp | |
iPhoneState = TIME_FOR_CALL | |
ENDIF | |
ENDIF | |
ENDIF | |
RETURN | |
/******************************************** | |
CREATE A DATE APPOINTMENT | |
********************************************/ | |
GF_Dating_Agent_CreateDateAppointment: | |
GET_TIME_OF_DAY iHours iMinutes | |
iMinutes = 31 | |
iHours += 5 | |
IF iHours > 23 | |
iTemp = iHours - 23 | |
iHours = 0 + iTemp | |
ENDIF | |
RETURN | |
/******************************************* | |
PRINT HELP AND CLEAR MISSED APPOINTMENT | |
********************************************/ | |
GF_Dating_Agent_PrintHelpAndClearMissedAppointment: | |
IF iCaller > -1 | |
AND iCaller < 6 | |
iGFLikesPlayer[iCaller] -= GF_LIKES_PLAYER_DECREMENT_MISS_DATE | |
GOSUB GF_Dating_Agent_SynchStats | |
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED | |
AND iGFLikesPlayer[iCaller] > GF_LIKES_PLAYER_LOW_LIMIT | |
SWITCH iCaller | |
CASE COOCHIE | |
PRINT_HELP GF_APP0 //You missed your appointment with <name>. She won't be happy. | |
BREAK | |
CASE MICHELLE | |
PRINT_HELP GF_APP1 | |
BREAK | |
CASE KYLIE | |
PRINT_HELP GF_APP2 | |
BREAK | |
CASE BARBARA | |
PRINT_HELP GF_APP3 | |
BREAK | |
CASE SUZIE | |
PRINT_HELP GF_APP4 | |
BREAK | |
CASE MILLIE | |
PRINT_HELP GF_APP5 | |
BREAK | |
ENDSWITCH | |
CLEAR_BIT iAgentFlags MOBILE_CALL_ANSWERED | |
CLEAR_BIT iAgentFlags iCaller // Remove the appointment flag | |
iCaller = -1 // mark the caller as null | |
ENDIF | |
ENDIF | |
RETURN | |
/******************************************** | |
RESET APPOINTMENT | |
********************************************/ | |
GF_Dating_Agent_ResetAppointment: | |
iCaller = -1 | |
CLEAR_BIT iAgentFlags MOBILE_CALL_ANSWERED | |
CLEAR_BIT iAgentFlags iGFidx // Remove the appointment flag | |
RETURN | |
/******************************************** | |
CREATE A RANDOM DATE | |
********************************************/ | |
GF_Dating_Agent_CreateRandomDate: | |
//--- Create a random Date | |
GENERATE_RANDOM_INT_IN_RANGE 0 45 iTemp | |
IF iTemp > 10 | |
IF iTemp > 20 | |
IF iTemp > 30 | |
IF IS_BIT_SET iGFLikesOnDate[iGFidx] LIKES_TO_DRIVE // 31 to 45 | |
iTemp = GIRL_DRIVE | |
ELSE | |
IF iTemp > 35 // 36 to 45 | |
iTemp = DRIVE | |
ELSE // 31 to 35 | |
iTemp = DANCE | |
ENDIF | |
ENDIF | |
ELSE // 21 to 30 | |
iTemp = DANCE | |
ENDIF | |
ELSE //11 to 20 | |
iTemp = DRIVE | |
ENDIF | |
ELSE // 0 to 10 | |
iTemp = EAT_OUT | |
ENDIF | |
//--- CHEATS TRIGGERED BY CONSOLE COMMANDS | |
IF IS_BIT_SET iDateReport CHEAT_EAT_OUT | |
iTemp = EAT_OUT | |
iDateReport = 0 | |
ENDIF | |
IF IS_BIT_SET iDateReport CHEAT_DRIVE | |
iTemp = DRIVE | |
iDateReport = 0 | |
ENDIF | |
IF IS_BIT_SET iDateReport CHEAT_DANCE | |
iTemp = DANCE | |
iDateReport = 0 | |
ENDIF | |
IF IS_BIT_SET iDateReport CHEAT_KINKY_SEX | |
iTemp = KINKY_SEX | |
iDateReport = 0 | |
ENDIF | |
IF IS_BIT_SET iDateReport CHEAT_GIRL_DRIVE | |
iTemp = GIRL_DRIVE | |
iDateReport = 0 | |
ENDIF | |
//--------------------------------------------- | |
RETURN | |
/******************************************** | |
CREATE & INIT GF AS A PED | |
********************************************/ | |
GF_Dating_Agent_CreateAndInitGF: | |
SWITCH iGFidx | |
CASE COOCHIE | |
WHILE NOT HAS_MODEL_LOADED GANGRL3 | |
OR NOT HAS_MODEL_LOADED MICRO_UZI | |
REQUEST_MODEL MICRO_UZI | |
REQUEST_MODEL GANGRL3 | |
WAIT 0 | |
ENDWHILE | |
CREATE_CHAR PEDTYPE_CIVFEMALE GANGRL3 2402.3899 -1712.8988 13.1402 iCurrentGF | |
SET_CHAR_HEADING iCurrentGF 180.0 | |
GIVE_WEAPON_TO_CHAR iCurrentGF WEAPONTYPE_MICRO_UZI GF_AMMO_IN_UZI | |
SET_CURRENT_CHAR_WEAPON iCurrentGF WEAPONTYPE_UNARMED | |
SET_CHAR_ACCURACY iCurrentGF 75 | |
COPY_SHARED_CHAR_DECISION_MAKER DM_PED_RANDOM_WEAK iGF_GlobalDM_Weak_Gang | |
ADD_CHAR_DECISION_MAKER_EVENT_RESPONSE iGF_GlobalDM_Weak_Gang EVENT_ACQUAINTANCE_PED_HATE TASK_SIMPLE_GANG_DRIVEBY 0.0 100.0 0.0 0.0 TRUE FALSE | |
ADD_CHAR_DECISION_MAKER_EVENT_RESPONSE iGF_GlobalDM_Weak_Gang EVENT_ACQUAINTANCE_PED_DISLIKE TASK_SIMPLE_GANG_DRIVEBY 0.0 100.0 0.0 0.0 TRUE FALSE | |
ADD_CHAR_DECISION_MAKER_EVENT_RESPONSE iGF_GlobalDM_Weak_Gang EVENT_ACQUAINTANCE_PED_HATE TASK_COMPLEX_KILL_PED_ON_FOOT_STAND_STILL 0.0 50.0 0.0 0.0 FALSE TRUE | |
SET_CHAR_DECISION_MAKER iCurrentGF iGF_GlobalDM_Weak_Gang | |
SET_CHAR_RELATIONSHIP iCurrentGF ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_FLAT | |
SET_CHAR_RELATIONSHIP iCurrentGF ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_NMEX | |
SET_CHAR_RELATIONSHIP iCurrentGF ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_SFMEX | |
SET_CHAR_RELATIONSHIP iCurrentGF ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_VIET | |
SET_CHAR_RELATIONSHIP iCurrentGF ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_MAFIA | |
SET_CHAR_RELATIONSHIP iCurrentGF ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_TRIAD | |
SET_CHAR_RELATIONSHIP iCurrentGF ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_SMEX | |
SET_CHAR_STAY_IN_SAME_PLACE iCurrentGF TRUE | |
SET_CHAR_SUFFERS_CRITICAL_HITS iCurrentGF FALSE | |
SET_CHAR_NEVER_TARGETTED iCurrentGF TRUE | |
SET_CHAR_PROOFS iCurrentGF FALSE FALSE TRUE TRUE FALSE | |
SET_CHAR_HEALTH iCurrentGF 500 | |
DONT_REMOVE_CHAR iCurrentGF | |
TASK_STAND_STILL iCurrentGF -1 | |
BREAK | |
CASE MICHELLE | |
WHILE NOT HAS_MODEL_LOADED MECGRL3 | |
REQUEST_MODEL MECGRL3 | |
WAIT 0 | |
ENDWHILE | |
CREATE_CHAR PEDTYPE_CIVFEMALE MECGRL3 -1799.8746 1202.0568 24.1328 iCurrentGF | |
SET_CHAR_HEADING iCurrentGF 180.0 | |
SET_CHAR_DECISION_MAKER iCurrentGF DM_PED_INDOORS | |
SET_CHAR_STAY_IN_SAME_PLACE iCurrentGF TRUE | |
SET_CHAR_SUFFERS_CRITICAL_HITS iCurrentGF FALSE | |
SET_CHAR_NEVER_TARGETTED iCurrentGF TRUE | |
SET_CHAR_PROOFS iCurrentGF FALSE FALSE TRUE TRUE FALSE | |
SET_CHAR_HEALTH iCurrentGF 500 | |
DONT_REMOVE_CHAR iCurrentGF | |
TASK_STAND_STILL iCurrentGF -1 | |
BREAK | |
CASE KYLIE | |
WHILE NOT HAS_MODEL_LOADED GUNGRL3 | |
REQUEST_MODEL GUNGRL3 | |
WAIT 0 | |
ENDWHILE | |
CREATE_CHAR PEDTYPE_CIVFEMALE GUNGRL3 -384.6795 -1438.8401 25.3281 iCurrentGF | |
SET_CHAR_HEADING iCurrentGF 268.2687 | |
COPY_SHARED_CHAR_DECISION_MAKER DM_PED_RANDOM_TOUGH iGF_GlobalDM_Tough | |
ADD_CHAR_DECISION_MAKER_EVENT_RESPONSE iGF_GlobalDM_Tough EVENT_ACQUAINTANCE_PED_HATE TASK_COMPLEX_KILL_PED_ON_FOOT_STAND_STILL 0.0 50.0 0.0 0.0 FALSE TRUE | |
SET_CHAR_DECISION_MAKER iCurrentGF iGF_GlobalDM_Tough | |
SET_CHAR_STAY_IN_SAME_PLACE iCurrentGF TRUE | |
SET_CHAR_SUFFERS_CRITICAL_HITS iCurrentGF FALSE | |
SET_CHAR_NEVER_TARGETTED iCurrentGF TRUE | |
SET_CHAR_PROOFS iCurrentGF FALSE FALSE TRUE TRUE FALSE | |
SET_CHAR_HEALTH iCurrentGF 500 | |
DONT_REMOVE_CHAR iCurrentGF | |
TASK_STAND_STILL iCurrentGF -1 | |
BREAK | |
CASE BARBARA | |
WHILE NOT HAS_MODEL_LOADED COPGRL3 | |
REQUEST_MODEL COPGRL3 | |
WAIT 0 | |
ENDWHILE | |
CREATE_CHAR PEDTYPE_CIVFEMALE COPGRL3 -1390.3027 2641.0662 54.9844 iCurrentGF | |
SET_CHAR_HEADING iCurrentGF 187.2 | |
COPY_SHARED_CHAR_DECISION_MAKER DM_PED_RANDOM_TOUGH iGF_GlobalDM_Tough | |
ADD_CHAR_DECISION_MAKER_EVENT_RESPONSE iGF_GlobalDM_Tough EVENT_ACQUAINTANCE_PED_HATE TASK_COMPLEX_KILL_PED_ON_FOOT_STAND_STILL 0.0 50.0 0.0 0.0 FALSE TRUE | |
SET_CHAR_DECISION_MAKER iCurrentGF iGF_GlobalDM_Tough | |
SET_CHAR_STAY_IN_SAME_PLACE iCurrentGF TRUE | |
SET_CHAR_SUFFERS_CRITICAL_HITS iCurrentGF FALSE | |
SET_CHAR_NEVER_TARGETTED iCurrentGF TRUE | |
SET_CHAR_PROOFS iCurrentGF FALSE FALSE TRUE TRUE FALSE | |
SET_CHAR_HEALTH iCurrentGF 500 | |
DONT_REMOVE_CHAR iCurrentGF | |
TASK_STAND_STILL iCurrentGF -1 | |
BREAK | |
CASE SUZIE | |
WHILE NOT HAS_MODEL_LOADED NURGRL3 | |
REQUEST_MODEL NURGRL3 | |
WAIT 0 | |
ENDWHILE | |
CREATE_CHAR PEDTYPE_CIVFEMALE NURGRL3 -2573.3567 1155.0908 54.7347 iCurrentGF | |
SET_CHAR_HEADING iCurrentGF 167.8854 | |
COPY_SHARED_CHAR_DECISION_MAKER DM_PED_RANDOM_TOUGH iGF_GlobalDM_Tough | |
ADD_CHAR_DECISION_MAKER_EVENT_RESPONSE iGF_GlobalDM_Tough EVENT_ACQUAINTANCE_PED_HATE TASK_COMPLEX_KILL_PED_ON_FOOT_STAND_STILL 0.0 50.0 0.0 0.0 FALSE TRUE | |
SET_CHAR_DECISION_MAKER iCurrentGF iGF_GlobalDM_Tough | |
SET_CHAR_STAY_IN_SAME_PLACE iCurrentGF TRUE | |
SET_CHAR_SUFFERS_CRITICAL_HITS iCurrentGF FALSE | |
SET_CHAR_NEVER_TARGETTED iCurrentGF TRUE | |
SET_CHAR_PROOFS iCurrentGF FALSE FALSE TRUE TRUE FALSE | |
SET_CHAR_HEALTH iCurrentGF 500 | |
DONT_REMOVE_CHAR iCurrentGF | |
TASK_STAND_STILL iCurrentGF -1 | |
BREAK | |
CASE MILLIE | |
WHILE NOT HAS_MODEL_LOADED CROGRL3 | |
REQUEST_MODEL CROGRL3 | |
WAIT 0 | |
ENDWHILE | |
CREATE_CHAR PEDTYPE_CIVFEMALE CROGRL3 2037.4762 2719.7939 10.5436 iCurrentGF | |
SET_CHAR_HEADING iCurrentGF 9.2 | |
SET_CHAR_DECISION_MAKER iCurrentGF DM_PED_INDOORS | |
SET_CHAR_STAY_IN_SAME_PLACE iCurrentGF TRUE | |
SET_CHAR_SUFFERS_CRITICAL_HITS iCurrentGF FALSE | |
SET_CHAR_NEVER_TARGETTED iCurrentGF TRUE | |
SET_CHAR_PROOFS iCurrentGF FALSE FALSE TRUE TRUE FALSE | |
SET_CHAR_HEALTH iCurrentGF 500 | |
DONT_REMOVE_CHAR iCurrentGF | |
TASK_STAND_STILL iCurrentGF -1 | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************** | |
UPDATE GIRLFRIEND STATISTICS | |
********************************************/ | |
GF_Dating_Agent_UpdateGFStats: | |
//--- This subroutine reads the DATE REPORT bitfield and updates the statistics accordingly | |
IF IS_BIT_SET iDateReport DATE_WAS_SUCCESS // Date Successful | |
// Increment Likes Player | |
IF iGFLikesPlayer[iGFidx] <= 0 | |
AND iGFLikesPlayer[iGFidx] > GF_LIKES_PLAYER_LOW_LIMIT | |
iGFLikesPlayer[iGFidx] = 0 // reset the lower boundary or the progress will still be negative | |
iGFLikesPlayer[iGFidx] += GF_LIKES_PLAYER_INCREMENT | |
ELSE | |
iGFLikesPlayer[iGFidx] += GF_LIKES_PLAYER_INCREMENT | |
ENDIF | |
GOSUB GF_Dating_Agent_SynchStats | |
//--- Update the good dates counter | |
INCREMENT_INT_STAT DATES 1 | |
ELSE | |
//--- Check if the date took place at all | |
IF IS_BIT_SET iDateReport DATE_WAS_ABORTED | |
//--- Check if the date was not aborted because the girl simply wanted to dump the player | |
IF NOT iGFLikesPlayer[iGFidx] = GF_HATES_PLAYER | |
AND NOT iGFLikesPlayer[iGFidx] = GF_IS_DEAD | |
//--- The date never actually started, but she cannot be totally happy | |
iGFLikesPlayer[iGFidx]-= GF_LIKES_PLAYER_DECREMENT_DATE_ABORT | |
GOSUB GF_Dating_Agent_SynchStats | |
ENDIF | |
ELSE | |
//--- This is a disastrous date | |
iGFLikesPlayer[iGFidx]-= GF_LIKES_PLAYER_DECREMENT // Decrement Likes Player | |
GOSUB GF_Dating_Agent_SynchStats | |
//--- Update the bad dates counter | |
INCREMENT_INT_STAT BAD_DATES 1 // the overall number of bad dates | |
ENDIF | |
ENDIF | |
IF IS_BIT_SET iDateReport SEX_WAS_GOOD // Sex was Good | |
// Increment Likes Player | |
iGFLikesPlayer[iGFidx] += GF_LIKES_PLAYER_INCREMENT | |
GOSUB GF_Dating_Agent_SynchStats | |
INCREMENT_INT_STAT TIMES_SCORED_WITH_GIRL 1 | |
ELSE | |
//--- Make sure that the player acutally had sex, and was shit | |
IF IS_BIT_SET iDateReport PLAYER_AGREES_TO_SEX | |
//--- Decrement Likes Player | |
iGFLikesPlayer[iGFidx] -= GF_LIKES_PLAYER_DECREMENT | |
GOSUB GF_Dating_Agent_SynchStats | |
ENDIF | |
ENDIF | |
//--- Check if she dosn't like the player anymore, if so instruct her to dump him | |
IF NOT iGFLikesPlayer[iGFidx] = GF_HATES_PLAYER | |
AND NOT iGFLikesPlayer[iGFidx] = GF_IS_DEAD | |
IF iGFLikesPlayer[iGFidx] <= GF_LIKES_PLAYER_LOW_LIMIT | |
iGFLikesPlayer[iGFidx] = GF_DUMP_PLAYER_IMMEDIATELY | |
ENDIF | |
ENDIF | |
//--- The DATE REPORT has been read fully, so clean it for the next time | |
iDateReport = 0 | |
RETURN | |
/******************************************** | |
CHECK IF GIRL SHOULD DUMP PLAYER (PHONE) | |
********************************************/ | |
GF_Dating_Agent_CheckIfDumpPlayerPhone: | |
IF NOT iGFLikesPlayer[iGFidx] = GF_HATES_PLAYER | |
AND NOT iGFLikesPlayer[iGFidx] = GF_IS_DEAD | |
IF NOT iGFLikesPlayer[iGFidx] = GF_DUMP_PLAYER_IMMEDIATELY | |
IF iGFLikesPlayer[iGFidx] <= GF_LIKES_PLAYER_LOW_LIMIT | |
iPhoneState = MOBILE_DUMPED | |
iCaller = iGFidx | |
START_NEW_SCRIPT cell_phone_GF iCaller CALL_DUMP | |
RETURN | |
ENDIF | |
ENDIF | |
ENDIF | |
RETURN | |
/******************************************** | |
REMOVE GIRLFRIEND MODEL | |
********************************************/ | |
GF_Dating_Agent_RemoveGF: | |
SWITCH iGFidx | |
CASE COOCHIE | |
MARK_MODEL_AS_NO_LONGER_NEEDED GANGRL3 | |
MARK_MODEL_AS_NO_LONGER_NEEDED MICRO_UZI | |
REMOVE_DECISION_MAKER iGF_GlobalDM_Weak_Gang | |
BREAK | |
CASE MICHELLE | |
MARK_MODEL_AS_NO_LONGER_NEEDED MECGRL3 | |
BREAK | |
CASE KYLIE | |
MARK_MODEL_AS_NO_LONGER_NEEDED GUNGRL3 | |
REMOVE_DECISION_MAKER iGF_GlobalDM_Tough | |
BREAK | |
CASE BARBARA | |
MARK_MODEL_AS_NO_LONGER_NEEDED COPGRL3 | |
REMOVE_DECISION_MAKER iGF_GlobalDM_Tough | |
BREAK | |
CASE SUZIE | |
MARK_MODEL_AS_NO_LONGER_NEEDED NURGRL3 | |
REMOVE_DECISION_MAKER iGF_GlobalDM_Tough | |
BREAK | |
CASE MILLIE | |
MARK_MODEL_AS_NO_LONGER_NEEDED CROGRL3 | |
BREAK | |
ENDSWITCH | |
IF IS_BIT_SET iDateReport GIRL_IS_BACK_AT_HOME | |
//--- GIRL is in front of her house | |
DELETE_CHAR iCurrentGF | |
ELSE | |
IF IS_BIT_SET iDateReport PLAYER_TWO_TIMING | |
//--- Wherever she has left the car, she must be deleted | |
DELETE_CHAR iCurrentGF | |
ELSE | |
IF iGFLikesPlayer[iGFidx] = GF_IS_DEAD | |
//--- If she is dead the body should stay there for a while | |
MARK_CHAR_AS_NO_LONGER_NEEDED iCurrentGF | |
ELSE | |
//--- She is probably running away in the distance, so fade her | |
REMOVE_CHAR_ELEGANTLY iCurrentGF | |
ENDIF | |
ENDIF | |
ENDIF | |
//--- Clear the global var for the dance minigame | |
iDanceGirlfriend = 0 | |
IF IS_BIT_SET iDateReport MEET_TOMORROW | |
GET_CURRENT_DAY_OF_WEEK iTemp | |
++iTemp | |
IF iTemp > 7 | |
iTemp = 1 | |
ENDIF | |
//--- Clean her diary so that only one day can be set at any given time | |
GOSUB GF_Dating_Agent_CleanFreeDays | |
//--- Find the right bit to store this day in the diary | |
iTemp += H_10PM // the last hours | |
//--- Store the day and mark the "skip a day" bit | |
SET_BIT iGFDiaryOfBusyHours[iGFidx] iTemp | |
SET_BIT iGFDiaryOfBusyHours[iGFidx] NEXT_FREE_DAY | |
ENDIF | |
RETURN | |
/******************************************* | |
CLEAN FREE DAYS IN DIARY | |
********************************************/ | |
GF_Dating_Agent_CleanFreeDays: | |
CLEAR_BIT iGFDiaryOfBusyHours[iGFidx] NEXT_FREE_DAY | |
CLEAR_BIT iGFDiaryOfBusyHours[iGFidx] D_SUN | |
CLEAR_BIT iGFDiaryOfBusyHours[iGFidx] D_MON | |
CLEAR_BIT iGFDiaryOfBusyHours[iGFidx] D_TUE | |
CLEAR_BIT iGFDiaryOfBusyHours[iGFidx] D_WED | |
CLEAR_BIT iGFDiaryOfBusyHours[iGFidx] D_THU | |
CLEAR_BIT iGFDiaryOfBusyHours[iGFidx] D_FRI | |
CLEAR_BIT iGFDiaryOfBusyHours[iGFidx] D_SAT | |
RETURN | |
/******************************************* | |
IS PLAYER IN GIMP SUIT | |
********************************************/ | |
GF_Dating_Agent_IsPlayerInGimpSuit: | |
IF IS_PLAYER_PLAYING PLAYER1 | |
IF IS_PLAYER_WEARING Player1 CLOTHES_TEX_EXTRA1 gimpleg | |
iTemp = 1 | |
ELSE | |
iTemp = 0 | |
ENDIF | |
ENDIF | |
RETURN | |
/******************************************** | |
CLEAN GIRLFRIEND STATS | |
********************************************/ | |
GF_Dating_Agent_DeleteStats: | |
SHOW_UPDATE_STATS FALSE | |
SWITCH iGFidx | |
CASE COOCHIE | |
SET_INT_STAT GIRLFRIEND_DENISE 0 | |
BREAK | |
CASE MICHELLE | |
SET_INT_STAT GIRLFRIEND_MICHELLE 0 | |
BREAK | |
CASE KYLIE | |
SET_INT_STAT GIRLFRIEND_HELENA 0 | |
BREAK | |
CASE BARBARA | |
SET_INT_STAT GIRLFRIEND_BARBARA 0 | |
BREAK | |
CASE SUZIE | |
SET_INT_STAT GIRLFRIEND_KATIE 0 | |
BREAK | |
CASE MILLIE | |
SET_INT_STAT GIRLFRIEND_MILLIE 0 | |
BREAK | |
ENDSWITCH | |
SHOW_UPDATE_STATS TRUE | |
RETURN | |
/******************************************** | |
SYNCH GIRLFRIEND STATS | |
********************************************/ | |
GF_Dating_Agent_SynchStats: | |
SWITCH iGFidx | |
CASE COOCHIE | |
GET_INT_STAT GIRLFRIEND_DENISE iTempStat | |
IF iTempStat < iGFLikesPlayer[COOCHIE] | |
IF iGFLikesPlayer[COOCHIE] > 100 | |
iGFLikesPlayer[COOCHIE] = 100 | |
ENDIF | |
IF iGFLikesPlayer[COOCHIE] < 0 | |
SET_INT_STAT GIRLFRIEND_DENISE 0 | |
ELSE | |
iTempStat -= iGFLikesPlayer[COOCHIE] | |
ABS iTempStat | |
INCREMENT_INT_STAT GIRLFRIEND_DENISE iTempStat | |
ENDIF | |
ELSE | |
IF iTempStat > iGFLikesPlayer[COOCHIE] | |
IF iGFLikesPlayer[COOCHIE] > 100 | |
iGFLikesPlayer[COOCHIE] = 100 | |
ENDIF | |
IF iGFLikesPlayer[COOCHIE] < 0 | |
SET_INT_STAT GIRLFRIEND_DENISE 0 | |
ELSE | |
iTempStat -= iGFLikesPlayer[COOCHIE] | |
DECREMENT_INT_STAT GIRLFRIEND_DENISE iTempStat | |
ENDIF | |
ENDIF | |
ENDIF | |
BREAK | |
CASE MICHELLE | |
GET_INT_STAT GIRLFRIEND_MICHELLE iTempStat | |
IF iTempStat < iGFLikesPlayer[MICHELLE] | |
IF iGFLikesPlayer[MICHELLE] > 100 | |
iGFLikesPlayer[MICHELLE] = 100 | |
ENDIF | |
IF iGFLikesPlayer[MICHELLE] < 0 | |
SET_INT_STAT GIRLFRIEND_MICHELLE 0 | |
ELSE | |
iTempStat -= iGFLikesPlayer[MICHELLE] | |
ABS iTempStat | |
INCREMENT_INT_STAT GIRLFRIEND_MICHELLE iTempStat | |
ENDIF | |
ELSE | |
IF iTempStat > iGFLikesPlayer[MICHELLE] | |
IF iGFLikesPlayer[MICHELLE] > 100 | |
iGFLikesPlayer[MICHELLE] = 100 | |
ENDIF | |
IF iGFLikesPlayer[MICHELLE] < 0 | |
SET_INT_STAT GIRLFRIEND_MICHELLE 0 | |
ELSE | |
iTempStat -= iGFLikesPlayer[MICHELLE] | |
DECREMENT_INT_STAT GIRLFRIEND_MICHELLE iTempStat | |
ENDIF | |
ENDIF | |
ENDIF | |
BREAK | |
CASE KYLIE | |
GET_INT_STAT GIRLFRIEND_HELENA iTempStat | |
IF iTempStat < iGFLikesPlayer[KYLIE] | |
IF iGFLikesPlayer[KYLIE] > 100 | |
iGFLikesPlayer[KYLIE] = 100 | |
ENDIF | |
IF iGFLikesPlayer[KYLIE] < 0 | |
SET_INT_STAT GIRLFRIEND_HELENA 0 | |
ELSE | |
iTempStat -= iGFLikesPlayer[KYLIE] | |
ABS iTempStat | |
INCREMENT_INT_STAT GIRLFRIEND_HELENA iTempStat | |
ENDIF | |
ELSE | |
IF iTempStat > iGFLikesPlayer[KYLIE] | |
IF iGFLikesPlayer[KYLIE] > 100 | |
iGFLikesPlayer[KYLIE] = 100 | |
ENDIF | |
IF iGFLikesPlayer[KYLIE] < 0 | |
SET_INT_STAT GIRLFRIEND_HELENA 0 | |
ELSE | |
iTempStat -= iGFLikesPlayer[KYLIE] | |
DECREMENT_INT_STAT GIRLFRIEND_HELENA iTempStat | |
ENDIF | |
ENDIF | |
ENDIF | |
BREAK | |
CASE BARBARA | |
GET_INT_STAT GIRLFRIEND_BARBARA iTempStat | |
IF iTempStat < iGFLikesPlayer[BARBARA] | |
IF iGFLikesPlayer[BARBARA] > 100 | |
iGFLikesPlayer[BARBARA] = 100 | |
ENDIF | |
IF iGFLikesPlayer[BARBARA] < 0 | |
SET_INT_STAT GIRLFRIEND_BARBARA 0 | |
ELSE | |
iTempStat -= iGFLikesPlayer[BARBARA] | |
ABS iTempStat | |
INCREMENT_INT_STAT GIRLFRIEND_BARBARA iTempStat | |
ENDIF | |
ELSE | |
IF iTempStat > iGFLikesPlayer[BARBARA] | |
IF iGFLikesPlayer[BARBARA] > 100 | |
iGFLikesPlayer[BARBARA] = 100 | |
ENDIF | |
IF iGFLikesPlayer[BARBARA] < 0 | |
SET_INT_STAT GIRLFRIEND_BARBARA 0 | |
ELSE | |
iTempStat -= iGFLikesPlayer[BARBARA] | |
DECREMENT_INT_STAT GIRLFRIEND_BARBARA iTempStat | |
ENDIF | |
ENDIF | |
ENDIF | |
BREAK | |
CASE SUZIE | |
GET_INT_STAT GIRLFRIEND_KATIE iTempStat | |
IF iTempStat < iGFLikesPlayer[SUZIE] | |
IF iGFLikesPlayer[SUZIE] > 100 | |
iGFLikesPlayer[SUZIE] = 100 | |
ENDIF | |
IF iGFLikesPlayer[SUZIE] < 0 | |
SET_INT_STAT GIRLFRIEND_KATIE 0 | |
ELSE | |
iTempStat -= iGFLikesPlayer[SUZIE] | |
ABS iTempStat | |
INCREMENT_INT_STAT GIRLFRIEND_KATIE iTempStat | |
ENDIF | |
ELSE | |
IF iTempStat > iGFLikesPlayer[SUZIE] | |
IF iGFLikesPlayer[SUZIE] > 100 | |
iGFLikesPlayer[SUZIE] = 100 | |
ENDIF | |
IF iGFLikesPlayer[SUZIE] < 0 | |
SET_INT_STAT GIRLFRIEND_KATIE 0 | |
ELSE | |
iTempStat -= iGFLikesPlayer[SUZIE] | |
DECREMENT_INT_STAT GIRLFRIEND_KATIE iTempStat | |
ENDIF | |
ENDIF | |
ENDIF | |
BREAK | |
CASE MILLIE | |
GET_INT_STAT GIRLFRIEND_MILLIE iTempStat | |
IF iTempStat < iGFLikesPlayer[MILLIE] | |
IF iGFLikesPlayer[MILLIE] > 100 | |
iGFLikesPlayer[MILLIE] = 100 | |
ENDIF | |
IF iGFLikesPlayer[MILLIE] < 0 | |
SET_INT_STAT GIRLFRIEND_MILLIE 0 | |
ELSE | |
iTempStat -= iGFLikesPlayer[MILLIE] | |
ABS iTempStat | |
INCREMENT_INT_STAT GIRLFRIEND_MILLIE iTempStat | |
ENDIF | |
ELSE | |
IF iTempStat > iGFLikesPlayer[MILLIE] | |
IF iGFLikesPlayer[MILLIE] > 100 | |
iGFLikesPlayer[MILLIE] = 100 | |
ENDIF | |
IF iGFLikesPlayer[MILLIE] < 0 | |
SET_INT_STAT GIRLFRIEND_MILLIE 0 | |
ELSE | |
iTempStat -= iGFLikesPlayer[MILLIE] | |
DECREMENT_INT_STAT GIRLFRIEND_MILLIE iTempStat | |
ENDIF | |
ENDIF | |
ENDIF | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************* | |
DATING AGENT MISSION CLEANUP | |
********************************************/ | |
GF_Dating_Agent_MissionCleanUp: | |
IF iAgentState = GF_LAUNCH_DATE_OR_SEX // Dating Agent is managing a date! | |
//--- Check that the current GF is an active one (just in case) | |
IF IS_BIT_SET iActiveGF iGFidx | |
//--- do the baisc date housekeeping and stats update | |
GOSUB GF_Dating_Agent_RemoveGF | |
GOSUB GF_Dating_Agent_UpdateGFStats | |
ENDIF | |
ENDIF | |
//--- Put the agent back to idle | |
iAgentState = GF_IDLE_TRY_TO_LOCATE_PLAYER | |
//--- Clear all active appointments | |
iTemp2 = -1 | |
REPEAT 6 iTemp | |
IF IS_BIT_SET iAgentFlags iTemp | |
CLEAR_BIT iAgentFlags iTemp // APPOINTMENT_ON_FOR_CURRENT_GF | |
ENDIF | |
ENDREPEAT | |
//--- Re-enable the stat updates (bar on screen) just in case we aborted while these were set off | |
SHOW_UPDATE_STATS TRUE | |
iGFTimeStep = GF_TIME_STEP_SLOW | |
RETURN | |
/******************************************** | |
KEYBOARD CONSOLE COMMANDS | |
********************************************/ | |
GF_Dating_Agent_Console_Commands: | |
GET_LATEST_CONSOLE_COMMAND GF_txtConsoleIn | |
IF NOT IS_STRING_EMPTY $GF_txtConsoleIn | |
$GF_txtConsoleCheck = DOCOOCHIE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SET_BIT iActiveGF COOCHIE | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = DOMICHELLE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SET_BIT iActiveGF MICHELLE | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = DOKYLIE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SET_BIT iActiveGF KYLIE | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = DOBARBARA | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SET_BIT iActiveGF BARBARA | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = DOSUZIE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SET_BIT iActiveGF SUZIE | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = DOMILLIE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SET_BIT iActiveGF MILLIE | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = FASTDATE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SET_BIT iActiveGF GF_CHEAT_MODE_ON | |
//--- All girls like the player as much as needed for sex | |
iGFLikesPlayer[COOCHIE] = iGFSelfRespect[COOCHIE] | |
iGFLikesPlayer[MICHELLE] = iGFSelfRespect[MICHELLE] | |
iGFLikesPlayer[BARBARA] = iGFSelfRespect[BARBARA] | |
iGFLikesPlayer[KYLIE] = iGFSelfRespect[KYLIE] | |
iGFLikesPlayer[SUZIE] = iGFSelfRespect[SUZIE] | |
iGFLikesPlayer[MILLIE] = iGFSelfRespect[MILLIE] | |
SET_BIT iDateReport FASTDATE_ON | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = GOCOOCHIE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
IF IS_PLAYER_PLAYING PLAYER1 | |
SET_CHAR_COORDINATES scplayer 2405.2124 -1720.6879 12.6365 | |
ENDIF | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = GOMICHELLE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
IF IS_PLAYER_PLAYING PLAYER1 | |
SET_CHAR_COORDINATES scplayer -1788.0 1202.0 30.0 | |
ENDIF | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = GOKYLIE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
IF IS_PLAYER_PLAYING PLAYER1 | |
SET_CHAR_COORDINATES scplayer -371.4376 -1440.0717 24.7209 | |
ENDIF | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = GOBARBARA | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
IF IS_PLAYER_PLAYING PLAYER1 | |
SET_CHAR_COORDINATES scplayer -1400.0 2640.0 -100.0 | |
ENDIF | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = GOSUZIE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
IF IS_PLAYER_PLAYING PLAYER1 | |
SET_CHAR_COORDINATES scplayer -2570.5107 1139.5815 54.8547 | |
ENDIF | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = GOMILLIE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
IF IS_PLAYER_PLAYING PLAYER1 | |
SET_CHAR_COORDINATES scplayer 2028.3471 2736.96890 10.8603 | |
ENDIF | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = DATEFOOD | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SET_BIT iActiveGF GF_CHEAT_MODE_ON | |
SET_BIT iDateReport CHEAT_EAT_OUT // This is dependent on fast date being on to be activated | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = DATEDRIVE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SET_BIT iActiveGF GF_CHEAT_MODE_ON | |
iGFLikesPlayer[COOCHIE] = GF_LIKES_PLAYER_STAGE2 | |
iGFLikesPlayer[MICHELLE] = GF_LIKES_PLAYER_STAGE2 | |
iGFLikesPlayer[BARBARA] = GF_LIKES_PLAYER_STAGE2 | |
iGFLikesPlayer[KYLIE] = GF_LIKES_PLAYER_STAGE2 | |
iGFLikesPlayer[SUZIE] = GF_LIKES_PLAYER_STAGE2 | |
iGFLikesPlayer[MILLIE] = GF_LIKES_PLAYER_STAGE2 | |
SET_BIT iDateReport CHEAT_DRIVE // This is dependent on fast date being on to be activated | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = DATEDANCE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SET_BIT iActiveGF GF_CHEAT_MODE_ON | |
iGFLikesPlayer[COOCHIE] = GF_LIKES_PLAYER_STAGE2 | |
iGFLikesPlayer[MICHELLE] = GF_LIKES_PLAYER_STAGE2 | |
iGFLikesPlayer[BARBARA] = GF_LIKES_PLAYER_STAGE2 | |
iGFLikesPlayer[KYLIE] = GF_LIKES_PLAYER_STAGE2 | |
iGFLikesPlayer[SUZIE] = GF_LIKES_PLAYER_STAGE2 | |
iGFLikesPlayer[MILLIE] = GF_LIKES_PLAYER_STAGE2 | |
SET_BIT iDateReport CHEAT_DANCE // This is dependent on fast date being on to be activated | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = DATESPANK | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SET_BIT iActiveGF GF_CHEAT_MODE_ON | |
SET_BIT iDateReport CHEAT_KINKY_SEX // This is dependent on fast date being on to be activated | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = DATESHEDRIVES | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SET_BIT iActiveGF GF_CHEAT_MODE_ON | |
iGFLikesPlayer[MICHELLE] = GF_LIKES_PLAYER_STAGE2 | |
SET_BIT iDateReport CHEAT_GIRL_DRIVE | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = MEETMICHELLE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
IF IS_PLAYER_PLAYING PLAYER1 | |
SET_CHAR_COORDINATES scplayer -2026.9199 -99.9395 34.1641 | |
SET_CHAR_HEADING scplayer 180.0 | |
ENDIF | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = MEETKYLIE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
IF IS_PLAYER_PLAYING PLAYER1 | |
flag_la1fin1_mission_counter = 2 | |
SET_CHAR_COORDINATES scplayer 243.9633 -161.2493 0.5781 | |
SET_CHAR_HEADING scplayer 291.5735 | |
ENDIF | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = MEETBARBARA | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
IF IS_PLAYER_PLAYING PLAYER1 | |
SET_CHAR_COORDINATES scplayer -1411.2939 2637.6094 54.6875 | |
SET_CHAR_HEADING scplayer 348.9253 | |
ENDIF | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = MEETSUZIE | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
IF IS_PLAYER_PLAYING PLAYER1 | |
SET_CHAR_COORDINATES scplayer -2266.2529 -155.7216 34.3125 | |
SET_CHAR_HEADING scplayer 85.0 | |
ENDIF | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = GIMPSUIT | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
IF IS_PLAYER_PLAYING PLAYER1 | |
GIVE_PLAYER_CLOTHES_OUTSIDE_SHOP Player1 gimpleg gimpleg CLOTHES_TEX_EXTRA1 | |
BUILD_PLAYER_MODEL player1 | |
ENDIF | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = TWOTIMING | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SET_BIT iActiveGF GF_CHEAT_MODE_ON | |
SET_BIT iDateReport CHEAT_TWO_TIMING | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = ELEGANTMAN | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
iGFDesiredSexAppeal[COOCHIE] = 0 | |
iGFDesiredSexAppeal[MICHELLE] = 0 | |
iGFDesiredSexAppeal[BARBARA] = 0 | |
iGFDesiredSexAppeal[KYLIE] = 0 | |
iGFDesiredSexAppeal[SUZIE] = 0 | |
iGFDesiredSexAppeal[MILLIE] = 0 | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = SHOWENTRY | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SWITCH_ENTRY_EXIT FDrest1 TRUE | |
SWITCH_ENTRY_EXIT rest2 TRUE | |
SWITCH_ENTRY_EXIT diner1 TRUE | |
SWITCH_ENTRY_EXIT diner2 TRUE | |
SWITCH_ENTRY_EXIT TSdiner TRUE | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = HIDEENTRY | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
SWITCH_ENTRY_EXIT FDrest1 FALSE | |
SWITCH_ENTRY_EXIT rest2 FALSE | |
SWITCH_ENTRY_EXIT diner1 FALSE | |
SWITCH_ENTRY_EXIT diner2 FALSE | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = UNCENSORED | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
iCensoredVersion = 0 | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = STATSUP | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
iGFLikesPlayer[iGFidx] += 10 | |
GOSUB GF_Dating_Agent_SynchStats | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = STATSDOWN | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
iGFLikesPlayer[iGFidx] -= 10 | |
GOSUB GF_Dating_Agent_SynchStats | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
$GF_txtConsoleCheck = DUMPME | |
IF $GF_txtConsoleCheck = $GF_txtConsoleIn | |
iGFLikesPlayer[iGFidx] = GF_LIKES_PLAYER_LOW_LIMIT | |
GOSUB GF_Dating_Agent_SynchStats | |
RESET_LATEST_CONSOLE_COMMAND | |
RETURN | |
ENDIF | |
ENDIF | |
RETURN | |
/******************************************* | |
RUN DEBUG | |
********************************************/ | |
GF_Dating_Agent_Debug: | |
WRITE_DEBUG I__________________________I | |
WRITE_DEBUG H | |
WRITE_DEBUG G | |
WRITE_DEBUG F | |
WRITE_DEBUG E | |
WRITE_DEBUG D | |
WRITE_DEBUG $txtCurrZone | |
WRITE_DEBUG_WITH_INT IGFIDX iGFidx | |
SWITCH iAgentState | |
CASE 0 | |
WRITE_DEBUG STATE0__ | |
BREAK | |
CASE 1 | |
WRITE_DEBUG STATE1__ | |
BREAK | |
CASE 2 | |
WRITE_DEBUG STATE2__ | |
BREAK | |
CASE 3 | |
WRITE_DEBUG STATE3__ | |
BREAK | |
CASE 4 | |
WRITE_DEBUG STATE4__ | |
BREAK | |
DEFAULT | |
WRITE_DEBUG UNTRAPPED_STATE___ | |
BREAK | |
ENDSWITCH | |
WRITE_DEBUG I__________________________I | |
RETURN | |
} | |
MISSION_START | |
START_NEW_SCRIPT Int_Manager | |
MISSION_END | |
/********************************************************************************************************************************************* | |
************************************************ ********************************************************************** | |
************************************************ INTERIORS MANAGER ********************************************************************* | |
************************************************ ********************************************************************** | |
**********************************************************************************************************************************************/ | |
{ | |
Int_Manager: | |
SCRIPT_NAME INTMAN | |
//--- GLOBALS | |
VAR_INT iTerminateAllAmbience iAreaCode iStoredAreaCode | |
VAR_TEXT_LABEL16 txtEntryExit | |
VAR_INT iGlobalPedPanicDM iGlobalShopkeeperDM | |
VAR_INT iSetClothesPanic iWantedOnEntry iCheckForWeapons iCreateDecisionMakers | |
//--- LOCALS | |
LVAR_INT iState iStreamedScriptInstances iAmbienceHasTerminated | |
iGlobalPedPanicDM = -1 | |
IF iGlobalPedPanicDM = 9999 // fudge to fool the excellent compiler | |
COPY_CHAR_DECISION_MAKER DM_PED_INDOORS iGlobalPedPanicDM | |
COPY_CHAR_DECISION_MAKER DM_PED_INDOORS iGlobalShopkeeperDM | |
ENDIF | |
//---MAIN LOOP--- | |
Int_Manager_Main_Loop: | |
IF IS_PLAYER_PLAYING PLAYER1 | |
GOSUB Int_Manager_State_Machine | |
ENDIF | |
WAIT 0 | |
GOTO Int_Manager_Main_Loop | |
//---END OF MAIN LOOP--- | |
/******************************************** | |
STATE MACHINE | |
********************************************/ | |
Int_Manager_State_Machine: | |
SWITCH iState | |
CASE 0 //---STATE 0 - Waiting to enter an entry exit | |
GOSUB Int_Manager_ENTRY | |
BREAK | |
CASE 1 //---STATE 1 - Waiting to leave an entry exit | |
GOSUB Int_Manager_EXIT | |
BREAK | |
ENDSWITCH | |
RETURN | |
/******************************************** | |
ENTRY | |
********************************************/ | |
Int_Manager_ENTRY: | |
GET_CHAR_AREA_VISIBLE scplayer iAreaCode | |
IF NOT iAreaCode = 0 | |
GET_NAME_OF_ENTRY_EXIT_CHAR_USED scplayer txtEntryExit | |
//--- Find out if the area has changed due to an entry exit point | |
IF NOT IS_STRING_EMPTY $txtEntryExit | |
//--- OK. Store this area code | |
iStoredAreaCode = iAreaCode | |
//--- Grab the current wanted level | |
IF IS_PLAYER_PLAYING PLAYER1 | |
STORE_WANTED_LEVEL PLAYER1 iWantedOnEntry | |
ENDIF | |
//--- Fill the shop string for Willie | |
GET_LOADED_SHOP shop_name | |
//--- Reset the global flags that control the ambience | |
iCreateDecisionMakers = 0 | |
iTerminateAllAmbience = 0 | |
iAmbienceHasTerminated = 0 | |
//--- Reset the global panic flags - but only if not on a mission | |
IF flag_player_on_mission = 0 | |
iSetBarPanic = 0 | |
iSetCasinoPanic = 0 | |
iBouncerAction = 0 | |
iSetPizzaPanic = 0 | |
iSetOTBPanic = 0 | |
iSetSTRIPPanic = 0 | |
iSetRCPanic = 0 | |
ENDIF | |
//------------------------ | |
// ENTRY EXIT LABEL CHECKS | |
//------------------------ | |
//--- WARDROBE | |
IF $txtEntryExit = &CHANGER | |
AND iAreaCode = 14 | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT wardrobe.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT wardrobe.sc | |
LOAD_ALL_MODELS_NOW | |
IF HAS_STREAMED_SCRIPT_LOADED wardrobe.sc | |
START_NEW_STREAMED_SCRIPT wardrobe.sc | |
++iState // move on to the wait state | |
RETURN | |
ENDIF | |
ENDIF | |
ENDIF | |
//--- CASINO | |
IF $txtEntryExit = &TRICAS | |
OR $txtEntryExit = &MAFCAS | |
OR $txtEntryExit = &CASINO2 | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Bar_Staff.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Bar_Staff.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Bouncer.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Bouncer.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Customer_Panic.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Customer_Panic.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT casino_ambience.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT casino_ambience.sc | |
ENDIF | |
REQUEST_ANIMATION BAR | |
REQUEST_ANIMATION CASINO | |
IF $txtEntryExit = &MAFCAS | |
REQUEST_MODEL VMAFF1 | |
REQUEST_MODEL VMAFF3 | |
REQUEST_MODEL VMAFF2 | |
REQUEST_MODEL VWFYWAI | |
ENDIF | |
IF $txtEntryExit = &TRICAS | |
REQUEST_MODEL BMYBOUN | |
REQUEST_MODEL WMYBOUN | |
REQUEST_MODEL VWFYWA2 | |
ENDIF | |
IF $txtEntryExit = &CASINO2 | |
REQUEST_MODEL BMYBOUN | |
REQUEST_MODEL WMYBOUN | |
REQUEST_MODEL VWFYCRP | |
ENDIF | |
LOAD_ALL_MODELS_NOW | |
IF HAS_STREAMED_SCRIPT_LOADED casino_ambience.sc | |
START_NEW_STREAMED_SCRIPT casino_ambience.sc | |
ENDIF | |
IF HAS_STREAMED_SCRIPT_LOADED Bar_Staff.sc | |
AND HAS_STREAMED_SCRIPT_LOADED Bouncer.sc | |
AND HAS_STREAMED_SCRIPT_LOADED Customer_Panic.sc | |
AND HAS_STREAMED_SCRIPT_LOADED casino_ambience.sc | |
iCreateDecisionMakers = 1 | |
++iState // move on to the wait state | |
ENDIF | |
ENDIF | |
//--- BAR & CLUB | |
IF $txtEntryExit = &BAR1 | |
OR $txtEntryExit = &BAR2 | |
OR $txtEntryExit = &UFOBAR | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Bar_Staff.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Bar_Staff.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Customer_Panic.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Customer_Panic.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT bar_ambience.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT bar_ambience.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Dance.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Dance.sc | |
ENDIF | |
REQUEST_ANIMATION BAR | |
IF $txtEntryExit = &BAR1 | |
REQUEST_ANIMATION DANCING | |
ENDIF | |
REQUEST_MODEL VWFYCRP | |
LOAD_ALL_MODELS_NOW | |
IF HAS_STREAMED_SCRIPT_LOADED bar_ambience.sc | |
START_NEW_STREAMED_SCRIPT bar_ambience.sc | |
ENDIF | |
IF HAS_STREAMED_SCRIPT_LOADED Bar_Staff.sc | |
AND HAS_STREAMED_SCRIPT_LOADED Customer_Panic.sc | |
AND HAS_STREAMED_SCRIPT_LOADED bar_ambience.sc | |
AND HAS_STREAMED_SCRIPT_LOADED Dance.sc | |
iCreateDecisionMakers = 1 | |
++iState // move on to the wait state | |
ENDIF | |
ENDIF | |
//--- OTB | |
IF $txtEntryExit = &GENOTB | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT OTB_Staff.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT OTB_Staff.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Customer_Panic.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Customer_Panic.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT OTB_ambience.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT OTB_ambience.sc | |
ENDIF | |
REQUEST_ANIMATION OTB | |
REQUEST_ANIMATION INT_SHOP | |
REQUEST_MODEL VBFYCRP | |
REQUEST_MODEL VWFYCRP | |
LOAD_ALL_MODELS_NOW | |
IF HAS_STREAMED_SCRIPT_LOADED OTB_ambience.sc | |
START_NEW_STREAMED_SCRIPT OTB_ambience.sc | |
ENDIF | |
IF HAS_STREAMED_SCRIPT_LOADED OTB_Staff.sc | |
AND HAS_STREAMED_SCRIPT_LOADED Customer_Panic.sc | |
AND HAS_STREAMED_SCRIPT_LOADED OTB_ambience.sc | |
iCreateDecisionMakers = 1 | |
++iState // move on to the wait state | |
ENDIF | |
ENDIF | |
//--- STRIP CLUB | |
IF $txtEntryExit = &LASTRIP | |
OR $txtEntryExit = &STRIP2 | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Bar_Staff.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Bar_Staff.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Bouncer.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Bouncer.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Customer_Panic.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Customer_Panic.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Strip_ambience.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Strip_ambience.sc | |
ENDIF | |
REQUEST_ANIMATION BAR | |
REQUEST_ANIMATION STRIP | |
REQUEST_MODEL BMYBOUN | |
REQUEST_MODEL WMYBOUN | |
REQUEST_MODEL VWFYCRP | |
LOAD_ALL_MODELS_NOW | |
IF HAS_STREAMED_SCRIPT_LOADED Strip_ambience.sc | |
START_NEW_STREAMED_SCRIPT Strip_ambience.sc | |
ENDIF | |
IF HAS_STREAMED_SCRIPT_LOADED Bar_Staff.sc | |
AND HAS_STREAMED_SCRIPT_LOADED Bouncer.sc | |
AND HAS_STREAMED_SCRIPT_LOADED Customer_Panic.sc | |
AND HAS_STREAMED_SCRIPT_LOADED Strip_ambience.sc | |
iCreateDecisionMakers = 1 | |
++iState // move on to the wait state | |
ENDIF | |
ENDIF | |
//--- CLOTHES SHOPS | |
IF player_using_wardrobe = 0 | |
IF $txtEntryExit = cschp | |
OR $txtEntryExit = cssprt | |
OR $txtEntryExit = lacs1 | |
OR $txtEntryExit = clothgp | |
OR $txtEntryExit = csdesgn | |
OR $txtEntryExit = csexl | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT clothes.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT clothes.sc | |
ENDIF | |
REQUEST_ANIMATION INT_SHOP | |
LOAD_ALL_MODELS_NOW | |
IF HAS_STREAMED_SCRIPT_LOADED clothes.sc | |
iSetClothesPanic = 0 | |
START_NEW_STREAMED_SCRIPT clothes.sc | |
iCreateDecisionMakers = 1 | |
++iState // move on to the wait state | |
ENDIF | |
ENDIF | |
ENDIF | |
//--- FAST FOOD SHOPS | |
IF $txtEntryExit = &FDPIZA | |
OR $txtEntryExit = &FDCHICK | |
OR $txtEntryExit = &FDBURG | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT junkfud.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT junkfud.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT FoodBrains.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT FoodBrains.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT ShopKeeper.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT ShopKeeper.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Customer_Panic.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Customer_Panic.sc | |
ENDIF | |
REQUEST_ANIMATION FOOD | |
REQUEST_ANIMATION INT_SHOP | |
IF $txtEntryExit = &FDPIZA | |
REQUEST_MODEL WMYPIZZ | |
REQUEST_MODEL PIZZAHIGH | |
REQUEST_MODEL CJ_PIZZA_1 | |
REQUEST_MODEL CJ_PIZZA_2 | |
ENDIF | |
IF $txtEntryExit = &FDCHICK | |
REQUEST_MODEL WMYBELL | |
REQUEST_MODEL BURGERHIGH | |
REQUEST_MODEL CJ_BURG_1 | |
REQUEST_MODEL CJ_BURG_2 | |
ENDIF | |
IF $txtEntryExit = &FDBURG | |
REQUEST_MODEL WFYBURG | |
REQUEST_MODEL BURGERHIGH | |
REQUEST_MODEL CJ_BURG_1 | |
REQUEST_MODEL CJ_BURG_2 | |
ENDIF | |
LOAD_ALL_MODELS_NOW | |
IF HAS_STREAMED_SCRIPT_LOADED junkfud.sc | |
START_NEW_STREAMED_SCRIPT junkfud.sc | |
ENDIF | |
IF HAS_STREAMED_SCRIPT_LOADED FoodBrains.sc | |
IF $txtEntryExit = &FDPIZA | |
START_NEW_STREAMED_SCRIPT FoodBrains.sc 0 | |
ELSE | |
IF $txtEntryExit = &FDCHICK | |
START_NEW_STREAMED_SCRIPT FoodBrains.sc 1 | |
ELSE | |
IF $txtEntryExit = &FDBURG | |
START_NEW_STREAMED_SCRIPT FoodBrains.sc 2 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF HAS_STREAMED_SCRIPT_LOADED junkfud.sc | |
AND HAS_STREAMED_SCRIPT_LOADED FoodBrains.sc | |
AND HAS_STREAMED_SCRIPT_LOADED ShopKeeper.sc | |
AND HAS_STREAMED_SCRIPT_LOADED Customer_Panic.sc | |
iCreateDecisionMakers = 1 | |
++iState // move on to the wait state | |
ENDIF | |
ENDIF | |
//--- BARBER SHOPS | |
IF $txtEntryExit = &BARBERS | |
OR $txtEntryExit = &BARBER2 | |
OR $txtEntryExit = &BARBER3 | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT barber.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT barber.sc | |
LOAD_ALL_MODELS_NOW | |
IF HAS_STREAMED_SCRIPT_LOADED barber.sc | |
START_NEW_STREAMED_SCRIPT barber.sc | |
iCreateDecisionMakers = 1 | |
++iState // move on to the wait state | |
ENDIF | |
ENDIF | |
ENDIF | |
//--- TATTOO SHOPS | |
IF $txtEntryExit = &TATTOO | |
OR $txtEntryExit = &TATTO2 | |
OR $txtEntryExit = &TATTO3 | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT tattoo.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT tattoo.sc | |
LOAD_ALL_MODELS_NOW | |
IF HAS_STREAMED_SCRIPT_LOADED tattoo.sc | |
START_NEW_STREAMED_SCRIPT tattoo.sc | |
iCreateDecisionMakers = 1 | |
++iState // move on to the wait state | |
ENDIF | |
ENDIF | |
ENDIF | |
//--- ZERO's RC Shop | |
IF $txtEntryExit = &RCPLAY | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Zero_ambience.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Zero_ambience.sc | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT Customer_Panic.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT Customer_Panic.sc | |
ENDIF | |
REQUEST_MODEL WMYCLOT | |
LOAD_ALL_MODELS_NOW | |
IF HAS_STREAMED_SCRIPT_LOADED Zero_ambience.sc | |
START_NEW_STREAMED_SCRIPT Zero_ambience.sc | |
ENDIF | |
IF HAS_STREAMED_SCRIPT_LOADED Zero_ambience.sc | |
AND HAS_STREAMED_SCRIPT_LOADED Customer_Panic.sc | |
iCreateDecisionMakers = 1 | |
++iState // move on to the wait state | |
ENDIF | |
ENDIF | |
//--- POLICE | |
IF $txtEntryExit = &POLICE1 | |
OR $txtEntryExit = &POLICE2 | |
OR $txtEntryExit = &POLICE3 | |
OR $txtEntryExit = &POLICE4 | |
iCheckForWeapons = 1 | |
iCreateDecisionMakers = 1 | |
REQUEST_ANIMATION COP_AMBIENT | |
REQUEST_ANIMATION INT_OFFICE | |
REQUEST_ANIMATION GANGS | |
REQUEST_MODEL CIGAR | |
LOAD_ALL_MODELS_NOW | |
++iState // move on to the wait state | |
ENDIF | |
//--- AMMUNATION | |
IF $txtEntryExit = &AMMUN1 | |
OR $txtEntryExit = &AMMUN2 | |
OR $txtEntryExit = &AMMUN3 | |
OR $txtEntryExit = &AMMUN4 | |
OR $txtEntryExit = &AMMUN5 | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT ammu.sc iStreamedScriptInstances | |
IF iStreamedScriptInstances = 0 | |
STREAM_SCRIPT ammu.sc | |
LOAD_ALL_MODELS_NOW | |
IF HAS_STREAMED_SCRIPT_LOADED ammu.sc | |
START_NEW_STREAMED_SCRIPT ammu.sc | |
iCreateDecisionMakers = 1 | |
++iState // move on to the wait state | |
ENDIF | |
ENDIF | |
ENDIF | |
//------------------------------- | |
// END OF ENTRY EXIT LABEL CHECKS | |
//------------------------------- | |
//--- See if we must create some special decision maker | |
IF iCreateDecisionMakers = 1 | |
IF NOT DOES_DECISION_MAKER_EXIST iGlobalPedPanicDM | |
COPY_CHAR_DECISION_MAKER DM_PED_INDOORS iGlobalPedPanicDM | |
CLEAR_CHAR_DECISION_MAKER_EVENT_RESPONSE iGlobalPedPanicDM EVENT_ATTRACTOR | |
CLEAR_CHAR_DECISION_MAKER_EVENT_RESPONSE iGlobalPedPanicDM EVENT_SCRIPTED_ATTRACTOR | |
ENDIF | |
IF NOT DOES_DECISION_MAKER_EXIST iGlobalShopkeeperDM | |
COPY_CHAR_DECISION_MAKER DM_PED_INDOORS iGlobalShopkeeperDM | |
CLEAR_CHAR_DECISION_MAKER_EVENT_RESPONSE iGlobalShopkeeperDM EVENT_ATTRACTOR | |
CLEAR_CHAR_DECISION_MAKER_EVENT_RESPONSE iGlobalShopkeeperDM EVENT_SCRIPTED_ATTRACTOR | |
CLEAR_CHAR_DECISION_MAKER_EVENT_RESPONSE iGlobalShopkeeperDM EVENT_DAMAGE | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
RETURN | |
/******************************************** | |
EXIT | |
********************************************/ | |
Int_Manager_EXIT: | |
GET_CHAR_AREA_VISIBLE scplayer iAreaCode | |
IF NOT iAreaCode = iStoredAreaCode | |
//--- Player has changed area code, mark all loaded stuff as ready for removal | |
GOSUB Int_Manager_MarkStuffNoLongerNeeded | |
//--- Reset the global flags | |
iTerminateAllAmbience = 0 | |
iAmbienceHasTerminated = 0 | |
iCheckForWeapons = 0 | |
GET_LOADED_SHOP shop_name | |
//--- Move on to the entry state | |
--iState | |
RETURN | |
ELSE | |
IF IS_CHECKPOINT_RESUMING TRUE | |
IF iState = 1 | |
--iState | |
ENDIF | |
ENDIF | |
//--- Player is still in the same area code | |
IF iCheckForWeapons = 1 | |
IF NOT IS_CURRENT_CHAR_WEAPON scplayer WEAPONTYPE_ANYMELEE | |
ALTER_WANTED_LEVEL_NO_DROP PLAYER1 2 | |
ENDIF | |
ENDIF | |
IF iTerminateAllAmbience = 1 | |
AND iAmbienceHasTerminated = 0 | |
//--- Mark all loaded stuff as ready for removal | |
GOSUB Int_Manager_MarkStuffNoLongerNeeded | |
//--- Hang in here until the area code changes | |
iAmbienceHasTerminated = 1 | |
ENDIF | |
ENDIF | |
RETURN | |
/******************************************* | |
MARK STREAMS AS NO LONGER NEEDED | |
********************************************/ | |
Int_Manager_MarkStuffNoLongerNeeded: | |
//--- Animations | |
REMOVE_ANIMATION BAR | |
REMOVE_ANIMATION CASINO | |
REMOVE_ANIMATION DANCING | |
REMOVE_ANIMATION OTB | |
REMOVE_ANIMATION INT_SHOP | |
REMOVE_ANIMATION STRIP | |
REMOVE_ANIMATION FOOD | |
REMOVE_ANIMATION COP_AMBIENT | |
REMOVE_ANIMATION INT_OFFICE | |
REMOVE_ANIMATION GANGS | |
//--- Models | |
MARK_MODEL_AS_NO_LONGER_NEEDED CIGAR | |
MARK_MODEL_AS_NO_LONGER_NEEDED VMAFF1 | |
MARK_MODEL_AS_NO_LONGER_NEEDED VMAFF3 | |
MARK_MODEL_AS_NO_LONGER_NEEDED VMAFF2 | |
MARK_MODEL_AS_NO_LONGER_NEEDED VWFYWAI | |
MARK_MODEL_AS_NO_LONGER_NEEDED VWFYWA2 | |
MARK_MODEL_AS_NO_LONGER_NEEDED BMYBOUN | |
MARK_MODEL_AS_NO_LONGER_NEEDED WMYBOUN | |
MARK_MODEL_AS_NO_LONGER_NEEDED VWFYCRP | |
MARK_MODEL_AS_NO_LONGER_NEEDED VBFYCRP | |
MARK_MODEL_AS_NO_LONGER_NEEDED WMYPIZZ | |
MARK_MODEL_AS_NO_LONGER_NEEDED PIZZAHIGH | |
MARK_MODEL_AS_NO_LONGER_NEEDED CJ_PIZZA_1 | |
MARK_MODEL_AS_NO_LONGER_NEEDED CJ_PIZZA_2 | |
MARK_MODEL_AS_NO_LONGER_NEEDED WMYBELL | |
MARK_MODEL_AS_NO_LONGER_NEEDED BURGERHIGH | |
MARK_MODEL_AS_NO_LONGER_NEEDED CJ_BURG_1 | |
MARK_MODEL_AS_NO_LONGER_NEEDED CJ_BURG_2 | |
MARK_MODEL_AS_NO_LONGER_NEEDED WFYBURG | |
MARK_MODEL_AS_NO_LONGER_NEEDED WMYCLOT | |
//--- Shop scripts | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED wardrobe.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED clothes.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED junkfud.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED barber.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED tattoo.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED ammu.sc | |
//--- Ambience manager scripts | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED casino_ambience.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED bar_ambience.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED OTB_ambience.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED Strip_ambience.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED FoodBrains.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED Zero_ambience.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED Dance.sc | |
//--- Ambient People scripts | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED ShopKeeper.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED Customer_Panic.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED Bar_Staff.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED Bouncer.sc | |
MARK_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED OTB_Staff.sc | |
//--- Decision Makers | |
REMOVE_DECISION_MAKER iGlobalPedPanicDM | |
REMOVE_DECISION_MAKER iGlobalShopkeeperDM | |
iGlobalPedPanicDM = -1 | |
iGlobalShopkeeperDM = -1 | |
RETURN | |
} | |
MISSION_START | |
MISSION_END | |
// GLOBAL VARIABLES | |
// arrays | |
VAR_INT SLOT_play_status[2] SLOT_priority[2] SLOT_ped[2] | |
VAR_FLOAT SLOT_X[2] SLOT_Y[2] SLOT_Z[2] | |
VAR_INT SLOT_sample[2] load_sample | |
VAR_TEXT_LABEL SLOT_text[2] load_text | |
// general variables used by most of the below scripts | |
VAR_INT actual_SLOT[2] SLOT_status[2] | |
VAR_INT current_slot preload_slot | |
/* | |
########################################################################### | |
## | |
## MAIN AUDIO CONTROLLER | |
## | |
########################################################################### | |
*/ | |
{ | |
LVAR_INT audio_counter other_slot | |
start_audio_controller: | |
SCRIPT_NAME A_CONT | |
// used as an increment on the array pointer as the audio slots are 1&2 | |
actual_SLOT[0] = 1 | |
actual_SLOT[1] = 2 | |
SLOT_status[0] = -3 | |
SLOT_status[1] = -3 | |
SLOT_priority[0] = 0 | |
SLOT_priority[1] = 0 | |
SLOT_play_status[0] = 0 | |
SLOT_play_status[0] = 0 | |
current_slot = 0 | |
preload_slot = 1 | |
SLOT_ped[0] = scplayer | |
SLOT_ped[1] = scplayer | |
audio_controller: | |
WAIT 0 | |
audio_counter = 0 | |
other_slot = 1 | |
IF SLOT_status[0] >= -2 | |
OR SLOT_status[1] >= -2 | |
WHILE audio_counter < 2 | |
SWITCH SLOT_status[audio_counter] | |
CASE -1 // small timer to allow variables to be set before script checks them | |
SLOT_priority[audio_counter] = 0 | |
SLOT_status[audio_counter] = -3 | |
BREAK | |
// CHECK TO SEE IF AUDIO SLOT HAS LOADED | |
CASE 0 | |
IF NOT HAS_MISSION_AUDIO_LOADED actual_SLOT[audio_counter] | |
BREAK | |
ENDIF | |
// ############################### | |
// ## | |
// ## PLAY AUDIO OR MAKE IT WAIT | |
// ## | |
// ############################### | |
// if the slot just loaded is the preload slot check if it can play now or has to wait | |
IF audio_counter = preload_slot | |
// if preloaded slot has higher priority, clear current slot and play this one | |
IF SLOT_priority[audio_counter] > SLOT_priority[other_slot] | |
// swap slots | |
current_slot = audio_counter | |
preload_slot = other_slot | |
// clear old current slot | |
CLEAR_MISSION_AUDIO actual_SLOT[preload_slot] | |
CLEAR_THIS_PRINT $SLOT_text[preload_slot] | |
// if the old current slot was to be played by a ped enable his speech unless he/she is going to say the new audio | |
IF NOT SLOT_play_status[preload_slot] = 0 | |
IF NOT IS_CHAR_DEAD SLOT_ped[preload_slot] | |
STOP_CHAR_FACIAL_TALK SLOT_ped[preload_slot] | |
IF NOT SLOT_ped[preload_slot] = SLOT_ped[current_slot] | |
SHUT_CHAR_UP_FOR_SCRIPTED_SPEECH SLOT_ped[preload_slot] FALSE | |
//ENABLE_CHAR_SPEECH SLOT_ped[preload_slot] | |
ENDIF | |
ENDIF | |
ENDIF | |
SLOT_status[preload_slot] = -1 | |
ELSE | |
// wait for current sample to finish before playing this one | |
SLOT_status[audio_counter] = 1 | |
BREAK | |
ENDIF | |
ENDIF | |
// PLAY AUDIO IN CURRENT SLOT | |
// attach the sample to a char or coord if it needs to be | |
IF NOT SLOT_play_status[audio_counter] = 0 // char | |
IF NOT IS_CHAR_DEAD SLOT_ped[audio_counter] | |
START_CHAR_FACIAL_TALK SLOT_ped[audio_counter] 999999 | |
IF SLOT_play_status[audio_counter] = 1 // attach to the char | |
ATTACH_MISSION_AUDIO_TO_CHAR actual_SLOT[audio_counter] SLOT_ped[audio_counter] | |
ENDIF | |
ENDIF | |
ENDIF | |
PLAY_MISSION_AUDIO actual_SLOT[audio_counter] | |
PRINT_NOW $SLOT_text[audio_counter] 10000 1 | |
SLOT_status[audio_counter] = 2 | |
BREAK | |
// CHECK FOR OTHER SLOT TO FINISH SO THIS ONE CAN LOAD | |
CASE 1 | |
IF current_slot = audio_counter | |
// attach the sample to a char or coord if it needs to be | |
IF NOT SLOT_play_status[audio_counter] = 0 // char | |
IF NOT IS_CHAR_DEAD SLOT_ped[audio_counter] | |
START_CHAR_FACIAL_TALK SLOT_ped[audio_counter] 999999 | |
IF SLOT_play_status[audio_counter] = 1 // attach to the char | |
ATTACH_MISSION_AUDIO_TO_CHAR actual_SLOT[audio_counter] SLOT_ped[audio_counter] | |
ENDIF | |
ENDIF | |
ENDIF | |
PLAY_MISSION_AUDIO actual_SLOT[audio_counter] | |
PRINT_NOW $SLOT_text[audio_counter] 10000 1 | |
SLOT_status[audio_counter] = 2 | |
ENDIF | |
BREAK | |
// CHECK FOR SAMPLE FINISHING | |
CASE 2 | |
IF HAS_MISSION_AUDIO_FINISHED actual_SLOT[audio_counter] | |
// this slot now becomes preload slot | |
IF current_slot = audio_counter | |
preload_slot = audio_counter | |
current_slot = other_slot | |
ENDIF | |
ELSE | |
// check if slot was attached to a ped or is playing frontend pretending to be a ped | |
IF NOT SLOT_play_status[audio_counter] = 0 // char | |
IF NOT IS_CHAR_DEAD SLOT_ped[audio_counter] | |
BREAK | |
ENDIF | |
ENDIF | |
BREAK | |
ENDIF | |
// USED TO CLEAR SLOTS (IF PLAYER GETS OUT OF A CAR DURING CONVERSATION ETC) | |
CASE -2 | |
CLEAR_MISSION_AUDIO actual_SLOT[audio_counter] | |
CLEAR_THIS_PRINT $SLOT_text[audio_counter] | |
IF NOT SLOT_play_status[audio_counter] = 0 | |
IF NOT IS_CHAR_DEAD SLOT_ped[audio_counter] | |
STOP_CHAR_FACIAL_TALK SLOT_ped[audio_counter] | |
IF NOT SLOT_ped[audio_counter] = SLOT_ped[other_slot] | |
SHUT_CHAR_UP_FOR_SCRIPTED_SPEECH SLOT_ped[audio_counter] FALSE | |
//ENABLE_CHAR_SPEECH SLOT_ped[audio_counter] | |
ENDIF | |
ENDIF | |
ENDIF | |
SLOT_status[audio_counter] = -1 | |
BREAK | |
ENDSWITCH | |
audio_counter ++ | |
other_slot -- | |
ENDWHILE | |
ELSE | |
SLOT_status[0] = -4 | |
SLOT_status[1] = -4 | |
ENDIF | |
GOTO audio_controller | |
} | |
/* | |
################################################################################################################################### | |
## | |
## LOAD AND PLAY | |
## | |
## START_NEW_SCRIPT audio_load_and_play int:status / int:priority / int:ped (ped not needed for status 0) | |
## | |
## status values; | |
## 0 = play audio from front end | |
## 1 = play audio from ped | |
## 2 = play audio frontend but pretend its a ped | |
## | |
################################################################################################################################### | |
*/ | |
{ | |
audio_load_and_play: | |
SCRIPT_NAME A_ALAP | |
// variables passed from START_NEW_SCRIPT | |
LVAR_INT alap_play_status alap_priority alap_ped | |
//LVAR_FLOAT alap_X alap_Y alap_Z | |
// check if the sample to load has a higher or equal priority to the samples in both audio slots | |
IF alap_priority >= SLOT_priority[preload_slot] | |
SLOT_sample[preload_slot] = load_sample | |
$SLOT_text[preload_slot] = $load_text | |
CLEAR_MISSION_AUDIO actual_SLOT[preload_slot] | |
LOAD_MISSION_AUDIO actual_SLOT[preload_slot] SLOT_sample[preload_slot] | |
// check if previos preload_slot was for a ped and enable his/her speech if they are not saying the new sample | |
IF NOT SLOT_play_status[preload_slot] = 0 | |
IF NOT IS_CHAR_DEAD SLOT_ped[preload_slot] | |
IF NOT SLOT_ped[preload_slot] = alap_ped | |
SHUT_CHAR_UP_FOR_SCRIPTED_SPEECH SLOT_ped[preload_slot] FALSE | |
//ENABLE_CHAR_SPEECH SLOT_ped[preload_slot] | |
ENDIF | |
ENDIF | |
ENDIF | |
SLOT_status[preload_slot] = 0 // check for loading | |
SLOT_play_status[preload_slot] = alap_play_status | |
// if new sample is attached to a ped turn off his speech | |
IF NOT SLOT_play_status[preload_slot] = 0 | |
IF SLOT_play_status[preload_slot] = 0 // which it shouldnt do, this is just here to fool the compiler | |
CREATE_CHAR PEDTYPE_CIVMALE MALE01 0.0 0.0 0.0 alap_ped | |
ENDIF | |
SLOT_ped[preload_slot] = alap_ped | |
IF NOT IS_CHAR_DEAD SLOT_ped[preload_slot] | |
SHUT_CHAR_UP_FOR_SCRIPTED_SPEECH SLOT_ped[preload_slot] TRUE | |
//DISABLE_CHAR_SPEECH SLOT_ped[preload_slot] FALSE | |
ENDIF | |
ENDIF | |
// // grab the coordinates in case they are used | |
// SLOT_X[preload_slot] = alap_X | |
// SLOT_Y[preload_slot] = alap_Y | |
// SLOT_Z[preload_slot] = alap_Z | |
SLOT_play_status[preload_slot] = alap_play_status | |
SLOT_priority[preload_slot] = alap_priority | |
ENDIF | |
TERMINATE_THIS_SCRIPT | |
} | |
/* | |
################################################################################################################################### | |
## | |
## TERMINATE ALL SCRIPTS | |
## | |
## START_NEW_SCRIPT terminate_audio_controller | |
## | |
## use in mission cleanup to remove all audio scripts running for the mission | |
## | |
################################################################################################################################### | |
*/ | |
{ | |
terminate_audio_controller: | |
SCRIPT_NAME A_TERM | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME A_CONT | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME A_ALAP | |
TERMINATE_THIS_SCRIPT | |
} | |
MISSION_START | |
// ***************************************************************************************** | |
// ****************************************Stunt Jump*************************************** | |
// ***************************************************************************************** | |
// Variables for mission | |
VAR_INT cash | |
VAR_INT car_player_is_in_hj | |
VAR_INT flag_takeoff_hj | |
VAR_INT height_int_hj | |
VAR_INT flag_wheels_hj | |
VAR_INT stunt_flags_hj | |
VAR_INT flag_car_upsidedown_hj | |
VAR_INT counter_stunt_rolls_hj | |
VAR_INT height_decimals_int_hj | |
VAR_INT distance_decimals_int_hj | |
VAR_INT jumpdistance_int_hj | |
VAR_INT total_rotation_int | |
VAR_INT collision_counter | |
VAR_INT cash_reward cash_reward_temp | |
VAR_FLOAT height_float_hj | |
VAR_FLOAT x_float_hj | |
VAR_FLOAT y_float_hj | |
VAR_FLOAT z_float_hj | |
VAR_FLOAT takeoff_x_float_hj | |
VAR_FLOAT takeoff_y_float_hj | |
VAR_FLOAT takeoff_z_float_hj | |
VAR_FLOAT jumpend_x_float_hj | |
VAR_FLOAT jumpend_y_float_hj | |
VAR_FLOAT jumpdistance_float_hj | |
VAR_FLOAT heading_hj | |
VAR_FLOAT old_heading_hj | |
VAR_FLOAT heading_difference | |
VAR_FLOAT heading_difference_temp | |
VAR_FLOAT total_rotation | |
VAR_INT CarTwoWheelsTime CarTwoWheelsDistanceMeterInt CarTwoWheelsDistanceDecimalInt CarTwoWheelsDistanceFeetInt | |
VAR_FLOAT CarTwoWheelsDistance CarTwoWheelsDistanceMeter CarTwoWheelsDistanceFeet | |
VAR_INT BikeWheelieTime BikeWheelieDistanceMeterInt BikeWheelieDistanceDecimalInt BikeWheelieDistanceFeetInt | |
VAR_FLOAT BikeWheelieDistance BikeWheelieDistanceMeter BikeWheelieDistanceFeet | |
VAR_INT BikeStoppieTime BikeStoppieDistanceMeterInt BikeStoppieDistanceDecimalInt BikeStoppieDistanceFeetInt | |
VAR_FLOAT BikeStoppieDistance BikeStoppieDistanceMeter BikeStoppieDistanceFeet | |
var_int passenger_said_jump | |
// ****************************************Mission Start************************************ | |
SET_DEATHARREST_STATE OFF | |
SCRIPT_NAME hj | |
mission_start_hj: | |
WAIT 0 | |
IF NOT IS_PLAYER_PLAYING player1 | |
GOTO mission_start_hj | |
ENDIF | |
IF ARE_ANY_CAR_CHEATS_ACTIVATED | |
GOTO mission_start_hj | |
ENDIF | |
IF IS_CHAR_IN_ANY_TRAIN scplayer | |
GOTO mission_start_hj | |
ENDIF | |
IF IS_CHAR_IN_FLYING_VEHICLE scplayer | |
GOTO mission_start_hj | |
ENDIF | |
IF IS_CHAR_IN_ANY_BOAT scplayer | |
GOTO mission_start_hj | |
ENDIF | |
IF IS_CHAR_IN_model scplayer vortex | |
GOTO mission_start_hj | |
ENDIF | |
if not IS_PLAYER_CONTROL_ON player1 | |
GOTO mission_start_hj | |
endif | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
STORE_CAR_CHAR_IS_IN_NO_SAVE scplayer car_player_is_in_hj | |
GET_WHEELIE_STATS player1 CarTwoWheelsTime CarTwoWheelsDistance BikeWheelieTime BikeWheelieDistance BikeStoppieTime BikeStoppieDistance | |
IF CarTwoWheelsDistance > 0.0 | |
CarTwoWheelsTime /= 1000 | |
CarTwoWheelsDistanceMeterInt =# CarTwoWheelsDistance | |
CarTwoWheelsDistanceMeter =# CarTwoWheelsDistanceMeterInt | |
VAR_FLOAT temp_float_hj | |
temp_float_hj = CarTwoWheelsDistance - CarTwoWheelsDistanceMeter | |
temp_float_hj *= 100.0 | |
CarTwoWheelsDistanceDecimalInt =# temp_float_hj | |
cash = CarTwoWheelsTime + CarTwoWheelsDistanceMeterInt | |
cash /= 2 | |
ADD_SCORE player1 cash | |
IF ARE_MEASUREMENTS_IN_METRES | |
PRINT_WITH_4_NUMBERS WHEEL01 cash CarTwoWheelsDistanceMeterInt CarTwoWheelsDistanceDecimalInt CarTwoWheelsTime 3000 1//TWO WHEELS DOUBLE BONUS: $ ~1~ Distance: ~1~.~1~m Time: ~1~ seconds | |
ELSE | |
CONVERT_METRES_TO_FEET CarTwoWheelsDistance CarTwoWheelsDistanceFeet | |
CarTwoWheelsDistanceFeetInt =# CarTwoWheelsDistanceFeet | |
PRINT_WITH_3_NUMBERS WHEEL02 cash CarTwoWheelsDistanceFeetInt CarTwoWheelsTime 3000 1//TWO WHEELS DOUBLE BONUS: $ ~1~ Distance: ~1~ feet Time: ~1~ seconds | |
ENDIF | |
ENDIF | |
IF BikeWheelieDistance > 0.0 | |
BikeWheelieTime /= 1000 | |
BikeWheelieDistanceMeterInt =# BikeWheelieDistance | |
BikeWheelieDistanceMeter =# BikeWheelieDistanceMeterInt | |
temp_float_hj = BikeWheelieDistance - BikeWheelieDistanceMeter | |
temp_float_hj *= 100.0 | |
BikeWheelieDistanceDecimalInt =# temp_float_hj | |
//cash = BikeWheelieTime + BikeWheelieDistanceMeterInt | |
cash = BikeWheelieDistanceMeterInt | |
cash *= 2 | |
cash /= 5 | |
cash /= 2 | |
ADD_SCORE player1 cash | |
IF ARE_MEASUREMENTS_IN_METRES | |
PRINT_WITH_4_NUMBERS WHEEL06 cash BikeWheelieDistanceMeterInt BikeWheelieDistanceDecimalInt BikeWheelieTime 3000 1//WHEELIE DOUBLE BONUS: $ ~1~ Distance: ~1~.~1~m Time: ~1~ seconds | |
ELSE | |
CONVERT_METRES_TO_FEET BikeWheelieDistance BikeWheelieDistanceFeet | |
BikeWheelieDistanceFeetInt =# BikeWheelieDistanceFeet | |
PRINT_WITH_3_NUMBERS WHEEL07 cash BikeWheelieDistanceFeetInt BikeWheelieTime 3000 1//WHEELIE DOUBLE BONUS: $ ~1~ Distance: ~1~ feet Time: ~1~ seconds | |
ENDIF | |
ENDIF | |
IF BikeStoppieDistance > 0.0 | |
BikeStoppieTime /= 1000 | |
BikeStoppieDistanceMeterInt =# BikeStoppieDistance | |
BikeStoppieDistanceMeter =# BikeStoppieDistanceMeterInt | |
temp_float_hj = BikeStoppieDistance - BikeStoppieDistanceMeter | |
temp_float_hj *= 100.0 | |
BikeStoppieDistanceDecimalInt =# temp_float_hj | |
//cash = BikeStoppieTime + BikeStoppieDistanceMeterInt | |
cash = BikeStoppieDistanceMeterInt | |
cash /= 2 | |
ADD_SCORE player1 cash | |
IF ARE_MEASUREMENTS_IN_METRES | |
PRINT_WITH_4_NUMBERS WHEEL11 cash BikeStoppieDistanceMeterInt BikeStoppieDistanceDecimalInt BikeStoppieTime 3000 1//STOPPIE DOUBLE BONUS: $ ~1~ Distance: ~1~.~1~m Time: ~1~ seconds | |
ELSE | |
CONVERT_METRES_TO_FEET BikeStoppieDistance BikeStoppieDistanceFeet | |
BikeStoppieDistanceFeetInt =# BikeStoppieDistanceFeet | |
PRINT_WITH_3_NUMBERS WHEEL12 cash BikeStoppieDistanceFeetInt BikeStoppieTime 3000 1//STOPPIE DOUBLE BONUS: $ ~1~ Distance: ~1~ feet Time: ~1~ seconds | |
ENDIF | |
ENDIF | |
IF IS_CAR_IN_AIR_PROPER car_player_is_in_hj | |
total_rotation_int = 0 | |
heading_hj = 0.0 | |
flag_wheels_hj = 0 | |
counter_stunt_rolls_hj = 0 | |
flag_car_upsidedown_hj = 0 | |
stunt_flags_hj = 0 | |
flag_takeoff_hj = 0 | |
height_int_hj = 0 | |
height_float_hj = -100.0 | |
x_float_hj = 0.0 | |
y_float_hj = 0.0 | |
z_float_hj = 0.0 | |
takeoff_x_float_hj = 0.0 | |
takeoff_y_float_hj = 0.0 | |
takeoff_z_float_hj = 0.0 | |
jumpend_x_float_hj = 0.0 | |
jumpend_y_float_hj = 0.0 | |
jumpdistance_float_hj = 0.0 | |
jumpdistance_int_hj = 0 | |
distance_decimals_int_hj = 0 | |
height_decimals_int_hj = 0 | |
temp_float_hj = 0.0 | |
heading_difference = 0.0 | |
total_rotation = 0.0 | |
heading_difference_temp = 0.0 | |
old_heading_hj = 0.0 | |
collision_counter = 0 | |
passenger_said_jump = 0 | |
WHILE IS_CAR_IN_AIR_PROPER car_player_is_in_hj | |
OR collision_counter < 10 | |
++ collision_counter | |
GET_CAR_COORDINATES car_player_is_in_hj x_float_hj y_float_hj z_float_hj | |
old_heading_hj = heading_hj | |
IF flag_takeoff_hj = 0 | |
GET_CAR_HEADING car_player_is_in_hj old_heading_hj | |
takeoff_x_float_hj = x_float_hj | |
takeoff_y_float_hj = y_float_hj | |
takeoff_z_float_hj = z_float_hj | |
flag_takeoff_hj = 1 | |
ENDIF | |
WAIT 0 | |
IF IS_CAR_DEAD car_player_is_in_hj | |
GOTO mission_start_hj | |
ENDIF | |
IF NOT IS_PLAYER_PLAYING player1 | |
GOTO mission_start_hj | |
ENDIF | |
IF NOT IS_CHAR_IN_ANY_CAR scplayer | |
GOTO mission_start_hj | |
ENDIF | |
IF NOT IS_CAR_UPRIGHT car_player_is_in_hj | |
AND flag_car_upsidedown_hj = 0 | |
flag_car_upsidedown_hj = 1 | |
ENDIF | |
IF IS_CAR_UPRIGHT car_player_is_in_hj | |
AND flag_car_upsidedown_hj = 1 | |
++ counter_stunt_rolls_hj | |
flag_car_upsidedown_hj = 0 | |
ENDIF | |
GET_CAR_HEADING car_player_is_in_hj heading_hj | |
heading_difference = heading_hj - old_heading_hj | |
IF heading_difference > 180.0 | |
heading_difference_temp = heading_difference | |
heading_difference = 360.0 - heading_difference_temp | |
ELSE | |
IF heading_difference < -180.0 | |
heading_difference_temp = heading_difference | |
heading_difference = 360.0 + heading_difference_temp | |
ENDIF | |
ENDIF | |
IF heading_difference < 0.0 | |
heading_difference_temp = heading_difference | |
heading_difference = 0.0 - heading_difference_temp | |
ENDIF | |
total_rotation = total_rotation + heading_difference | |
total_rotation_int =# total_rotation | |
IF z_float_hj > height_float_hj | |
height_float_hj = z_float_hj | |
ENDIF | |
z_float_hj = 0.0 | |
if passenger_said_jump = 0 | |
GET_CAR_COORDINATES car_player_is_in_hj jumpend_x_float_hj jumpend_y_float_hj temp_float_hj | |
get_distance_between_coords_2d takeoff_x_float_hj takeoff_y_float_hj jumpend_x_float_hj jumpend_y_float_hj temp_float_hj | |
if temp_float_hj > 20.0 | |
RANDOM_PASSENGER_SAY car_player_is_in_hj CONTEXT_GLOBAL_CAR_JUMP | |
passenger_said_jump = 1 | |
endif | |
endif | |
ENDWHILE | |
ELSE | |
GOTO mission_start_hj | |
ENDIF | |
ELSE | |
GOTO mission_start_hj | |
ENDIF | |
IF flag_takeoff_hj = 1 | |
GET_CAR_COORDINATES car_player_is_in_hj jumpend_x_float_hj jumpend_y_float_hj temp_float_hj | |
get_distance_between_coords_2d takeoff_x_float_hj takeoff_y_float_hj jumpend_x_float_hj jumpend_y_float_hj jumpdistance_float_hj | |
REGISTER_FLOAT_STAT MAX_JUMP_DISTANCE jumpdistance_float_hj | |
jumpdistance_int_hj =# jumpdistance_float_hj | |
height_float_hj = height_float_hj - takeoff_z_float_hj | |
REGISTER_FLOAT_STAT MAX_JUMP_HEIGHT height_float_hj | |
height_int_hj =# height_float_hj | |
temp_float_hj =# jumpdistance_int_hj | |
jumpdistance_float_hj = jumpdistance_float_hj - temp_float_hj | |
temp_float_hj = jumpdistance_float_hj * 100.0 | |
distance_decimals_int_hj =# temp_float_hj | |
temp_float_hj =# height_int_hj | |
height_float_hj = height_float_hj - temp_float_hj | |
temp_float_hj = height_float_hj * 100.0 | |
height_decimals_int_hj =# temp_float_hj | |
REGISTER_inT_STAT MAX_JUMP_FLIPS counter_stunt_rolls_hj | |
REGISTER_inT_STAT MAX_JUMP_SPINS total_rotation_int | |
ENDIF | |
IF height_float_hj > 4.0 //4 METERS HIGH | |
++ stunt_flags_hj | |
ENDIF | |
IF jumpdistance_int_hj > 40 //40 METERS LONG | |
++ stunt_flags_hj | |
ENDIF | |
IF counter_stunt_rolls_hj > 1 //2 ROLLS/FLIPS IN MID AIR | |
++ stunt_flags_hj | |
ENDIF | |
IF total_rotation_int > 360 //360 SPIN IN MID AIR | |
++ stunt_flags_hj | |
ENDIF | |
IF stunt_flags_hj > 0 | |
cash_reward = counter_stunt_rolls_hj * 180 | |
cash_reward += total_rotation_int | |
cash_reward_temp = jumpdistance_int_hj * 6 | |
cash_reward += cash_reward_temp | |
cash_reward_temp = height_int_hj * 45 | |
cash_reward += cash_reward_temp | |
IF flag_wheels_hj = 1 | |
cash_reward *= 2 | |
ENDIF | |
cash_reward *= stunt_flags_hj | |
cash_reward /= 3 | |
cash_reward /= 5 | |
ADD_SCORE player1 cash_reward | |
IF stunt_flags_hj = 1 | |
PRINT_WITH_NUMBER HJ_IS cash_reward 2000 1 //"INSANE STUNT BONUS" | |
REGISTER_inT_STAT BEST_STUNT 1 | |
ENDIF | |
IF stunt_flags_hj = 2 | |
PRINT_WITH_NUMBER HJ_DIS cash_reward 2000 1 //"DOUBLE INSANE STUNT BONUS" | |
REGISTER_inT_STAT BEST_STUNT 3 | |
ENDIF | |
IF stunt_flags_hj = 3 | |
PRINT_WITH_NUMBER HJ_TIS cash_reward 2000 1 //"TRIPLE INSANE STUNT BONUS" | |
REGISTER_inT_STAT BEST_STUNT 5 | |
ENDIF | |
IF stunt_flags_hj = 4 | |
PRINT_WITH_NUMBER HJ_QIS cash_reward 2000 1 //"QUADRUPLE INSANE STUNT BONUS" | |
REGISTER_inT_STAT BEST_STUNT 7 | |
ENDIF | |
IF ARE_MEASUREMENTS_IN_METRES | |
PRINT_WITH_6_NUMBERS HJSTAT jumpdistance_int_hj distance_decimals_int_hj height_int_hj height_decimals_int_hj counter_stunt_rolls_hj total_rotation_int 5000 5 | |
ELSE | |
CONVERT_METRES_TO_FEET_INT jumpdistance_int_hj jumpdistance_int_hj | |
CONVERT_METRES_TO_FEET_INT height_int_hj height_int_hj | |
PRINT_WITH_4_NUMBERS HJSTATF jumpdistance_int_hj height_int_hj counter_stunt_rolls_hj total_rotation_int 5000 5 | |
ENDIF | |
ENDIF | |
GOTO mission_start_hj | |
MISSION_END | |
MISSION_START | |
SCRIPT_NAME CELLFON | |
// MOBILE PHONECALL | |
VAR_INT flag_mob_la1[10] flag_mob_LA2[4] flag_mob_cat[10] flag_mob_random[12] flag_mob_vegas[17] flag_mob_sanfran[12] loan_shark_reminder loan_shark_hitmen | |
VAR_INT ring_a_ding_ding mobile_pause // flag_mobile_dialogue | |
VAR_INT terminate_cat_calls call_number | |
VAR_INT flag_mobile_timer flag_player_answered_phone Thekeycard_contact_blip | |
VAR_INT flag_new_cont players_skipping_the_call skip_the_mobile_call millies_like_stat | |
VAR_INT call_delay cell_index_start cell_index_end audio_slot_mobile | |
VAR_INT mobile_audio_labels[20] current_visible_area_cell | |
VAR_TEXT_LABEL $mobile_print_labels[20] | |
VAR_FLOAT Returnedfat | |
// SET FLAGS AND VARIABLES | |
skip_the_mobile_call = 0 | |
terminate_cat_calls = 0 | |
flag_new_cont = 0 | |
flag_mobile_timer = 0 | |
flag_player_answered_phone = 0 | |
call_delay = 20000 | |
SET_DEATHARREST_STATE OFF //stops script being terminated if Player dies/arrested | |
//CATALINA | |
CONST_INT CATALINA_MOBILE_CUT2 0 | |
CONST_INT CATALINA_MOBILE_CUT3 1 | |
CONST_INT CATALINA_MOBILE_CUT4 2 | |
CONST_INT CATALINA_MOBILE_CUT5 3 | |
CONST_INT CATALINA_MOBILE_CUT6 4 | |
CONST_INT CATALINA_MOBILE_CUT7 5 | |
//OGLOC | |
CONST_INT OGLOC_MOBILE_CALL3 6 | |
//CESAR | |
CONST_INT CESAR_MOBILE_CALL1 7 | |
CONST_INT CESAR_MOBILE_CALL4 8 | |
CONST_INT CRASH_MOBILE_CALL3 9 | |
CONST_INT CESAR_MOBILE_CALL9 10 | |
//KENDAL | |
CONST_INT KENDAL_MOBILE_CALL1 11 | |
//CRASH | |
CONST_INT CRASH_MOBILE_CALL1 12 | |
CONST_INT CRASH_MOBILE_CALL2 13 | |
//SMOKE | |
CONST_INT SMOKE_MOBILE_CALL1 14 | |
//TRUTH | |
CONST_INT TRUTH_MOBILE_CALL1 15 | |
CONST_INT TRUTH_MOBILE_CALL2 16 | |
CONST_INT TRUTH_MOBILE_CALL3 17 | |
//SWEET | |
CONST_INT SWEET_MOBILE_CALL1 18 | |
CONST_INT SWEET_MOBILE_CALL2 19 | |
CONST_INT SWEET_MOBILE_CALL3 20 | |
CONST_INT SWEET_MOBILE_CALL4 21 | |
CONST_INT SWEET_MOBILE_CALL5 22 | |
CONST_INT SWEET_MOBILE_CALL6 23 | |
CONST_INT SWEET_MOBILE_CALL7 24 | |
CONST_INT SWEET_MOBILE_CALL8 25 | |
CONST_INT SWEET_MOBILE_CALL9 26 | |
CONST_INT SWEET_MOBILE_CALL10 27 | |
CONST_INT SWEET_MOBILE_CALL11 28 | |
//ZERO | |
CONST_INT ZERO_MOBILE_CALL1 29 | |
CONST_INT ZERO_MOBILE_CALL2 30 | |
//JETHRO | |
CONST_INT JETHRO_MOBILE_CALL1 31 | |
CONST_INT JETHRO_MOBILE_CALL2 32 | |
CONST_INT JETHRO_MOBILE_CALL3 33 | |
//WUZI | |
CONST_INT WUZI_MOBILE_CALL1 34 | |
CONST_INT WUZI_MOBILE_CALL3 35 | |
CONST_INT WUZI_MOBILE_CALL4 36 | |
CONST_INT WUZI_MOBILE_CALL5 37 | |
CONST_INT WUZI_MOBILE_CALL6 38 | |
CONST_INT WUZI_MOBILE_CALL7 39 | |
CONST_INT WUZI_MOBILE_CALL8 40 | |
//TORENO | |
CONST_INT TORENO_MOBILE_CALL1 41 | |
CONST_INT TORENO_MOBILE_CALL2 42 | |
CONST_INT TORENO_MOBILE_CALL3 43 | |
CONST_INT TORENO_MOBILE_CALL4 44 | |
CONST_INT TORENO_MOBILE_CALL5 45 | |
CONST_INT TORENO_MOBILE_CALL6 46 | |
//KENT PAUL | |
CONST_INT KENT_MOBILE_CALL1 47 | |
//ROSENBURG | |
CONST_INT ROSE_MOBILE_CALL1 48 | |
CONST_INT ROSE_MOBILE_CALL2 49 | |
CONST_INT ROSE_MOBILE_CALL3 50 | |
//SALVATORY | |
CONST_INT SALV_MOBILE_CALL1 51 | |
CONST_INT SALV_MOBILE_CALL2 52 | |
//MILLIE KEYCARD | |
CONST_INT MILLIE_KEY_MOBILE_CALL1 53 | |
CONST_INT LOANSHARK_CALL1 54 | |
CONST_INT LOANSHARK_CALL2 55 | |
CONST_INT LOANSHARK_CALL3 56 | |
CONST_INT LOANSHARK_CALL4 57 | |
CONST_INT LOANSHARK_CALL5 58 | |
CONST_INT LOANSHARK_CALL6 59 | |
CONST_INT LOANSHARK_CALL7 60 | |
CONST_INT LOANSHARK_CALL8 61 | |
CONST_INT LOANSHARK_CALL9 62 | |
CONST_INT LOANSHARK_CALL10 63 | |
CONST_INT LOANSHARK_CALL11 64 | |
CONST_INT LOANSHARK_CALL12 65 | |
CONST_INT LOANSHARK_CALL13 66 | |
CONST_INT LOANSHARK_CALL14 67 | |
CONST_INT LOANSHARK_CALL15 68 | |
CONST_INT LOANSHARK_CALL16 69 | |
//GIRLFRIENDS | |
CONST_INT COOCHIE_MOBILE 70 | |
CONST_INT COOCHIE_MOBILE2 71 | |
CONST_INT COOCHIE_MOBILE3 72 | |
CONST_INT COOCHIE_MOBILE4 73 | |
CONST_INT COOCHIE_MOBILE5 74 | |
CONST_INT COOCHIE_MOBILE6 75 | |
CONST_INT COOCHIE_MOBILE7 76 | |
CONST_INT COOCHIE_MOBILE8 77 | |
CONST_INT MICHELLE_MOBILE 80 | |
CONST_INT MICHELLE_MOBILE2 81 | |
CONST_INT MICHELLE_MOBILE3 82 | |
CONST_INT MICHELLE_MOBILE4 83 | |
CONST_INT MICHELLE_MOBILE5 84 | |
CONST_INT MICHELLE_MOBILE6 85 | |
CONST_INT MICHELLE_MOBILE7 86 | |
CONST_INT MICHELLE_MOBILE8 87 | |
CONST_INT KYLIE_MOBILE 90 | |
CONST_INT KYLIE_MOBILE2 91 | |
CONST_INT KYLIE_MOBILE3 92 | |
CONST_INT KYLIE_MOBILE4 93 | |
CONST_INT KYLIE_MOBILE5 94 | |
CONST_INT KYLIE_MOBILE6 95 | |
CONST_INT KYLIE_MOBILE7 96 | |
CONST_INT KYLIE_MOBILE8 97 | |
CONST_INT BARBARA_MOBILE 100 | |
CONST_INT BARBARA_MOBILE2 101 | |
CONST_INT BARBARA_MOBILE3 102 | |
CONST_INT BARBARA_MOBILE4 103 | |
CONST_INT BARBARA_MOBILE5 104 | |
CONST_INT BARBARA_MOBILE6 105 | |
CONST_INT BARBARA_MOBILE7 106 | |
CONST_INT BARBARA_MOBILE8 107 | |
CONST_INT SUZIE_MOBILE 110 | |
CONST_INT SUZIE_MOBILE2 111 | |
CONST_INT SUZIE_MOBILE3 112 | |
CONST_INT SUZIE_MOBILE4 113 | |
CONST_INT SUZIE_MOBILE5 114 | |
CONST_INT SUZIE_MOBILE6 115 | |
CONST_INT SUZIE_MOBILE7 116 | |
CONST_INT SUZIE_MOBILE8 117 | |
CONST_INT MILLIE_MOBILE 120 | |
CONST_INT MILLIE_MOBILE2 121 | |
CONST_INT MILLIE_MOBILE3 122 | |
CONST_INT MILLIE_MOBILE4 123 | |
CONST_INT MILLIE_MOBILE5 124 | |
CONST_INT MILLIE_MOBILE6 125 | |
CONST_INT MILLIE_MOBILE7 126 | |
CONST_INT MILLIE_MOBILE8 127 | |
CONST_INT COOCHIE_DUMP 130 | |
CONST_INT MICHELLE_DUMP 131 | |
CONST_INT KYLIE_DUMP 132 | |
CONST_INT BARBARA_DUMP 133 | |
CONST_INT SUZIE_DUMP 134 | |
CONST_INT MILLIE_DUMP 135 | |
mission_start_cell_phone: | |
{ | |
} | |
MISSION_END | |
{ | |
mobile_chat_switch: | |
IF call_number < COOCHIE_MOBILE | |
SWITCH call_number | |
// ***************************************SWEET******************************************************************************************* | |
CASE SWEET_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MSWE14A //Whattup, Sweet? | |
$mobile_print_labels[1] = &MSWE14B //Yo, check it, we got a problem. | |
$mobile_print_labels[2] = &MSWE14C //Some punk ass base head fool has been pushing to his Grove brothers! | |
$mobile_print_labels[3] = &MSWE14D //What? Who? | |
$mobile_print_labels[4] = &MSWE14E //Word is he�s been buying his stuff from some Balla over Glen Park. | |
$mobile_print_labels[5] = &MSWE14F //He knows word�s out and now he�s hiding with his new Balla friends. | |
$mobile_print_labels[6] = &MSWE14G //Shit, man, how are we gonna get to him? | |
$mobile_print_labels[7] = &MSWE14H //It�s time for you to announce your return, CJ! | |
$mobile_print_labels[8] = &MSWE14J //Mess up Glen Park and that turncoat coward will lose his nerve and make a break for it! | |
$mobile_print_labels[9] = &MSWE14K //Ok, I�ll come pick you up. | |
$mobile_print_labels[10] = &MSWE14L //Uh-uh, this is your gig, CJ. You need to establish your rep. | |
$mobile_print_labels[11] = &MSWE14N //Get over to AmmuNation and sort yourself with a proper strap. | |
mobile_audio_labels[0] = SOUND_MSWE14A //Whattup, Sweet? | |
mobile_audio_labels[1] = SOUND_MSWE14B //Yo, check it, we got a problem. | |
mobile_audio_labels[2] = SOUND_MSWE14C //Some punk ass base head fool has been pushing to his Grove brothers! | |
mobile_audio_labels[3] = SOUND_MSWE14D //What? Who? | |
mobile_audio_labels[4] = SOUND_MSWE14E //Word is he�s been buying his stuff from some Balla over Glen Park. | |
mobile_audio_labels[5] = SOUND_MSWE14F //He knows word�s out and now he�s hiding with his new Balla friends. | |
mobile_audio_labels[6] = SOUND_MSWE14G //Shit, man, how are we gonna get to him? | |
mobile_audio_labels[7] = SOUND_MSWE14H //It�s time for you to announce your return, CJ! | |
mobile_audio_labels[8] = SOUND_MSWE14J //Mess up Glen Park and that turncoat coward will lose his nerve and make a break for it. | |
mobile_audio_labels[9] = SOUND_MSWE14K //Ok, I�ll come pick you up. | |
mobile_audio_labels[10] = SOUND_MSWE14L //Uh-uh, this is your gig, CJ. You need to establish your rep. | |
mobile_audio_labels[11] = SOUND_MSWE14N //Get over to AmmuNation and sort yourself with a proper strap. | |
cell_index_end = 11 | |
BREAK | |
CASE SWEET_MOBILE_CALL2 | |
$mobile_print_labels[0] = &MSWE10A //Carl Johnson, man of the people! | |
//$mobile_print_labels[1] = &MSWE10B //So I understand. | |
$mobile_print_labels[1] = &MSWE10D //Thought I better explain some shit. | |
$mobile_print_labels[2] = &MSWE10C //Sweet? Hey, whattup? | |
$mobile_print_labels[3] = &MSWE10E //Since you been away, shit has changed �round here. | |
$mobile_print_labels[4] = &MSWE10F //Grove Street Families ain�t so big and ain�t too happy no more. | |
$mobile_print_labels[5] = &MSWE10G //Seville Boulevard Families and Temple Drive Families got bad blood and split with the Grove. | |
$mobile_print_labels[6] = &MSWE10H //Now we so busy set tripping, Ballas and Vagos have taken over, so watch yo�self out there. | |
//$mobile_print_labels[8] = &MSWE10J //Just coz they wearing greens, don�t mean they gonna be best friends, you down? | |
$mobile_print_labels[7] = &MSWE10K //Yeah, I�m down. | |
$mobile_print_labels[8] = &MSWE10L //Thanks for the heads up. | |
$mobile_print_labels[9] = &MSWE10N //Don�t mention it. | |
mobile_audio_labels[0] = SOUND_MSWE10A //Carl Johnson, man of the people! | |
//mobile_audio_labels[1] = SOUND_MSWE10B //So I understand. | |
mobile_audio_labels[1] = SOUND_MSWE10D //Thought I better explain some shit. | |
mobile_audio_labels[2] = SOUND_MSWE10C //Sweet? Hey, whattup? | |
mobile_audio_labels[3] = SOUND_MSWE10E //Since you been away, shit has changed �round here. | |
mobile_audio_labels[4] = SOUND_MSWE10F //Grove Street Families ain�t so big and ain�t too happy no more. | |
mobile_audio_labels[5] = SOUND_MSWE10G //Seville Boulevard Families and Temple Drive Families got bad blood and split with the Grove. | |
mobile_audio_labels[6] = SOUND_MSWE10H //Now we so busy set tripping, Ballas and Vagos have taken over, so watch yo�self out there. | |
//mobile_audio_labels[8] = SOUND_MSWE10J //Just coz they wearing greens, don�t mean they gonna be best friends, you down? | |
mobile_audio_labels[7] = SOUND_MSWE10K //Yeah, I�m down. | |
mobile_audio_labels[8] = SOUND_MSWE10L //Thanks for the heads up. | |
mobile_audio_labels[9] = SOUND_MSWE10N //Don�t mention it. | |
cell_index_end = 9 | |
BREAK | |
CASE SWEET_MOBILE_CALL3 | |
$mobile_print_labels[0] = &MSWE06A //Yo? | |
$mobile_print_labels[1] = &MSWE06B //Hey, CJ, it�s Sweet. | |
$mobile_print_labels[2] = &MSWE06C //Whassup? | |
$mobile_print_labels[3] = &MSWE06D //If you don�t respect your body, ain�t nobody going to respect you! | |
$mobile_print_labels[4] = &MSWE06E //You�re too skinny, CJ, you need to pack on some muscle! | |
$mobile_print_labels[5] = &MSWE06F //If I wanted nagging, I�d buy a clockwork wife! | |
$mobile_print_labels[6] = &MSWE06G //Just looking out for you, homie. | |
$mobile_print_labels[7] = &MSWE06H //It�s all show and respect, you lnow? | |
$mobile_print_labels[8] = &MSWE06J //Yeah, I guess. | |
$mobile_print_labels[9] = &MSWE06K //There�s a gym I use a couple of blocks out from the Grove. | |
$mobile_print_labels[10] = &MSWE06L //Go check it out and get yo�self a gangsta�s physique. | |
$mobile_print_labels[11] = &MSWE06N //I�ll scope it out. | |
$mobile_print_labels[12] = &MSWE06M //Later, man. | |
mobile_audio_labels[0] = SOUND_MSWE06A //Yo? | |
mobile_audio_labels[1] = SOUND_MSWE06B //Hey, CJ, it�s Sweet. | |
mobile_audio_labels[2] = SOUND_MSWE06C //Whassup? | |
mobile_audio_labels[3] = SOUND_MSWE06D //If you don�t respect your body, ain�t nobody going to respect you! | |
mobile_audio_labels[4] = SOUND_MSWE06E //You�re too skinny, CJ, you need to pack on some muscle! | |
mobile_audio_labels[5] = SOUND_MSWE06F //If I wanted nagging, I�d buy a clockwork wife! | |
mobile_audio_labels[6] = SOUND_MSWE06G //Just looking out for you, homie. | |
mobile_audio_labels[7] = SOUND_MSWE06H //It�s all show and respect, you lnow? | |
mobile_audio_labels[8] = SOUND_MSWE06J //Yeah, I guess. | |
mobile_audio_labels[9] = SOUND_MSWE06K //There�s a gym I use a couple of blocks out from the Grove. | |
mobile_audio_labels[10] = SOUND_MSWE06L //Go check it out and get yo�self a gangsta�s physique. | |
mobile_audio_labels[11] = SOUND_MSWE06N //I�ll scope it out. | |
mobile_audio_labels[12] = SOUND_MSWE06M //Later, man. | |
cell_index_end = 12 | |
BREAK | |
CASE SWEET_MOBILE_CALL4 | |
$mobile_print_labels[0] = &MSWE05A //Whassup? | |
$mobile_print_labels[1] = &MSWE05B //Your fat to muscle ratio, that�s what�s up! | |
$mobile_print_labels[2] = &MSWE05C //Sweet? What you on my back for now? | |
$mobile_print_labels[3] = &MSWE05D //I know we�re mourning moms and all, | |
$mobile_print_labels[4] = &MSWE05E //But there�s no need to let yourself go, CJ. | |
$mobile_print_labels[5] = &MSWE05F //So I put a little weight on, but�. | |
$mobile_print_labels[6] = &MSWE05G //There�s a gym I go to just up a couple of blocks from the Grove. | |
$mobile_print_labels[7] = &MSWE05H //Go check it out. | |
$mobile_print_labels[8] = &MSWE05J //Ok, I�m gonna see what�s up, man. | |
$mobile_print_labels[9] = &MSWE05K //But with the fat jokes, you�re gonna give me a complex. | |
mobile_audio_labels[0] = SOUND_MSWE05A //Whassup? | |
mobile_audio_labels[1] = SOUND_MSWE05B //Your fat to muscle ratio, that�s what�s up! | |
mobile_audio_labels[2] = SOUND_MSWE05C //Sweet? What you on my back for now? | |
mobile_audio_labels[3] = SOUND_MSWE05D //I know we�re mourning moms and all, | |
mobile_audio_labels[4] = SOUND_MSWE05E //But there�s no need to let yourself go, CJ. | |
mobile_audio_labels[5] = SOUND_MSWE05F //So I put a little weight on, but�. | |
mobile_audio_labels[6] = SOUND_MSWE05G //There�s a gym I go to just up a couple of blocks from the Grove. | |
mobile_audio_labels[7] = SOUND_MSWE05H //Go check it out. | |
mobile_audio_labels[8] = SOUND_MSWE05J //Ok, I�m gonna see what�s up, man. | |
mobile_audio_labels[9] = SOUND_MSWE05K //But with the fat jokes, you�re gonna give me a complex. | |
cell_index_end = 9 | |
BREAK | |
CASE SWEET_MOBILE_CALL5 //NEED TO ADD THIS******************************************************************************************* | |
$mobile_print_labels[0] = &MSWE08A //Whattup, bro? | |
$mobile_print_labels[1] = &MSWE08B //CJ, I been thinking. | |
$mobile_print_labels[2] = &MSWE08C //The city�s big, but it ain�t that big. | |
$mobile_print_labels[3] = &MSWE08D //Some fools know where Smoke�s hiding. | |
$mobile_print_labels[4] = &MSWE08E //but as long as the Grove Street Families don�t rule the streets, | |
$mobile_print_labels[5] = &MSWE08F //his money is going to mean more than our rep. | |
$mobile_print_labels[6] = &MSWE08G //What you got in mind? | |
$mobile_print_labels[7] = &MSWE08H //We gotta hit those Ballas and Vagos with everything, | |
$mobile_print_labels[8] = &MSWE08J //Hit every neighborhood they got! | |
$mobile_print_labels[9] = &MSWE08K //If it�s the only way, I�m down for that! | |
$mobile_print_labels[10] = &MSWE08L //I�m gonna see what I can find out on the streets. | |
$mobile_print_labels[11] = &MSWE08N //Big love, bro. | |
$mobile_print_labels[12] = &MSWE08M //Big love, yo. | |
mobile_audio_labels[0] = SOUND_MSWE08A //Whattup, bro? | |
mobile_audio_labels[1] = SOUND_MSWE08B //CJ, I been thinking. | |
mobile_audio_labels[2] = SOUND_MSWE08C //The city�s big, but it ain�t that big. | |
mobile_audio_labels[3] = SOUND_MSWE08D //Some fools know where Smoke�s hiding. | |
mobile_audio_labels[4] = SOUND_MSWE08E //but as long as the Grove Street Families don�t rule the streets, | |
mobile_audio_labels[5] = SOUND_MSWE08F //his money is going to mean more than our rep. | |
mobile_audio_labels[6] = SOUND_MSWE08G //What you got in mind? | |
mobile_audio_labels[7] = SOUND_MSWE08H //We gotta hit those Ballas and Vagos with everything, | |
mobile_audio_labels[8] = SOUND_MSWE08J //Hit every neighborhood they got! | |
mobile_audio_labels[9] = SOUND_MSWE08K //If it�s the only way, I�m down for that! | |
mobile_audio_labels[10] = SOUND_MSWE08L //I�m gonna see what I can find out on the streets. | |
mobile_audio_labels[11] = SOUND_MSWE08N //Big love, bro. | |
mobile_audio_labels[12] = SOUND_MSWE08M //Big love, yo. | |
cell_index_end = 12 | |
BREAK | |
CASE SWEET_MOBILE_CALL6 | |
$mobile_print_labels[0] = &MSWE09A //Carl, it�s Sweet! | |
$mobile_print_labels[1] = &MSWE09B //Hey wassup, you find Smoke? | |
$mobile_print_labels[2] = &MSWE09C //After we dumped on those Ballas the Vagos started to speak. | |
$mobile_print_labels[3] = &MSWE09E //We�ve got him now! | |
$mobile_print_labels[4] = &MSWE09F //He�s hiding in Los Flores, or East Los Santos. | |
$mobile_print_labels[5] = &MSWE09G //Time to saddle up, CJ! | |
$mobile_print_labels[6] = &MSWE09H //Alright, I�ll get you, and then we�ll roll over there. | |
mobile_audio_labels[0] = SOUND_MSWE09A //Carl, it�s Sweet! | |
mobile_audio_labels[1] = SOUND_MSWE09B //Hey wassup, you find Smoke? | |
mobile_audio_labels[2] = SOUND_MSWE09C //After we dumped on those Ballas the Vagos started to speak. | |
mobile_audio_labels[3] = SOUND_MSWE09E //We�ve got him now! | |
mobile_audio_labels[4] = SOUND_MSWE09F //He�s hiding in Los Flores, or East Los Santos. | |
mobile_audio_labels[5] = SOUND_MSWE09G //Time to saddle up, CJ! | |
mobile_audio_labels[6] = SOUND_MSWE09H //Alright, I�ll get you, and then we�ll roll over there. | |
cell_index_end = 6 | |
BREAK | |
CASE SWEET_MOBILE_CALL7 | |
$mobile_print_labels[0] = &MSWE11A //Carl, it�s me. | |
$mobile_print_labels[1] = &MSWE11B //Sweet, what�s going on, man? | |
$mobile_print_labels[2] = &MSWE11C //What do you think is going on? I�m in a prison hospital wing, fool! | |
$mobile_print_labels[3] = &MSWE11D //I know, you alright? | |
$mobile_print_labels[4] = &MSWE11E //Not really, no. | |
$mobile_print_labels[5] = &MSWE11F //You gotta do ssomething, dude. | |
$mobile_print_labels[6] = &MSWE11G //I�m trying, man, just gotta make sure Kendl�s safe first. | |
$mobile_print_labels[7] = &MSWE11H //Ok, man, I gotta go... | |
$mobile_print_labels[8] = &MSWE11J //Don�t worry bro, I ain�t gonna leave you in there. | |
mobile_audio_labels[0] = SOUND_MSWE11A //Carl, it�s me. | |
mobile_audio_labels[1] = SOUND_MSWE11B //Sweet, what�s going on, man? | |
mobile_audio_labels[2] = SOUND_MSWE11C //What do you think is going on? I�m in a prison hospital wing, fool! | |
mobile_audio_labels[3] = SOUND_MSWE11D //I know, you alright? | |
mobile_audio_labels[4] = SOUND_MSWE11E //Not really, no. | |
mobile_audio_labels[5] = SOUND_MSWE11F //You gotta do ssomething, dude. | |
mobile_audio_labels[6] = SOUND_MSWE11G //I�m trying, man, just gotta make sure Kendl�s safe first. | |
mobile_audio_labels[7] = SOUND_MSWE11H //Ok, man, I gotta go... | |
mobile_audio_labels[8] = SOUND_MSWE11J //Don�t worry bro, I ain�t gonna leave you in there. | |
cell_index_end = 8 | |
BREAK | |
CASE SWEET_MOBILE_CALL8 | |
$mobile_print_labels[0] = &MSWE12A //Carl, it�s your brother. | |
$mobile_print_labels[1] = &MSWE12B //What�s up, man, you ok? | |
$mobile_print_labels[2] = &MSWE12C //Not really. | |
$mobile_print_labels[3] = &MSWE12D //I�m stuck in a cell between two lunatics. | |
$mobile_print_labels[4] = &MSWE12E //People keep trying to jump me. | |
$mobile_print_labels[5] = &MSWE12F //This ain�t cool, bro. | |
$mobile_print_labels[6] = &MSWE12G //You looking after Kendl? | |
$mobile_print_labels[7] = &MSWE12H //No, she�s looking after me! | |
$mobile_print_labels[8] = &MSWE12J //Cool | |
$mobile_print_labels[9] = &MSWE12K //But i�m gonna get you out of there! | |
$mobile_print_labels[10] = &MSWE12L //No you ain�t. | |
$mobile_print_labels[11] = &MSWE12N //Who do you think you are? | |
$mobile_print_labels[12] = &MSWE12M //I�m in for life, man, and I guess I�ve grown used to it now. | |
$mobile_print_labels[13] = &MSWE12O //You ain�t, man, I�m working shit out. | |
$mobile_print_labels[14] = &MSWE12P //Whatever it takes. | |
$mobile_print_labels[15] = &MSWE12Q //Nah, man, I�m through with hoping. | |
$mobile_print_labels[16] = &MSWE12R //Have a nice life, brother. | |
$mobile_print_labels[17] = &MSWE12S //No, wait, I got all kinds of shit going down, just hang in there! | |
$mobile_print_labels[18] = &MSWE12T //Sweet? SWEET? | |
$mobile_print_labels[19] = &MSWE12U //Shit.... | |
mobile_audio_labels[0] = SOUND_MSWE12A //Carl, it�s your brother. | |
mobile_audio_labels[1] = SOUND_MSWE12B //What�s up, man, you ok? | |
mobile_audio_labels[2] = SOUND_MSWE12C //Not really. | |
mobile_audio_labels[3] = SOUND_MSWE12D //I�m stuck in a cell between two lunatics. | |
mobile_audio_labels[4] = SOUND_MSWE12E //People keep trying to jump me. | |
mobile_audio_labels[5] = SOUND_MSWE12F //This ain�t cool, bro. | |
mobile_audio_labels[6] = SOUND_MSWE12G //You looking after Kendl? | |
mobile_audio_labels[7] = SOUND_MSWE12H //No, she�s looking after me! | |
mobile_audio_labels[8] = SOUND_MSWE12J //Cool | |
mobile_audio_labels[9] = SOUND_MSWE12K //But i�m gonna get you out of there! | |
mobile_audio_labels[10] = SOUND_MSWE12L //No you ain�t. | |
mobile_audio_labels[11] = SOUND_MSWE12N //Who do you think you are? | |
mobile_audio_labels[12] = SOUND_MSWE12M //I�m in for life, man, and I guess I�ve grown used to it now. | |
mobile_audio_labels[13] = SOUND_MSWE12O //You ain�t, man, I�m working shit out. | |
mobile_audio_labels[14] = SOUND_MSWE12P //Whatever it takes. | |
mobile_audio_labels[15] = SOUND_MSWE12Q //Nah, man, I�m through with hoping. | |
mobile_audio_labels[16] = SOUND_MSWE12R //Have a nice life, brother. | |
mobile_audio_labels[17] = SOUND_MSWE12S //No, wait, I got all kinds of shit going down, just hang in there! | |
mobile_audio_labels[18] = SOUND_MSWE12T //Sweet? SWEET? | |
mobile_audio_labels[19] = SOUND_MSWE12U //Shit.... | |
cell_index_end = 19 | |
BREAK | |
/* | |
[MSWE02A] �Sup? | |
[MSWE02B] CJ, Sweet. | |
[MSWE02C] I thought you were on top of that problem. | |
[MSWE02D] Which problem? | |
[MSWE02E] I got problems knee deep! | |
[MSWE02F] Damn yay pushers all over Ganton. | |
[MSWE02G] I thought you were going to put the time in for yo�hood. | |
[MSWE02H] Tss, don�t sweat me, bro. I�m on it. | |
[MSWE02J] I hope so. | |
[MSWE02K] Lot of homies falling to the rock. | |
[MSWE02L] Like I said, I�m on it. | |
[MSWE03A] Yeah? | |
[MSWE03B] You seen your soldiers recently? | |
[MSWE03C] You seen what the streets are like? | |
[MSWE03D] What you talking about? | |
[MSWE03E] Damn base-heads, that�s what! | |
[MSWE03F] The Grove Street Families needs OG�s, | |
[MSWE03G] Not whacked-out chickenheads! | |
[MSWE03H] They won�t roll when they so high! | |
[MSWE03J] I�ll go see what I can see. | |
[MSWE03K] Well open your eyes this time! | |
[MSWE04A] Wassup? | |
[MSWE04B] What did I tell you about keeping an eye on yo�hood? | |
[MSWE04C] Yeah, my bad. Shit been hectic, man. | |
[MSWE04D] Grove Streets full of cluckers, man. | |
[MSWE04E] Ain�t an OG here ain�t high on yay! | |
[MSWE04F] No motherfucker going to bang when they fried! | |
[MSWE04G] I�ll tell you what. I�m a do a hood patrol, find the pushers, and whack �em. | |
[MSWE04H] Damn straight you will! | |
*/ | |
// ***************************************CATALINA******************************************************************************************* | |
CASE CATALINA_MOBILE_CUT2 | |
//CATALINA MOBILE 2 | |
$mobile_print_labels[0] = &MCAT02A //Heeeello! | |
$mobile_print_labels[1] = &MCAT02B //Why you so cheery? You thought I was one of your cheap whores? | |
$mobile_print_labels[2] = &MCAT02C //Catalina, baby, you gotta chill the fuck out and � | |
$mobile_print_labels[3] = &MCAT02D //I�ll chill out when you get here! | |
$mobile_print_labels[4] = &MCAT02E //You better hope I don�t make testicle kebabs when you arrive! | |
$mobile_print_labels[5] = &MCAT02F //Look, this ain�t- | |
$mobile_print_labels[6] = &MCAT02G //No more talk! | |
$mobile_print_labels[7] = &MCAT02H //Get your ass up here, now! | |
mobile_audio_labels[0] = SOUND_MCAT02A //Heeeello! | |
mobile_audio_labels[1] = SOUND_MCAT02B //Why you so cheery? You thought I was one of your cheap whores? | |
mobile_audio_labels[2] = SOUND_MCAT02C //Catalina, baby, you gotta chill the fuck out and � | |
mobile_audio_labels[3] = SOUND_MCAT02D //I�ll chill out when you get here! | |
mobile_audio_labels[4] = SOUND_MCAT02E //You better hope I don�t make testicle kebabs when you arrive! | |
mobile_audio_labels[5] = SOUND_MCAT02F //Look, this ain�t- | |
mobile_audio_labels[6] = SOUND_MCAT02G //No more talk! | |
mobile_audio_labels[7] = SOUND_MCAT02H //Get your ass up here, now! | |
cell_index_end = 7 | |
BREAK | |
CASE CATALINA_MOBILE_CUT3 | |
//CATALINA MOBILE 3 | |
$mobile_print_labels[0] = &MCAT03A //PIG! | |
$mobile_print_labels[1] = &MCAT03B //Catalina? Is that you? | |
mobile_audio_labels[0] = SOUND_MCAT03A //PIG! | |
mobile_audio_labels[1] = SOUND_MCAT03B //Catalina? Is that you? | |
cell_index_end = 1 | |
BREAK | |
CASE CATALINA_MOBILE_CUT4 | |
//CATALINA MOBILE 4 | |
$mobile_print_labels[0] = &MCAT04A //Yo. | |
$mobile_print_labels[1] = &MCAT04B //Tiny-balled idiota! | |
$mobile_print_labels[2] = &MCAT04C //Catalina! Yo, I know it�s you. What�s eating you, baby? | |
$mobile_print_labels[3] = &MCAT04D //I don�t love you no more! | |
$mobile_print_labels[4] = &MCAT04E //Well hey, let�s just � <click> | |
$mobile_print_labels[5] = &MCAT04F //Hello? | |
mobile_audio_labels[0] = SOUND_MCAT04A //Yo. | |
mobile_audio_labels[1] = SOUND_MCAT04B //Tiny-balled idiota! | |
mobile_audio_labels[2] = SOUND_MCAT04C //Catalina! Yo, I know it�s you. What�s eating you, baby? | |
mobile_audio_labels[3] = SOUND_MCAT04D //I don�t love you no more! | |
mobile_audio_labels[4] = SOUND_MCAT04E //Well hey, let�s just � <click> | |
mobile_audio_labels[5] = SOUND_MCAT04F //Hello? | |
cell_index_end = 5 | |
BREAK | |
CASE CATALINA_MOBILE_CUT5 | |
//CATALINA MOBILE 5 | |
$mobile_print_labels[0] = &MCAT05B //I know it�s you, you stinking perro! | |
$mobile_print_labels[1] = &MCAT05C //Look, just say what you gotta say. | |
$mobile_print_labels[2] = &MCAT05D //I ain�t interested in these stupid games! | |
$mobile_print_labels[3] = &MCAT05E //Stupid games? This is my heart you play with! | |
$mobile_print_labels[4] = &MCAT05F //What? Look, you � <click> | |
$mobile_print_labels[5] = &MCAT05G //Damn! Gotta change my number! | |
mobile_audio_labels[0] = SOUND_MCAT05B //I know it�s you, you stinking perro! | |
mobile_audio_labels[1] = SOUND_MCAT05C //Look, just say what you gotta say. | |
mobile_audio_labels[2] = SOUND_MCAT05D //I ain�t interested in these stupid games! | |
mobile_audio_labels[3] = SOUND_MCAT05E //Stupid games? This is my heart you play with! | |
mobile_audio_labels[4] = SOUND_MCAT05F //What? Look, you � <click> | |
mobile_audio_labels[5] = SOUND_MCAT05G //Damn! Gotta change my number! | |
cell_index_end = 5 | |
BREAK | |
CASE CATALINA_MOBILE_CUT6 | |
//CATALINA MOBILE 6 | |
$mobile_print_labels[0] = &MCAT06A //Hello, Claude, baby. | |
$mobile_print_labels[1] = &MCAT06B //I thought I call to say how much I love you | |
$mobile_print_labels[2] = &MCAT06C //and how well endowered you are! | |
$mobile_print_labels[3] = &MCAT06D //Yo, Catalina, it�s Carl. | |
$mobile_print_labels[4] = &MCAT06E //I think you got the wrong number. | |
$mobile_print_labels[5] = &MCAT06F //Oh, Carl! | |
$mobile_print_labels[6] = &MCAT06G //So sorry, it is such an easy mistake to make, | |
$mobile_print_labels[7] = &MCAT06H //especially when I am so light-headed with love, and lust. | |
$mobile_print_labels[8] = &MCAT06J //Yeah, well I � | |
$mobile_print_labels[9] = &MCAT06K //No time � byeeee! <click> | |
mobile_audio_labels[0] = SOUND_MCAT06A //Hello, Claude, baby. | |
mobile_audio_labels[1] = SOUND_MCAT06B //I thought I call to say how much I love you | |
mobile_audio_labels[2] = SOUND_MCAT06C //and how well endowered you are! | |
mobile_audio_labels[3] = SOUND_MCAT06D //Yo, Catalina, it�s Carl. | |
mobile_audio_labels[4] = SOUND_MCAT06E //I think you got the wrong number. | |
mobile_audio_labels[5] = SOUND_MCAT06F //Oh, Carl! | |
mobile_audio_labels[6] = SOUND_MCAT06G //So sorry, it is such an easy mistake to make, | |
mobile_audio_labels[7] = SOUND_MCAT06H //especially when I am so light-headed with love, and lust. | |
mobile_audio_labels[8] = SOUND_MCAT06J //Yeah, well I � | |
mobile_audio_labels[9] = SOUND_MCAT06K //No time � byeeee! <click> | |
cell_index_end = 9 | |
BREAK | |
CASE CATALINA_MOBILE_CUT7 | |
//CATALINA MOBILE 7 | |
$mobile_print_labels[0] = &MCAT07A //Yo. | |
$mobile_print_labels[1] = &MCAT07B //Heavy breathing. | |
$mobile_print_labels[2] = &MCAT07C //Hello? | |
$mobile_print_labels[3] = &MCAT07D //Yes, Claude, faster, harder, DEEPER! | |
$mobile_print_labels[4] = &MCAT07E //Oh, yes, yes, yes, YES! | |
$mobile_print_labels[5] = &MCAT07F //Catalina! You�re sick! Get help! | |
$mobile_print_labels[6] = &MCAT07G //And you, Carl, you are jealous! <click> | |
mobile_audio_labels[0] = SOUND_MCAT07A //Yo. | |
mobile_audio_labels[1] = SOUND_MCAT07B //Heavy breathing. | |
mobile_audio_labels[2] = SOUND_MCAT07C //Hello? | |
mobile_audio_labels[3] = SOUND_MCAT07D //Yes, Claude, faster, harder, DEEPER! | |
mobile_audio_labels[4] = SOUND_MCAT07E //Oh, yes, yes, yes, YES! | |
mobile_audio_labels[5] = SOUND_MCAT07F //Catalina! You�re sick! Get help! | |
mobile_audio_labels[6] = SOUND_MCAT07G //And you, Carl, you are jealous! <click> | |
cell_index_end = 6 | |
BREAK | |
// ***************************************OG LOC******************************************************************************************* | |
CASE OGLOC_MOBILE_CALL3 | |
//MOB_04 OG LOC CALLS CJ TO PARTY | |
$mobile_print_labels[0] = &MLOC03A //Hey CJ, word up, G! | |
$mobile_print_labels[1] = &MLOC03B //Hey, Loc. | |
$mobile_print_labels[2] = &MLOC03C //Party is humping, we got a gang of crazy assed bitches, | |
$mobile_print_labels[3] = &MLOC03D //you coming over, homes? | |
$mobile_print_labels[4] = &MLOC03E //I don�t know. I had plans tonight. | |
$mobile_print_labels[5] = &MLOC03F //But we had a big disaster. I won�t be rappin�, my mic�s broken! | |
$mobile_print_labels[6] = &MLOC03H //I�ll be over right away. | |
mobile_audio_labels[0] = SOUND_MLOC03A //Hey CJ, word up, G! | |
mobile_audio_labels[1] = SOUND_MLOC03B //Hey, Loc. | |
mobile_audio_labels[2] = SOUND_MLOC03C //Party is humping, we got a gang of crazy assed bitches, | |
mobile_audio_labels[3] = SOUND_MLOC03D //you coming over, homes? | |
mobile_audio_labels[4] = SOUND_MLOC03E //I don�t know. I had plans tonight. | |
mobile_audio_labels[5] = SOUND_MLOC03F //But we had a big disaster. I won�t be rappin�, my mic�s broken! | |
mobile_audio_labels[6] = SOUND_MLOC03H //I�ll be over right away. | |
cell_index_end = 6 | |
BREAK | |
// ***************************************CESAR******************************************************************************************* | |
CASE CESAR_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MCES01A // Hey, who�s this? | |
$mobile_print_labels[1] = &MCES01B // Ese, holmes, is me, Cesar Vialpando. | |
$mobile_print_labels[2] = &MCES01C // Hey, you seen Kendl? | |
$mobile_print_labels[3] = &MCES01D // Yeah, she around. I�m ringing to say you drive good and you like cars, eh. | |
$mobile_print_labels[4] = &MCES01E // Yeah, I guess, where�s this going? | |
$mobile_print_labels[5] = &MCES01F // You wanna make something, a little money? | |
$mobile_print_labels[6] = &MCES01G // Does the Pope shit in the woods? | |
$mobile_print_labels[7] = &MCES01H // I don�t know, but if you do want to make a little extra, there�s plenty money to be made racing. | |
$mobile_print_labels[8] = &MCES01K // You�re talking illegal street racing, yeah? | |
$mobile_print_labels[9] = &MCES01L // Ci. No tacky shit, holmes, lowriders. | |
$mobile_print_labels[10] = &MCES01M // Nice ones. It gotta be nice, or you don�t get in, eh. | |
$mobile_print_labels[11] = &MCES01N // Ok, I�m in. When and where? | |
$mobile_print_labels[12] = &MCES01O // Drop by place in El Corona, I�ll take you to the meet, vouch for you. | |
$mobile_print_labels[13] = &MCES01P // These guys can be very nervous with new racers, eh. | |
mobile_audio_labels[0] = SOUND_MCES01A // Hey, who�s this? | |
mobile_audio_labels[1] = SOUND_MCES01B // Ese, holmes, is me, Cesar Vialpando. | |
mobile_audio_labels[2] = SOUND_MCES01C // Hey, you seen Kendl? | |
mobile_audio_labels[3] = SOUND_MCES01D // Yeah, she around. I�m ringing to say you drive good and you like cars, eh. | |
mobile_audio_labels[4] = SOUND_MCES01E // Yeah, I guess, where�s this going? | |
mobile_audio_labels[5] = SOUND_MCES01F // You wanna make something, a little money? | |
mobile_audio_labels[6] = SOUND_MCES01G // Does the Pope shit in the woods? | |
mobile_audio_labels[7] = SOUND_MCES01H // I don�t know, but if you do want to make a little extra, there�s plenty money to be made racing. | |
mobile_audio_labels[8] = SOUND_MCES01K // You�re talking illegal street racing, yeah? | |
mobile_audio_labels[9] = SOUND_MCES01L // Ci. No tacky shit, holmes, lowriders. | |
mobile_audio_labels[10] = SOUND_MCES01M // Nice ones. It gotta be nice, or you don�t get in, eh. | |
mobile_audio_labels[11] = SOUND_MCES01N // Ok, I�m in. When and where? | |
mobile_audio_labels[12] = SOUND_MCES01O // Drop by place in El Corona, I�ll take you to the meet, vouch for you. | |
mobile_audio_labels[13] = SOUND_MCES01P // These guys can be very nervous with new racers, eh. | |
cell_index_end = 13 | |
BREAK | |
CASE CESAR_MOBILE_CALL4 | |
$mobile_print_labels[0] = &MCES04A // Cesar, it�s me. | |
$mobile_print_labels[1] = &MCES04B // Carl. You alright, holmes? | |
$mobile_print_labels[2] = &MCES04C // Your sister been worried. I heard some shit went down. | |
$mobile_print_labels[3] = &MCES04D // Yeah. Los Santos is dangerous right now. | |
$mobile_print_labels[4] = &MCES04E // I�m out in the middle of� of� I don�t know� | |
$mobile_print_labels[5] = &MCES04F // of Whetstone. Wherever that is. | |
$mobile_print_labels[6] = &MCES04G // Don�t know Whetstone too well. | |
$mobile_print_labels[7] = &MCES04H // I got some family out near there, I think. | |
$mobile_print_labels[8] = &MCES04J // At least you ain�t in jail. | |
//$mobile_print_labels[9] = &MCES04K // Shit�s fucked up with your brother, esse. | |
$mobile_print_labels[9] = &MCES04L // You be careful and look after Kendl. | |
$mobile_print_labels[10] = &MCES04M // Don�t worry about me, man. | |
$mobile_print_labels[11] = &MCES04N // Worry about the man who tries to fuck with my woman. | |
$mobile_print_labels[12] = &MCES04O // I got some back up coming out to protect you. | |
$mobile_print_labels[13] = &MCES04P // My cousin. Really intense, holmes. Trust me. | |
$mobile_print_labels[14] = &MCES04Q // Meet them at the diner in Dillimore over in Red County. | |
$mobile_print_labels[15] = &MCES04R // You won�t miss them. | |
mobile_audio_labels[0] = SOUND_MCES04A // Cesar, it�s me. | |
mobile_audio_labels[1] = SOUND_MCES04B // Carl. You alright, holmes? | |
mobile_audio_labels[2] = SOUND_MCES04C // Your sister been worried. I heard some shit went down. | |
mobile_audio_labels[3] = SOUND_MCES04D // Yeah. Los Santos is dangerous right now. | |
mobile_audio_labels[4] = SOUND_MCES04E // I�m out in the middle of� of� I don�t know� | |
mobile_audio_labels[5] = SOUND_MCES04F // of Whetstone. Wherever that is. | |
mobile_audio_labels[6] = SOUND_MCES04G // Don�t know Whetstone too well. | |
mobile_audio_labels[7] = SOUND_MCES04H // I got some family out near there, I think. | |
mobile_audio_labels[8] = SOUND_MCES04J // At least you ain�t in jail. | |
//mobile_audio_labels[9] = SOUND_MCES04K // Shit�s fucked up with your brother, esse. | |
mobile_audio_labels[9] = SOUND_MCES04L // You be careful and look after Kendl. | |
mobile_audio_labels[10] = SOUND_MCES04M // Don�t worry about me, man. | |
mobile_audio_labels[11] = SOUND_MCES04N // Worry about the man who tries to fuck with my woman. | |
mobile_audio_labels[12] = SOUND_MCES04O // I got some back up coming out to protect you. | |
mobile_audio_labels[13] = SOUND_MCES04P // My cousin. Really intense, holmes. Trust me. | |
mobile_audio_labels[14] = SOUND_MCES04Q // Meet them at the diner in Dillimore over in Red County. | |
mobile_audio_labels[15] = SOUND_MCES04R // You won�t miss them. | |
cell_index_end = 15 | |
BREAK | |
CASE CESAR_MOBILE_CALL9 | |
$mobile_print_labels[0] = &MCES09A // Hey, holmes, I been busy! | |
$mobile_print_labels[1] = &MCES09B // Cesar! Whasup? | |
$mobile_print_labels[2] = &MCES09C // I can smell nitrous oxide from a mile off, eh. | |
$mobile_print_labels[3] = &MCES09D // Racing, my friend. Cars. | |
$mobile_print_labels[4] = &MCES09E // Not beautiful cars, but fast, man, fast! | |
$mobile_print_labels[5] = &MCES09F // What are you talking about? | |
$mobile_print_labels[6] = &MCES09G // Street racers, from San Fierro. | |
$mobile_print_labels[7] = &MCES09H // They meet out here to tear up the black top. | |
//$mobile_print_labels[8] = &MCES09J // No chota, no chota choppers. | |
$mobile_print_labels[8] = &MCES09K // You wanna make some money? | |
$mobile_print_labels[9] = &MCES09L // Does the Pope shit in the woods? | |
$mobile_print_labels[10] = &MCES09M // Why you keep asking me that, holmes? | |
$mobile_print_labels[11] = &MCES09N // I told you, I dunno. Where his holiness shits is his business. | |
$mobile_print_labels[12] = &MCES09O // Just get a fast car and meet me and Kendl just south of Montgomery. | |
$mobile_print_labels[13] = &MCES09P // See you, man. | |
mobile_audio_labels[0] = SOUND_MCES09A // Hey, holmes, I been busy! | |
mobile_audio_labels[1] = SOUND_MCES09B // Cesar! Whasup? | |
mobile_audio_labels[2] = SOUND_MCES09C // I can smell nitrous oxide from a mile off, eh. | |
mobile_audio_labels[3] = SOUND_MCES09D // Racing, my friend. Cars. | |
mobile_audio_labels[4] = SOUND_MCES09E // Not beautiful cars, but fast, man, fast! | |
mobile_audio_labels[5] = SOUND_MCES09F // What are you talking about? | |
mobile_audio_labels[6] = SOUND_MCES09G // Street racers, from San Fierro. | |
mobile_audio_labels[7] = SOUND_MCES09H // They meet out here to tear up the black top. | |
//mobile_audio_labels[8] = SOUND_MCES09J // No chota, no chota choppers. | |
mobile_audio_labels[8] = SOUND_MCES09K // You wanna make some money? | |
mobile_audio_labels[9] = SOUND_MCES09L // Does the Pope shit in the woods? | |
mobile_audio_labels[10] = SOUND_MCES09M // Why you keep asking me that, holmes? | |
mobile_audio_labels[11] = SOUND_MCES09N // I told you, I dunno. Where his holiness shits is his business. | |
mobile_audio_labels[12] = SOUND_MCES09O // Just get a fast car and meet me and Kendl just south of Montgomery. | |
mobile_audio_labels[13] = SOUND_MCES09P // See you, man. | |
cell_index_end = 13 | |
BREAK | |
// ***************************************KENDAL******************************************************************************************* | |
CASE KENDAL_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MKND01A // Yo. | |
$mobile_print_labels[1] = &MKND01B // Loser! | |
$mobile_print_labels[2] = &MKND01C // Yeah, yeah, Kendl. | |
$mobile_print_labels[3] = &MKND01D // Will you ever grow up? | |
$mobile_print_labels[4] = &MKND01E // I will when you will. | |
$mobile_print_labels[5] = &MKND01F // Ok, it�s a deal. | |
$mobile_print_labels[6] = &MKND01G // Tell Cesar next time I�ll be in a faster car! | |
$mobile_print_labels[7] = &MKND01H // It won�t help you � LOSER! | |
$mobile_print_labels[8] = &MKND01J // Goodbye! | |
mobile_audio_labels[0] = SOUND_MKND01A // Yo. | |
mobile_audio_labels[1] = SOUND_MKND01B // Loser! | |
mobile_audio_labels[2] = SOUND_MKND01C // Yeah, yeah, Kendl. | |
mobile_audio_labels[3] = SOUND_MKND01D // Will you ever grow up? | |
mobile_audio_labels[4] = SOUND_MKND01E // I will when you will. | |
mobile_audio_labels[5] = SOUND_MKND01F // Ok, it�s a deal. | |
mobile_audio_labels[6] = SOUND_MKND01G // Tell Cesar next time I�ll be in a faster car! | |
mobile_audio_labels[7] = SOUND_MKND01H // It won�t help you � LOSER! | |
mobile_audio_labels[8] = SOUND_MKND01J // Goodbye! | |
cell_index_end = 8 | |
BREAK | |
// ***************************************CRASH******************************************************************************************* | |
CASE CRASH_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MTEN01A // Wassup? | |
$mobile_print_labels[1] = &MTEN01B // Don�t try and hit me up with that ghetto babble, boy! | |
$mobile_print_labels[2] = &MTEN01C // Officer Tenpenny. How�d you get my number? | |
$mobile_print_labels[3] = &MTEN01D // Ways and means, you piece of shit. You been trying to avoid me? | |
$mobile_print_labels[4] = &MTEN01E // No Sir, just been busy is all. | |
$mobile_print_labels[5] = &MTEN01F // You�re not busy unless you�re doing something for us, you understand? | |
$mobile_print_labels[6] = &MTEN01G // Yeah. Loud and clear. | |
$mobile_print_labels[7] = &MTEN01H // Nice to hear it, Carl. | |
$mobile_print_labels[8] = &MTEN01J // Call in to the doughnut place in the middle of Market � we need to talk. | |
mobile_audio_labels[0] = SOUND_MTEN01A // Wassup? | |
mobile_audio_labels[1] = SOUND_MTEN01B // Don�t try and hit me up with that ghetto babble, boy! | |
mobile_audio_labels[2] = SOUND_MTEN01C // Officer Tenpenny. How�d you get my number? | |
mobile_audio_labels[3] = SOUND_MTEN01D // Ways and means, you piece of shit. You been trying to avoid me? | |
mobile_audio_labels[4] = SOUND_MTEN01E // No Sir, just been busy is all. | |
mobile_audio_labels[5] = SOUND_MTEN01F // You�re not busy unless you�re doing something for us, you understand? | |
mobile_audio_labels[6] = SOUND_MTEN01G // Yeah. Loud and clear. | |
mobile_audio_labels[7] = SOUND_MTEN01H // Nice to hear it, Carl. | |
mobile_audio_labels[8] = SOUND_MTEN01J // Call in to the doughnut place in the middle of Market � we need to talk. | |
cell_index_end = 8 | |
BREAK | |
CASE CRASH_MOBILE_CALL2 | |
$mobile_print_labels[0] = &MTEN02A // Carl! You get that dossier? | |
$mobile_print_labels[1] = &MTEN02B // Yeah I got the damn files. What do you want me to do with them? | |
$mobile_print_labels[2] = &MTEN02C // We need to meet up someplace quiet and take care of things. | |
$mobile_print_labels[3] = &MTEN02D // There�s a ghost town, Las Brujas in the devil�s Castle � you know it? | |
$mobile_print_labels[4] = &MTEN02E // I�ll find it. | |
$mobile_print_labels[5] = &MTEN02F // I know you will, I�ll see you there. | |
mobile_audio_labels[0] = SOUND_MTEN02A // Carl! You get that dossier? | |
mobile_audio_labels[1] = SOUND_MTEN02B // Yeah I got the damn files. What do you want me to do with them? | |
mobile_audio_labels[2] = SOUND_MTEN02C // We need to meet up someplace quiet and take care of things. | |
mobile_audio_labels[3] = SOUND_MTEN02D // There�s a ghost town, Las Brujas in the devil�s Castle � you know it? | |
mobile_audio_labels[4] = SOUND_MTEN02E // I�ll find it. | |
mobile_audio_labels[5] = SOUND_MTEN02F // I know you will, I�ll see you there. | |
cell_index_end = 5 | |
BREAK | |
CASE CRASH_MOBILE_CALL3 | |
$mobile_print_labels[0] = &MHRZ01A //Carl, it's officer Hernandez | |
$mobile_print_labels[1] = &MHRZ01B //Who? | |
$mobile_print_labels[2] = &MHRZ01C //Officer Hernandez. | |
$mobile_print_labels[3] = &MHRZ01D //I work with Tenpenny and Pulaski. | |
$mobile_print_labels[4] = &MHRZ01E //Oh, the bitch, what the hell you want? | |
$mobile_print_labels[5] = &MHRZ01F //Hey, show me some respect, uh, boy. | |
$mobile_print_labels[6] = &MHRZ01G //Go fuck yourself, you just they bitch! | |
$mobile_print_labels[7] = &MHRZ01H //You watch your tone, boy. | |
$mobile_print_labels[8] = &MHRZ01J //Now listen. I've got a message from Officer Tenpenny. | |
$mobile_print_labels[9] = &MHRZ01K //Don't try and leave town, that would be a big mistake. | |
$mobile_print_labels[10] = &MHRZ01L //You hear me? | |
$mobile_print_labels[11] = &MHRZ01M //We're watching you. | |
$mobile_print_labels[12] = &MHRZ01N //Whatever you say, bitch. | |
mobile_audio_labels[0] = SOUND_MHRZ01A //Carl, it's officer Hernandez | |
mobile_audio_labels[1] = SOUND_MHRZ01B //Who? | |
mobile_audio_labels[2] = SOUND_MHRZ01C //Officer Hernandez. | |
mobile_audio_labels[3] = SOUND_MHRZ01D //I work with Tenpenny and Pulaski. | |
mobile_audio_labels[4] = SOUND_MHRZ01E //Oh, the bitch, what the hell you want? | |
mobile_audio_labels[5] = SOUND_MHRZ01F //Hey, show me some respect, uh, boy. | |
mobile_audio_labels[6] = SOUND_MHRZ01G //Go fuck yourself, you just they bitch! | |
mobile_audio_labels[7] = SOUND_MHRZ01H //You watch your tone, boy. | |
mobile_audio_labels[8] = SOUND_MHRZ01J //Now listen. I've got a message from Officer Tenpenny. | |
mobile_audio_labels[9] = SOUND_MHRZ01K //Don't try and leave town, that would be a big mistake. | |
mobile_audio_labels[10] = SOUND_MHRZ01L //You hear me? | |
mobile_audio_labels[11] = SOUND_MHRZ01M //We're watching you. | |
mobile_audio_labels[12] = SOUND_MHRZ01N //Whatever you say, bitch. | |
cell_index_end = 12 | |
BREAK | |
// ***************************************SMOKE******************************************************************************************* | |
CASE SMOKE_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MSMK01A //CARl, it�s smoke. | |
$mobile_print_labels[1] = &MSMK01B //Hey smoke | |
$mobile_print_labels[2] = &MSMK01C //Now Carl, I don�t want you to be taking offence at this or nothing, | |
$mobile_print_labels[3] = &MSMK01D //but I got some advice for you. | |
$mobile_print_labels[4] = &MSMK01E //What? | |
$mobile_print_labels[5] = &MSMK01F //The gym my friend. You�re letting yourself go. | |
$mobile_print_labels[6] = &MSMK01G //That�s a bit much, coming from you. | |
$mobile_print_labels[7] = &MSMK01H //Hey Carl, I�m big boned. But I�m still an athlete. | |
$mobile_print_labels[8] = &MSMK01J //You�re letting yourself go, and to be honest, it breaks my heart. | |
$mobile_print_labels[9] = &MSMK01K //Gimme a break. | |
$mobile_print_labels[10] = &MSMK01L //I�m trying. Trying to help you help yourself, brother. The gym, you hear. | |
$mobile_print_labels[11] = &MSMK01M //Screw you. | |
mobile_audio_labels[0] = SOUND_MSMK01A //CARl, it�s smoke. | |
mobile_audio_labels[1] = SOUND_MSMK01B //Hey smoke | |
mobile_audio_labels[2] = SOUND_MSMK01C //Now Carl, I don�t want you to be taking offence at this or nothing, | |
mobile_audio_labels[3] = SOUND_MSMK01D //but I got some advice for you. | |
mobile_audio_labels[4] = SOUND_MSMK01E //What? | |
mobile_audio_labels[5] = SOUND_MSMK01F //The gym my friend. You�re letting yourself go. | |
mobile_audio_labels[6] = SOUND_MSMK01G //That�s a bit much, coming from you. | |
mobile_audio_labels[7] = SOUND_MSMK01H //Hey Carl, I�m big boned. But I�m still an athlete. | |
mobile_audio_labels[8] = SOUND_MSMK01J //You�re letting yourself go, and to be honest, it breaks my heart. | |
mobile_audio_labels[9] = SOUND_MSMK01K //Gimme a break. | |
mobile_audio_labels[10] = SOUND_MSMK01L //I�m trying. Trying to help you help yourself, brother. The gym, you hear. | |
mobile_audio_labels[11] = SOUND_MSMK01M //Screw you. | |
cell_index_end = 11 | |
BREAK | |
// ***************************************TRUTH******************************************************************************************* | |
CASE TRUTH_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MTRU01A //Yes. | |
$mobile_print_labels[1] = &MTRU01B //Carl. | |
$mobile_print_labels[2] = &MTRU01C //Who is this? | |
$mobile_print_labels[3] = &MTRU01D //You know me. This is The Truth | |
$mobile_print_labels[4] = &MTRU01E //No, I don�t. | |
$mobile_print_labels[5] = &MTRU01F //Perfection. They said you were a moron. | |
$mobile_print_labels[6] = &MTRU01G //Who? | |
$mobile_print_labels[7] = &MTRU01H //Okay, you can drop the act now, kid. | |
$mobile_print_labels[8] = &MTRU01J //Are you the police? | |
$mobile_print_labels[9] = &MTRU01K //No. We have a mutual friend, and business partner. | |
$mobile_print_labels[10] = &MTRU01L //We do? Who? | |
$mobile_print_labels[11] = &MTRU01M //Yes. Have you killed any cops lately? | |
$mobile_print_labels[12] = &MTRU01N //Oh, god! | |
$mobile_print_labels[13] = &MTRU01O //So, I�ve got a room at a motel in Angel Pine. | |
$mobile_print_labels[14] = &MTRU01P //Make sure nobody follows you. | |
mobile_audio_labels[0] = SOUND_MTRU01A //Yes. | |
mobile_audio_labels[1] = SOUND_MTRU01B //Carl. | |
mobile_audio_labels[2] = SOUND_MTRU01C //Who is this? | |
mobile_audio_labels[3] = SOUND_MTRU01D //You know me. This is The Truth | |
mobile_audio_labels[4] = SOUND_MTRU01E //No, I don�t. | |
mobile_audio_labels[5] = SOUND_MTRU01F //Perfection. They said you were a moron. | |
mobile_audio_labels[6] = SOUND_MTRU01G //Who? | |
mobile_audio_labels[7] = SOUND_MTRU01H //Okay, you can drop the act now, kid. | |
mobile_audio_labels[8] = SOUND_MTRU01J //Are you the police? | |
mobile_audio_labels[9] = SOUND_MTRU01K //No. We have a mutual friend, and business partner. | |
mobile_audio_labels[10] = SOUND_MTRU01L //We do? Who? | |
mobile_audio_labels[11] = SOUND_MTRU01M //Yes. Have you killed any cops lately? | |
mobile_audio_labels[12] = SOUND_MTRU01N //Oh, god! | |
mobile_audio_labels[13] = SOUND_MTRU01O //So, I�ve got a room at a motel in Angel Pine. | |
mobile_audio_labels[14] = SOUND_MTRU01P //Make sure nobody follows you. | |
cell_index_end = 14 | |
BREAK | |
CASE TRUTH_MOBILE_CALL2 | |
$mobile_print_labels[0] = &MTRU02A //Whattup? | |
$mobile_print_labels[1] = &MTRU02B //Hey, Carl. Now, I got that little mwah mwah you were after. | |
$mobile_print_labels[2] = &MTRU02C //But, be careful. People are listening to us. | |
$mobile_print_labels[3] = &MTRU02D //I got a little green village up in the hills, come and get it. | |
$mobile_print_labels[4] = &MTRU02E //I don�t know you! I don�t know you! | |
$mobile_print_labels[5] = &MTRU02F //Prank caller! Prank caller! | |
mobile_audio_labels[0] = SOUND_MTRU02A //Whattup? | |
mobile_audio_labels[1] = SOUND_MTRU02B //Hey, Carl. Now, I got that little mwah mwah you were after. | |
mobile_audio_labels[2] = SOUND_MTRU02C //But, be careful. People are listening to us. | |
mobile_audio_labels[3] = SOUND_MTRU02D //I got a little green village up in the hills, come and get it. | |
mobile_audio_labels[4] = SOUND_MTRU02E //I don�t know you! I don�t know you! | |
mobile_audio_labels[5] = SOUND_MTRU02F //Prank caller! Prank caller! | |
cell_index_end = 5 | |
BREAK | |
CASE TRUTH_MOBILE_CALL3 | |
$mobile_print_labels[0] = &MTRU03A //Hey | |
$mobile_print_labels[1] = &MTRU03B //Carl. It�s me. The Truth. We got a date with destiny, man | |
$mobile_print_labels[2] = &MTRU03C //In about five minutes. | |
$mobile_print_labels[3] = &MTRU03D //Where are you? | |
$mobile_print_labels[4] = &MTRU03E //At the old airplane graveyard you�ve been hanging around. | |
mobile_audio_labels[0] = SOUND_MTRU03A //Hey | |
mobile_audio_labels[1] = SOUND_MTRU03B //Carl. It�s me. The Truth. We got a date with destiny, man | |
mobile_audio_labels[2] = SOUND_MTRU03C //In about five minutes. | |
mobile_audio_labels[3] = SOUND_MTRU03D //Where are you? | |
mobile_audio_labels[4] = SOUND_MTRU03E //At the old airplane graveyard you�ve been hanging around. | |
cell_index_end = 4 | |
BREAK | |
// ***************************************WUZI******************************************************************************************* | |
CASE WUZI_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MWUZ00A //Whattup? | |
$mobile_print_labels[1] = &MWUZ00B //Hey Carl, it�s Woozie. | |
$mobile_print_labels[2] = &MWUZ00C //Hey, if you got some time I�d like for you to come over so we can talk about something. | |
$mobile_print_labels[3] = &MWUZ00D //Yeah, sure. Where can I find you? | |
$mobile_print_labels[4] = &MWUZ00E //I own a little betting shop in China Town. | |
$mobile_print_labels[5] = &MWUZ00F //Just come �round and introduce yourself. | |
$mobile_print_labels[6] = &MWUZ00G //My people will be expecting a visit. | |
$mobile_print_labels[7] = &MWUZ00H //It�s a plan, man. | |
$mobile_print_labels[8] = &MWUZ00J //Later, dude. | |
mobile_audio_labels[0] = SOUND_MWUZ00A //Whattup? | |
mobile_audio_labels[1] = SOUND_MWUZ00B //Hey Carl, it�s Woozie. | |
mobile_audio_labels[2] = SOUND_MWUZ00C //Hey, if you got some time I�d like for you to come over so we can talk about something. | |
mobile_audio_labels[3] = SOUND_MWUZ00D //Yeah, sure. Where can I find you? | |
mobile_audio_labels[4] = SOUND_MWUZ00E //I own a little betting shop in China Town. | |
mobile_audio_labels[5] = SOUND_MWUZ00F //Just come �round and introduce yourself. | |
mobile_audio_labels[6] = SOUND_MWUZ00G //My people will be expecting a visit. | |
mobile_audio_labels[7] = SOUND_MWUZ00H //It�s a plan, man. | |
mobile_audio_labels[8] = SOUND_MWUZ00J //Later, dude. | |
cell_index_end = 8 | |
BREAK | |
CASE WUZI_MOBILE_CALL3 | |
$mobile_print_labels[0] = &MWUZ03A //Hello? | |
$mobile_print_labels[1] = &MWUZ03B //Carl, it�s Woozie! | |
$mobile_print_labels[2] = &MWUZ03C //Hey, Woozie, man, what you been up to, dude? | |
$mobile_print_labels[3] = &MWUZ03D //Come along and see for yourself. | |
$mobile_print_labels[4] = &MWUZ03E //I got a little business proposition for you. | |
$mobile_print_labels[5] = &MWUZ03F //Come over and see the setup, my friend. | |
$mobile_print_labels[6] = &MWUZ03G //Ok, sure, I�d like that! | |
$mobile_print_labels[7] = &MWUZ03H //Like it? You�re gonna love it! | |
$mobile_print_labels[8] = &MWUZ03J //It�s the Four Dragons Casino in Las Venturas. | |
$mobile_print_labels[9] = &MWUZ03K //I�ll see you soon, yeah? | |
$mobile_print_labels[10] = &MWUZ03L //Sure thing, dude. | |
mobile_audio_labels[0] = SOUND_MWUZ03A //Hello? | |
mobile_audio_labels[1] = SOUND_MWUZ03B //Carl, it�s Woozie! | |
mobile_audio_labels[2] = SOUND_MWUZ03C //Hey, Woozie, man, what you been up to, dude? | |
mobile_audio_labels[3] = SOUND_MWUZ03D //Come along and see for yourself. | |
mobile_audio_labels[4] = SOUND_MWUZ03E //I got a little business proposition for you. | |
mobile_audio_labels[5] = SOUND_MWUZ03F //Come over and see the setup, my friend. | |
mobile_audio_labels[6] = SOUND_MWUZ03G //Ok, sure, I�d like that! | |
mobile_audio_labels[7] = SOUND_MWUZ03H //Like it? You�re gonna love it! | |
mobile_audio_labels[8] = SOUND_MWUZ03J //It�s the Four Dragons Casino in Las Venturas. | |
mobile_audio_labels[9] = SOUND_MWUZ03K //I�ll see you soon, yeah? | |
mobile_audio_labels[10] = SOUND_MWUZ03L //Sure thing, dude. | |
cell_index_end = 10 | |
BREAK | |
CASE WUZI_MOBILE_CALL4 | |
$mobile_print_labels[0] = &MWUZ03B //Carl, it�s Woozie! | |
$mobile_print_labels[1] = &MWUZ05B //Whattup, dude? | |
$mobile_print_labels[2] = &MWUZ05C //You get that pass key yet? | |
$mobile_print_labels[3] = &MWUZ05D //No, I�m working on it. | |
$mobile_print_labels[4] = &MWUZ05E //What�s the problem, friend? | |
$mobile_print_labels[5] = &MWUZ05F //Just get her in the sack, make her happy and grab the card! | |
$mobile_print_labels[6] = &MWUZ05G //Hey, you can�t rush the seduction of a lady! | |
$mobile_print_labels[7] = &MWUZ05H //(laugh) okay, just gimme a call when you�ve got it. | |
$mobile_print_labels[8] = &MWUZ05J //Will do. | |
mobile_audio_labels[0] = SOUND_MWUZ03B //Carl, it�s Woozie! | |
mobile_audio_labels[1] = SOUND_MWUZ05B //Whattup, dude? | |
mobile_audio_labels[2] = SOUND_MWUZ05C //You get that pass key yet? | |
mobile_audio_labels[3] = SOUND_MWUZ05D //No, I�m working on it. | |
mobile_audio_labels[4] = SOUND_MWUZ05E //What�s the problem, friend? | |
mobile_audio_labels[5] = SOUND_MWUZ05F //Just get her in the sack, make her happy and grab the card! | |
mobile_audio_labels[6] = SOUND_MWUZ05G //Hey, you can�t rush the seduction of a lady! | |
mobile_audio_labels[7] = SOUND_MWUZ05H //(laugh) okay, just gimme a call when you�ve got it. | |
mobile_audio_labels[8] = SOUND_MWUZ05J //Will do. | |
cell_index_end = 8 | |
BREAK | |
CASE WUZI_MOBILE_CALL5 | |
$mobile_print_labels[0] = &MWUZ07A //Carl, it�s me. | |
$mobile_print_labels[1] = &MWUZ07B //You the man! | |
$mobile_print_labels[2] = &MWUZ07C //Get back to the Four Dragons and we can get on with this thing! | |
$mobile_print_labels[3] = &MWUZ07D //See you in five. | |
mobile_audio_labels[0] = SOUND_MWUZ07A //Carl, it�s me. | |
mobile_audio_labels[1] = SOUND_MWUZ07B //You the man! | |
mobile_audio_labels[2] = SOUND_MWUZ07C //Get back to the Four Dragons and we can get on with this thing! | |
mobile_audio_labels[3] = SOUND_MWUZ07D //See you in five. | |
cell_index_end = 3 | |
BREAK | |
CASE WUZI_MOBILE_CALL6 | |
$mobile_print_labels[0] = &MWUZ04A //Yellow? | |
$mobile_print_labels[1] = &MWUZ04B //Hey, CJ, what�s up with you? | |
$mobile_print_labels[2] = &MWUZ04C //Are we doing this heist or are you going soft on me again. | |
$mobile_print_labels[3] = &MWUZ04D //Yo, check it, those three fools have been shipped out of Venturas, | |
$mobile_print_labels[4] = &MWUZ04E //Salvatore thinks I�m cool, so we�re on! | |
$mobile_print_labels[5] = &MWUZ04F //I�ll meet you back at the �Dragons. | |
$mobile_print_labels[6] = &MWUZ04G //Ok, cool. | |
$mobile_print_labels[7] = &MWUZ04H //Later. | |
mobile_audio_labels[0] = SOUND_MWUZ04A //Yellow? | |
mobile_audio_labels[1] = SOUND_MWUZ04B //Hey, CJ, what�s up with you? | |
mobile_audio_labels[2] = SOUND_MWUZ04C //Are we doing this heist or are you going soft on me again. | |
mobile_audio_labels[3] = SOUND_MWUZ04D //Yo, check it, those three fools have been shipped out of Venturas, | |
mobile_audio_labels[4] = SOUND_MWUZ04E //Salvatore thinks I�m cool, so we�re on! | |
mobile_audio_labels[5] = SOUND_MWUZ04F //I�ll meet you back at the �Dragons. | |
mobile_audio_labels[6] = SOUND_MWUZ04G //Ok, cool. | |
mobile_audio_labels[7] = SOUND_MWUZ04H //Later. | |
cell_index_end = 7 | |
BREAK | |
CASE WUZI_MOBILE_CALL7 | |
$mobile_print_labels[0] = &MWUZ06A //Hello? | |
$mobile_print_labels[1] = &MWUZ06B //What�s the hold up with that security pass, CJ? | |
$mobile_print_labels[2] = &MWUZ06C //There�s been a slight setback. | |
$mobile_print_labels[3] = &MWUZ06D //What kind of setback? | |
$mobile_print_labels[4] = &MWUZ09E //Well, more of a romantic fuck up. | |
$mobile_print_labels[5] = &MWUZ09F //It�s Millie, she�s dumped me. | |
$mobile_print_labels[6] = &MWUZ06G //What the fuck? How? | |
$mobile_print_labels[7] = &MWUZ06H //Well, we were hanging out and shit got fucked up. | |
$mobile_print_labels[8] = &MWUZ06J //That�s all I�m sayin�. | |
$mobile_print_labels[9] = &MWUZ09H //I know, I know, how could she dump a catch like me? | |
$mobile_print_labels[10] = &MWUZ09J //There�s no accounting for taste. | |
$mobile_print_labels[11] = &MWUZ06K //Well her pass will probably be in her house! | |
$mobile_print_labels[12] = &MWUZ06L //You gotta break in and get it! | |
$mobile_print_labels[13] = &MWUZ06M //Shit, you�re right. | |
$mobile_print_labels[14] = &MWUZ06N //I�ll call when I�ve got the card. | |
mobile_audio_labels[0] = SOUND_MWUZ06A //Hello? | |
mobile_audio_labels[1] = SOUND_MWUZ06B //What�s the hold up with that security pass, CJ? | |
mobile_audio_labels[2] = SOUND_MWUZ06C //There�s been a slight setback. | |
mobile_audio_labels[3] = SOUND_MWUZ06D //What kind of setback? | |
mobile_audio_labels[4] = SOUND_MWUZ09E //Well, more of a romantic fuck up. | |
mobile_audio_labels[5] = SOUND_MWUZ09F //It�s Millie, she�s dumped me. | |
mobile_audio_labels[6] = SOUND_MWUZ06G //What the fuck? How? | |
mobile_audio_labels[7] = SOUND_MWUZ06H //Well, we were hanging out and shit got fucked up. | |
mobile_audio_labels[8] = SOUND_MWUZ06J //That�s all I�m sayin�. | |
mobile_audio_labels[9] = SOUND_MWUZ09H //I know, I know, how could she dump a catch like me? | |
mobile_audio_labels[10] = SOUND_MWUZ09J //There�s no accounting for taste. | |
mobile_audio_labels[11] = SOUND_MWUZ06K //Well her pass will probably be in her house! | |
mobile_audio_labels[12] = SOUND_MWUZ06L //You gotta break in and get it! | |
mobile_audio_labels[13] = SOUND_MWUZ06M //Shit, you�re right. | |
mobile_audio_labels[14] = SOUND_MWUZ06N //I�ll call when I�ve got the card. | |
cell_index_end = 14 | |
BREAK | |
CASE WUZI_MOBILE_CALL8 | |
$mobile_print_labels[0] = &MWUZ06A //Hello? | |
$mobile_print_labels[1] = &MWUZ06B //What�s the hold up with that security pass, CJ? | |
$mobile_print_labels[2] = &MWUZ06C //There�s been a slight setback. | |
$mobile_print_labels[3] = &MWUZ06D //What kind of setback? | |
$mobile_print_labels[4] = &MWUZ06E //Well, more of an unfortunate accident. | |
$mobile_print_labels[5] = &MWUZ06F //It�s Millie, she�s dead. | |
$mobile_print_labels[6] = &MWUZ06G //What the fuck? How? | |
$mobile_print_labels[7] = &MWUZ06H //Well, we were hanging out and shit got fucked up. | |
$mobile_print_labels[8] = &MWUZ06J //That�s all I�m sayin�. | |
$mobile_print_labels[9] = &MWUZ06K //Well her pass will probably be in her house! | |
$mobile_print_labels[10] = &MWUZ06L //You gotta break in and get it! | |
$mobile_print_labels[11] = &MWUZ06M //Shit, you�re right. | |
$mobile_print_labels[12] = &MWUZ06N //I�ll call when I�ve got the card. | |
mobile_audio_labels[0] = SOUND_MWUZ06A //Hello? | |
mobile_audio_labels[1] = SOUND_MWUZ06B //What�s the hold up with that security pass, CJ? | |
mobile_audio_labels[2] = SOUND_MWUZ06C //There�s been a slight setback. | |
mobile_audio_labels[3] = SOUND_MWUZ06D //What kind of setback? | |
mobile_audio_labels[4] = SOUND_MWUZ06E //Well, more of an unfortunate accident. | |
mobile_audio_labels[5] = SOUND_MWUZ06F //It�s Millie, she�s dead. | |
mobile_audio_labels[6] = SOUND_MWUZ06G //What the fuck? How? | |
mobile_audio_labels[7] = SOUND_MWUZ06H //Well, we were hanging out and shit got fucked up. | |
mobile_audio_labels[8] = SOUND_MWUZ06J //That�s all I�m sayin�. | |
mobile_audio_labels[9] = SOUND_MWUZ06K //Well her pass will probably be in her house! | |
mobile_audio_labels[10] = SOUND_MWUZ06L //You gotta break in and get it! | |
mobile_audio_labels[11] = SOUND_MWUZ06M //Shit, you�re right. | |
mobile_audio_labels[12] = SOUND_MWUZ06N //I�ll call when I�ve got the card. | |
cell_index_end = 12 | |
BREAK | |
// ***************************************TORINO******************************************************************************************* | |
CASE TORENO_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MTOR01A //Yes? | |
$mobile_print_labels[1] = &MTOR01B //This is a friend of yours. | |
$mobile_print_labels[2] = &MTOR01C //I�ve got some information relating to your brother. | |
$mobile_print_labels[3] = &MTOR01D //Come to the my ranch and I�ll explain. | |
$mobile_print_labels[4] = &MTOR01E //It�s in Tierra Robada, cross the Garver Bridge and head South. | |
$mobile_print_labels[5] = &MTOR01F //Who the fuck is this? | |
$mobile_print_labels[6] = &MTOR01G //I can�t talk right now. Get your ass over here. | |
$mobile_print_labels[7] = &MTOR01H //Moms always told me not to talk to strangers. | |
$mobile_print_labels[8] = &MTOR01J //And look what happened to her! Now if you want your brother to sleep tonight with his tongue intact, get over here! | |
$mobile_print_labels[9] = &MTOR01K //Now if you want brother to sleep tonight with his tongue intact get your ass over here, now. | |
$mobile_print_labels[10] = &MTOR01L //Goodbye. | |
mobile_audio_labels[0] = SOUND_MTOR01A //Yes? | |
mobile_audio_labels[1] = SOUND_MTOR01B //This is a friend of yours. | |
mobile_audio_labels[2] = SOUND_MTOR01C //I�ve got some information relating to your brother. | |
mobile_audio_labels[3] = SOUND_MTOR01D //Come to the my ranch and I�ll explain. | |
mobile_audio_labels[4] = SOUND_MTOR01E //It�s in Tierra Robada, cross the Garver Bridge and head South. | |
mobile_audio_labels[5] = SOUND_MTOR01F //Who the fuck is this? | |
mobile_audio_labels[6] = SOUND_MTOR01G //I can�t talk right now. Get your ass over here. | |
mobile_audio_labels[7] = SOUND_MTOR01H //Moms always told me not to talk to strangers. | |
mobile_audio_labels[8] = SOUND_MTOR01J //And look what happened to her! Now if you want your brother to sleep tonight with his tongue | |
mobile_audio_labels[9] = SOUND_MTOR01K //Now if you want brother to sleep tonight with his tongue intact get your ass over here, now. | |
mobile_audio_labels[10] = SOUND_MTOR01L //Goodbye. | |
cell_index_end = 10 | |
BREAK | |
CASE TORENO_MOBILE_CALL2 | |
$mobile_print_labels[0] = &MTOR02A //Who the fuck is this? | |
$mobile_print_labels[1] = &MTOR02B //Son, get back to the ranch and I�ll explain everything. | |
$mobile_print_labels[2] = &MTOR02C //And I mean everything. | |
$mobile_print_labels[3] = &MTOR02D //Can�t you just tell me now? | |
$mobile_print_labels[4] = &MTOR02E //I guess not. | |
mobile_audio_labels[0] = SOUND_MTOR02A //Who the fuck is this? | |
mobile_audio_labels[1] = SOUND_MTOR02B //Son, get back to the ranch and I�ll explain everything. | |
mobile_audio_labels[2] = SOUND_MTOR02C //And I mean everything. | |
mobile_audio_labels[3] = SOUND_MTOR02D //Can�t you just tell me now? | |
mobile_audio_labels[4] = SOUND_MTOR02E //I guess not. | |
cell_index_end = 4 | |
BREAK | |
CASE TORENO_MOBILE_CALL3 | |
$mobile_print_labels[0] = &MTOR03A //Here. Now. Don�t screw around. | |
$mobile_print_labels[1] = &MTOR03B //Asshole! | |
mobile_audio_labels[0] = SOUND_MTOR03A //Here. Now. Don�t screw around. | |
mobile_audio_labels[1] = SOUND_MTOR03B //Asshole! | |
cell_index_end = 1 | |
BREAK | |
CASE TORENO_MOBILE_CALL4 | |
$mobile_print_labels[0] = &MTOR05A //Hey, wassup? | |
$mobile_print_labels[1] = &MTOR05B //Hey, how�s the flying coming along? | |
$mobile_print_labels[2] = &MTOR05C //Yeah, well shit man, I was gonna holla at you about that cause, you know, I�m- | |
$mobile_print_labels[3] = &MTOR05D //(laugh) Will you listen to yourself? Admit it, you�re scared. | |
$mobile_print_labels[4] = &MTOR05E //Just a little. | |
$mobile_print_labels[5] = &MTOR05F //Unitl you�ve walked into the middle of Bedouin arms dealer�s camp with nothing but a briefcase full of cash, | |
$mobile_print_labels[6] = &MTOR05G //you don�t don�t know the meaning of fear, okay? | |
$mobile_print_labels[7] = &MTOR05H //Oh yeah? Try going to the swap meet in Idlewood sometime. | |
$mobile_print_labels[8] = &MTOR05J //Learn to fly, Carl. | |
mobile_audio_labels[0] = SOUND_MTOR05A //Hey, wassup? | |
mobile_audio_labels[1] = SOUND_MTOR05B //Hey, how�s the flying coming along? | |
mobile_audio_labels[2] = SOUND_MTOR05C //Yeah, well shit man, I was gonna holla at you about that cause, you know, I�m- | |
mobile_audio_labels[3] = SOUND_MTOR05D //(laugh) Will you listen to yourself? Admit it, you�re scared. | |
mobile_audio_labels[4] = SOUND_MTOR05E //Just a little. | |
mobile_audio_labels[5] = SOUND_MTOR05F //Unitl you�ve walked into the middle of Bedouin arms dealer�s camp with nothing but a briefcase full of cash, | |
mobile_audio_labels[6] = SOUND_MTOR05G //you don�t don�t know the meaning of fear, okay? | |
mobile_audio_labels[7] = SOUND_MTOR05H //Oh yeah? Try going to the swap meet in Idlewood sometime. | |
mobile_audio_labels[8] = SOUND_MTOR05J //Learn to fly, Carl. | |
cell_index_end = 8 | |
BREAK | |
CASE TORENO_MOBILE_CALL5 | |
$mobile_print_labels[0] = &MTOR06A //What do you want, Toreno? | |
$mobile_print_labels[1] = &MTOR06B //Well, what do you want, Carl? | |
$mobile_print_labels[2] = &MTOR06C //You want your brother out of jail? | |
$mobile_print_labels[3] = &MTOR06D //Ok, listen, I�m trying man, I really am, I guess I�m not a natural pilot, that�s all. | |
$mobile_print_labels[4] = &MTOR06E //I'm gonna let you in on a little secret. Carl | |
$mobile_print_labels[5] = &MTOR06F //The one difference between those that tried and died | |
$mobile_print_labels[6] = &MTOR06G //and those that still walk this Earth, is belief in self | |
$mobile_print_labels[7] = &MTOR06H //Nothing is impossible, Carl. | |
$mobile_print_labels[8] = &MTOR06J //Beat your fears, focus your mind and learn to fly. | |
$mobile_print_labels[9] = &MTOR06K //Ok, ok, I�ll- | |
$mobile_print_labels[10] = &MTOR06L //TORENO? | |
$mobile_print_labels[11] = &MTOR06M //Oh shit� | |
mobile_audio_labels[0] = SOUND_MTOR06A //What do you want, Toreno? | |
mobile_audio_labels[1] = SOUND_MTOR06B //Well, what do you want, Carl? | |
mobile_audio_labels[2] = SOUND_MTOR06C //You want your brother out of jail? | |
mobile_audio_labels[3] = SOUND_MTOR06D //Ok, listen, I�m trying man, I really am, I guess I�m not a natural pilot, that�s all. | |
mobile_audio_labels[4] = SOUND_MTOR06E //I'm gonna let you in on a little secret. Carl | |
mobile_audio_labels[5] = SOUND_MTOR06F //The one difference between those that tried and died | |
mobile_audio_labels[6] = SOUND_MTOR06G //and those that still walk this Earth, is belief in self | |
mobile_audio_labels[7] = SOUND_MTOR06H //Nothing is impossible, Carl. | |
mobile_audio_labels[8] = SOUND_MTOR06J //Beat your fears, focus your mind and learn to fly. | |
mobile_audio_labels[9] = SOUND_MTOR06K //Ok, ok, I�ll- | |
mobile_audio_labels[10] = SOUND_MTOR06L //TORENO? | |
mobile_audio_labels[11] = SOUND_MTOR06M //Oh shit� | |
cell_index_end = 11 | |
BREAK | |
CASE TORENO_MOBILE_CALL6 | |
$mobile_print_labels[0] = &MTOR07A //Toreno? | |
$mobile_print_labels[1] = &MTOR07B //Carl, Learn to fly. | |
$mobile_print_labels[2] = &MTOR07C //I�m on it, man, I swear. | |
$mobile_print_labels[3] = &MTOR07D //I'm on it man I swear', same old broken record, Carl. But that's fine� | |
$mobile_print_labels[4] = &MTOR07E //because your brother�s getting a new cell mate tonight. | |
$mobile_print_labels[5] = &MTOR07L //Horse Cock Harry, And I'm sending a present, little wedding present. | |
$mobile_print_labels[6] = &MTOR07M //Big tub of lube! | |
$mobile_print_labels[7] = &MTOR07F //Shit dude, ok, ok, I swear man, I�m gonna be the best pilot! | |
$mobile_print_labels[8] = &MTOR07G //I'd love to hear you Carl, I can't hear you. All I can hear is your brother's love cries | |
$mobile_print_labels[9] = &MTOR07N //as eight kilometers of cock finds it's way up his ass. | |
$mobile_print_labels[10] = &MTOR07O //Aooooowww' - that's your brother, ok? No big problem. | |
$mobile_print_labels[11] = &MTOR07H //Wait! Please, man! | |
$mobile_print_labels[12] = &MTOR07J //that was my last motivational speech, understand? Am I being too spiritual for you, Carl? | |
$mobile_print_labels[13] = &MTOR07K //Ok, man, I get the message! | |
mobile_audio_labels[0] = SOUND_MTOR07A //Toreno? | |
mobile_audio_labels[1] = SOUND_MTOR07B //Carl, Learn to fly. | |
mobile_audio_labels[2] = SOUND_MTOR07C //I�m on it, man, I swear. | |
mobile_audio_labels[3] = SOUND_MTOR07D //I'm on it man I swear', same old broken record, Carl. But that's fine� | |
mobile_audio_labels[4] = SOUND_MTOR07E //because your brother�s getting a new cell mate tonight. | |
mobile_audio_labels[5] = SOUND_MTOR07L //Horse Cock Harry, And I'm sending a present, little wedding present. | |
mobile_audio_labels[6] = SOUND_MTOR07M //Big tub of lube! | |
mobile_audio_labels[7] = SOUND_MTOR07F //Shit dude, ok, ok, I swear man, I�m gonna be the best pilot! | |
mobile_audio_labels[8] = SOUND_MTOR07G //I'd love to hear you Carl, I can't hear you. All I can hear is your brother's love cries | |
mobile_audio_labels[9] = SOUND_MTOR07N //as eight kilometers of cock finds it's way up his ass. | |
mobile_audio_labels[10] = SOUND_MTOR07O //Aooooowww' - that's your brother, ok? No big problem. | |
mobile_audio_labels[11] = SOUND_MTOR07H //Wait! Please, man! | |
mobile_audio_labels[12] = SOUND_MTOR07J //that was my last motivational speech, understand? Am I being too spiritual for you, Carl? | |
mobile_audio_labels[13] = SOUND_MTOR07K //Ok, man, I get the message! | |
cell_index_end = 13 | |
BREAK | |
// ***************************************KENT PAUL******************************************************************************************* | |
CASE KENT_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MKP01A //Halo | |
$mobile_print_labels[1] = &MKP01B ///Hey, Carl, it�s me Paulo. | |
$mobile_print_labels[2] = &MKP01C //Listen, Rosie�s in a tangle | |
$mobile_print_labels[3] = &MKP01D //and I think you�re the geezer to sort it out for us, ok, sunshine? | |
$mobile_print_labels[4] = &MKP01E //Call around to the office. | |
$mobile_print_labels[5] = &MKP01F //Thanks, man, I appreciate this opportunity. | |
mobile_audio_labels[0] = SOUND_MKP01A //Halo | |
mobile_audio_labels[1] = SOUND_MKP01B ///Hey, Carl, it�s me Paulo. | |
mobile_audio_labels[2] = SOUND_MKP01C //Listen, Rosie�s in a tangle | |
mobile_audio_labels[3] = SOUND_MKP01D //and I think you�re the geezer to sort it out for us, ok, sunshine? | |
mobile_audio_labels[4] = SOUND_MKP01E //Call around to the office. | |
mobile_audio_labels[5] = SOUND_MKP01F //Thanks, man, I appreciate this opportunity. | |
cell_index_end = 5 | |
BREAK | |
// ***************************************ROSENBURG******************************************************************************************* | |
CASE ROSE_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MSAL01A //Hello? | |
$mobile_print_labels[1] = &MROS01B //Carl? It�s me, Ken. | |
$mobile_print_labels[2] = &MROS01D //Listen! The shit�s hit the fucking fan! The Leone family has made | |
//$mobile_print_labels[3] = &MROS01E //their move! Salvatore�s here, | |
$mobile_print_labels[3] = &MROS01F //now! He�s taken over Caligula�s! | |
$mobile_print_labels[4] = &MROS01H //we�re screwed! It�s war for control of Venturas, man, War! WAR! | |
$mobile_print_labels[5] = &MROS01L //there�s word of some Triad visit or something that should keep him busy. I�m calling from the bathroom, I gotta go, I really gotta go. | |
mobile_audio_labels[0] = SOUND_MSAL01A //Hello? | |
mobile_audio_labels[1] = SOUND_MROS01B //Carl? It�s me, Ken. | |
mobile_audio_labels[2] = SOUND_MROS01D //Listen! The shit�s hit the fucking fan! The Leone family has made | |
//mobile_audio_labels[3] = SOUND_MROS01E //their move! Salvatore�s here, | |
mobile_audio_labels[3] = SOUND_MROS01F //now! He�s taken over Caligula�s! | |
mobile_audio_labels[4] = SOUND_MROS01H //we�re screwed! It�s war for control of Venturas, man, War! WAR! | |
mobile_audio_labels[5] = SOUND_MROS01L //there�s word of some Triad visit or something that should keep him busy. I�m calling from the bathroom, | |
cell_index_end = 5 | |
BREAK | |
CASE ROSE_MOBILE_CALL2 | |
$mobile_print_labels[0] = &MROS02A //He-ello? | |
$mobile_print_labels[1] = &MROS02B //You�ve hung us out to dry, I know it! | |
$mobile_print_labels[2] = &MROS02C //Rosenberg? | |
$mobile_print_labels[3] = &MROS02D //Yeah. Soon to be wearing concrete shoes in a shallow grave in the desert, Rosenberg! | |
$mobile_print_labels[4] = &MROS02E //I�m suprised you remember! | |
$mobile_print_labels[5] = &MROS02F //Look, I haven�t forgotten you guys, just hang in there. | |
$mobile_print_labels[6] = &MROS02G //Easy for you to say, this Salvatore guy might whack me at any moment. | |
mobile_audio_labels[0] = SOUND_MROS02A //He-ello? | |
mobile_audio_labels[1] = SOUND_MROS02B //You�ve hung us out to dry, I know it! | |
mobile_audio_labels[2] = SOUND_MROS02C //Rosenberg? | |
mobile_audio_labels[3] = SOUND_MROS02D //Yeah. Soon to be wearing concrete shoes in a shallow grave in the desert, Rosenberg! | |
mobile_audio_labels[4] = SOUND_MROS02E //I�m suprised you remember! | |
mobile_audio_labels[5] = SOUND_MROS02F //Look, I haven�t forgotten you guys, just hang in there. | |
mobile_audio_labels[6] = SOUND_MROS02G //Easy for you to say, this Salvatore guy might whack me at any moment. | |
cell_index_end = 6 | |
BREAK | |
CASE ROSE_MOBILE_CALL3 | |
$mobile_print_labels[0] = &MROS03A //Hey Ken, how you doin�? | |
$mobile_print_labels[1] = &MROS03B //(sniff) Who is this? | |
$mobile_print_labels[2] = &MROS03C //It�s Carl, Carl Johnson! | |
$mobile_print_labels[3] = &MROS03D //Hey, Carl! Great! (sniff) | |
$mobile_print_labels[4] = &MROS03E //Guys, it�s Carl! Ga-great! I'm-- (sniff) | |
$mobile_print_labels[5] = &MROS03F //Fucking great! Fucking amazing! | |
$mobile_print_labels[6] = &MROS03G //Yeah, well, I�ve got a need for an accountant and a sound engineer | |
$mobile_print_labels[7] = &MROS03H //and I thought of you and Paul. | |
$mobile_print_labels[8] = &MROS03J //Fucking amazing! | |
$mobile_print_labels[9] = &MROS03K //Paul�s great with figures and I�d make a fucking amazing producer! | |
$mobile_print_labels[10] = &MROS03L //This is (sniff) this fucking great! It's amazing! | |
$mobile_print_labels[11] = &MROS03N //Yeah, yeah, whatever you say man, but look. Just come over to the mansion, and I�m gonna page you with the address. | |
$mobile_print_labels[12] = &MROS03O //See you soon. | |
$mobile_print_labels[13] = &MROS03P //extra Fucking amazing! | |
mobile_audio_labels[0] = SOUND_MROS03A //Hey Ken, how you doin�? | |
mobile_audio_labels[1] = SOUND_MROS03B //(sniff) Who is this? | |
mobile_audio_labels[2] = SOUND_MROS03C //It�s Carl, Carl Johnson! | |
mobile_audio_labels[3] = SOUND_MROS03D //Hey, Carl! Great! (sniff) | |
mobile_audio_labels[4] = SOUND_MROS03E //Guys, it�s Carl! Ga-great! I'm-- (sniff) | |
mobile_audio_labels[5] = SOUND_MROS03F //Fucking great! Fucking amazing! | |
mobile_audio_labels[6] = SOUND_MROS03G //Yeah, well, I�ve got a need for an accountant and a sound engineer | |
mobile_audio_labels[7] = SOUND_MROS03H //and I thought of you and Paul. | |
mobile_audio_labels[8] = SOUND_MROS03J //Fucking amazing! | |
mobile_audio_labels[9] = SOUND_MROS03K //Paul�s great with figures and I�d make a fucking amazing producer! | |
mobile_audio_labels[10] = SOUND_MROS03L //This is (sniff) this fucking great! It's amazing! | |
mobile_audio_labels[11] = SOUND_MROS03N //Yeah, yeah, whatever you say man, but look. Just come over to the mansion, and I�m gonna page you with t | |
mobile_audio_labels[12] = SOUND_MROS03O //See you soon. | |
mobile_audio_labels[13] = SOUND_MROS03P //extra Fucking amazing! | |
cell_index_end = 13 | |
BREAK | |
// ***************************************SALVATORY******************************************************************************************* | |
CASE SALV_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MSAL01A //Hello? | |
$mobile_print_labels[1] = &MSAL01B //Hey, Carl my boy! | |
$mobile_print_labels[2] = &MSAL01C //Mr. Leone. | |
$mobile_print_labels[3] = &MSAL01D //Everybody�s talking about the job you did on the St.Mark�s Bistro! | |
$mobile_print_labels[4] = &MSAL01E //Thank you, Mr. Leone. | |
$mobile_print_labels[5] = &MSAL01F //And you, eerr, took care of those three loose ends? | |
$mobile_print_labels[6] = &MSAL01G //Yeah those poor saps ran into a little trouble along the way. | |
$mobile_print_labels[7] = &MSAL01H //You won�t be hearing from Mr. Rosenberg again. | |
$mobile_print_labels[8] = &MSAL01J //Good boy! Good boy! | |
$mobile_print_labels[9] = &MSAL01K //Now listen, you�re going to have to keep a low profile | |
$mobile_print_labels[10] = &MSAL01M //so let�s keep our distance for a while, eh? | |
$mobile_print_labels[11] = &MSAL01N //I�ll call you. | |
$mobile_print_labels[12] = &MSAL01O //Thank you, Mr. Leone. | |
mobile_audio_labels[0] = SOUND_MSAL01A //Hello? | |
mobile_audio_labels[1] = SOUND_MSAL01B //Hey, Carl my boy! | |
mobile_audio_labels[2] = SOUND_MSAL01C //Mr. Leone. | |
mobile_audio_labels[3] = SOUND_MSAL01D //Everybody�s talking about the job you did on the St.Mark�s Bistro! | |
mobile_audio_labels[4] = SOUND_MSAL01E //Thank you, Mr. Leone. | |
mobile_audio_labels[5] = SOUND_MSAL01F //And you, eerr, took care of those three loose ends? | |
mobile_audio_labels[6] = SOUND_MSAL01G //Yeah those poor saps ran into a little trouble along the way. | |
mobile_audio_labels[7] = SOUND_MSAL01H //You won�t be hearing from Mr. Rosenberg again. | |
mobile_audio_labels[8] = SOUND_MSAL01J //Good boy! Good boy! | |
mobile_audio_labels[9] = SOUND_MSAL01K //Now listen, you�re going to have to keep a low profile | |
mobile_audio_labels[10] = SOUND_MSAL01M //so let�s keep our distance for a while, eh? | |
mobile_audio_labels[11] = SOUND_MSAL01N //I�ll call you. | |
mobile_audio_labels[12] = SOUND_MSAL01O //Thank you, Mr. Leone. | |
cell_index_end = 12 | |
BREAK | |
CASE SALV_MOBILE_CALL2 | |
$mobile_print_labels[0] = &MSAL02A //�Ssup? | |
$mobile_print_labels[1] = &MSAL02B //You two-bit, backstabbing, piece of eggplant shit! | |
$mobile_print_labels[2] = &MSAL02C //Salvatore! | |
$mobile_print_labels[3] = &MSAL02D //Nice to hear from you, too! | |
$mobile_print_labels[4] = &MSAL02E //You�re dead! Your friends are dead! Your family�s dead! | |
$mobile_print_labels[5] = &MSAL02F //I�m gonna fuck you up, and your children and your grandchildren! | |
$mobile_print_labels[6] = &MSAL02G //Well, it�s been nice talking, | |
$mobile_print_labels[7] = &MSAL02H //but I�ve got some money needs spending on expensive trash, | |
$mobile_print_labels[8] = &MSAL02J //so if you�ll excuse me. | |
$mobile_print_labels[9] = &MSAL02K //You�re dead! DEAD! | |
mobile_audio_labels[0] = SOUND_MSAL02A //�Ssup? | |
mobile_audio_labels[1] = SOUND_MSAL02B //You two-bit, backstabbing, piece of eggplant shit! | |
mobile_audio_labels[2] = SOUND_MSAL02C //Salvatore! | |
mobile_audio_labels[3] = SOUND_MSAL02D //Nice to hear from you, too! | |
mobile_audio_labels[4] = SOUND_MSAL02E //You�re dead! Your friends are dead! Your family�s dead! | |
mobile_audio_labels[5] = SOUND_MSAL02F //I�m gonna fuck you up, and your children and your grandchildren! | |
mobile_audio_labels[6] = SOUND_MSAL02G //Well, it�s been nice talking, | |
mobile_audio_labels[7] = SOUND_MSAL02H //but I�ve got some money needs spending on expensive trash, | |
mobile_audio_labels[8] = SOUND_MSAL02J //so if you�ll excuse me. | |
mobile_audio_labels[9] = SOUND_MSAL02K //You�re dead! DEAD! | |
cell_index_end = 9 | |
BREAK | |
// ***************************************MILLIE KEYCARD******************************************************************************************* | |
CASE MILLIE_KEY_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MMILL2A //Millie? | |
$mobile_print_labels[1] = &MMILL2B //Hey Carl, just called to say that last night was terrific. | |
$mobile_print_labels[2] = &MMILL2C //Likewise, Miss Perkins, likewise. | |
$mobile_print_labels[3] = &MMILL2D //Listen, I thought about that little scheme you told me about. | |
$mobile_print_labels[4] = &MMILL2E //Don�t worry, I haven�t told anybody, not even my mom. | |
$mobile_print_labels[5] = &MMILL2F //I�ve left the key card and the door code in my bedroom. | |
//$mobile_print_labels[6] = &MMILL2G //I�m going out of town for a while, so you can make it look like a burglary. | |
$mobile_print_labels[6] = &MMILL2H //Millie, girl, you will NOT regret this! | |
$mobile_print_labels[7] = &MMILL2J //I know, because I�m getting a cut, right? | |
$mobile_print_labels[8] = &MMILL2K //Sure thing, Millie, sure thing. I�ll see you right. | |
$mobile_print_labels[9] = &MMILL2L //Ok, I'll give you a call sometime. | |
mobile_audio_labels[0] = SOUND_MMILL2A //Millie? | |
mobile_audio_labels[1] = SOUND_MMILL2B //Hey Carl, just called to say that last night was terrific. | |
mobile_audio_labels[2] = SOUND_MMILL2C //Likewise, Miss Perkins, likewise. | |
mobile_audio_labels[3] = SOUND_MMILL2D //Listen, I thought about that little scheme you told me about. | |
mobile_audio_labels[4] = SOUND_MMILL2E //Don�t worry, I haven�t told anybody, not even my mom. | |
mobile_audio_labels[5] = SOUND_MMILL2F //I�ve left the key card and the door code in my bedroom. | |
//mobile_audio_labels[6] = SOUND_MMILL2G //I�m going out of town for a while, so you can make it look like a burglary. | |
mobile_audio_labels[6] = SOUND_MMILL2H //Millie, girl, you will NOT regret this! | |
mobile_audio_labels[7] = SOUND_MMILL2J //I know, because I�m getting a cut, right? | |
mobile_audio_labels[8] = SOUND_MMILL2K //Sure thing, Millie, sure thing. I�ll see you right. | |
mobile_audio_labels[9] = SOUND_MMILL2L //Ok, I'll give you a call sometime. | |
cell_index_end = 9 | |
BREAK | |
// ***************************************ZERO******************************************************************************************* | |
CASE ZERO_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MZER01A //Yeah, what? | |
$mobile_print_labels[1] = &MZER01B //Sorry, Carl, are you busy? | |
$mobile_print_labels[2] = &MZER01C //Zero? No, man, whassup? | |
$mobile_print_labels[3] = &MZER01D //Disaster! My landlord is selling the shop! | |
$mobile_print_labels[4] = &MZER01E //I�ll have nowhere to live and no safe haven from Berkley... | |
$mobile_print_labels[5] = &MZER01F //I�m looking into property at the moment. | |
$mobile_print_labels[6] = &MZER01G //I�ll swing by and have a look see. | |
mobile_audio_labels[0] = SOUND_MZER01A //Yeah, what? | |
mobile_audio_labels[1] = SOUND_MZER01B //Sorry, Carl, are you busy? | |
mobile_audio_labels[2] = SOUND_MZER01C //Zero? No, man, whassup? | |
mobile_audio_labels[3] = SOUND_MZER01D //Disaster! My landlord is selling the shop! | |
mobile_audio_labels[4] = SOUND_MZER01E //I�ll have nowhere to live and no safe haven from Berkley... | |
mobile_audio_labels[5] = SOUND_MZER01F //I�m looking into property at the moment. | |
mobile_audio_labels[6] = SOUND_MZER01G //I�ll swing by and have a look see. | |
cell_index_end = 6 | |
BREAK | |
CASE ZERO_MOBILE_CALL2 | |
$mobile_print_labels[0] = &MZER02A //Hello. | |
$mobile_print_labels[1] = &MZER02B //Carl! It�s Zero! | |
$mobile_print_labels[2] = &MZER02C //Oh hi, Zee, you weren�t around when I signed the deeds. | |
$mobile_print_labels[3] = &MZER02D //I was on a dangerous reconaisance mission, deep into enemy territory. | |
$mobile_print_labels[4] = &MZER02E //Eerr, right, sure. | |
$mobile_print_labels[5] = &MZER02F //Look, I should pop �round some time, have a look at the business, y�know. | |
$mobile_print_labels[6] = &MZER02G //Of course, of course. | |
$mobile_print_labels[7] = &MZER02H //I�ll have to tidy up a bit, this place is such a mess! | |
$mobile_print_labels[8] = &MZER02J //Don�t worry about it. | |
$mobile_print_labels[9] = &MZER02K //I�ll drop in soon. | |
mobile_audio_labels[0] = SOUND_MZER02A //Hello. | |
mobile_audio_labels[1] = SOUND_MZER02B //Carl! It�s Zero! | |
mobile_audio_labels[2] = SOUND_MZER02C //Oh hi, Zee, you weren�t around when I signed the deeds. | |
mobile_audio_labels[3] = SOUND_MZER02D //I was on a dangerous reconaisance mission, deep into enemy territory. | |
mobile_audio_labels[4] = SOUND_MZER02E //Eerr, right, sure. | |
mobile_audio_labels[5] = SOUND_MZER02F //Look, I should pop �round some time, have a look at the business, y�know. | |
mobile_audio_labels[6] = SOUND_MZER02G //Of course, of course. | |
mobile_audio_labels[7] = SOUND_MZER02H //I�ll have to tidy up a bit, this place is such a mess! | |
mobile_audio_labels[8] = SOUND_MZER02J //Don�t worry about it. | |
mobile_audio_labels[9] = SOUND_MZER02K //I�ll drop in soon. | |
cell_index_end = 9 | |
BREAK | |
// ***************************************JETHRO******************************************************************************************* | |
CASE JETHRO_MOBILE_CALL1 | |
$mobile_print_labels[0] = &MJET_1A //Yeah, what? | |
$mobile_print_labels[1] = &MJET_1B //Yo, man, it�s Jethro, dude! | |
$mobile_print_labels[2] = &MJET_1C //Yo, Jethro, whattup? | |
$mobile_print_labels[3] = &MJET_1D //Well, I was talking to Cesar and, don�t get me wrong, dude, | |
$mobile_print_labels[4] = &MJET_1E //I mean, you are one out there dude, when it comes to driving, man, | |
$mobile_print_labels[5] = &MJET_1F //but Cesar, he told us how many cras you get through, dude, | |
$mobile_print_labels[6] = &MJET_1G //and me and Dwaine were, like, whooaaa! | |
$mobile_print_labels[7] = &MJET_1H //What�s your point, Jethro? | |
$mobile_print_labels[8] = &MJET_1J //No point, man, no point! | |
$mobile_print_labels[9] = &MJET_1K //Just that there�s an advanced driving school, like, | |
$mobile_print_labels[10] = &MJET_1L //just up the road from the garage, man, in Doherty. | |
$mobile_print_labels[11] = &MJET_1M //Driving school? What you trying to say, dude? | |
$mobile_print_labels[12] = &MJET_1N //NOTHING, man! Nothing. It was Dwaine�s idea. | |
$mobile_print_labels[13] = &MJET_1O //I think you�re, like, y�know, cool and shit. | |
$mobile_print_labels[14] = &MJET_1P //I better go, CJ, I�ll see you later. | |
mobile_audio_labels[0] = SOUND_MJET_1A //Yeah, what? | |
mobile_audio_labels[1] = SOUND_MJET_1B //Yo, man, it�s Jethro, dude! | |
mobile_audio_labels[2] = SOUND_MJET_1C //Yo, Jethro, whattup? | |
mobile_audio_labels[3] = SOUND_MJET_1D //Well, I was talking to Cesar and, don�t get me wrong, dude, | |
mobile_audio_labels[4] = SOUND_MJET_1E //I mean, you are one out there dude, when it comes to driving, man, | |
mobile_audio_labels[5] = SOUND_MJET_1F //but Cesar, he told us how many cras you get through, dude, | |
mobile_audio_labels[6] = SOUND_MJET_1G //and me and Dwaine were, like, whooaaa! | |
mobile_audio_labels[7] = SOUND_MJET_1H //What�s your point, Jethro? | |
mobile_audio_labels[8] = SOUND_MJET_1J //No point, man, no point! | |
mobile_audio_labels[9] = SOUND_MJET_1K //Just that there�s an advanced driving school, like, | |
mobile_audio_labels[10] = SOUND_MJET_1L //just up the road from the garage, man, in Doherty. | |
mobile_audio_labels[11] = SOUND_MJET_1M //Driving school? What you trying to say, dude? | |
mobile_audio_labels[12] = SOUND_MJET_1N //NOTHING, man! Nothing. It was Dwaine�s idea. | |
mobile_audio_labels[13] = SOUND_MJET_1O //I think you�re, like, y�know, cool and shit. | |
mobile_audio_labels[14] = SOUND_MJET_1P //I better go, CJ, I�ll see you later. | |
cell_index_end = 14 | |
BREAK | |
CASE JETHRO_MOBILE_CALL2 | |
$mobile_print_labels[0] = &MJET_2A //Yo, CJ, it�s, like, Jethro, dude! | |
$mobile_print_labels[1] = &MJET_2B //Hey, Jethro, how�s things? | |
$mobile_print_labels[2] = &MJET_2C //Yo, dude, the garage is coming along nicely, man. | |
$mobile_print_labels[3] = &MJET_2D //But I rang about something else. | |
$mobile_print_labels[4] = &MJET_2E //There�s an unofficial street racing club in San Fierro. | |
$mobile_print_labels[5] = &MJET_2F //Unofficial as in �illegal�, right? | |
$mobile_print_labels[6] = &MJET_2G //I don�t know what you�re talking about, dude. | |
$mobile_print_labels[7] = &MJET_2H //Anyway, they meet up around the Driving School someplace. | |
$mobile_print_labels[8] = &MJET_2J //Thought you might, y�know, like to know. | |
$mobile_print_labels[9] = &MJET_2K //Thanks, Jethro, I�ll give it some consideration. | |
$mobile_print_labels[10] = &MJET_2L //Later, dude. | |
mobile_audio_labels[0] = SOUND_MJET_2A //Yo, CJ, it�s, like, Jethro, dude! | |
mobile_audio_labels[1] = SOUND_MJET_2B //Hey, Jethro, how�s things? | |
mobile_audio_labels[2] = SOUND_MJET_2C //Yo, dude, the garage is coming along nicely, man. | |
mobile_audio_labels[3] = SOUND_MJET_2D //But I rang about something else. | |
mobile_audio_labels[4] = SOUND_MJET_2E //There�s an unofficial street racing club in San Fierro. | |
mobile_audio_labels[5] = SOUND_MJET_2F //Unofficial as in �illegal�, right? | |
mobile_audio_labels[6] = SOUND_MJET_2G //I don�t know what you�re talking about, dude. | |
mobile_audio_labels[7] = SOUND_MJET_2H //Anyway, they meet up around the Driving School someplace. | |
mobile_audio_labels[8] = SOUND_MJET_2J //Thought you might, y�know, like to know. | |
mobile_audio_labels[9] = SOUND_MJET_2K //Thanks, Jethro, I�ll give it some consideration. | |
mobile_audio_labels[10] = SOUND_MJET_2L //Later, dude. | |
cell_index_end = 10 | |
BREAK | |
CASE JETHRO_MOBILE_CALL3 | |
$mobile_print_labels[0] = &MJET_3A //Hello! | |
$mobile_print_labels[1] = &MJET_3B //Yo, it�s Jethro, man. | |
$mobile_print_labels[2] = &MJET_3C //Me an� Cesar have used our contacts to, like, get a wish list of cars, | |
$mobile_print_labels[3] = &MJET_3D //but we�ll need to turn them around real quick, dude. | |
$mobile_print_labels[4] = &MJET_3E //There�s a showroom �round the block that�s come up for sale | |
$mobile_print_labels[5] = &MJET_3F //and I thought it would be a good idea to make things look as legitimate as possible. | |
$mobile_print_labels[6] = &MJET_3G //Dude, that�s a great idea, I�ll look into it. | |
$mobile_print_labels[7] = &MJET_3H //I�ll catch you later. | |
mobile_audio_labels[0] = SOUND_MJET_3A //Hello! | |
mobile_audio_labels[1] = SOUND_MJET_3B //Yo, it�s Jethro, man. | |
mobile_audio_labels[2] = SOUND_MJET_3C //Me an� Cesar have used our contacts to, like, get a wish list of cars, | |
mobile_audio_labels[3] = SOUND_MJET_3D //but we�ll need to turn them around real quick, dude. | |
mobile_audio_labels[4] = SOUND_MJET_3E //There�s a showroom �round the block that�s come up for sale | |
mobile_audio_labels[5] = SOUND_MJET_3F //and I thought it would be a good idea to make things look as legitimate as possible. | |
mobile_audio_labels[6] = SOUND_MJET_3G //Dude, that�s a great idea, I�ll look into it. | |
mobile_audio_labels[7] = SOUND_MJET_3H //I�ll catch you later. | |
cell_index_end = 7 | |
BREAK | |
CASE LOANSHARK_CALL1 | |
$mobile_print_labels[0] = &SHRK_1A //Hey, Mr. Johnson. Just a friendly reminder that you owe me money. | |
$mobile_print_labels[1] = &SHRK_1B //Don't be a stranger. | |
mobile_audio_labels[0] = SOUND_SHRK_1A //Hey, Mr. Johnson. Just a friendly reminder that you owe me money. | |
mobile_audio_labels[1] = SOUND_SHRK_1B //Don't be a stranger. | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL2 | |
$mobile_print_labels[0] = &SHRK_2A //Hello, Carl Johnson. | |
$mobile_print_labels[1] = &SHRK_2B //You owe me money and I would consider it polite if you paid it back, understand? | |
mobile_audio_labels[0] = SOUND_SHRK_2A | |
mobile_audio_labels[1] = SOUND_SHRK_2B | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL3 | |
$mobile_print_labels[0] = &SHRK_3A //Mr. Carl Johnson. My records show that you owe me money. | |
$mobile_print_labels[1] = &SHRK_3B //Probably just slipped your mind, but I thought I'd just jog your memory. | |
mobile_audio_labels[0] = SOUND_SHRK_3A //Mr. Carl Johnson. My records show that you owe me money. | |
mobile_audio_labels[1] = SOUND_SHRK_3B //Probably just slipped your mind, but I thought I'd just jog your memory. | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL4 | |
$mobile_print_labels[0] = &SHRK_4A //Mr. Johnson! I haven't seen you for a while, and you owe me money! | |
$mobile_print_labels[1] = &SHRK_4B //Consider your position and that of your friends and family! | |
mobile_audio_labels[0] = SOUND_SHRK_4A //Mr. Johnson! I haven't seen you for a while, and you owe me money! | |
mobile_audio_labels[1] = SOUND_SHRK_4B //Consider your position and that of your friends and family! | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL5 | |
$mobile_print_labels[0] = &SHRK_5A //Carl! I hope you're not spending too much cash. Especially since you've owed me money for so long. | |
$mobile_print_labels[1] = &SHRK_5B //Don't make an enemy of me, Carl. | |
mobile_audio_labels[0] = SOUND_SHRK_5A //Carl! I hope you're not spending too much cash. Especially since you've owed me money for so long. | |
mobile_audio_labels[1] = SOUND_SHRK_5B //Don't make an enemy of me, Carl. | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL6 | |
$mobile_print_labels[0] = &SHRK_6A //Carl Johnson. I hear you have a sister. | |
$mobile_print_labels[1] = &SHRK_6B //Don't make me explain to her why you owe me so much money! | |
mobile_audio_labels[0] = SOUND_SHRK_6A //Carl Johnson. I hear you have a sister. | |
mobile_audio_labels[1] = SOUND_SHRK_6B //Don't make me explain to her why you owe me so much money! | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL7 | |
$mobile_print_labels[0] = &SHRK_7A //I'm a patient man, Mr. Johnson, but I'm also a businessman, understand? | |
$mobile_print_labels[1] = &SHRK_7B //You owe me money, Carl, think about it. | |
mobile_audio_labels[0] = SOUND_SHRK_7A //I'm a patient man, Mr. Johnson, but I'm also a businessman, understand? | |
mobile_audio_labels[1] = SOUND_SHRK_7B //You owe me money, Carl, think about it. | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL8 | |
$mobile_print_labels[0] = &SHRK_8A //Mr. Johnson, you owe me money. | |
$mobile_print_labels[1] = &SHRK_8B //A business relationship is built on trust and mutual respect. Think about it. | |
mobile_audio_labels[0] = SOUND_SHRK_8A //Mr. Johnson, you owe me money. | |
mobile_audio_labels[1] = SOUND_SHRK_8B //A business relationship is built on trust and mutual respect. Think about it. | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL9 | |
$mobile_print_labels[0] = &SHRK_9A //Mr. Johnson, I hear you're in the neighbourhood! | |
$mobile_print_labels[1] = &SHRK_9B //Some of my associates will be paying you a visit to talk about your debts. | |
mobile_audio_labels[0] = SOUND_SHRK_9A //Mr. Johnson, I hear you're in the neighbourhood! | |
mobile_audio_labels[1] = SOUND_SHRK_9B //Some of my associates will be paying you a visit to talk about your debts. | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL10 | |
$mobile_print_labels[0] = &SHRK10A //Carl Johnson. Little bird told me you're in town. | |
$mobile_print_labels[1] = &SHRK10B //You should have listened to me and paid your debts. | |
mobile_audio_labels[0] = SOUND_SHRK10A //Carl Johnson. Little bird told me you're in town. | |
mobile_audio_labels[1] = SOUND_SHRK10B //You should have listened to me and paid your debts. | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL11 | |
$mobile_print_labels[0] = &SHRK11A //A man of honour pays his debts, Mr. Johnson. | |
$mobile_print_labels[1] = &SHRK11B //You've left me no choice but to treat you with the same lack of respect you've shown me. | |
mobile_audio_labels[0] = SOUND_SHRK11A //A man of honour pays his debts, Mr. Johnson. | |
mobile_audio_labels[1] = SOUND_SHRK11B //You've left me no choice but to treat you with the same lack of respect you've shown me. | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL12 | |
$mobile_print_labels[0] = &SHRK12A //I am not a charity, Mr. Johnson, I'm a businessman. | |
$mobile_print_labels[1] = &SHRK12B //You should have paid up while you had the chance. | |
mobile_audio_labels[0] = SOUND_SHRK12A //I am not a charity, Mr. Johnson, I'm a businessman. | |
mobile_audio_labels[1] = SOUND_SHRK12B //You should have paid up while you had the chance. | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL13 | |
$mobile_print_labels[0] = &SHRK13A //Mr. Johnson, I want my fucking money! | |
$mobile_print_labels[1] = &SHRK13B //I'm sending someone round to pay you a little courtesy call. | |
mobile_audio_labels[0] = SOUND_SHRK13A //Mr. Johnson, I want my fucking money! | |
mobile_audio_labels[1] = SOUND_SHRK13B //I'm sending someone round to pay you a little courtesy call. | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL14 | |
$mobile_print_labels[0] = &SHRK14A //I don't think you're getting the message, Mr. Johnson: I WANT MY MONEY! | |
$mobile_print_labels[1] = &SHRK14B //I'll let you negotiate with my collection department. | |
mobile_audio_labels[0] = SOUND_SHRK14A //I don't think you're getting the message, Mr. Johnson: I WANT MY MONEY! | |
mobile_audio_labels[1] = SOUND_SHRK14B //I'll let you negotiate with my collection department. | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL15 | |
$mobile_print_labels[0] = &SHRK15A //The time for pleasantries is past, Mr. Johnson. | |
$mobile_print_labels[1] = &SHRK15B //You've given me no choice but to get a little more persuasive about your debt problems. | |
mobile_audio_labels[0] = SOUND_SHRK15A //The time for pleasantries is past, Mr. Johnson. | |
mobile_audio_labels[1] = SOUND_SHRK15B //You've given me no choice but to get a little more persuasive about your debt problems. | |
cell_index_end = 1 | |
BREAK | |
CASE LOANSHARK_CALL16 | |
$mobile_print_labels[0] = &SHRK16A //You had your chance to pay me, Mr. Johnson. | |
$mobile_print_labels[1] = &SHRK16B //You've left me no option in this matter - I WANT MY MONEY! | |
mobile_audio_labels[0] = SOUND_SHRK16A //You had your chance to pay me, Mr. Johnson. | |
mobile_audio_labels[1] = SOUND_SHRK16B //You've left me no option in this matter - I WANT MY MONEY! | |
cell_index_end = 1 | |
BREAK | |
ENDSWITCH | |
ELSE //call_number IS >= COOCHIE_MOBILE | |
// ***************************************GIRLFRIENDS************************************************************************************ | |
SWITCH call_number | |
CASE COOCHIE_MOBILE | |
$mobile_print_labels[0] = &MDEN_2A //Yo, Carl, it�s me, Denise. Whassappening? We gonna hang out or what? | |
$mobile_print_labels[1] = &MDEN_2D //Ok sure, baby, I�ll swing by and pick you up! | |
mobile_audio_labels[0] = SOUND_MDEN_2A | |
mobile_audio_labels[1] = SOUND_MDEN_2D | |
cell_index_end = 1 | |
BREAK | |
CASE COOCHIE_MOBILE2 | |
$mobile_print_labels[0] = &MDEN_3A //Whattup Carl? It�s Denise, you down for doing some shit? | |
$mobile_print_labels[1] = &MDEN_3B //I hear you, baby! I�ll drop by later. | |
mobile_audio_labels[0] = SOUND_MDEN_3A | |
mobile_audio_labels[1] = SOUND_MDEN_3B | |
cell_index_end = 1 | |
BREAK | |
CASE COOCHIE_MOBILE3 | |
$mobile_print_labels[0] = &MDEN_4A //Holmes, it�s Denise. I need some attention � don�t make me come and put a cap in yo�ass! | |
$mobile_print_labels[1] = &MDEN_4D //I been neglecting my girl! Get ready, I�ll come pick you up. | |
mobile_audio_labels[0] = SOUND_MDEN_4A | |
mobile_audio_labels[1] = SOUND_MDEN_4D | |
cell_index_end = 1 | |
BREAK | |
CASE COOCHIE_MOBILE4 | |
$mobile_print_labels[0] = &MDEN_5A //Carl, it�s Denise. Where you been, baby, I�m getting lonely! | |
$mobile_print_labels[1] = &MDEN_5B //Yo, Denise, baby, I am going to treat you so good. I�ll pick you up later. | |
mobile_audio_labels[0] = SOUND_MDEN_5A | |
mobile_audio_labels[1] = SOUND_MDEN_5B | |
cell_index_end = 1 | |
BREAK | |
CASE COOCHIE_MOBILE5 | |
$mobile_print_labels[0] = &MDEN_6A //Yo, it�s Denise. You gonna come �round and make me feel special? | |
$mobile_print_labels[1] = &MDEN_6D //Hey baby, I been busy but I am about to come �round and make it up to you, a�ight! | |
mobile_audio_labels[0] = SOUND_MDEN_6A | |
mobile_audio_labels[1] = SOUND_MDEN_6D | |
cell_index_end = 1 | |
BREAK | |
CASE COOCHIE_MOBILE6 | |
$mobile_print_labels[0] = &MDEN_7D //CJ, its me, Denise! I�m getting real lonely here without you. Maybe I should date one of your friends instead. | |
$mobile_print_labels[1] = &MDEN_4D //I been neglecting my girl! Get ready, I�ll come pick you up. | |
mobile_audio_labels[0] = SOUND_MDEN_7D | |
mobile_audio_labels[1] = SOUND_MDEN_4D | |
cell_index_end = 1 | |
BREAK | |
CASE COOCHIE_MOBILE7 | |
$mobile_print_labels[0] = &MDEN_8D //Don�t make me feel like shit. Please! Say you�re gonna come. PLEASE, CJ! | |
$mobile_print_labels[1] = &MDEN_6D //Hey baby, I been busy but I am about to come �round and make it up to you, a�ight! | |
mobile_audio_labels[0] = SOUND_MDEN_8D | |
mobile_audio_labels[1] = SOUND_MDEN_6D | |
cell_index_end = 1 | |
BREAK | |
CASE COOCHIE_MOBILE8 | |
$mobile_print_labels[0] = &MDEN_9D //CJ, its Denise! You�re breaking my heart, dog. Don�t treat me like a ho. I�m a homegirl, not a ho. Come on. | |
$mobile_print_labels[1] = &MDEN_5B //Yo, Denise, baby, I am going to treat you so good. I�ll pick you up later. | |
mobile_audio_labels[0] = SOUND_MDEN_9D | |
mobile_audio_labels[1] = SOUND_MDEN_5B | |
cell_index_end = 1 | |
BREAK | |
CASE COOCHIE_DUMP | |
//Denise Robinson | |
$mobile_print_labels[0] = &MDEN_1A //Yo. | |
$mobile_print_labels[1] = &MDEN_1B //Chickenhead asshole! | |
$mobile_print_labels[2] = &MDEN_1C //What? Denise? | |
$mobile_print_labels[3] = &MDEN_1D //Don�t even think about sweet-talking me, you no good crack pusher! | |
$mobile_print_labels[4] = &MDEN_1E //What? What you on about, girl? | |
$mobile_print_labels[5] = &MDEN_1F //I�d heard the rumours about you Grove Street cluckers, about Big Smoke an�all, | |
$mobile_print_labels[6] = &MDEN_1G //but I thought I�ll give that boy a chance. | |
$mobile_print_labels[7] = &MDEN_1H //But all my friends were right. | |
$mobile_print_labels[8] = &MDEN_1J //Only some base-pushing asshole would treat a girl like this! | |
$mobile_print_labels[9] = &MDEN_1K //Now wait a minute! | |
$mobile_print_labels[10] = &MDEN_1L //Can it, Carl. We�re over, finished. | |
mobile_audio_labels[0] = SOUND_MDEN_1A //Yo. | |
mobile_audio_labels[1] = SOUND_MDEN_1B //Chickenhead asshole! | |
mobile_audio_labels[2] = SOUND_MDEN_1C //What? Denise? | |
mobile_audio_labels[3] = SOUND_MDEN_1D //Don�t even think about sweet-talking me, you no good crack pusher! | |
mobile_audio_labels[4] = SOUND_MDEN_1E //What? What you on about, girl? | |
mobile_audio_labels[5] = SOUND_MDEN_1F //I�d heard the rumours about you Grove Street cluckers, about Big Smoke an�all, | |
mobile_audio_labels[6] = SOUND_MDEN_1G //but I thought I�ll give that boy a chance. | |
mobile_audio_labels[7] = SOUND_MDEN_1H //But all my friends were right. | |
mobile_audio_labels[8] = SOUND_MDEN_1J //Only some base-pushing asshole would treat a girl like this! | |
mobile_audio_labels[9] = SOUND_MDEN_1K //Now wait a minute! | |
mobile_audio_labels[10] = SOUND_MDEN_1L //Can it, Carl. We�re over, finished. | |
cell_index_end = 10 | |
BREAK | |
CASE MICHELLE_MOBILE | |
$mobile_print_labels[0] = &MMICH2A //Yo, Carl, it�s Michelle. You want to come over and talk cam shafts? | |
$mobile_print_labels[1] = &MMICH2B //Hey, Michelle! I�ll be right over with my latest wheels! | |
mobile_audio_labels[0] = SOUND_MMICH2A | |
mobile_audio_labels[1] = SOUND_MMICH2B | |
cell_index_end = 1 | |
BREAK | |
CASE MICHELLE_MOBILE2 | |
$mobile_print_labels[0] = &MMICH3A //CJ, it�s Michelle! I was thinking of going for a ride or something, you fancy? | |
$mobile_print_labels[1] = &MMICH3D //Michelle! Baby, I�m coming over there for a date you will never forget! | |
mobile_audio_labels[0] = SOUND_MMICH3A | |
mobile_audio_labels[1] = SOUND_MMICH3D | |
cell_index_end = 1 | |
BREAK | |
CASE MICHELLE_MOBILE3 | |
$mobile_print_labels[0] = &MMICH4A //Hey CJ, it�s lonely old me, Michelle. Just hanging about with nothing to do... | |
$mobile_print_labels[1] = &MMICH4B //Hey, sweet cheeks, get ready, cuz I�m coming over there! | |
mobile_audio_labels[0] = SOUND_MMICH4A //Hey CJ, it�s lonely old me, Michelle. Just hanging about with nothing to do... | |
mobile_audio_labels[1] = SOUND_MMICH4B //Hey, sweet cheeks, get ready, cuz I�m coming over there! | |
cell_index_end = 1 | |
BREAK | |
CASE MICHELLE_MOBILE4 | |
$mobile_print_labels[0] = &MMICH5A //Hey you, it�s me, Michelle! Get over here and put your charm to good use! | |
$mobile_print_labels[1] = &MMICH5D //Hey, baby, I�ve missed you too! I�ll swing by your place soon as I can! | |
mobile_audio_labels[0] = SOUND_MMICH5A //Hey you, it�s me, Michelle! Get over here and put your charm to good use! | |
mobile_audio_labels[1] = SOUND_MMICH5D //Hey, baby, I�ve missed you too! I�ll swing by your place soon as I can! | |
cell_index_end = 1 | |
BREAK | |
CASE MICHELLE_MOBILE5 | |
$mobile_print_labels[0] = &MMICH6A //Hi CJ! What you up to? You wanna go someplace, maybe? | |
$mobile_print_labels[1] = &MMICH6D //My love, my life, my dreams, baby! Stay right where you are, I�ll be right over! | |
mobile_audio_labels[0] = SOUND_MMICH6A //Hi CJ! What you up to? You wanna go someplace, maybe? | |
mobile_audio_labels[1] = SOUND_MMICH6D //My love, my life, my dreams, baby! Stay right where you are, I�ll be right over! | |
cell_index_end = 1 | |
BREAK | |
CASE MICHELLE_MOBILE6 | |
$mobile_print_labels[0] = &MMICH7D //Hey Cj, it�s Michelle. C�mon over and pick me up! | |
$mobile_print_labels[1] = &MMICH3D //Michelle! Baby, I�m coming over there for a date you will never forget! | |
mobile_audio_labels[0] = SOUND_MMICH7D //Hey Cj, it�s Michelle. C�mon over and pick me up! | |
mobile_audio_labels[1] = SOUND_MMICH3D //Michelle! Baby, I�m coming over there for a date you will never forget! | |
cell_index_end = 1 | |
BREAK | |
CASE MICHELLE_MOBILE7 | |
$mobile_print_labels[0] = &MMICH8D //Hey, it�s Michelle, come over CJ, I miss you! | |
$mobile_print_labels[1] = &MMICH5D //Hey, baby, I�ve missed you too! I�ll swing by your place soon as I can! | |
mobile_audio_labels[0] = SOUND_MMICH8D //Hey, it�s Michelle, come over CJ, I miss you! | |
mobile_audio_labels[1] = SOUND_MMICH5D //Hey, baby, I�ve missed you too! I�ll swing by your place soon as I can! | |
cell_index_end = 1 | |
BREAK | |
CASE MICHELLE_MOBILE8 | |
$mobile_print_labels[0] = &MMICH9D //Pick me up, CJ, pick me up! | |
$mobile_print_labels[1] = &MMICH4B //Hey, sweet cheeks, get ready, cuz I�m coming over there! | |
mobile_audio_labels[0] = SOUND_MMICH9D //Pick me up, CJ, pick me up! | |
mobile_audio_labels[1] = SOUND_MMICH4B //Hey, sweet cheeks, get ready, cuz I�m coming over there! | |
cell_index_end = 1 | |
BREAK | |
CASE MICHELLE_DUMP | |
//Michelle Cannes | |
$mobile_print_labels[0] = &MMICH1A //Johnson by name, Johnson by nature! | |
$mobile_print_labels[1] = &MMICH1B //You got that right, dick-for-brains! | |
$mobile_print_labels[2] = &MMICH1C //Hey, Michelle, what�s up, baby? | |
$mobile_print_labels[3] = &MMICH1D //You don�t know? Carl, you are a walking passion killer! | |
$mobile_print_labels[4] = &MMICH1E //You haven�t one clue what a woman wants or how a lady likes to be treated! | |
$mobile_print_labels[5] = &MMICH1F //C�mon, Michelle, I�m a fool for you, girl! | |
$mobile_print_labels[6] = &MMICH1G //Fool�s the word, alright, pig-headed asshole fool! | |
$mobile_print_labels[7] = &MMICH1H //We�re over, ok? Don�t bother coming �round any more! | |
$mobile_print_labels[8] = &MMICH1J //Michelle, baby... Michelle? | |
mobile_audio_labels[0] = SOUND_MMICH1A //Johnson by name, Johnson by nature! | |
mobile_audio_labels[1] = SOUND_MMICH1B //You got that right, dick-for-brains! | |
mobile_audio_labels[2] = SOUND_MMICH1C //Hey, Michelle, what�s up, baby? | |
mobile_audio_labels[3] = SOUND_MMICH1D //You don�t know? Carl, you are a walking passion killer! | |
mobile_audio_labels[4] = SOUND_MMICH1E //You haven�t one clue what a woman wants or how a lady likes to be treated! | |
mobile_audio_labels[5] = SOUND_MMICH1F //C�mon, Michelle, I�m a fool for you, girl! | |
mobile_audio_labels[6] = SOUND_MMICH1G //Fool�s the word, alright, pig-headed asshole fool! | |
mobile_audio_labels[7] = SOUND_MMICH1H //We�re over, ok? Don�t bother coming �round any more! | |
mobile_audio_labels[8] = SOUND_MMICH1J //Michelle, baby... Michelle? | |
cell_index_end = 8 | |
BREAK | |
CASE KYLIE_MOBILE | |
$mobile_print_labels[0] = &MHEL_2A //Carl? Helena. I�m in Flint looking for some fun. You want to meet up? | |
$mobile_print_labels[1] = &MHEL_2B //Hey, Helena! I�ll be over as soon as I can! | |
mobile_audio_labels[0] = SOUND_MHEL_2A //Carl? Helena. I�m in Flint looking for some fun. You want to meet up? | |
mobile_audio_labels[1] = SOUND_MHEL_2B //Hey, Helena! I�ll be over as soon as I can! | |
cell_index_end = 1 | |
BREAK | |
CASE KYLIE_MOBILE2 | |
$mobile_print_labels[0] = &MHEL_3A //Hi Carl! It�s Helena! I�m in desperate need of some R&R! | |
$mobile_print_labels[1] = &MHEL_3B //Helena! Hold tight, baby, I�m coming on over! | |
mobile_audio_labels[0] = SOUND_MHEL_3A //Hi Carl! It�s Helena! I�m in desperate need of some R&R! | |
mobile_audio_labels[1] = SOUND_MHEL_3B //Helena! Hold tight, baby, I�m coming on over! | |
cell_index_end = 1 | |
BREAK | |
CASE KYLIE_MOBILE3 | |
$mobile_print_labels[0] = &MHEL_4A //Oh Carl, it�s Helena! It�s been a hellish week and I need to unwind! | |
$mobile_print_labels[1] = &MHEL_4B //Hello Helena, I�ve missed you, baby! I�ll come over as soon as! | |
mobile_audio_labels[0] = SOUND_MHEL_4A //Oh Carl, it�s Helena! It�s been a hellish week and I need to unwind! | |
mobile_audio_labels[1] = SOUND_MHEL_4B //Hello Helena, I�ve missed you, baby! I�ll come over as soon as! | |
cell_index_end = 1 | |
BREAK | |
CASE KYLIE_MOBILE4 | |
$mobile_print_labels[0] = &MHEL_6A //Carl! I�ve been working sooo hard and I need the attentions of a dashing young man! | |
$mobile_print_labels[1] = &MHEL_6B //Helena, baby, I was just thinking of calling you! I�ll be right over and pick you up! | |
mobile_audio_labels[0] = SOUND_MHEL_6A //Carl! I�ve been working sooo hard and I need the attentions of a dashing young man! | |
mobile_audio_labels[1] = SOUND_MHEL_6B //Helena, baby, I was just thinking of calling you! I�ll be right over and pick you up! | |
cell_index_end = 1 | |
BREAK | |
CASE KYLIE_MOBILE5 | |
$mobile_print_labels[0] = &MHEL_5A //Hello, Carl, it�s Helena! I need a strong young Johnson to show me a good time! | |
$mobile_print_labels[1] = &MHEL_5B //No sweat, baby, I�ll be there before you know it! | |
mobile_audio_labels[0] = SOUND_MHEL_5A //Hello, Carl, it�s Helena! I need a strong young Johnson to show me a good time! | |
mobile_audio_labels[1] = SOUND_MHEL_5B //No sweat, baby, I�ll be there before you know it! | |
cell_index_end = 1 | |
BREAK | |
CASE KYLIE_MOBILE6 | |
$mobile_print_labels[0] = &MHELD7D //Carl, its Helena, come on, we gotta hang out again soon. | |
$mobile_print_labels[1] = &MHEL_2B //Hey, Helena! I�ll be over as soon as I can! | |
mobile_audio_labels[0] = SOUND_MHELD7D //Carl, its Helena, come on, we gotta hang out again soon. | |
mobile_audio_labels[1] = SOUND_MHEL_2B //Hey, Helena! I�ll be over as soon as I can! | |
cell_index_end = 1 | |
BREAK | |
CASE KYLIE_MOBILE7 | |
$mobile_print_labels[0] = &MHELD9D //Carl, C�est moi, Helena, come on darling, please, don�t be a bastard. | |
$mobile_print_labels[1] = &MHEL_4B //Hello Helena, I�ve missed you, baby! I�ll come over as soon as! | |
mobile_audio_labels[0] = SOUND_MHELD9D //Carl, C�est moi, Helena, come on darling, please, don�t be a bastard. | |
mobile_audio_labels[1] = SOUND_MHEL_4B //Hello Helena, I�ve missed you, baby! I�ll come over as soon as! | |
cell_index_end = 1 | |
BREAK | |
CASE KYLIE_MOBILE8 | |
$mobile_print_labels[0] = &MHELD8D //Carl, please, it�s Helena � we gotta hang out again soon. Party, you know. | |
$mobile_print_labels[1] = &MHEL_3B //Helena! Hold tight, baby, I�m coming on over! | |
mobile_audio_labels[0] = SOUND_MHELD8D //Carl, please, it�s Helena � we gotta hang out again soon. Party, you know. | |
mobile_audio_labels[1] = SOUND_MHEL_3B //Helena! Hold tight, baby, I�m coming on over! | |
cell_index_end = 1 | |
BREAK | |
CASE KYLIE_DUMP | |
//Helena Wankstein | |
$mobile_print_labels[0] = &MHEL_1A //Yo, Johnson�s the name and loving�s my game! | |
$mobile_print_labels[1] = &MHEL_1B //You bastard waste of space! | |
$mobile_print_labels[2] = &MHEL_1C //Helena? Whoa, now, I thought you was someone else! | |
$mobile_print_labels[3] = &MHEL_1D //Another ho, or one of your gang banging chums? | |
$mobile_print_labels[4] = &MHEL_1E //Chums? Girl you gotta get out more! | |
$mobile_print_labels[5] = &MHEL_1F //Well if the option is getting out with you or shooting my own leg off, I�m reaching for the gun! | |
$mobile_print_labels[6] = &MHEL_1G //Look, Helena, girl- | |
$mobile_print_labels[7] = &MHEL_1H //Don�t you �girl� me! I�m not one of your ghetto friends! In fact, I�m not your friend at all! | |
$mobile_print_labels[8] = &MHEL_1J //Goodbye, Carl Johnson! | |
$mobile_print_labels[9] = &MHEL_1K //Helena gimme a break! Helena? Shit. | |
mobile_audio_labels[0] = SOUND_MHEL_1A //Yo, Johnson�s the name and loving�s my game! | |
mobile_audio_labels[1] = SOUND_MHEL_1B //You bastard waste of space! | |
mobile_audio_labels[2] = SOUND_MHEL_1C //Helena? Whoa, now, I thought you was someone else! | |
mobile_audio_labels[3] = SOUND_MHEL_1D //Another ho, or one of your gang banging chums? | |
mobile_audio_labels[4] = SOUND_MHEL_1E //Chums? Girl you gotta get out more! | |
mobile_audio_labels[5] = SOUND_MHEL_1F //Well if the option is getting out with you or shooting my own leg off, I�m reaching for the gun! | |
mobile_audio_labels[6] = SOUND_MHEL_1G //Look, Helena, girl- | |
mobile_audio_labels[7] = SOUND_MHEL_1H //Don�t you �girl� me! I�m not one of your ghetto friends! In fact, I�m not your friend at all! | |
mobile_audio_labels[8] = SOUND_MHEL_1J //Goodbye, Carl Johnson! | |
mobile_audio_labels[9] = SOUND_MHEL_1K //Helena gimme a break! Helena? Shit. | |
cell_index_end = 9 | |
BREAK | |
CASE BARBARA_MOBILE | |
$mobile_print_labels[0] = &MBARB2A //Carl? Hi, it�s Barbara. I thought we could hang out some time soon. | |
$mobile_print_labels[1] = &MBARB2D //Ok, Barbara, that sounds good. I�ll swing by later. | |
mobile_audio_labels[0] = SOUND_MBARB2A //Carl? Hi, it�s Barbara. I thought we could hang out some time soon. | |
mobile_audio_labels[1] = SOUND_MBARB2D //Ok, Barbara, that sounds good. I�ll swing by later. | |
cell_index_end = 1 | |
BREAK | |
CASE BARBARA_MOBILE2 | |
$mobile_print_labels[0] = &MBARB3A //Hello, CJ, I hope you�re keeping out of trouble. You fancy going out? | |
$mobile_print_labels[1] = &MBARB3B //Hi Barbara. Ok, I�m down for that � pick you up as soon as I can! | |
mobile_audio_labels[0] = SOUND_MBARB3A //Hello, CJ, I hope you�re keeping out of trouble. You fancy going out? | |
mobile_audio_labels[1] = SOUND_MBARB3B //Hi Barbara. Ok, I�m down for that � pick you up as soon as I can! | |
cell_index_end = 1 | |
BREAK | |
CASE BARBARA_MOBILE3 | |
$mobile_print_labels[0] = &MBARB4A //CJ! Hey, it�s Barbara! Let�s get together, yeah? | |
$mobile_print_labels[1] = &MBARB4D //I�m coming over there and you better have those cuffs ready! | |
mobile_audio_labels[0] = SOUND_MBARB4A //CJ! Hey, it�s Barbara! Let�s get together, yeah? | |
mobile_audio_labels[1] = SOUND_MBARB4D //I�m coming over there and you better have those cuffs ready! | |
cell_index_end = 1 | |
BREAK | |
CASE BARBARA_MOBILE4 | |
$mobile_print_labels[0] = &MBARB5A //Hello, it�s Barabara. Take me out, baby, take me out! | |
$mobile_print_labels[1] = &MBARB5D //Hello Officer Schternvart! Been thinking a lot about you � I�ll see you in five. | |
mobile_audio_labels[0] = SOUND_MBARB5A //Hello, it�s Barabara. Take me out, baby, take me out! | |
mobile_audio_labels[1] = SOUND_MBARB5D //Hello Officer Schternvart! Been thinking a lot about you � I�ll see you in five. | |
cell_index_end = 1 | |
BREAK | |
CASE BARBARA_MOBILE5 | |
$mobile_print_labels[0] = &MBARB6A //Hey, CJ, it�s Barbara. Let�s go out and do something! | |
$mobile_print_labels[1] = &MBARB6B //Hi, Barbara, whattup? Look, I�ll be over to pick you up in, say, ten minutes, ok? | |
mobile_audio_labels[0] = SOUND_MBARB6A //Hey, CJ, it�s Barbara. Let�s go out and do something! | |
mobile_audio_labels[1] = SOUND_MBARB6B //Hi, Barbara, whattup? Look, I�ll be over to pick you up in, say, ten minutes, ok? | |
cell_index_end = 1 | |
BREAK | |
CASE BARBARA_MOBILE6 | |
$mobile_print_labels[0] = &MBARB7D //CJ, it�s Barabara, what you waiting for, come on over! | |
$mobile_print_labels[1] = &MBARB5D //Hello Officer Schternvart! Been thinking a lot about you � I�ll see you in five. | |
mobile_audio_labels[0] = SOUND_MBARB7D //CJ, it�s Barabara, what you waiting for, come on over! | |
mobile_audio_labels[1] = SOUND_MBARB5D //Hello Officer Schternvart! Been thinking a lot about you � I�ll see you in five. | |
cell_index_end = 1 | |
BREAK | |
CASE BARBARA_MOBILE7 | |
$mobile_print_labels[0] = &MBARB8D //Hi, it�s Barbara! Get over here and lets do something! | |
$mobile_print_labels[1] = &MBARB3B //Hi Barbara. Ok, I�m down for that � pick you up as soon as I can! | |
mobile_audio_labels[0] = SOUND_MBARB8D //Hi, it�s Barbara! Get over here and lets do something! | |
mobile_audio_labels[1] = SOUND_MBARB3B //Hi Barbara. Ok, I�m down for that � pick you up as soon as I can! | |
cell_index_end = 1 | |
BREAK | |
CASE BARBARA_MOBILE8 | |
$mobile_print_labels[0] = &MBARB9D //CJ, it�s Babara � get over here and take me out, honey! | |
$mobile_print_labels[1] = &MBARB6B //Hi, Barbara, whattup? Look, I�ll be over to pick you up in, say, ten minutes, ok? | |
mobile_audio_labels[0] = SOUND_MBARB9D //CJ, it�s Babara � get over here and take me out, honey! | |
mobile_audio_labels[1] = SOUND_MBARB6B //Hi, Barbara, whattup? Look, I�ll be over to pick you up in, say, ten minutes, ok? | |
cell_index_end = 1 | |
BREAK | |
CASE BARBARA_DUMP | |
//Barbara Schternvart | |
$mobile_print_labels[0] = &MBARB1A //Badass Carl Johnson, one-man crime wave and all-round ghetto star! | |
$mobile_print_labels[1] = &MBARB1B //I knew it! You fucking piece of shit, I knew it! | |
$mobile_print_labels[2] = &MBARB1C //Who is this? | |
$mobile_print_labels[3] = &MBARB1D //It�s Barbara, you asshole! I thought you were a nice guy! | |
$mobile_print_labels[4] = &MBARB1E //You said you�d be good for me! | |
$mobile_print_labels[5] = &MBARB1F //You realise how hard it is for a divorcee to find a man, ANY man? | |
$mobile_print_labels[6] = &MBARB1G //Oh shut up, listen to yourself! | |
$mobile_print_labels[7] = &MBARB1H //What? Listen to MY self? Listen to MY self? | |
$mobile_print_labels[8] = &MBARB1J //Yeah, always going on about how you is damaged goods and shit! | |
$mobile_print_labels[9] = &MBARB1K //You try bringing up a kid and holding down a job on your own! | |
$mobile_print_labels[10] = &MBARB1L //That bastard tore out my heart! My HEART, Carl! | |
$mobile_print_labels[11] = &MBARB1M //Bitch, you been heartless from the day you popped out. | |
$mobile_print_labels[12] = &MBARB1N //Bet that poor bastard put up with you for years | |
$mobile_print_labels[13] = &MBARB1O //before he got the guts, no, THE HELP to escape! | |
$mobile_print_labels[14] = &MBARB1P //You bastard! YOU BASTARD! I have friends in the force! | |
$mobile_print_labels[15] = &MBARB1Q //They�ll hunt you down! You�re going to jail, Carl, do you hear me, JAIL! | |
$mobile_print_labels[16] = &MBARB1R //Shut the fuck up, bitch! | |
mobile_audio_labels[0] = SOUND_MBARB1A //Badass Carl Johnson, one-man crime wave and all-round ghetto star! | |
mobile_audio_labels[1] = SOUND_MBARB1B //I knew it! You fucking piece of shit, I knew it! | |
mobile_audio_labels[2] = SOUND_MBARB1C //Who is this? | |
mobile_audio_labels[3] = SOUND_MBARB1D //It�s Barbara, you asshole! I thought you were a nice guy! | |
mobile_audio_labels[4] = SOUND_MBARB1E //You said you�d be good for me! | |
mobile_audio_labels[5] = SOUND_MBARB1F //You realise how hard it is for a divorcee to find a man, ANY man? | |
mobile_audio_labels[6] = SOUND_MBARB1G //Oh shut up, listen to yourself! | |
mobile_audio_labels[7] = SOUND_MBARB1H //What? Listen to MY self? Listen to MY self? | |
mobile_audio_labels[8] = SOUND_MBARB1J //Yeah, always going on about how you is damaged goods and shit! | |
mobile_audio_labels[9] = SOUND_MBARB1K //You try bringing up a kid and holding down a job on your own! | |
mobile_audio_labels[10] = SOUND_MBARB1L //That bastard tore out my heart! My HEART, Carl! | |
mobile_audio_labels[11] = SOUND_MBARB1M //Bitch, you been heartless from the day you popped out. | |
mobile_audio_labels[12] = SOUND_MBARB1N //Bet that poor bastard put up with you for years | |
mobile_audio_labels[13] = SOUND_MBARB1O //before he got the guts, no, THE HELP to escape! | |
mobile_audio_labels[14] = SOUND_MBARB1P //You bastard! YOU BASTARD! I have friends in the force! | |
mobile_audio_labels[15] = SOUND_MBARB1Q //They�ll hunt you down! You�re going to jail, Carl, do you hear me, JAIL! | |
mobile_audio_labels[16] = SOUND_MBARB1R //Shut the fuck up, bitch! | |
cell_index_end = 16 | |
BREAK | |
CASE SUZIE_MOBILE | |
$mobile_print_labels[0] = &MZAHN2A //Hey, Carl, it�s Katie. You fancy doing something some time soon, I�m bored? | |
$mobile_print_labels[1] = &MZAHN2D //Katie! I�ll be over to pick you up soon as I�m finished up here. | |
mobile_audio_labels[0] = SOUND_MZAHN2A //Hey, Carl, it�s Katie. You fancy doing something some time soon, I�m bored? | |
mobile_audio_labels[1] = SOUND_MZAHN2D //Katie! I�ll be over to pick you up soon as I�m finished up here. | |
cell_index_end = 1 | |
BREAK | |
CASE SUZIE_MOBILE2 | |
$mobile_print_labels[0] = &MZAHN3A //Carl, it�s Katie, when you going to take me out, huh? | |
$mobile_print_labels[1] = &MZAHN3B //Hey, Katie, I was just thinking about you! I�ll drop by later and we can go out. | |
mobile_audio_labels[0] = SOUND_MZAHN3A //Carl, it�s Katie, when you going to take me out, huh? | |
mobile_audio_labels[1] = SOUND_MZAHN3B //Hey, Katie, I was just thinking about you! I�ll drop by later and we can go out. | |
cell_index_end = 1 | |
BREAK | |
CASE SUZIE_MOBILE3 | |
$mobile_print_labels[0] = &MZAHN4A //Hi, it�s me, Katie! I got a bit of spare time, so I was wondering.... | |
$mobile_print_labels[1] = &MZAHN4D //Hey baby! Get ready and I�ll pick you up real soon, ok? | |
mobile_audio_labels[0] = SOUND_MZAHN4A //Hi, it�s me, Katie! I got a bit of spare time, so I was wondering.... | |
mobile_audio_labels[1] = SOUND_MZAHN4D //Hey baby! Get ready and I�ll pick you up real soon, ok? | |
cell_index_end = 1 | |
BREAK | |
CASE SUZIE_MOBILE4 | |
$mobile_print_labels[0] = &MZAHN5A //Carl? Katie! Let�s go out! | |
$mobile_print_labels[1] = &MZAHN5B //Katie, I was just about to call you! I�m gonna finish up then swing by and pick you up, ok? | |
mobile_audio_labels[0] = SOUND_MZAHN5A //Carl? Katie! Let�s go out! | |
mobile_audio_labels[1] = SOUND_MZAHN5B //Katie, I was just about to call you! I�m gonna finish up then swing by and pick you up, ok? | |
cell_index_end = 1 | |
BREAK | |
CASE SUZIE_MOBILE5 | |
$mobile_print_labels[0] = &MZAHN6A //Hey babe, it�s Katie. Let�s go out up town or something! | |
$mobile_print_labels[1] = &MZAHN6D //Hey sweet thang! I�m coming over there to take you out � go get ready! | |
mobile_audio_labels[0] = SOUND_MZAHN6A //Hey babe, it�s Katie. Let�s go out up town or something! | |
mobile_audio_labels[1] = SOUND_MZAHN6D //Hey sweet thang! I�m coming over there to take you out � go get ready! | |
cell_index_end = 1 | |
BREAK | |
CASE SUZIE_MOBILE6 | |
$mobile_print_labels[0] = &MZAHN7D //Hey, CJ, it�s Katie, take me out, take me out! | |
$mobile_print_labels[1] = &MZAHN2D //Katie! I�ll be over to pick you up soon as I�m finished up here. | |
mobile_audio_labels[0] = SOUND_MZAHN7D //Hey, CJ, it�s Katie, take me out, take me out! | |
mobile_audio_labels[1] = SOUND_MZAHN2D //Katie! I�ll be over to pick you up soon as I�m finished up here. | |
cell_index_end = 1 | |
BREAK | |
CASE SUZIE_MOBILE7 | |
$mobile_print_labels[0] = &MZAHN9D //Hi, it�s Katie, I really miss you, baby, come pick me up! | |
$mobile_print_labels[1] = &MZAHN4D //Hey baby! Get ready and I�ll pick you up real soon, ok? | |
mobile_audio_labels[0] = SOUND_MZAHN9D //Hi, it�s Katie, I really miss you, baby, come pick me up! | |
mobile_audio_labels[1] = SOUND_MZAHN4D //Hey baby! Get ready and I�ll pick you up real soon, ok? | |
cell_index_end = 1 | |
BREAK | |
CASE SUZIE_MOBILE8 | |
$mobile_print_labels[0] = &MZAHN8D //Hey CJ, it�s Katie, I want to see you, baby! | |
$mobile_print_labels[1] = &MZAHN3B //Hey, Katie, I was just thinking about you! I�ll drop by later and we can go out. | |
mobile_audio_labels[0] = SOUND_MZAHN8D //Hey CJ, it�s Katie, I want to see you, baby! | |
mobile_audio_labels[1] = SOUND_MZAHN3B //Hey, Katie, I was just thinking about you! I�ll drop by later and we can go out. | |
cell_index_end = 1 | |
BREAK | |
CASE SUZIE_DUMP | |
//Katie Zhan | |
$mobile_print_labels[0] = &MZAHN1A //Hello, Carl Johnson, friend to all ladies! | |
$mobile_print_labels[1] = &MZAHN1B //So I�ve heard, you piece of shit! | |
$mobile_print_labels[2] = &MZAHN1C //Katie? Katie! Hey, doll, I was just about to call you! | |
$mobile_print_labels[3] = &MZAHN1D //You�re always �just about to call� me you cheap bastard! | |
$mobile_print_labels[4] = &MZAHN1E //Look, baby, I know I�ve been a dog, but- | |
$mobile_print_labels[5] = &MZAHN1F //Can it! I�ve given you chance after chance, but I�m not taking any more shit, | |
$mobile_print_labels[6] = &MZAHN1G //I deserve better than you! | |
$mobile_print_labels[7] = &MZAHN1H //Katie, sweet baby, you gotta give me one last chance! | |
$mobile_print_labels[8] = &MZAHN1J //Too late, Carl, you blew it! | |
mobile_audio_labels[0] = SOUND_MZAHN1A //Hello, Carl Johnson, friend to all ladies! | |
mobile_audio_labels[1] = SOUND_MZAHN1B //So I�ve heard, you piece of shit! | |
mobile_audio_labels[2] = SOUND_MZAHN1C //Katie? Katie! Hey, doll, I was just about to call you! | |
mobile_audio_labels[3] = SOUND_MZAHN1D //You�re always �just about to call� me you cheap bastard! | |
mobile_audio_labels[4] = SOUND_MZAHN1E //Look, baby, I know I�ve been a dog, but- | |
mobile_audio_labels[5] = SOUND_MZAHN1F //Can it! I�ve given you chance after chance, but I�m not taking any more shit, | |
mobile_audio_labels[6] = SOUND_MZAHN1G //I deserve better than you! | |
mobile_audio_labels[7] = SOUND_MZAHN1H //Katie, sweet baby, you gotta give me one last chance! | |
mobile_audio_labels[8] = SOUND_MZAHN1J //Too late, Carl, you blew it! | |
cell_index_end = 8 | |
BREAK | |
CASE MILLIE_MOBILE | |
$mobile_print_labels[0] = &MMILL3A //Hi, Carl, you want to go out? | |
$mobile_print_labels[1] = &MMILL3B //Oh hi, Millie! I�ll come over your place and pick you up! | |
mobile_audio_labels[0] = SOUND_MMILL3A //Hi, Carl, you want to go out? | |
mobile_audio_labels[1] = SOUND_MMILL3B //Oh hi, Millie! I�ll come over your place and pick you up! | |
cell_index_end = 1 | |
BREAK | |
CASE MILLIE_MOBILE2 | |
$mobile_print_labels[0] = &MMILL4A //Hey, Carl, let�s hit the town or something! | |
$mobile_print_labels[1] = &MMILL4D //Millie, I was just thinking how naughty you must have been � I�ll be over in five! | |
mobile_audio_labels[0] = SOUND_MMILL4A //Hey, Carl, let�s hit the town or something! | |
mobile_audio_labels[1] = SOUND_MMILL4D //Millie, I was just thinking how naughty you must have been � I�ll be over in five! | |
cell_index_end = 1 | |
BREAK | |
CASE MILLIE_MOBILE3 | |
$mobile_print_labels[0] = &MMILL5A //CJ! You forgotten about me? | |
$mobile_print_labels[1] = &MMILL5D //Millie Perkins, the perfect girl! Hold tight, I�ll be right over! | |
mobile_audio_labels[0] = SOUND_MMILL5A //CJ! You forgotten about me? | |
mobile_audio_labels[1] = SOUND_MMILL5D //Millie Perkins, the perfect girl! Hold tight, I�ll be right over! | |
cell_index_end = 1 | |
BREAK | |
CASE MILLIE_MOBILE4 | |
$mobile_print_labels[0] = &MMILL6A //Carl Johnson, have you been a good boy? | |
$mobile_print_labels[1] = &MMILL6B //Well hi, Millie! Don�t move yo�sweet ass, I�m coming right over! | |
mobile_audio_labels[0] = SOUND_MMILL6A //Carl Johnson, have you been a good boy? | |
mobile_audio_labels[1] = SOUND_MMILL6B //Well hi, Millie! Don�t move yo�sweet ass, I�m coming right over! | |
cell_index_end = 1 | |
BREAK | |
CASE MILLIE_MOBILE5 | |
$mobile_print_labels[0] = &MMILL7A //CJ, I think I�ve been a VERY naughty girl! | |
$mobile_print_labels[1] = &MMILL7D //I was just thinking about you, Millie! Be over your place as quick as! | |
mobile_audio_labels[0] = SOUND_MMILL7A //CJ, I think I�ve been a VERY naughty girl! | |
mobile_audio_labels[1] = SOUND_MMILL7D //I was just thinking about you, Millie! Be over your place as quick as! | |
cell_index_end = 1 | |
BREAK | |
CASE MILLIE_MOBILE6 | |
$mobile_print_labels[0] = &MMILL8D //Hey Carl, Let�s go out someplace! | |
$mobile_print_labels[1] = &MMILL3B //Oh hi, Millie! I�ll come over your place and pick you up! | |
mobile_audio_labels[0] = SOUND_MMILL8D //Hey Carl, Let�s go out someplace! | |
mobile_audio_labels[1] = SOUND_MMILL3B //Oh hi, Millie! I�ll come over your place and pick you up! | |
cell_index_end = 1 | |
BREAK | |
CASE MILLIE_MOBILE7 | |
$mobile_print_labels[0] = &MMILL9D //Hey CJ, let�s do something! | |
$mobile_print_labels[1] = &MMILL4D //Millie, I was just thinking how naughty you must have been � I�ll be over in five! | |
mobile_audio_labels[0] = SOUND_MMILL9D //Hey CJ, let�s do something! | |
mobile_audio_labels[1] = SOUND_MMILL4D //Millie, I was just thinking how naughty you must have been � I�ll be over in five! | |
cell_index_end = 1 | |
BREAK | |
CASE MILLIE_MOBILE8 | |
$mobile_print_labels[0] = &MMIL10D //Hey Carl. I knocked off an hour ago � let�s party! | |
$mobile_print_labels[1] = &MMILL5D //Millie Perkins, the perfect girl! Hold tight, I�ll be right over! | |
mobile_audio_labels[0] = SOUND_MMIL10D //Hey Carl. I knocked off an hour ago � let�s party! | |
mobile_audio_labels[1] = SOUND_MMILL5D //Millie Perkins, the perfect girl! Hold tight, I�ll be right over! | |
cell_index_end = 1 | |
BREAK | |
CASE MILLIE_DUMP | |
//Millie Perkins | |
$mobile_print_labels[0] = &MMILL1A //This better be good! | |
$mobile_print_labels[1] = &MMILL1B //�Fraid not, Carl. I don�t want to see you any more. | |
$mobile_print_labels[2] = &MMILL1C //What? Why? What I do? | |
$mobile_print_labels[3] = &MMILL1D //You treat me like shit. You dress like shit. | |
$mobile_print_labels[4] = &MMILL1E //You wine and dine like shit. | |
$mobile_print_labels[5] = &MMILL1F //But... but... well... shit... | |
$mobile_print_labels[6] = &MMILL1G //It�s unanimous then, Carl Johnson is shit. See you around, Carl! | |
$mobile_print_labels[7] = &MMILL1H //Do NOT say, �like a doughnut!� | |
$mobile_print_labels[8] = &MMILL1J //Like a big round shit. | |
$mobile_print_labels[9] = &MMILL1K //Shit. | |
mobile_audio_labels[0] = SOUND_MMILL1A //This better be good! | |
mobile_audio_labels[1] = SOUND_MMILL1B //�Fraid not, Carl. I don�t want to see you any more. | |
mobile_audio_labels[2] = SOUND_MMILL1C //What? Why? What I do? | |
mobile_audio_labels[3] = SOUND_MMILL1D //You treat me like shit. You dress like shit. | |
mobile_audio_labels[4] = SOUND_MMILL1E //You wine and dine like shit. | |
mobile_audio_labels[5] = SOUND_MMILL1F //But... but... well... shit... | |
mobile_audio_labels[6] = SOUND_MMILL1G //It�s unanimous then, Carl Johnson is shit. See you around, Carl! | |
mobile_audio_labels[7] = SOUND_MMILL1H //Do NOT say, �like a doughnut!� | |
mobile_audio_labels[8] = SOUND_MMILL1J //Like a big round shit. | |
mobile_audio_labels[9] = SOUND_MMILL1K //Shit. | |
cell_index_end = 9 | |
BREAK | |
ENDSWITCH | |
ENDIF | |
RETURN | |
cell_phone_LA1: | |
SET_DEATHARREST_STATE OFF //stops script being terminated if Player dies/arrested | |
SCRIPT_NAME MOB_LA1 | |
cell_phone_LA1_inner: | |
WAIT 90 | |
// ******************************************************* | |
IF flag_player_on_mission = 0 | |
AND flag_mobile_timer = 0 | |
GET_GAME_TIMER timer_mobile_start | |
flag_mobile_timer = 1 | |
ENDIF | |
IF Return_cities_passed > 0 | |
//IF terminate_LA1_calls = 1 | |
TERMINATE_THIS_SCRIPT | |
//ENDIF | |
ENDIF | |
GOSUB check_player_is_safe_for_mobile | |
IF IS_PLAYER_PLAYING player1 | |
IF player_is_completely_safe_for_mobile = 1 | |
IF timer_mobile_diff > call_delay | |
IF flag_intro_mission_counter > 0 | |
IF flag_sweet_mission_counter < 2 | |
IF funeral_mission_finished = 3 | |
// SWEET PHONE CALL. TRIGGERS NOTHING*********************************************** | |
IF flag_mob_la1[5] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = SWEET_MOBILE_CALL2 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_la1[5] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_LA1_inner | |
ENDIF | |
ENDIF | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_sweet_mission_counter > 0 | |
// CRASH PHONE CALL. TRIGGERS NOTHING*********************************************** | |
IF flag_mob_la1[7] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = CRASH_MOBILE_CALL3 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_la1[7] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_LA1_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_strap_mission_counter = 4 | |
GET_TIME_OF_DAY hours minutes | |
IF hours >= 20 | |
OR hours < 6 | |
// OG LOC PHONE CALL. TRIGGERS HOUSE PARTY*********************************************** | |
IF flag_mob_la1[0] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = OGLOC_MOBILE_CALL3 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_la1[0] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_LA1_inner | |
ENDIF | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_sweet_mission_counter > 2 | |
// SWEET CALL. TRIGGERS GYM*********************************************** | |
IF flag_mob_la1[6] = 0 | |
//PRINT_HELP ( ANSWER ) | |
GET_FLOAT_STAT FAT Returnedfat | |
IF Returnedfat < 450.0 | |
call_number = SWEET_MOBILE_CALL3 | |
ENDIF | |
IF Returnedfat >= 450.0 | |
call_number = SWEET_MOBILE_CALL4 | |
ENDIF | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_la1[6] = 1 | |
DO_FADE 500 FADE_OUT | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 OFF | |
GET_CHAR_COORDINATES scplayer player_X player_Y player_Z | |
SET_CHAR_COORDINATES scplayer 2228.8914 -1737.1276 12.3906 | |
ENDIF | |
CLEAR_PRINTS | |
LOAD_SCENE 2228.5166 -1734.2740 15.7440 | |
REMOVE_BLIP gym_contact_blip | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2228.0002 -1722.8113 12.5543 RADAR_SPRITE_GYM gym_contact_blip | |
SET_FIXED_CAMERA_POSITION 2228.0945 -1735.1787 15.6865 0.0 0.0 0.0 //GYM | |
POINT_CAMERA_AT_POINT 2228.5166 -1734.2740 15.7440 JUMP_CUT | |
WAIT 500 | |
DO_FADE 1000 FADE_IN | |
PRINT_HELP GYMHELP | |
WAIT 5000 | |
PRINT_HELP DUMBELL | |
FLASH_HUD_OBJECT HUD_FLASH_RADAR | |
WAIT 5000 | |
FLASH_HUD_OBJECT -1 | |
DO_FADE 500 FADE_OUT | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
IF IS_PLAYER_PLAYING player1 | |
player_Z = player_Z - 0.5 | |
SET_CHAR_COORDINATES scplayer player_X player_Y player_Z | |
LOAD_SCENE player_X player_Y player_Z | |
RESTORE_CAMERA_JUMPCUT | |
SET_PLAYER_CONTROL player1 ON | |
ENDIF | |
SWITCH_ENTRY_EXIT gym1 TRUE | |
SWITCH_ENTRY_EXIT gym2 TRUE | |
SWITCH_ENTRY_EXIT gym3 TRUE | |
REMOVE_BLIP gym_contact_blip | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT 2228.0002 -1722.8113 12.5543 RADAR_SPRITE_GYM gym_contact_blip | |
CHANGE_BLIP_DISPLAY gym_contact_blip BLIP_ONLY | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT -2269.4, -155.6, 35.3 RADAR_SPRITE_GYM gym_blips[0] //GYM2 | |
CHANGE_BLIP_DISPLAY gym_blips[0] BLIP_ONLY | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT 1968.6, 2292.1, 16.4 RADAR_SPRITE_GYM gym_blips[1] //GYM3 | |
CHANGE_BLIP_DISPLAY gym_blips[1] BLIP_ONLY | |
WAIT 500 | |
DO_FADE 1000 FADE_IN | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_LA1_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_strap_mission_counter > 1 | |
// CRASH TEAM CALL. TRIGGERS CRASH STRAND*********************************************** | |
IF flag_mob_la1[1] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = CRASH_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_la1[1] = 1 | |
START_NEW_SCRIPT crash_mission_loop | |
REMOVE_BLIP crash_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT crashX crashY crashZ crash_blip_icon crash_contact_blip | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_LA1_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_sweet_mission_counter > 6 | |
// CESAR CALL. TRIGGERS CESAR STRAND*********************************************** | |
IF flag_mob_la1[2] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = CESAR_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_la1[2] = 1 | |
START_NEW_SCRIPT cesar_mission_loop | |
REMOVE_BLIP cesar_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT cesarX cesarY cesarZ cesar_blip_icon cesar_contact_blip | |
CHANGE_BLIP_DISPLAY cesar_contact_blip BLIP_ONLY | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_LA1_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_sweet_mission_counter > 6 | |
IF flag_crash_mission_counter > 0 | |
// CESAR CALL. TRIGGERS DOBERMAN MISSION*********************************************** | |
IF flag_mob_la1[4] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = SWEET_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_la1[4] = 1 | |
SWITCH_ENTRY_EXIT ammun1 FALSE | |
REMOVE_BLIP sweet_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT 1365.2507 -1280.1200 12.5469 sweet_blip_icon sweet_contact_blip | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_LA1_inner | |
ENDIF | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
flag_cell_nation = 0 | |
ENDIF | |
GOTO cell_phone_LA1_inner | |
cell_phone_cat: | |
SET_DEATHARREST_STATE OFF //stops script being terminated if Player dies/arrested | |
SCRIPT_NAME MOB_CAT | |
cell_phone_cat_inner: | |
WAIT 120 | |
// ******************************************************** | |
IF flag_player_on_mission = 0 | |
AND flag_mobile_timer = 0 | |
GET_GAME_TIMER timer_mobile_start | |
flag_mobile_timer = 1 | |
ENDIF | |
IF terminate_cat_calls = 1 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
GOSUB check_player_is_safe_for_mobile | |
IF IS_PLAYER_PLAYING player1 | |
IF player_is_completely_safe_for_mobile = 1 | |
IF timer_mobile_diff > call_delay | |
IF flag_bcrash_mission_counter > 0 | |
// CESAR PHONE CALL. TRIGGERS CAT MISSION 1*********************************************** | |
IF flag_mob_cat[0] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = CESAR_MOBILE_CALL4 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_cat[0] = 1 | |
START_NEW_SCRIPT cat_mission_loop | |
REMOVE_BLIP cat_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT catX[5] catY[5] catZ[5] RADAR_SPRITE_MYSTERY cat_contact_blip //TRUCK STOP | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_cat_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_bcrash_mission_counter > 0 | |
// SWEET PRISION PHONE CALL. TRIGGERS FUCK ALL******************************************************************* | |
IF flag_mob_cat[3] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = SWEET_MOBILE_CALL7 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_cat[3] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_cat_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_truth_mission_counter = 0 | |
AND cat_counter = 1 | |
// TRUTH PHONE CALL. TRIGGERS TRUTH MISSION 1*********************************************** | |
IF flag_mob_cat[1] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = TRUTH_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_cat[1] = 1 | |
START_NEW_SCRIPT truth_mission_loop | |
REMOVE_BLIP truth_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT truth2X truth2Y truth2Z truth_blip_icon truth_contact_blip //HOTEL | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_cat_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF cat_counter = 3 | |
//AND catalina_generation_flag < 2 | |
// CATALINA PHONE CALLS. TRIGGERS THE FINAL CAT MISSION*********************************************** | |
IF flag_mob_cat[5] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = CATALINA_MOBILE_CUT2 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_cat[5] = 1 | |
SET_ZONE_GANG_STRENGTH ELCO1 GANG_NMEX 40 | |
SET_ZONE_GANG_STRENGTH ELCO2 GANG_NMEX 40 | |
SET_ZONE_GANG_STRENGTH ELCO1 GANG_SMEX 0 | |
SET_ZONE_GANG_STRENGTH ELCO2 GANG_SMEX 0 | |
SET_ZONE_GANG_STRENGTH ELCO1 GANG_GROVE 0 | |
SET_ZONE_GANG_STRENGTH ELCO2 GANG_GROVE 0 | |
SET_ZONE_GANG_STRENGTH LMEX1a GANG_NMEX 30 | |
SET_ZONE_GANG_STRENGTH LMEX1b GANG_NMEX 30 | |
SET_ZONE_GANG_STRENGTH LMEX1a GANG_SMEX 0 | |
SET_ZONE_GANG_STRENGTH LMEX1b GANG_SMEX 0 | |
SET_ZONE_GANG_STRENGTH LMEX1a GANG_GROVE 0 | |
SET_ZONE_GANG_STRENGTH LMEX1b GANG_GROVE 0 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_cat_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF cat_counter > 1 | |
AND flag_bcesar_mission_counter = 0 | |
// CESAR PHONE CALL. TRIGGERS BCESAR RACE1******************************************************************* | |
IF flag_mob_cat[6] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = CESAR_MOBILE_CALL9 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_cat[6] = 1 | |
START_NEW_SCRIPT bcesar_mission_loop | |
REMOVE_BLIP bcesar_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT bcesarX bcesarY bcesarZ cesar_blip_icon bcesar_contact_blip //FARM | |
CHANGE_BLIP_DISPLAY bcesar_contact_blip BLIP_ONLY | |
PRINT BC4_1 8000 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_cat_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF cat_counter > 3 | |
AND flag_bcesar_mission_counter > 9 | |
// TRUTH PHONE CALL. TRIGGERS TRUTH2 MISSION***************************************************************** | |
IF flag_mob_cat[7] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = TRUTH_MOBILE_CALL2 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_cat[7] = 1 | |
REMOVE_BLIP truth_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT truthX truthY truthZ truth_blip_icon truth_contact_blip //TRUTHS FARM | |
SET_MAX_WANTED_LEVEL 5 | |
terminate_cat_calls = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_cat_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
flag_cell_nation = 0 | |
ENDIF | |
GOTO cell_phone_cat_inner | |
cell_phone_sanfran: | |
SET_DEATHARREST_STATE OFF //stops script being terminated if Player dies/arrested | |
SCRIPT_NAME MOB_SF | |
cell_phone_sanfran_inner: | |
WAIT 150 | |
// ******************************************************** | |
IF flag_player_on_mission = 0 | |
AND flag_mobile_timer = 0 | |
GET_GAME_TIMER timer_mobile_start | |
flag_mobile_timer = 1 | |
ENDIF | |
IF flag_mob_sanfran[8] = 1 | |
IF flag_mob_sanfran[4] = 1 | |
IF flag_mob_sanfran[3] = 1 | |
IF flag_mob_sanfran[1] = 1 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
GOSUB check_player_is_safe_for_mobile | |
IF IS_PLAYER_PLAYING player1 | |
IF player_is_completely_safe_for_mobile = 1 | |
IF timer_mobile_diff > call_delay | |
IF flag_Synd_mission_counter > 2 | |
// WUZI PHONE CALL. TRIGGERS WUZI STRAND***************************************************************** | |
IF flag_mob_sanfran[6] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = WUZI_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_sanfran[6] = 1 | |
START_NEW_SCRIPT wuzi_mission_loop | |
REMOVE_BLIP wuzi_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT wuziX wuziY wuziZ wuzi_blip_icon wuzi_contact_blip | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_sanfran_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_garage_mission_counter > 0 | |
// ZERO PHONE CALL. TRIGGERS ZERO BUY PROPERTY***************************************************************** | |
IF flag_mob_sanfran[0] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = ZERO_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_sanfran[0] = 1 | |
START_NEW_SCRIPT zero_buy_loop | |
REMOVE_BLIP zero_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[1] propertyY[1] propertyZ[1] RADAR_SPRITE_ZERO zero_contact_blip | |
CHANGE_BLIP_DISPLAY zero_contact_blip BLIP_ONLY | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_sanfran_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_garage_mission_counter > 0 | |
AND zeros_property_bought = 1 | |
// ZERO PHONE CALL. TRIGGERS ZERO MISSION***************************************************************** | |
IF flag_mob_sanfran[1] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = ZERO_MOBILE_CALL2 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_sanfran[1] = 1 | |
START_NEW_SCRIPT zero_mission_loop | |
REMOVE_BLIP zero_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT zeroX zeroY zeroZ zero_blip_icon zero_contact_blip | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_sanfran_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_garage_mission_counter > 1 | |
// JETHRO PHONE CALL. TRIGGERS DRIVING SCHOOL***************************************************************** | |
IF flag_mob_sanfran[2] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = JETHRO_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_sanfran[2] = 1 | |
START_NEW_SCRIPT trace_mission_loop // TEST STUFF | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT testsX testsY testsZ RADAR_SPRITE_SCHOOL dschool_contact_blip | |
//SET_BLIP_ENTRY_EXIT dschool_contact_blip -2026.4767 -99.8392 10.0 | |
CHANGE_BLIP_DISPLAY dschool_contact_blip BLIP_ONLY | |
START_NEW_SCRIPT boats_school_loop //TEST! FIND A SUITABLE LOCATION TO TRIGGER | |
REMOVE_BLIP boat_school_blip | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT boatsX boatsY boatsZ RADAR_SPRITE_SCHOOL boat_school_blip | |
CHANGE_BLIP_DISPLAY boat_school_blip BLIP_ONLY | |
START_NEW_SCRIPT bikes_school_loop //TEST! FIND A SUITABLE LOCATION TO TRIGGER | |
REMOVE_BLIP bike_school_blip | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT bikesX bikesY bikesZ RADAR_SPRITE_SCHOOL bike_school_blip | |
CHANGE_BLIP_DISPLAY bike_school_blip BLIP_ONLY | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_sanfran_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF driving_test_passed = 1 | |
//AND flag_desert_mission_counter > 3 | |
// JETHRO PHONE CALL. TRIGGERS RACE TOUR***************************************************************** | |
IF flag_mob_sanfran[3] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = JETHRO_MOBILE_CALL2 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_sanfran[3] = 1 | |
REMOVE_BLIP trace_contact_blip[0] | |
REMOVE_BLIP trace_contact_blip[1] | |
REMOVE_BLIP trace_contact_blip[2] | |
REMOVE_BLIP trace_contact_blip[3] | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT traceX[0] traceY[0] traceZ[0] RADAR_SPRITE_FLAG trace_contact_blip[0] | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT traceX[1] traceY[1] traceZ[1] RADAR_SPRITE_FLAG trace_contact_blip[1] | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT traceX[2] traceY[2] traceZ[2] RADAR_SPRITE_FLAG trace_contact_blip[2] | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT traceX[3] traceY[3] traceZ[3] RADAR_SPRITE_FLAG trace_contact_blip[3] | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_sanfran_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_mob_sanfran[9] = 1 | |
AND driving_test_passed = 1 | |
// JETHRO PHONE CALL. TRIGGERS STEAL PROPERTY BUY***************************************************************** | |
IF flag_mob_sanfran[4] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = JETHRO_MOBILE_CALL3 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_sanfran[4] = 1 | |
START_NEW_SCRIPT showroom_buy_loop | |
REMOVE_BLIP showroom_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT propertyX[0] propertyY[0] propertyZ[0] RADAR_SPRITE_CESAR showroom_contact_blip | |
CHANGE_BLIP_DISPLAY showroom_contact_blip BLIP_ONLY | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_sanfran_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_Synd_mission_counter = 10 | |
// TORENO PHONE CALL. TRIGGERS TORENO STRAND***************************************************************** | |
IF flag_mob_sanfran[9] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = TORENO_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_sanfran[9] = 1 | |
START_NEW_SCRIPT desert_mission_loop | |
REMOVE_BLIP save_house_blip[16] | |
REMOVE_PICKUP grove_save_pickup[16] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[16] save_pickupY[16] save_pickupZ[16] grove_save_pickup[16] //TORENOS RANCH//remove | |
number_of_save_icons = 17 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT save_pickupX[16] save_pickupY[16] save_pickupZ[16] RADAR_SPRITE_SAVEHOUSE save_house_blip[16] | |
CHANGE_BLIP_DISPLAY save_house_blip[16] BLIP_ONLY | |
REMOVE_BLIP desert_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desertX desertY desertZ RADAR_SPRITE_MYSTERY desert_contact_blip | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_sanfran_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_desert_mission_counter > 0 | |
// TORENO PHONE CALL. TRIGGERS DESERT2***************************************************************** | |
IF flag_mob_sanfran[5] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = TORENO_MOBILE_CALL2 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_sanfran[5] = 1 | |
REMOVE_BLIP desert_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desertX desertY desertZ RADAR_SPRITE_MYSTERY desert_contact_blip | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_sanfran_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_desert_mission_counter > 1 | |
// TORENO PHONE CALL. TRIGGERS DESERT3***************************************************************** | |
IF flag_mob_sanfran[7] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = TORENO_MOBILE_CALL3 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_sanfran[7] = 1 | |
REMOVE_BLIP desert_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desertX desertY desertZ desert_blip_icon desert_contact_blip | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_sanfran_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF pilot_test_passed > 0 | |
// WUZI PHONE CALL. TRIGGERS CASINO STRAND***************************************************************** | |
IF flag_mob_sanfran[8] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = WUZI_MOBILE_CALL3 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_sanfran[8] = 1 | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME MOB_VEG | |
START_NEW_SCRIPT cell_phone_vegas | |
START_NEW_SCRIPT casino_mission_loop | |
REMOVE_PICKUP grove_save_pickup[17] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[17] save_pickupY[17] save_pickupZ[17] grove_save_pickup[17] //TRIAD CASINO//remove | |
number_of_save_icons = 18 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT save_pickupX[17] save_pickupY[17] save_pickupZ[17] RADAR_SPRITE_SAVEHOUSE save_house_blip[17] | |
CHANGE_BLIP_DISPLAY save_house_blip[17] BLIP_ONLY | |
REMOVE_BLIP casino_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT casinoX casinoY casinoZ casino_blip_icon casino_contact_blip | |
SET_BLIP_ENTRY_EXIT casino_contact_blip 2026.6028 1007.7353 20.0 | |
ACTIVATE_GARAGE vEcmod | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2382.2, 1044.0, 9.8 RADAR_SPRITE_MOD_GARAGE mod_garage_blips[2] | |
SET_INT_STAT PASSED_CASINO3 1 | |
START_NEW_SCRIPT little_casino_cut | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_sanfran_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
flag_cell_nation = 0 | |
ENDIF | |
GOTO cell_phone_sanfran_inner | |
cell_phone_vegas: | |
SET_DEATHARREST_STATE OFF //stops script being terminated if Player dies/arrested | |
SCRIPT_NAME MOB_VEG | |
cell_phone_vegas_inner: | |
WAIT 180 | |
// ******************************************************** | |
IF flag_player_on_mission = 0 | |
AND flag_mobile_timer = 0 | |
GET_GAME_TIMER timer_mobile_start | |
flag_mobile_timer = 1 | |
ENDIF | |
IF flag_mob_vegas[8] = 1 | |
IF flag_mob_vegas[4] = 1 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
ENDIF | |
GOSUB check_player_is_safe_for_mobile | |
IF IS_PLAYER_PLAYING player1 | |
IF player_is_completely_safe_for_mobile = 1 | |
IF timer_mobile_diff > call_delay | |
IF flag_desert_mission_counter > 7 | |
// WUZI PHONE CALL. TRIGGERS FINAL TRUTH MISSION***************************************************************** | |
IF flag_mob_vegas[11] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = TRUTH_MOBILE_CALL3 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_vegas[11] = 1 | |
REMOVE_BLIP desert2_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desert2X desert2Y desert2Z desert2_blip_icon desert2_contact_blip | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_vegas_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_vcrash_mission_counter > 0 | |
AND flag_casino_mission_counter > 7 | |
// CRASH PHONE CALL. TRIGGERS VCRASH2 MISSION***************************************************************** | |
IF flag_mob_vegas[0] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = CRASH_MOBILE_CALL2 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_vegas[0] = 1 | |
REMOVE_BLIP vcrash_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT -378.7596 2235.8594 41.4288 crash_blip_icon vcrash_contact_blip | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_vegas_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_casino_mission_counter > 3 | |
// KENT PHONE CALL. TRIGGERS HOSPITAL MISSION***************************************************************** | |
IF flag_mob_vegas[2] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = KENT_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_vegas[2] = 1 | |
REMOVE_BLIP casino_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT heistX heistY heistZ heist_blip_icon casino_contact_blip | |
SET_BLIP_ENTRY_EXIT casino_contact_blip 2187.2856 1678.4614 20.0 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_vegas_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_casino_mission_counter > 6 | |
// ROSENBURG PHONE CALL. TRIGGERS FREEFALL***************************************************************** | |
IF flag_mob_vegas[3] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = ROSE_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_vegas[3] = 1 | |
REMOVE_BLIP casino_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT heistX heistY heistZ heist_blip_icon casino_contact_blip | |
SET_BLIP_ENTRY_EXIT casino_contact_blip 2187.2856 1678.4614 20.0 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_vegas_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_casino_mission_counter > 7 | |
IF flag_vcrash_mission_counter > 1 | |
IF flag_doc_mission_counter > 0 | |
IF flag_desert_mission_counter > 8 | |
// ROSENBURG PHONE CALL. TRIGGERS SAIT MARKS***************************************************************** | |
IF flag_mob_vegas[4] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = ROSE_MOBILE_CALL2 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_vegas[4] = 1 | |
REMOVE_BLIP casino_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT heistX heistY heistZ heist_blip_icon casino_contact_blip | |
SET_BLIP_ENTRY_EXIT casino_contact_blip 2187.2856 1678.4614 20.0 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_vegas_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF flag_heist_mission_counter > 1 | |
IF NOT IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
//AND iGFLikesPlayer[MILLIE] >= MILLIE_LIKES_PLAYER_REQUIRED_FOR_KEYCARD | |
GET_INT_STAT GIRLFRIEND_MILLIE millies_like_stat | |
IF millies_like_stat >= MILLIE_LIKES_PLAYER_REQUIRED_FOR_KEYCARD | |
// GOOD PHONE CALL FROM MILLIE. TRIGGERS KEYCARD FOR HEIST***************************************************************** | |
IF flag_mob_vegas[1] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = MILLIE_KEY_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
CREATE_PICKUP KEYCARD PICKUP_ONCE 348.7857 306.1048 998.6557 millies_keycard_pickup | |
START_NEW_SCRIPT millies_keycard_loop | |
REMOVE_BLIP Thekeycard_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT 2037.3492 2723.9714 9.8281 Theheist_blip_icon Thekeycard_contact_blip | |
CHANGE_BLIP_DISPLAY Thekeycard_contact_blip BLIP_ONLY | |
PRINT_NOW (GOODKEY) 6000 1 //You can now pick up the keycard | |
flag_mob_vegas[1] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_vegas_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
ENDIF | |
ENDIF | |
IF flag_heist_mission_counter > 1 | |
IF NOT IS_BIT_SET iDateReport DATE_IN_PROGRESS | |
IF iGFLikesPlayer[MILLIE] = GF_HATES_PLAYER | |
OR iGFLikesPlayer[MILLIE] = GF_IS_DEAD | |
// WUZI CALL. IF MILLIE DUMPED OR DEAD. TRIGGERS KEYCARD FOR HEIST***************************************************************** | |
IF flag_mob_vegas[1] = 0 | |
//PRINT_HELP ( ANSWER ) | |
IF iGFLikesPlayer[MILLIE] = GF_IS_DEAD | |
call_number = WUZI_MOBILE_CALL8 //DEAD | |
ENDIF | |
IF iGFLikesPlayer[MILLIE] = GF_HATES_PLAYER | |
call_number = WUZI_MOBILE_CALL7 //DUMPED | |
ENDIF | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
CREATE_PICKUP KEYCARD PICKUP_ONCE 348.7857 306.1048 998.6557 millies_keycard_pickup | |
START_NEW_SCRIPT millies_keycard_loop | |
REMOVE_BLIP Thekeycard_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT 2037.3492 2723.9714 9.8281 Theheist_blip_icon Thekeycard_contact_blip | |
CHANGE_BLIP_DISPLAY Thekeycard_contact_blip BLIP_ONLY | |
PRINT_NOW (BADKEY) 6000 1 //You need to rob her house to get the keycard | |
flag_mob_vegas[1] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_vegas_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
ENDIF | |
ENDIF | |
IF flag_heist_mission_counter > 4 | |
AND keycard_aquired_from_millie = 0 | |
AND flag_mob_vegas[6] = 0 | |
// WUZI PHONE CALL. REMINDER FOR KEYCARD***************************************************************** | |
IF flag_mob_vegas[5] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = WUZI_MOBILE_CALL4 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_vegas[5] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_vegas_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_casino_mission_counter > 8 | |
AND NOT flag_heist_mission_counter = 6 | |
// SALVATORY PHONE CALL. DONE SAINT MARKS MISSION************************************************************ | |
IF flag_mob_vegas[7] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = SALV_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_vegas[7] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_vegas_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_casino_mission_counter > 8 | |
AND flag_mob_vegas[6] = 0 | |
// WUZI PHONE CALL. REMINDER FOR HEIST AFTER SAINT MARKS***************************************************** | |
IF flag_mob_vegas[12] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = WUZI_MOBILE_CALL6 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_vegas[12] = 1 | |
IF keycard_aquired_from_millie = 1 | |
REMOVE_BLIP Theheist_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT TheheistX TheheistY TheheistZ Theheist_blip_icon Theheist_contact_blip | |
SET_BLIP_ENTRY_EXIT Theheist_contact_blip 2024.3904 1008.6202 20.0 | |
flag_mob_vegas[6] = 1 | |
ENDIF | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_vegas_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_casino_mission_counter > 8 | |
AND keycard_aquired_from_millie = 1 | |
// WUZI PHONE CALL. GOT THE KEYCARD************************************************************************** | |
IF flag_mob_vegas[6] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = WUZI_MOBILE_CALL5 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_vegas[6] = 1 | |
REMOVE_BLIP Theheist_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT TheheistX TheheistY TheheistZ Theheist_blip_icon Theheist_contact_blip | |
SET_BLIP_ENTRY_EXIT Theheist_contact_blip 2024.3904 1008.6202 20.0 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_vegas_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_heist_mission_counter > 5 | |
// SALVATORY PHONE CALL. DONE THE HEIST MISSION************************************************************** | |
IF flag_mob_vegas[8] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = SALV_MOBILE_CALL2 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_vegas[8] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_vegas_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
flag_cell_nation = 0 | |
ENDIF | |
GOTO cell_phone_vegas_inner | |
cell_phone_LA2: | |
SET_DEATHARREST_STATE OFF //stops script being terminated if Player dies/arrested | |
SCRIPT_NAME MOB_LA2 | |
cell_phone_LA2_inner: | |
WAIT 250 | |
// ******************************************************** | |
IF flag_player_on_mission = 0 | |
AND flag_mobile_timer = 0 | |
GET_GAME_TIMER timer_mobile_start | |
flag_mobile_timer = 1 | |
ENDIF | |
IF flag_mob_LA2[2] = 1 | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
GOSUB check_player_is_safe_for_mobile | |
IF IS_PLAYER_PLAYING player1 | |
IF player_is_completely_safe_for_mobile = 1 | |
IF timer_mobile_diff > call_delay | |
IF flag_mansion_mission_counter > 0 | |
// ROSENBURG PHONE CALL. OPENS THE HARRIER MISSION***************************************************************** | |
IF flag_mob_LA2[0] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = ROSE_MOBILE_CALL3 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_LA2[0] = 1 | |
REMOVE_BLIP mansion_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT mansionX mansionY mansionZ mansion_blip_icon mansion_contact_blip | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_LA2_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_casino_mission_counter > 2 //SWEET IN PRISON CALL | |
AND flag_mansion_mission_counter < 2 | |
IF flag_mob_LA2[1] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = SWEET_MOBILE_CALL8 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_LA2[1] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_LA2_inner | |
ENDIF | |
ENDIF | |
IF flag_riot_mission_counter > 1 //TRIGGERS GANG WARS | |
IF flag_mob_LA2[3] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = SWEET_MOBILE_CALL5 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
REMOVE_BLIP sweet_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
flag_mob_LA2[3] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GET_TERRITORY_UNDER_CONTROL_PERCENTAGE player_territory_owned | |
IF player_territory_owned <= 34 | |
PRINT_NOW MORTURF 12000 1 //Take over gang territories | |
ENDIF | |
GOTO cell_phone_LA2_inner | |
ENDIF | |
ENDIF | |
IF flag_riot_mission_counter > 1 //TRIGGERS FINALE | |
GET_TERRITORY_UNDER_CONTROL_PERCENTAGE player_territory_owned | |
IF player_territory_owned > 34 | |
IF flag_mob_LA2[2] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = SWEET_MOBILE_CALL6 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
REMOVE_BLIP sweet_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
flag_mob_LA2[2] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_LA2_inner | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
flag_cell_nation = 0 | |
ENDIF | |
GOTO cell_phone_LA2_inner | |
cell_phone_random: | |
SET_DEATHARREST_STATE OFF //stops script being terminated if Player dies/arrested | |
SCRIPT_NAME MOB_RAN | |
cell_phone_random_inner: | |
WAIT 1000 | |
IF flag_player_on_mission = 0 | |
AND flag_mobile_timer = 0 | |
GET_GAME_TIMER timer_mobile_start | |
flag_mobile_timer = 1 | |
ENDIF | |
GOSUB check_player_is_safe_for_mobile | |
IF IS_PLAYER_PLAYING player1 | |
IF player_is_completely_safe_for_mobile = 1 | |
IF timer_mobile_diff > 60000 | |
IF failed_cesar_race = 1 | |
AND flag_cesar_mission_counter = 0 | |
// KENDAL CALL. TRIGGERS FUCK ALL*********************************************** | |
IF flag_mob_random[5] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = KENDAL_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_random[5] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_random_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF trigger_phonecall_failed = 1 | |
AND flag_smoke_mission_counter = 1 | |
GET_FLOAT_STAT FAT Returnedfat | |
IF Returnedfat >= 500.0 | |
// SMOKE CALL. TRIGGERS FUCK ALL*********************************************** | |
IF flag_mob_random[6] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = SMOKE_MOBILE_CALL1 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_random[6] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_random_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
ENDIF | |
IF flag_wuzi_mission_counter > 1 | |
// CATALINA RANDOM PHONE CALLS. TRIGGERS FUCK ALL******************************************************************* | |
IF flag_mob_random[0] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = CATALINA_MOBILE_CUT3 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_random[0] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_random_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_desert_mission_counter > 5 | |
// CATALINA RANDOM PHONE CALLS. TRIGGERS FUCK ALL******************************************************************* | |
IF flag_mob_random[1] = 0 | |
//fuck this phone call// | |
flag_mob_random[1] = 1 | |
/* | |
//PRINT_HELP ( ANSWER ) | |
call_number = CATALINA_MOBILE_CUT4 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_random[1] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_random_inner | |
*/ | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_casino_mission_counter > 5 | |
// CATALINA RANDOM PHONE CALLS. TRIGGERS FUCK ALL******************************************************************* | |
IF flag_mob_random[2] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = CATALINA_MOBILE_CUT5 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_random[2] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_random_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_mansion_mission_counter > 2 | |
// CATALINA RANDOM PHONE CALLS. TRIGGERS FUCK ALL******************************************************************* | |
IF flag_mob_random[3] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = CATALINA_MOBILE_CUT6 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_random[3] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_random_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF flag_riot_mission_counter > 4 | |
// CATALINA RANDOM PHONE CALLS. TRIGGERS FUCK ALL******************************************************************* | |
IF flag_mob_random[4] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = CATALINA_MOBILE_CUT7 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_random[4] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_random_inner | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
IF d5_watched_first_cutscene = 1 //TORENO REMINDER | |
AND pilot_test_passed = 0 | |
IF flag_mob_random[7] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = TORENO_MOBILE_CALL4 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_random[7] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_random_inner | |
ENDIF | |
ENDIF | |
IF d5_watched_first_cutscene = 1 //TORENO REMINDER | |
AND pilot_test_passed = 0 | |
AND flag_mob_random[7] = 1 | |
IF flag_mob_random[8] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = TORENO_MOBILE_CALL5 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_random[8] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_random_inner | |
ENDIF | |
ENDIF | |
IF d5_watched_first_cutscene = 1 //TORENO REMINDER | |
AND pilot_test_passed = 0 | |
AND flag_mob_random[8] = 1 | |
IF flag_mob_random[9] = 0 | |
//PRINT_HELP ( ANSWER ) | |
call_number = TORENO_MOBILE_CALL6 | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_random[9] = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_random_inner | |
ENDIF | |
ENDIF | |
GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT debt.sc number_of_instances_of_streamed_script | |
IF im_players_city = LEVEL_LASVEGAS | |
IF NOT IS_SCORE_GREATER player1 -499 | |
IF number_of_instances_of_streamed_script = 0 | |
// LOAD SHARK REMINDER***************************************************************** | |
IF flag_mob_random[10] = 0 | |
//PRINT_HELP ( ANSWER ) | |
IF loan_shark_reminder = 7 | |
call_number = LOANSHARK_CALL8 | |
loan_shark_reminder = 0 | |
ENDIF | |
IF loan_shark_reminder = 6 | |
call_number = LOANSHARK_CALL7 | |
loan_shark_reminder = 7 | |
ENDIF | |
IF loan_shark_reminder = 5 | |
call_number = LOANSHARK_CALL6 | |
loan_shark_reminder = 6 | |
ENDIF | |
IF loan_shark_reminder = 4 | |
call_number = LOANSHARK_CALL5 | |
loan_shark_reminder = 5 | |
ENDIF | |
IF loan_shark_reminder = 3 | |
call_number = LOANSHARK_CALL4 | |
loan_shark_reminder = 4 | |
ENDIF | |
IF loan_shark_reminder = 2 | |
call_number = LOANSHARK_CALL3 | |
loan_shark_reminder = 3 | |
ENDIF | |
IF loan_shark_reminder = 1 | |
call_number = LOANSHARK_CALL2 | |
loan_shark_reminder = 2 | |
ENDIF | |
IF loan_shark_reminder = 0 | |
call_number = LOANSHARK_CALL1 | |
loan_shark_reminder = 1 | |
ENDIF | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_random[10] = 1 | |
flag_mob_random[11] = 0 | |
terminate_cat_calls = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_random_inner | |
ENDIF | |
// ********************************************************************************************************** | |
IF flag_mob_random[10] = 1 | |
IF flag_mob_random[11] = 0 | |
//PRINT_HELP ( ANSWER ) | |
IF loan_shark_hitmen = 7 | |
call_number = LOANSHARK_CALL16 | |
loan_shark_hitmen = 0 | |
ENDIF | |
IF loan_shark_hitmen = 6 | |
call_number = LOANSHARK_CALL15 | |
loan_shark_hitmen = 7 | |
ENDIF | |
IF loan_shark_hitmen = 5 | |
call_number = LOANSHARK_CALL14 | |
loan_shark_hitmen = 6 | |
ENDIF | |
IF loan_shark_hitmen = 4 | |
call_number = LOANSHARK_CALL13 | |
loan_shark_hitmen = 5 | |
ENDIF | |
IF loan_shark_hitmen = 3 | |
call_number = LOANSHARK_CALL12 | |
loan_shark_hitmen = 4 | |
ENDIF | |
IF loan_shark_hitmen = 2 | |
call_number = LOANSHARK_CALL11 | |
loan_shark_hitmen = 3 | |
ENDIF | |
IF loan_shark_hitmen = 1 | |
call_number = LOANSHARK_CALL10 | |
loan_shark_hitmen = 2 | |
ENDIF | |
IF loan_shark_hitmen = 0 | |
call_number = LOANSHARK_CALL9 | |
loan_shark_hitmen = 1 | |
ENDIF | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
IF flag_player_answered_phone = 1 | |
flag_mob_random[11] = 1 | |
terminate_cat_calls = 1 | |
ENDIF | |
GOSUB mobile_message_cleanup | |
GOTO cell_phone_random_inner | |
ENDIF | |
ENDIF | |
IF flag_mob_random[11] = 1 | |
STREAM_SCRIPT debt.sc | |
IF HAS_STREAMED_SCRIPT_LOADED debt.sc | |
START_NEW_STREAMED_SCRIPT debt.sc | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
flag_cell_nation = 0 | |
ENDIF | |
GOTO cell_phone_random_inner | |
// ********************** GIRLFRIENDS ONE SHOT CALL | |
cell_phone_GF: | |
SCRIPT_NAME MOB_GF | |
LVAR_INT iGFCaller iCallType // parameters: iGFCaller = the girl, iCallType = CALL_DATE or CALL_DUMP | |
LVAR_INT iCallRandomVariant | |
SET_DEATHARREST_STATE OFF //stops script being terminated if Player dies/arrested | |
SET_BIT iAgentFlags MOBILE_CALL_SCRIPT_RUNNING | |
CLEAR_BIT iAgentFlags MOBILE_CALL_ANSWERED | |
GENERATE_RANDOM_INT_IN_RANGE 0 8 iCallRandomVariant // generate a random variation of the mobile call (0-7) | |
cell_phone_GF_inner: | |
WAIT 150 | |
GOSUB check_player_is_safe_for_mobile | |
IF IS_PLAYER_PLAYING player1 | |
IF player_is_completely_safe_for_mobile = 1 | |
IF timer_mobile_diff > call_delay | |
// COOCHIE PHONE CALL. ************************************************************************************ | |
IF iGFCaller = COOCHIE | |
//PRINT_HELP ( ANSWER ) | |
IF iCallType = CALL_DATE | |
call_number = COOCHIE_MOBILE | |
call_number += iCallRandomVariant | |
IF call_number > COOCHIE_MOBILE8 | |
call_number = COOCHIE_MOBILE8 | |
ENDIF | |
ELSE | |
call_number = COOCHIE_DUMP | |
ENDIF | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
SET_BIT iAgentFlags MOBILE_CALL_ANSWERED | |
SET_BIT iAgentFlags iGFCaller | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
CLEAR_BIT iAgentFlags MOBILE_CALL_SCRIPT_RUNNING | |
GOSUB mobile_message_cleanup | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
// ********************************************************************************************************** | |
// MICHELLE PHONE CALL. ************************************************************************************ | |
IF iGFCaller = MICHELLE | |
//PRINT_HELP ( ANSWER ) | |
IF iCallType = CALL_DATE | |
call_number = MICHELLE_MOBILE | |
call_number += iCallRandomVariant | |
IF call_number > MICHELLE_MOBILE8 | |
call_number = MICHELLE_MOBILE8 | |
ENDIF | |
ELSE | |
call_number = MICHELLE_DUMP | |
ENDIF | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
SET_BIT iAgentFlags MOBILE_CALL_ANSWERED | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
CLEAR_BIT iAgentFlags MOBILE_CALL_SCRIPT_RUNNING | |
GOSUB mobile_message_cleanup | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
// ********************************************************************************************************** | |
// KYLIE PHONE CALL. ************************************************************************************ | |
IF iGFCaller = KYLIE | |
//PRINT_HELP ( ANSWER ) | |
IF iCallType = CALL_DATE | |
call_number = KYLIE_MOBILE | |
call_number += iCallRandomVariant | |
IF call_number > KYLIE_MOBILE8 | |
call_number = KYLIE_MOBILE8 | |
ENDIF | |
ELSE | |
call_number = KYLIE_DUMP | |
ENDIF | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
SET_BIT iAgentFlags MOBILE_CALL_ANSWERED | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
CLEAR_BIT iAgentFlags MOBILE_CALL_SCRIPT_RUNNING | |
GOSUB mobile_message_cleanup | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
// ********************************************************************************************************** | |
// BARBARA PHONE CALL. ************************************************************************************ | |
IF iGFCaller = BARBARA | |
//PRINT_HELP ( ANSWER ) | |
IF iCallType = CALL_DATE | |
call_number = BARBARA_MOBILE | |
call_number += iCallRandomVariant | |
IF call_number > BARBARA_MOBILE8 | |
call_number = BARBARA_MOBILE8 | |
ENDIF | |
ELSE | |
call_number = BARBARA_DUMP | |
ENDIF | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
SET_BIT iAgentFlags MOBILE_CALL_ANSWERED | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
SET_BIT iAgentFlags MOBILE_CALL_ANSWERED | |
ENDIF | |
CLEAR_BIT iAgentFlags MOBILE_CALL_SCRIPT_RUNNING | |
GOSUB mobile_message_cleanup | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
// ********************************************************************************************************** | |
// SUZIE PHONE CALL. ************************************************************************************ | |
IF iGFCaller = SUZIE | |
//PRINT_HELP ( ANSWER ) | |
IF iCallType = CALL_DATE | |
call_number = SUZIE_MOBILE | |
call_number += iCallRandomVariant | |
IF call_number > SUZIE_MOBILE8 | |
call_number = SUZIE_MOBILE8 | |
ENDIF | |
ELSE | |
call_number = SUZIE_DUMP | |
ENDIF | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
SET_BIT iAgentFlags MOBILE_CALL_ANSWERED | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
SET_BIT iAgentFlags MOBILE_CALL_ANSWERED | |
ENDIF | |
CLEAR_BIT iAgentFlags MOBILE_CALL_SCRIPT_RUNNING | |
GOSUB mobile_message_cleanup | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
// ********************************************************************************************************** | |
// MILLIE PHONE CALL. ************************************************************************************ | |
IF iGFCaller = MILLIE | |
//PRINT_HELP ( ANSWER ) | |
IF iCallType = CALL_DATE | |
call_number = MILLIE_MOBILE | |
call_number += iCallRandomVariant | |
IF call_number > MILLIE_MOBILE8 | |
call_number = MILLIE_MOBILE8 | |
ENDIF | |
ELSE | |
call_number = MILLIE_DUMP | |
ENDIF | |
GOSUB mobile_rings | |
IF flag_player_answered_phone = 1 | |
SET_BIT iAgentFlags MOBILE_CALL_ANSWERED | |
GOSUB mobile_chat_switch | |
GOSUB load_and_play_mobile_calls | |
ENDIF | |
CLEAR_BIT iAgentFlags MOBILE_CALL_SCRIPT_RUNNING | |
GOSUB mobile_message_cleanup | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
// ********************************************************************************************************** | |
ENDIF | |
ELSE | |
CLEAR_BIT iAgentFlags MOBILE_CALL_SCRIPT_RUNNING | |
GOSUB mobile_message_cleanup | |
TERMINATE_THIS_SCRIPT | |
ENDIF | |
ELSE | |
flag_cell_nation = 0 | |
ENDIF | |
GOTO cell_phone_GF_inner | |
// END OF GIRLFRIENDS ONE SHOT CALL ******************************************************* | |
mobile_rings: | |
ring_a_ding_ding = 0 | |
flag_player_on_mission = 1 | |
flag_cell_nation = 1 | |
audio_slot_mobile = 1 | |
LOAD_MISSION_AUDIO 3 SOUND_MOBRING | |
players_skipping_the_call = 0 | |
//--- Print the generic message unless its a girlfriend call (for a frame, to get the sound fx) | |
SWITCH call_number | |
CASE COOCHIE_MOBILE | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER0 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE MICHELLE_MOBILE | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER1 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE KYLIE_MOBILE | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER2 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE BARBARA_MOBILE | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER3 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE SUZIE_MOBILE | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER4 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE MILLIE_MOBILE | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER5 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE COOCHIE_DUMP | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER0 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE MICHELLE_DUMP | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER1 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE KYLIE_DUMP | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER2 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE BARBARA_DUMP | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER3 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE SUZIE_DUMP | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER4 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE MILLIE_DUMP | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER5 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
DEFAULT | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
ENDSWITCH | |
WHILE ring_a_ding_ding < 7 | |
AND flag_player_answered_phone < 2 | |
WAIT 0 | |
//--- Print (forever this time) the generic message unless its a girlfriend call | |
SWITCH call_number | |
CASE COOCHIE_MOBILE | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWE0R 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE MICHELLE_MOBILE | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER1 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE KYLIE_MOBILE | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER2 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE BARBARA_MOBILE | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER3 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE SUZIE_MOBILE | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER4 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE MILLIE_MOBILE | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER5 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE COOCHIE_DUMP | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER0 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE MICHELLE_DUMP | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER1 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE KYLIE_DUMP | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER2 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE BARBARA_DUMP | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER3 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE SUZIE_DUMP | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER4 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
CASE MILLIE_DUMP | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER5 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
DEFAULT | |
PRINT_HELP_FOREVER_CONDITIONAL ANSWER 128 // (flag 128 is CONDITION_FLAG_ANSWER_PHONE). | |
BREAK | |
ENDSWITCH | |
audio_slot_mobile = 3 | |
GOSUB loading_and_playing_audio | |
++ ring_a_ding_ding | |
IF flag_player_answered_phone = 1 | |
AND ring_a_ding_ding > 0 | |
GOTO imploding_head | |
ENDIF | |
GOSUB has_audio_finished | |
IF flag_player_answered_phone = 1 | |
AND ring_a_ding_ding > 0 | |
GOTO imploding_head | |
ENDIF | |
mobile_pause = 0 | |
WHILE mobile_pause < 40 | |
WAIT 0 | |
GOSUB death_checker | |
IF flag_player_answered_phone = 1 | |
GOTO imploding_head | |
ENDIF | |
++ mobile_pause | |
ENDWHILE | |
ENDWHILE | |
GET_GAME_TIMER timer_mobile_start | |
RETURN | |
imploding_head: | |
players_skipping_the_call = 1 | |
GET_GAME_TIMER timer_mobile_start | |
ADD_WIDGET_FLAG WIDGET_PHONE 128 // WIDGET_FLAG_PULSATE | |
WHILE IS_BUTTON_PRESSED PAD1 LEFTSHOULDER1 | |
OR IS_WIDGET_RELEASED WIDGET_PHONE | |
WAIT 0 | |
IF NOT IS_PLAYER_PLAYING player1 | |
flag_player_answered_phone = 2 | |
RETURN | |
ENDIF | |
ENDWHILE | |
CLEAR_HELP | |
CLEAR_MISSION_AUDIO 1 | |
IF IS_PLAYER_PLAYING player1 | |
SET_EVERYONE_IGNORE_PLAYER player1 ON | |
SHUT_CHAR_UP scplayer TRUE | |
REQUEST_MODEL cellphone | |
WHILE NOT HAS_MODEL_LOADED cellphone | |
WAIT 0 | |
ENDWHILE | |
GOSUB death_checker | |
IF flag_player_answered_phone = 2 | |
MARK_MODEL_AS_NO_LONGER_NEEDED cellphone | |
RETURN | |
ENDIF | |
TASK_USE_MOBILE_PHONE scplayer TRUE | |
timera = 0 | |
WHILE timera < 2000 | |
WAIT 0 | |
IF NOT IS_PLAYER_PLAYING player1 | |
flag_player_answered_phone = 2 | |
RETURN | |
ENDIF | |
ENDWHILE | |
ENDIF | |
RETURN | |
loading_and_playing_audio: | |
WHILE NOT HAS_MISSION_AUDIO_LOADED audio_slot_mobile | |
WAIT 0 | |
IF NOT IS_PLAYER_PLAYING player1 | |
flag_player_answered_phone = 2 | |
RETURN | |
ELSE | |
IF IS_CHAR_IN_WATER scplayer | |
OR IS_CHAR_SHOOTING scplayer | |
OR NOT IS_CHAR_ON_FOOT scplayer | |
OR flag_player_on_mission = 0 | |
OR NOT main_visible_area = 0 | |
OR NOT player_fall_state = 0 | |
flag_player_answered_phone = 2 | |
CLEAR_HELP | |
RETURN | |
ENDIF | |
IF IS_GANG_WAR_FIGHTING_GOING_ON | |
OR IS_PLAYER_USING_JETPACK Player1 | |
OR IS_MINIGAME_IN_PROGRESS | |
flag_player_answered_phone = 2 | |
CLEAR_HELP | |
RETURN | |
ENDIF | |
IF flag_player_answered_phone = 0 | |
AND ring_a_ding_ding > 0 | |
IF NOT IS_CHAR_SHOOTING scplayer | |
ADD_WIDGET_FLAG WIDGET_PHONE 128 // WIDGET_FLAG_PULSATE | |
IF IS_BUTTON_PRESSED PAD1 LEFTSHOULDER1 | |
OR IS_WIDGET_RELEASED WIDGET_PHONE | |
IF CAN_PLAYER_START_MISSION player1 | |
flag_player_answered_phone = 1 | |
RETURN | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF players_skipping_the_call = 1 | |
REMOVE_WIDGET_FLAG WIDGET_PHONE 128 // WIDGET_FLAG_PULSATE | |
IF IS_BUTTON_PRESSED PAD1 TRIANGLE | |
OR IS_WIDGET_RELEASED WIDGET_PHONE | |
players_skipping_the_call = 2 | |
RETURN | |
ENDIF | |
ENDIF | |
IF flag_player_on_mission = 0 | |
flag_player_answered_phone = 2 | |
RETURN | |
ENDIF | |
ENDIF | |
ENDWHILE | |
IF NOT IS_CHAR_IN_WATER scplayer | |
PLAY_MISSION_AUDIO audio_slot_mobile | |
ENDIF | |
RETURN | |
has_audio_finished: | |
WHILE NOT HAS_MISSION_AUDIO_FINISHED audio_slot_mobile | |
WAIT 0 | |
IF NOT IS_PLAYER_PLAYING player1 | |
flag_player_answered_phone = 2 | |
RETURN | |
ELSE | |
IF IS_CHAR_IN_WATER scplayer | |
OR IS_CHAR_SHOOTING scplayer | |
OR NOT IS_CHAR_ON_FOOT scplayer | |
OR flag_player_on_mission = 0 | |
OR NOT main_visible_area = 0 | |
OR NOT player_fall_state = 0 | |
flag_player_answered_phone = 2 | |
CLEAR_HELP | |
RETURN | |
ENDIF | |
IF IS_GANG_WAR_FIGHTING_GOING_ON | |
OR IS_PLAYER_USING_JETPACK Player1 | |
OR IS_MINIGAME_IN_PROGRESS | |
flag_player_answered_phone = 2 | |
CLEAR_HELP | |
RETURN | |
ENDIF | |
IF flag_player_answered_phone = 0 | |
AND ring_a_ding_ding > 0 | |
ADD_WIDGET_FLAG WIDGET_PHONE 128 // WIDGET_FLAG_PULSATE | |
IF IS_BUTTON_PRESSED PAD1 LEFTSHOULDER1 | |
OR IS_WIDGET_RELEASED WIDGET_PHONE | |
IF CAN_PLAYER_START_MISSION player1 | |
flag_player_answered_phone = 1 | |
RETURN | |
ENDIF | |
ENDIF | |
ENDIF | |
IF players_skipping_the_call = 1 | |
REMOVE_WIDGET_FLAG WIDGET_PHONE 128 // WIDGET_FLAG_PULSATE | |
IF IS_BUTTON_PRESSED PAD1 TRIANGLE | |
OR IS_WIDGET_RELEASED WIDGET_PHONE | |
players_skipping_the_call = 2 | |
RETURN | |
ENDIF | |
ENDIF | |
IF flag_player_on_mission = 0 | |
flag_player_answered_phone = 2 | |
RETURN | |
ENDIF | |
ENDIF | |
ENDWHILE | |
RETURN | |
death_checker: | |
IF NOT IS_PLAYER_PLAYING player1 | |
flag_player_answered_phone = 2 | |
RETURN | |
ELSE | |
IF IS_CHAR_IN_WATER scplayer | |
OR IS_CHAR_SHOOTING scplayer | |
OR NOT IS_CHAR_ON_FOOT scplayer | |
OR flag_player_on_mission = 0 | |
OR NOT main_visible_area = 0 | |
OR NOT player_fall_state = 0 | |
flag_player_answered_phone = 2 | |
CLEAR_HELP | |
RETURN | |
ENDIF | |
IF IS_GANG_WAR_FIGHTING_GOING_ON | |
OR IS_PLAYER_USING_JETPACK Player1 | |
OR IS_MINIGAME_IN_PROGRESS | |
flag_player_answered_phone = 2 | |
CLEAR_HELP | |
RETURN | |
ENDIF | |
IF flag_player_answered_phone = 0 | |
AND ring_a_ding_ding > 0 | |
IF NOT IS_CHAR_SHOOTING scplayer | |
ADD_WIDGET_FLAG WIDGET_PHONE 128 // WIDGET_FLAG_PULSATE | |
IF IS_BUTTON_PRESSED PAD1 LEFTSHOULDER1 | |
OR IS_WIDGET_RELEASED WIDGET_PHONE | |
IF CAN_PLAYER_START_MISSION player1 | |
flag_player_answered_phone = 1 | |
RETURN | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF players_skipping_the_call = 1 | |
REMOVE_WIDGET_FLAG WIDGET_PHONE 128 // WIDGET_FLAG_PULSATE | |
IF IS_BUTTON_PRESSED PAD1 TRIANGLE | |
OR IS_WIDGET_RELEASED WIDGET_PHONE | |
players_skipping_the_call = 2 | |
RETURN | |
ENDIF | |
ENDIF | |
IF flag_player_on_mission = 0 | |
flag_player_answered_phone = 2 | |
RETURN | |
ENDIF | |
ENDIF | |
RETURN | |
mobile_message_cleanup: | |
flag_cell_nation = 0 | |
CLEAR_MISSION_AUDIO 1 | |
CLEAR_MISSION_AUDIO 2 | |
CLEAR_MISSION_AUDIO 3 | |
flag_player_answered_phone = 0 | |
flag_mobile_timer = 0 | |
IF IS_PLAYER_PLAYING player1 | |
//GET_SCRIPT_TASK_STATUS scplayer TASK_USE_MOBILE_PHONE mobile_ReturnStatus | |
//IF NOT mobile_ReturnStatus = FINISHED_TASK | |
TASK_USE_MOBILE_PHONE scplayer FALSE | |
//ENDIF | |
SET_PLAYER_CONTROL player1 ON | |
SET_EVERYONE_IGNORE_PLAYER player1 OFF | |
SHUT_CHAR_UP scplayer FALSE | |
ENDIF | |
GET_GAME_TIMER timer_mobile_start | |
timer_mobile_diff = 0 | |
GET_GAME_TIMER timer_mobile_now | |
timer_mobile_diff = timer_mobile_now - timer_mobile_start | |
CLEAR_PRINTS | |
IF flag_new_cont = 0 | |
CLEAR_HELP | |
ELSE | |
flag_new_cont = 0 | |
ENDIF | |
MARK_MODEL_AS_NO_LONGER_NEEDED cellphone | |
flag_player_on_mission = 0 | |
RETURN | |
load_and_play_mobile_calls: | |
cell_index_start = 0 | |
loop_cell_phone_audio: | |
LOAD_MISSION_AUDIO 1 mobile_audio_labels[cell_index_start] | |
cell_index_start ++ | |
IF cell_index_start <= cell_index_end | |
LOAD_MISSION_AUDIO 2 mobile_audio_labels[cell_index_start] | |
ENDIF | |
cell_index_start -- | |
audio_slot_mobile = 1 | |
GOSUB loading_and_playing_audio | |
PRINT_NOW ( $mobile_print_labels[cell_index_start] ) 10000 1 //rhubarb rhubarb | |
GOSUB has_audio_finished | |
IF players_skipping_the_call = 2 | |
RETURN | |
ENDIF | |
cell_index_start ++ | |
IF cell_index_start <= cell_index_end | |
audio_slot_mobile = 2 | |
GOSUB loading_and_playing_audio | |
PRINT_NOW ( $mobile_print_labels[cell_index_start] ) 10000 1 //rhubarb rhubarb | |
GOSUB has_audio_finished | |
ELSE | |
cell_index_start -- | |
ENDIF | |
IF players_skipping_the_call = 2 | |
RETURN | |
ENDIF | |
cell_index_start ++ | |
IF skip_the_mobile_call = 0 | |
PRINT_HELP CELSKIP // ~m~~widget_phone~ To skip a cellphone call. | |
skip_the_mobile_call = 1 | |
ENDIF | |
IF cell_index_start <= cell_index_end | |
GOTO loop_cell_phone_audio | |
ENDIF | |
CLEAR_PRINTS | |
RETURN | |
} | |
/* OLD FAT CALL | |
$mobile_print_labels[0] = &MSWE06A //Yo? | |
$mobile_print_labels[1] = &MSWE06B //Hey, CJ, it�s Sweet. | |
$mobile_print_labels[2] = &MSWE06C //Whassup? | |
$mobile_print_labels[3] = &MSWE06D //If you don�t respect your body, ain�t nobody going to respect you! | |
$mobile_print_labels[4] = &MSWE06O //You�re too fat, CJ, you need to get some exercise! | |
$mobile_print_labels[5] = &MSWE06F //If I wanted nagging, I�d buy a clockwork wife! | |
$mobile_print_labels[6] = &MSWE06G //Just looking out for you, homie. | |
$mobile_print_labels[7] = &MSWE06H //It�s all show and respect, you lnow? | |
$mobile_print_labels[8] = &MSWE06J //Yeah, I guess. | |
$mobile_print_labels[9] = &MSWE06K //There�s a gym I use a couple of blocks out from the Grove. | |
$mobile_print_labels[10] = &MSWE06L //Go check it out and get yo�self a gangsta�s physique. | |
$mobile_print_labels[11] = &MSWE06N //I�ll scope it out. | |
$mobile_print_labels[12] = &MSWE06M //Later, man. | |
mobile_audio_labels[0] = SOUND_MSWE06A //Yo? | |
mobile_audio_labels[1] = SOUND_MSWE06B //Hey, CJ, it�s Sweet. | |
mobile_audio_labels[2] = SOUND_MSWE06C //Whassup? | |
mobile_audio_labels[3] = SOUND_MSWE06D //If you don�t respect your body, ain�t nobody going to respect you! | |
mobile_audio_labels[4] = SOUND_MSWE06E //You�re too skinny, CJ, you need to pack on some muscle! | |
mobile_audio_labels[5] = SOUND_MSWE06F //If I wanted nagging, I�d buy a clockwork wife! | |
mobile_audio_labels[6] = SOUND_MSWE06G //Just looking out for you, homie. | |
mobile_audio_labels[7] = SOUND_MSWE06H //It�s all show and respect, you lnow? | |
mobile_audio_labels[8] = SOUND_MSWE06J //Yeah, I guess. | |
mobile_audio_labels[9] = SOUND_MSWE06K //There�s a gym I use a couple of blocks out from the Grove. | |
mobile_audio_labels[10] = SOUND_MSWE06L //Go check it out and get yo�self a gangsta�s physique. | |
mobile_audio_labels[11] = SOUND_MSWE06N //I�ll scope it out. | |
mobile_audio_labels[12] = SOUND_MSWE06M //Later, man. | |
*/ | |
MISSION_START | |
VAR_FLOAT x_float_m y_float_m z_float_m text_x text_y text_z text_h player_heading_debug debug_car_heading | |
VAR_FLOAT cut_offsetX cut_offsetY cut_offsetZ | |
VAR_INT carcolour_flag1 carcolour_flag2 carcolour_counter1 carcolour_counter2 carcolour_counter3 carcolour_counter4 | |
VAR_INT magic_car record_car1 | |
VAR_INT initial_create_car widscreen_flag debug_number is_player_in_mission_menu1 text_debug_num change_area_code | |
VAR_INT counter_create_car cheat_mode_on mission_debug_page last_mission_debug_page | |
VAR_INT button_pressed_warp button_pressed_warp_odd button_pressed_main relative_button_press button_pressed_cutscene_main | |
VAR_INT repeat_button_press text_button_pressed initial_pickup debug_active | |
VAR_INT no_cars repeat_butt_press print_stuff_button print_stuff_counter | |
VAR_INT counter_create_pickup magic_pickup test_heli1_created debug_cutscene_number cutscene_index | |
VAR_INT weather_crap add_just_the_once_though debug_game_timer visible_area cut_doesnt_have_text | |
VAR_INT is_stunt_jump_debug is_rightshock_pressed | |
VAR_FLOAT corona_x corona_y corona_z stunt_jump_debug_X stunt_jump_debug_Y stunt_jump_debug_Z /*bulldozerY_d dumperY_d*/ | |
VAR_FLOAT RStickX_F RStickY_F truthX_d debug_heading TEXT_POS_X TEXT_POS_Y TEXT_POS_Y_STEP TEXT_SCALEX TEXT_SCALEY | |
VAR_FLOAT driving_schoolx_d basketballx_d limox_d directorx_d valetx_d heistX_d vcrashX_d desert2X_d strap2X_d | |
VAR_FLOAT goto_thereX goto_thereY goto_thereZ syndX_d stealX_d casinoX_d cesarX_d docX_d pimpY_d | |
VAR_FLOAT sweetX_d ryderY_d smokeX_d strapX_d wuziX_d introY_d bcrashX_d hitchX_d pilotX_d TheheistX_d | |
VAR_FLOAT mansionX_d crashY_d traceX_d[4] zeroX_d bcesarX_d scrashX_d garageX_d desertX_d catx_d | |
VAR_TEXT_LABEL $new_cut $cuttext | |
VAR_FLOAT second_playerX second_playerY second_playerZ | |
VAR_INT second_playercreated COL1_R COL1_G COL1_B COL2_R COL2_G COL2_B cut_visible_area[84] cut_visible_area2[75] cut_visible_area3[23] | |
VAR_TEXT_LABEL $cutscene_name[84] $cutscene_file[84] $cutscene_text[84] | |
VAR_TEXT_LABEL $cutscene_name2[75] $cutscene_file2[75] $cutscene_text2[75] | |
VAR_TEXT_LABEL $cutscene_name3[23] $cutscene_file3[23] | |
VAR_INT debug_visible_area | |
VAR_INT iAudioDebug | |
VAR_INT MissionNum | |
VAR_INT MissionPage | |
MissionNum = -1 | |
MissionPage = 0 | |
last_mission_debug_page = -1 | |
//--- AUDIO DEBUG CONSTS | |
CONST_INT TEXT1 0 | |
CONST_INT TEXT2 1 | |
CONST_INT GET_PED_1 2 | |
CONST_INT GENERATE_PED_1 3 | |
CONST_INT GET_PED_2 4 | |
CONST_INT GENERATE_PED_2 5 | |
CONST_INT FACING 6 | |
CONST_INT CHAT 7 | |
CONST_INT END 8 | |
CONST_INT AD_BUTTON_NONE 0 | |
CONST_INT AD_BUTTON_DPADUP 1 | |
CONST_INT AD_BUTTON_DPADDOWN 2 | |
CONST_INT AD_BUTTON_DPADLEFT 3 | |
CONST_INT AD_BUTTON_DPADRIGHT 4 | |
CONST_INT AD_BUTTON_CROSS 5 | |
// ******************PAGE1********************* | |
// DROPPED CUTS- CRSAH2A, BCRAS2 don't think there's ever been a BCRAS2?? | |
$cutscene_file[0] = PROLOG1 | |
cut_visible_area[0] = 14 | |
$cutscene_name[0] = CUT01 | |
$cutscene_text[0] = INTRO1 | |
$cutscene_file[1] = INTRO1A | |
cut_visible_area[1] = 3 | |
$cutscene_name[1] = CUT02 | |
$cutscene_text[1] = INTRO1 | |
$cutscene_file[2] = INTRO1B | |
cut_visible_area[2] = 0 | |
$cutscene_name[2] = CUT03 | |
$cutscene_text[2] = INTRO1 | |
$cutscene_file[3] = INTRO2A | |
cut_visible_area[3] = 2 | |
$cutscene_name[3] = CUT04 | |
$cutscene_text[3] = INTRO2 | |
$cutscene_file[4] = SWEET1A | |
cut_visible_area[4] = 0 | |
$cutscene_name[4] = CUT05 | |
$cutscene_text[4] = SWEET1 | |
$cutscene_file[5] = SWEET1B | |
cut_visible_area[5] = 1 | |
$cutscene_name[5] = CUT06 | |
$cutscene_text[5] = SWEET1B | |
$cutscene_file[6] = SWEET3A | |
cut_visible_area[6] = 1 | |
$cutscene_name[6] = CUT07 | |
$cutscene_text[6] = SWEET2 | |
$cutscene_file[7] = SWEET3B | |
cut_visible_area[7] = 0 | |
$cutscene_name[7] = CUT08 | |
$cutscene_text[7] = SWEET2 | |
$cutscene_file[8] = SWEET2A | |
cut_visible_area[8] = 0 | |
$cutscene_name[8] = CUT09 | |
$cutscene_text[8] = SWEET3 | |
$cutscene_file[9] = SWEET2B | |
cut_visible_area[9] = 0 | |
$cutscene_name[9] = CUT10 | |
$cutscene_text[9] = SWEET3 | |
$cutscene_file[10] = SWEET4A | |
cut_visible_area[10] = 0 | |
$cutscene_name[10] = CUT11 | |
$cutscene_text[10] = SWEET4 | |
$cutscene_file[11] = SWEET5A | |
cut_visible_area[11] = 1 | |
$cutscene_name[11] = CUT12 | |
$cutscene_text[11] = SWEET5 | |
$cutscene_file[12] = SWEET6A | |
cut_visible_area[12] = 1 | |
$cutscene_name[12] = CUT13 | |
$cutscene_text[12] = SWEET6 | |
$cutscene_file[13] = SWEET6B | |
cut_visible_area[13] = 0 | |
$cutscene_name[13] = CUT14 | |
$cutscene_text[13] = SWEET6 | |
$cutscene_file[14] = SWEET7A | |
cut_visible_area[14] = 0 | |
$cutscene_name[14] = CUT15 | |
$cutscene_text[14] = SWEET7 | |
$cutscene_file[15] = SMOKE1A | |
cut_visible_area[15] = 0 | |
$cutscene_name[15] = CUT16 | |
$cutscene_text[15] = SMOKE1 | |
$cutscene_file[16] = SMOKE1B | |
cut_visible_area[16] = 0 | |
$cutscene_name[16] = CUT17 | |
$cutscene_text[16] = SMOKE1 | |
$cutscene_file[17] = SMOKE2A | |
cut_visible_area[17] = 0 | |
$cutscene_name[17] = CUT18 | |
$cutscene_text[17] = SMOKE2 | |
$cutscene_file[18] = SMOKE2B | |
cut_visible_area[18] = 0 | |
$cutscene_name[18] = CUT19 | |
$cutscene_text[18] = SMOKE2 | |
$cutscene_file[19] = SMOKE3A | |
cut_visible_area[19] = 0 | |
$cutscene_name[19] = CUT20 | |
$cutscene_text[19] = SMOKE3 | |
$cutscene_file[20] = SMOKE4A | |
cut_visible_area[20] = 0 | |
$cutscene_name[20] = CUT21 | |
$cutscene_text[20] = SMOKE4 | |
$cutscene_file[21] = RYDER1A | |
cut_visible_area[21] = 0 | |
$cutscene_name[21] = CUT22 | |
$cutscene_text[21] = RYDER1 | |
$cutscene_file[22] = RYDER2A | |
cut_visible_area[22] = 0 | |
$cutscene_name[22] = CUT23 | |
$cutscene_text[22] = RYDER2 | |
$cutscene_file[23] = RYDER3A | |
cut_visible_area[23] = 2 | |
$cutscene_name[23] = CUT24 | |
$cutscene_text[23] = RYDER3 | |
$cutscene_file[24] = STRAP1A | |
cut_visible_area[24] = 0 | |
$cutscene_name[24] = CUT25 | |
$cutscene_text[24] = STRAP1 | |
$cutscene_file[25] = STRAP2A | |
cut_visible_area[25] = 10 | |
$cutscene_name[25] = CUT26 | |
$cutscene_text[25] = STRAP2 | |
$cutscene_file[26] = STRAP3A | |
cut_visible_area[26] = 10 | |
$cutscene_name[26] = CUT27 | |
$cutscene_text[26] = STRAP3 | |
$cutscene_file[27] = STRAP4A | |
cut_visible_area[27] = 0 | |
$cutscene_name[27] = CUT28 | |
$cutscene_text[27] = STRAP4 | |
$cutscene_file[28] = Strp4b1 | |
cut_visible_area[28] = 3 | |
$cutscene_name[28] = CUT29 | |
$cutscene_text[28] = STRAP4 | |
$cutscene_file[29] = Strp4b2 //2nd part | |
cut_visible_area[29] = 0 | |
$cutscene_name[29] = CUT135 | |
$cutscene_text[29] = STRAP4 | |
$cutscene_file[30] = CRASH1A | |
cut_visible_area[30] = 17 | |
$cutscene_name[30] = CUT30 | |
$cutscene_text[30] = CRASH1 | |
$cutscene_file[31] = CRASH2A | |
cut_visible_area[31] = 0 | |
$cutscene_name[31] = CUT31 | |
$cutscene_text[31] = CRASH2 | |
$cutscene_file[32] = CRASH3A | |
cut_visible_area[32] = 0 | |
$cutscene_name[32] = CUT32 | |
$cutscene_text[32] = CRASH3 | |
$cutscene_file[33] = CESAR1A | |
cut_visible_area[33] = 0 | |
$cutscene_name[33] = CUT33 | |
$cutscene_text[33] = CESAR1 | |
$cutscene_file[34] = CESAR2A | |
cut_visible_area[34] = 0 | |
$cutscene_name[34] = CUT34 | |
$cutscene_text[34] = CESAR2 | |
$cutscene_file[35] = FINAL1A | |
cut_visible_area[35] = 1 | |
$cutscene_name[35] = CUT35 | |
$cutscene_text[35] = LAFIN1 | |
$cutscene_file[36] = FINAL2A | |
cut_visible_area[36] = 1 | |
$cutscene_name[36] = CUT36 | |
$cutscene_text[36] = LAFIN2 | |
$cutscene_file[37] = FINAL2B | |
cut_visible_area[37] = 0 | |
$cutscene_name[37] = CUT37 | |
$cutscene_text[37] = LAFIN2 | |
$cutscene_file[38] = BCRAS1 | |
cut_visible_area[38] = 0 | |
$cutscene_name[38] = CUT38 | |
$cutscene_text[38] = BCRASH1 | |
$cutscene_file[39] = BCESAR2 | |
cut_visible_area[39] = 2 | |
$cutscene_name[39] = CUT39 | |
$cutscene_text[39] = BCESAR2 | |
$cutscene_file[40] = BCESAR4 | |
cut_visible_area[40] = 0 | |
$cutscene_name[40] = CUT40 | |
$cutscene_text[40] = BCESAR4 | |
$cutscene_file[41] = BCESA4W | |
cut_visible_area[41] = 0 | |
$cutscene_name[41] = CUT41 | |
$cutscene_text[41] = BCESAR4 | |
$cutscene_file[42] = BCESA5W | |
cut_visible_area[42] = 0 | |
$cutscene_name[42] = CUT42 | |
$cutscene_text[42] = BCESAR4 | |
$cutscene_file[43] = CAT_1 | |
cut_visible_area[43] = 1 | |
$cutscene_name[43] = CUT43 | |
$cutscene_text[43] = CAT | |
$cutscene_file[44] = CAT_2 | |
cut_visible_area[44] = 0 | |
$cutscene_name[44] = CUT44 | |
$cutscene_text[44] = CAT | |
$cutscene_file[45] = CAT_3 | |
cut_visible_area[45] = 0 | |
$cutscene_name[45] = CUT45 | |
$cutscene_text[45] = CAT | |
$cutscene_file[46] = CAT_4 | |
cut_visible_area[46] = 0 | |
$cutscene_name[46] = CUT46 | |
$cutscene_text[46] = CAT | |
$cutscene_file[47] = DESERT1 | |
cut_visible_area[47] = 0 | |
$cutscene_name[47] = CUT47 | |
$cutscene_text[47] = TORENO1 | |
$cutscene_file[48] = DESERT2 | |
cut_visible_area[48] = 0 | |
$cutscene_name[48] = CUT48 | |
$cutscene_text[48] = TORENO2 | |
$cutscene_file[49] = DESERT3 | |
cut_visible_area[49] = 0 | |
$cutscene_name[49] = CUT49 | |
$cutscene_text[49] = DSERT3 | |
$cutscene_file[50] = DESERT4 | |
cut_visible_area[50] = 0 | |
$cutscene_name[50] = CUT50 | |
$cutscene_text[50] = DSERT4 | |
$cutscene_file[51] = DESERT6 | |
cut_visible_area[51] = 0 | |
$cutscene_name[51] = CUT52 | |
$cutscene_text[51] = DSERT6 | |
$cutscene_file[52] = DESERT8 | |
cut_visible_area[52] = 0 | |
$cutscene_name[52] = CUT54 | |
$cutscene_text[52] = DSERT8 | |
$cutscene_file[53] = DESERT9 | |
cut_visible_area[53] = 0 | |
$cutscene_name[53] = CUT55 | |
$cutscene_text[53] = DSERT9 | |
$cutscene_file[54] = DES_10A | |
cut_visible_area[54] = 0 | |
$cutscene_name[54] = CUT56 | |
$cutscene_text[54] = DSERT10 | |
$cutscene_file[55] = DES_10B | |
cut_visible_area[55] = 0 | |
$cutscene_name[55] = CUT57 | |
$cutscene_text[55] = DSERT10 | |
$cutscene_file[56] = FARL_2A | |
cut_visible_area[56] = 3 | |
$cutscene_name[56] = CUT60 | |
$cutscene_text[56] = FARLIE2 | |
$cutscene_file[57] = FARL_3A | |
cut_visible_area[57] = 3 | |
$cutscene_name[57] = CUT61 | |
$cutscene_text[57] = FARLIE3 | |
$cutscene_file[58] = FARL_3B | |
cut_visible_area[58] = 0 | |
$cutscene_name[58] = CUT62 | |
$cutscene_text[58] = FARLIE3 | |
$cutscene_file[59] = FARL_4A | |
cut_visible_area[59] = 1 | |
$cutscene_name[59] = CUT63 | |
$cutscene_text[59] = FARLIE4 | |
$cutscene_file[60] = FARL_5A | |
cut_visible_area[60] = 1 | |
$cutscene_name[60] = CUT64 | |
$cutscene_text[60] = FARLIE5 | |
$cutscene_file[61] = GARAG1B | |
cut_visible_area[61] = 1 | |
$cutscene_name[61] = CUT65 | |
$cutscene_text[61] = GARAGE1 | |
$cutscene_file[62] = GARAG1C | |
cut_visible_area[62] = 1 | |
$cutscene_name[62] = CUT66 | |
$cutscene_text[62] = GARAGE1 | |
$cutscene_file[63] = GARAG3A | |
cut_visible_area[63] = 1 | |
$cutscene_name[63] = CUT67 | |
$cutscene_text[63] = GARAGE2 | |
$cutscene_file[64] = SCRASH1 | |
cut_visible_area[64] = 1 | |
$cutscene_name[64] = CUT69 | |
$cutscene_text[64] = VALET1 | |
$cutscene_file[65] = SCRASH2 | |
cut_visible_area[65] = 1 | |
$cutscene_name[65] = CUT70 | |
$cutscene_text[65] = SCRASH2 | |
$cutscene_file[66] = STEAL_1 | |
cut_visible_area[66] = 1 | |
$cutscene_name[66] = CUT71 | |
$cutscene_text[66] = STEAL1 | |
$cutscene_file[67] = STEAL_2 | |
cut_visible_area[67] = 1 | |
$cutscene_name[67] = CUT72 | |
$cutscene_text[67] = STEAL2 | |
$cutscene_file[68] = STEAL_4 | |
cut_visible_area[68] = 1 | |
$cutscene_name[68] = CUT74 | |
$cutscene_text[68] = STEAL4 | |
$cutscene_file[69] = STEAL_5 | |
cut_visible_area[69] = 1 | |
$cutscene_name[69] = CUT75 | |
$cutscene_text[69] = STEAL5 | |
$cutscene_file[70] = SYND_2A | |
cut_visible_area[70] = 1 | |
$cutscene_name[70] = CUT76 | |
$cutscene_text[70] = SYN2 | |
$cutscene_file[71] = SYND_2B | |
cut_visible_area[71] = 3 | |
$cutscene_name[71] = CUT77 | |
$cutscene_text[71] = SYN2 | |
$cutscene_file[72] = SYND_3A | |
cut_visible_area[72] = 0 | |
$cutscene_name[72] = CUT78 | |
$cutscene_text[72] = SYN3 | |
$cutscene_file[73] = SYND_4A | |
cut_visible_area[73] = 1 | |
$cutscene_name[73] = CUT79 | |
$cutscene_text[73] = SYN4 | |
$cutscene_file[74] = SYND_7 | |
cut_visible_area[74] = 1 | |
$cutscene_name[74] = CUT80 | |
$cutscene_text[74] = SYN7 | |
$cutscene_file[75] = TRUTH_1 | |
cut_visible_area[75] = 12 | |
$cutscene_name[75] = CUT81 | |
$cutscene_text[75] = TRU1 | |
$cutscene_file[76] = TRUTH_2 | |
cut_visible_area[76] = 0 | |
$cutscene_name[76] = CUT82 | |
$cutscene_text[76] = TRU2 | |
$cutscene_file[77] = WOOZI1A | |
cut_visible_area[77] = 1 | |
$cutscene_name[77] = CUT83 | |
$cutscene_text[77] = WUZI1 | |
$cutscene_file[78] = WOOZIE2 | |
cut_visible_area[78] = 1 | |
$cutscene_name[78] = CUT84 | |
$cutscene_text[78] = WUZI2 | |
$cutscene_file[79] = WOOZIE4 | |
cut_visible_area[79] = 1 | |
$cutscene_name[79] = CUT86 | |
$cutscene_text[79] = WUZI4 | |
$cutscene_file[80] = ZERO_1 | |
cut_visible_area[80] = 6 | |
$cutscene_name[80] = CUT87 | |
$cutscene_text[80] = ZERO1 | |
$cutscene_file[81] = ZERO_2 | |
cut_visible_area[81] = 6 | |
$cutscene_name[81] = CUT88 | |
$cutscene_text[81] = ZERO2 | |
$cutscene_file[82] = ZERO_3 | |
cut_visible_area[82] = 6 | |
$cutscene_name[82] = CUT89 | |
$cutscene_text[82] = ZERO3 | |
$cutscene_file[83] = ZERO_4 | |
cut_visible_area[83] = 6 | |
$cutscene_name[83] = CUT90 | |
$cutscene_text[83] = ZERO4 | |
// ******************PAGE2********************* | |
$cutscene_file2[0] = W2_ALT | |
cut_visible_area2[0] = 1 | |
$cutscene_name2[0] = CUT91 | |
$cutscene_text2[0] = WUZI2 | |
$cutscene_file2[1] = BCESAR5 | |
cut_visible_area2[1] = 0 | |
$cutscene_name2[1] = CUT92 | |
$cutscene_text2[1] = BCESAR4 | |
$cutscene_file2[2] = D8_ALT | |
cut_visible_area2[2] = 0 | |
$cutscene_name2[2] = CUT94 | |
$cutscene_text2[2] = DSERT8 | |
$cutscene_file2[3] = D10_ALT | |
cut_visible_area2[3] = 0 | |
$cutscene_name2[3] = CUT95 | |
$cutscene_text2[3] = DSERT10 | |
$cutscene_file2[4] = SYND_3B | |
cut_visible_area2[4] = 0 | |
$cutscene_name2[4] = CUT96 | |
$cutscene_text2[4] = SYN3 | |
$cutscene_file2[5] = SYND_4B | |
cut_visible_area2[5] = 3 | |
$cutscene_name2[5] = CUT97 | |
$cutscene_text2[5] = SYN4 | |
$cutscene_file2[6] = CAS_1a | |
cut_visible_area2[6] = 11 | |
$cutscene_name2[6] = CUT98 | |
$cutscene_text2[6] = CASINO1 | |
$cutscene_file2[7] = WOOZI1B | |
cut_visible_area2[7] = 1 | |
$cutscene_name2[7] = CUT83 | |
$cutscene_text2[7] = WUZI1 | |
$cutscene_file2[8] = CAS_2 | |
cut_visible_area2[8] = 11 | |
$cutscene_name2[8] = CUT100 | |
$cutscene_text2[8] = CASINO2 | |
$cutscene_file2[9] = CAS_3 | |
cut_visible_area2[9] = 11 | |
$cutscene_name2[9] = CUT101 | |
$cutscene_text2[9] = CASINO3 | |
$cutscene_file2[10] = CAS_4a | |
cut_visible_area2[10] = 0 | |
$cutscene_name2[10] = CUT102 | |
$cutscene_text2[10] = CASINO4 | |
$cutscene_file2[11] = CAS_4b | |
cut_visible_area2[11] = 0 | |
$cutscene_name2[11] = CUT103 | |
$cutscene_text2[11] = CASINO4 | |
$cutscene_file2[12] = CAS_4c | |
cut_visible_area2[12] = 2 | |
$cutscene_name2[12] = CUT104 | |
$cutscene_text2[12] = CASINO4 | |
$cutscene_file2[13] = CAS_5a | |
cut_visible_area2[13] = 2 | |
$cutscene_name2[13] = CUT105 | |
$cutscene_text2[13] = CASINO5 | |
$cutscene_file2[14] = CAS_6a | |
cut_visible_area2[14] = 2 | |
$cutscene_name2[14] = CUT106 | |
$cutscene_text2[14] = CASINO6 | |
$cutscene_file2[15] = CAS6b_1 | |
cut_visible_area2[15] = 1 | |
$cutscene_name2[15] = CUT107 | |
$cutscene_text2[15] = CASINO6 | |
$cutscene_file2[16] = CAS_7b | |
cut_visible_area2[16] = 11 | |
$cutscene_name2[16] = CUT109 | |
$cutscene_text2[16] = CASINO7 | |
$cutscene_file2[17] = Cas_9a1 | |
cut_visible_area2[17] = 2 | |
$cutscene_name2[17] = CUT110 | |
$cutscene_text2[17] = CASINO9 | |
$cutscene_file2[18] = CAS_11a | |
cut_visible_area2[18] = 2 | |
$cutscene_name2[18] = CUT111 | |
$cutscene_text2[18] = CASIN10 | |
$cutscene_file2[19] = HEIST1a | |
cut_visible_area2[19] = 10 | |
$cutscene_name2[19] = CUT112 | |
$cutscene_text2[19] = HEIST1 | |
$cutscene_file2[20] = HEIST2a | |
cut_visible_area2[20] = 10 | |
$cutscene_name2[20] = CUT113 | |
$cutscene_text2[20] = HEIST3 | |
$cutscene_file2[21] = HEIST4a | |
cut_visible_area2[21] = 10 | |
$cutscene_name2[21] = CUT115 | |
$cutscene_text2[21] = HEIST2 | |
$cutscene_file2[22] = HEIST5a | |
cut_visible_area2[22] = 10 | |
$cutscene_name2[22] = CUT116 | |
$cutscene_text2[22] = HEIST4 | |
$cutscene_file2[23] = HEIST6a | |
cut_visible_area2[23] = 10 | |
$cutscene_name2[23] = CUT117 | |
$cutscene_text2[23] = HEIST5 | |
$cutscene_file2[24] = HEIST8a | |
cut_visible_area2[24] = 0 | |
$cutscene_name2[24] = CUT118 | |
$cutscene_text2[24] = HEIST9 | |
$cutscene_file2[25] = CRASHV1 | |
cut_visible_area2[25] = 0 | |
$cutscene_name2[25] = CUT119 | |
$cutscene_text2[25] = VCR1 | |
$cutscene_file2[26] = CRASV2A | |
cut_visible_area2[26] = 0 | |
$cutscene_name2[26] = CUT120 | |
$cutscene_text2[26] = VCR2 | |
$cutscene_file2[27] = DOC_2 | |
cut_visible_area2[27] = 0 | |
$cutscene_name2[27] = CUT121 | |
$cutscene_text2[27] = DOC2 | |
$cutscene_file2[28] = BHILL1 | |
cut_visible_area2[28] = 11 | |
$cutscene_name2[28] = CUT122 | |
$cutscene_text2[28] = MAN_1 | |
$cutscene_file2[29] = BHILL2 | |
cut_visible_area2[29] = 5 | |
$cutscene_name2[29] = CUT123 | |
$cutscene_text2[29] = MAN_2 | |
$cutscene_file2[30] = BHILL3a | |
cut_visible_area2[30] = 5 | |
$cutscene_name2[30] = CUT124 | |
$cutscene_text2[30] = MAN_3 | |
$cutscene_file2[31] = BHILL3b | |
cut_visible_area2[31] = 0 | |
$cutscene_name2[31] = CUT125 | |
$cutscene_text2[31] = MAN_3 | |
$cutscene_file2[32] = BHILL3c | |
cut_visible_area2[32] = 0 | |
$cutscene_name2[32] = CUT126 | |
$cutscene_text2[32] = MAN_3 | |
$cutscene_file2[33] = BHILL5a | |
cut_visible_area2[33] = 5 | |
$cutscene_name2[33] = CUT127 | |
$cutscene_text2[33] = MAN_5 | |
$cutscene_file2[34] = BHILL5b | |
cut_visible_area2[34] = 3 | |
$cutscene_name2[34] = CUT128 | |
$cutscene_text2[34] = MAN_5 | |
$cutscene_file2[35] = GROVE1a | |
cut_visible_area2[35] = 3 | |
$cutscene_name2[35] = CUT129 | |
$cutscene_text2[35] = GROVE1 | |
$cutscene_file2[36] = GROVE1b | |
cut_visible_area2[36] = 3 | |
$cutscene_name2[36] = CUT130 | |
$cutscene_text2[36] = GROVE1 | |
$cutscene_file2[37] = GROVE1c | |
cut_visible_area2[37] = 2 | |
$cutscene_name2[37] = CUT131 | |
$cutscene_text2[37] = GROVE1 | |
$cutscene_file2[38] = GROVE2 | |
cut_visible_area2[38] = 1 | |
$cutscene_name2[38] = CUT132 | |
$cutscene_text2[38] = GROVE2 | |
$cutscene_file2[39] = RIOT_1A | |
cut_visible_area2[39] = 5 | |
$cutscene_name2[39] = CUT133 | |
$cutscene_text2[39] = RIOT1 | |
$cutscene_file2[40] = RIOT_2 | |
cut_visible_area2[40] = 1 | |
$cutscene_name2[40] = CUT134 | |
$cutscene_text2[40] = RIOT2 | |
$cutscene_file2[41] = RIOT_4a | |
cut_visible_area2[41] = 1 | |
$cutscene_name2[41] = CUT137 | |
$cutscene_text2[41] = RIOT4 | |
$cutscene_file2[42] = RIOT_4b | |
cut_visible_area2[42] = 0 | |
$cutscene_name2[42] = CUT138 | |
$cutscene_text2[42] = RIOT4 | |
$cutscene_file2[43] = RIOT_4c | |
cut_visible_area2[43] = 2 | |
$cutscene_name2[43] = CUT139 | |
$cutscene_text2[43] = RIOT4 | |
$cutscene_file2[44] = RIOT_4d | |
cut_visible_area2[44] = 2 | |
$cutscene_name2[44] = CUT140 | |
$cutscene_text2[44] = RIOT4 | |
$cutscene_file2[45] = Riot4e1 | |
cut_visible_area2[45] = 0 | |
$cutscene_name2[45] = CUT141 | |
$cutscene_text2[45] = RIOT4 | |
$cutscene_file2[46] = EPILOG | |
cut_visible_area2[46] = 3 | |
$cutscene_name2[46] = CUT142 | |
$cutscene_text2[46] = RIOT4 | |
$cutscene_file2[47] = SWEET1C | |
cut_visible_area2[47] = 3 | |
$cutscene_name2[47] = CUT143 | |
$cutscene_text2[47] = SWEET1B | |
$cutscene_file2[48] = PROLOG2 | |
cut_visible_area2[48] = 0 | |
$cutscene_name2[48] = CUT150 | |
$cutscene_text2[48] = INTRO1 | |
$cutscene_file2[49] = PROLOG3 | |
cut_visible_area2[49] = 0 | |
$cutscene_name2[49] = CUT151 | |
$cutscene_text2[49] = INTRO1 | |
$cutscene_file2[50] = BCRAS2 | |
cut_visible_area2[50] = 0 | |
$cutscene_name2[50] = CUT152 | |
$cutscene_text2[50] = BCRASH1 | |
$cutscene_file2[51] = DATE1AP //DATE 1A PIZZA //Offset: x 370.0 y -125.0 z 1001.52 | |
cut_visible_area2[51] = 5 | |
$cutscene_name2[51] = CUT_D1 | |
$cutscene_text2[51] = SWEET3 | |
$cutscene_file2[52] = DATE1BP //DATE 1B PIZZA //Offset: x 370.0 y -125.0 z 1001.52 | |
cut_visible_area2[52] = 5 | |
$cutscene_name2[52] = CUT_D2 | |
$cutscene_text2[52] = SWEET3 | |
$cutscene_file2[53] = DATE1AB //DATE 1A BURGER //Offset: X367.891 Y-67.591 Z1002.516 | |
cut_visible_area2[53] = 10 | |
$cutscene_name2[53] = CUT_D3 | |
$cutscene_text2[53] = SWEET3 | |
$cutscene_file2[54] = DATE1BB //DATE 1B BURGER //Offset: X367.891 Y-67.591 Z1002.516 | |
cut_visible_area2[54] = 10 | |
$cutscene_name2[54] = CUT_D4 | |
$cutscene_text2[54] = SWEET3 | |
$cutscene_file2[55] = DATE2A //DATE 2A CHICKEN //Offset: X374.478 Y-8.415 Z1002.86 | |
cut_visible_area2[55] = 9 | |
$cutscene_name2[55] = CUT_D5 | |
$cutscene_text2[55] = SWEET3 | |
$cutscene_file2[56] = DATE2B //DATE 2B CHICKEN //Offset: X374.478 Y-8.415 Z1002.86 | |
cut_visible_area2[56] = 9 | |
$cutscene_name2[56] = CUT_D6 | |
$cutscene_text2[56] = SWEET3 | |
$cutscene_file2[57] = DATE3A //DATE 3A DINER BIG //Offset: X449.41 Y-86.83 Z1000.53 | |
cut_visible_area2[57] = 4 | |
$cutscene_name2[57] = CUT_D7 | |
$cutscene_text2[57] = SWEET3 | |
$cutscene_file2[58] = DATE3B //DATE 3B DINER BIG //Offset: X449.41 Y-86.83 Z1000.53 | |
cut_visible_area2[58] = 4 | |
$cutscene_name2[58] = CUT_D8 | |
$cutscene_text2[58] = SWEET3 | |
$cutscene_file2[59] = DATE4A //DATE 4A DINER SMALL //Offset: X449.41 Y-108.24 Z1000.528 | |
cut_visible_area2[59] = 5 | |
$cutscene_name2[59] = CUT_D9 | |
$cutscene_text2[59] = SWEET3 | |
$cutscene_file2[60] = DATE4B //DATE 4B DINER SMALL //Offset: X449.41 Y-108.24 Z1000.528 | |
cut_visible_area2[60] = 5 | |
$cutscene_name2[60] = CUT_D10 | |
$cutscene_text2[60] = SWEET3 | |
$cutscene_file2[61] = DATE5AB //DATE 5A REST BOOTH //Offset: X441.871 Y-60.839 Z1000.675 | |
cut_visible_area2[61] = 6 | |
$cutscene_name2[61] = CUT_D11 | |
$cutscene_text2[61] = SWEET3 | |
$cutscene_file2[62] = DATE5BB //DATE 5B REST BOOTH //Offset: X441.871 Y-60.839 Z1000.675 | |
cut_visible_area2[62] = 6 | |
$cutscene_name2[62] = CUT_D12 | |
$cutscene_text2[62] = SWEET3 | |
$cutscene_file2[63] = DATE5AT //DATE 5A REST TABLE //Offset: x445.381 y-14.147 z1001.731 | |
cut_visible_area2[63] = 1 | |
$cutscene_name2[63] = CUT_D13 | |
$cutscene_text2[63] = SWEET3 | |
$cutscene_file2[64] = DATE5BT //DATE 5B REST TABLE //Offset: x445.381 y-14.147 z1001.731 | |
cut_visible_area2[64] = 1 | |
$cutscene_name2[64] = CUT_D14 | |
$cutscene_text2[64] = SWEET3 | |
$cutscene_file2[65] = DATE6A1 //DATE 6A BAR1 //Offset: X498.536 Y-18.2 Z1000.651 | |
cut_visible_area2[65] = 17 | |
$cutscene_name2[65] = CUT_D15 | |
$cutscene_text2[65] = SWEET3 | |
$cutscene_file2[66] = DATE6B1 //DATE 6A BAR1 //Offset: X498.536 Y-18.2 Z1000.651 | |
cut_visible_area2[66] = 17 | |
$cutscene_name2[66] = CUT_D16 | |
$cutscene_text2[66] = SWEET3 | |
$cutscene_file2[67] = DATE6A2 //DATE 6A BAR2 //Offset: X490.718 Y-79.168 Z998.76 | |
cut_visible_area2[67] = 11 | |
$cutscene_name2[67] = CUT_D17 | |
$cutscene_text2[67] = SWEET3 | |
$cutscene_file2[68] = DATE6B2 //DATE 6A BAR2 //Offset: X490.718 Y-79.168 Z998.76 | |
cut_visible_area2[68] = 11 | |
$cutscene_name2[68] = CUT_D18 | |
$cutscene_text2[68] = SWEET3 | |
$cutscene_file2[69] = RIOT_1B | |
cut_visible_area2[69] = 5 | |
$cutscene_name2[69] = CUT133 | |
$cutscene_text2[69] = RIOT1 | |
$cutscene_file2[70] = Riot4e2 | |
cut_visible_area2[70] = 0 | |
$cutscene_name2[70] = CUT141 | |
$cutscene_text2[70] = RIOT4 | |
$cutscene_file2[71] = CAS6b_2 | |
cut_visible_area2[71] = 1 | |
$cutscene_name2[71] = CUT107 | |
$cutscene_text2[71] = CASINO6 | |
$cutscene_file2[72] = Cas_9a2 | |
cut_visible_area2[72] = 2 | |
$cutscene_name2[72] = CUT110 | |
$cutscene_text2[72] = CASINO9 | |
$cutscene_file2[73] = CRASV2B | |
cut_visible_area2[73] = 0 | |
$cutscene_name2[73] = CUT120 | |
$cutscene_text2[73] = VCR2 | |
$cutscene_file2[74] = CUTTEST | |
cut_visible_area2[74] = 0 | |
$cutscene_name2[74] = CUTTEST | |
$cutscene_text2[74] = SWEET3 | |
// ******************PAGE3********************* | |
$cutscene_file3[0] = SC_02 //-outside, projects | |
cut_visible_area3[0] = 0 | |
$cutscene_name3[0] = SC_02 | |
$cutscene_file3[1] = SC_03 //-outside, grove street alleyway | |
cut_visible_area3[1] = 0 | |
$cutscene_name3[1] = SC_03 | |
$cutscene_file3[2] = SC_04 //-ryders house, INTRO2a | |
cut_visible_area3[2] = 2 | |
$cutscene_name3[2] = SC_04 | |
$cutscene_file3[3] = SC_05 //-outside, down an alley in SF | |
cut_visible_area3[3] = 0 | |
$cutscene_name3[3] = SC_05 | |
$cutscene_file3[4] = SC_06 //-outside, grove street alleyway | |
cut_visible_area3[4] = 0 | |
$cutscene_name3[4] = SC_06 | |
$cutscene_file3[5] = SC_07 //-outside, in liberty city | |
cut_visible_area3[5] = 0 | |
$cutscene_name3[5] = SC_07 | |
$cutscene_file3[6] = SC_08 //-outside in liberty city | |
cut_visible_area3[6] = 0 | |
$cutscene_name3[6] = SC_08 | |
$cutscene_file3[7] = SC_09 //-in salvatores office (not built) | |
cut_visible_area3[7] = 0 | |
$cutscene_name3[7] = SC_09 | |
$cutscene_file3[8] = SC_10 //-outside a rehab clinic | |
cut_visible_area3[8] = 0 | |
$cutscene_name3[8] = SC_10 | |
$cutscene_file3[9] = SC_11 //-outside the donut diner | |
cut_visible_area3[9] = 0 | |
$cutscene_name3[9] = SC_11 | |
$cutscene_file3[10] = SC_12 //-outside down an alleyway in liberty city | |
cut_visible_area3[10] = 0 | |
$cutscene_name3[10] = SC_12 | |
$cutscene_file3[11] = SC_13 //-outside, by a phone in LS | |
cut_visible_area3[11] = 0 | |
$cutscene_name3[11] = SC_13 | |
$cutscene_file3[12] = SC_13V //-outside on a wall or bench | |
cut_visible_area3[12] = 0 | |
$cutscene_name3[12] = SC_13V | |
$cutscene_file3[13] = SC_14 //- inside UK recording studio, not built yet | |
cut_visible_area3[13] = 5 | |
$cutscene_name3[13] = SC_14 | |
$cutscene_file3[14] = SC_15 //-outside by a hole, same as the hernandez burial | |
cut_visible_area3[14] = 0 | |
$cutscene_name3[14] = SC_15 | |
$cutscene_file3[15] = SC_16 //- sals office in liberty | |
cut_visible_area3[15] = 0 | |
$cutscene_name3[15] = SC_16 | |
$cutscene_file3[16] = SC_18 //-in the airport | |
cut_visible_area3[16] = 0 | |
$cutscene_name3[16] = SC_18 | |
$cutscene_file3[17] = SC_19 //-on the streets of LS, driving (straight) | |
cut_visible_area3[17] = 0 | |
$cutscene_name3[17] = SC_19 | |
$cutscene_file3[18] = SC_20 //-Sals office, in vegas | |
cut_visible_area3[18] = 2 | |
$cutscene_name3[18] = SC_20 | |
$cutscene_file3[19] = SC_21 //-outside moms house, LS | |
cut_visible_area3[19] = 0 | |
$cutscene_name3[19] = SC_21 | |
$cutscene_file3[20] = SC_21B //-outside moms house, LS | |
cut_visible_area3[20] = 0 | |
$cutscene_name3[20] = SC_21B | |
$cutscene_file3[21] = SC_22 //-outside in liberty city (static) | |
cut_visible_area3[21] = 0 | |
$cutscene_name3[21] = SC_22 | |
$cutscene_file3[22] = SC_23 //-outside, not sure where | |
cut_visible_area3[22] = 0 | |
$cutscene_name3[22] = SC_23 | |
second_playercreated = 0 | |
relative_button_press = 0 | |
initial_create_car = 0 | |
counter_create_car = landstal | |
counter_create_pickup = gun_dildo1 | |
button_pressed_warp = 0 | |
button_pressed_main = 0 | |
debug_cutscene_number = 0 | |
button_pressed_cutscene_main = 0 | |
add_just_the_once_though = 0 | |
button_pressed_warp_odd = 0 | |
test_heli1_created = 0 | |
initial_pickup = 0 | |
print_stuff_button = 0 | |
print_stuff_counter = 0 | |
carcolour_flag1 = 0 | |
carcolour_flag2 = 0 | |
carcolour_counter1 = 0 | |
carcolour_counter2 = 0 | |
carcolour_counter3 = 0 | |
carcolour_counter4 = 0 | |
is_stunt_jump_debug = 0 | |
is_rightshock_pressed = 0 | |
widscreen_flag = 0 | |
cheat_mode_on = 0 | |
weather_crap = 0 | |
disable_debug = 0 | |
introY_d = introY + 6.0 | |
sweetX_d = sweetX - 5.0 | |
ryderY_d = ryderY + 5.0 | |
smokeX_d = smokeX + 5.0 | |
strapX_d = strapX - 5.0 | |
strap2X_d = strap2X - 5.0 | |
crashY_d = crashY + 5.0 | |
cesarX_d = cesarX - 5.0 | |
TEXT_POS_Y = 20.0 | |
truthX_d = truthX - 5.0 | |
bcrashX_d = bcrashX - 5.0 | |
bcesarX_d = bcesarX - 5.0 | |
catx_d = catX[0] - 0.5 | |
wuziX_d = wuziX + 5.0 | |
syndX_d = syndX + 5.0 | |
stealX_d = stealX + 5.0 | |
scrashX_d = scrashX + 5.0 | |
garageX_d = garageX + 5.0 | |
traceX_d[0] = traceX[0] + 5.0 | |
traceX_d[1] = traceX[1] + 5.0 | |
traceX_d[2] = traceX[2] + 5.0 | |
traceX_d[3] = traceX[3] + 5.0 | |
desertX_d = desertX - 5.0 | |
desert2X_d = desert2X - 5.0 | |
pilotX_d = pilotX - 5.0 | |
casinoX_d = casinoX + 5.0 | |
TheheistX_d = TheheistX + 5.0 | |
heistX_d = heistX - 5.0 | |
vcrashX_d = vcrashX + 5.0 | |
docX_d = docX - 5.0 | |
//mansionX_d = mansionX - 3.5 | |
mansionX_d = mansionY + 3.5 | |
driving_schoolX_d = driving_schoolX - 5.0 | |
zeroX_d = zeroX - 5.0 | |
basketballx_d = basketballx - 5.0 | |
limox_d = limox - 5.0 | |
directorx_d = directorx - 5.0 | |
valetx_d = valetx - 5.0 | |
corona_x = 10.0 | |
corona_y = 10.0 | |
corona_z = 10.0 | |
pimpY_d = pimpY - 5.0 | |
hitchX_d = hitchX + 7.0 | |
//bulldozerY_d = bulldozerY - 8.0 | |
//dumperY_d = dumperY - 8.0 | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
SCRIPT_NAME ms_skip | |
debug_active = 1 | |
DEBUG_OFF | |
//LOAD_ALL_PATH_NODES_FOR_DEBUG | |
SET_DEATHARREST_STATE OFF | |
//IF IS_PLAYER_PLAYING player1 | |
//SET_PLAYER_NEVER_GETS_TIRED Player1 TRUE | |
//ENDIF | |
VAR_INT coord_index | |
coord_index = 0 | |
mission_start_debug: | |
WAIT 0 | |
IF disable_debug = 1 // used to disable entire debug script - used in 2 player pool | |
GOTO mission_start_debug | |
ENDIF | |
GET_GAME_TIMER debug_game_timer | |
GOTO skip_this_debug_bit | |
CREATE_PICKUP_WITH_AMMO counter_create_pickup PICKUP_ONCE 2000 x_float_m y_float_m z_float_m magic_pickup | |
CREATE_CAR counter_create_car x_float_m y_float_m z_float_m magic_car | |
CREATE_CAR counter_create_car x_float_m y_float_m z_float_m record_car1 | |
skip_this_debug_bit: | |
GOSUB setup_mission_cheats | |
IF IS_PLAYER_PLAYING player1 //ENDIF AT THE BOTTOM OF THE SCRIPT | |
// TURN BEAT DISPLAY ON/OFF - For audio guys ////////////////////////// | |
IF flag_player_on_mission = 0 | |
IF IS_PS2_KEYBOARD_KEY_PRESSED PS2_KEY_1 | |
IF beat_display_script_started = 0 | |
IF IS_PLAYER_PLAYING player1 | |
IF NOT IS_CHAR_IN_ANY_CAR scplayer | |
REQUEST_MODEL SAVANNA | |
WHILE NOT HAS_MODEL_LOADED SAVANNA | |
WAIT 0 | |
ENDWHILE | |
VAR_INT beat_display_car | |
CREATE_CAR SAVANNA 1795.1271 -1903.7428 12.4004 beat_display_car | |
IF IS_PLAYER_PLAYING player1 | |
WARP_CHAR_INTO_CAR scplayer beat_display_car | |
ENDIF | |
MARK_CAR_AS_NO_LONGER_NEEDED beat_display_car | |
ELSE | |
SET_CHAR_COORDINATES scplayer 1795.1271 -1903.7428 12.4004 | |
ENDIF | |
WAIT 1000 | |
START_NEW_SCRIPT beat_display | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_PS2_KEYBOARD_KEY_PRESSED PS2_KEY_2 | |
IF beat_display_script_started = 1 | |
bd_terminate_script = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
// Create second Player //////////////////////////////////////// | |
IF flag_player_on_mission = 0 | |
IF second_playercreated = 0 | |
IF IS_BUTTON_PRESSED PAD2 RIGHTSHOULDER2 | |
AND IS_BUTTON_PRESSED PAD2 SQUARE | |
//SWITCH_WIDESCREEN ON | |
second_playercreated = 1 | |
GET_CHAR_COORDINATES scplayer second_playerX second_playerY second_playerZ | |
second_playerX = second_playerX + 2.0 | |
CREATE_PLAYER 1 second_playerX second_playerY second_playerZ player2 | |
WAIT 500 | |
ENDIF | |
ENDIF | |
IF second_playercreated = 1 | |
IF IS_BUTTON_PRESSED PAD2 RIGHTSHOULDER2 | |
AND IS_BUTTON_PRESSED PAD2 SQUARE | |
DELETE_PLAYER player2 | |
second_playercreated = 0 | |
WAIT 500 | |
ENDIF | |
ENDIF | |
ENDIF | |
// HEALTH CHEAT FOR KEYBOARD IF IT IS IN LEVEL DESIGN MODE ///////////////////////////////////////////// | |
if is_ps2_keyboard_key_pressed ps2_key_h | |
set_char_health scplayer 100 | |
add_armour_to_char scplayer 100 | |
if is_char_in_any_car scplayer | |
var_int temporary_car temporary_car_model | |
STORE_CAR_CHAR_IS_IN_NO_SAVE scplayer temporary_car | |
set_car_health temporary_car 1000 | |
get_car_model temporary_car temporary_car_model | |
if not is_char_on_any_bike scplayer | |
if not is_this_model_a_boat temporary_car_model | |
if not is_this_model_a_heli temporary_car_model | |
if not is_this_model_a_plane temporary_car_model | |
fix_car_tyre temporary_car front_left_wheel //front_left_wheel//rear_right_wheel | |
fix_car_tyre temporary_car front_right_wheel //front_left_wheel//rear_right_wheel | |
fix_car_tyre temporary_car rear_left_wheel //front_left_wheel//rear_right_wheel | |
fix_car_tyre temporary_car rear_right_wheel //front_left_wheel//rear_right_wheel | |
endif | |
endif | |
endif | |
endif | |
endif | |
endif | |
// TURN CHEAT MODE ON/OFF ///////////////////////////////////////////// | |
IF NOT IS_2PLAYER_GAME_GOING_ON | |
IF IS_BUTTON_PRESSED PAD2 TRIANGLE | |
AND cheat_mode_on = 0 | |
WHILE IS_BUTTON_PRESSED PAD2 TRIANGLE | |
WAIT 0 | |
ENDWHILE | |
PRINT_NOW CHEATON 2000 1//CHEAT MODE ON | |
DEBUG_ON | |
cheat_mode_on = 1 | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD2 TRIANGLE | |
AND cheat_mode_on = 1 | |
WHILE IS_BUTTON_PRESSED PAD2 TRIANGLE | |
WAIT 0 | |
ENDWHILE | |
PRINT_NOW CHEATOF 2000 1//CHEAT MODE OFF | |
DEBUG_OFF | |
cheat_mode_on = 0 | |
ENDIF | |
/// TURN PEDS AND CARS ON AND OFF ///////////////////////////////////// | |
IF IS_BUTTON_PRESSED PAD2 SELECT | |
AND repeat_butt_press = 0 | |
AND no_cars = 0 | |
SET_CAR_DENSITY_MULTIPLIER 0.0 | |
SET_PED_DENSITY_MULTIPLIER 0.0 | |
PRINT_NOW CARSOFF 2000 1 | |
DO_FADE 0 FADE_IN | |
SWITCH_WIDESCREEN OFF | |
no_cars = 1 | |
repeat_butt_press = 1 | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD2 SELECT | |
AND repeat_butt_press = 0 | |
AND no_cars = 1 | |
SET_CAR_DENSITY_MULTIPLIER 1.0 | |
SET_PED_DENSITY_MULTIPLIER 1.0 | |
PRINT_NOW CARS_ON 2000 1 | |
DO_FADE 0 FADE_IN | |
SWITCH_WIDESCREEN OFF | |
no_cars = 0 | |
repeat_butt_press = 1 | |
ENDIF | |
IF NOT IS_BUTTON_PRESSED PAD2 SELECT | |
IF repeat_butt_press = 1 | |
repeat_butt_press = 0 | |
ENDIF | |
ENDIF | |
// CREATE A PICKUP //////////////////////////////////////////////////// | |
IF NOT IS_BUTTON_PRESSED PAD2 RIGHTSHOULDER1 | |
IF IS_BUTTON_PRESSED PAD2 DPADDOWN | |
OR IS_BUTTON_PRESSED PAD2 DPADUP | |
IF IS_PLAYER_PLAYING player1 | |
GET_CHAR_COORDINATES scplayer x_float_m y_float_m z_float_m | |
GET_CHAR_HEADING scplayer player_heading_debug | |
ENDIF | |
IF player_heading_debug < 45.0 | |
AND player_heading_debug > 0.0 | |
y_float_m += 5.0 | |
debug_car_heading = 90.0 | |
ENDIF | |
IF player_heading_debug < 360.0 | |
AND player_heading_debug > 315.0 | |
y_float_m += 5.0 | |
debug_car_heading = 90.0 | |
ENDIF | |
IF player_heading_debug < 135.0 | |
AND player_heading_debug > 45.0 | |
x_float_m -= 5.0 | |
debug_car_heading = 180.0 | |
ENDIF | |
IF player_heading_debug < 225.0 | |
AND player_heading_debug > 135.0 | |
y_float_m -= 5.0 | |
debug_car_heading = 270.0 | |
ENDIF | |
IF player_heading_debug < 315.0 | |
AND player_heading_debug > 225.0 | |
x_float_m += 5.0 | |
debug_car_heading = 0.0 | |
ENDIF | |
z_float_m = z_float_m + 1.0 | |
GET_GROUND_Z_FOR_3D_COORD x_float_m y_float_m z_float_m z_float_m | |
IF NOT IS_PLAYER_PLAYING player1 | |
GOTO mission_start_debug | |
ENDIF | |
next_pickup: | |
WAIT 0 | |
IF IS_BUTTON_PRESSED PAD2 DPADUP | |
WHILE IS_BUTTON_PRESSED PAD2 DPADUP | |
WAIT 0 | |
ENDWHILE | |
++ counter_create_pickup | |
IF counter_create_pickup = missile | |
counter_create_pickup = colt45 | |
ENDIF | |
IF counter_create_pickup = 329 | |
counter_create_pickup = cellphone | |
ENDIF | |
IF counter_create_pickup = 340 | |
counter_create_pickup = chnsaw | |
ENDIF | |
IF counter_create_pickup = 354 | |
counter_create_pickup = ak47 | |
ENDIF | |
IF counter_create_pickup = 332 | |
counter_create_pickup = golfclub | |
ENDIF | |
IF counter_create_pickup > gun_para | |
counter_create_pickup = gun_dildo1 | |
ENDIF | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD2 DPADDOWN | |
WHILE IS_BUTTON_PRESSED PAD2 DPADDOWN | |
WAIT 0 | |
ENDWHILE | |
-- counter_create_pickup | |
IF counter_create_pickup < gun_dildo1 | |
counter_create_pickup = gun_para | |
ENDIF | |
IF counter_create_pickup = 329 | |
counter_create_pickup = gun_boxbig | |
ENDIF | |
IF counter_create_pickup = 340 | |
counter_create_pickup = katana | |
ENDIF | |
IF counter_create_pickup = 354 | |
counter_create_pickup = mp5lng | |
ENDIF | |
IF counter_create_pickup = 332 | |
counter_create_pickup = brassknuckle | |
ENDIF | |
IF counter_create_pickup = missile | |
counter_create_pickup = molotov | |
ENDIF | |
ENDIF | |
REMOVE_PICKUP magic_pickup | |
MARK_MODEL_AS_NO_LONGER_NEEDED counter_create_pickup | |
IF NOT IS_MODEL_AVAILABLE counter_create_pickup | |
GOTO next_pickup | |
ENDIF | |
REQUEST_MODEL counter_create_pickup | |
PRINT_NOW LOADCAR 250 1 //"Loading vehicle, press pad2 leftshoulder1 to cancel" | |
LOAD_ALL_MODELS_NOW | |
WHILE NOT HAS_MODEL_LOADED counter_create_pickup | |
WAIT 0 | |
PRINT_NOW LOADCAR 80 1 //"Loading vehicle, press pad2 leftshoulder1 to cancel" | |
IF IS_BUTTON_PRESSED PAD2 LEFTSHOULDER1 | |
GOTO next_pickup | |
ENDIF | |
ENDWHILE | |
z_float_m = z_float_m + 0.8 | |
CREATE_PICKUP_WITH_AMMO counter_create_pickup PICKUP_ONCE 2000 x_float_m y_float_m z_float_m magic_pickup | |
CLEAR_THIS_BIG_PRINT NUMBER | |
PRINT_WITH_NUMBER_BIG NUMBER counter_create_pickup 500 4 | |
MARK_MODEL_AS_NO_LONGER_NEEDED counter_create_pickup | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF //2 PLAYER FLAG | |
IF NOT IS_2PLAYER_GAME_GOING_ON | |
// CREATE A CAR ////////////////////////////////////////// | |
next_carzzz: | |
IF NOT IS_DEBUG_CAMERA_ON | |
IF IS_BUTTON_PRESSED PAD2 RIGHTSTICKX | |
OR IS_BUTTON_PRESSED PAD2 RIGHTSTICKY | |
WAIT 40 | |
GET_POSITION_OF_ANALOGUE_STICKS PAD2 LStickX LStickY RStickX RStickY | |
IF RStickX > 100 | |
IF initial_create_car = 1 | |
++ counter_create_car | |
ENDIF | |
IF initial_create_car = 0 | |
counter_create_car = landstal | |
initial_create_car = 1 | |
ENDIF | |
initial_create_car = 1 | |
IF counter_create_car > 611 | |
counter_create_car = landstal | |
ENDIF | |
ENDIF | |
IF RStickX < -100 | |
IF initial_create_car = 1 | |
-- counter_create_car | |
ENDIF | |
IF initial_create_car = 0 | |
counter_create_car = 611 | |
initial_create_car = 1 | |
ENDIF | |
initial_create_car = 1 | |
IF counter_create_car < landstal | |
counter_create_car = 611 | |
ENDIF | |
ENDIF | |
IF RStickY < -100 | |
IF initial_create_car = 1 | |
counter_create_car = counter_create_car + 10 | |
ENDIF | |
IF initial_create_car = 0 | |
counter_create_car = landstal | |
initial_create_car = 1 | |
ENDIF | |
initial_create_car = 1 | |
IF counter_create_car > 611 | |
counter_create_car = landstal | |
ENDIF | |
IF counter_create_car = infernus | |
counter_create_car = voodoo | |
ENDIF | |
ENDIF | |
IF RStickY > 100 | |
IF initial_create_car = 1 | |
counter_create_car = counter_create_car - 10 | |
ENDIF | |
IF initial_create_car = 0 | |
counter_create_car = 611 | |
initial_create_car = 1 | |
ENDIF | |
initial_create_car = 1 | |
IF counter_create_car < landstal | |
counter_create_car = 611 | |
ENDIF | |
IF counter_create_car = infernus | |
counter_create_car = manana | |
ENDIF | |
ENDIF | |
IF NOT IS_MODEL_AVAILABLE counter_create_car | |
CLEAR_THIS_BIG_PRINT NUMBER | |
PRINT_WITH_NUMBER_BIG NUMBER counter_create_car 500 4 | |
GOTO next_carzzz | |
ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
GET_CHAR_COORDINATES scplayer x_float_m y_float_m z_float_m | |
GET_CHAR_HEADING scplayer player_heading_debug | |
ENDIF | |
IF player_heading_debug < 45.0 | |
AND player_heading_debug > 0.0 | |
y_float_m += 5.0 | |
debug_car_heading = 90.0 | |
ENDIF | |
IF player_heading_debug < 360.0 | |
AND player_heading_debug > 315.0 | |
y_float_m += 5.0 | |
debug_car_heading = 90.0 | |
ENDIF | |
IF player_heading_debug < 135.0 | |
AND player_heading_debug > 45.0 | |
x_float_m -= 5.0 | |
debug_car_heading = 180.0 | |
ENDIF | |
IF player_heading_debug < 225.0 | |
AND player_heading_debug > 135.0 | |
y_float_m -= 5.0 | |
debug_car_heading = 270.0 | |
ENDIF | |
IF player_heading_debug < 315.0 | |
AND player_heading_debug > 225.0 | |
x_float_m += 5.0 | |
debug_car_heading = 0.0 | |
ENDIF | |
z_float_m = z_float_m + 0.6 | |
GET_GROUND_Z_FOR_3D_COORD x_float_m y_float_m z_float_m z_float_m | |
IF NOT IS_PLAYER_PLAYING player1 | |
GOTO mission_start_debug | |
ENDIF | |
IF RStickX > 100 | |
OR RStickX < -100 | |
OR RStickY > 100 | |
OR RStickY < -100 | |
IF IS_PLAYER_PLAYING player1 | |
IF NOT IS_CAR_DEAD magic_car | |
IF NOT IS_CHAR_IN_CAR scplayer magic_car | |
DELETE_CAR magic_car | |
ENDIF | |
ENDIF | |
ENDIF | |
MARK_CAR_AS_NO_LONGER_NEEDED magic_car | |
MARK_MODEL_AS_NO_LONGER_NEEDED counter_create_car | |
REQUEST_MODEL counter_create_car | |
PRINT_NOW LOADCAR 250 1 //"Loading vehicle, press pad2 leftshoulder1 to cancel" | |
LOAD_ALL_MODELS_NOW | |
WHILE NOT HAS_MODEL_LOADED counter_create_car | |
WAIT 0 | |
PRINT_NOW LOADCAR 80 1 //"Loading vehicle, press pad2 leftshoulder1 to cancel" | |
IF IS_BUTTON_PRESSED PAD2 LEFTSHOULDER1 | |
GOTO next_carzzz | |
ENDIF | |
ENDWHILE | |
CREATE_CAR counter_create_car x_float_m y_float_m z_float_m magic_car | |
CLEAR_THIS_BIG_PRINT NUMBER | |
PRINT_WITH_NUMBER_BIG NUMBER counter_create_car 500 4 | |
SET_CAR_HEADING magic_car debug_car_heading | |
//GET_CAR_COLOURS magic_car carcolour_counter1 carcolour_counter2 | |
GET_AREA_VISIBLE debug_visible_area | |
SET_VEHICLE_AREA_VISIBLE magic_car debug_visible_area | |
LOCK_CAR_DOORS magic_car CARLOCK_UNLOCKED | |
MARK_MODEL_AS_NO_LONGER_NEEDED counter_create_car | |
MARK_CAR_AS_NO_LONGER_NEEDED magic_car | |
ENDIF | |
WAIT 0 | |
ENDIF | |
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
////////////////////// CREATE A CHAR ////////////////////////////////////////////////////////////////// | |
//VAR_INT magic_ped | |
//VAR_INT initial_create_ped counter_create_ped | |
//VAR_FLOAT debug_ped_heading | |
// | |
//GOTO skip_this_ped_creater | |
// CREATE_CHAR PEDTYPE_CIVMALE counter_create_car x_float_m y_float_m z_float_m magic_ped | |
//skip_this_ped_creater: | |
// | |
// next_charzzz: | |
// | |
// IF NOT IS_DEBUG_CAMERA_ON | |
// IF IS_BUTTON_PRESSED PAD2 LEFTSTICKX | |
// OR IS_BUTTON_PRESSED PAD2 LEFTSTICKY | |
// | |
// WAIT 40 | |
// | |
// GET_POSITION_OF_ANALOGUE_STICKS PAD2 LStickX LStickY RStickX RStickY | |
// | |
// IF LStickX > 100 | |
// IF initial_create_ped = 1 | |
// ++ counter_create_ped | |
// ENDIF | |
// | |
// IF initial_create_ped = 0 | |
// counter_create_ped = 0 | |
// initial_create_ped = 1 | |
// ENDIF | |
// | |
// initial_create_ped = 1 | |
// | |
// IF counter_create_ped > 173 | |
// counter_create_ped = 0 | |
// ENDIF | |
// | |
// // buggy peds | |
// IF counter_create_ped < 9 | |
// counter_create_ped = 9 | |
// ENDIF | |
// IF counter_create_ped = 29 | |
// counter_create_ped = 30 | |
// ENDIF | |
// IF counter_create_ped = 32 | |
// counter_create_ped = 33 | |
// ENDIF | |
// IF counter_create_ped = 36 | |
// counter_create_ped = 37 | |
// ENDIF | |
// IF counter_create_ped = 38 | |
// counter_create_ped = 39 | |
// ENDIF | |
// IF counter_create_ped = 39 | |
// counter_create_ped = 40 | |
// ENDIF | |
// IF counter_create_ped = 52 | |
// counter_create_ped = 53 | |
// ENDIF | |
// IF counter_create_ped = 56 | |
// counter_create_ped = 57 | |
// ENDIF | |
// IF counter_create_ped = 59 | |
// counter_create_ped = 60 | |
// ENDIF | |
// IF counter_create_ped = 60 | |
// counter_create_ped = 61 | |
// ENDIF | |
// IF counter_create_ped = 71 | |
// counter_create_ped = 72 | |
// ENDIF | |
// IF counter_create_ped = 72 | |
// counter_create_ped = 73 | |
// ENDIF | |
// IF counter_create_ped = 82 | |
// counter_create_ped = 83 | |
// ENDIF | |
// IF counter_create_ped = 83 | |
// counter_create_ped = 84 | |
// ENDIF | |
// IF counter_create_ped = 84 | |
// counter_create_ped = 85 | |
// ENDIF | |
// | |
// ENDIF | |
// | |
// IF LStickX < -100 | |
// IF initial_create_ped = 1 | |
// -- counter_create_ped | |
// ENDIF | |
// | |
// IF initial_create_ped = 0 | |
// counter_create_ped = 173 | |
// initial_create_ped = 1 | |
// ENDIF | |
// | |
// initial_create_ped = 1 | |
// | |
// IF counter_create_ped < 0 | |
// counter_create_ped = 173 | |
// ENDIF | |
// | |
// // buggy peds | |
// IF counter_create_ped = 84 | |
// counter_create_ped = 83 | |
// ENDIF | |
// IF counter_create_ped = 83 | |
// counter_create_ped = 82 | |
// ENDIF | |
// IF counter_create_ped = 82 | |
// counter_create_ped = 81 | |
// ENDIF | |
// IF counter_create_ped = 72 | |
// counter_create_ped = 71 | |
// ENDIF | |
// IF counter_create_ped = 71 | |
// counter_create_ped = 70 | |
// ENDIF | |
// IF counter_create_ped = 60 | |
// counter_create_ped = 59 | |
// ENDIF | |
// IF counter_create_ped = 59 | |
// counter_create_ped = 58 | |
// ENDIF | |
// IF counter_create_ped = 56 | |
// counter_create_ped = 55 | |
// ENDIF | |
// IF counter_create_ped = 52 | |
// counter_create_ped = 51 | |
// ENDIF | |
// IF counter_create_ped = 39 | |
// counter_create_ped = 38 | |
// ENDIF | |
// IF counter_create_ped = 38 | |
// counter_create_ped = 37 | |
// ENDIF | |
// IF counter_create_ped = 36 | |
// counter_create_ped = 35 | |
// ENDIF | |
// IF counter_create_ped = 32 | |
// counter_create_ped = 31 | |
// ENDIF | |
// IF counter_create_ped = 29 | |
// counter_create_ped = 28 | |
// ENDIF | |
// IF counter_create_ped < 9 | |
// counter_create_ped = 173 | |
// ENDIF | |
// | |
// | |
// | |
// ENDIF | |
// | |
// IF NOT IS_MODEL_AVAILABLE counter_create_ped | |
// CLEAR_THIS_BIG_PRINT NUMBER | |
// PRINT_WITH_NUMBER_BIG NUMBER counter_create_ped 500 4 | |
// GOTO next_charzzz | |
// ENDIF | |
// | |
// IF IS_PLAYER_PLAYING player1 | |
// GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer -1.0 2.0 0.0 x_float_m y_float_m z_float_m | |
// GET_CHAR_HEADING scplayer player_heading_debug | |
// ENDIF | |
// | |
// z_float_m = z_float_m + 0.6 | |
// GET_GROUND_Z_FOR_3D_COORD x_float_m y_float_m z_float_m z_float_m | |
// | |
// IF NOT IS_PLAYER_PLAYING player1 | |
// GOTO mission_start_debug | |
// ENDIF | |
// | |
// IF LStickX > 100 | |
// OR LStickX < -100 | |
// | |
// IF IS_PLAYER_PLAYING player1 | |
// IF NOT IS_CHAR_DEAD magic_ped | |
// DELETE_CHAR magic_ped | |
// ENDIF | |
// ENDIF | |
// | |
// MARK_CHAR_AS_NO_LONGER_NEEDED magic_ped | |
// MARK_MODEL_AS_NO_LONGER_NEEDED counter_create_ped | |
// | |
// REQUEST_MODEL counter_create_ped | |
// PRINT_NOW LOADCAR 250 1 //"Loading vehicle, press pad2 leftshoulder1 to cancel" | |
// LOAD_ALL_MODELS_NOW | |
// | |
// WHILE NOT HAS_MODEL_LOADED counter_create_ped | |
// WAIT 0 | |
// | |
// PRINT_NOW LOADCAR 80 1 //"Loading vehicle, press pad2 leftshoulder1 to cancel" | |
// | |
// IF IS_BUTTON_PRESSED PAD2 LEFTSHOULDER1 | |
// GOTO next_charzzz | |
// ENDIF | |
// | |
// ENDWHILE | |
// | |
// CREATE_CHAR PEDTYPE_CIVMALE counter_create_ped x_float_m y_float_m z_float_m magic_ped | |
// TASK_STAY_IN_SAME_PLACE magic_ped TRUE | |
// CLEAR_THIS_BIG_PRINT NUMBER | |
// PRINT_WITH_NUMBER_BIG NUMBER counter_create_ped 500 4 | |
// debug_ped_heading = player_heading_debug - 120.0 | |
// SET_CHAR_HEADING magic_ped debug_ped_heading | |
// | |
// MARK_MODEL_AS_NO_LONGER_NEEDED counter_create_ped | |
// //MARK_CHAR_AS_NO_LONGER_NEEDED magic_ped | |
// ENDIF | |
// | |
// | |
// WAIT 0 | |
// | |
// ENDIF | |
// | |
// IF NOT IS_CHAR_DEAD magic_ped | |
// IF NOT IS_CHAR_DEAD scplayer | |
// IF NOT LOCATE_CHAR_ANY_MEANS_CHAR_2D magic_ped scplayer 10.0 10.0 FALSE | |
// MARK_CHAR_AS_NO_LONGER_NEEDED magic_ped | |
// MARK_MODEL_AS_NO_LONGER_NEEDED counter_create_ped | |
// ENDIF | |
// ENDIF | |
// ENDIF | |
// | |
// ENDIF | |
// CHANGE PLAYERS CAR COLOURS ////////////////////////////////////////// | |
IF NOT IS_BUTTON_PRESSED PAD2 CROSS | |
IF IS_BUTTON_PRESSED PAD2 LEFTSTICKX | |
OR IS_BUTTON_PRESSED PAD2 LEFTSTICKY | |
GET_POSITION_OF_ANALOGUE_STICKS PAD2 LStickX LStickY RStickX RStickY | |
IF NOT IS_CAR_DEAD magic_car | |
IF LStickX > 50 | |
carcolour_counter1 ++ | |
IF carcolour_counter1 > 126 | |
carcolour_counter1 = 0 | |
ENDIF | |
ENDIF | |
IF LStickX < -50 | |
carcolour_counter1 -- | |
IF carcolour_counter1 < 0 | |
carcolour_counter1 = 126 | |
ENDIF | |
ENDIF | |
IF LStickY < -50 | |
carcolour_counter2 ++ | |
IF carcolour_counter2 > 126 | |
carcolour_counter2 = 0 | |
ENDIF | |
ENDIF | |
IF LStickY > 50 | |
carcolour_counter2 -- | |
IF carcolour_counter2 < 0 | |
carcolour_counter2 = 126 | |
ENDIF | |
ENDIF | |
IF NOT IS_CAR_DEAD magic_car | |
CHANGE_CAR_COLOUR magic_car carcolour_counter1 carcolour_counter2 | |
ENDIF | |
PRINT_WITH_2_NUMBERS_NOW ( COLOURS ) carcolour_counter1 carcolour_counter2 1000 1 | |
WAIT 150 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD2 CROSS | |
IF IS_BUTTON_PRESSED PAD2 LEFTSTICKX | |
OR IS_BUTTON_PRESSED PAD2 LEFTSTICKY | |
GET_POSITION_OF_ANALOGUE_STICKS PAD2 LStickX LStickY RStickX RStickY | |
IF NOT IS_CAR_DEAD magic_car | |
IF LStickX > 50 | |
carcolour_counter3 ++ | |
IF carcolour_counter3 > 126 | |
carcolour_counter3 = 0 | |
ENDIF | |
ENDIF | |
IF LStickX < -50 | |
carcolour_counter3 -- | |
IF carcolour_counter3 < 0 | |
carcolour_counter3 = 126 | |
ENDIF | |
ENDIF | |
IF LStickY < -50 | |
carcolour_counter4 ++ | |
IF carcolour_counter4 > 126 | |
carcolour_counter4 = 0 | |
ENDIF | |
ENDIF | |
IF LStickY > 50 | |
carcolour_counter4 -- | |
IF carcolour_counter4 < 0 | |
carcolour_counter4 = 126 | |
ENDIF | |
ENDIF | |
IF NOT IS_CAR_DEAD magic_car | |
//CHANGE_CAR_COLOUR magic_car carcolour_counter1 carcolour_counter2 | |
SET_EXTRA_CAR_COLOURS magic_car carcolour_counter3 carcolour_counter4 | |
ENDIF | |
PRINT_WITH_2_NUMBERS_NOW ( COLOUR2 ) carcolour_counter3 carcolour_counter4 1000 1 | |
WAIT 150 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF //IF NOT IS_DEBUG_CAMERA_ON | |
// DISPLAY WIDESCREEN MODE | |
IF IS_BUTTON_PRESSED PAD2 RIGHTSHOULDER1 | |
AND IS_BUTTON_PRESSED PAD2 CROSS | |
IF widscreen_flag = 0 | |
SWITCH_WIDESCREEN ON | |
SET_NEAR_CLIP 0.2 | |
DO_FADE 0 FADE_IN | |
widscreen_flag = 1 | |
ELSE | |
SWITCH_WIDESCREEN OFF | |
IF IS_PLAYER_PLAYING player1 | |
SET_PLAYER_CONTROL player1 ON | |
RESTORE_CAMERA | |
DO_FADE 0 FADE_IN | |
//SET_NEAR_CLIP 0.9 | |
ENDIF | |
widscreen_flag = 0 | |
ENDIF | |
WHILE IS_BUTTON_PRESSED PAD2 CROSS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
// CAR RECORDING | |
{ | |
//IF IS_PS2_KEYBOARD_KEY_JUST_PRESSED PS2_KEY_R | |
//IF IS_BUTTON_PRESSED PAD1 LEFTSHOULDER1 | |
//IF IS_BUTTON_PRESSED PAD1 DPADUP | |
//OR IS_BUTTON_PRESSED PAD1 DPADDOWN | |
IF IS_PS2_KEYBOARD_KEY_PRESSED PS2_KEY_CTRL | |
IF IS_PLAYER_PLAYING player1 | |
IF recording = 0 | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
STORE_CAR_CHAR_IS_IN_NO_SAVE scplayer record_car1 | |
IF NOT IS_CAR_DEAD record_car1 | |
IF IS_RECORDING_GOING_ON_FOR_CAR record_car1 | |
STOP_RECORDING_CARS | |
ENDIF | |
recording = 1 | |
ENDIF | |
ENDIF | |
ELSE | |
IF NOT IS_CAR_DEAD record_car1 | |
IF recording = 1 | |
IF IS_PS2_KEYBOARD_KEY_PRESSED PS2_KEY_CTRL | |
WHILE IS_PS2_KEYBOARD_KEY_PRESSED PS2_KEY_CTRL | |
WAIT 0 | |
ENDWHILE | |
PRINT_NOW ( CARREC1 ) 2000 1 | |
IF NOT IS_CAR_DEAD record_car1 | |
START_RECORDING_CAR record_car1 0 | |
ENDIF | |
WAIT 0 | |
TIMERB = 0 | |
recording = 2 | |
ENDIF | |
ENDIF | |
IF recording = 2 | |
IF IS_PS2_KEYBOARD_KEY_PRESSED PS2_KEY_CTRL | |
WHILE IS_PS2_KEYBOARD_KEY_PRESSED PS2_KEY_CTRL | |
WAIT 0 | |
ENDWHILE | |
CLEAR_PRINTS | |
PRINT_NOW ( CARREC2 ) 2000 1 | |
IF NOT IS_CAR_DEAD record_car1 | |
IF IS_RECORDING_GOING_ON_FOR_CAR record_car1 | |
STOP_RECORDING_CARS | |
ENDIF | |
ENDIF | |
recording = 1 | |
ENDIF | |
ENDIF | |
ELSE | |
IF recording = 1 | |
OR recording = 2 | |
//IF NOT IS_CAR_DEAD record_car1 | |
//IF IS_RECORDING_GOING_ON_FOR_CAR record_car1 | |
STOP_RECORDING_CARS | |
//ENDIF | |
//ENDIF | |
PRINT_NOW ( CARREC2 ) 2000 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
//ENDIF | |
IF IS_PLAYER_PLAYING player1 | |
IF recording = 1 | |
OR recording = 2 | |
IF IS_CAR_DEAD record_car1 | |
OR NOT IS_CHAR_IN_ANY_CAR scplayer | |
recording = 0 | |
//IF IS_RECORDING_GOING_ON_FOR_CAR record_car1 | |
STOP_RECORDING_CARS | |
//ENDIF | |
PRINT_NOW ( CARREC2 ) 2000 1 | |
ENDIF | |
IF recording = 2 | |
IF NOT IS_CAR_DEAD record_car1 | |
IF NOT IS_RECORDING_GOING_ON_FOR_CAR record_car1 | |
recording = 0 | |
PRINT_NOW ( CARREC2 ) 2000 1 | |
ELSE | |
IF TIMERB > 1500 | |
PRINT_NOW ( rec ) 1000 1 | |
TIMERB = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
/////////////////////////////////////////////////////////////////////// | |
ENDIF // 2 PLAYER FLAG | |
/////////////////////////////////////////////////////////////////////// | |
IF NOT IS_2PLAYER_GAME_GOING_ON | |
IF cheat_mode_on = 1 // ONLY DO STUFF IF CHEATMODE IS ON /// | |
/////////////////////////////////////////////////////////////////////// | |
/////////////////////////////////////////////////////////////////////// | |
///////// WRITE 3D LOCATE COORDINATES TO TEMP_DEBUG.TXT /////////////// | |
/////////////////////////////////////////////////////////////////////// | |
// TURN CHEAT MODE ON AND PRESS PAD1 L1 & L2 AND PAD2 CROSS TO START.// | |
// CONTROLS ARE ON PAD1 // | |
// LEFT STICK = POSITION // | |
// RIGHT STICK = RESIZE // | |
// HOLD L2 OR R2 = MAKE THE MOVEMENT/RESIZE LESS SENSITIVE. // | |
// HOLD L1 OR R1 = MOVE/RESIZE THE Z AXI // | |
// R3 = TO OUTPUT COORDS TO TEMP_DEBUG.TXT // | |
/////////////////////////////////////////////////////////////////////// | |
/////////////////////////////////////////////////////////////////////// | |
IF IS_PLAYER_PLAYING player1 | |
IF is_stunt_jump_debug = 0 | |
IF IS_BUTTON_PRESSED PAD1 LEFTSHOULDER1 | |
AND IS_BUTTON_PRESSED PAD1 LEFTSHOULDER2 | |
AND IS_BUTTON_PRESSED PAD2 CROSS | |
is_stunt_jump_debug = 1 | |
GET_CHAR_COORDINATES scplayer stunt_jump_debug_X stunt_jump_debug_Y stunt_jump_debug_Z | |
SET_PLAYER_CONTROL player1 OFF | |
corona_x = 1.0 | |
corona_y = 1.0 | |
corona_z = 1.0 | |
ENDIF | |
ELSE | |
GET_POSITION_OF_ANALOGUE_STICKS PAD1 LStickX LStickY RStickX RStickY | |
IF IS_BUTTON_PRESSED PAD1 LEFTSHOULDER1 | |
VAR_FLOAT LStickX_F LStickY_F | |
LStickY_F =# LStickY | |
IF IS_BUTTON_PRESSED PAD1 LEFTSHOULDER2 | |
LStickY_F /= 5.0 | |
ENDIF | |
LStickY_F /= 100.0 | |
LStickY_F *= -1.0 | |
stunt_jump_debug_Z += LStickY_F | |
ELSE | |
LStickX_F =# LStickX | |
LStickY_F =# LStickY | |
IF IS_BUTTON_PRESSED PAD1 LEFTSHOULDER2 | |
LStickX_F /= 5.0 | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD1 LEFTSHOULDER2 | |
LStickY_F /= 5.0 | |
ENDIF | |
LStickX_F /= 100.0 | |
LStickY_F /= 100.0 | |
LStickY_F *= -1.0 | |
stunt_jump_debug_X += LStickX_F | |
stunt_jump_debug_Y += LStickY_F | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD1 RIGHTSHOULDER1 | |
RStickY_F =# RStickY | |
IF IS_BUTTON_PRESSED PAD1 RIGHTSHOULDER2 | |
RStickY_F /= 5.0 | |
ENDIF | |
RStickY_F /= 100.0 | |
RStickY_F *= -1.0 | |
corona_z += RStickY_F | |
ELSE | |
RStickX_F =# RStickX | |
RStickY_F =# RStickY | |
IF IS_BUTTON_PRESSED PAD1 RIGHTSHOULDER2 | |
RStickX_F /= 5.0 | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD1 RIGHTSHOULDER2 | |
RStickY_F /= 5.0 | |
ENDIF | |
RStickX_F /= 100.0 | |
RStickY_F /= 100.0 | |
RStickY_F *= -1.0 | |
corona_x += RStickX_F | |
corona_y += RStickY_F | |
ENDIF | |
IF LOCATE_CHAR_ANY_MEANS_3D scplayer stunt_jump_debug_X stunt_jump_debug_Y stunt_jump_debug_Z corona_x corona_y corona_z 0 | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD1 RIGHTSHOCK | |
IF is_rightshock_pressed = 0 | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
SAVE_FLOAT_TO_DEBUG_FILE stunt_jump_debug_X | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
SAVE_FLOAT_TO_DEBUG_FILE stunt_jump_debug_Y | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
SAVE_FLOAT_TO_DEBUG_FILE stunt_jump_debug_Z | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
SAVE_FLOAT_TO_DEBUG_FILE corona_x | |
SAVE_FLOAT_TO_DEBUG_FILE corona_y | |
SAVE_FLOAT_TO_DEBUG_FILE corona_z | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
PRINT_NOW TEXXYZ3 800 1 // Writing coordinates to file... | |
is_rightshock_pressed = 1 | |
ENDIF | |
ELSE | |
IF is_rightshock_pressed = 1 | |
is_rightshock_pressed = 0 | |
ENDIF | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD1 LEFTSHOULDER1 | |
AND IS_BUTTON_PRESSED PAD1 LEFTSHOULDER2 | |
AND IS_BUTTON_PRESSED PAD2 CROSS | |
SET_PLAYER_CONTROL player1 ON | |
is_stunt_jump_debug = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
/////////////////////////////////////////////////////////////////////// | |
/////////////////////////////////////////////////////////////////////// | |
/////////////////////////////////////////////////////////////////////// | |
ELSE //IS DEBUG OFF | |
/* | |
/// FORCE WEATHER ///////////////////////////////////////////////////// | |
IF IS_BUTTON_PRESSED PAD2 LEFTSHOULDER2 | |
OR IS_BUTTON_PRESSED PAD2 RIGHTSHOULDER2 | |
IF IS_BUTTON_PRESSED PAD2 LEFTSHOULDER2 | |
weather_crap ++ | |
IF weather_crap > 23 | |
weather_crap = 0 | |
ENDIF | |
GOTO change_the_weather_cycle | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD2 RIGHTSHOULDER2 | |
AND IS_BUTTON_PRESSED PAD2 CROSS | |
weather_crap -- | |
IF weather_crap < 0 | |
weather_crap = 23 | |
ENDIF | |
GOTO change_the_weather_cycle | |
ENDIF | |
GOTO mission_start_debug | |
change_the_weather_cycle: | |
IF weather_crap = 0 | |
RELEASE_WEATHER | |
PRINT_NOW ( WEATH0 ) 1000 1 //CHEAT MODE ON //WEATHER_SUNNY_SMOG | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 1 | |
FORCE_WEATHER_NOW WEATHER_SUNNY_LA | |
PRINT_NOW ( WEATH1 ) 1000 1 //CHEAT MODE ON | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 2 | |
FORCE_WEATHER_NOW WEATHER_CLOUDY_LA | |
PRINT_NOW ( WEATH2 ) 1000 1 //CHEAT MODE ON | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 3 | |
FORCE_WEATHER_NOW WEATHER_EXTRASUNNY_LA | |
PRINT_NOW ( WEATH3 ) 1000 1 //CHEAT MODE ON | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 4 | |
FORCE_WEATHER_NOW WEATHER_SUNNY_SMOG_LA | |
PRINT_NOW ( WEATH4 ) 1000 1 //CHEAT MODE ON | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 5 | |
FORCE_WEATHER_NOW WEATHER_EXTRASUNNY_SMOG_LA | |
PRINT_NOW ( WEATH5 ) 1000 1 //CHEAT MODE ON | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 6 | |
FORCE_WEATHER_NOW WEATHER_RAINY_COUNTRYSIDE | |
PRINT_NOW ( WEATH6 ) 1000 1 //CHEAT MODE ON //WEATHER_SUNNY_SMOG | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 7 | |
FORCE_WEATHER_NOW WEATHER_CLOUDY_COUNTRYSIDE | |
PRINT_NOW ( WEATH7 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRASUNNY_SMOG | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 8 | |
FORCE_WEATHER_NOW WEATHER_SUNNY_COUNTRYSIDE | |
PRINT_NOW ( WEATH8 ) 1000 1 //CHEAT MODE ON //WEATHER_SANDSTORM | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 9 | |
FORCE_WEATHER_NOW WEATHER_EXTRASUNNY_COUNTRYSIDE | |
PRINT_NOW ( WEATH9 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 10 | |
FORCE_WEATHER_NOW WEATHER_FOGGY_SF | |
PRINT_NOW ( WEATH10 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 11 | |
FORCE_WEATHER_NOW WEATHER_SUNNY_SF | |
PRINT_NOW ( WEATH11 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 12 | |
FORCE_WEATHER_NOW WEATHER_EXTRASUNNY_SF | |
PRINT_NOW ( WEATH12 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 13 | |
FORCE_WEATHER_NOW WEATHER_CLOUDY_SF | |
PRINT_NOW ( WEATH13 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 14 | |
FORCE_WEATHER_NOW WEATHER_RAINY_SF | |
PRINT_NOW ( WEATH14 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 15 | |
FORCE_WEATHER_NOW WEATHER_SANDSTORM_DESERT | |
PRINT_NOW ( WEATH15 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 16 | |
FORCE_WEATHER_NOW WEATHER_SUNNY_DESERT | |
PRINT_NOW ( WEATH16 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 17 | |
FORCE_WEATHER_NOW WEATHER_EXTRASUNNY_DESERT | |
PRINT_NOW ( WEATH17 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 18 | |
FORCE_WEATHER_NOW WEATHER_SUNNY_VEGAS | |
PRINT_NOW ( WEATH18 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 19 | |
FORCE_WEATHER_NOW WEATHER_EXTRASUNNY_VEGAS | |
PRINT_NOW ( WEATH19 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 20 | |
FORCE_WEATHER_NOW WEATHER_CLOUDY_VEGAS | |
PRINT_NOW ( WEATH20 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 21 | |
FORCE_WEATHER_NOW WEATHER_EXTRACOLOURS_1 | |
PRINT_NOW ( WEATH21 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS1 | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 22 | |
FORCE_WEATHER_NOW WEATHER_EXTRACOLOURS_2 | |
PRINT_NOW ( WEATH22 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS2 | |
WAIT 300 | |
ENDIF | |
IF weather_crap = 23 | |
FORCE_WEATHER_NOW WEATHER_UNDERWATER | |
PRINT_NOW ( WEATH23 ) 1000 1 //CHEAT MODE ON //WEATHER_EXTRACOLOURS2 | |
WAIT 300 | |
ENDIF | |
IF NOT IS_PLAYER_PLAYING player1 | |
GOTO mission_start_debug | |
ENDIF | |
WHILE IS_BUTTON_PRESSED PAD2 LEFTSHOULDER2 | |
OR IS_BUTTON_PRESSED PAD2 RIGHTSHOULDER2 | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
*/ | |
ENDIF | |
ENDIF // 2 PLAYER FLAG | |
/////////////////////////////////////////////////////////////////////// | |
/// WRITE PLAYER COORDS TO TEMP_DEBUG.TXT ///////////////////////////// | |
IF IS_PLAYER_PLAYING player1 | |
IF NOT IS_DEBUG_CAMERA_ON | |
IF IS_BUTTON_PRESSED PAD2 LEFTSHOULDER1 | |
AND text_button_pressed = 0 | |
GET_CHAR_COORDINATES scplayer text_x text_y text_z | |
GET_GROUND_Z_FOR_3D_COORD text_x text_y text_z text_z | |
GET_CHAR_HEADING scplayer text_h | |
SAVE_FLOAT_TO_DEBUG_FILE text_x | |
SAVE_FLOAT_TO_DEBUG_FILE text_y | |
SAVE_FLOAT_TO_DEBUG_FILE text_z | |
SAVE_FLOAT_TO_DEBUG_FILE text_h | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
IF NOT IS_2PLAYER_GAME_GOING_ON | |
PRINT_NOW TEXXYZ1 1000 1 // Writing coordinates to file... | |
ENDIF | |
text_button_pressed = 1 | |
ENDIF | |
IF NOT IS_BUTTON_PRESSED PAD2 LEFTSHOULDER1 | |
AND text_button_pressed = 1 | |
text_button_pressed = 0 | |
ENDIF | |
/////////////////////////////////////////////////////////////////////// | |
/// WRITE DEBUG CAMERA COORDS TO TEMP_DEBUG.TXT /////////////////////// | |
ELSE | |
IF IS_BUTTON_PRESSED PAD2 LEFTSHOULDER1 | |
AND repeat_button_press = 0 | |
IF NOT IS_2PLAYER_GAME_GOING_ON | |
PRINT_NOW TEXXYZ2 1000 1 // Writing coordinates to file... | |
ENDIF | |
GET_CHAR_COORDINATES scplayer text_x text_y text_z | |
GET_GROUND_Z_FOR_3D_COORD text_x text_y text_z text_z | |
GET_CHAR_HEADING scplayer text_h | |
SAVE_FLOAT_TO_DEBUG_FILE text_x | |
SAVE_FLOAT_TO_DEBUG_FILE text_y | |
SAVE_FLOAT_TO_DEBUG_FILE text_z | |
SAVE_FLOAT_TO_DEBUG_FILE text_h | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
GET_DEBUG_CAMERA_COORDINATES text_x text_y text_z | |
SAVE_FLOAT_TO_DEBUG_FILE text_x | |
SAVE_FLOAT_TO_DEBUG_FILE text_y | |
SAVE_FLOAT_TO_DEBUG_FILE text_z | |
GET_DEBUG_CAMERA_POINT_AT text_x text_y text_z | |
SAVE_FLOAT_TO_DEBUG_FILE text_x | |
SAVE_FLOAT_TO_DEBUG_FILE text_y | |
SAVE_FLOAT_TO_DEBUG_FILE text_z | |
SAVE_NEWLINE_TO_DEBUG_FILE | |
repeat_button_press = 1 | |
ENDIF | |
IF NOT IS_BUTTON_PRESSED PAD2 LEFTSHOULDER2 | |
IF repeat_button_press = 1 | |
repeat_button_press = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
/////////////////////////////////////////////////////////////////////// | |
// ******************************************************************************************************************** | |
// MISSION SKIP ******************************************************************************************************* | |
IF NOT IS_2PLAYER_GAME_GOING_ON | |
IF IS_PLAYER_PLAYING player1 | |
IF GET_MISSION_PAGE MissionPage | |
IF MissionPage >= 0 | |
is_player_in_mission_menu1 = 1 | |
last_mission_debug_page = -2 | |
mission_debug_page = MissionPage - 1 | |
ENDIF | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD2 RIGHTSHOCK | |
OR is_player_in_mission_menu1 = 1 | |
IF NOT is_player_in_mission_menu1 = 0 | |
WHILE IS_BUTTON_PRESSED PAD2 RIGHTSHOCK | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
USE_TEXT_COMMANDS TRUE | |
is_player_in_mission_menu1 = 1 | |
WHILE is_player_in_mission_menu1 = 1 | |
WAIT 0 | |
GOSUB debug_menu_text | |
GOSUB check_mission_debug_pad | |
GOSUB check_mission_debug_pad2 | |
GOSUB check_mission_debug_pad3 | |
GOSUB quit_out_of_mission_debug | |
IF IS_BUTTON_PRESSED PAD2 CROSS | |
OR DO_MISSION_SKIP mission_debug_page button_pressed_main | |
IF mission_debug_page = 0 | |
GOSUB debug_page1 | |
GOSUB load_and_warp_player | |
ENDIF | |
IF mission_debug_page = 1 | |
GOSUB debug_page2 | |
GOSUB load_and_warp_player | |
ENDIF | |
IF mission_debug_page = 2 | |
GOSUB debug_page6 | |
GOSUB load_and_warp_player | |
ENDIF | |
IF mission_debug_page = 3 | |
GOSUB debug_page3 | |
cut_doesnt_have_text = 0 | |
GOSUB Start_cutscene | |
ENDIF | |
IF mission_debug_page = 4 | |
GOSUB debug_page4 | |
cut_doesnt_have_text = 0 | |
GOSUB Start_cutscene | |
ENDIF | |
IF mission_debug_page = 5 | |
GOSUB debug_page5 | |
cut_doesnt_have_text = 1 | |
GOSUB Start_cutscene | |
ENDIF | |
ENDIF | |
ENDWHILE | |
ENDIF | |
ENDIF | |
ENDIF | |
// --- AUDIO DEBUG | |
IF IS_PS2_KEYBOARD_KEY_PRESSED PS2_KEY_F1 | |
IF iAudioDebug = 0 | |
START_NEW_SCRIPT Audio_debug | |
iAudioDebug = 1 | |
ENDIF | |
ENDIF | |
GOTO mission_start_debug | |
MISSION_END | |
} | |
{ | |
load_and_warp_player: | |
IF IS_PLAYER_PLAYING player1 | |
IF change_area_code = 1 | |
SET_AREA_VISIBLE 12 | |
SET_CHAR_AREA_VISIBLE scplayer 12 | |
ELSE | |
SET_CHAR_AREA_VISIBLE scplayer 0 | |
SET_AREA_VISIBLE 0 | |
ENDIF | |
IF change_area_code = 2 | |
SET_AREA_VISIBLE 10 | |
SET_CHAR_AREA_VISIBLE scplayer 10 | |
ENDIF | |
IF change_area_code = 3 | |
SET_AREA_VISIBLE 3 | |
SET_CHAR_AREA_VISIBLE scplayer 3 | |
ENDIF | |
IF change_area_code = 4 | |
SET_AREA_VISIBLE 1 | |
SET_CHAR_AREA_VISIBLE scplayer 1 | |
ENDIF | |
IF change_area_code = 5 | |
SET_AREA_VISIBLE 17 | |
SET_CHAR_AREA_VISIBLE scplayer 17 | |
ENDIF | |
change_area_code = 0 | |
LOAD_SCENE goto_thereX goto_thereY goto_thereZ | |
IF IS_CHAR_IN_ANY_CAR scplayer | |
WARP_CHAR_FROM_CAR_TO_COORD scplayer goto_thereX goto_thereY goto_thereZ | |
ELSE | |
SET_CHAR_COORDINATES scplayer goto_thereX goto_thereY goto_thereZ | |
ENDIF | |
SET_CHAR_HEADING scplayer debug_heading | |
SET_CAMERA_BEHIND_PLAYER | |
is_player_in_mission_menu1 = 0 | |
last_mission_debug_page = -1 | |
ENDIF | |
RETURN | |
Start_cutscene: | |
IF IS_PLAYER_PLAYING player1 | |
DO_FADE 1000 FADE_OUT | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
IF cut_doesnt_have_text = 0 | |
LOAD_MISSION_TEXT $cuttext | |
ENDIF | |
SET_AREA_VISIBLE visible_area | |
LOAD_CUTSCENE $new_cut | |
WHILE NOT HAS_CUTSCENE_LOADED | |
WAIT 0 | |
ENDWHILE | |
IF $new_cut = DATE1AP | |
OR $new_cut = DATE1BP | |
OR $new_cut = DATE1AB | |
OR $new_cut = DATE1BB | |
GET_AREA_VISIBLE debug_visible_area | |
IF IS_PLAYER_PLAYING player1 | |
IF debug_visible_area = 5 | |
SET_EXTRA_COLOURS 4 FALSE | |
SET_CUTSCENE_OFFSET 370.0 -125.0 1001.52 | |
SET_CHAR_COORDINATES scplayer 370.0 -125.0 1001.52 | |
LOAD_SCENE 370.0 -125.0 1001.52 | |
ELSE | |
SET_EXTRA_COLOURS 4 FALSE | |
SET_CUTSCENE_OFFSET 367.891 -67.591 1001.516 | |
SET_CHAR_COORDINATES scplayer 367.891 -67.591 1001.516 | |
LOAD_SCENE 367.891 -67.591 1001.516 | |
ENDIF | |
ENDIF | |
GOTO skip_offset_bit | |
ENDIF | |
IF $new_cut = DATE2A | |
OR $new_cut = DATE2B | |
SET_EXTRA_COLOURS 4 FALSE | |
ENDIF | |
IF $new_cut = DATE3A | |
OR $new_cut = DATE3B | |
SET_EXTRA_COLOURS 4 FALSE | |
ENDIF | |
IF $new_cut = DATE4A | |
OR $new_cut = DATE4B | |
SET_EXTRA_COLOURS 4 FALSE | |
ENDIF | |
IF $new_cut = DATE5AB | |
OR $new_cut = DATE5BB | |
OR $new_cut = DATE5AT | |
OR $new_cut = DATE5BT | |
GET_AREA_VISIBLE debug_visible_area | |
IF IS_PLAYER_PLAYING player1 | |
IF debug_visible_area = 6 | |
SET_EXTRA_COLOURS 4 FALSE | |
SET_CUTSCENE_OFFSET 441.871 -60.839 1000.675 | |
SET_CHAR_COORDINATES scplayer 441.871 -60.839 1000.675 | |
LOAD_SCENE 441.871 -60.839 1000.675 | |
ELSE | |
SET_EXTRA_COLOURS 4 FALSE | |
SET_CUTSCENE_OFFSET 445.381 -14.147 1001.731 | |
SET_CHAR_COORDINATES scplayer 445.381 -14.147 1001.731 | |
LOAD_SCENE 445.381 -14.147 1001.731 | |
ENDIF | |
ENDIF | |
GOTO skip_offset_bit | |
ENDIF | |
IF $new_cut = DATE6A1 | |
OR $new_cut = DATE6B1 | |
OR $new_cut = DATE6A2 | |
OR $new_cut = DATE6B2 | |
GET_AREA_VISIBLE debug_visible_area | |
IF IS_PLAYER_PLAYING player1 | |
IF debug_visible_area = 17 | |
SET_EXTRA_COLOURS 5 FALSE | |
SET_CUTSCENE_OFFSET 498.536 -18.2 1000.651 | |
SET_CHAR_COORDINATES scplayer 498.536 -18.2 1000.651 | |
LOAD_SCENE 498.536 -18.2 1000.651 | |
ELSE | |
SET_EXTRA_COLOURS 6 FALSE | |
SET_CUTSCENE_OFFSET 490.718 -79.168 998.76 | |
SET_CHAR_COORDINATES scplayer 490.718 -79.168 998.76 | |
LOAD_SCENE 490.718 -79.168 998.76 | |
ENDIF | |
ENDIF | |
GOTO skip_offset_bit | |
ENDIF | |
GET_CUTSCENE_OFFSET cut_offsetX cut_offsetY cut_offsetZ | |
cut_offsetZ = cut_offsetZ + 5.0 | |
IF IS_PLAYER_PLAYING player1 | |
SET_CHAR_COORDINATES scplayer cut_offsetX cut_offsetY cut_offsetZ | |
LOAD_SCENE cut_offsetX cut_offsetY cut_offsetZ | |
ENDIF | |
skip_offset_bit: | |
START_CUTSCENE | |
DO_FADE 1000 FADE_IN | |
WHILE NOT HAS_CUTSCENE_FINISHED | |
WAIT 0 | |
ENDWHILE | |
CLEAR_CUTSCENE | |
CLEAR_EXTRA_COLOURS FALSE | |
DO_FADE 0 FADE_OUT | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
SET_AREA_VISIBLE 0 | |
DO_FADE 1000 FADE_IN | |
WHILE GET_FADING_STATUS | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
RETURN | |
check_mission_debug_pad: | |
GET_POSITION_OF_ANALOGUE_STICKS PAD2 LStickX LStickY RStickX RStickY | |
IF GET_MISSION_NUM MissionNum | |
IF MissionNum >= 0 | |
button_pressed_main = MissionNum | |
IF button_pressed_main > 0 | |
//Turn on all shops on skip | |
SWITCH_ENTRY_EXIT ammun1 TRUE | |
SWITCH_ENTRY_EXIT ammun2 TRUE | |
SWITCH_ENTRY_EXIT ammun3 TRUE | |
SWITCH_ENTRY_EXIT ammun4 TRUE | |
SWITCH_ENTRY_EXIT ammun5 TRUE | |
SWITCH_ENTRY_EXIT barbers TRUE | |
SWITCH_ENTRY_EXIT barber2 TRUE | |
SWITCH_ENTRY_EXIT barber3 TRUE | |
SWITCH_ENTRY_EXIT FDpiza TRUE | |
SWITCH_ENTRY_EXIT fdchick TRUE | |
SWITCH_ENTRY_EXIT fdburg TRUE | |
SWITCH_ENTRY_EXIT tattoo TRUE | |
SWITCH_ENTRY_EXIT cschp TRUE | |
SWITCH_ENTRY_EXIT cssprt TRUE | |
SWITCH_ENTRY_EXIT lacs1 TRUE | |
SWITCH_ENTRY_EXIT clothgp TRUE | |
SWITCH_ENTRY_EXIT csdesgn TRUE | |
SWITCH_ENTRY_EXIT csexl TRUE | |
SWITCH_ENTRY_EXIT gym1 TRUE | |
SWITCH_ENTRY_EXIT gym2 TRUE | |
SWITCH_ENTRY_EXIT gym3 TRUE | |
flag_mob_la1[6] = 1 // force activate entries in main | |
//not allowed to to go into the pleasure domes unless on mission [Ice Cold Killa] | |
//SWITCH_ENTRY_EXIT PDOMES TRUE | |
//SWITCH_ENTRY_EXIT PDOMES2 TRUE | |
SWITCH_ENTRY_EXIT MADDOGS TRUE | |
SWITCH_ENTRY_EXIT MDDOGS TRUE | |
//do debug stuff found in main.sc | |
IF launch_shit_for_debug_build = 0 | |
START_NEW_SCRIPT cell_phone_random | |
SET_INT_STAT CITIES_PASSED 3 | |
//LAUNCH_MISSION debug.sc //FOR DEBUG BUILD!!!!!! | |
//LAUNCH_MISSION designtools.sc //FOR DEBUG BUILD!!!!!!!! | |
REMOVE_IPL Barriers1 | |
REMOVE_IPL Barriers2 | |
SWITCH_ENTRY_EXIT cschp TRUE //BINCO //LA | |
SWITCH_ENTRY_EXIT cssprt TRUE //PROLAPS //LA | |
SWITCH_ENTRY_EXIT lacs1 TRUE //SUBURBAN //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2070.2703 -1791.0918 17.1484 RADAR_SPRITE_BARBERS barber_shop1 //Barbers | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2107.6243 -1807.5155 21.2114 RADAR_SPRITE_PIZZA food_shop1 //Pizza | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2243.8069 -1668.5667 20.0313 RADAR_SPRITE_TSHIRT clothes_shop1 //Clothes | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2376.4, 909.2, 45.4 RADAR_SPRITE_TSHIRT clothes_blips[6] //CSCHP //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 1654.0, 1733.4, 11.0 RADAR_SPRITE_TSHIRT clothes_blips[7] //CSCHP //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2105.7, 2257.4, 11.0 RADAR_SPRITE_TSHIRT clothes_blips[8] //CSCHP //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2371.1, 910.2, 47.2 RADAR_SPRITE_TSHIRT clothes_blips[14] //CSCHP //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 501.7, -1358.5, 16.4 RADAR_SPRITE_TSHIRT clothes_blips[9] //CSSPRT //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2818.6, 2401.5, 11.0 RADAR_SPRITE_TSHIRT clothes_blips[10] //CSSPRT //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2112.8, -1214.7, 23.9 RADAR_SPRITE_TSHIRT clothes_blips[4] //LACS1 //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2772.0, 2447.6, 11.0 RADAR_SPRITE_TSHIRT clothes_blips[5] //LACS1 //LA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2489.0, -26.9, 32.6 RADAR_SPRITE_TSHIRT clothes_blips[16] //LACS1 //LA | |
added_all_clothes_blips_before = 1 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 822.6, -1590.3, 13.5 RADAR_SPRITE_BARBERS barbers_blips[0] //BARBER2 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2570.1, 245.4, 10.3 RADAR_SPRITE_BARBERS barbers_blips[1] //BARBERS | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2726.6, -2026.4, 17.5 RADAR_SPRITE_BARBERS barbers_blips[2] //BARBERS | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2080.3, 2119.0, 10.8 RADAR_SPRITE_BARBERS barbers_blips[3] //BARBER2 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 675.7, -496.6, 16.8 RADAR_SPRITE_BARBERS barbers_blips[4] //BARBERS | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1805.7, 943.2, 24.8 RADAR_SPRITE_PIZZA pizza_blips[0] //FDPIZA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2750.9, 2470.9, 11.0 RADAR_SPRITE_PIZZA pizza_blips[1] //FDPIZA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2351.8, 2529.0, 10.8 RADAR_SPRITE_PIZZA pizza_blips[2] //FDPIZA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2635.5, 1847.4, 11.0 RADAR_SPRITE_PIZZA pizza_blips[3] //FDPIZA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2083.4, 2221.0, 11.0 RADAR_SPRITE_PIZZA pizza_blips[4] //FDPIZA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1719.1, 1359.4, 8.6 RADAR_SPRITE_PIZZA pizza_blips[5] //FDPIZA | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2330.2, 75.2, 31.0 RADAR_SPRITE_PIZZA pizza_blips[6] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 203.2, -200.4, 6.5 RADAR_SPRITE_PIZZA pizza_blips[7] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 812.9, -1616.1, 13.6 RADAR_SPRITE_BURGERSHOT burger_blips[0] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 1199.1, -924.0, 43.3 RADAR_SPRITE_BURGERSHOT burger_blips[1] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2362.2, 2069.9, 10.8 RADAR_SPRITE_BURGERSHOT burger_blips[2] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2469.5, 2033.8, 10.8 RADAR_SPRITE_BURGERSHOT burger_blips[3] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2172.9, 2795.7, 10.8 RADAR_SPRITE_BURGERSHOT burger_blips[4] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 1875.3, 2072.0, 10.8 RADAR_SPRITE_BURGERSHOT burger_blips[5] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 1161.5, 2072.0, 10.8 RADAR_SPRITE_BURGERSHOT burger_blips[6] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2356.0, 1009.0, 49.0 RADAR_SPRITE_BURGERSHOT burger_blips[7] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1913.3, 826.2, 36.9 RADAR_SPRITE_BURGERSHOT burger_blips[8] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2335.6, -165.6, 39.5 RADAR_SPRITE_BURGERSHOT burger_blips[9] //FDBURG | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2397.8, -1895.6, 13.7 RADAR_SPRITE_CHICKEN chicken_blips[0] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2421.6, -1509.6, 24.1 RADAR_SPRITE_CHICKEN chicken_blips[1] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2671.6, 257.4, 4.6 RADAR_SPRITE_CHICKEN chicken_blips[2] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2392.4, 2046.5, 10.8 RADAR_SPRITE_CHICKEN chicken_blips[3] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2844.5, 2401.1, 11.0 RADAR_SPRITE_CHICKEN chicken_blips[4] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2635.5, 1674.3, 11.0 RADAR_SPRITE_CHICKEN chicken_blips[5] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2105.7, 2228.7, 11.0 RADAR_SPRITE_CHICKEN chicken_blips[6] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2154.0, -2461.2, 30.8 RADAR_SPRITE_CHICKEN chicken_blips[7] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1816.2 620.8 37.5 RADAR_SPRITE_CHICKEN chicken_blips[8] //FDCHICK | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1216.0, 1831.4, 45.3 RADAR_SPRITE_CHICKEN chicken_blips[9] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 172.73, 1176.76, 13.7 RADAR_SPRITE_CHICKEN chicken_blips[10] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 932.0, -1353.0, 14.0 RADAR_SPRITE_CHICKEN chicken_blips[11] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 1971.7, -2036.6, 13.5 RADAR_SPRITE_TATTOO tattoo_blips[0] //TATTOO | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2071.6, -1779.9, 13.5 RADAR_SPRITE_TATTOO tattoo_blips[1] //TATTOO | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2094.6, 2119.0, 10.8 RADAR_SPRITE_TATTOO tattoo_blips[2] //TATTOO | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2490.5, -40.1, 39.3 RADAR_SPRITE_TATTOO tattoo_blips[3] //TATTOO | |
added_all_food_blips_before = 1 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 1372.9 -1278.8 12.5 RADAR_SPRITE_GUN weapon_shop1_blip | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2400.5 -1978.4 13.5 RADAR_SPRITE_GUN ammu_shop_blip[0] //AMMUN3 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2626.6 209.4 4.9 RADAR_SPRITE_GUN ammu_shop_blip[1] //AMMUN1 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2535.9 2083.5 10.8 RADAR_SPRITE_GUN ammu_shop_blip[2] //AMMUN2 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2156.5 943.2 10.8 RADAR_SPRITE_GUN ammu_shop_blip[3] //AMMUN2 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 779.7 1874.3 4.9 RADAR_SPRITE_GUN ammu_shop_blip[4] //AMMUN3 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -2092.7 -2463.8 30.6 RADAR_SPRITE_GUN ammu_shop_blip[5] //AMMUN3 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 240.0 -178.2 2.0 RADAR_SPRITE_GUN ammu_shop_blip[6] //AMMUN2 | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -1509.4, 2611.8, 58.5 RADAR_SPRITE_GUN ammu_shop_blip[7] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD -315.67, 829.87, 13.43 RADAR_SPRITE_GUN ammu_shop_blip[8] //NEW!!!!!!!!! | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_COORD 2332.9, 63.6, 31.0, RADAR_SPRITE_GUN ammu_shop_blip[9] //NEW!!!!!!!!! | |
SET_CLOSEST_ENTRY_EXIT_FLAG propertyX[2] propertyY[2] 10.0 ENTRYEXITS_FLAG_ENABLED TRUE | |
ACTIVATE_GARAGE dhangar //Hanger | |
add_all_ammu_blips = 1 | |
DISPLAY_ZONE_NAMES TRUE | |
launch_shit_for_debug_build = 1 | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD2 DPADDOWN | |
OR LStickY > 10 | |
TIMERB = 0 | |
WHILE TIMERB < 70 | |
WAIT 0 | |
GOSUB debug_menu_text | |
ENDWHILE | |
button_pressed_main ++ | |
IF mission_debug_page = 0 | |
IF button_pressed_main > 83 //MISSIONS | |
button_pressed_main = 0 | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 1 | |
IF button_pressed_main > 15 //MISSIONS | |
button_pressed_main = 0 | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 2 | |
IF button_pressed_main > 82 //ODDJOBS | |
button_pressed_main = 0 | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 3 | |
IF button_pressed_main > 83 //CUTSCENES | |
button_pressed_main = 0 | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 4 | |
IF button_pressed_main > 74 //CUTSCENES | |
button_pressed_main = 0 | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 5 | |
IF button_pressed_main > 22 //CUTSCENES | |
button_pressed_main = 0 | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD2 DPADUP | |
OR LStickY < -10 | |
TIMERB = 0 | |
WHILE TIMERB < 70 | |
WAIT 0 | |
GOSUB debug_menu_text | |
ENDWHILE | |
button_pressed_main -- | |
IF mission_debug_page = 0 | |
IF button_pressed_main < 0 | |
button_pressed_main = 83 //MISSIONS | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 1 | |
IF button_pressed_main < 0 | |
button_pressed_main = 15 //MISSIONS | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 2 | |
IF button_pressed_main < 0 | |
button_pressed_main = 82 //ODDJOBS | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 3 | |
IF button_pressed_main < 0 | |
button_pressed_main = 83 //CUTSCENES | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 4 | |
IF button_pressed_main < 0 | |
button_pressed_main = 74 //CUTSCENES | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 5 | |
IF button_pressed_main < 0 | |
button_pressed_main = 22 //CUTSCENES | |
ENDIF | |
ENDIF | |
ENDIF | |
RETURN | |
check_mission_debug_pad2: | |
GET_POSITION_OF_ANALOGUE_STICKS PAD2 LStickX LStickY RStickX RStickY | |
IF IS_BUTTON_PRESSED PAD2 DPADRIGHT | |
OR LStickX > 10 | |
TIMERB = 0 | |
WHILE TIMERB < 70 | |
WAIT 0 | |
GOSUB debug_menu_text | |
ENDWHILE | |
button_pressed_main = button_pressed_main + 28 | |
//which_debug_row ++ | |
//IF which_debug_row > 2 | |
// which_debug_row = 0 | |
//ENDIF | |
IF mission_debug_page = 0 | |
IF button_pressed_main > 83 | |
button_pressed_main -= 84 //MISSIONS | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 1 | |
IF button_pressed_main > 15 | |
button_pressed_main = 0 //MISSIONS | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 2 | |
IF button_pressed_main > 82 | |
button_pressed_main = 0 //ODDJOBS | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 3 | |
IF button_pressed_main > 83 | |
button_pressed_main -= 84 //CUTSCENES | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 4 | |
IF button_pressed_main > 74 | |
button_pressed_main = 0 //CUTSCENES | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 5 | |
IF button_pressed_main > 22 | |
button_pressed_main = 0 //CUTSCENES | |
ENDIF | |
ENDIF | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD2 DPADLEFT | |
OR LStickX < -10 | |
TIMERB = 0 | |
WHILE TIMERB < 70 | |
WAIT 0 | |
GOSUB debug_menu_text | |
ENDWHILE | |
button_pressed_main = button_pressed_main - 28 | |
//which_debug_row -- | |
//IF which_debug_row < 0 | |
// which_debug_row = 2 | |
//ENDIF | |
IF mission_debug_page = 0 | |
IF button_pressed_main < 0 | |
button_pressed_main += 84 //MISSIONS | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 1 | |
IF button_pressed_main < 0 | |
button_pressed_main = 15 //MISSIONS | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 2 | |
IF button_pressed_main < 0 | |
button_pressed_main = 82 //ODDJOBS | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 3 | |
IF button_pressed_main < 0 | |
button_pressed_main += 84 //CUTSCENES | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 4 | |
IF button_pressed_main < 0 | |
button_pressed_main = 74 //CUTSCENES | |
ENDIF | |
ENDIF | |
IF mission_debug_page = 5 | |
IF button_pressed_main < 0 | |
button_pressed_main = 22 //CUTSCENES | |
ENDIF | |
ENDIF | |
ENDIF | |
RETURN | |
check_mission_debug_pad3: | |
IF GET_MISSION_PAGE MissionPage | |
IF MissionPage >= 0 | |
mission_debug_page = MissionPage | |
ENDIF | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD2 RIGHTSHOULDER1 | |
WHILE IS_BUTTON_PRESSED PAD2 RIGHTSHOULDER1 | |
WAIT 0 | |
GOSUB debug_menu_text | |
ENDWHILE | |
mission_debug_page ++ | |
IF mission_debug_page > 5 | |
mission_debug_page = 0 | |
ENDIF | |
button_pressed_main = 0 | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD2 LEFTSHOULDER1 | |
WHILE IS_BUTTON_PRESSED PAD2 LEFTSHOULDER1 | |
WAIT 0 | |
GOSUB debug_menu_text | |
ENDWHILE | |
mission_debug_page -- | |
IF mission_debug_page < 0 | |
mission_debug_page = 5 | |
ENDIF | |
button_pressed_main = 0 | |
ENDIF | |
RETURN | |
} | |
{ | |
setup_mission_cheats: | |
TEXT_POS_X = 20.0 | |
//Mission Jump Page 1 | |
DISPLAY_TEXT_WIDGET 0.0 1.0 INTRO_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y INTRO_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y INTRO_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET1B | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_6 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CRASH_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_7 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CRASH_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CRASH_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SMOKE_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SMOKE_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SMOKE_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SMOKE_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STRAP_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STRAP_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STRAP_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STRAP_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RYDER_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RYDER_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RYDER_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CESAR_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y LA1FIN1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y LA1FIN2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BCRASH1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CAT_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CAT_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CAT_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CAT_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TRUTH_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TRUTH_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BCESAR4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BCES4_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BCESAR2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GAR_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GAR_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SCRA_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SCRA_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y WUZI_1 //WUZI 1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y FAR_4 //WUZI 3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y FAR_5 //WUZI 4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y WUZI_2 //WUZI 5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y WUZI_4 //WUZI 7 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_1 //Syndicate 1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_2 //Syndicate 2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y FAR_2 //Syndicate 3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y FAR_3 //Syndicate 4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_3 //Syndicate 5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_4 //Syndicate 6 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_5 //Syndicate 7 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_6 //Syndicate 8 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_7 //Syndicate 9 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STEAL_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STEAL_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STEAL_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STEAL_5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y ZERO_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y ZERO_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y ZERO_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y FAR_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TRACE_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT6 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT9 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT8 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESER10 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASEEN2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO6 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO7 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO9 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASIN10 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y VCRASH1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y VCRASH2 | |
//Mission Jump Page 2 | |
DISPLAY_TEXT_WIDGET 0.0 2.0 DOC_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DOC_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HEIST_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HEIST_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HEIST_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HEIST_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HEIST_5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HEIST_9 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y MAN_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y MAN_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y MAN_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y MAN_5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GROVE_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GROVE_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RIOT_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RIOT_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RIOT_4 | |
//Oddjob Jump (Page 3) | |
DISPLAY_TEXT_WIDGET 0.0 3.0 GYM1_A | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GYM1_A //"GYM" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GYM1_B //"GYM" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GYM1_C //"GYM" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CHICN //"Chicken drive through" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BURGERS //"BURGER SHOP" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PIZZAS //"PIZZA SHOP" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CLOTHES //"LA Clothes Shop" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BARBER //"Barber Shop" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y AMMULA //"LA AmmuNation" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CARDB1 //"Car Mods" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CARDB2 //"Car Mods2" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y ROUL //"roulette" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SLOTM //"Slot machine" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y WHEELO //wheel of fortune | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BJACK //black jack | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y OTB //"OTB" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y POOL //"Pool" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BBALL //"basket ball" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y LOWR //"lowrider" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CONS1 //"Console game 1" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y QUARRY //Quarry | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TRUCK //Trucking | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BLOOD //Blood ring | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y MOUNTN //"Mountian bike" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PIMP //PIMP | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BIKES //Bike school | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BOATS //Boat school | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y COUR1 //CourierLA | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y COUR2 //CourierSF | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y COUR3 //CourierLV | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y FREIGH //Frieght Train | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BURG //Burglary | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y KICK //Kickstart | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y VALET //VALET | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SF_MODS //San Fran PP mods | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y IMPEXP //Import Export | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BMXODD //BMX | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DANCEOD //DANCING | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HOTRING //HOTRING | |
/* | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY1 //"2 Player 4" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY2 //"2 Player 8" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY3 //"2 Player 9" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY4 //"2 Player 10" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY5 //"2 Player 11" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY6 //"2 Player 12" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY7 //"2 Player 9" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY8 //"2 Player 10" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY9 //"2 Player 11" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY10 //"2 Player 12" | |
*/ | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BOTTY //"Triathalon" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP3 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP4 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP5 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP6 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP7 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP8 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP9 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP10 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP11 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP12 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP13 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP14 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP15 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP16 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP17 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP18 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP19 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP20 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP21 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP22 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP23 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP24 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP25 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP26 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP27 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP28 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP29 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP30 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP31 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RACET1 //"RACETOUR" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RACET2 //"RACETOUR" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RACET3 //"RACETOUR" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RACET4 //"RACETOUR" | |
//Cutscenes 1 (page 4) | |
DISPLAY_TEXT_WIDGET 0.0 4.0 CUT01 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT01 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT02 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT03 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT04 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT05 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT06 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT07 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT08 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT09 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT10 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT11 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT12 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT13 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT14 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT15 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT16 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT17 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT18 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT19 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT20 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT21 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT22 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT23 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT24 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT25 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT26 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT27 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT28 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT29 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT29 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT30 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT31 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT32 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT33 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT34 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT35 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT36 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT37 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT38 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT39 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT40 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT41 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT42 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT43 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT44 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT45 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT46 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT47 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT48 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT49 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT50 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT52 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT54 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT55 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT56 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT57 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT60 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT61 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT62 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT63 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT64 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT65 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT66 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT67 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT69 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT70 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT71 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT72 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT74 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT75 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT76 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT77 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT78 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT79 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT80 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT81 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT82 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT83 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT84 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT86 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT87 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT88 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT89 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT90 | |
//Cutscenes 2 (page 5) | |
DISPLAY_TEXT_WIDGET 0.0 5.0 CUT91 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT91 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT92 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT94 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT95 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT96 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT97 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT98 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT83 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT100 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT101 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT102 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT103 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT104 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT105 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT106 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT107 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT109 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT110 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT111 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT112 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT113 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT115 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT116 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT117 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT118 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT119 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT120 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT121 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT122 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT123 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT124 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT125 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT126 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT127 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT128 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT129 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT130 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT131 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT132 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT133 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT134 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT137 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT138 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT139 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT140 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT141 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT142 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT143 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT150 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT151 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT152 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D6 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D7 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D8 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D9 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D10 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D11 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D12 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D13 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D14 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D15 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D16 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D17 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D18 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT133 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT141 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT107 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT110 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT120 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUTTEST | |
//Cutscenes 3 (page 6) | |
DISPLAY_TEXT_WIDGET 0.0 6.0 SC_02 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_02 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_03 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_04 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_05 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_06 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_07 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_08 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_09 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_10 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_11 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_12 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_13 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_13V | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_14 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_15 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_16 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_18 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_19 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_20 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_21 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_21B | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_22 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_23 | |
RETURN | |
} | |
debug_menu_text: | |
RETURN | |
text_debug_num = 0 | |
TEXT_POS_X = 20.0 | |
TEXT_POS_Y = 20.0 | |
TEXT_POS_Y_STEP = 14.0 | |
TEXT_SCALEX = 0.4 | |
TEXT_SCALEY = 1.6 | |
COL1_R = 200 | |
COL1_G = 200 | |
COL1_B = 200 | |
COL2_R = 130 | |
COL2_G = 130 | |
COL2_B = 130 | |
IF mission_debug_page = 0 //PAGE 1 MISSIONS**************************************************************************************************** | |
AND NOT mission_debug_page = last_mission_debug_page | |
WRITE_LOG "Mission Page 0" | |
last_mission_debug_page = mission_debug_page | |
DISPLAY_TEXT_WIDGET 0.0 0.0 INTRO_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y INTRO_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y INTRO_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET1B | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_6 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CRASH_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SWEET_7 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CRASH_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CRASH_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SMOKE_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SMOKE_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SMOKE_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SMOKE_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STRAP_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STRAP_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STRAP_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STRAP_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RYDER_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RYDER_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RYDER_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CESAR_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y LA1FIN1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y LA1FIN2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BCRASH1 | |
// Centre ************************************************************************* | |
text_debug_num ++ | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CAT_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CAT_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CAT_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CAT_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TRUTH_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TRUTH_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BCESAR4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BCES4_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BCESAR2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GAR_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GAR_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SCRA_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SCRA_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y WUZI_1 //WUZI 1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y FAR_4 //WUZI 3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y FAR_5 //WUZI 4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y WUZI_2 //WUZI 5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y WUZI_4 //WUZI 7 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_1 //Syndicate 1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_2 //Syndicate 2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y FAR_2 //Syndicate 3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y FAR_3 //Syndicate 4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_3 //Syndicate 5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_4 //Syndicate 6 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_5 //Syndicate 7 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_6 //Syndicate 8 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SYND_7 //Syndicate 9 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STEAL_1 | |
// Right hand side ************************************************************* | |
text_debug_num ++ | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STEAL_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STEAL_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y STEAL_5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y ZERO_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y ZERO_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y ZERO_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y FAR_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TRACE_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT6 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT9 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESERT8 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DESER10 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASEEN2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO6 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO7 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASINO9 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CASIN10 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y VCRASH1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y VCRASH2 | |
text_debug_num ++ | |
ENDIF | |
IF mission_debug_page = 1 //PAGE 2 MISSIONS****************************************************************************************************** | |
AND NOT mission_debug_page = last_mission_debug_page | |
WRITE_LOG "Mission Page 1" | |
last_mission_debug_page = mission_debug_page | |
DISPLAY_TEXT_WIDGET 0.0 0.0 DOC_2 | |
TEXT_POS_X = 25.0 | |
TEXT_POS_Y = 20.0 | |
TEXT_POS_Y_STEP = 14.0 | |
SET_TEXT_WRAPX 640.0 | |
COL1_R = 200 | |
COL1_G = 200 | |
COL1_B = 200 | |
COL2_R = 130 | |
COL2_G = 130 | |
COL2_B = 130 | |
text_debug_num = 0 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DOC_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HEIST_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HEIST_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HEIST_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HEIST_4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HEIST_5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HEIST_9 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y MAN_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y MAN_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y MAN_3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y MAN_5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GROVE_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GROVE_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RIOT_1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RIOT_2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RIOT_4 | |
ENDIF | |
IF mission_debug_page = 2 //PAGE 3 ODDJOBS*************************************************************************************************** | |
AND NOT mission_debug_page = last_mission_debug_page | |
WRITE_LOG "Mission Page 2" | |
last_mission_debug_page = mission_debug_page | |
DISPLAY_TEXT_WIDGET 0.0 0.0 GYM1_A | |
TEXT_POS_X = 25.0 | |
TEXT_POS_Y = 20.0 | |
TEXT_POS_Y_STEP = 14.0 | |
SET_TEXT_WRAPX 640.0 | |
COL1_R = 200 | |
COL1_G = 200 | |
COL1_B = 200 | |
COL2_R = 130 | |
COL2_G = 130 | |
COL2_B = 130 | |
text_debug_num = 0 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GYM1_A //"GYM" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GYM1_B //"GYM" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y GYM1_C //"GYM" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CHICN //"Chicken drive through" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BURGERS //"BURGER SHOP" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PIZZAS //"PIZZA SHOP" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CLOTHES //"LA Clothes Shop" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BARBER //"Barber Shop" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y AMMULA //"LA AmmuNation" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CARDB1 //"Car Mods" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CARDB2 //"Car Mods2" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y ROUL //"roulette" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SLOTM //"Slot machine" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y WHEELO //wheel of fortune | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BJACK //black jack | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y OTB //"OTB" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y POOL //"Pool" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BBALL //"basket ball" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y LOWR //"lowrider" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CONS1 //"Console game 1" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y QUARRY //Quarry | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TRUCK //Trucking | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BLOOD //Blood ring | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y MOUNTN //"Mountian bike" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PIMP //PIMP | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BIKES //Bike school | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BOATS //Boat school | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y COUR1 //CourierLA | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y COUR2 //CourierSF | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y COUR3 //CourierLV | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y FREIGH //Frieght Train | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BURG //Burglary | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y KICK //Kickstart | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y VALET //VALET | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SF_MODS //San Fran PP mods | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y IMPEXP //Import Export | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BMXODD //BMX | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y DANCEOD //DANCING | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y HOTRING //HOTRING | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY1 //"2 Player 4" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY2 //"2 Player 8" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY3 //"2 Player 9" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY4 //"2 Player 10" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY5 //"2 Player 11" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY6 //"2 Player 12" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY7 //"2 Player 9" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY8 //"2 Player 10" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY9 //"2 Player 11" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y TPLAY10 //"2 Player 12" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y BOTTY //"Triathalon" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP3 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP4 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP5 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP6 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP7 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP8 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP9 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP10 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP11 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP12 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP13 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP14 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP15 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP16 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP17 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP18 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP19 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP20 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP21 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP22 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP23 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP24 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP25 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP26 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP27 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP28 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP29 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP30 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y PROP31 //"PROPERTY" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RACET1 //"RACETOUR" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RACET2 //"RACETOUR" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RACET3 //"RACETOUR" | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y RACET4 //"RACETOUR" | |
ENDIF | |
SET_TEXT_SCALE 0.4 1.6 | |
SET_TEXT_WRAPX 640.0 | |
SET_TEXT_COLOUR 150 150 150 255 | |
IF mission_debug_page = 3 //PAGE 3*************************************************************************************************** | |
AND NOT mission_debug_page = last_mission_debug_page | |
WRITE_LOG "Mission Page 3" | |
last_mission_debug_page = mission_debug_page | |
DISPLAY_TEXT_WIDGET 0.0 0.0 CUT01 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT01 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT02 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT03 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT04 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT05 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT06 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT07 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT08 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT09 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT10 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT11 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT12 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT13 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT14 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT15 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT16 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT17 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT18 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT19 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT20 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT21 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT22 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT23 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT24 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT25 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT26 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT27 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT28 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT29 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT29 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT30 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT31 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT32 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT33 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT34 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT35 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT36 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT37 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT38 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT39 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT40 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT41 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT42 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT43 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT44 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT45 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT46 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT47 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT48 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT49 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT50 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT52 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT54 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT55 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT56 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT57 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT60 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT61 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT62 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT63 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT64 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT65 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT66 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT67 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT69 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT70 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT71 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT72 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT74 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT75 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT76 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT77 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT78 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT79 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT80 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT81 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT82 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT83 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT84 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT86 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT87 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT88 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT89 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT90 | |
ENDIF | |
IF mission_debug_page = 4 //PAGE 4****************************************************************************************************** | |
AND NOT mission_debug_page = last_mission_debug_page | |
WRITE_LOG "Mission Page 4" | |
last_mission_debug_page = mission_debug_page | |
DISPLAY_TEXT_WIDGET 0.0 0.0 CUT91 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT91 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT92 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT94 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT95 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT96 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT97 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT98 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT83 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT100 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT101 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT102 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT103 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT104 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT105 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT106 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT107 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT109 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT110 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT111 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT112 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT113 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT115 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT116 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT117 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT118 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT119 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT120 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT121 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT122 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT123 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT124 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT125 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT126 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT127 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT128 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT129 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT130 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT131 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT132 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT133 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT134 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT137 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT138 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT139 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT140 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT141 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT142 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT143 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT150 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT151 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT152 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D1 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D2 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D3 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D4 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D5 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D6 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D7 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D8 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D9 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D10 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D11 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D12 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D13 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D14 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D15 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D16 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D17 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT_D18 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT133 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT141 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT107 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT110 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUT120 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y CUTTEST | |
ENDIF | |
IF mission_debug_page = 5 //PAGE 5****************************************************************************************************** | |
AND NOT mission_debug_page = last_mission_debug_page | |
WRITE_LOG "Mission Page 5" | |
last_mission_debug_page = mission_debug_page | |
DISPLAY_TEXT_WIDGET 0.0 0.0 SC_02 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_02 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_03 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_04 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_05 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_06 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_07 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_08 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_09 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_10 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_11 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_12 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_13 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_13V | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_14 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_15 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_16 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_18 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_19 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_20 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_21 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_21B | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_22 | |
DISPLAY_TEXT_WIDGET TEXT_POS_X TEXT_POS_Y SC_23 | |
ENDIF | |
RETURN | |
quit_out_of_mission_debug: | |
IF MissionPage = -2 | |
is_player_in_mission_menu1 = 0 | |
last_mission_debug_page = -1 | |
//mission_debug_page = -1 | |
ENDIF | |
IF IS_BUTTON_PRESSED PAD2 RIGHTSHOCK | |
WHILE IS_BUTTON_PRESSED PAD2 RIGHTSHOCK | |
WAIT 0 | |
ENDWHILE | |
is_player_in_mission_menu1 = 0 | |
ENDIF | |
RETURN | |
debug_page1: //MISSIONS PAGE1************************************************************************************************** | |
FAIL_CURRENT_MISSION | |
GOSUB terminate_all_scripts | |
debug_number = 0 | |
IF button_pressed_main = debug_number | |
flag_intro_mission_counter = 0 | |
START_NEW_SCRIPT intro_mission_loop //"INTRO mission 1" //CRAIGF //BMX Bandits | |
REMOVE_BLIP intro_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT introX introY introZ intro_blip_icon intro_contact_blip | |
SET_LA_RIOTS OFF | |
SET_INT_STAT CITIES_PASSED 0 | |
SET_MAX_WANTED_LEVEL 4 | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME MOB_LA1 | |
START_NEW_SCRIPT cell_phone_LA1 | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME MOB_RAN | |
START_NEW_SCRIPT cell_phone_random | |
SWITCH_ENTRY_EXIT ammun1 FALSE | |
SWITCH_ENTRY_EXIT ammun2 FALSE | |
SWITCH_ENTRY_EXIT ammun3 FALSE | |
SWITCH_ENTRY_EXIT ammun4 FALSE | |
SWITCH_ENTRY_EXIT ammun5 FALSE | |
SWITCH_ENTRY_EXIT barbers FALSE | |
SWITCH_ENTRY_EXIT barber2 FALSE | |
SWITCH_ENTRY_EXIT barber3 FALSE | |
SWITCH_ENTRY_EXIT FDpiza FALSE | |
SWITCH_ENTRY_EXIT fdchick FALSE | |
SWITCH_ENTRY_EXIT fdburg FALSE | |
SWITCH_ENTRY_EXIT tattoo FALSE | |
SWITCH_ENTRY_EXIT cschp FALSE | |
SWITCH_ENTRY_EXIT cssprt FALSE | |
SWITCH_ENTRY_EXIT lacs1 FALSE | |
SWITCH_ENTRY_EXIT clothgp FALSE | |
SWITCH_ENTRY_EXIT csdesgn FALSE | |
SWITCH_ENTRY_EXIT csexl FALSE | |
SWITCH_ENTRY_EXIT gym1 FALSE | |
SWITCH_ENTRY_EXIT gym2 FALSE | |
SWITCH_ENTRY_EXIT gym3 FALSE | |
SWITCH_ENTRY_EXIT PDOMES FALSE | |
SWITCH_ENTRY_EXIT PDOMES2 FALSE | |
SWITCH_ENTRY_EXIT MADDOGS FALSE | |
SWITCH_ENTRY_EXIT MDDOGS FALSE | |
DEACTIVATE_GARAGE bodLAwN | |
DEACTIVATE_GARAGE modlast | |
DEACTIVATE_GARAGE mdsSFSe | |
DEACTIVATE_GARAGE mds1SFS //PP CAR GARAGE | |
DEACTIVATE_GARAGE vEcmod | |
goto_thereX = introX | |
goto_thereY = introY_d | |
goto_thereZ = introZ | |
debug_heading = 180.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_intro_mission_counter = 1 | |
START_NEW_SCRIPT intro_mission_loop //"INTRO mission 2" //CRAIGF //Haircut, Gym + robbery | |
REMOVE_BLIP intro_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT ryderX ryderY ryderZ ryder_blip_icon intro_contact_blip | |
goto_thereX = ryderX | |
goto_thereY = ryderY_d | |
goto_thereZ = ryderZ | |
debug_heading = 165.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_sweet_mission_counter = 0 | |
START_NEW_SCRIPT sweet_mission_loop //"Sweet mission 1" //CRAIGF //Tagging | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
debug_heading = 260.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_sweet_mission_counter = 1 | |
START_NEW_SCRIPT sweet_mission_loop //"Sweet mission 1B" //CRAIGF //Clean | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
debug_heading = 260.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_sweet_mission_counter = 2 | |
START_NEW_SCRIPT sweet_mission_loop //"Sweet mission 3" //CRAIG F //Chicken Wings | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
debug_heading = 260.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_sweet_mission_counter = 3 | |
START_NEW_SCRIPT sweet_mission_loop //"Sweet mission 2" //CRAIGF //Guns Guns Guns | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
debug_heading = 260.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_sweet_mission_counter = 4 | |
START_NEW_SCRIPT sweet_mission_loop //"Sweet mission 4" //CHRIS M //Getto Drive by | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
debug_heading = 260.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_sweet_mission_counter = 5 | |
START_NEW_SCRIPT sweet_mission_loop //"Sweet mission 5" //KEV B //RESCUE | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
debug_heading = 260.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_sweet_mission_counter = 6 | |
sw6_mission_attempts = 0 | |
START_NEW_SCRIPT sweet_mission_loop //"Sweet mission 6" //NEIL //Lowrider comp part 1 | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
debug_heading = 260.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_sweet_mission_counter = 7 | |
flag_mob_la1[4] = 1 | |
START_NEW_SCRIPT sweet_mission_loop //"Sweet mission 7" //WILLIE M //Doberman | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT 1365.2507 -1280.1200 12.5469 sweet_blip_icon sweet_contact_blip | |
SET_RELATIONSHIP ACQUAINTANCE_TYPE_PED_HATE PEDTYPE_GANG_FLAT PEDTYPE_PLAYER1 | |
goto_thereX = 1361.3253 | |
goto_thereY = -1279.5175 | |
goto_thereZ = 12.3828 | |
debug_heading = 269.3503 | |
// this gets unlocked after first cutscene for the mission - | |
// we disable the door to avoid the sreaming issue if the user runs into ammunation after starting the mission using mission jump | |
SWITCH_ENTRY_EXIT ammun1 FALSE | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_sweet_mission_counter = 8 | |
SET_INT_STAT RESPECT_TOTAL 100 | |
START_NEW_SCRIPT sweet_mission_loop //"Sweet mission 8" //STEVE T //Grave Misfortune | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
debug_heading = 260.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_crash_mission_counter = 0 | |
START_NEW_SCRIPT crash_mission_loop //"Crash mission 1" //CHRIS R //Burning Desire | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT crashX crashY crashZ crash_blip_icon crash_contact_blip | |
goto_thereX = crashX | |
goto_thereY = crashY_d | |
goto_thereZ = crashZ | |
debug_heading = 180.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_crash_mission_counter = 1 | |
START_NEW_SCRIPT crash_mission_loop //"Crash mission 3" //IMRAN //Docks shootout | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT crashX crashY crashZ crash_blip_icon crash_contact_blip | |
goto_thereX = crashX | |
goto_thereY = crashY_d | |
goto_thereZ = crashZ | |
debug_heading = 180.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_smoke_mission_counter = 0 | |
START_NEW_SCRIPT smoke_mission_loop //"Smoke mission 1" //ANDY //Payback | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT smokeX smokeY smokeZ smoke_blip_icon smoke_contact_blip | |
goto_thereX = smokeX_d | |
goto_thereY = smokeY | |
goto_thereZ = smokeZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_smoke_mission_counter = 1 | |
START_NEW_SCRIPT smoke_mission_loop //"Smoke mission 2" //JUDITH //Northen Mexican chase | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT smokeX smokeY smokeZ smoke_blip_icon smoke_contact_blip | |
goto_thereX = smokeX_d | |
goto_thereY = smokeY | |
goto_thereZ = smokeZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_smoke_mission_counter = 2 | |
START_NEW_SCRIPT smoke_mission_loop //"Smoke mission 3" //IMRAN //Train chase | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT smokeX smokeY smokeZ smoke_blip_icon smoke_contact_blip | |
goto_thereX = smokeX_d | |
goto_thereY = smokeY | |
goto_thereZ = smokeZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_smoke_mission_counter = 3 | |
START_NEW_SCRIPT smoke_mission_loop //"Smoke mission 4" //IMRAN //Dodgy dealings | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT smokeX smokeY smokeZ smoke_blip_icon smoke_contact_blip | |
goto_thereX = smokeX_d | |
goto_thereY = smokeY | |
goto_thereZ = smokeZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_strap_mission_counter = 0 | |
START_NEW_SCRIPT strap_mission_loop //"Strap mission 1" //JUDITH //GTS | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT strapX strapY strapZ strap_blip_icon strap_contact_blip | |
goto_thereX = strapX_d | |
goto_thereY = strapY | |
goto_thereZ = strapZ | |
debug_heading = 275.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_strap_mission_counter = 1 | |
START_NEW_SCRIPT strap_mission_loop //"Strap mission 2" //IMRAN //Steal from DocG | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT strapX strapY strapZ strap_blip_icon strap_contact_blip | |
goto_thereX = strapX_d | |
goto_thereY = strapY | |
goto_thereZ = strapZ | |
debug_heading = 275.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_strap_mission_counter = 2 | |
START_NEW_SCRIPT strap_mission_loop //"Strap mission 3" //ANDY //Kill G's manager | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT strapX strapY strapZ strap_blip_icon strap_contact_blip | |
goto_thereX = strapX_d | |
goto_thereY = strapY | |
goto_thereZ = strapZ | |
debug_heading = 275.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_strap_mission_counter = 4 | |
strap4_mission_passed_once_flag = 1 | |
START_NEW_SCRIPT strap_mission_loop //"Strap mission 4" //ANDY //House party | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT strap2X strap2Y strap2Z strap_blip_icon strap_contact_blip | |
goto_thereX = strap2X_d | |
goto_thereY = strap2Y | |
goto_thereZ = strap2Z | |
debug_heading = 275.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_ryder_mission_counter = 0 | |
START_NEW_SCRIPT ryder_mission_loop //"Ryder mission 1" //DAVE //Burglary | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT ryderX ryderY ryderZ ryder_blip_icon ryder_contact_blip | |
goto_thereX = ryderX | |
goto_thereY = ryderY_d | |
goto_thereZ = ryderZ | |
debug_heading = 165.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_ryder_mission_counter = 1 | |
START_NEW_SCRIPT ryder_mission_loop //"Ryder mission 3" //CHRIS R //Ammo Train Truck | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT ryderX ryderY ryderZ ryder_blip_icon ryder_contact_blip | |
goto_thereX = ryderX | |
goto_thereY = ryderY_d | |
goto_thereZ = ryderZ | |
debug_heading = 165.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_ryder_mission_counter = 2 | |
START_NEW_SCRIPT ryder_mission_loop //"Ryder mission 2" //NEIL //National Guard | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT ryderX ryderY ryderZ ryder_blip_icon ryder_contact_blip | |
goto_thereX = ryderX | |
goto_thereY = ryderY_d | |
goto_thereZ = ryderZ | |
debug_heading = 165.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_cesar_mission_counter = 0 | |
START_NEW_SCRIPT cesar_mission_loop //"Cesar mission 1" //CHRIS M //Race | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT cesarX cesarY cesarZ cesar_blip_icon cesar_contact_blip | |
CHANGE_BLIP_DISPLAY cesar_contact_blip BLIP_ONLY | |
goto_thereX = cesarX_d | |
goto_thereY = cesarY | |
goto_thereZ = cesarZ | |
debug_heading = 256.0 | |
ENDIF | |
/* | |
debug_number ++ | |
IF button_pressed_main = debug_number //"Cesar mission 2" //KEV B //Impound | |
flag_cesar_mission_counter = 1 | |
flag_mob_la1[3] = 1 | |
START_NEW_SCRIPT cesar_mission_loop // TEST STUFF | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT cesarX cesarY cesarZ cesar_blip_icon cesar_contact_blip | |
CHANGE_BLIP_DISPLAY cesar_contact_blip BLIP_ONLY | |
goto_thereX = cesarX_d | |
goto_thereY = cesarY | |
goto_thereZ = cesarZ | |
debug_heading = 256.0 | |
ENDIF | |
*/ | |
debug_number ++ | |
IF button_pressed_main = debug_number //"LA final mission 1" //IMRAN //Motel deal | |
flag_la1fin1_mission_counter = 0 | |
trigger_final_LA1_missions = 1 | |
flag_sweet_mission_counter = 9 | |
flag_smoke_mission_counter = 4 | |
flag_strap_mission_counter = 5 | |
flag_ryder_mission_counter = 3 | |
flag_crash_mission_counter = 2 | |
flag_cesar_mission_counter = 1 | |
START_NEW_SCRIPT la1fin1_mission_loop // TEST STUFF | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
debug_heading = 260.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number //"LA final mission 2" //KEV B //Killers cutlass | |
flag_la1fin1_mission_counter = 1 | |
trigger_final_LA1_missions = 1 | |
flag_sweet_mission_counter = 9 | |
flag_smoke_mission_counter = 4 | |
flag_strap_mission_counter = 5 | |
flag_ryder_mission_counter = 3 | |
flag_crash_mission_counter = 2 | |
flag_cesar_mission_counter = 1 | |
START_NEW_SCRIPT la1fin1_mission_loop // TEST STUFF | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
debug_heading = 260.0 | |
ENDIF | |
// **********************************BADLANDS | |
debug_number ++ | |
IF button_pressed_main = debug_number //"crash mission 1" //CHRIS M //Witness protection | |
flag_bcrash_mission_counter = 0 | |
cat_counter = 0 | |
flag_trailor_cutscene = 1 | |
flag_truth_mission_counter = 0 | |
START_NEW_SCRIPT bcrash_mission_loop // TEST STUFF | |
created_save_blips = 0 | |
REMOVE_PICKUP grove_save_pickup[13] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[13] save_pickupY[13] save_pickupZ[13] grove_save_pickup[13] //BADLANDS TRAILOR//remove | |
number_of_save_icons = 14 | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT bcrashX bcrashY bcrashZ crash_blip_icon bcrash_contact_blip | |
REMOVE_IPL Barriers1 | |
SET_INT_STAT CITIES_PASSED 1 | |
SET_MAX_WANTED_LEVEL 5 | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME MOB_CAT | |
START_NEW_SCRIPT cell_phone_cat | |
SWITCH_ENTRY_EXIT ammun1 TRUE | |
SWITCH_ENTRY_EXIT ammun2 TRUE | |
SWITCH_ENTRY_EXIT ammun3 TRUE | |
SWITCH_ENTRY_EXIT ammun4 TRUE | |
SWITCH_ENTRY_EXIT ammun5 TRUE | |
SWITCH_ENTRY_EXIT barbers TRUE | |
SWITCH_ENTRY_EXIT barber2 TRUE | |
SWITCH_ENTRY_EXIT barber3 TRUE | |
SWITCH_ENTRY_EXIT FDpiza TRUE | |
SWITCH_ENTRY_EXIT fdchick TRUE | |
SWITCH_ENTRY_EXIT fdburg TRUE | |
SWITCH_ENTRY_EXIT cschp TRUE | |
SWITCH_ENTRY_EXIT cssprt TRUE | |
SWITCH_ENTRY_EXIT lacs1 TRUE | |
SWITCH_ENTRY_EXIT clothgp TRUE | |
SWITCH_ENTRY_EXIT csdesgn TRUE | |
SWITCH_ENTRY_EXIT csexl TRUE | |
SWITCH_ENTRY_EXIT gym1 TRUE | |
SWITCH_ENTRY_EXIT gym2 TRUE | |
SWITCH_ENTRY_EXIT gym3 TRUE | |
goto_thereX = bcrashX_d | |
goto_thereY = bcrashY | |
goto_thereZ = bcrashZ | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
START_NEW_SCRIPT cat_mission_loop //"Catalina mission 1" //NEIL //Rob liquor store | |
// IF DOES_CHAR_EXIST catalina | |
// REMOVE_CHAR_ELEGANTLY catalina | |
// DELETE_CHAR catalina | |
// ENDIF | |
// GOSUB remove_catalina | |
flag_cat_mission_counter = 0 | |
flag_truth_mission_counter = 1 | |
flag_trailor_cutscene = 1 | |
// catalina_contact_blip_state = 0 | |
// catalina_generation_flag = 1 | |
// cat_played_cut_first = 0 | |
cat_counter = 0 | |
flag_mob_cat[3] = 1 | |
// cat_mission_ended[0] = 1 | |
flag_cat_mission1_passed = 0 | |
flag_catcutscene_counter = 1 | |
flag_trailor_cutscene = 1 | |
//temp_float_1 = catY[5] - 4.0 | |
goto_thereX = catX[5] | |
goto_thereY = catY[5] | |
goto_thereZ = catZ[5] | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
START_NEW_SCRIPT cat_mission_loop //"Catalina mission 2" //KEV B //Rob Bank | |
// IF DOES_CHAR_EXIST catalina | |
// REMOVE_CHAR_ELEGANTLY catalina | |
// DELETE_CHAR catalina | |
// ENDIF | |
// GOSUB remove_catalina | |
flag_cat_mission_counter = 1 | |
flag_truth_mission_counter = 1 | |
flag_trailor_cutscene = 1 | |
// catalina_contact_blip_state = 0 | |
// catalina_generation_flag = 1 | |
// cat_played_cut_first = 0 | |
flag_cat_mission2_passed = 0 | |
// flag_catcutscene_counter = 1 | |
flag_trailor_cutscene = 1 | |
cat_counter = 1 | |
flag_mob_cat[3] = 1 | |
// cat_mission_ended[0] = 1 | |
goto_thereX = catx_d | |
goto_thereY = catY[0] | |
goto_thereZ = catZ[0] | |
debug_heading = 337.2648 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
START_NEW_SCRIPT cat_mission_loop //"Catalina mission 3" //CHRIS //Rob Petrol station | |
// IF DOES_CHAR_EXIST catalina | |
// REMOVE_CHAR_ELEGANTLY catalina | |
// DELETE_CHAR catalina | |
// ENDIF | |
// GOSUB remove_catalina | |
flag_cat_mission_counter = 2 | |
flag_truth_mission_counter = 1 | |
flag_trailor_cutscene = 1 | |
// catalina_contact_blip_state = 0 | |
// catalina_generation_flag = 1 | |
// cat_played_cut_first = 0 | |
flag_cat_mission3_passed = 0 | |
flag_trailor_cutscene = 1 | |
// flag_catcutscene_counter = 1 | |
cat_counter = 2 | |
flag_mob_cat[3] = 1 | |
// cat_mission_ended[0] = 1 | |
goto_thereX = catx_d | |
goto_thereY = catY[0] | |
goto_thereZ = catZ[0] | |
debug_heading = 337.2648 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
START_NEW_SCRIPT cat_mission_loop //"Catalina mission 4" //KEV W //Rob OTB | |
// IF DOES_CHAR_EXIST catalina | |
// REMOVE_CHAR_ELEGANTLY catalina | |
// DELETE_CHAR catalina | |
// ENDIF | |
// GOSUB remove_catalina | |
flag_cat_mission_counter = 3 | |
flag_truth_mission_counter = 1 | |
// catalina_contact_blip_state = 0 | |
// catalina_generation_flag = 1 | |
// cat_played_cut_first = 0 | |
flag_trailor_cutscene = 1 | |
flag_cat_mission4_passed = 0 | |
// flag_catcutscene_counter = 1 | |
cat_counter = 3 | |
flag_mob_cat[3] = 1 | |
// cat_mission_ended[0] = 1 | |
goto_thereX = catx_d | |
goto_thereY = catY[0] | |
goto_thereZ = catZ[0] | |
debug_heading = 337.2648 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_truth_mission_counter = 0 | |
flag_trigger_trailor_cut = 1 | |
START_NEW_SCRIPT cat_mission_loop | |
START_NEW_SCRIPT truth_mission_loop //"truth mission 1" //IMRAN //Body Harvest | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT truth2X truth2Y truth2Z truth_blip_icon truth_contact_blip //HOTEL | |
goto_thereX = -2195.72 | |
goto_thereY = -2255.89 | |
goto_thereZ = 29.05 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_truth_mission_counter = 1 | |
flag_cat_mission1_passed = 1 | |
flag_cat_mission2_passed = 1 | |
flag_cat_mission3_passed = 1 | |
flag_cat_mission4_passed = 1 | |
flag_bcesar_mission_counter = 10 | |
START_NEW_SCRIPT truth_mission_loop //"truth mission 2" //ANDY //Full head of green | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT truthX truthY truthZ truth_blip_icon truth_contact_blip | |
goto_thereX = truthX_d | |
goto_thereY = truthY | |
goto_thereZ = truthZ | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_bcesar_mission_counter = 0 | |
cat_counter = 4 | |
START_NEW_SCRIPT bcesar_mission_loop //"bcesar mission 4" //KEV B //Badlands Race1 | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT bcesarX bcesarY bcesarZ cesar_blip_icon bcesar_contact_blip | |
CHANGE_BLIP_DISPLAY bcesar_contact_blip BLIP_ONLY | |
goto_thereX = bcesarX_d | |
goto_thereY = bcesarY | |
goto_thereZ = bcesarZ | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_bcesar_mission_counter = 5 | |
cat_counter = 4 | |
START_NEW_SCRIPT bcesar_mission_loop //"bcesar mission 4" //KEV B //Badlands Race2 | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT -513.9356 -188.3140 77.4599 cesar_blip_icon bcesar_contact_blip | |
goto_thereX = -513.9356 | |
goto_thereY = -188.3140 | |
goto_thereZ = 77.4599 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number // big smoke's cash | |
//courier_timer = 400 | |
cat_counter = 3 | |
goto_thereX = bcesarX_d | |
goto_thereY = bcesarY | |
goto_thereZ = bcesarZ | |
ENDIF | |
// **********************************SAN FRAN | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_garage_mission_counter = 0 | |
START_NEW_SCRIPT garage_mission_loop //"Garage mission 1" //KEV W //Welcome to San Fran | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ RADAR_SPRITE_CJ garage_contact_blip | |
created_save_blips = 0 | |
REMOVE_PICKUP grove_save_pickup[15] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[15] save_pickupY[15] save_pickupZ[15] grove_save_pickup[15] //SAN FRAN GARAGE//remove | |
number_of_save_icons = 16 | |
SET_INT_STAT CITIES_PASSED 1 | |
SET_MAX_WANTED_LEVEL 5 | |
flag_truth_mission_counter = 2 | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME MOB_SF | |
START_NEW_SCRIPT cell_phone_sanfran | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME MOB_RAN | |
START_NEW_SCRIPT cell_phone_random | |
SWITCH_ENTRY_EXIT ammun1 TRUE | |
SWITCH_ENTRY_EXIT ammun2 TRUE | |
SWITCH_ENTRY_EXIT ammun3 TRUE | |
SWITCH_ENTRY_EXIT ammun4 TRUE | |
SWITCH_ENTRY_EXIT ammun5 TRUE | |
SWITCH_ENTRY_EXIT barbers TRUE | |
SWITCH_ENTRY_EXIT barber2 TRUE | |
SWITCH_ENTRY_EXIT barber3 TRUE | |
SWITCH_ENTRY_EXIT FDpiza TRUE | |
SWITCH_ENTRY_EXIT fdchick TRUE | |
SWITCH_ENTRY_EXIT fdburg TRUE | |
SWITCH_ENTRY_EXIT cschp TRUE | |
SWITCH_ENTRY_EXIT cssprt TRUE | |
SWITCH_ENTRY_EXIT lacs1 TRUE | |
SWITCH_ENTRY_EXIT clothgp TRUE | |
SWITCH_ENTRY_EXIT csdesgn TRUE | |
SWITCH_ENTRY_EXIT csexl TRUE | |
SWITCH_ENTRY_EXIT gym1 TRUE | |
SWITCH_ENTRY_EXIT gym2 TRUE | |
SWITCH_ENTRY_EXIT gym3 TRUE | |
goto_thereX = garageX_d | |
goto_thereY = garageY | |
goto_thereZ = garageZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_garage_mission_counter = 1 | |
flag_scrash_mission_counter = 1 | |
SET_INT_STAT CITIES_PASSED 1 | |
START_NEW_SCRIPT garage_mission_loop //"Garage mission 2" //NEIL //Demolition | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ RADAR_SPRITE_CJ garage_contact_blip | |
goto_thereX = garageX_d | |
goto_thereY = garageY | |
goto_thereZ = garageZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_scrash_mission_counter = 0 | |
START_NEW_SCRIPT scrash_mission_loop //"Scrash mission 1" //KEV B //Plant The Drugs | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT scrashX scrashY scrashZ crash_blip_icon scrash_contact_blip | |
goto_thereX = scrashX_d | |
goto_thereY = scrashY | |
goto_thereZ = scrashZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_scrash_mission_counter = 1 | |
flag_Synd_mission_counter = 6 | |
START_NEW_SCRIPT scrash_mission_loop //"Scrash mission 2" //CHRIS R //Follow the ped | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT scrashX scrashY scrashZ crash_blip_icon scrash_contact_blip | |
goto_thereX = scrashX_d | |
goto_thereY = scrashY | |
goto_thereZ = scrashZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_wuzi_mission_counter = 0 | |
START_NEW_SCRIPT wuzi_mission_loop //"Wuzi mission 1" //KEV B //Meet the People | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT wuziX wuziY wuziZ wuzi_blip_icon wuzi_contact_blip | |
goto_thereX = wuziX_d | |
goto_thereY = wuziY | |
goto_thereZ = wuziZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_wuzi_mission_counter = 1 | |
START_NEW_SCRIPT wuzi_mission_loop //"Wuzi mission 3" PAUL D //Airport Pickup | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT wuziX wuziY wuziZ wuzi_blip_icon wuzi_contact_blip | |
goto_thereX = wuziX_d | |
goto_thereY = wuziY | |
goto_thereZ = wuziZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_wuzi_mission_counter = 2 | |
START_NEW_SCRIPT wuzi_mission_loop //"Wuzi mission 4" JUDITH //Cross Country Decoy | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT wuziX wuziY wuziZ wuzi_blip_icon wuzi_contact_blip | |
goto_thereX = wuziX_d | |
goto_thereY = wuziY | |
goto_thereZ = wuziZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_wuzi_mission_counter = 3 | |
START_NEW_SCRIPT wuzi_mission_loop //"Wuzi mission 5" //JUDITH //Swimming with the Sharks | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT wuziX wuziY wuziZ wuzi_blip_icon wuzi_contact_blip | |
goto_thereX = wuziX_d | |
goto_thereY = wuziY | |
goto_thereZ = wuziZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_wuzi_mission_counter = 4 | |
START_NEW_SCRIPT wuzi_mission_loop //"Wuzi mission 7" //ANDY //Storm Freighter | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT wuziX wuziY wuziZ wuzi_blip_icon wuzi_contact_blip | |
goto_thereX = wuziX_d | |
goto_thereY = wuziY | |
goto_thereZ = wuziZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_synd_mission_counter = 0 | |
START_NEW_SCRIPT synd_mission_loop //"Syndicate mission 1" //CHRIS M //Recon | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ garage_blip_icon garage_contact_blip | |
goto_thereX = garageX_d | |
goto_thereY = garageY | |
goto_thereZ = garageZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_synd_mission_counter = 1 | |
syn2_mission_attempts = 0 | |
START_NEW_SCRIPT synd_mission_loop //"Syndicate mission 2" //NEIL //Blonde Ambition | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ garage_blip_icon garage_contact_blip | |
goto_thereX = garageX_d | |
goto_thereY = garageY | |
goto_thereZ = garageZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number //"Syndicate mission 3" JUDITH //Bike Bust Up | |
flag_synd_mission_counter = 3 | |
START_NEW_SCRIPT Synd_mission_loop // TEST STUFF | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT syndX syndY syndZ synd_blip_icon synd_contact_blip | |
goto_thereX = syndX_d | |
goto_thereY = syndY | |
goto_thereZ = syndZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_synd_mission_counter = 4 | |
START_NEW_SCRIPT Synd_mission_loop //"Syndicate mission 4" KEV W //Hostage | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT syndX syndY syndZ synd_blip_icon synd_contact_blip | |
goto_thereX = syndX_d | |
goto_thereY = syndY | |
goto_thereZ = syndZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_synd_mission_counter = 5 | |
START_NEW_SCRIPT Synd_mission_loop //"Syndicate mission 5" //JUDITH //Outrider | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ synd_blip_icon synd_contact_blip | |
goto_thereX = garageX_d | |
goto_thereY = garageY | |
goto_thereZ = garageZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_synd_mission_counter = 6 | |
flag_scrash_mission_counter = 2 | |
START_NEW_SCRIPT synd_mission_loop //"Syndicate mission 6" //PAUL //Call to arms | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ garage_blip_icon garage_contact_blip | |
goto_thereX = garageX_d | |
goto_thereY = garageY | |
goto_thereZ = garageZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_mob_sanfran[7] = 1 | |
flag_synd_mission_counter = 7 | |
START_NEW_SCRIPT synd_mission_loop //"Syndicate mission 7" //ANDY //Pier69 | |
//ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ garage_blip_icon garage_contact_blip | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT -1717.05 1280.91 6.23 garage_blip_icon garage_contact_blip | |
goto_thereX = -1713.6208 | |
goto_thereY = 1282.9164 | |
goto_thereZ = 6.1875 | |
debug_heading = 125.4326 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_synd_mission_counter = 8 | |
START_NEW_SCRIPT synd_mission_loop //"Syndicate mission 8" //STEVE T //Toreno's Plane | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ garage_blip_icon garage_contact_blip | |
goto_thereX = garageX_d | |
goto_thereY = garageY | |
goto_thereZ = garageZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_synd_mission_counter = 9 | |
flag_wuzi_mission_counter = 5 | |
START_NEW_SCRIPT synd_mission_loop //"Syndicate mission 9" //PAUL D //Los Cabras Crack Lab | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT garageX garageY garageZ garage_blip_icon garage_contact_blip | |
goto_thereX = garageX_d | |
goto_thereY = garageY | |
goto_thereZ = garageZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_steal_mission_counter = 0 | |
START_NEW_SCRIPT steal_mission_loop //"steal mission 1" //CHRIS M //Follow Steal | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT stealX stealY stealZ steal_blip_icon steal_contact_blip | |
goto_thereX = stealX_d | |
goto_thereY = stealY | |
goto_thereZ = stealZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_steal_mission_counter = 1 | |
START_NEW_SCRIPT steal_mission_loop //"steal mission 2" //ANDY //Steal from Car Showroom | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT stealX stealY stealZ steal_blip_icon steal_contact_blip | |
goto_thereX = stealX_d | |
goto_thereY = stealY | |
goto_thereZ = stealZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_steal_mission_counter = 2 | |
START_NEW_SCRIPT steal_mission_loop //"steal mission 4" //NEIL //Car Crane | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT stealX stealY stealZ steal_blip_icon steal_contact_blip | |
goto_thereX = stealX_d | |
goto_thereY = stealY | |
goto_thereZ = stealZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_steal_mission_counter = 3 | |
START_NEW_SCRIPT steal_mission_loop //"steal mission 5" //ANDY //Stinger Trap | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT stealX stealY stealZ steal_blip_icon steal_contact_blip | |
goto_thereX = stealX_d | |
goto_thereY = stealY | |
goto_thereZ = stealZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_zero_mission_counter = 0 | |
START_NEW_SCRIPT zero_mission_loop //"zero mission 1" //KEV W //Scramble | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT zeroX zeroY zeroZ zero_blip_icon zero_contact_blip | |
goto_thereX = zeroX_d | |
goto_thereY = zeroY | |
goto_thereZ = zeroZ | |
debug_heading = 260.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_zero_mission_counter = 1 | |
START_NEW_SCRIPT zero_mission_loop //"zero mission 2" //KEV W //Rolling Thunder | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT zeroX zeroY zeroZ zero_blip_icon zero_contact_blip | |
goto_thereX = zeroX_d | |
goto_thereY = zeroY | |
goto_thereZ = zeroZ | |
debug_heading = 260.0 | |
ENDIF | |
/* | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_zero_mission_counter = 2 | |
START_NEW_SCRIPT zero_mission_loop //"zero mission 3" //KEV W //Tanked Up | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT zeroX zeroY zeroZ zero_blip_icon zero_contact_blip | |
goto_thereX = zeroX_d | |
goto_thereY = zeroY | |
goto_thereZ = zeroZ | |
debug_heading = 260.0 | |
ENDIF | |
*/ | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_zero_mission_counter = 2 | |
START_NEW_SCRIPT zero_mission_loop //"zero mission 4" //NEIL //Return Fire | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT zeroX zeroY zeroZ zero_blip_icon zero_contact_blip | |
goto_thereX = zeroX_d | |
goto_thereY = zeroY | |
goto_thereZ = zeroZ | |
debug_heading = 260.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number // ANDY //The Tests | |
flag_garage_mission_counter = 1 | |
START_NEW_SCRIPT trace_mission_loop // TEST STUFF | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT testsX testsY testsZ RADAR_SPRITE_SCHOOL dschool_contact_blip | |
//SET_BLIP_ENTRY_EXIT dschool_contact_blip -2026.4767 -99.8392 10.0 | |
CHANGE_BLIP_DISPLAY dschool_contact_blip BLIP_ONLY | |
goto_thereX = -2025.58 | |
goto_thereY = -93.66 | |
goto_thereZ = 34.17 | |
debug_heading = 180.0 | |
//START_NEW_SCRIPT cell_phone_sanfran | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
driving_test_passed = 1 | |
START_NEW_SCRIPT trace_mission_loop //"trace mission 1" //CHRIS R //Race Tournament | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT traceX[0] traceY[0] traceZ[0] trace_blip_icon trace_contact_blip[0] | |
goto_thereX = traceX_d[0] | |
goto_thereY = traceY[0] | |
goto_thereZ = traceZ[0] | |
debug_heading = 270.0 | |
ENDIF | |
// **********************************DESERT | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_desert_mission_counter = 0 | |
START_NEW_SCRIPT desert_mission_loop //"desert mission 1" //IMRAN //Monster Mash | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desertX desertY desertZ desert_blip_icon desert_contact_blip | |
created_save_blips = 0 | |
REMOVE_PICKUP grove_save_pickup[16] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[16] save_pickupY[16] save_pickupZ[16] grove_save_pickup[16] //TORENOS RANCH//remove | |
number_of_save_icons = 17 | |
REMOVE_IPL Barriers2 | |
SET_INT_STAT CITIES_PASSED 2 | |
SET_MAX_WANTED_LEVEL 6 | |
flag_mob_sanfran[5] = 0 | |
flag_mob_sanfran[7] = 0 | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME MOB_VEG | |
START_NEW_SCRIPT cell_phone_vegas | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME MOB_SF | |
START_NEW_SCRIPT cell_phone_sanfran | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME MOB_RAN | |
START_NEW_SCRIPT cell_phone_random | |
SWITCH_ENTRY_EXIT ammun1 TRUE | |
SWITCH_ENTRY_EXIT ammun2 TRUE | |
SWITCH_ENTRY_EXIT ammun3 TRUE | |
SWITCH_ENTRY_EXIT ammun4 TRUE | |
SWITCH_ENTRY_EXIT ammun5 TRUE | |
SWITCH_ENTRY_EXIT barbers TRUE | |
SWITCH_ENTRY_EXIT barber2 TRUE | |
SWITCH_ENTRY_EXIT barber3 TRUE | |
SWITCH_ENTRY_EXIT FDpiza TRUE | |
SWITCH_ENTRY_EXIT fdchick TRUE | |
SWITCH_ENTRY_EXIT fdburg TRUE | |
SWITCH_ENTRY_EXIT cschp TRUE | |
SWITCH_ENTRY_EXIT cssprt TRUE | |
SWITCH_ENTRY_EXIT lacs1 TRUE | |
SWITCH_ENTRY_EXIT clothgp TRUE | |
SWITCH_ENTRY_EXIT csdesgn TRUE | |
SWITCH_ENTRY_EXIT csexl TRUE | |
SWITCH_ENTRY_EXIT gym1 TRUE | |
SWITCH_ENTRY_EXIT gym2 TRUE | |
SWITCH_ENTRY_EXIT gym3 TRUE | |
goto_thereX = desertX_d | |
goto_thereY = desertY | |
goto_thereZ = desertZ | |
debug_heading = 275.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_desert_mission_counter = 1 | |
flag_mob_sanfran[5] = 1 | |
START_NEW_SCRIPT desert_mission_loop //"desert mission 2" //ANDY //Jump linerunner //HIGHJACK | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desertX desertY desertZ desert_blip_icon desert_contact_blip | |
goto_thereX = desertX_d | |
goto_thereY = desertY | |
goto_thereZ = desertZ | |
debug_heading = 275.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_desert_mission_counter = 2 | |
flag_mob_sanfran[7] = 1 | |
START_NEW_SCRIPT desert_mission_loop //"desert mission 3" //NEIL //Contraband //INTERDICTION | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desertX desertY desertZ desert_blip_icon desert_contact_blip | |
goto_thereX = desertX_d | |
goto_thereY = desertY | |
goto_thereZ = desertZ | |
debug_heading = 275.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_desert_mission_counter = 3 | |
START_NEW_SCRIPT desert_mission_loop //"desert mission 4" //CRAIG //Learning to Fly | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desertX desertY desertZ desert_blip_icon desert_contact_blip | |
goto_thereX = desertX_d | |
goto_thereY = desertY | |
goto_thereZ = desertZ | |
debug_heading = 275.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_desert_mission_counter = 4 | |
START_NEW_SCRIPT pilot_school_loop //"desert mission 5" //JUDITH //Pilot School | |
START_NEW_SCRIPT desert_mission_loop | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT pilotx piloty pilotz RADAR_SPRITE_SCHOOL pilot_contact_blip | |
CHANGE_BLIP_DISPLAY pilot_contact_blip BLIP_ONLY | |
goto_thereX = 413.5500 | |
goto_thereY = 2533.5701 | |
goto_thereZ = 18.1484 | |
debug_heading = 275.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_desert_mission_counter = 5 | |
pilot_test_passed = 1 | |
START_NEW_SCRIPT desert_mission_loop //"desert mission 6" //CHRISR //N.O.E. | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desert2X desert2Y desert2Z desert_blip_icon desert_contact_blip | |
goto_thereX = desert2X_d | |
goto_thereY = desert2Y | |
goto_thereZ = desert2Z | |
debug_heading = 275.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_desert_mission_counter = 6 | |
START_NEW_SCRIPT desert_mission_loop //"desert mission 9" //C3 Shootout | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desert2X desert2Y desert2Z desert_blip_icon desert_contact_blip | |
goto_thereX = desert2X_d | |
goto_thereY = desert2Y | |
goto_thereZ = desert2Z | |
debug_heading = 275.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_desert_mission_counter = 7 | |
START_NEW_SCRIPT desert_mission_loop //"desert mission 8" //IMRAN //Steal Jetpack | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desert2X desert2Y desert2Z desert_blip_icon desert_contact_blip | |
goto_thereX = desert2X_d | |
goto_thereY = desert2Y | |
goto_thereZ = desert2Z | |
debug_heading = 275.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_mob_vegas[11] = 1 | |
flag_desert_mission_counter = 8 | |
START_NEW_SCRIPT desert_mission_loop //"desert mission 10" //Train Heist | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT desert2X desert2Y desert2Z desert_blip_icon desert_contact_blip | |
goto_thereX = desert2X_d | |
goto_thereY = desert2Y | |
goto_thereZ = desert2Z | |
debug_heading = 275.0 | |
ENDIF | |
// **********************************VEGAS | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_casino_mission_counter = 0 | |
START_NEW_SCRIPT casino_mission_loop //"casino mission 1" //CHRIS M //Wind up | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT casinoX casinoY casinoZ casino_blip_icon casino_contact_blip | |
SET_BLIP_ENTRY_EXIT casino_contact_blip 2024.3904 1008.6202 20.0 | |
created_save_blips = 0 | |
REMOVE_PICKUP grove_save_pickup[17] | |
CREATE_PICKUP PICKUPSAVE PICKUP_ONCE save_pickupX[17] save_pickupY[17] save_pickupZ[17] grove_save_pickup[17] //TRIAD CASINO//remove | |
number_of_save_icons = 18 | |
REMOVE_BLIP save_house_blip[17] | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT save_pickupX[17] save_pickupY[17] save_pickupZ[17] RADAR_SPRITE_SAVEHOUSE save_house_blip[17] | |
CHANGE_BLIP_DISPLAY save_house_blip[17] BLIP_ONLY | |
SET_INT_STAT CITIES_PASSED 2 | |
SET_MAX_WANTED_LEVEL 6 | |
flag_mob_vegas[10] = 1 | |
flag_desert_mission_counter = 9 | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME MOB_VEG | |
START_NEW_SCRIPT cell_phone_vegas | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME MOB_RAN | |
START_NEW_SCRIPT cell_phone_random | |
SWITCH_ENTRY_EXIT ammun1 TRUE | |
SWITCH_ENTRY_EXIT ammun2 TRUE | |
SWITCH_ENTRY_EXIT ammun3 TRUE | |
SWITCH_ENTRY_EXIT ammun4 TRUE | |
SWITCH_ENTRY_EXIT ammun5 TRUE | |
SWITCH_ENTRY_EXIT barbers TRUE | |
SWITCH_ENTRY_EXIT barber2 TRUE | |
SWITCH_ENTRY_EXIT barber3 TRUE | |
SWITCH_ENTRY_EXIT FDpiza TRUE | |
SWITCH_ENTRY_EXIT fdchick TRUE | |
SWITCH_ENTRY_EXIT fdburg TRUE | |
SWITCH_ENTRY_EXIT cschp TRUE | |
SWITCH_ENTRY_EXIT cssprt TRUE | |
SWITCH_ENTRY_EXIT lacs1 TRUE | |
SWITCH_ENTRY_EXIT clothgp TRUE | |
SWITCH_ENTRY_EXIT csdesgn TRUE | |
SWITCH_ENTRY_EXIT csexl TRUE | |
SWITCH_ENTRY_EXIT gym1 TRUE | |
SWITCH_ENTRY_EXIT gym2 TRUE | |
SWITCH_ENTRY_EXIT gym3 TRUE | |
goto_thereX = 2024.3904 | |
goto_thereY = 1008.6202 | |
goto_thereZ = 9.8127 | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_casino_mission_counter = 1 | |
START_NEW_SCRIPT casino_mission_loop //"casino mission 2" //PAUL //Kickstart Quarry | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT casinoX casinoY casinoZ casino_blip_icon casino_contact_blip | |
SET_BLIP_ENTRY_EXIT casino_contact_blip 2024.3904 1008.6202 20.0 | |
goto_thereX = 2024.3904 | |
goto_thereY = 1008.6202 | |
goto_thereZ = 9.8127 | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_casino_mission_counter = 2 | |
START_NEW_SCRIPT casino_mission_loop //"casino mission 3" //STEVE //Fake Chips | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT casinoX casinoY casinoZ casino_blip_icon casino_contact_blip | |
SET_BLIP_ENTRY_EXIT casino_contact_blip 2024.3904 1008.6202 20.0 | |
goto_thereX = 2024.3904 | |
goto_thereY = 1008.6202 | |
goto_thereZ = 9.8127 | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_casino_mission_counter = 3 | |
START_NEW_SCRIPT casino_mission_loop //"casino mission 4" //DAVE //Paul & Maccer | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT 2026.6028 1007.7353 9.8127 casino_blip_icon casino_contact_blip | |
//SET_BLIP_ENTRY_EXIT casino_contact_blip 2187.2856 1678.4614 20.0 | |
goto_thereX = 2032.0428 | |
goto_thereY = 1006.4272 | |
goto_thereZ = 9.8203 | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_mob_vegas[2] = 1 | |
flag_casino_mission_counter = 4 | |
START_NEW_SCRIPT casino_mission_loop //"casino mission 5" //IMRAN //Hospital Hi Jinx | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT heistX heistY heistZ heist_blip_icon casino_contact_blip | |
SET_BLIP_ENTRY_EXIT casino_contact_blip 2187.2856 1678.4614 20.0 | |
goto_thereX = 2187.2856 | |
goto_thereY = 1678.4614 | |
goto_thereZ = 10.1055 | |
debug_heading = 270.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_casino_mission_counter = 5 | |
START_NEW_SCRIPT casino_mission_loop //"casino mission 6" //SIMON //Abattoir | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT heistX heistY heistZ heist_blip_icon casino_contact_blip | |
SET_BLIP_ENTRY_EXIT casino_contact_blip 2187.2856 1678.4614 20.0 | |
goto_thereX = 2187.2856 | |
goto_thereY = 1678.4614 | |
goto_thereZ = 10.1055 | |
debug_heading = 270.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_casino_mission_counter = 6 | |
START_NEW_SCRIPT casino_mission_loop //"casino mission 7" //IMRAN //Clear & Present Danger | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT casinoX casinoY casinoZ casino_blip_icon casino_contact_blip | |
SET_BLIP_ENTRY_EXIT casino_contact_blip 2026.6028 1007.7353 20.0 | |
goto_thereX = 2024.3904 | |
goto_thereY = 1008.6202 | |
goto_thereZ = 9.8127 | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_mob_vegas[3] = 1 | |
flag_casino_mission_counter = 7 | |
START_NEW_SCRIPT casino_mission_loop //"casino mission 9" //SIMON //Freefalln | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT heistX heistY heistZ heist_blip_icon casino_contact_blip | |
SET_BLIP_ENTRY_EXIT casino_contact_blip 2187.2856 1678.4614 20.0 | |
goto_thereX = 2187.2856 | |
goto_thereY = 1678.4614 | |
goto_thereZ = 10.1055 | |
debug_heading = 270.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_casino_mission_counter = 8 | |
flag_vcrash_mission_counter = 2 | |
flag_mob_vegas[4] = 1 | |
START_NEW_SCRIPT casino_mission_loop //"casino mission 10" //WILLIE //St Marks Bistro | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT heistX heistY heistZ heist_blip_icon casino_contact_blip | |
SET_BLIP_ENTRY_EXIT casino_contact_blip 2187.2856 1678.4614 20.0 | |
goto_thereX = 2187.2856 | |
goto_thereY = 1678.4614 | |
goto_thereZ = 10.1055 | |
debug_heading = 270.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_vcrash_mission_counter = 0 | |
START_NEW_SCRIPT vcrash_mission_loop //"vcrash mission 1" //CHRIS R //Uber Chase | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT vcrashX vcrashY vcrashZ crash_blip_icon vcrash_contact_blip | |
goto_thereX = vcrashX_d | |
goto_thereY = vcrashY | |
goto_thereZ = vcrashZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_vcrash_mission_counter = 1 | |
flag_mob_vegas[0] = 1 | |
START_NEW_SCRIPT vcrash_mission_loop //"vcrash mission 2" //IMRAN //High Noon | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT -378.7596 2235.8594 41.4288 crash_blip_icon vcrash_contact_blip | |
goto_thereX = -380.7596 | |
goto_thereY = 2235.8594 | |
goto_thereZ = 41.4288 | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
RETURN | |
debug_page2: //MISSIONS PAGE2************************************************************************************************** | |
FAIL_CURRENT_MISSION | |
GOSUB terminate_all_scripts | |
debug_number = 0 | |
IF button_pressed_main = debug_number | |
flag_doc_mission_counter = 0 | |
START_NEW_SCRIPT doc_mission_loop //"doc mission 2" //PAUL //Jumper | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT docX docY docZ doc_blip_icon doc_contact_blip | |
goto_thereX = docX_d | |
goto_thereY = docY | |
goto_thereZ = docZ | |
debug_heading = 270.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_heist_mission_counter = 0 | |
START_NEW_SCRIPT heist_mission_loop //"heist mission 1" //STEVE //Photo Plans | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT TheheistX TheheistY TheheistZ Theheist_blip_icon Theheist_contact_blip | |
SET_BLIP_ENTRY_EXIT Theheist_contact_blip 2024.3904 1008.6202 20.0 | |
goto_thereX = 2024.3904 | |
goto_thereY = 1008.6202 | |
goto_thereZ = 9.8127 | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_heist_mission_counter = 1 | |
START_NEW_SCRIPT heist_mission_loop //"heist mission 3" //DAVE //Girlfiend | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT TheheistX TheheistY TheheistZ Theheist_blip_icon Theheist_contact_blip | |
SET_BLIP_ENTRY_EXIT Theheist_contact_blip 2024.3904 1008.6202 20.0 | |
goto_thereX = 2024.3904 | |
goto_thereY = 1008.6202 | |
goto_thereZ = 9.8127 | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_heist_mission_counter = 2 | |
START_NEW_SCRIPT heist_mission_loop //"heist mission 2" //DAVE //Dam charges | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT TheheistX TheheistY TheheistZ Theheist_blip_icon Theheist_contact_blip | |
SET_BLIP_ENTRY_EXIT Theheist_contact_blip 2024.3904 1008.6202 20.0 | |
goto_thereX = 2024.3904 | |
goto_thereY = 1008.6202 | |
goto_thereZ = 9.8127 | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_heist_mission_counter = 3 | |
START_NEW_SCRIPT heist_mission_loop //"heist mission 4" //CHRIS R //Street Hawk | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT TheheistX TheheistY TheheistZ Theheist_blip_icon Theheist_contact_blip | |
SET_BLIP_ENTRY_EXIT Theheist_contact_blip 2024.3904 1008.6202 20.0 | |
goto_thereX = 2024.3904 | |
goto_thereY = 1008.6202 | |
goto_thereZ = 9.8127 | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_heist_mission_counter = 4 | |
START_NEW_SCRIPT heist_mission_loop //"heist mission 5" //WILLIE //Steal Heli Magnate | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT TheheistX TheheistY TheheistZ Theheist_blip_icon Theheist_contact_blip | |
SET_BLIP_ENTRY_EXIT Theheist_contact_blip 2024.3904 1008.6202 20.0 | |
goto_thereX = 2024.3904 | |
goto_thereY = 1008.6202 | |
goto_thereZ = 9.8127 | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_heist_mission_counter = 5 | |
flag_casino_mission_counter = 9 | |
keycard_aquired_from_millie = 1 | |
flag_mob_vegas[6] = 1 | |
START_NEW_SCRIPT heist_mission_loop //"heist mission 9" //PAUL D //The Heist | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT TheheistX TheheistY TheheistZ Theheist_blip_icon Theheist_contact_blip | |
SET_BLIP_ENTRY_EXIT Theheist_contact_blip 2024.3904 1008.6202 20.0 | |
goto_thereX = 2024.3904 | |
goto_thereY = 1008.6202 | |
goto_thereZ = 9.8127 | |
debug_heading = 90.0 | |
ENDIF | |
// **********************************LA2 | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_mansion_mission_counter = 0 | |
START_NEW_SCRIPT mansion_mission_loop //"mansion mission 1" //SIMON //Take Back G's Mansion | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT casinoX casinoY casinoZ casino_blip_icon casino_contact_blip | |
SET_BLIP_ENTRY_EXIT casino_contact_blip 2024.3904 1008.6202 20.0 | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME MOBLA2 | |
START_NEW_SCRIPT cell_phone_LA2 | |
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME MOB_RAN | |
START_NEW_SCRIPT cell_phone_random | |
SET_INT_STAT CITIES_PASSED 3 | |
SET_MAX_WANTED_LEVEL 6 | |
SWITCH_ENTRY_EXIT ammun1 TRUE | |
SWITCH_ENTRY_EXIT ammun2 TRUE | |
SWITCH_ENTRY_EXIT ammun3 TRUE | |
SWITCH_ENTRY_EXIT ammun4 TRUE | |
SWITCH_ENTRY_EXIT ammun5 TRUE | |
SWITCH_ENTRY_EXIT barbers TRUE | |
SWITCH_ENTRY_EXIT barber2 TRUE | |
SWITCH_ENTRY_EXIT barber3 TRUE | |
SWITCH_ENTRY_EXIT FDpiza TRUE | |
SWITCH_ENTRY_EXIT fdchick TRUE | |
SWITCH_ENTRY_EXIT fdburg TRUE | |
SWITCH_ENTRY_EXIT cschp TRUE | |
SWITCH_ENTRY_EXIT cssprt TRUE | |
SWITCH_ENTRY_EXIT lacs1 TRUE | |
SWITCH_ENTRY_EXIT clothgp TRUE | |
SWITCH_ENTRY_EXIT csdesgn TRUE | |
SWITCH_ENTRY_EXIT csexl TRUE | |
SWITCH_ENTRY_EXIT gym1 TRUE | |
SWITCH_ENTRY_EXIT gym2 TRUE | |
SWITCH_ENTRY_EXIT gym3 TRUE | |
goto_thereX = 2024.3904 | |
goto_thereY = 1008.6202 | |
goto_thereZ = 9.8127 | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_mansion_mission_counter = 1 | |
START_NEW_SCRIPT mansion_mission_loop //"mansion mission 2" //CRAIG //Steal Harrier | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT mansionX mansionY mansionZ mansion_blip_icon mansion_contact_blip | |
goto_thereX = mansionX | |
goto_thereY = mansionX_d | |
goto_thereZ = mansionZ | |
debug_heading = 180.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_mansion_mission_counter = 2 | |
START_NEW_SCRIPT mansion_mission_loop //"mansion mission 3" //PAUL //Pick up sweet | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT mansionX mansionY mansionZ mansion_blip_icon mansion_contact_blip | |
goto_thereX = mansionX | |
goto_thereY = mansionX_d | |
goto_thereZ = mansionZ | |
debug_heading = 180.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_mansion_mission_counter = 3 | |
START_NEW_SCRIPT mansion_mission_loop //"mansion mission 4" //SIMON //Take down MC Strap | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT mansionX mansionY mansionZ mansion_blip_icon mansion_contact_blip | |
goto_thereX = mansionX | |
goto_thereY = mansionX_d | |
goto_thereZ = mansionZ | |
debug_heading = 180.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_grove_mission_counter = 0 | |
START_NEW_SCRIPT grove_mission_loop //"grove mission 1" //WILLIE //Beat Down on b Dup | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT introX introY introZ intro_blip_icon intro_contact_blip | |
goto_thereX = introX | |
goto_thereY = introY_d | |
goto_thereZ = introZ | |
debug_heading = 180.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_grove_mission_counter = 1 | |
START_NEW_SCRIPT grove_mission_loop //"grove mission 2" //PAUL //Grove 4 life | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
debug_heading = 270.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_riot_mission_counter = 0 | |
START_NEW_SCRIPT riot_mission_loop //"riot mission 1" //CRAIG //RIOT! | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT mansionX mansionY mansionZ mansion_blip_icon mansion_contact_blip | |
goto_thereX = mansionX | |
goto_thereY = mansionX_d | |
goto_thereZ = mansionZ | |
debug_heading = 180.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_riot_mission_counter = 1 | |
SET_INT_STAT RESPECT_TOTAL 100 | |
START_NEW_SCRIPT riot_mission_loop //"riot mission 2" //ANDY //DESPERADOS | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
SET_INT_STAT RESPECT_TOTAL 1000 | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
debug_heading = 260.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_riot_mission_counter = 2 | |
flag_mob_LA2[2] = 1 | |
flag_mob_LA2[3] = 1 | |
finaleB_played_first_time_round = 0 | |
SET_LA_RIOTS ON | |
START_NEW_SCRIPT riot_mission_loop //"riot mission 4" //IMRAN //CARTER BLOCK | |
ADD_SPRITE_BLIP_FOR_CONTACT_POINT sweetX sweetY sweetZ sweet_blip_icon sweet_contact_blip | |
goto_thereX = sweetX_d | |
goto_thereY = sweetY | |
goto_thereZ = sweetZ | |
debug_heading = 260.0 | |
ENDIF | |
debug_number ++ | |
RETURN | |
debug_page3: // **********************************CUTSCENES********************************************************************** | |
FAIL_CURRENT_MISSION | |
GOSUB terminate_all_scripts | |
debug_number = 0 | |
cutscene_index = 0 | |
check_cutscene1: | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( $cutscene_name[cutscene_index] ) 2000 4 //INTRO - cut1 (PROLOG) | |
$new_cut = $cutscene_file[cutscene_index] | |
visible_area = cut_visible_area[cutscene_index] | |
$cuttext = $cutscene_text[cutscene_index] | |
ENDIF | |
debug_number ++ | |
cutscene_index ++ | |
IF cutscene_index < 84 | |
GOTO check_cutscene1 | |
ENDIF | |
RETURN | |
debug_page4: // **********************************CUTSCENES********************************************************************** | |
FAIL_CURRENT_MISSION | |
GOSUB terminate_all_scripts | |
debug_number = 0 | |
cutscene_index = 0 | |
check_cutscene2: | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( $cutscene_name2[cutscene_index] ) 2000 4 | |
$new_cut = $cutscene_file2[cutscene_index] | |
visible_area = cut_visible_area2[cutscene_index] | |
$cuttext = $cutscene_text2[cutscene_index] | |
ENDIF | |
debug_number ++ | |
cutscene_index ++ | |
IF cutscene_index < 75 | |
GOTO check_cutscene2 | |
ENDIF | |
RETURN | |
debug_page5: // **********************************CUTSCENES********************************************************************** | |
FAIL_CURRENT_MISSION | |
GOSUB terminate_all_scripts | |
debug_number = 0 | |
cutscene_index = 0 | |
check_cutscene3: | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( $cutscene_name3[cutscene_index] ) 2000 4 | |
$new_cut = $cutscene_file3[cutscene_index] | |
visible_area = cut_visible_area3[cutscene_index] | |
ENDIF | |
debug_number ++ | |
cutscene_index ++ | |
IF cutscene_index < 23 | |
GOTO check_cutscene3 | |
ENDIF | |
RETURN | |
debug_page6: //MISC ********************************************************************************************************************* | |
FAIL_CURRENT_MISSION | |
GOSUB terminate_all_scripts | |
debug_number = 0 | |
IF button_pressed_main = debug_number //100!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1 | |
flag_mob_la1[6] = 1 | |
switch_the_gym_interiors_off = 0 | |
PRINT_BIG ( GYM1_A ) 1000 4 //"GYM" | |
goto_thereX = 2224.5811 | |
goto_thereY = -1721.1486 | |
goto_thereZ = 12.5584 | |
debug_heading = 271.2687 | |
SWITCH_ENTRY_EXIT gym1 TRUE | |
SWITCH_ENTRY_EXIT gym2 TRUE | |
SWITCH_ENTRY_EXIT gym3 TRUE | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_mob_la1[6] = 1 | |
switch_the_gym_interiors_off = 0 | |
PRINT_BIG ( GYM1_B ) 1000 4 //Vegas Gym | |
goto_thereX = 1963.85 | |
goto_thereY = 2294.82 | |
goto_thereZ = 15.45 | |
debug_heading = 275.0 | |
SWITCH_ENTRY_EXIT gym1 TRUE | |
SWITCH_ENTRY_EXIT gym2 TRUE | |
SWITCH_ENTRY_EXIT gym3 TRUE | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
flag_mob_la1[6] = 1 | |
switch_the_gym_interiors_off = 0 | |
PRINT_BIG ( GYM1_C ) 1000 4 //San Fran Gym | |
goto_thereX = -2265.9006 | |
goto_thereY = -155.7526 | |
goto_thereZ = 34.3047 | |
debug_heading = 85.0 | |
SWITCH_ENTRY_EXIT gym1 TRUE | |
SWITCH_ENTRY_EXIT gym2 TRUE | |
SWITCH_ENTRY_EXIT gym3 TRUE | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( CHICN ) 1000 4 //"Chicken drive through" | |
goto_thereX = 2427.2546 | |
goto_thereY = -1517.8105 | |
goto_thereZ = 23.3873 | |
debug_heading = 42.6546 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( BURGERS ) 1000 4 //"BURGER SHOP" | |
goto_thereX = 813.0 | |
goto_thereY = -1630.0 | |
goto_thereZ = 13.0 | |
debug_heading = 322.156 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( PIZZAS ) 1000 4 //"PIZZA SHOP" | |
goto_thereX = 2102.083 | |
goto_thereY = -1805.798 | |
goto_thereZ = 12.594 | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( CLOTHES ) 1000 4 //"LA Clothes Shop" | |
goto_thereX = 2112.0 | |
goto_thereY = -1214.0 | |
goto_thereZ = 23.0 | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( BARBER ) 1000 4 //"Barber Shop" | |
goto_thereX = 2074.37 | |
goto_thereY = -1800.72 | |
goto_thereZ = 12.56 | |
debug_heading = 90.90 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( AMMULA ) 1000 4 //"LA AmmuNation" | |
goto_thereX = 1364.394 | |
goto_thereY = -1279.724 | |
goto_thereZ = 12.59 | |
debug_heading = 270.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( CARDB1 ) 1000 4 //"Car Mods LA" | |
goto_thereX = 1053.4816 | |
goto_thereY = -1039.2621 | |
goto_thereZ = 30.9710 | |
debug_heading = 47.3931 | |
stop_gargae_for_neil = 0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( CARDB2 ) 1000 4 //"Car Mods lowrider" | |
goto_thereX = 2643.3457 | |
goto_thereY = -2007.2150 | |
goto_thereZ = 12.3750 | |
debug_heading = 187.5727 | |
stop_gargae_for_neil = 0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( ROUL ) 1000 4 //"roulette" | |
goto_thereX = RouletteX | |
goto_thereY = RouletteY | |
goto_thereZ = RouletteZ | |
change_area_code = 2 | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( SLOTM ) 1000 4 //"slot machines" | |
goto_thereX = banditx | |
goto_thereY = bandity | |
goto_thereZ = banditz | |
change_area_code = 4 | |
debug_heading = 170.4 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( WHEELO ) 1000 4 //wheel of fortune | |
goto_thereX = poolX | |
goto_thereY = poolY | |
goto_thereZ = poolZ | |
change_area_code = 1 | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( BJACK ) 1000 4 //black jack | |
goto_thereX = RouletteX | |
goto_thereY = RouletteY | |
goto_thereZ = RouletteZ | |
change_area_code = 2 | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( OTB ) 1000 4 //"OTB" | |
goto_thereX = otbx | |
goto_thereY = otby | |
goto_thereZ = otbz | |
change_area_code = 3 | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( POOL ) 1000 4 //"Pool" | |
goto_thereX = poolX | |
goto_thereY = poolY | |
goto_thereZ = poolZ | |
change_area_code = 1 | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( BBALL ) 1000 4 //"BASKETBALL" | |
goto_thereX = basketballx | |
goto_thereY = basketbally | |
goto_thereZ = basketballz | |
bball_unlocked = 1 | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( LOWR ) 1000 4 //"Lowrider" | |
goto_thereX = 1815.4730 //2059.8159 | |
goto_thereY = -1926.1912 //-1901.9498 | |
goto_thereZ = 12.5461 //12.5469 | |
debug_heading = 90.0 //348.6162 | |
lowrider_minigame_unlocked = 1 | |
// create a lowrider car so you don't need to find one | |
REQUEST_MODEL SAVANNA | |
WHILE NOT HAS_MODEL_LOADED SAVANNA | |
WAIT 0 | |
ENDWHILE | |
CREATE_CAR SAVANNA 1812.4294 -1891.6572 12.4062 car | |
SET_CAR_HEADING car 90.0 | |
SET_CAR_HYDRAULICS car TRUE | |
MARK_MODEL_AS_NO_LONGER_NEEDED SAVANNA | |
MARK_CAR_AS_NO_LONGER_NEEDED car | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( CONS1 ) 1000 4 //"console game1" | |
goto_thereX = 502.1866 | |
goto_thereY = -4.1644 | |
goto_thereZ = 999.6719 | |
debug_heading = 177.5629 | |
change_area_code = 5 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( QUARRY ) 1000 4 //Quarry | |
START_NEW_SCRIPT quarry_loop | |
goto_thereX = quarryX | |
goto_thereY = quarryY | |
goto_thereZ = quarryZ | |
debug_heading = 90.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( TRUCK ) 1000 4 //Trucking | |
START_NEW_SCRIPT trucking_loop | |
goto_thereX = -86.0 | |
goto_thereY = -1132.0 | |
goto_thereZ = 1.1 | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( BLOODB ) 1000 4 //Blood Bowl | |
goto_thereX = -2116.4280 | |
goto_thereY = -441.3636 | |
goto_thereZ = 34.5343 | |
debug_heading = 270.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( MOUNTN ) 1000 4 //"Mountian bike" | |
SET_INT_STAT CYCLE_SKILL 601 | |
goto_thereX = -2307.5000 | |
goto_thereY = -1659.7040 | |
goto_thereZ = 483.1310 | |
debug_heading = 31.1541 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( PIMP ) 3000 4 //PIMPING | |
goto_thereX = pimpX | |
goto_thereY = pimpY_d | |
goto_thereZ = pimpZ | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( BIKES ) 1000 4 //Bike school | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT bikesX bikesY bikesZ RADAR_SPRITE_SCHOOL bike_school_blip | |
CHANGE_BLIP_DISPLAY bike_school_blip BLIP_ONLY | |
START_NEW_SCRIPT bikes_school_loop | |
goto_thereX = bikesX | |
goto_thereY = bikesY | |
goto_thereZ = bikesZ | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( BOATS ) 1000 4 //Boat school | |
ADD_SHORT_RANGE_SPRITE_BLIP_FOR_CONTACT_POINT boatsX boatsY boatsZ RADAR_SPRITE_SCHOOL boat_school_blip | |
CHANGE_BLIP_DISPLAY boat_school_blip BLIP_ONLY | |
START_NEW_SCRIPT boats_school_loop | |
goto_thereX = boatsX | |
goto_thereY = boatsY | |
goto_thereZ = boatsZ | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( COUR1 ) 1000 4 //CourierLA | |
goto_thereX = 1358.7238 | |
goto_thereY = -1744.9690 | |
goto_thereZ = 12.5625 | |
debug_heading = 183.7364 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( COUR2 ) 1000 4 //CourierSF | |
goto_thereX = -2592.1309 | |
goto_thereY = 61.8500 | |
goto_thereZ = 3.3359 | |
debug_heading = 349.2679 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( COUR3 ) 1000 4 //CourierLV | |
goto_thereX = 1887.8136 | |
goto_thereY = 2099.3940 | |
goto_thereZ = 10.0547 | |
debug_heading = 179.4337 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( FREIGH ) 1000 4 //Frieght Trian | |
goto_thereX = 1722.8541 | |
goto_thereY = -1968.9330 | |
goto_thereZ = 13.1208 | |
debug_heading = 216.5953 | |
SET_INT_STAT CITIES_PASSED 2 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( BURG ) 1000 4 //Burglary | |
goto_thereX = 2258.0 | |
goto_thereY = -1796.0 | |
goto_thereZ = 14.0 | |
debug_heading = 74.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( KICK ) 1000 4 //Kickstart | |
goto_thereX = 1101.0336 | |
goto_thereY = 1609.8754 | |
goto_thereZ = 11.5546 | |
debug_heading = 180.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( VALET ) 1000 4 //Valet | |
// START_NEW_SCRIPT valet_script | |
valet_oddjob_opened = 1 | |
valet_unlocked = 1 | |
IF IS_PLAYER_PLAYING player1 | |
GIVE_PLAYER_CLOTHES_OUTSIDE_SHOP Player1 valet valet CLOTHES_TEX_EXTRA1 | |
BUILD_PLAYER_MODEL player1 | |
ENDIF | |
goto_thereX = valetx | |
goto_thereY = valety | |
goto_thereZ = valetz | |
debug_heading = 74.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( SF_MODS ) 1000 4 //San Fran PP mods | |
// START_NEW_SCRIPT valet_script | |
goto_thereX = -2710.7603 | |
goto_thereY = 217.5245 | |
goto_thereZ = 3.1797 | |
debug_heading = 88.2793 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( IMPEXP ) 1000 4 //import/export | |
START_NEW_SCRIPT import_export_script | |
import_export_is_active = 1 | |
disable_crane = 0 | |
goto_thereX = -1574.7085 | |
goto_thereY = 132.0894 | |
goto_thereZ = 2.5547 | |
debug_heading = 88.2793 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( BMXODD ) 1000 4 //BMX | |
goto_thereX = 1944.5170 | |
goto_thereY = -1367.8845 | |
goto_thereZ = 17.5781 | |
debug_heading = 189.0523 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( DANCEOD ) 1000 4 //DANCING | |
//START_NEW_SCRIPT Dance_minigame 488.0048 -14.0754 999.6797 180.0 DANCE_TRACK_HIPHOP DANCE_RANDOM_PARTNER | |
goto_thereX = 2508.0140 | |
goto_thereY = 1246.6075 | |
goto_thereZ = 10.8 | |
debug_heading = 180.0 | |
//change_area_code = 5 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( HOTRING ) 1000 4 //HOTRING | |
goto_thereX = 2691.2712 | |
goto_thereY = -1696.1896 | |
goto_thereZ = 9.2759 | |
debug_heading = 200.0 | |
ENDIF | |
/* | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( TPLAY1 ) 1000 4 //2player Ram | |
goto_thereX = 1481.9551 | |
goto_thereY = -1656.1458 | |
goto_thereZ = 13.5469 | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( TPLAY2 ) 1000 4 //2player bike | |
goto_thereX = 1196.4912 | |
goto_thereY = 249.3210 | |
goto_thereZ = 19.0618 | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( TPLAY3 ) 1000 4 //2player cars | |
goto_thereX = -2102.8484 | |
goto_thereY = 653.8868 | |
goto_thereZ = 51.8671 | |
debug_heading = 0.0 | |
ENDIF | |
debug_number ++ | |
IF button_pressed_main = debug_number | |
PRINT_BIG ( TPLAY4 ) 1000 4 //2playe |
How I can compile this?
How I can compile this?
No, but gta3script by LINK/2012 almost compile it (there are some compiler errors yet) (but this is in just one file, you need the original files in folders).
So where can I get those? I mean this is only the source for main.scm am I right?
pergunta leiga de quem está no processo de aprender a programar, mas se a primeira etapa da compilação é descartar os comentários do arquivo pra depois transformar em um código assembly, como é possível fazer engenharia reversa e ver os comentários dos desenvolvedores?
Acho que a rockstar usa o compilador que não faz isso
Mas ae não faz nem sentido ue, pq comentários não podem ser traduzidos pra código de maquina, se o compilador não descartar os comentários ele não consegui fazer o próximo passo, novamente deixo evidenciado que não estou duvidando de nada, é só uma pergunta com o objetivo de obter conhecimento.
This file has been truncated, but you can view the full file: https://gist.github.com/JuniorDjjr/2129e1e7640f7969acdfb1c56c263155/raw/c40592658a69ca84e5a7082abf6dc89ecfd3aecb/fakeMainOutputFile.sc