Taxi
Материал из GTAModding.ru
MISSION_START // ******************************************************************************************* // ******************************************************************************************* // *************************************CRRRRRAZY TAXI**************************************** // *******************************LETS MAKE SOME CRRRRRAZY MONEY!***************************** // ******************************************************************************************* // ******************************************************************************************* // ******************************************************************************************* // Mission start stuff GOSUB mission_start_taxi1 GOSUB mission_cleanup_taxi1 MISSION_END // Variables for mission VAR_INT blip1_ct1 blip2_ct1 spray_blip_onscreen VAR_INT taxi_car1 taxi_countdown_already_started VAR_INT taxi_ped1 taxi_passed_this_shot taxi_fucked_flag //VAR_INT special_ped1 VAR_INT taxi_countdown taxi_score taxi_distance_int taxi_distance_int_old VAR_INT taxi_finish_time taxi_start_time total_taxi_time_taken VAR_FLOAT taxi_destx1 taxi_desty1 taxi_destz1 VAR_FLOAT taxi_destx2 taxi_desty2 taxi_destz2 VAR_FLOAT taxi_blipx taxi_blipy taxi_blipz VAR_FLOAT taxi_ped_x taxi_ped_y taxi_ped_z VAR_FLOAT x_diff y_diff x_diff_sq y_diff_sq taxi_distance_sq taxi_distance VAR_INT score_for_this_fare speedbonus in_a_row_cash in_a_row_number // ***************************************Mission Start************************************* mission_start_taxi1: SCRIPT_NAME TAXI SET_DEATHARREST_STATE OFF // GSW - does deatharrest have to be switched off? YES! well maybe... flag_player_on_mission = 1 taxi_countdown_already_started = 0 taxi_countdown = 0 taxi_passed_this_shot = 0 taxi_score = 0 taxi_ped1 = -1 spray_blip_onscreen = 0 taxi_fucked_flag = 0 in_a_row_number = 5 in_a_row_cash = 2000 WAIT 0 DISPLAY_ONSCREEN_COUNTER_WITH_STRING taxi_passed_this_shot COUNTER_DISPLAY_NUMBER (FARES) //TEST STUFF!!!!!!!!!!!!! IF NOT IS_PLAYER_PLAYING player GOTO mission_taxi1_failed ENDIF IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player taxi_car1 ELSE GOTO mission_taxi1_failed ENDIF //SWITCH_TAXI_TIMER ON SET_TAXI_LIGHTS taxi_car1 On PRINT_NOW ( TAXI1 ) 1500 1 //Pick up a fare //WAIT 1500 WAIT 0 Start_taxi_mission: IF done_taxi_help = 0 PRINT_HELP ( TAXIH1 ) done_taxi_help = 1 ENDIF score_for_this_fare = 0 IF NOT IS_PLAYER_PLAYING player GOTO mission_taxi1_failed ENDIF IF IS_CAR_DEAD taxi_car1 GOTO mission_taxi1_failed ENDIF IF NOT IS_PLAYER_IN_CAR player taxi_car1 GOTO mission_taxi1_failed ENDIF /* IF taxi_passed = 0 //SPECIAL MISSIONS??? AND IS_PLAYER_IN_ZONE player REDLIGH GOTO special_ped_mission1 ENDIF */ // random_ped_grabber: IF NOT controlmode = 3 IF IS_BUTTON_PRESSED PAD1 RIGHTSHOCK AND flag_player_on_mission = 1 GOTO taxi_fail_button_pressed ENDIF ELSE IF IS_BUTTON_PRESSED PAD1 SQUARE AND flag_player_on_mission = 1 GOTO taxi_fail_button_pressed ENDIF ENDIF IF taxi_countdown_already_started = 1 AND taxi_countdown = 0 //PRINT_NOW ( TAXI2 ) 5000 2 //You SUCK! GOTO mission_taxi1_failed ENDIF IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL GET_RANDOM_CHAR_IN_ZONE IND_ZON taxi_ped1 ENDIF IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL GET_RANDOM_CHAR_IN_ZONE COM_ZON taxi_ped1 ENDIF IF IS_COLLISION_IN_MEMORY LEVEL_SUBURBAN GET_RANDOM_CHAR_IN_ZONE SUB_ZON taxi_ped1 ENDIF //IF IS_PLAYER_IN_ZONE player SUB_ZON // GET_RANDOM_CHAR_IN_ZONE IND_ZON taxi_ped1 //ENDIF IF taxi_ped1 = -1 WAIT 0 GOTO Start_taxi_mission // random_ped_grabber ENDIF //been_in_taxi1_before = 7 // START OF TAXI MISSION CHAR_SET_IDLE taxi_ped1 CLEAR_CHAR_THREAT_SEARCH taxi_ped1 SET_CHAR_HEED_THREATS taxi_ped1 False ADD_BLIP_FOR_CHAR taxi_ped1 blip1_ct1 SET_CHAR_OBJ_HAIL_TAXI taxi_ped1 //PRINT_NOW ( TAXI1 ) 2000 2 //Pick up a fare ped_get_in_taxi: WHILE NOT LOCATE_PLAYER_IN_CAR_CHAR_3D Player taxi_ped1 7.0 7.0 2.0 FALSE //IF CLOSE TO THE CHAR OR NOT IS_CAR_STOPPED taxi_car1 // OR NOT IS_PLAYER_IN_CAR player taxi_car1 WAIT 0 IF NOT IS_PLAYER_PLAYING player // ok to fail if player is arrested? GOTO mission_taxi1_failed ENDIF IF IS_CAR_DEAD taxi_car1 GOTO mission_taxi1_failed ENDIF IF IS_CHAR_DEAD taxi_ped1 GOTO mission_taxi1_passed ENDIF IF NOT IS_PLAYER_IN_CAR player taxi_car1 GOTO mission_taxi1_failed ENDIF IF NOT LOCATE_PLAYER_IN_CAR_CHAR_3D Player taxi_ped1 90.0 90.0 20.0 FALSE GOTO mission_taxi1_passed ENDIF IF NOT controlmode = 3 IF IS_BUTTON_PRESSED PAD1 RIGHTSHOCK AND flag_player_on_mission = 1 GOTO taxi_fail_button_pressed ENDIF ELSE IF IS_BUTTON_PRESSED PAD1 SQUARE AND flag_player_on_mission = 1 GOTO taxi_fail_button_pressed ENDIF ENDIF IF taxi_countdown_already_started = 1 AND taxi_countdown = 0 //PRINT_NOW ( TAXI2 ) 5000 2 //You SUCK! GOTO mission_taxi1_failed ENDIF IF IS_CAR_HEALTH_GREATER taxi_car1 500 AND spray_blip_onscreen = 1 REMOVE_BLIP spray_taxi spray_blip_onscreen = 0 taxi_fucked_flag = 0 ENDIF IF NOT IS_CHAR_DEAD taxi_ped1 TURN_CHAR_TO_FACE_PLAYER taxi_ped1 Player ENDIF ENDWHILE IF NOT IS_CAR_HEALTH_GREATER taxi_car1 500 PRINT_NOW ( TAXI7 ) 4000 1 //I ain't getting in that heap of shit!! IF spray_blip_onscreen = 0 REMOVE_BLIP spray_taxi IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL ADD_SPRITE_BLIP_FOR_COORD 925.0 -359.5 -100.0 RADAR_SPRITE_SPRAY spray_taxi ENDIF IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL ADD_SPRITE_BLIP_FOR_COORD 379.0 -493.8 -100.0 RADAR_SPRITE_SPRAY spray_taxi ENDIF IF IS_COLLISION_IN_MEMORY LEVEL_SUBURBAN ADD_SPRITE_BLIP_FOR_COORD -1128.0 32.5.8 -100.0 RADAR_SPRITE_SPRAY spray_taxi ENDIF spray_blip_onscreen = 1 taxi_fucked_flag = 1 ENDIF GOTO mission_taxi1_passed ENDIF SET_CHAR_RUNNING taxi_ped1 TRUE SET_CHAR_OBJ_ENTER_CAR_AS_PASSENGER taxi_ped1 taxi_car1 WHILE NOT IS_CHAR_IN_CAR taxi_ped1 taxi_car1 WAIT 0 IF NOT IS_PLAYER_PLAYING player GOTO mission_taxi1_failed ENDIF IF IS_CAR_DEAD taxi_car1 GOTO mission_taxi1_failed ENDIF IF IS_CHAR_DEAD taxi_ped1 GOTO mission_taxi1_passed ENDIF IF NOT IS_PLAYER_IN_CAR player taxi_car1 GOTO mission_taxi1_failed ENDIF IF NOT LOCATE_PLAYER_IN_CAR_CHAR_3D Player taxi_ped1 90.0 90.0 20.0 FALSE GOTO mission_taxi1_passed ENDIF IF NOT controlmode = 3 IF IS_BUTTON_PRESSED PAD1 RIGHTSHOCK AND flag_player_on_mission = 1 GOTO taxi_fail_button_pressed ENDIF ELSE IF IS_BUTTON_PRESSED PAD1 SQUARE AND flag_player_on_mission = 1 GOTO taxi_fail_button_pressed ENDIF ENDIF IF taxi_countdown_already_started = 1 AND taxi_countdown = 0 //PRINT_NOW ( TAXI2 ) 5000 2 //You SUCK! GOTO mission_taxi1_failed ENDIF IF IS_CAR_HEALTH_GREATER taxi_car1 500 AND spray_blip_onscreen = 1 REMOVE_BLIP spray_taxi spray_blip_onscreen = 0 ENDIF IF NOT LOCATE_PLAYER_IN_CAR_CHAR_3D Player taxi_ped1 7.0 7.0 2.0 FALSE GOTO ped_get_in_taxi ENDIF ENDWHILE GET_CHAR_COORDINATES taxi_ped1 taxi_ped_x taxi_ped_y taxi_ped_z REMOVE_BLIP blip1_ct1 SET_TAXI_LIGHTS taxi_car1 Off //GET_GAME_TIMER taxi_start_time passenger_destination: WAIT 0 IF NOT IS_PLAYER_PLAYING player GOTO mission_taxi1_failed ENDIF IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL //INDUSTRIAL******************************************* //OR IS_PLAYER_IN_ZONE player SUB_ZON GENERATE_RANDOM_INT_IN_RANGE 1 11 been_in_taxi1_before IF NOT IS_PLAYER_PLAYING player GOTO mission_taxi1_failed ENDIF IF been_in_taxi1_before = 1 IF IS_PLAYER_IN_ZONE player REDLIGH GOTO passenger_destination ENDIF PRINT_NOW ( FARE1 ) 5000 1 //Take me to Meeouch Sex Kitten Club taxi_destx1 = 936.3 taxi_desty1 = -462.6 taxi_destz1 = 14.4 taxi_destx2 = 913.7 taxi_desty2 = -456.0 taxi_destz2 = 16.4 ENDIF IF been_in_taxi1_before = 2 IF IS_PLAYER_IN_ZONE player S_VIEW GOTO passenger_destination ENDIF PRINT_NOW ( FARE2 ) 5000 1 //Take me to Supa Save taxi_destx1 = 1268.5 taxi_desty1 = -616.4 taxi_destz1 = 11.7 taxi_destx2 = 1288.3 taxi_desty2 = -627.6 taxi_destz2 = 13.7 ENDIF IF been_in_taxi1_before = 3 IF IS_PLAYER_IN_ZONE player CHINA GOTO passenger_destination ENDIF PRINT_NOW ( FARE3 ) 5000 1 //Take me to the old School hall taxi_destx1 = 1008.9 taxi_desty1 = -871.9 taxi_destz1 = 14.4 taxi_destx2 = 995.3 taxi_desty2 = -881.9 taxi_destz2 = 16.4 ENDIF IF been_in_taxi1_before = 4 IF IS_PLAYER_IN_ZONE player PORT_W GOTO passenger_destination ENDIF PRINT_NOW ( FARE4 ) 5000 1 //Take me to greasy Joes taxi_destx1 = 849.3 taxi_desty1 = -990.1 taxi_destz1 = 4.5 taxi_destx2 = 869.4 taxi_desty2 = -1002.6 taxi_destz2 = 6.5 ENDIF IF been_in_taxi1_before = 5 IF IS_PLAYER_IN_ZONE player REDLIGH GOTO passenger_destination ENDIF PRINT_NOW ( FARE5 ) 5000 1 //Take me to Ammo Nation taxi_destx1 = 1065.4 taxi_desty1 = -394.1 taxi_destz1 = 14.3 taxi_destx2 = 1057.9 taxi_desty2 = -408.9 taxi_destz2 = 16.3 ENDIF IF been_in_taxi1_before = 6 IF IS_PLAYER_IN_ZONE player LITTLEI GOTO passenger_destination ENDIF PRINT_NOW ( FARE6 ) 5000 1 //Take me to Easy Credit Autos taxi_destx1 = 1207.0 taxi_desty1 = -122.0 taxi_destz1 = 14.0 taxi_destx2 = 1224.0 taxi_desty2 = -108.0 taxi_destz2 = 16.0 ENDIF IF been_in_taxi1_before = 7 IF IS_PLAYER_IN_ZONE player REDLIGH GOTO passenger_destination ENDIF PRINT_NOW ( FARE7 ) 5000 1 //Take us to Woodys topless bar taxi_destx1 = 912.9 taxi_desty1 = -419.0 taxi_destz1 = 14.0 taxi_destx2 = 919.5 taxi_desty2 = -401.3 taxi_destz2 = 16.0 ENDIF IF been_in_taxi1_before = 8 IF IS_PLAYER_IN_ZONE player LITTLEI GOTO passenger_destination ENDIF PRINT_NOW ( FARE8 ) 5000 1 //Take me to The Bistro taxi_destx1 = 1345.8 taxi_desty1 = -461.8 taxi_destz1 = 49.4 taxi_destx2 = 1334.7 taxi_desty2 = -447.0 taxi_destz2 = 51.4 ENDIF IF been_in_taxi1_before = 9 IF IS_PLAYER_IN_ZONE player PORT_E GOTO passenger_destination ENDIF PRINT_NOW ( FARE9 ) 5000 1 //Take me to the Import/Export garage taxi_destx1 = 1475.0 taxi_desty1 = -686.0 taxi_destz1 = 11.3 taxi_destx2 = 1485.3 taxi_desty2 = -667.5 taxi_destz2 = 13.3 ENDIF IF been_in_taxi1_before = 10 IF IS_PLAYER_IN_ZONE player CHINA GOTO passenger_destination ENDIF PRINT_NOW ( FARE10 ) 5000 1 //Take me to the 'Punk Noodles' taxi_destx1 = 1039.1 taxi_desty1 = -660.1 taxi_destz1 = 14.4 taxi_destx2 = 1043.9 taxi_desty2 = -647.9 taxi_destz2 = 16.4 ENDIF ENDIF IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL //COMERCIAL******************************************* //OR IS_PLAYER_IN_ZONE player SUB_ZON GENERATE_RANDOM_INT_IN_RANGE 11 21 been_in_taxi1_before IF NOT IS_PLAYER_PLAYING player GOTO mission_taxi1_failed ENDIF IF been_in_taxi1_before = 11 IF IS_PLAYER_IN_ZONE player CONSTRU GOTO passenger_destination ENDIF PRINT_NOW ( FARE11 ) 5000 1 //Take me to the constuction site taxi_destx1 = 441.86 taxi_desty1 = -193.00 taxi_destz1 = 20.36 taxi_destx2 = 447.42 taxi_desty2 = -201.93 taxi_destz2 = 22.21 ENDIF IF been_in_taxi1_before = 12 IF IS_PLAYER_IN_ZONE player STADIUM GOTO passenger_destination ENDIF PRINT_NOW ( FARE12 ) 5000 1 //Take me to the stadium taxi_destx1 = -27.05 taxi_desty1 = -269.61 taxi_destz1 = 14.95 taxi_destx2 = -11.73 taxi_desty2 = -278.88 taxi_destz2 = 16.93 ENDIF IF been_in_taxi1_before = 13 IF IS_PLAYER_IN_ZONE player SHOPING GOTO passenger_destination ENDIF PRINT_NOW ( FARE13 ) 5000 1 //Take me to the Church taxi_destx1 = 22.07 taxi_desty1 = -1136.95 taxi_destz1 = 25.14 taxi_destx2 = 28.95 taxi_desty2 = -1125.66 taxi_destz2 = 27.12 ENDIF IF been_in_taxi1_before = 14 IF IS_PLAYER_IN_ZONE player YAKUSA GOTO passenger_destination ENDIF PRINT_NOW ( FARE14 ) 5000 1 //Casino taxi_destx1 = 421.42 taxi_desty1 = -1390.83 taxi_destz1 = 24.95 taxi_destx2 = 415.45 taxi_desty2 = -1401.24 taxi_destz2 = 26.92 ENDIF IF been_in_taxi1_before = 15 IF IS_PLAYER_IN_ZONE player UNIVERS GOTO passenger_destination ENDIF PRINT_NOW ( FARE15 ) 5000 1 //Uni taxi_destx1 = 183.15 taxi_desty1 = -215.50 taxi_destz1 = 17.02 taxi_destx2 = 167.21 taxi_desty2 = -221.22 taxi_destz2 = 19.29 ENDIF IF been_in_taxi1_before = 16 IF IS_PLAYER_IN_ZONE player PARK GOTO passenger_destination ENDIF PRINT_NOW ( FARE16 ) 5000 1 //Shopping Mall taxi_destx1 = 193.77 taxi_desty1 = -626.22 taxi_destz1 = 25.12 taxi_destx2 = 180.83 taxi_desty2 = -616.51 taxi_destz2 = 27.12 ENDIF IF been_in_taxi1_before = 17 IF IS_PLAYER_IN_ZONE player COM_EAS GOTO passenger_destination ENDIF PRINT_NOW ( FARE17 ) 5000 1 //Museum taxi_destx1 = 326.1 taxi_desty1 = -1001.7 taxi_destz1 = 29.05 taxi_destx2 = 316.3 taxi_desty2 = -1012.4 taxi_destz2 = 24.44 ENDIF IF been_in_taxi1_before = 18 IF IS_PLAYER_IN_ZONE player YAKUSA GOTO passenger_destination ENDIF PRINT_NOW ( FARE18 ) 5000 1 //(AMco) taxi_destx1 = 246.20 taxi_desty1 = -1192.75 taxi_destz1 = 24.71 taxi_destx2 = 256.67 taxi_desty2 = -1184.17 taxi_destz2 = 26.71 ENDIF IF been_in_taxi1_before = 19 IF IS_PLAYER_IN_ZONE player SHOPING GOTO passenger_destination ENDIF PRINT_NOW ( FARE19 ) 5000 1 //Bolt Burgers taxi_destx1 = 28.69 taxi_desty1 = -1066.66 taxi_destz1 = 26.72 taxi_destx2 = 34.07 taxi_desty2 = -1078.96 taxi_destz2 = 24.97 ENDIF IF been_in_taxi1_before = 20 IF IS_PLAYER_IN_ZONE player PARK GOTO passenger_destination ENDIF PRINT_NOW ( FARE20 ) 5000 1 //Take me to the park taxi_destx1 = 27.56 taxi_desty1 = -776.42 taxi_destz1 = 26.26 taxi_destx2 = 38.79 taxi_desty2 = -765.06 taxi_destz2 = 28.57 ENDIF ENDIF IF IS_COLLISION_IN_MEMORY LEVEL_SUBURBAN //SUBURBIA******************************************* GENERATE_RANDOM_INT_IN_RANGE 21 27 been_in_taxi1_before IF NOT IS_PLAYER_PLAYING player GOTO mission_taxi1_failed ENDIF IF been_in_taxi1_before = 21 IF IS_PLAYER_IN_ZONE player AIRPORT GOTO passenger_destination ENDIF PRINT_NOW ( FARE21 ) 5000 1 //Take me to the Airport taxi_destx1 = -744.5 taxi_desty1 = -598.6 taxi_destz1 = 8.0 taxi_destx2 = -752.0 taxi_desty2 = -617.2 taxi_destz2 = 15.0 ENDIF IF been_in_taxi1_before = 22 IF IS_PLAYER_IN_ZONE player BIG_DAM GOTO passenger_destination ENDIF PRINT_NOW ( FARE22 ) 5000 1 //Take me to the DAM taxi_destx1 = -1111.3 taxi_desty1 = 522.9 taxi_destz1 = 65.0 taxi_destx2 = -1101.0 taxi_desty2 = 516.7 taxi_destz2 = 70.0 ENDIF IF been_in_taxi1_before = 23 IF IS_PLAYER_IN_ZONE player SUB_IND GOTO passenger_destination ENDIF PRINT_NOW ( FARE23 ) 5000 1 //Take me to the Import/Export garage taxi_destx1 = -1107.9 taxi_desty1 = 163.5 taxi_destz1 = 50.0 taxi_destx2 = -1115.4 taxi_desty2 = 155.6 taxi_destz2 = 68.0 ENDIF IF been_in_taxi1_before = 24 IF IS_PLAYER_IN_ZONE player SUB_IND GOTO passenger_destination ENDIF PRINT_NOW ( FARE24 ) 5000 1 //Take me to the Hospital taxi_destx1 = -1253.0 taxi_desty1 = -136.6 taxi_destz1 = 55.0 taxi_destx2 = -1260.3 taxi_desty2 = -148.4 taxi_destz2 = 62.0 ENDIF IF been_in_taxi1_before = 25 IF IS_PLAYER_IN_ZONE player SUB_ZO2 OR IS_PLAYER_IN_ZONE player SUB_ZO3 GOTO passenger_destination ENDIF PRINT_NOW ( FARE25 ) 5000 1 //Park taxi_destx1 = -230.1 taxi_desty1 = 311.5 taxi_destz1 = 0.0 taxi_destx2 = -220.2 taxi_desty2 = 322.5 taxi_destz2 = 10.0 ENDIF IF been_in_taxi1_before = 26 IF IS_PLAYER_IN_ZONE player PROJECT OR IS_PLAYER_IN_ZONE player SWANKS GOTO passenger_destination ENDIF PRINT_NOW ( FARE26 ) 5000 1 //Projects taxi_destx1 = -682.5 taxi_desty1 = 95.3 taxi_destz1 = 10.0 taxi_destx2 = -673.0 taxi_desty2 = 88.4 taxi_destz2 = 25.0 ENDIF ENDIF taxi_blipx = taxi_destx1 + taxi_destx2 taxi_blipx /= 2.0 taxi_blipy = taxi_desty1 + taxi_desty2 taxi_blipy /= 2.0 ADD_BLIP_FOR_COORD taxi_blipx taxi_blipy -100.0 blip2_ct1 CHANGE_BLIP_DISPLAY blip2_ct1 BLIP_ONLY IF IS_CAR_DEAD taxi_car1 GOTO mission_taxi1_failed ENDIF x_diff = taxi_ped_x - taxi_blipx y_diff = taxi_ped_y - taxi_blipy x_diff_sq = x_diff * x_diff y_diff_sq = y_diff * y_diff taxi_distance_sq = x_diff_sq + y_diff_sq SQRT taxi_distance_sq taxi_distance taxi_distance_int =# taxi_distance taxi_distance_int_old = taxi_distance_int IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL IF taxi_passed_this_shot = 0 taxi_distance_int = taxi_distance_int * 100 ENDIF ENDIF IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL IF taxi_passed_this_shot = 0 taxi_distance_int = taxi_distance_int * 95 ENDIF ENDIF IF IS_COLLISION_IN_MEMORY LEVEL_SUBURBAN IF taxi_passed_this_shot = 0 taxi_distance_int = taxi_distance_int * 115 ENDIF ENDIF IF taxi_passed_this_shot = 1 taxi_distance_int = taxi_distance_int * 90 ENDIF IF taxi_passed_this_shot = 2 taxi_distance_int = taxi_distance_int * 85 ENDIF IF taxi_passed_this_shot = 3 taxi_distance_int = taxi_distance_int * 84 ENDIF IF taxi_passed_this_shot = 4 taxi_distance_int = taxi_distance_int * 83 ENDIF IF taxi_passed_this_shot = 5 taxi_distance_int = taxi_distance_int * 82 ENDIF IF taxi_passed_this_shot > 5 AND taxi_passed_this_shot <= 10 taxi_distance_int = taxi_distance_int * 80 ENDIF IF taxi_passed_this_shot > 11 AND taxi_passed_this_shot <= 20 taxi_distance_int = taxi_distance_int * 75 ENDIF IF taxi_passed_this_shot > 20 AND taxi_passed_this_shot <= 50 taxi_distance_int = taxi_distance_int * 70 ENDIF IF taxi_passed_this_shot > 50 taxi_distance_int = taxi_distance_int * 60 ENDIF taxi_countdown = taxi_countdown + taxi_distance_int speedbonus = taxi_distance_int speedbonus = speedbonus / 100 speedbonus = speedbonus * 65 TIMERB = 0 IF taxi_countdown_already_started = 0 DISPLAY_ONSCREEN_TIMER taxi_countdown taxi_countdown_already_started = 1 ENDIF IF IS_COLLISION_IN_MEMORY LEVEL_SUBURBAN //SUBURBIA******************************************* IF taxi_passed_this_shot = 0 taxi_countdown = taxi_countdown + 15000 ENDIF ELSE IF taxi_passed_this_shot = 0 taxi_countdown = taxi_countdown + 10000 ENDIF ENDIF WHILE NOT IS_CAR_STOPPED_IN_AREA_3D taxi_car1 taxi_destx1 taxi_desty1 taxi_destz1 taxi_destx2 taxi_desty2 taxi_destz2 TRUE WAIT 0 IF NOT IS_PLAYER_PLAYING player GOTO mission_taxi1_failed ENDIF IF IS_CAR_DEAD taxi_car1 GOTO mission_taxi1_failed ENDIF IF NOT IS_PLAYER_IN_CAR player taxi_car1 GOTO mission_taxi1_failed ENDIF GET_CONTROLLER_MODE controlmode IF NOT controlmode = 3 IF IS_BUTTON_PRESSED PAD1 RIGHTSHOCK AND flag_player_on_mission = 1 GOTO taxi_fail_button_pressed ENDIF ELSE IF IS_BUTTON_PRESSED PAD1 SQUARE AND flag_player_on_mission = 1 GOTO taxi_fail_button_pressed ENDIF ENDIF IF taxi_countdown = 0 GOTO taxi_out_of_time ENDIF IF NOT IS_CAR_HEALTH_GREATER taxi_car1 500 IF spray_blip_onscreen = 0 REMOVE_BLIP spray_taxi IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL ADD_SPRITE_BLIP_FOR_COORD 925.0 -359.5 -100.0 RADAR_SPRITE_SPRAY spray_taxi ENDIF IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL ADD_SPRITE_BLIP_FOR_COORD 379.0 -493.8 -100.0 RADAR_SPRITE_SPRAY spray_taxi ENDIF IF IS_COLLISION_IN_MEMORY LEVEL_SUBURBAN ADD_SPRITE_BLIP_FOR_COORD -1128.0 32.5.8 -100.0 RADAR_SPRITE_SPRAY spray_taxi ENDIF spray_blip_onscreen = 1 GOSUB taxi_fucked GOTO mission_taxi1_passed ENDIF ENDIF IF NOT IS_CAR_DEAD taxi_car1 IF IS_CAR_HEALTH_GREATER taxi_car1 500 AND spray_blip_onscreen = 1 REMOVE_BLIP spray_taxi spray_blip_onscreen = 0 taxi_fucked_flag = 0 ENDIF ENDIF IF IS_CAR_UPSIDEDOWN taxi_car1 AND IS_CAR_STOPPED taxi_car1 GOTO taxi_fucked ENDIF ENDWHILE score: IF IS_COLLISION_IN_MEMORY LEVEL_SUBURBAN //SUBURBIA******************************************* IF TIMERB > speedbonus score_for_this_fare = taxi_distance_int_old PRINT_BIG ( TAXI4 ) 5000 5 //Fare delivered ELSE score_for_this_fare = taxi_distance_int_old * 2 PRINT_BIG ( TAXI5 ) 5000 5 //Speed Bonus!! ENDIF ELSE IF TIMERB > speedbonus score_for_this_fare = taxi_distance_int_old / 2 PRINT_BIG ( TAXI4 ) 5000 5 //Fare delivered ELSE score_for_this_fare = taxi_distance_int_old PRINT_BIG ( TAXI5 ) 5000 5 //Speed Bonus!! ENDIF ENDIF //score_for_this_fare = taxi_distance_int_old ADD_SCORE player score_for_this_fare PRINT_WITH_NUMBER_BIG ( TSCORE2 ) score_for_this_fare 6000 6 //Your score is... ADD_ONE_OFF_SOUND 0.0 0.0 0.0 SOUND_PART_MISSION_COMPLETE taxi_score = taxi_score + score_for_this_fare taxi_passed ++ REGISTER_PASSENGER_DROPPED_OFF_TAXI taxi_passed_this_shot ++ //CREATE NEW TAXI AFTER COMPLETING 100 TAXI MISSIONS IF new_taxi_created_before = 0 AND taxi_passed = 100 ADD_PAGER_MESSAGE ( NEW_TAX ) 140 2 0 SWITCH_CAR_GENERATOR swank_taxi 101 PLAYER_MADE_PROGRESS 1 new_taxi_created_before = 1 ENDIF taxi_countdown = taxi_countdown + 10000 GOSUB mission_taxi1_failed IF taxi_passed_this_shot = in_a_row_number PRINT_WITH_2_NUMBERS_BIG ( IN_ROW ) taxi_passed_this_shot in_a_row_cash 5000 6 //Bonus! ADD_SCORE player in_a_row_cash taxi_score = taxi_score + in_a_row_cash in_a_row_number = in_a_row_number + 5 in_a_row_cash = in_a_row_cash + 2000 ENDIF /* IF taxi_passed_this_shot = 10 PRINT_WITH_2_NUMBERS_BIG ( IN_ROW ) taxi_passed_this_shot 2000 6000 6 //Bonus! taxi_score = taxi_score + 2000 ADD_SCORE player 1000 ENDIF IF taxi_passed_this_shot = 15 PRINT_WITH_2_NUMBERS_BIG ( IN_ROW ) taxi_passed_this_shot 4000 6000 6 //Bonus! taxi_score = taxi_score + 4000 ADD_SCORE player 2000 ENDIF IF taxi_passed_this_shot = 20 PRINT_WITH_2_NUMBERS_BIG ( IN_ROW ) taxi_passed_this_shot 8000 6000 6 //Bonus! taxi_score = taxi_score + 8000 ADD_SCORE player 4000 ENDIF IF taxi_passed_this_shot = 25 PRINT_WITH_2_NUMBERS_BIG ( IN_ROW ) taxi_passed_this_shot 16000 6000 6 //Bonus! taxi_score = taxi_score + 16000 ADD_SCORE player 8000 ENDIF IF taxi_passed_this_shot = 30 PRINT_WITH_2_NUMBERS_BIG ( IN_ROW ) taxi_passed_this_shot 32000 6000 6 //Bonus! taxi_score = taxi_score + 32000 ADD_SCORE player 16000 ENDIF */ GOTO mission_taxi1_passed //Taxi_fail_conditions taxi_out_of_time: PRINT_NOW ( TAXI2 ) 5000 1 //Out of time GOTO mission_taxi1_failed taxi_fucked: WAIT 0 PRINT_NOW ( TAXI3 ) 5000 1 //Taxi is trashed IF NOT IS_CHAR_DEAD taxi_ped1 //SET_CHAR_PERSONALITY taxi_ped1 PEDSTAT_TOURIST SET_CHAR_OBJ_FLEE_ON_FOOT_TILL_SAFE taxi_ped1 //SET_CHAR_THREAT_SEARCH taxi_ped1 THREAT_PLAYER1 ENDIF taxi_fucked_flag = 1 GOTO mission_taxi1_failed taxi_fail_button_pressed: GET_CONTROLLER_MODE controlmode IF NOT controlmode = 3 WHILE IS_BUTTON_PRESSED PAD1 RIGHTSHOCK WAIT 0 IF NOT IS_PLAYER_PLAYING player // ok to fail if player is arrested? GOTO mission_taxi1_failed ENDIF ENDWHILE ELSE WHILE IS_BUTTON_PRESSED PAD1 SQUARE WAIT 0 IF NOT IS_PLAYER_PLAYING player // ok to fail if player is arrested? GOTO mission_taxi1_failed ENDIF ENDWHILE ENDIF GOTO mission_taxi1_failed // Mission taxi1 failed /* mission_taxi1_failed: GOSUB taxi_ped_leave RETURN */ // mission taxi1 passed mission_taxi1_passed: REMOVE_BLIP blip1_ct1 REMOVE_BLIP blip2_ct1 MARK_CHAR_AS_NO_LONGER_NEEDED taxi_ped1 IF NOT IS_CAR_DEAD taxi_car1 SET_TAXI_LIGHTS taxi_car1 On ENDIF //WAIT 1000 WAIT 0 PRINT_SOON ( TAXI1 ) 1500 1 //Pick up a fare GOTO Start_taxi_mission RETURN mission_taxi1_failed: //taxi_ped_leave: IF NOT IS_CHAR_DEAD taxi_ped1 IF NOT IS_CAR_DEAD taxi_car1 IF IS_CHAR_IN_CAR taxi_ped1 taxi_car1 SET_CHAR_OBJ_LEAVE_CAR taxi_ped1 taxi_car1 IF IS_PLAYER_PLAYING player SET_PLAYER_CONTROL Player OFF ENDIF WHILE IS_CHAR_IN_CAR taxi_ped1 taxi_car1 WAIT 0 IF IS_CHAR_DEAD taxi_ped1 OR IS_CAR_DEAD taxi_car1 GOTO taxi_ped_leave2 ENDIF IF NOT IS_PLAYER_PLAYING player GOTO taxi_ped_leave2 ENDIF IF NOT IS_PLAYER_IN_CAR player taxi_car1 GOTO taxi_ped_leave2 ENDIF GET_CONTROLLER_MODE controlmode IF NOT controlmode = 3 IF IS_BUTTON_PRESSED PAD1 RIGHTSHOCK AND flag_player_on_mission = 1 GOTO taxi_ped_leave2 ENDIF ELSE IF IS_BUTTON_PRESSED PAD1 SQUARE AND flag_player_on_mission = 1 GOTO taxi_ped_leave2 ENDIF ENDIF ENDWHILE ENDIF ENDIF ENDIF IF IS_PLAYER_PLAYING player SET_PLAYER_CONTROL Player ON ENDIF IF taxi_fucked_flag = 1 RETURN ENDIF taxi_ped_leave2: WAIT 0 IF NOT IS_CHAR_DEAD taxi_ped1 IF NOT IS_CAR_DEAD taxi_car1 IF NOT IS_CHAR_IN_CAR taxi_ped1 taxi_car1 CHAR_WANDER_DIR taxi_ped1 0 MARK_CHAR_AS_NO_LONGER_NEEDED taxi_ped1 ENDIF ENDIF ENDIF IF IS_PLAYER_PLAYING player SET_PLAYER_CONTROL Player ON ENDIF RETURN // mission cleanup mission_cleanup_taxi1: CLEAR_ONSCREEN_TIMER taxi_countdown CLEAR_ONSCREEN_COUNTER taxi_passed_this_shot //TEST STUFF!!!!!!!! IF NOT IS_CAR_DEAD taxi_car1 SET_TAXI_LIGHTS taxi_car1 Off ENDIF //SWITCH_TAXI_TIMER OFF REMOVE_BLIP blip1_ct1 REMOVE_BLIP blip2_ct1 REMOVE_BLIP spray_taxi MARK_CHAR_AS_NO_LONGER_NEEDED taxi_ped1 PRINT_BIG ( TAXI6 ) 5000 5 //Taxi mission over PRINT_WITH_NUMBER_BIG ( TSCORE ) taxi_score 6000 6 //Your score is... REGISTER_MONEY_MADE_TAXI taxi_score SET_DEATHARREST_STATE on flag_player_on_mission = 0 flag_taxi1_mission_launched = 0 IF IS_PLAYER_PLAYING player SET_PLAYER_CONTROL Player ON ENDIF CLEAR_HELP MISSION_HAS_FINISHED RETURN