Created
November 11, 2021 17:39
-
-
Save JuniorDjjr/2129e1e7640f7969acdfb1c56c263155 to your computer and use it in GitHub Desktop.
SA main.scm source code leaked from GTA SA The Definitive Edition
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ***************************************************************************************** | |
// ***************************************************************************************** | |
// ***************************************************************************************** | |
// ****************************************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 |
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.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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).