Frank
Материал из GTAModding.ru
Содержание |
frank1
MISSION_START // ***************************************************************************************** // ********************************* Frankie Mission 1 ************************************* // ********************************* Pulp Friction ************************************* // ***************************************************************************************** // *** Frankie wants to discuss war with his lieutenants. He needs Maria out of the house*** // *** for the evening so Claude has to chaperone her. Drive Maria to a dealer to get her*** // *** party gear. Then on to an illegal warehouse party and wait for her outside. While *** // *** waiting for Maria the police will decide to 'raid the joint'. The player must get *** // *** Maria out and back to Frankie's safely. *** // ***************************************************************************************** // Mission start stuff GOSUB mission_start_frankie1 IF HAS_DEATHARREST_BEEN_EXECUTED GOSUB mission_frankie1_failed ENDIF GOSUB mission_cleanup_frankie1 MISSION_END // Variables for mission VAR_INT frankies_limo chico chico_message_flag fm1_blip flag_blip_on_limo doorman1 doorman2 parked_car1 parked_car2 parked_car3 timera_reset timerb_reset VAR_INT swatvan_fm1 swatvan2_fm1 cop1_fm1 cop2_fm1 cop3_fm1 cop4_fm1 cop5_fm1 cop6_fm1 cop7_fm1 cop8_fm1 clubbers_flee_flag VAR_INT R G R1 G1 R2 G2 R3 G3 R4 G4 R5 G5 shadow_counter add_sound_flag camera_mode chico_audio_flag VAR_INT clubber1_fm1 clubber2_fm1 clubber3_fm1 clubber4_fm1 clubber5_fm1 clubber6_fm1 clubber7_fm1 clubber8_fm1 maria_blip warehouse_rave_loop VAR_INT clubber3_car1 clubber5_car2 clubber8_car3 flag_blip_on_maria create_more_swat1 create_more_swat2 swat1_exit_car swat2_exit_car VAR_INT timerc_reset_flag_f1a timerc_current_f1a timerc_started_f1a timerc_f1a fuckup_flag fuckup_timer_start fuckup_timer_current fuckup_timer VAR_INT timerc_reset_flag_f1b timerc_current_f1b timerc_started_f1b timerc_f1b locate_dome_flag swat_cam_needs_restoring skip_cutscene_flag VAR_FLOAT swat1_stuck_x swat1_stuck_y swat1_stuck_z VAR_FLOAT swat2_stuck_x swat2_stuck_y swat2_stuck_z VAR_FLOAT chico_x chico_y chico_z inside_warehouse_x inside_warehouse_y inside_warehouse_z outside_warehouse_x outside_warehouse_y // ****************************************Mission Start************************************ mission_start_frankie1: flag_player_on_mission = 1 flag_player_on_frankie_mission = 1 REGISTER_MISSION_GIVEN WAIT 0 SCRIPT_NAME frank1 chico_message_flag = 0 flag_blip_on_limo = 0 timera_reset = 0 timerb_reset = 0 clubbers_flee_flag = 0 clubber3_car1 = 0 clubber5_car2 = 0 clubber8_car3 = 0 flag_blip_on_maria = 0 create_more_swat1 = 0 create_more_swat2 = 0 swat1_exit_car = 0 swat2_exit_car = 0 maria_blip = 0 add_sound_flag = 0 locate_dome_flag = 0 chico_audio_flag = 0 swat_cam_needs_restoring = 0 skip_cutscene_flag = 0 timerc_reset_flag_f1a = 0 timerc_current_f1a = 0 timerc_started_f1a = 0 timerc_f1a = 0 timerc_reset_flag_f1b = 0 timerc_current_f1b = 0 timerc_started_f1b = 0 timerc_f1b = 0 fuckup_flag = 0 fuckup_timer_start = 0 fuckup_timer_current = 0 fuckup_timer = 0 shadow_counter = 0 inside_warehouse_x = 1273.0 inside_warehouse_y = -1107.4 inside_warehouse_z = 11.5 outside_warehouse_x = 1261.0 outside_warehouse_y = -1108.0 swat1_stuck_x = 0.0 swat1_stuck_y = 0.0 swat1_stuck_z = 0.0 swat2_stuck_x = 0.0 swat2_stuck_y = 0.0 swat2_stuck_z = 0.0 R = 0 G = 0 R1 = 0 G1 = 0 R2 = 0 G2 = 0 R3 = 0 G3 = 0 R4 = 0 G4 = 0 R5 = 0 G5 = 0 LOAD_SPECIAL_CHARACTER 1 frankie LOAD_SPECIAL_CHARACTER 2 maria LOAD_SPECIAL_MODEL cut_obj1 PLAYERH LOAD_SPECIAL_MODEL cut_obj2 FRANKH LOAD_SPECIAL_MODEL cut_obj3 MARIAH REQUEST_MODEL PED_GANG_MAFIA_B REQUEST_MODEL salvsdetail REQUEST_MODEL swank_inside REQUEST_MODEL franksclb02 LOAD_ALL_MODELS_NOW WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1 OR NOT HAS_SPECIAL_CHARACTER_LOADED 2 OR NOT HAS_MODEL_LOADED PED_GANG_MAFIA_B OR NOT HAS_MODEL_LOADED cut_obj1 OR NOT HAS_MODEL_LOADED cut_obj2 OR NOT HAS_MODEL_LOADED cut_obj3 WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED salvsdetail OR NOT HAS_MODEL_LOADED swank_inside OR NOT HAS_MODEL_LOADED franksclb02 WAIT 0 ENDWHILE IF maria_exists = 1 GOSUB delete_char_maria ENDIF maria_exists = 0 CHANGE_GARAGE_TYPE frankie_garage GARAGE_FOR_SCRIPT_TO_OPEN_AND_CLOSE CLOSE_GARAGE frankie_garage SWITCH_RUBBISH OFF CLEAR_AREA 1444.99 -186.9 56.0 35.0 TRUE LOAD_CUTSCENE S1_PF SET_CUTSCENE_OFFSET 1457.776 -185.348 54.925 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_frankie SET_CUTSCENE_ANIM cs_frankie frankie CREATE_CUTSCENE_OBJECT PED_SPECIAL2 cs_maria SET_CUTSCENE_ANIM cs_maria maria CREATE_CUTSCENE_OBJECT PED_GANG_MAFIA_B cs_mafia SET_CUTSCENE_ANIM cs_mafia gang02 CREATE_CUTSCENE_HEAD cs_player cut_obj1 cs_playerhead SET_CUTSCENE_HEAD_ANIM cs_playerhead player CREATE_CUTSCENE_HEAD cs_frankie cut_obj2 cs_frankiehead SET_CUTSCENE_HEAD_ANIM cs_frankiehead frank CREATE_CUTSCENE_HEAD cs_maria cut_obj3 cs_mariahead SET_CUTSCENE_HEAD_ANIM cs_mariahead maria SET_PLAYER_COORDINATES player 1418.0 -186.0 -100.0 SET_PLAYER_HEADING player 270.0 DO_FADE 1500 FADE_IN //SWITCH_STREAMING ON START_CUTSCENE GET_CUTSCENE_TIME cs_time WHILE cs_time < 219 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_A 15000 1 WHILE cs_time < 1849 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_B 15000 1 WHILE cs_time < 4493 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_C 15000 1 WHILE cs_time < 7519 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_D 15000 1 WHILE cs_time < 10505 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_E 15000 1 WHILE cs_time < 14239 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_F 15000 1 WHILE cs_time < 15964 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_G 15000 1 WHILE cs_time < 18485 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_H 15000 1 WHILE cs_time < 21608 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_I 15000 1 WHILE cs_time < 24863 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_J 15000 1 WHILE cs_time < 28287 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_K 15000 1 WHILE cs_time < 31451 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_L 15000 1 WHILE cs_time < 34679 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_M 15000 1 WHILE cs_time < 36802 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_N 15000 1 WHILE cs_time < 39747 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW FM1_O 15000 1 WHILE cs_time < 43500 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE DO_FADE 1500 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE SET_PLAYER_COORDINATES player 1418.0 -186.0 -100.0 CLEAR_CUTSCENE DO_FADE 0 FADE_OUT UNLOAD_SPECIAL_CHARACTER 1 MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_MAFIA_B MARK_MODEL_AS_NO_LONGER_NEEDED cut_obj1 MARK_MODEL_AS_NO_LONGER_NEEDED cut_obj2 MARK_MODEL_AS_NO_LONGER_NEEDED cut_obj3 MARK_MODEL_AS_NO_LONGER_NEEDED salvsdetail MARK_MODEL_AS_NO_LONGER_NEEDED swank_inside MARK_MODEL_AS_NO_LONGER_NEEDED franksclb02 REQUEST_MODEL CAR_STRETCH REQUEST_MODEL PED_CRIMINAL1 CLEAR_AREA 1444.99 -186.9 56.0 35.0 TRUE SWITCH_RUBBISH ON LOAD_ALL_MODELS_NOW WHILE NOT HAS_MODEL_LOADED CAR_STRETCH OR NOT HAS_MODEL_LOADED PED_CRIMINAL1 WAIT 0 ENDWHILE CREATE_CAR CAR_STRETCH 1436.0 -183.0 50.0 frankies_limo SET_RADIO_CHANNEL 3 -1 SET_CAR_HEADING frankies_limo 90.0 CHANGE_CAR_COLOUR frankies_limo 0 0 // FRANKIES LIMO NEEDS A UNIQUE COLOUR SET_CAR_STRONG frankies_limo TRUE SET_CAN_RESPRAY_CAR frankies_limo FALSE SET_PLAYER_CONTROL player OFF SWITCH_WIDESCREEN ON maria_exists = 1 CREATE_CHAR_AS_PASSENGER frankies_limo PEDTYPE_SPECIAL PED_SPECIAL2 1 maria CLEAR_CHAR_THREAT_SEARCH maria ADD_ARMOUR_TO_CHAR maria 100 SET_CHAR_CANT_BE_DRAGGED_OUT maria TRUE SET_ANIM_GROUP_FOR_CHAR maria ANIM_SEXY_WOMANPED IF NOT IS_CHAR_IN_CAR maria frankies_limo SET_CHAR_OBJ_ENTER_CAR_AS_PASSENGER maria frankies_limo ENDIF CREATE_CHAR PEDTYPE_CIVMALE PED_CRIMINAL1 770.2257 -565.9869 13.8 chico SET_CHAR_HEADING chico 265.2053 CLEAR_CHAR_THREAT_SEARCH chico CHAR_SET_IDLE chico SET_CHAR_STAY_IN_SAME_PLACE chico TRUE SWITCH_PED_ROADS_OFF 759.0 -616.0 11.0 782.0 -536.0 26.0 GENERATE_RANDOM_INT_IN_RANGE 0 4 camera_mode IF camera_mode < 1 SET_FIXED_CAMERA_POSITION 1405.736 -190.179 62.455 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 1427.2837 -183.5375 49.4573 JUMP_CUT ENDIF IF camera_mode = 1 SET_FIXED_CAMERA_POSITION 1425.685 -178.463 50.184 0.0 0.0 0.0 POINT_CAMERA_AT_CAR frankies_limo FIXED JUMP_CUT ENDIF IF camera_mode = 2 SET_FIXED_CAMERA_POSITION 1432.161 -179.705 50.643 0.0 0.0 0.0 POINT_CAMERA_AT_CAR frankies_limo FIXED JUMP_CUT ENDIF IF camera_mode > 2 SET_FIXED_CAMERA_POSITION 1421.134 -193.771 63.916 0.0 0.0 0.0 POINT_CAMERA_AT_CAR frankies_limo FIXED JUMP_CUT ENDIF WARP_PLAYER_INTO_CAR player frankies_limo DO_FADE 0 FADE_OUT GET_CHAR_COORDINATES chico chico_x chico_y chico_z ADD_BLIP_FOR_COORD 775.5 -557.3 14.0 fm1_blip REQUEST_MODEL PED_GANG_MAFIA_A REQUEST_MODEL CAR_SENTINEL REQUEST_MODEL CAR_CHEETAH REQUEST_MODEL CAR_MANANA LOAD_ALL_MODELS_NOW WHILE NOT HAS_MODEL_LOADED PED_GANG_MAFIA_A OR NOT HAS_MODEL_LOADED CAR_SENTINEL OR NOT HAS_MODEL_LOADED CAR_CHEETAH OR NOT HAS_MODEL_LOADED CAR_MANANA WAIT 0 ENDWHILE SWITCH_STREAMING ON IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo GOTO mission_frankie1_failed ENDIF IF NOT IS_CHAR_IN_CAR maria frankies_limo SET_CHAR_OBJ_ENTER_CAR_AS_PASSENGER maria frankies_limo ENDIF DO_FADE 1500 FADE_IN WHILE GET_FADING_STATUS WAIT 0 ENDWHILE IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo GOTO mission_frankie1_failed ENDIF IF NOT IS_CHAR_IN_CAR maria frankies_limo SET_CHAR_OBJ_ENTER_CAR_AS_PASSENGER maria frankies_limo ENDIF CHANGE_GARAGE_TYPE frankie_garage GARAGE_FOR_SCRIPT_TO_OPEN_AND_CLOSE OPEN_GARAGE frankie_garage CAR_GOTO_COORDINATES_ACCURATE frankies_limo 1416.1118 -189.4448 49.5264 WHILE NOT LOCATE_CAR_2D frankies_limo 1420.5 -189.1 3.0 3.0 0 WAIT 0 IF IS_CAR_DEAD frankies_limo GOTO mission_frankie1_failed ENDIF ENDWHILE CLOSE_GARAGE frankie_garage APPLY_BRAKES_TO_PLAYERS_CAR player ON IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF SET_CAMERA_IN_FRONT_OF_PLAYER RESTORE_CAMERA_JUMPCUT SET_PLAYER_CONTROL player ON SET_CAR_STATUS frankies_limo STATUS_PLAYER SWITCH_WIDESCREEN OFF locate_dome_flag = 1 REQUEST_MODEL CAR_ENFORCER REQUEST_MODEL PED_SWAT REQUEST_MODEL PED_P_MAN1 REQUEST_MODEL PED_FEMALE1 REQUEST_MODEL PED_FEMALE2 //WHILE NOT LOCATE_STOPPED_CHAR_IN_CAR_2D maria chico_x chico_y 10.0 10.0 0 WHILE NOT LOCATE_STOPPED_CHAR_IN_CAR_3D maria 775.5 -557.3 14.0 3.0 3.0 2.0 locate_dome_flag WAIT 0 IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CHAR_DEAD chico PRINT_NOW FM1_8 5000 1 // "You killed Chico!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF IF NOT IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 0 locate_dome_flag = 0 REMOVE_BLIP fm1_blip ADD_BLIP_FOR_CAR frankies_limo fm1_blip PRINT_NOW (FM1_1) 5000 1 //"Get back into the limo!" flag_blip_on_limo = 1 ENDIF IF IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 1 locate_dome_flag = 1 REMOVE_BLIP fm1_blip ADD_BLIP_FOR_CHAR chico fm1_blip flag_blip_on_limo = 0 ENDIF GET_CHAR_COORDINATES chico chico_x chico_y chico_z IF LOCATE_PLAYER_IN_CAR_2D player chico_x chico_y 30.0 30.0 0 AND chico_message_flag = 0 PRINT_NOW FM1_P 5000 1 //THATS CHICO OVER THERE, STOP NEXT TO HIM AND I'LL GET OUT chico_message_flag = 1 ENDIF IF chico_message_flag = 1 AND NOT LOCATE_PLAYER_IN_CAR_2D player chico_x chico_y 30.0 30.0 0 PRINT_NOW FM1_6 5000 1 //WHERE ARE YOU GOING, I WANT TO SEE CHICO chico_message_flag = 0 ENDIF ENDWHILE SET_PLAYER_CONTROL player OFF SET_EVERYONE_IGNORE_PLAYER player TRUE SWITCH_WIDESCREEN ON //MAKE_PLAYER_SAFE player SET_ALL_CARS_CAN_BE_DAMAGED FALSE //SET_FIXED_CAMERA_POSITION 769.86 -569.95 14.462 0.0 0.0 0.0 //POINT_CAMERA_AT_CHAR maria FIXED JUMP_CUT SET_FIXED_CAMERA_POSITION 770.7659 -569.9462 14.3248 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 770.7453 -568.9474 14.4 JUMP_CUT REMOVE_BLIP fm1_blip CLOSE_GARAGE frankie_garage SET_CHAR_OBJ_LEAVE_CAR maria frankies_limo WHILE IS_CHAR_IN_ANY_CAR maria WAIT 0 IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CHAR_DEAD chico PRINT_NOW FM1_8 5000 1 // "You killed Chico!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF IF NOT IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 0 ADD_BLIP_FOR_CAR frankies_limo fm1_blip PRINT_NOW (FM1_1) 5000 1 //"Get back into the limo!" flag_blip_on_limo = 1 ENDIF IF IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 1 REMOVE_BLIP fm1_blip flag_blip_on_limo = 0 ENDIF IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player maria 20.0 20.0 0 PRINT_NOW FM1_3 5000 1 //COMEBACK ENDIF ENDWHILE SET_CHAR_OBJ_GOTO_CHAR_ON_FOOT maria chico GET_CHAR_COORDINATES chico chico_x chico_y chico_z WHILE NOT LOCATE_STOPPED_CHAR_ON_FOOT_2D maria chico_x chico_y 3.0 3.0 0 WAIT 0 IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CHAR_DEAD chico PRINT_NOW FM1_8 5000 1 // "You killed Chico!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF GET_CHAR_COORDINATES chico chico_x chico_y chico_z IF NOT IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 0 ADD_BLIP_FOR_CAR frankies_limo fm1_blip PRINT_NOW (FM1_1) 5000 1 //"Get back into the limo!" flag_blip_on_limo = 1 ENDIF IF IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 1 REMOVE_BLIP fm1_blip flag_blip_on_limo = 0 ENDIF IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player maria 20.0 20.0 0 PRINT_NOW FM1_3 5000 1 //COMEBACK ENDIF ENDWHILE CLEAR_SMALL_PRINTS WHILE NOT chico_audio_flag = 15 WAIT 0 IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" CLEAR_MISSION_AUDIO GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" CLEAR_MISSION_AUDIO GOTO mission_frankie1_failed ENDIF IF IS_CHAR_DEAD chico PRINT_NOW FM1_8 5000 1 // "You killed Chico!" CLEAR_MISSION_AUDIO GOTO mission_frankie1_failed ENDIF IF skip_cutscene_flag = 0 IF NOT IS_BUTTON_PRESSED PAD1 CROSS skip_cutscene_flag = 1 ENDIF ENDIF IF skip_cutscene_flag = 1 IF IS_BUTTON_PRESSED PAD1 CROSS skip_cutscene_flag = 2 ENDIF ENDIF IF skip_cutscene_flag = 2 IF NOT IS_BUTTON_PRESSED PAD1 CROSS CLEAR_MISSION_AUDIO LOAD_MISSION_AUDIO S1_F SET_CHAR_WAIT_STATE chico WAITSTATE_FALSE 100 SET_CHAR_WAIT_STATE maria WAITSTATE_FALSE 100 chico_audio_flag = 15 skip_cutscene_flag = 3 ENDIF ENDIF IF chico_audio_flag = 0 TURN_CHAR_TO_FACE_CHAR chico maria TURN_CHAR_TO_FACE_CHAR maria chico LOAD_MISSION_AUDIO S1_A chico_audio_flag = 1 ENDIF IF chico_audio_flag = 14 IF HAS_MISSION_AUDIO_FINISHED LOAD_MISSION_AUDIO S1_F SET_CHAR_WAIT_STATE chico WAITSTATE_FALSE 100 chico_audio_flag = 15 ENDIF ENDIF IF chico_audio_flag = 13 IF HAS_MISSION_AUDIO_LOADED GET_CHAR_COORDINATES chico chico_x chico_y chico_z PLAY_MISSION_AUDIO PRINT_NOW FM1_U 2000 1//"Ciao baby." SET_CHAR_WAIT_STATE chico WAITSTATE_PLAYANIM_CHAT 10000 chico_audio_flag = 14 ENDIF ENDIF IF chico_audio_flag = 12 IF HAS_MISSION_AUDIO_FINISHED TURN_CHAR_TO_FACE_CHAR chico maria TURN_CHAR_TO_FACE_CHAR maria chico LOAD_MISSION_AUDIO S1_E SET_CHAR_WAIT_STATE maria WAITSTATE_FALSE 100 chico_audio_flag = 13 ENDIF ENDIF IF chico_audio_flag = 11 IF HAS_MISSION_AUDIO_LOADED GET_CHAR_COORDINATES maria chico_x chico_y chico_z PLAY_MISSION_AUDIO PRINT_NOW FM1_T 4000 2 //"Thanks for the tip. C'mon, let's go party. See you around Chico." SET_CHAR_WAIT_STATE maria WAITSTATE_PLAYANIM_CHAT 10000 chico_audio_flag = 12 ENDIF ENDIF IF chico_audio_flag = 10 IF HAS_MISSION_AUDIO_FINISHED TURN_CHAR_TO_FACE_CHAR chico maria TURN_CHAR_TO_FACE_CHAR maria chico LOAD_MISSION_AUDIO S1_D SET_CHAR_WAIT_STATE chico WAITSTATE_FALSE 100 chico_audio_flag = 11 ENDIF ENDIF IF chico_audio_flag = 9 IF HAS_MISSION_AUDIO_LOADED GET_CHAR_COORDINATES chico chico_x chico_y chico_z PLAY_MISSION_AUDIO PRINT_NOW FM1_S1 15000 2 //"You should check out the warehouse party going down at the North end of Portland Harbour." chico_audio_flag = 10 ENDIF ENDIF IF chico_audio_flag = 8 IF HAS_MISSION_AUDIO_FINISHED TURN_CHAR_TO_FACE_CHAR chico maria TURN_CHAR_TO_FACE_CHAR maria chico LOAD_MISSION_AUDIO S1_C1 chico_audio_flag = 9 ENDIF ENDIF IF chico_audio_flag = 7 IF HAS_MISSION_AUDIO_LOADED GET_CHAR_COORDINATES chico chico_x chico_y chico_z SET_CHAR_WAIT_STATE chico WAITSTATE_PLAYANIM_CHAT 10000 PLAY_MISSION_AUDIO PRINT_NOW FM1_S 5000 2 //"Here you go lady" chico_audio_flag = 8 ENDIF ENDIF IF chico_audio_flag = 6 IF HAS_MISSION_AUDIO_FINISHED TURN_CHAR_TO_FACE_CHAR chico maria TURN_CHAR_TO_FACE_CHAR maria chico LOAD_MISSION_AUDIO S1_C SET_CHAR_WAIT_STATE maria WAITSTATE_FALSE 100 chico_audio_flag = 7 ENDIF ENDIF IF chico_audio_flag = 5 IF HAS_MISSION_AUDIO_LOADED GET_CHAR_COORDINATES maria chico_x chico_y chico_z PLAY_MISSION_AUDIO PRINT_NOW FM1_R 6000 2 //"Hi Chico. Yeah just the usual." SET_CHAR_WAIT_STATE maria WAITSTATE_PLAYANIM_CHAT 10000 chico_audio_flag = 6 ENDIF ENDIF IF chico_audio_flag = 4 IF HAS_MISSION_AUDIO_FINISHED TURN_CHAR_TO_FACE_CHAR chico maria TURN_CHAR_TO_FACE_CHAR maria chico LOAD_MISSION_AUDIO S1_B SET_CHAR_WAIT_STATE chico WAITSTATE_FALSE 100 chico_audio_flag = 5 ENDIF ENDIF IF chico_audio_flag = 3 IF HAS_MISSION_AUDIO_LOADED GET_CHAR_COORDINATES chico chico_x chico_y chico_z PLAY_MISSION_AUDIO PRINT_NOW FM1_Q1 6000 2 //"You looking for some spank?" chico_audio_flag = 4 ENDIF ENDIF IF chico_audio_flag = 2 IF HAS_MISSION_AUDIO_FINISHED TURN_CHAR_TO_FACE_CHAR chico maria TURN_CHAR_TO_FACE_CHAR maria chico LOAD_MISSION_AUDIO S1_A1 chico_audio_flag = 3 ENDIF ENDIF IF chico_audio_flag = 1 IF HAS_MISSION_AUDIO_LOADED GET_CHAR_COORDINATES chico chico_x chico_y chico_z PLAY_MISSION_AUDIO PRINT_NOW FM1_Q 6000 2 //"Hey it's my favourite lady!" SET_CHAR_WAIT_STATE chico WAITSTATE_PLAYANIM_CHAT 10000 chico_audio_flag = 2 ENDIF ENDIF ENDWHILE maria_getting_into_car: IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF CLEAR_SMALL_PRINTS SET_CHAR_OBJ_ENTER_CAR_AS_PASSENGER maria frankies_limo SET_CHAR_RUNNING maria TRUE MARK_CHAR_AS_NO_LONGER_NEEDED chico SWITCH_PED_ROADS_ON 759.0 -616.0 11.0 782.0 -536.0 26.0 WHILE NOT IS_CHAR_IN_CAR maria frankies_limo WAIT 0 IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF ENDWHILE IF flag_player_on_mission = 0 ADD_BLIP_FOR_CAR frankies_limo fm1_blip ADD_BLIP_FOR_CHAR maria maria_blip ENDIF SET_PLAYER_CONTROL player ON SET_EVERYONE_IGNORE_PLAYER player FALSE SWITCH_WIDESCREEN OFF SET_ALL_CARS_CAN_BE_DAMAGED TRUE SET_CHAR_RUNNING maria FALSE RESTORE_CAMERA_JUMPCUT SET_CAMERA_IN_FRONT_OF_PLAYER WHILE NOT HAS_MISSION_AUDIO_LOADED WAIT 0 IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF ENDWHILE PLAY_MISSION_AUDIO PRINT_NOW FM1_V 5000 1 //"C'mon Fido, let's go check out this party!" REMOVE_BLIP fm1_blip REMOVE_BLIP maria_blip ADD_BLIP_FOR_COORD 1256.6 -1099.3 -11.7 fm1_blip CREATE_CHAR PEDTYPE_GANG_MAFIA PED_GANG_MAFIA_A 1267.73 -1109.24 11.0 doorman1 SET_CHAR_HEADING doorman1 90.0 SET_CHAR_THREAT_SEARCH doorman1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY doorman1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR doorman1 WEAPONTYPE_PISTOL 99 SET_CHAR_OBJ_WAIT_ON_FOOT doorman1 SET_CHAR_HEED_THREATS doorman1 TRUE CREATE_CHAR PEDTYPE_GANG_MAFIA PED_GANG_MAFIA_A 1267.73 -1105.62 11.0 doorman2 SET_CHAR_HEADING doorman2 90.0 SET_CHAR_THREAT_SEARCH doorman2 THREAT_GANG_HOOD SET_CHAR_PERSONALITY doorman2 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR doorman2 WEAPONTYPE_PISTOL 99 SET_CHAR_OBJ_WAIT_ON_FOOT doorman2 SET_CHAR_HEED_THREATS doorman2 TRUE CREATE_CAR CAR_SENTINEL 1243.0 -1112.0 11.0 parked_car1 CREATE_CAR CAR_CHEETAH 1247.0 -1112.0 11.0 parked_car2 CREATE_CAR CAR_MANANA 1251.0 -1112.0 11.0 parked_car3 /////////////CLUB STUFF//// DRAW_SHADOW SHADOW_EXPLOSION 1270.8430 -1107.7288 11.1079 0.0 1.0 0 255 0 0// ShadowType X Y Z Rotation Scale Transparency Red Green Blue DRAW_LIGHT 1273.1917 -1107.3098 11.1079 255 0 0 ADD_CONTINUOUS_SOUND 1269.7494 -1100.4137 14.0 SOUND_RAVE_LOOP_INDUSTRIAL_L warehouse_rave_loop ADD_PARTICLE_EFFECT POBJECT_DRY_ICE_SLOWMOTION 1273.0 -1107.2 10.7 0 ADD_PARTICLE_EFFECT POBJECT_DRY_ICE_SLOWMOTION 1273.0522 -1107.2312 10.7 0 ADD_PARTICLE_EFFECT POBJECT_DRY_ICE_SLOWMOTION 1273.1 -1107.1 10.7 0 ADD_PARTICLE_EFFECT POBJECT_DRY_ICE_SLOWMOTION 1273.2 -1107.0 10.7 0 ADD_PARTICLE_EFFECT POBJECT_WALL_STEAM_SLOWMOTION 1270.0 -1107.35 10.8 0 ADD_PARTICLE_EFFECT POBJECT_PAVEMENT_STEAM_SLOWMOTION 1271.5223 -1107.5471 10.6 0 add_sound_flag = 1 locate_dome_flag = 1 chico_message_flag = 0 flag_blip_on_limo = 0 /////////////////////////// WHILE NOT LOCATE_STOPPED_CHAR_IN_CAR_2D maria 1259.0410 -1107.7825 3.0 3.0 locate_dome_flag WAIT 0 GOSUB draw_disco_lights IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF IF chico_message_flag = 0 IF LOCATE_CHAR_ANY_MEANS_2D maria 1258.0 -1100.0 50.0 50.0 0 PRINT_NOW FM1_9 5000 1 //"Thats the club up ahead" chico_message_flag = 1 ENDIF ENDIF IF NOT IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 0 REMOVE_BLIP fm1_blip ADD_BLIP_FOR_CAR frankies_limo fm1_blip PRINT_NOW (FM1_1) 5000 1 //"Get back into the limo!" locate_dome_flag = 0 flag_blip_on_limo = 1 ENDIF IF IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 1 REMOVE_BLIP fm1_blip ADD_BLIP_FOR_COORD 1262.1 -1099.4 -100.0 fm1_blip locate_dome_flag = 1 flag_blip_on_limo = 0 ENDIF IF chico_audio_flag = 16 IF HAS_MISSION_AUDIO_LOADED chico_audio_flag = 17 ENDIF ENDIF IF chico_audio_flag = 15 IF HAS_MISSION_AUDIO_FINISHED LOAD_MISSION_AUDIO S1_G chico_audio_flag = 16 ENDIF ENDIF ENDWHILE IF NOT chico_audio_flag = 17 WAIT 0 WHILE NOT HAS_MISSION_AUDIO_LOADED WAIT 0 IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF ENDWHILE chico_audio_flag = 17 ENDIF GET_CHAR_COORDINATES maria chico_x chico_y chico_z PLAY_MISSION_AUDIO SET_PLAYER_CONTROL player OFF SET_EVERYONE_IGNORE_PLAYER player TRUE SET_ALL_CARS_CAN_BE_DAMAGED FALSE PRINT_NOW FM1_W 5000 1 //"OK Fido, you wait here and look after the car while I go and shake my butt." WAIT 0 WHILE NOT HAS_MISSION_AUDIO_FINISHED WAIT 0 IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF ENDWHILE SET_PLAYER_CONTROL player ON SET_EVERYONE_IGNORE_PLAYER player FALSE SET_ALL_CARS_CAN_BE_DAMAGED TRUE SET_CHAR_OBJ_LEAVE_CAR maria frankies_limo WHILE IS_CHAR_IN_CAR maria frankies_limo WAIT 0 GOSUB draw_disco_lights IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF IF chico_audio_flag = 17 IF HAS_MISSION_AUDIO_FINISHED LOAD_MISSION_AUDIO S1_H chico_audio_flag = 18 ENDIF ENDIF ENDWHILE SET_CHAR_OBJ_GOTO_COORD_ON_FOOT maria 1266.85 -1107.65 TIMERA = 0 WHILE NOT LOCATE_CHAR_ON_FOOT_2D maria 1266.85 -1107.65 1.0 1.0 0 WAIT 0 GOSUB draw_disco_lights IF TIMERA > 20000 CLEAR_AREA 1267.665 -1107.569 11.38 3.0 FALSE ENDIF IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF IF chico_audio_flag = 17 IF HAS_MISSION_AUDIO_FINISHED LOAD_MISSION_AUDIO S1_H chico_audio_flag = 18 ENDIF ENDIF ENDWHILE SET_CHAR_OBJ_GOTO_COORD_ON_FOOT maria inside_warehouse_x inside_warehouse_y WHILE NOT LOCATE_CHAR_ON_FOOT_2D maria inside_warehouse_x inside_warehouse_y 1.0 1.0 0 WAIT 0 GOSUB draw_disco_lights IF TIMERA > 20000 CLEAR_AREA 1267.665 -1107.569 11.38 4.0 FALSE ENDIF IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF IF chico_audio_flag = 17 IF HAS_MISSION_AUDIO_FINISHED LOAD_MISSION_AUDIO S1_H chico_audio_flag = 18 ENDIF ENDIF ENDWHILE maria_exists = 0 DELETE_CHAR maria wait_for_maria://////////////////////////////////////////////////////////////////////// WAIT 0 GOSUB draw_disco_lights IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF TIMERA = 0 WHILE LOCATE_PLAYER_ANY_MEANS_2D player 1262.1 -1099.4 22.0 22.0 0 WAIT 0 GOSUB draw_disco_lights IF TIMERA > 10000 GOTO club_busted ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF IF chico_audio_flag = 17 IF HAS_MISSION_AUDIO_FINISHED LOAD_MISSION_AUDIO S1_H chico_audio_flag = 18 ENDIF ENDIF ENDWHILE PRINT_NOW (FM1_4) 500 2 //You're supposed to be waiting for Maria! Get back to the warehouse! GOTO wait_for_maria/////////////////////////////////////////////////////////////////// club_busted:////////////////////////////////////////////////////////////////////////// WHILE NOT HAS_MODEL_LOADED CAR_ENFORCER OR NOT HAS_MODEL_LOADED PED_SWAT OR NOT HAS_MODEL_LOADED PED_P_MAN1 OR NOT HAS_MODEL_LOADED PED_FEMALE1 OR NOT HAS_MODEL_LOADED PED_FEMALE2 WAIT 0 ENDWHILE swat_car_one: CREATE_CAR CAR_ENFORCER 1293.0 -925.0 -100.0 swatvan_fm1 SET_CAR_HEADING swatvan_fm1 225.0 SET_CAR_CRUISE_SPEED swatvan_fm1 40.0 SET_CAR_DRIVING_STYLE swatvan_fm1 2 SWITCH_CAR_SIREN swatvan_fm1 ON LOCK_CAR_DOORS swatvan_fm1 CARLOCK_LOCKOUT_PLAYER_ONLY CREATE_CHAR_INSIDE_CAR swatvan_fm1 PEDTYPE_GANG_HOOD PED_SWAT cop1_fm1 SET_CHAR_THREAT_SEARCH cop1_fm1 THREAT_GANG_MAFIA SET_CHAR_PERSONALITY cop1_fm1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR cop1_fm1 WEAPONTYPE_PISTOL 99 CREATE_CHAR_AS_PASSENGER swatvan_fm1 PEDTYPE_GANG_HOOD PED_SWAT 0 cop2_fm1 SET_CHAR_THREAT_SEARCH cop2_fm1 THREAT_GANG_MAFIA SET_CHAR_PERSONALITY cop2_fm1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR cop2_fm1 WEAPONTYPE_PISTOL 99 CREATE_CHAR_AS_PASSENGER swatvan_fm1 PEDTYPE_GANG_HOOD PED_SWAT 1 cop3_fm1 SET_CHAR_THREAT_SEARCH cop3_fm1 THREAT_GANG_MAFIA SET_CHAR_PERSONALITY cop3_fm1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR cop3_fm1 WEAPONTYPE_PISTOL 99 CREATE_CHAR_AS_PASSENGER swatvan_fm1 PEDTYPE_GANG_HOOD PED_SWAT 2 cop4_fm1 SET_CHAR_THREAT_SEARCH cop4_fm1 THREAT_GANG_MAFIA SET_CHAR_PERSONALITY cop4_fm1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR cop4_fm1 WEAPONTYPE_PISTOL 99 CAR_GOTO_COORDINATES swatvan_fm1 1252.0 -1086.0 -100.0 IF create_more_swat1 = 1 create_more_swat1 = 0 RETURN ENDIF swat_car_two: CREATE_CAR CAR_ENFORCER 1084.0 -1012.0 -100.0 swatvan2_fm1 SET_CAR_HEADING swatvan2_fm1 180.0 SET_CAR_CRUISE_SPEED swatvan2_fm1 40.0 SET_CAR_DRIVING_STYLE swatvan2_fm1 2 SWITCH_CAR_SIREN swatvan2_fm1 ON LOCK_CAR_DOORS swatvan2_fm1 CARLOCK_LOCKOUT_PLAYER_ONLY CREATE_CHAR_INSIDE_CAR swatvan2_fm1 PEDTYPE_GANG_HOOD PED_SWAT cop5_fm1 SET_CHAR_THREAT_SEARCH cop5_fm1 THREAT_GANG_MAFIA SET_CHAR_PERSONALITY cop5_fm1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR cop5_fm1 WEAPONTYPE_PISTOL 99 CREATE_CHAR_AS_PASSENGER swatvan2_fm1 PEDTYPE_GANG_HOOD PED_SWAT 0 cop6_fm1 SET_CHAR_THREAT_SEARCH cop6_fm1 THREAT_GANG_MAFIA SET_CHAR_PERSONALITY cop6_fm1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR cop6_fm1 WEAPONTYPE_PISTOL 99 CREATE_CHAR_AS_PASSENGER swatvan2_fm1 PEDTYPE_GANG_HOOD PED_SWAT 1 cop7_fm1 SET_CHAR_THREAT_SEARCH cop7_fm1 THREAT_GANG_MAFIA SET_CHAR_PERSONALITY cop7_fm1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR cop7_fm1 WEAPONTYPE_PISTOL 99 CREATE_CHAR_AS_PASSENGER swatvan2_fm1 PEDTYPE_GANG_HOOD PED_SWAT 2 cop8_fm1 SET_CHAR_THREAT_SEARCH cop8_fm1 THREAT_GANG_MAFIA SET_CHAR_PERSONALITY cop8_fm1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR cop8_fm1 WEAPONTYPE_PISTOL 99 CAR_GOTO_COORDINATES swatvan2_fm1 1235.0 -1099.0 -100.0 SET_PLAYER_CONTROL player OFF SET_EVERYONE_IGNORE_PLAYER player TRUE SWITCH_WIDESCREEN ON SET_ALL_CARS_CAN_BE_DAMAGED FALSE SET_FIXED_CAMERA_POSITION 1309.913 -1061.354 15.691 0.0 0.0 0.0 POINT_CAMERA_AT_CAR swatvan_fm1 FIXED JUMP_CUT SET_GENERATE_CARS_AROUND_CAMERA TRUE swat_cam_needs_restoring = 1 IF create_more_swat2 = 1 create_more_swat2 = 0 RETURN ENDIF IF NOT chico_audio_flag = 18 WHILE NOT HAS_MISSION_AUDIO_FINISHED WAIT 0 IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF ENDWHILE LOAD_MISSION_AUDIO S1_H chico_audio_flag = 18 ENDIF WAIT 0 IF chico_audio_flag = 18 WHILE NOT HAS_MISSION_AUDIO_LOADED WAIT 0 IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF ENDWHILE chico_audio_flag = 19 ENDIF PLAY_MISSION_AUDIO PRINT_NOW (FM1_SS) 4000 2 //"Calling all cars, request back-up for narcotics raid. Warehouse party Portland Harbour East." WHILE swat1_exit_car = 0 OR swat2_exit_car = 0 WAIT 0 IF fuckup_flag = 0 GET_GAME_TIMER fuckup_timer_start fuckup_flag = 1 ENDIF IF fuckup_flag = 1 GET_GAME_TIMER fuckup_timer_current fuckup_timer = fuckup_timer_current - fuckup_timer_start IF fuckup_timer > 180000 swat1_exit_car = 1 swat2_exit_car = 1 IF swat_cam_needs_restoring = 1 SET_CAMERA_BEHIND_PLAYER RESTORE_CAMERA_JUMPCUT SET_PLAYER_CONTROL player ON SET_EVERYONE_IGNORE_PLAYER player FALSE SWITCH_WIDESCREEN OFF SET_ALL_CARS_CAN_BE_DAMAGED TRUE SET_GENERATE_CARS_AROUND_CAMERA FALSE swat_cam_needs_restoring = 0 ENDIF fuckup_flag = 2 ENDIF ENDIF GOSUB draw_disco_lights IF chico_audio_flag = 20 IF HAS_MISSION_AUDIO_LOADED chico_audio_flag = 21 ENDIF ENDIF IF chico_audio_flag = 19 IF HAS_MISSION_AUDIO_FINISHED LOAD_MISSION_AUDIO S1_I chico_audio_flag = 20 ENDIF ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD swatvan_fm1 MARK_CAR_AS_NO_LONGER_NEEDED swatvan_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop1_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop2_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop3_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop4_fm1 create_more_swat1 = 1 GOSUB swat_car_one ENDIF IF IS_CAR_UPSIDEDOWN swatvan_fm1 AND IS_CAR_STOPPED swatvan_fm1 MARK_CAR_AS_NO_LONGER_NEEDED swatvan_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop1_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop2_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop3_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop4_fm1 create_more_swat1 = 1 GOSUB swat_car_one ENDIF IF IS_CAR_IN_WATER swatvan_fm1 MARK_CAR_AS_NO_LONGER_NEEDED swatvan_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop1_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop2_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop3_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop4_fm1 create_more_swat1 = 1 GOSUB swat_car_one ENDIF IF timera_reset = 1 IF NOT IS_CAR_STOPPED swatvan_fm1 timera_reset = 0 ENDIF ENDIF IF IS_CAR_STOPPED swatvan_fm1 IF timera_reset = 0 TIMERA = 0 timera_reset = 1 ENDIF IF TIMERA > 5000 AND timera_reset = 1 MARK_CAR_AS_NO_LONGER_NEEDED swatvan_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop1_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop2_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop3_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop4_fm1 create_more_swat1 = 1 GOSUB swat_car_one ENDIF ENDIF IF LOCATE_CAR_3D swatvan_fm1 swat1_stuck_x swat1_stuck_y swat1_stuck_z 2.0 2.0 2.0 0 IF timerc_reset_flag_f1a = 0 GET_GAME_TIMER timerc_started_f1a timerc_reset_flag_f1a = 1 ENDIF IF timerc_reset_flag_f1a = 1 GET_GAME_TIMER timerc_current_f1a timerc_f1a = timerc_current_f1a - timerc_started_f1a IF timerc_f1a > 8000 MARK_CAR_AS_NO_LONGER_NEEDED swatvan_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop1_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop2_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop3_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop4_fm1 create_more_swat1 = 1 GOSUB swat_car_one ENDIF ENDIF ENDIF IF NOT LOCATE_CAR_3D swatvan_fm1 swat1_stuck_x swat1_stuck_y swat1_stuck_z 2.0 2.0 2.0 0 GET_CAR_COORDINATES swatvan_fm1 swat1_stuck_x swat1_stuck_y swat1_stuck_z timerc_reset_flag_f1a = 0 ENDIF IF IS_CAR_DEAD swatvan2_fm1 MARK_CAR_AS_NO_LONGER_NEEDED swatvan2_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop5_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop6_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop7_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop8_fm1 create_more_swat2 = 1 GOSUB swat_car_two ENDIF IF IS_CAR_UPSIDEDOWN swatvan2_fm1 AND IS_CAR_STOPPED swatvan2_fm1 MARK_CAR_AS_NO_LONGER_NEEDED swatvan2_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop5_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop6_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop7_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop8_fm1 create_more_swat2 = 1 GOSUB swat_car_two ENDIF IF IS_CAR_IN_WATER swatvan2_fm1 MARK_CAR_AS_NO_LONGER_NEEDED swatvan2_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop5_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop6_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop7_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop8_fm1 create_more_swat2 = 1 GOSUB swat_car_two ENDIF IF timerb_reset = 1 IF NOT IS_CAR_STOPPED swatvan2_fm1 timerb_reset = 0 ENDIF ENDIF IF IS_CAR_STOPPED swatvan2_fm1 IF timerb_reset = 0 TIMERB = 0 timerb_reset = 1 ENDIF IF TIMERB > 5000 AND timerb_reset = 1 MARK_CAR_AS_NO_LONGER_NEEDED swatvan2_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop5_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop6_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop7_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop8_fm1 create_more_swat2 = 1 GOSUB swat_car_two ENDIF ENDIF IF LOCATE_CAR_3D swatvan2_fm1 swat2_stuck_x swat2_stuck_y swat2_stuck_z 2.0 2.0 2.0 0 IF timerc_reset_flag_f1b = 0 GET_GAME_TIMER timerc_started_f1b timerc_reset_flag_f1b = 1 ENDIF IF timerc_reset_flag_f1b = 1 GET_GAME_TIMER timerc_current_f1b timerc_f1b = timerc_current_f1b - timerc_started_f1b IF timerc_f1b > 8000 MARK_CAR_AS_NO_LONGER_NEEDED swatvan2_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop5_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop6_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop7_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED cop8_fm1 create_more_swat2 = 1 GOSUB swat_car_two ENDIF ENDIF ENDIF IF NOT LOCATE_CAR_3D swatvan2_fm1 swat2_stuck_x swat2_stuck_y swat2_stuck_z 2.0 2.0 2.0 0 GET_CAR_COORDINATES swatvan2_fm1 swat2_stuck_x swat2_stuck_y swat2_stuck_z timerc_reset_flag_f1b = 0 ENDIF IF LOCATE_CAR_2D swatvan_fm1 1252.0 -1086.0 8.0 8.0 0 AND swat1_exit_car = 0 IF swat_cam_needs_restoring = 1 SET_CAMERA_BEHIND_PLAYER RESTORE_CAMERA_JUMPCUT SET_PLAYER_CONTROL player ON SET_EVERYONE_IGNORE_PLAYER player FALSE SWITCH_WIDESCREEN OFF SET_ALL_CARS_CAN_BE_DAMAGED TRUE SET_GENERATE_CARS_AROUND_CAMERA FALSE swat_cam_needs_restoring = 0 ENDIF IF chico_audio_flag = 21 IF NOT IS_CHAR_DEAD doorman1 GET_CHAR_COORDINATES doorman1 chico_x chico_y chico_z SET_MISSION_AUDIO_POSITION chico_x chico_y chico_z ELSE MARK_CHAR_AS_NO_LONGER_NEEDED doorman1 IF NOT IS_CHAR_DEAD doorman2 GET_CHAR_COORDINATES doorman2 chico_x chico_y chico_z SET_MISSION_AUDIO_POSITION chico_x chico_y chico_z ELSE MARK_CHAR_AS_NO_LONGER_NEEDED doorman2 ENDIF ENDIF PLAY_MISSION_AUDIO PRINT_NOW FM1_TT 5000 1//"IT'S A POLICE RAID! EVERYBODY FOR THEMSELVES!!" chico_audio_flag = 22 ENDIF SET_CAR_CRUISE_SPEED swatvan_fm1 0.0 IF NOT IS_CHAR_DEAD cop1_fm1 SET_CHAR_OBJ_LEAVE_CAR cop1_fm1 swatvan_fm1 SET_CHAR_HEED_THREATS cop1_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop1_fm1 ENDIF IF NOT IS_CHAR_DEAD cop2_fm1 SET_CHAR_OBJ_LEAVE_CAR cop2_fm1 swatvan_fm1 SET_CHAR_HEED_THREATS cop2_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop2_fm1 ENDIF IF NOT IS_CHAR_DEAD cop3_fm1 SET_CHAR_OBJ_LEAVE_CAR cop3_fm1 swatvan_fm1 SET_CHAR_HEED_THREATS cop3_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop3_fm1 ENDIF IF NOT IS_CHAR_DEAD cop4_fm1 SET_CHAR_OBJ_LEAVE_CAR cop4_fm1 swatvan_fm1 SET_CHAR_HEED_THREATS cop4_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop4_fm1 ENDIF IF NOT IS_CHAR_DEAD doorman2 AND NOT IS_CHAR_DEAD cop1_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT doorman2 cop1_fm1 ENDIF swat1_exit_car = 1 ENDIF IF LOCATE_CAR_2D swatvan2_fm1 1235.0 -1099.0 8.0 8.0 0 AND swat2_exit_car = 0 IF swat_cam_needs_restoring = 1 RESTORE_CAMERA_JUMPCUT SET_CAMERA_BEHIND_PLAYER SET_PLAYER_CONTROL player ON SET_EVERYONE_IGNORE_PLAYER player FALSE SWITCH_WIDESCREEN OFF SET_ALL_CARS_CAN_BE_DAMAGED TRUE SET_GENERATE_CARS_AROUND_CAMERA FALSE swat_cam_needs_restoring = 0 ENDIF IF chico_audio_flag = 21 IF NOT IS_CHAR_DEAD doorman1 GET_CHAR_COORDINATES doorman1 chico_x chico_y chico_z SET_MISSION_AUDIO_POSITION chico_x chico_y chico_z ELSE IF NOT IS_CHAR_DEAD doorman2 GET_CHAR_COORDINATES doorman2 chico_x chico_y chico_z SET_MISSION_AUDIO_POSITION chico_x chico_y chico_z ENDIF ENDIF PLAY_MISSION_AUDIO PRINT_NOW FM1_TT 5000 1//"IT'S A POLICE RAID! EVERYBODY FOR THEMSELVES!!" chico_audio_flag = 22 ENDIF SET_CAR_CRUISE_SPEED swatvan2_fm1 0.0 IF NOT IS_CHAR_DEAD cop5_fm1 SET_CHAR_OBJ_LEAVE_CAR cop5_fm1 swatvan2_fm1 SET_CHAR_HEED_THREATS cop5_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop5_fm1 ENDIF IF NOT IS_CHAR_DEAD cop6_fm1 SET_CHAR_OBJ_LEAVE_CAR cop6_fm1 swatvan2_fm1 SET_CHAR_HEED_THREATS cop6_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop6_fm1 ENDIF IF NOT IS_CHAR_DEAD cop7_fm1 SET_CHAR_OBJ_LEAVE_CAR cop7_fm1 swatvan2_fm1 SET_CHAR_HEED_THREATS cop7_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop7_fm1 ENDIF IF NOT IS_CHAR_DEAD cop8_fm1 SET_CHAR_OBJ_LEAVE_CAR cop8_fm1 swatvan2_fm1 SET_CHAR_HEED_THREATS cop8_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop8_fm1 ENDIF IF NOT IS_CHAR_DEAD doorman1 AND NOT IS_CHAR_DEAD cop5_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT doorman1 cop5_fm1 ENDIF swat2_exit_car = 1 ENDIF ENDWHILE IF swat_cam_needs_restoring = 1 SET_CAMERA_BEHIND_PLAYER RESTORE_CAMERA_JUMPCUT SET_PLAYER_CONTROL player ON SET_EVERYONE_IGNORE_PLAYER player FALSE SWITCH_WIDESCREEN OFF SET_ALL_CARS_CAN_BE_DAMAGED TRUE SET_GENERATE_CARS_AROUND_CAMERA FALSE swat_cam_needs_restoring = 0 ENDIF WHILE clubbers_flee_flag < 10 WAIT 0 GOSUB draw_disco_lights IF chico_audio_flag = 23 IF HAS_MISSION_AUDIO_LOADED chico_audio_flag = 24 ENDIF ENDIF IF chico_audio_flag = 22 IF HAS_MISSION_AUDIO_FINISHED LOAD_MISSION_AUDIO S1_J chico_audio_flag = 23 ENDIF ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF IF clubbers_flee_flag = 0 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_P_MAN1 inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber1_fm1 SET_CHAR_THREAT_SEARCH clubber1_fm1 THREAT_GANG_HOOD GIVE_WEAPON_TO_CHAR clubber1_fm1 WEAPONTYPE_UZI 99 SET_CHAR_PERSONALITY clubber1_fm1 PEDSTAT_TOUGH_GUY SET_CHAR_RUNNING clubber1_fm1 TRUE SET_CHAR_OBJ_RUN_TO_COORD clubber1_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 1 ENDIF IF clubbers_flee_flag = 1 IF IS_CHAR_DEAD clubber1_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED clubber1_fm1 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_FEMALE1 inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber2_fm1 SET_CHAR_THREAT_SEARCH clubber2_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber2_fm1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR clubber2_fm1 WEAPONTYPE_PISTOL 50 SET_CHAR_RUNNING clubber2_fm1 TRUE SET_CHAR_OBJ_RUN_TO_COORD clubber2_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 2 ELSE IF NOT LOCATE_CHAR_ANY_MEANS_2D clubber1_fm1 inside_warehouse_x inside_warehouse_y 2.0 2.0 0 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_FEMALE1 inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber2_fm1 GIVE_WEAPON_TO_CHAR clubber2_fm1 WEAPONTYPE_PISTOL 50 SET_CHAR_THREAT_SEARCH clubber2_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber2_fm1 PEDSTAT_TOUGH_GUY SET_CHAR_RUNNING clubber2_fm1 TRUE SET_CHAR_OBJ_RUN_TO_COORD clubber2_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 2 ENDIF ENDIF ENDIF IF clubbers_flee_flag = 2 IF IS_CHAR_DEAD clubber2_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED clubber2_fm1 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_CRIMINAL1 inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber3_fm1 SET_CHAR_THREAT_SEARCH clubber3_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber3_fm1 PEDSTAT_TOUGH_GUY SET_CHAR_RUNNING clubber3_fm1 TRUE GIVE_WEAPON_TO_CHAR clubber3_fm1 WEAPONTYPE_PISTOL 50 SET_CHAR_OBJ_RUN_TO_COORD clubber3_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 3 clubber3_car1 = 1 ELSE IF NOT LOCATE_CHAR_ANY_MEANS_2D clubber2_fm1 inside_warehouse_x inside_warehouse_y 2.0 2.0 0 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_CRIMINAL1 inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber3_fm1 SET_CHAR_THREAT_SEARCH clubber3_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber3_fm1 PEDSTAT_TOUGH_GUY SET_CHAR_RUNNING clubber3_fm1 TRUE GIVE_WEAPON_TO_CHAR clubber3_fm1 WEAPONTYPE_PISTOL 50 SET_CHAR_OBJ_RUN_TO_COORD clubber3_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 3 clubber3_car1 = 1 ENDIF ENDIF ENDIF IF clubbers_flee_flag = 3 IF IS_CHAR_DEAD clubber3_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED clubber3_fm1 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_FEMALE2 inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber4_fm1 SET_CHAR_THREAT_SEARCH clubber4_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber4_fm1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR clubber4_fm1 WEAPONTYPE_UZI 99 SET_CHAR_RUNNING clubber4_fm1 TRUE SET_CHAR_OBJ_RUN_TO_COORD clubber4_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 4 ELSE IF NOT LOCATE_CHAR_ANY_MEANS_2D clubber3_fm1 inside_warehouse_x inside_warehouse_y 2.0 2.0 0 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_FEMALE2 inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber4_fm1 SET_CHAR_THREAT_SEARCH clubber4_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber4_fm1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR clubber4_fm1 WEAPONTYPE_UZI 99 SET_CHAR_RUNNING clubber4_fm1 TRUE SET_CHAR_OBJ_RUN_TO_COORD clubber4_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 4 ENDIF ENDIF ENDIF IF clubbers_flee_flag = 4 IF IS_CHAR_DEAD clubber4_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED clubber4_fm1 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_GANG_MAFIA_A inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber5_fm1 SET_CHAR_THREAT_SEARCH clubber5_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber5_fm1 PEDSTAT_TOUGH_GUY SET_CHAR_RUNNING clubber5_fm1 TRUE GIVE_WEAPON_TO_CHAR clubber5_fm1 WEAPONTYPE_PISTOL 50 SET_CHAR_OBJ_RUN_TO_COORD clubber5_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 5 clubber5_car2 = 1 ELSE IF NOT LOCATE_CHAR_ANY_MEANS_2D clubber4_fm1 inside_warehouse_x inside_warehouse_y 2.0 2.0 0 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_GANG_MAFIA_A inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber5_fm1 SET_CHAR_THREAT_SEARCH clubber5_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber5_fm1 PEDSTAT_TOUGH_GUY SET_CHAR_RUNNING clubber5_fm1 TRUE GIVE_WEAPON_TO_CHAR clubber5_fm1 WEAPONTYPE_PISTOL 50 SET_CHAR_OBJ_RUN_TO_COORD clubber5_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 5 clubber5_car2 = 1 ENDIF ENDIF ENDIF IF clubbers_flee_flag = 5 IF IS_CHAR_DEAD clubber5_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED clubber5_fm1 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_CRIMINAL1 inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber6_fm1 SET_CHAR_THREAT_SEARCH clubber6_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber6_fm1 PEDSTAT_TOUGH_GUY SET_CHAR_RUNNING clubber6_fm1 TRUE GIVE_WEAPON_TO_CHAR clubber6_fm1 WEAPONTYPE_PISTOL 50 SET_CHAR_OBJ_RUN_TO_COORD clubber6_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 6 ELSE IF NOT LOCATE_CHAR_ANY_MEANS_2D clubber5_fm1 inside_warehouse_x inside_warehouse_y 2.0 2.0 0 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_CRIMINAL1 inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber6_fm1 SET_CHAR_THREAT_SEARCH clubber6_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber6_fm1 PEDSTAT_TOUGH_GUY SET_CHAR_RUNNING clubber6_fm1 TRUE GIVE_WEAPON_TO_CHAR clubber6_fm1 WEAPONTYPE_PISTOL 50 SET_CHAR_OBJ_RUN_TO_COORD clubber6_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 6 ENDIF ENDIF ENDIF IF clubbers_flee_flag = 6 IF IS_CHAR_DEAD clubber6_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED clubber6_fm1 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_FEMALE1 inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber7_fm1 SET_CHAR_THREAT_SEARCH clubber7_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber7_fm1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR clubber7_fm1 WEAPONTYPE_PISTOL 50 SET_CHAR_RUNNING clubber7_fm1 TRUE SET_CHAR_OBJ_RUN_TO_COORD clubber7_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 7 ELSE IF NOT LOCATE_CHAR_ANY_MEANS_2D clubber6_fm1 inside_warehouse_x inside_warehouse_y 2.0 2.0 0 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_FEMALE1 inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber7_fm1 SET_CHAR_THREAT_SEARCH clubber7_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber7_fm1 PEDSTAT_TOUGH_GUY GIVE_WEAPON_TO_CHAR clubber7_fm1 WEAPONTYPE_PISTOL 50 SET_CHAR_RUNNING clubber7_fm1 TRUE SET_CHAR_OBJ_RUN_TO_COORD clubber7_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 7 ENDIF ENDIF ENDIF IF clubbers_flee_flag = 7 IF IS_CHAR_DEAD clubber7_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED clubber7_fm1 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_GANG_MAFIA_A inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber8_fm1 SET_CHAR_THREAT_SEARCH clubber8_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber8_fm1 PEDSTAT_TOUGH_GUY SET_CHAR_RUNNING clubber8_fm1 TRUE GIVE_WEAPON_TO_CHAR clubber8_fm1 WEAPONTYPE_PISTOL 50 SET_CHAR_OBJ_RUN_TO_COORD clubber8_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 8 clubber8_car3 = 1 ELSE IF NOT LOCATE_CHAR_ANY_MEANS_2D clubber7_fm1 inside_warehouse_x inside_warehouse_y 2.0 2.0 0 CREATE_CHAR PEDTYPE_GANG_MAFIA PED_GANG_MAFIA_A inside_warehouse_x inside_warehouse_y inside_warehouse_z clubber8_fm1 SET_CHAR_THREAT_SEARCH clubber8_fm1 THREAT_GANG_HOOD SET_CHAR_PERSONALITY clubber8_fm1 PEDSTAT_TOUGH_GUY SET_CHAR_RUNNING clubber8_fm1 TRUE GIVE_WEAPON_TO_CHAR clubber8_fm1 WEAPONTYPE_PISTOL 50 SET_CHAR_OBJ_RUN_TO_COORD clubber8_fm1 outside_warehouse_x outside_warehouse_y clubbers_flee_flag = 8 clubber8_car3 = 1 ENDIF ENDIF ENDIF IF clubbers_flee_flag = 8 IF IS_CHAR_DEAD clubber8_fm1 MARK_CHAR_AS_NO_LONGER_NEEDED clubber8_fm1 IF swat_cam_needs_restoring = 1 RESTORE_CAMERA_JUMPCUT SET_CAMERA_BEHIND_PLAYER SET_PLAYER_CONTROL player ON SET_EVERYONE_IGNORE_PLAYER player FALSE SWITCH_WIDESCREEN OFF SET_ALL_CARS_CAN_BE_DAMAGED TRUE SET_GENERATE_CARS_AROUND_CAMERA FALSE swat_cam_needs_restoring = 0 ENDIF maria_exists = 1 CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL2 inside_warehouse_x inside_warehouse_y inside_warehouse_z maria SET_ANIM_GROUP_FOR_CHAR maria ANIM_SEXY_WOMANPED ADD_ARMOUR_TO_CHAR maria 100 CLEAR_CHAR_THREAT_SEARCH maria REMOVE_BLIP fm1_blip ADD_BLIP_FOR_CHAR maria fm1_blip PRINT_NOW FM1_5 4000 2 //"Get Maria out of there and back to Frankie's" ALTER_WANTED_LEVEL_NO_DROP player 2 SET_CHAR_RUNNING maria TRUE GET_PLAYER_COORDINATES player chico_x chico_y chico_z SET_CHAR_OBJ_RUN_TO_COORD maria chico_x chico_y clubbers_flee_flag = 9 ELSE IF NOT LOCATE_CHAR_ANY_MEANS_2D clubber8_fm1 inside_warehouse_x inside_warehouse_y 2.0 2.0 0 IF swat_cam_needs_restoring = 1 RESTORE_CAMERA_JUMPCUT SET_CAMERA_BEHIND_PLAYER SET_PLAYER_CONTROL player ON SET_EVERYONE_IGNORE_PLAYER player FALSE SWITCH_WIDESCREEN OFF SET_ALL_CARS_CAN_BE_DAMAGED TRUE SET_GENERATE_CARS_AROUND_CAMERA FALSE swat_cam_needs_restoring = 0 ENDIF maria_exists = 1 CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL2 inside_warehouse_x inside_warehouse_y inside_warehouse_z maria SET_ANIM_GROUP_FOR_CHAR maria ANIM_SEXY_WOMANPED ADD_ARMOUR_TO_CHAR maria 100 CLEAR_CHAR_THREAT_SEARCH maria REMOVE_BLIP fm1_blip ADD_BLIP_FOR_CHAR maria fm1_blip PRINT_NOW FM1_5 4000 2 //"Get Maria out of there and back to Frankie's" ALTER_WANTED_LEVEL_NO_DROP player 2 SET_CHAR_RUNNING maria TRUE GET_PLAYER_COORDINATES player chico_x chico_y chico_z SET_CHAR_OBJ_RUN_TO_COORD maria chico_x chico_y clubbers_flee_flag = 9 ENDIF ENDIF ENDIF IF clubbers_flee_flag = 9 IF IS_CHAR_DEAD maria GOTO mission_frankie1_failed ELSE SET_CHAR_OBJ_GOTO_PLAYER_ON_FOOT maria player IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player maria 4.0 4.0 0 SET_PLAYER_AS_LEADER maria player REMOVE_BLIP fm1_blip clubbers_flee_flag = 10 ENDIF ENDIF ENDIF IF NOT clubber3_car1 = 3 OR NOT clubber5_car2 = 3 OR NOT clubber8_car3 = 3 GOSUB clubbers_into_cars ENDIF GOSUB police_idle_checks GOSUB clubber_idle_checks IF fuckup_flag = 2 swat1_exit_car = 0 swat2_exit_car = 0 fuckup_flag = 3 ENDIF IF swat1_exit_car = 0 IF LOCATE_STOPPED_CAR_2D swatvan_fm1 1252.0 -1086.0 18.0 18.0 0 IF chico_audio_flag = 21 IF NOT IS_CHAR_DEAD doorman1 GET_CHAR_COORDINATES doorman1 chico_x chico_y chico_z SET_MISSION_AUDIO_POSITION chico_x chico_y chico_z ELSE MARK_CHAR_AS_NO_LONGER_NEEDED doorman1 IF NOT IS_CHAR_DEAD doorman2 GET_CHAR_COORDINATES doorman2 chico_x chico_y chico_z SET_MISSION_AUDIO_POSITION chico_x chico_y chico_z ELSE MARK_CHAR_AS_NO_LONGER_NEEDED doorman2 ENDIF ENDIF PLAY_MISSION_AUDIO PRINT_NOW FM1_TT 5000 1//"IT'S A POLICE RAID! EVERYBODY FOR THEMSELVES!!" chico_audio_flag = 22 ENDIF IF NOT IS_CHAR_DEAD cop1_fm1 SET_CHAR_OBJ_LEAVE_CAR cop1_fm1 swatvan_fm1 SET_CHAR_HEED_THREATS cop1_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop1_fm1 ENDIF IF NOT IS_CHAR_DEAD cop2_fm1 SET_CHAR_OBJ_LEAVE_CAR cop2_fm1 swatvan_fm1 SET_CHAR_HEED_THREATS cop2_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop2_fm1 ENDIF IF NOT IS_CHAR_DEAD cop3_fm1 SET_CHAR_OBJ_LEAVE_CAR cop3_fm1 swatvan_fm1 SET_CHAR_HEED_THREATS cop3_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop3_fm1 ENDIF IF NOT IS_CHAR_DEAD cop4_fm1 SET_CHAR_OBJ_LEAVE_CAR cop4_fm1 swatvan_fm1 SET_CHAR_HEED_THREATS cop4_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop4_fm1 ENDIF IF NOT IS_CHAR_DEAD doorman2 AND NOT IS_CHAR_DEAD cop1_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT doorman2 cop1_fm1 ENDIF swat1_exit_car = 1 ENDIF ENDIF IF swat2_exit_car = 0 IF LOCATE_STOPPED_CAR_2D swatvan2_fm1 1235.0 -1099.0 18.0 18.0 0 IF chico_audio_flag = 21 IF NOT IS_CHAR_DEAD doorman1 GET_CHAR_COORDINATES doorman1 chico_x chico_y chico_z SET_MISSION_AUDIO_POSITION chico_x chico_y chico_z ELSE MARK_CHAR_AS_NO_LONGER_NEEDED doorman1 IF NOT IS_CHAR_DEAD doorman2 GET_CHAR_COORDINATES doorman2 chico_x chico_y chico_z SET_MISSION_AUDIO_POSITION chico_x chico_y chico_z ELSE MARK_CHAR_AS_NO_LONGER_NEEDED doorman2 ENDIF ENDIF PLAY_MISSION_AUDIO PRINT_NOW FM1_TT 5000 1//"IT'S A POLICE RAID! EVERYBODY FOR THEMSELVES!!" chico_audio_flag = 22 ENDIF IF NOT IS_CHAR_DEAD cop5_fm1 SET_CHAR_OBJ_LEAVE_CAR cop5_fm1 swatvan2_fm1 SET_CHAR_HEED_THREATS cop5_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop5_fm1 ENDIF IF NOT IS_CHAR_DEAD cop6_fm1 SET_CHAR_OBJ_LEAVE_CAR cop6_fm1 swatvan2_fm1 SET_CHAR_HEED_THREATS cop6_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop6_fm1 ENDIF IF NOT IS_CHAR_DEAD cop7_fm1 SET_CHAR_OBJ_LEAVE_CAR cop7_fm1 swatvan2_fm1 SET_CHAR_HEED_THREATS cop7_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop7_fm1 ENDIF IF NOT IS_CHAR_DEAD cop8_fm1 SET_CHAR_OBJ_LEAVE_CAR cop8_fm1 swatvan2_fm1 SET_CHAR_HEED_THREATS cop8_fm1 TRUE ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop8_fm1 ENDIF IF NOT IS_CHAR_DEAD doorman1 AND NOT IS_CHAR_DEAD cop5_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT doorman1 cop5_fm1 ENDIF swat2_exit_car = 1 ENDIF ENDIF ENDWHILE MARK_CAR_AS_NO_LONGER_NEEDED swatvan_fm1 MARK_CAR_AS_NO_LONGER_NEEDED swatvan2_fm1 WHILE NOT IS_CHAR_IN_ANY_CAR maria //frankies_limo WAIT 0 GOSUB draw_disco_lights IF chico_audio_flag = 23 IF HAS_MISSION_AUDIO_LOADED chico_audio_flag = 24 ENDIF ENDIF IF chico_audio_flag = 22 IF HAS_MISSION_AUDIO_FINISHED LOAD_MISSION_AUDIO S1_J chico_audio_flag = 23 ENDIF ENDIF IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF IF NOT IS_CHAR_IN_PLAYERS_GROUP maria player AND flag_blip_on_maria = 0 PRINT_NOW FM1_10 5000 1 //"Hey wait for me!" REMOVE_BLIP fm1_blip ADD_BLIP_FOR_CHAR maria fm1_blip flag_blip_on_maria = 1 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player maria 8.0 8.0 FALSE AND flag_blip_on_maria = 1 SET_PLAYER_AS_LEADER maria player REMOVE_BLIP fm1_blip ADD_BLIP_FOR_COORD 1424.0 -183.5 50.0 fm1_blip flag_blip_on_maria = 0 ENDIF IF flag_blip_on_maria = 0 IF NOT IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 0 REMOVE_BLIP fm1_blip ADD_BLIP_FOR_CAR frankies_limo fm1_blip PRINT_NOW (FM1_1) 5000 1 //"Get back into the limo!" flag_blip_on_limo = 1 ENDIF IF IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 1 REMOVE_BLIP fm1_blip ADD_BLIP_FOR_CHAR maria fm1_blip flag_blip_on_limo = 0 ENDIF ENDIF // IF NOT IS_PLAYER_IN_CAR player frankies_limo // AND flag_blip_on_limo = 0 // REMOVE_BLIP fm1_blip // ADD_BLIP_FOR_CAR frankies_limo fm1_blip // PRINT_NOW (FM1_1) 5000 1 //"Get back into the limo!" // flag_blip_on_limo = 1 // ENDIF // // IF IS_PLAYER_IN_CAR player frankies_limo // AND flag_blip_on_limo = 1 // REMOVE_BLIP fm1_blip // ADD_BLIP_FOR_CHAR maria fm1_blip//COORD 1424.0 -183.5 50.0 fm1_blip // flag_blip_on_limo = 0 // ENDIF IF NOT clubber3_car1 = 3 OR NOT clubber5_car2 = 3 OR NOT clubber8_car3 = 3 GOSUB clubbers_into_cars ENDIF GOSUB police_idle_checks GOSUB clubber_idle_checks ENDWHILE REMOVE_BLIP fm1_blip flag_blip_on_maria = 0 flag_blip_on_limo = 0 ADD_BLIP_FOR_COORD 1424.0 -183.5 50.0 fm1_blip WAIT 0 IF NOT chico_audio_flag = 24 WHILE NOT HAS_MISSION_AUDIO_LOADED WAIT 0 GOSUB draw_disco_lights IF NOT clubber3_car1 = 3 OR NOT clubber5_car2 = 3 OR NOT clubber8_car3 = 3 GOSUB clubbers_into_cars ENDIF GOSUB police_idle_checks GOSUB clubber_idle_checks IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF IF NOT IS_CHAR_IN_PLAYERS_GROUP maria player AND flag_blip_on_maria = 0 PRINT_NOW FM1_10 5000 1 //"Hey wait for me!" REMOVE_BLIP fm1_blip ADD_BLIP_FOR_CHAR maria fm1_blip flag_blip_on_maria = 1 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player maria 8.0 8.0 FALSE AND flag_blip_on_maria = 1 SET_PLAYER_AS_LEADER maria player REMOVE_BLIP fm1_blip ADD_BLIP_FOR_COORD 1424.0 -183.5 50.0 fm1_blip flag_blip_on_maria = 0 ENDIF IF flag_blip_on_maria = 0 IF NOT IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 0 REMOVE_BLIP fm1_blip ADD_BLIP_FOR_CAR frankies_limo fm1_blip PRINT_NOW (FM1_1) 5000 1 //"Get back into the limo!" flag_blip_on_limo = 1 ENDIF IF IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 1 REMOVE_BLIP fm1_blip ADD_BLIP_FOR_COORD 1424.0 -183.5 50.0 fm1_blip flag_blip_on_limo = 0 ENDIF ENDIF GOSUB police_idle_checks GOSUB clubber_idle_checks ENDWHILE chico_audio_flag = 24 ENDIF PLAY_MISSION_AUDIO PRINT_NOW FM1_X 5000 1 //"OK Fido, let's get out of here. YeeEEHAAA" CHANGE_GARAGE_TYPE frankie_garage GARAGE_MISSION_KEEPCAR_REMAINCLOSED IF NOT IS_CAR_DEAD frankies_limo SET_TARGET_CAR_FOR_MISSION_GARAGE frankie_garage frankies_limo ENDIF //WHILE NOT LOCATE_PLAYER_IN_CAR_2D player 1424.0 -183.5 10.0 10.0 0 //WHILE NOT IS_PLAYER_STOPPED_IN_AREA_3D player 1428.8 -187.0 50.0 1442.5 -179.9 53.0 0 WHILE NOT IS_CAR_IN_MISSION_GARAGE frankie_garage WAIT 0 GOSUB draw_disco_lights IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF IS_CAR_DEAD frankies_limo PRINT_NOW WRECKED 5000 1 // "The vehicle is wrecked!" GOTO mission_frankie1_failed ENDIF IF LOCATE_CAR_2D frankies_limo 1424.8 -183.0 20.0 20.0 0 CLEAR_WANTED_LEVEL player ENDIF IF NOT IS_CHAR_IN_PLAYERS_GROUP maria player AND flag_blip_on_maria = 0 PRINT_NOW FM1_10 5000 1 //"Hey wait for me!" REMOVE_BLIP fm1_blip ADD_BLIP_FOR_CHAR maria fm1_blip flag_blip_on_maria = 1 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player maria 8.0 8.0 FALSE AND flag_blip_on_maria = 1 SET_PLAYER_AS_LEADER maria player REMOVE_BLIP fm1_blip ADD_BLIP_FOR_COORD 1424.0 -183.5 50.0 fm1_blip flag_blip_on_limo = 0 flag_blip_on_maria = 0 ENDIF IF flag_blip_on_maria = 0 IF NOT IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 0 REMOVE_BLIP fm1_blip ADD_BLIP_FOR_CAR frankies_limo fm1_blip PRINT_NOW (FM1_1) 5000 1 //"Get back into the limo!" flag_blip_on_limo = 1 ENDIF IF IS_PLAYER_IN_CAR player frankies_limo AND flag_blip_on_limo = 1 REMOVE_BLIP fm1_blip ADD_BLIP_FOR_COORD 1424.0 -183.5 50.0 fm1_blip flag_blip_on_limo = 0 ENDIF ENDIF IF NOT clubber3_car1 = 3 OR NOT clubber5_car2 = 3 OR NOT clubber8_car3 = 3 GOSUB clubbers_into_cars ENDIF GOSUB police_idle_checks GOSUB clubber_idle_checks ENDWHILE CLEAR_WANTED_LEVEL player DO_FADE 500 FADE_OUT WAIT 500 SET_PLAYER_CONTROL player OFF SWITCH_WIDESCREEN ON SET_EVERYONE_IGNORE_PLAYER player TRUE SET_ALL_CARS_CAN_BE_DAMAGED FALSE IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF LEAVE_GROUP maria CLEAR_WANTED_LEVEL player WARP_PLAYER_FROM_CAR_TO_COORD player 1435.7676 -176.4341 52.2953 SET_PLAYER_HEADING player 184.9588 maria_exists = 0 DELETE_CHAR maria CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL2 1435.9358 -178.4347 54.0279 maria maria_exists = 1 SET_CHAR_HEADING maria 184.9134 GET_PLAYER_CHAR player script_controlled_player CLEAR_CHAR_THREAT_SEARCH maria CLEAR_CHAR_THREAT_SEARCH script_controlled_player SET_FIXED_CAMERA_POSITION 1433.4507 -173.6104 55.66595 0.0 0.0 0.0 POINT_CAMERA_AT_CHAR maria FIXED JUMP_CUT SET_CHAR_OBJ_GOTO_COORD_ON_FOOT maria 1436.2628 -180.6451 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT script_controlled_player 1436.2628 -180.6451 DELETE_CAR frankies_limo CLEAR_AREA 1423.9675 -189.2235 49.2032 5.0 FALSE DO_FADE 500 FADE_IN LOAD_MISSION_AUDIO S1_K //camera 1433.4507 -173.6104 56.66595 //point at maria maybe 1433.9979 -174.4381 56.542 //chat //maria goto 1453.5276 -179.3224 //player goto 1443.6184 -188.2894 flag_blip_on_maria = 0 skip_cutscene_flag = 0 WHILE NOT flag_blip_on_maria = 8 WAIT 0 IF IS_CHAR_DEAD maria PRINT_NOW FM1_7 5000 1 // "You failed to protect Maria!" GOTO mission_frankie1_failed ENDIF IF skip_cutscene_flag = 0 IF NOT IS_BUTTON_PRESSED PAD1 CROSS skip_cutscene_flag = 1 ENDIF ENDIF IF skip_cutscene_flag = 1 IF IS_BUTTON_PRESSED PAD1 CROSS skip_cutscene_flag = 2 ENDIF ENDIF IF skip_cutscene_flag = 2 IF NOT IS_BUTTON_PRESSED PAD1 CROSS DO_FADE 0 FADE_OUT WAIT 0 CLEAR_MISSION_AUDIO CLEAR_SMALL_PRINTS SWITCH_WIDESCREEN OFF SET_PLAYER_CONTROL player ON SET_EVERYONE_IGNORE_PLAYER player FALSE SET_ALL_CARS_CAN_BE_DAMAGED TRUE DELETE_CHAR maria SET_PLAYER_COORDINATES player 1443.6184 -188.2894 55.0 SET_PLAYER_HEADING player 180.0 SET_CAMERA_BEHIND_PLAYER RESTORE_CAMERA_JUMPCUT DO_FADE 500 FADE_IN skip_cutscene_flag = 3 GOTO mission_frankie1_passed ENDIF ENDIF IF flag_blip_on_maria = 7 IF LOCATE_PLAYER_ANY_MEANS_2D player 1443.6184 -188.2894 1.0 1.0 0 IF NOT IS_CHAR_ON_SCREEN maria maria_exists = 0 DELETE_CHAR maria flag_blip_on_maria = 8 ENDIF ENDIF ENDIF IF flag_blip_on_maria = 6 IF HAS_MISSION_AUDIO_FINISHED CLEAR_SMALL_PRINTS SET_CHAR_WAIT_STATE maria WAITSTATE_FALSE 100 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT script_controlled_player 1443.6184 -188.2894 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT maria 1453.5276 -179.3224 flag_blip_on_maria = 7 ENDIF ENDIF IF flag_blip_on_maria = 5 IF HAS_MISSION_AUDIO_LOADED GET_CHAR_COORDINATES maria chico_x chico_y chico_z PLAY_MISSION_AUDIO PRINT_NOW FM1_AA 8000 1 //"I'd better go I'll see you around I hope." flag_blip_on_maria = 6 ENDIF ENDIF IF flag_blip_on_maria = 4 IF HAS_MISSION_AUDIO_FINISHED TURN_CHAR_TO_FACE_CHAR script_controlled_player maria TURN_CHAR_TO_FACE_CHAR maria script_controlled_player LOAD_MISSION_AUDIO S1_L flag_blip_on_maria = 5 ENDIF ENDIF IF flag_blip_on_maria = 3 IF HAS_MISSION_AUDIO_LOADED TURN_CHAR_TO_FACE_CHAR script_controlled_player maria TURN_CHAR_TO_FACE_CHAR maria script_controlled_player GET_CHAR_COORDINATES maria chico_x chico_y chico_z PLAY_MISSION_AUDIO PRINT_NOW FM1_Y 8000 1 //"I enjoyed myself for the first time in a long while," SET_CHAR_WAIT_STATE maria WAITSTATE_PLAYANIM_CHAT 20000 flag_blip_on_maria = 4 ENDIF ENDIF IF flag_blip_on_maria = 2 IF LOCATE_STOPPED_CHAR_ON_FOOT_2D maria 1440.5144 -179.1538 1.0 1.0 0 GET_CHAR_HEADING maria swat1_stuck_x swat1_stuck_x -= 3.0 IF swat1_stuck_x < 0.0 swat1_stuck_x = 359.0 ENDIF IF swat1_stuck_x < 180.0 swat1_stuck_x = 180.0 ENDIF SET_CHAR_HEADING maria swat1_stuck_x CHAR_LOOK_AT_PLAYER_ALWAYS maria player IF LOCATE_STOPPED_PLAYER_ON_FOOT_2D player 1440.6287 -181.4022 1.0 1.0 0 STOP_CHAR_LOOKING maria SET_FIXED_CAMERA_POSITION 1442.1001 -173.1516 55.8166 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 1441.78 -174.0602 55.6919 JUMP_CUT SET_PLAYER_HEADING player 0.0 TURN_CHAR_TO_FACE_CHAR script_controlled_player maria TURN_PLAYER_TO_FACE_CHAR player maria TURN_CHAR_TO_FACE_CHAR maria script_controlled_player flag_blip_on_maria = 3 ENDIF ENDIF ENDIF IF flag_blip_on_maria = 1 IF LOCATE_PLAYER_ON_FOOT_2D player 1436.2628 -180.6451 1.0 1.0 0 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT script_controlled_player 1440.6287 -181.4022 flag_blip_on_maria = 2 ENDIF ENDIF IF flag_blip_on_maria = 0 IF LOCATE_CHAR_ON_FOOT_2D maria 1436.2628 -180.6451 1.0 1.0 0 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT maria 1440.5144 -179.1538 flag_blip_on_maria = 1 ENDIF ENDIF ENDWHILE SET_CAMERA_BEHIND_PLAYER RESTORE_CAMERA_JUMPCUT SWITCH_WIDESCREEN OFF SET_PLAYER_CONTROL player ON SET_EVERYONE_IGNORE_PLAYER player FALSE SET_ALL_CARS_CAN_BE_DAMAGED TRUE GOTO mission_frankie1_passed } // Mission Frankie1 failed mission_frankie1_failed: PRINT_BIG ( m_fail ) 5000 1 RETURN // mission Frankie1 passed mission_frankie1_passed: flag_frankie_mission1_passed = 1 IF flag_luigi_mission4_terminated = 1 START_NEW_SCRIPT luigi_mission4_loop REMOVE_BLIP luigi_contact_blip ADD_SPRITE_BLIP_FOR_CONTACT_POINT 892.8 -425.8 13.9 RADAR_SPRITE_LUIGI luigi_contact_blip // ADD_SPRITE_BLIP_FOR_CONTACT_POINT 886.2 -417.1 -100.0 RADAR_SPRITE_LUIGI luigi_contact_blip ENDIF IF flag_luigi_mission5_terminated = 1 START_NEW_SCRIPT luigi_mission5_loop REMOVE_BLIP luigi_contact_blip ADD_SPRITE_BLIP_FOR_CONTACT_POINT 886.2 -417.1 -100.0 RADAR_SPRITE_LUIGI luigi_contact_blip ENDIF IF flag_joey_mission5_terminated = 1 START_NEW_SCRIPT joey_mission5_loop REMOVE_BLIP joey_contact_blip ADD_SPRITE_BLIP_FOR_CONTACT_POINT 1191.7 -870.0 -100.0 RADAR_SPRITE_JOEY joey_contact_blip ENDIF IF flag_joey_mission6_terminated = 1 START_NEW_SCRIPT joey_mission6_loop REMOVE_BLIP joey_contact_blip ADD_SPRITE_BLIP_FOR_CONTACT_POINT 1191.7 -870.0 -100.0 RADAR_SPRITE_JOEY joey_contact_blip ENDIF PRINT_WITH_NUMBER_BIG m_pass 10000 5000 1 ADD_SCORE player 10000 CLEAR_WANTED_LEVEL player PLAY_MISSION_PASSED_TUNE 1 REGISTER_MISSION_PASSED FM1 PLAYER_MADE_PROGRESS 1 ADD_SPRITE_BLIP_FOR_CONTACT_POINT 1219.6 -321.0 26.4 RADAR_SPRITE_TONY toni_contact_blip START_NEW_SCRIPT toni_mission4_loop START_NEW_SCRIPT frankie_mission2_loop START_NEW_SCRIPT imp_exp_pager RETURN // mission cleanup mission_cleanup_frankie1: flag_player_on_mission = 0 flag_player_on_frankie_mission = 0 RESTORE_CAMERA_JUMPCUT SWITCH_WIDESCREEN OFF SET_PLAYER_CONTROL player ON IF add_sound_flag = 1 REMOVE_SOUND warehouse_rave_loop ENDIF REMOVE_PARTICLE_EFFECTS_IN_AREA 1264.0 -1111.0 5.0 1275.0 -1103.0 15.0 MARK_MODEL_AS_NO_LONGER_NEEDED PED_CRIMINAL1 MARK_MODEL_AS_NO_LONGER_NEEDED CAR_STRETCH MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_MAFIA_A MARK_MODEL_AS_NO_LONGER_NEEDED CAR_SENTINEL MARK_MODEL_AS_NO_LONGER_NEEDED CAR_CHEETAH MARK_MODEL_AS_NO_LONGER_NEEDED CAR_MANANA MARK_MODEL_AS_NO_LONGER_NEEDED CAR_ENFORCER MARK_MODEL_AS_NO_LONGER_NEEDED PED_SWAT MARK_MODEL_AS_NO_LONGER_NEEDED PED_P_MAN1 MARK_MODEL_AS_NO_LONGER_NEEDED PED_FEMALE1 MARK_MODEL_AS_NO_LONGER_NEEDED PED_FEMALE2 REMOVE_BLIP fm1_blip CHANGE_GARAGE_TYPE frankie_garage GARAGE_MISSION_KEEPCAR SET_TARGET_CAR_FOR_MISSION_GARAGE frankie_garage -1 UNLOAD_SPECIAL_CHARACTER 1 UNLOAD_SPECIAL_CHARACTER 2 MISSION_HAS_FINISHED RETURN ///////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////// Functions /////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////// clubbers_into_cars:////////////////////////////////////////////////////////////////////////////////// IF clubbers_flee_flag > 2 IF clubber3_car1 = 1 IF NOT IS_CHAR_DEAD clubber3_fm1 IF LOCATE_CHAR_ON_FOOT_2D clubber3_fm1 outside_warehouse_x outside_warehouse_y 3.0 3.0 0 IF IS_CAR_STILL_ALIVE parked_car1 IF LOCATE_CAR_2D parked_car1 1243.0 -1112.0 8.0 8.0 0 SET_CHAR_OBJ_ENTER_CAR_AS_DRIVER clubber3_fm1 parked_car1 clubber3_car1 = 2 ELSE SET_CHAR_HEED_THREATS clubber3_fm1 TRUE MARK_CAR_AS_NO_LONGER_NEEDED parked_car1 MARK_CHAR_AS_NO_LONGER_NEEDED clubber3_fm1 clubber3_car1 = 3 ENDIF ELSE SET_CHAR_HEED_THREATS clubber3_fm1 TRUE MARK_CAR_AS_NO_LONGER_NEEDED parked_car1 MARK_CHAR_AS_NO_LONGER_NEEDED clubber3_fm1 clubber3_car1 = 3 ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber3_fm1 MARK_CAR_AS_NO_LONGER_NEEDED parked_car1 clubber3_car1 = 3 ENDIF ENDIF IF clubber3_car1 = 2 IF NOT IS_CHAR_DEAD clubber3_fm1 IF NOT IS_CAR_DEAD parked_car1 IF IS_CHAR_IN_CAR clubber3_fm1 parked_car1 SET_CAR_DRIVING_STYLE parked_car1 2 SET_CAR_CRUISE_SPEED parked_car1 100.0 CAR_WANDER_RANDOMLY parked_car1 SET_CAR_AVOID_LEVEL_TRANSITIONS parked_car1 TRUE MARK_CAR_AS_NO_LONGER_NEEDED parked_car1 // MARK_CHAR_AS_NO_LONGER_NEEDED clubber3_fm1 clubber3_car1 = 3 ENDIF ELSE SET_CHAR_HEED_THREATS clubber3_fm1 TRUE MARK_CHAR_AS_NO_LONGER_NEEDED clubber3_fm1 MARK_CAR_AS_NO_LONGER_NEEDED parked_car1 clubber3_car1 = 3 ENDIF ELSE MARK_CAR_AS_NO_LONGER_NEEDED parked_car1 MARK_CHAR_AS_NO_LONGER_NEEDED clubber3_fm1 clubber3_car1 = 3 ENDIF ENDIF ENDIF IF clubbers_flee_flag > 4 IF clubber5_car2 = 1 IF NOT IS_CHAR_DEAD clubber5_fm1 IF LOCATE_CHAR_ON_FOOT_2D clubber5_fm1 outside_warehouse_x outside_warehouse_y 3.0 3.0 0 IF IS_CAR_STILL_ALIVE parked_car2 IF LOCATE_CAR_2D parked_car2 1243.0 -1112.0 8.0 8.0 0 SET_CHAR_OBJ_ENTER_CAR_AS_DRIVER clubber5_fm1 parked_car2 clubber5_car2 = 2 ELSE SET_CHAR_HEED_THREATS clubber5_fm1 TRUE MARK_CHAR_AS_NO_LONGER_NEEDED clubber5_fm1 MARK_CAR_AS_NO_LONGER_NEEDED parked_car2 clubber5_car2 = 3 ENDIF ELSE SET_CHAR_HEED_THREATS clubber5_fm1 TRUE MARK_CHAR_AS_NO_LONGER_NEEDED clubber5_fm1 MARK_CAR_AS_NO_LONGER_NEEDED parked_car2 clubber5_car2 = 3 ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber5_fm1 MARK_CAR_AS_NO_LONGER_NEEDED parked_car2 clubber5_car2 = 3 ENDIF ENDIF IF clubber5_car2 = 2 IF NOT IS_CHAR_DEAD clubber5_fm1 IF NOT IS_CAR_DEAD parked_car2 IF IS_CHAR_IN_CAR clubber5_fm1 parked_car2 SET_CAR_DRIVING_STYLE parked_car2 2 SET_CAR_CRUISE_SPEED parked_car2 100.0 CAR_WANDER_RANDOMLY parked_car2 SET_CAR_AVOID_LEVEL_TRANSITIONS parked_car2 TRUE MARK_CAR_AS_NO_LONGER_NEEDED parked_car2 // MARK_CHAR_AS_NO_LONGER_NEEDED clubber5_fm1 clubber5_car2 = 3 ENDIF ELSE SET_CHAR_HEED_THREATS clubber5_fm1 TRUE MARK_CAR_AS_NO_LONGER_NEEDED parked_car2 MARK_CHAR_AS_NO_LONGER_NEEDED clubber5_fm1 clubber5_car2 = 3 ENDIF ELSE MARK_CAR_AS_NO_LONGER_NEEDED parked_car2 MARK_CHAR_AS_NO_LONGER_NEEDED clubber5_fm1 clubber5_car2 = 3 ENDIF ENDIF ENDIF IF clubbers_flee_flag > 7 IF clubber8_car3 = 1 IF NOT IS_CHAR_DEAD clubber8_fm1 IF LOCATE_CHAR_ON_FOOT_2D clubber8_fm1 outside_warehouse_x outside_warehouse_y 3.0 3.0 0 IF IS_CAR_STILL_ALIVE parked_car3 IF LOCATE_CAR_2D parked_car3 1243.0 -1112.0 8.0 8.0 0 SET_CHAR_OBJ_ENTER_CAR_AS_DRIVER clubber8_fm1 parked_car3 clubber8_car3 = 2 ELSE SET_CHAR_HEED_THREATS clubber8_fm1 TRUE MARK_CHAR_AS_NO_LONGER_NEEDED clubber8_fm1 MARK_CAR_AS_NO_LONGER_NEEDED parked_car3 clubber8_car3 = 3 ENDIF ELSE SET_CHAR_HEED_THREATS clubber8_fm1 TRUE MARK_CHAR_AS_NO_LONGER_NEEDED clubber8_fm1 MARK_CAR_AS_NO_LONGER_NEEDED parked_car3 clubber8_car3 = 3 ENDIF ENDIF ELSE MARK_CAR_AS_NO_LONGER_NEEDED parked_car3 MARK_CHAR_AS_NO_LONGER_NEEDED clubber8_fm1 clubber8_car3 = 3 ENDIF ENDIF IF clubber8_car3 = 2 IF NOT IS_CHAR_DEAD clubber8_fm1 IF NOT IS_CAR_DEAD parked_car3 IF IS_CHAR_IN_CAR clubber8_fm1 parked_car3 SET_CAR_DRIVING_STYLE parked_car3 2 SET_CAR_CRUISE_SPEED parked_car3 100.0 CAR_WANDER_RANDOMLY parked_car3 SET_CAR_AVOID_LEVEL_TRANSITIONS parked_car3 TRUE MARK_CAR_AS_NO_LONGER_NEEDED parked_car3 // MARK_CHAR_AS_NO_LONGER_NEEDED clubber8_fm1 clubber8_car3 = 3 ENDIF ELSE SET_CHAR_HEED_THREATS clubber8_fm1 TRUE MARK_CHAR_AS_NO_LONGER_NEEDED clubber8_fm1 MARK_CAR_AS_NO_LONGER_NEEDED parked_car3 clubber8_car3 = 3 ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber8_fm1 MARK_CAR_AS_NO_LONGER_NEEDED parked_car3 clubber8_car3 = 3 ENDIF ENDIF ENDIF RETURN clubber_idle_checks:////////////////////////////////////////////////////////////////////////////////// IF IS_CHAR_DEAD cop1_fm1 AND IS_CHAR_DEAD cop2_fm1 AND IS_CHAR_DEAD cop3_fm1 AND IS_CHAR_DEAD cop4_fm1 AND IS_CHAR_DEAD cop5_fm1 AND IS_CHAR_DEAD cop6_fm1 IF IS_CHAR_DEAD cop7_fm1 AND IS_CHAR_DEAD cop8_fm1 IF NOT IS_CHAR_DEAD clubber1_fm1 SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS clubber1_fm1 player MARK_CHAR_AS_NO_LONGER_NEEDED clubber1_fm1 ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber1_fm1 ENDIF IF NOT IS_CHAR_DEAD clubber2_fm1 CHAR_WANDER_DIR clubber2_fm1 -1 MARK_CHAR_AS_NO_LONGER_NEEDED clubber2_fm1 ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber2_fm1 ENDIF IF NOT IS_CHAR_DEAD clubber4_fm1 SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS clubber4_fm1 player MARK_CHAR_AS_NO_LONGER_NEEDED clubber4_fm1 ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber4_fm1 ENDIF IF NOT IS_CHAR_DEAD clubber6_fm1 CHAR_WANDER_DIR clubber6_fm1 -1 MARK_CHAR_AS_NO_LONGER_NEEDED clubber6_fm1 ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber6_fm1 ENDIF IF NOT IS_CHAR_DEAD clubber7_fm1 SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS clubber7_fm1 player MARK_CHAR_AS_NO_LONGER_NEEDED clubber7_fm1 ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber7_fm1 ENDIF ELSE IF NOT IS_CHAR_DEAD clubber1_fm1 IF IS_CHAR_STOPPED clubber1_fm1 IF NOT IS_CHAR_SHOOTING clubber1_fm1 CHAR_WANDER_DIR clubber1_fm1 -1 ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber1_fm1 ENDIF IF NOT IS_CHAR_DEAD clubber2_fm1 IF IS_CHAR_STOPPED clubber2_fm1 IF NOT IS_CHAR_SHOOTING clubber2_fm1 SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS clubber2_fm1 player ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber2_fm1 ENDIF IF NOT IS_CHAR_DEAD clubber4_fm1 IF IS_CHAR_STOPPED clubber4_fm1 IF NOT IS_CHAR_SHOOTING clubber4_fm1 CHAR_WANDER_DIR clubber4_fm1 -1 ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber4_fm1 ENDIF IF NOT IS_CHAR_DEAD clubber6_fm1 IF IS_CHAR_STOPPED clubber6_fm1 IF NOT IS_CHAR_SHOOTING clubber6_fm1 SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS clubber6_fm1 player ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber6_fm1 ENDIF IF NOT IS_CHAR_DEAD clubber7_fm1 IF IS_CHAR_STOPPED clubber7_fm1 IF NOT IS_CHAR_SHOOTING clubber7_fm1 CHAR_WANDER_DIR clubber7_fm1 -1 ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber7_fm1 ENDIF ENDIF ELSE IF NOT IS_CHAR_DEAD clubber1_fm1 IF IS_CHAR_STOPPED clubber1_fm1 IF NOT IS_CHAR_SHOOTING clubber1_fm1 CHAR_WANDER_DIR clubber1_fm1 -1 ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber1_fm1 ENDIF IF NOT IS_CHAR_DEAD clubber2_fm1 IF IS_CHAR_STOPPED clubber2_fm1 IF NOT IS_CHAR_SHOOTING clubber2_fm1 SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS clubber2_fm1 player ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber2_fm1 ENDIF IF NOT IS_CHAR_DEAD clubber4_fm1 IF IS_CHAR_STOPPED clubber4_fm1 IF NOT IS_CHAR_SHOOTING clubber4_fm1 CHAR_WANDER_DIR clubber4_fm1 -1 ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber4_fm1 ENDIF IF NOT IS_CHAR_DEAD clubber6_fm1 IF IS_CHAR_STOPPED clubber6_fm1 IF NOT IS_CHAR_SHOOTING clubber6_fm1 SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS clubber6_fm1 player ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber6_fm1 ENDIF IF NOT IS_CHAR_DEAD clubber7_fm1 IF IS_CHAR_STOPPED clubber7_fm1 IF NOT IS_CHAR_SHOOTING clubber7_fm1 CHAR_WANDER_DIR clubber7_fm1 -1 ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED clubber7_fm1 ENDIF ENDIF RETURN police_idle_checks://///////////////////////////////////////////////////////////////////////////////// IF NOT IS_CHAR_DEAD cop1_fm1 SET_CHAR_SAY cop1_fm1 SOUND_SWAT_PED_SHOUT IF IS_CHAR_STOPPED cop1_fm1 IF NOT IS_CHAR_SHOOTING cop1_fm1 IF NOT IS_CHAR_DEAD clubber1_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop1_fm1 clubber1_fm1 ELSE IF NOT IS_CHAR_DEAD clubber2_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop1_fm1 clubber2_fm1 ELSE IF NOT IS_CHAR_DEAD clubber4_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop1_fm1 clubber4_fm1 ELSE IF NOT IS_CHAR_DEAD clubber6_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop1_fm1 clubber6_fm1 ELSE IF NOT IS_CHAR_DEAD clubber7_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop1_fm1 clubber7_fm1 ELSE SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cop1_fm1 player MARK_CHAR_AS_NO_LONGER_NEEDED cop1_fm1 ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop1_fm1 ENDIF IF NOT IS_CHAR_DEAD cop2_fm1 SET_CHAR_SAY cop2_fm1 SOUND_SWAT_PED_SHOUT IF IS_CHAR_STOPPED cop2_fm1 IF NOT IS_CHAR_SHOOTING cop2_fm1 IF NOT IS_CHAR_DEAD clubber7_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop2_fm1 clubber7_fm1 ELSE IF NOT IS_CHAR_DEAD clubber4_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop2_fm1 clubber4_fm1 ELSE IF NOT IS_CHAR_DEAD clubber6_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop2_fm1 clubber6_fm1 ELSE IF NOT IS_CHAR_DEAD clubber2_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop2_fm1 clubber2_fm1 ELSE IF NOT IS_CHAR_DEAD clubber1_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop2_fm1 clubber1_fm1 ELSE SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cop2_fm1 player MARK_CHAR_AS_NO_LONGER_NEEDED cop2_fm1 ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop2_fm1 ENDIF IF NOT IS_CHAR_DEAD cop3_fm1 SET_CHAR_SAY cop3_fm1 SOUND_SWAT_PED_SHOUT IF IS_CHAR_STOPPED cop3_fm1 IF NOT IS_CHAR_SHOOTING cop3_fm1 IF NOT IS_CHAR_DEAD clubber7_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop3_fm1 clubber7_fm1 ELSE IF NOT IS_CHAR_DEAD clubber4_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop3_fm1 clubber4_fm1 ELSE IF NOT IS_CHAR_DEAD clubber6_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop3_fm1 clubber6_fm1 ELSE IF NOT IS_CHAR_DEAD clubber2_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop3_fm1 clubber2_fm1 ELSE IF NOT IS_CHAR_DEAD clubber1_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop3_fm1 clubber1_fm1 ELSE SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cop3_fm1 player MARK_CHAR_AS_NO_LONGER_NEEDED cop3_fm1 ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop3_fm1 ENDIF IF NOT IS_CHAR_DEAD cop4_fm1 SET_CHAR_SAY cop4_fm1 SOUND_SWAT_PED_SHOUT IF IS_CHAR_STOPPED cop4_fm1 IF NOT IS_CHAR_SHOOTING cop4_fm1 IF NOT IS_CHAR_DEAD clubber4_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop4_fm1 clubber4_fm1 ELSE IF NOT IS_CHAR_DEAD clubber7_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop4_fm1 clubber7_fm1 ELSE IF NOT IS_CHAR_DEAD clubber2_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop4_fm1 clubber2_fm1 ELSE IF NOT IS_CHAR_DEAD clubber6_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop4_fm1 clubber6_fm1 ELSE IF NOT IS_CHAR_DEAD clubber1_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop4_fm1 clubber1_fm1 ELSE SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cop4_fm1 player MARK_CHAR_AS_NO_LONGER_NEEDED cop4_fm1 ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop4_fm1 ENDIF IF NOT IS_CHAR_DEAD cop5_fm1 SET_CHAR_SAY cop5_fm1 SOUND_SWAT_PED_SHOUT IF IS_CHAR_STOPPED cop5_fm1 IF NOT IS_CHAR_SHOOTING cop5_fm1 IF NOT IS_CHAR_DEAD clubber4_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop5_fm1 clubber4_fm1 ELSE IF NOT IS_CHAR_DEAD clubber7_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop5_fm1 clubber7_fm1 ELSE IF NOT IS_CHAR_DEAD clubber2_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop5_fm1 clubber2_fm1 ELSE IF NOT IS_CHAR_DEAD clubber6_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop5_fm1 clubber6_fm1 ELSE IF NOT IS_CHAR_DEAD clubber1_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop5_fm1 clubber1_fm1 ELSE SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cop5_fm1 player MARK_CHAR_AS_NO_LONGER_NEEDED cop5_fm1 ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop5_fm1 ENDIF IF NOT IS_CHAR_DEAD cop6_fm1 SET_CHAR_SAY cop6_fm1 SOUND_SWAT_PED_SHOUT IF IS_CHAR_STOPPED cop6_fm1 IF NOT IS_CHAR_SHOOTING cop6_fm1 IF NOT IS_CHAR_DEAD clubber4_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop6_fm1 clubber4_fm1 ELSE IF NOT IS_CHAR_DEAD clubber1_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop6_fm1 clubber1_fm1 ELSE IF NOT IS_CHAR_DEAD clubber2_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop6_fm1 clubber2_fm1 ELSE IF NOT IS_CHAR_DEAD clubber7_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop6_fm1 clubber7_fm1 ELSE IF NOT IS_CHAR_DEAD clubber6_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop6_fm1 clubber6_fm1 ELSE SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cop6_fm1 player MARK_CHAR_AS_NO_LONGER_NEEDED cop6_fm1 ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop6_fm1 ENDIF IF NOT IS_CHAR_DEAD cop7_fm1 SET_CHAR_SAY cop7_fm1 SOUND_SWAT_PED_SHOUT IF IS_CHAR_STOPPED cop7_fm1 IF NOT IS_CHAR_SHOOTING cop7_fm1 IF NOT IS_CHAR_DEAD clubber4_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop7_fm1 clubber4_fm1 ELSE IF NOT IS_CHAR_DEAD clubber1_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop7_fm1 clubber1_fm1 ELSE IF NOT IS_CHAR_DEAD clubber2_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop7_fm1 clubber2_fm1 ELSE IF NOT IS_CHAR_DEAD clubber7_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop7_fm1 clubber7_fm1 ELSE IF NOT IS_CHAR_DEAD clubber6_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop7_fm1 clubber6_fm1 ELSE SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cop7_fm1 player MARK_CHAR_AS_NO_LONGER_NEEDED cop7_fm1 ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop7_fm1 ENDIF IF NOT IS_CHAR_DEAD cop8_fm1 SET_CHAR_SAY cop8_fm1 SOUND_SWAT_PED_SHOUT IF IS_CHAR_STOPPED cop8_fm1 IF NOT IS_CHAR_SHOOTING cop8_fm1 IF NOT IS_CHAR_DEAD clubber6_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop8_fm1 clubber6_fm1 ELSE IF NOT IS_CHAR_DEAD clubber1_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop8_fm1 clubber1_fm1 ELSE IF NOT IS_CHAR_DEAD clubber2_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop8_fm1 clubber2_fm1 ELSE IF NOT IS_CHAR_DEAD clubber7_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop8_fm1 clubber7_fm1 ELSE IF NOT IS_CHAR_DEAD clubber4_fm1 SET_CHAR_OBJ_KILL_CHAR_ON_FOOT cop8_fm1 clubber4_fm1 ELSE SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cop8_fm1 player MARK_CHAR_AS_NO_LONGER_NEEDED cop8_fm1 ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ELSE MARK_CHAR_AS_NO_LONGER_NEEDED cop8_fm1 ENDIF RETURN draw_disco_lights://///////////////////////////////////////////////////////////////////////////////// ++ shadow_counter IF shadow_counter > 28 AND shadow_counter < 32 DRAW_SHADOW SHADOW_EXPLOSION 1272.5963 -1107.4248 12.0 30.0 0.8 0 R G 0 // ShadowType X Y Z Rotation Scale Transparency Red Green Blue DRAW_LIGHT 1272.45 -1107.6 13.1 R G 0 ELSE GENERATE_RANDOM_INT_IN_RANGE 0 101 G GENERATE_RANDOM_INT_IN_RANGE 0 101 R ENDIF IF shadow_counter > 15 AND shadow_counter < 20 DRAW_SHADOW SHADOW_EXPLOSION 1270.9584 -1107.6783 12.0 0.0 1.2 0 R1 G1 0 // ShadowType X Y Z Rotation Scale Transparency Red Green Blue DRAW_LIGHT 1272.45 -1107.18 13.1 R1 G1 0 ELSE GENERATE_RANDOM_INT_IN_RANGE 0 101 G1 GENERATE_RANDOM_INT_IN_RANGE 0 101 R1 ENDIF IF shadow_counter > 20 AND shadow_counter < 40 DRAW_SHADOW SHADOW_EXPLOSION 1273.3 -1107.0 12.0 80.0 1.0 0 R2 G2 0 // ShadowType X Y Z Rotation Scale Transparency Red Green Blue DRAW_LIGHT 1272.45 -1107.6 12.8 R2 G2 0 ELSE GENERATE_RANDOM_INT_IN_RANGE 0 101 G2 GENERATE_RANDOM_INT_IN_RANGE 0 101 R2 ENDIF IF shadow_counter > 18 AND shadow_counter < 40 DRAW_SHADOW SHADOW_EXPLOSION 1273.3 -1107.7 12.0 140.0 0.8 0 R3 G3 0 // ShadowType X Y Z Rotation Scale Transparency Red Green Blue DRAW_LIGHT 1272.45 -1107.18 12.8 R3 G3 0 ELSE GENERATE_RANDOM_INT_IN_RANGE 0 101 G3 GENERATE_RANDOM_INT_IN_RANGE 0 101 R3 ENDIF IF shadow_counter > 5 AND shadow_counter < 14 DRAW_SHADOW SHADOW_EXPLOSION 1271.4812 -1108.0588 12.0 235.0 1.1 0 R4 G4 0 // ShadowType X Y Z Rotation Scale Transparency Red Green Blue DRAW_LIGHT 1272.45 -1107.6 12.5 R4 G4 0 ELSE GENERATE_RANDOM_INT_IN_RANGE 0 101 G4 GENERATE_RANDOM_INT_IN_RANGE 0 101 R4 ENDIF IF shadow_counter > 9 AND shadow_counter < 26 DRAW_SHADOW SHADOW_EXPLOSION 1271.5570 -1107.0217 12.0 325.0 1.8 0 R5 G5 0 // ShadowType X Y Z Rotation Scale Transparency Red Green Blue DRAW_LIGHT 1272.45 -1107.18 12.5 R5 G5 0 ELSE GENERATE_RANDOM_INT_IN_RANGE 0 101 G5 GENERATE_RANDOM_INT_IN_RANGE 0 101 R5 ENDIF IF shadow_counter = 40 OR shadow_counter > 40 shadow_counter = 0 ENDIF RETURN delete_char_maria: DELETE_CHAR maria RETURN
frank2
MISSION_START // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** // ***********************************Frankie Mission 2************************************* // **********************************"Cuttin' The Grass"************************************ // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** SCRIPT_NAME frank2 // Mission start stuff GOSUB mission_start_frankie2 IF HAS_DEATHARREST_BEEN_EXECUTED GOSUB mission_frankie2_failed ENDIF GOSUB mission_cleanup_frankie2 MISSION_END // Variables for mission VAR_INT curley_bob_fm2 VAR_INT hours_fm2 VAR_INT minutes_fm2 VAR_INT hours_stuff_happen_fm2 VAR_INT mission_taxi_fm2 VAR_INT radar_blip_coord2_fm2 VAR_INT radar_blip_coord3_fm2 VAR_INT car_fm2 VAR_INT van_driver_fm2 VAR_INT radar_blip_coord1_fm2 VAR_INT radar_blip_ped1_fm2 VAR_INT radar_blip_car1_fm2 VAR_INT columbian_fm2 VAR_INT radar_blip_ped2_fm2 VAR_INT flag_player_too_far_message_fm2 VAR_INT minutes_stuff_happen_fm2 VAR_INT flag_player_got_car_message_fm2 VAR_INT flag_player_got_cops_message_fm2 VAR_INT time_car_stopped_fm2 VAR_INT current_time_fm2 VAR_INT flag_car_has_just_stopped VAR_INT timer_difference VAR_INT flag_taxi1_exit_car_fm2 VAR_INT flag_taxi2_exit_car_fm2 VAR_INT flag_car_fm2_created VAR_INT flag_mission_taxi_fm2_created VAR_INT flag_no_longer_mad VAR_INT flag_curley_at_point1_fm2 VAR_INT flag_curley_at_point2_fm2 VAR_INT flag_curley_bob_fm2_dead VAR_INT flag_bob_in_position_one VAR_INT flag_bob_in_position_two VAR_INT flag_bob_in_position_three VAR_INT baddie_car_fm2 VAR_INT radar_blip_car2_fm2 VAR_INT flag_curley_bob_dead_fm2 VAR_INT car_health_fm2 VAR_INT flag_car_fm2_dead VAR_FLOAT car_fm2_x VAR_FLOAT car_fm2_y VAR_FLOAT car_fm2_z VAR_INT radar_blip_club_fm2 VAR_INT flag_curly_mad_fm2 VAR_INT spooked_counter VAR_INT spooked_check VAR_INT flag_player_had_warning1_fm2 VAR_INT flag_player_had_warning2_fm2 VAR_INT flag_curly_moved_fm2 // Moves curly if he gets stuck // ****************************************Start Mission************************************ mission_start_frankie2: flag_player_on_mission = 1 flag_player_on_frankie_mission = 1 REGISTER_MISSION_GIVEN WAIT 0 hours_fm2 = 0 minutes_fm2 = 0 hours_stuff_happen_fm2 = 0 minutes_stuff_happen_fm2 = 0 flag_player_got_car_message_fm2 = 0 flag_player_got_cops_message_fm2 = 0 time_car_stopped_fm2 = 0 flag_car_has_just_stopped = 0 timer_difference = 0 flag_taxi1_exit_car_fm2 = 0 flag_taxi2_exit_car_fm2 = 0 flag_car_fm2_created = 0 flag_mission_taxi_fm2_created = 0 flag_no_longer_mad = 0 flag_curley_at_point1_fm2 = 0 flag_curley_at_point2_fm2 = 0 flag_curley_bob_fm2_dead = 0 flag_bob_in_position_one = 0 flag_bob_in_position_two = 0 flag_bob_in_position_three = 0 flag_curley_bob_dead_fm2 = 0 car_health_fm2 = 0 blob_flag = 1 flag_car_fm2_dead = 0 car_fm2_x = 0.0 car_fm2_y = 0.0 car_fm2_z = 0.0 flag_curly_mad_fm2 = 0 spooked_counter = 0 spooked_check = 0 flag_player_had_warning1_fm2 = 0 flag_player_had_warning2_fm2 = 0 flag_curly_moved_fm2 = 0 //moves curly if he gets stuck // ******************************************START OF CUTSCENE****************************** /* IF CAN_PLAYER_START_MISSION player MAKE_PLAYER_SAFE_FOR_CUTSCENE player ELSE GOTO mission_frankie2_failed ENDIF SET_FADING_COLOUR 0 0 0 DO_FADE 1500 FADE_OUT PRINT_BIG ( FM2 ) 15000 2 //"Cuttin' The Grass" SWITCH_STREAMING OFF */ LOAD_SPECIAL_CHARACTER 1 FRANKIE REQUEST_MODEL PED_GANG_MAFIA_B LOAD_SPECIAL_MODEL cut_obj1 FRANKH //LOAD_SPECIAL_MODEL cut_obj2 PLAYERH REQUEST_MODEL franksclb02 REQUEST_MODEL salvsdetail REQUEST_MODEL swank_inside /* WHILE GET_FADING_STATUS WAIT 0 ENDWHILE */ LOAD_ALL_MODELS_NOW // Cutscene stuff WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1 OR NOT HAS_MODEL_LOADED PED_GANG_MAFIA_B OR NOT HAS_MODEL_LOADED cut_obj1 //OR NOT HAS_MODEL_LOADED cut_obj2 WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED franksclb02 OR NOT HAS_MODEL_LOADED salvsdetail OR NOT HAS_MODEL_LOADED swank_inside WAIT 0 ENDWHILE LOAD_CUTSCENE s2_ctg SET_CUTSCENE_OFFSET 1457.776 -185.348 54.925 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_frankie SET_CUTSCENE_ANIM cs_frankie frankie CREATE_CUTSCENE_HEAD cs_frankie CUT_OBJ1 cs_frankiehead SET_CUTSCENE_HEAD_ANIM cs_frankiehead frank //CREATE_CUTSCENE_HEAD cs_player CUT_OBJ2 cs_playerhead //SET_CUTSCENE_HEAD_ANIM cs_playerhead player CREATE_CUTSCENE_OBJECT PED_GANG_MAFIA_B cs_mafia SET_CUTSCENE_ANIM cs_mafia gang02 CLEAR_AREA 1455.1 -187.8 -100.0 1.0 TRUE SET_PLAYER_COORDINATES player 1455.1 -187.8 -100.0 SET_PLAYER_HEADING player 180.0 DO_FADE 1500 FADE_IN SWITCH_RUBBISH OFF SWITCH_STREAMING ON START_CUTSCENE // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time < 1726 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_J ) 10000 1 //"Leave us alone for a minute," WHILE cs_time < 2910 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_THIS_PRINT ( FM2_J ) WHILE cs_time < 4558 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_A ) 10000 1 //"The Colombian Cartel is making SPANK somewhere in Liberty. WHILE cs_time < 7896 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_K ) 10000 1 //"But we don't know where, and they seem to know everything we're doin' before we do." WHILE cs_time < 13257 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_B ) 10000 1 //"We got us a rat." WHILE cs_time < 15103 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_L ) 10000 1 //"There is a guy named Curly Bob works the bar at Luigi's. WHILE cs_time < 18415 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_M ) 10000 1 //"He's been throwing more money around than he's earning." WHILE cs_time < 21238 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_C ) 10000 1 //"He ain't pimping or pushing so he must be talking." WHILE cs_time < 25040 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_N ) 10000 1 //"He usually gets a taxi home after work. So follow him." WHILE cs_time < 28251 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_O ) 10000 1 //"And if he's rattin' us out...kill him." WHILE cs_time < 30960 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_THIS_PRINT ( FM2_O ) WHILE cs_time < 38333 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE DO_FADE 1500 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CLEAR_CUTSCENE SWITCH_RUBBISH ON SET_CAMERA_BEHIND_PLAYER WAIT 500 DO_FADE 1500 FADE_IN //SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor TRUE UNLOAD_SPECIAL_CHARACTER 1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_MAFIA_B //MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 MARK_MODEL_AS_NO_LONGER_NEEDED franksclb02 MARK_MODEL_AS_NO_LONGER_NEEDED salvsdetail MARK_MODEL_AS_NO_LONGER_NEEDED swank_inside // *******************************************END OF CUTSCENE******************************* LOAD_SPECIAL_CHARACTER 2 curly REQUEST_MODEL CAR_TAXI REQUEST_MODEL PED_TAXI_DRIVER WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 2 OR NOT HAS_MODEL_LOADED CAR_TAXI OR NOT HAS_MODEL_LOADED PED_TAXI_DRIVER WAIT 0 ENDWHILE WHILE GET_FADING_STATUS WAIT 0 ENDWHILE SETUP_ZONE_PED_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0 SETUP_ZONE_PED_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0 SETUP_ZONE_CAR_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SETUP_ZONE_CAR_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 // CREATES THE TAXI FOR THE BLOKE TO GET INTO PRINT_NOW ( FM2_11 ) 5000 1 //"Park out the front of Luigi's Club, Curly Bob will be leaving shortly." ADD_BLIP_FOR_COORD 907.0 -424.7 13.8 radar_blip_club_fm2 CREATE_CAR CAR_TAXI 906.9 -433.7 -100.0 car_fm2 SET_CAR_ONLY_DAMAGED_BY_PLAYER car_fm2 TRUE flag_car_fm2_created = 1 SET_CAR_HEADING car_fm2 180.0 CHANGE_CAR_LOCK car_fm2 CARLOCK_LOCKOUT_PLAYER_ONLY CREATE_CHAR_INSIDE_CAR car_fm2 PEDTYPE_CIVMALE PED_TAXI_DRIVER van_driver_fm2 SET_CHAR_CANT_BE_DRAGGED_OUT van_driver_fm2 TRUE CLEAR_CHAR_THREAT_SEARCH van_driver_fm2 CAR_SET_IDLE car_fm2 SWITCH_WIDESCREEN OFF RESTORE_CAMERA SET_PLAYER_CONTROL player on SET_POLICE_IGNORE_PLAYER player off timerb = 0 //GET_TIME_OF_DAY hours_fm2 minutes_fm2 //minutes_stuff_happen_fm2 = minutes_fm2 - 1 //IF minutes_stuff_happen_fm2 <= 0 // minutes_stuff_happen_fm2 += 60 //ENDIF // waiting for the time of day to be correct //WHILE NOT minutes_fm2 = minutes_stuff_happen_fm2 // WAIT 0 //GET_TIME_OF_DAY hours_fm2 minutes_fm2 //ENDWHILE WHILE timerb < 60000 WAIT 0 ENDWHILE // checks to see where curly will be created IF IS_PLAYER_IN_AREA_3D player 901.2 -427.8 12.0 878.1 -422.4 27.0 FALSE OR IS_PLAYER_IN_AREA_3D player 878.1 -422.4 12.0 900.4 -404.2 27.0 FALSE // creates curley bob infront of the club CLEAR_AREA 902.9 -398.8 14.0 1.0 TRUE CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL2 902.9 -398.8 14.0 curley_bob_fm2 ADD_BLIP_FOR_CHAR curley_bob_fm2 radar_blip_ped1_fm2 CHANGE_BLIP_DISPLAY radar_blip_ped1_fm2 MARKER_ONLY CLEAR_CHAR_THREAT_SEARCH curley_bob_fm2 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT curley_bob_fm2 902.7 -430.4 timerb = 0 WHILE NOT LOCATE_CHAR_ON_FOOT_2D curley_bob_fm2 902.7 -430.4 1.0 1.0 FALSE WAIT 0 IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" GOTO mission_frankie2_failed ELSE IF NOT IS_CHAR_HEALTH_GREATER curley_bob_fm2 99 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ENDIF IF flag_curly_moved_fm2 = 0 IF timerb >= 15000 IF NOT LOCATE_CHAR_ON_FOOT_2D curley_bob_fm2 902.7 -430.4 1.0 1.0 FALSE SET_CHAR_COORDINATES curley_bob_fm2 902.7 -430.4 13.7 flag_curly_moved_fm2 = 1 ENDIF ENDIF ENDIF ENDWHILE CHAR_SET_IDLE curley_bob_fm2 GOTO mission_check ELSE // creates curley bob down the alleyway CLEAR_AREA 886.3 -422.2 13.8 1.0 TRUE CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL2 886.3 -422.2 13.8 curley_bob_fm2 ADD_BLIP_FOR_CHAR curley_bob_fm2 radar_blip_ped1_fm2 CHANGE_BLIP_DISPLAY radar_blip_ped1_fm2 MARKER_ONLY CLEAR_CHAR_THREAT_SEARCH curley_bob_fm2 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT curley_bob_fm2 888.0 -425.0 CLEAR_AREA 887.4 -417.3 13.9 10.0 FALSE // This should get rid of anything is his way CLEAR_AREA 892.8 -425.5 13.9 3.0 FALSE CLEAR_AREA 896.3 -425.6 13.8 3.0 FALSE CLEAR_AREA 899.1 -424.6 14.0 3.0 FALSE CLEAR_AREA 903.4 -425.6 13.9 2.0 FALSE //waiting for curly bob to get to the pavement timerb = 0 WHILE NOT LOCATE_CHAR_ON_FOOT_2D curley_bob_fm2 904.0 -427.3 1.0 1.0 FALSE WAIT 0 IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" GOTO mission_frankie2_failed ELSE IF NOT IS_CHAR_HEALTH_GREATER curley_bob_fm2 99 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ENDIF IF LOCATE_CHAR_ON_FOOT_2D curley_bob_fm2 888.0 -425.0 1.0 1.0 FALSE SET_CHAR_OBJ_RUN_TO_COORD curley_bob_fm2 892.1 -425.3 ENDIF IF LOCATE_CHAR_ON_FOOT_2D curley_bob_fm2 892.1 -425.3 1.0 1.0 FALSE SET_CHAR_OBJ_GOTO_COORD_ON_FOOT curley_bob_fm2 904.0 -427.3 ENDIF IF flag_curly_moved_fm2 = 0 IF timerb >= 25000 IF NOT LOCATE_CHAR_ON_FOOT_2D curley_bob_fm2 904.0 -427.3 1.0 1.0 FALSE SET_CHAR_COORDINATES curley_bob_fm2 904.0 -427.3 13.9 flag_curly_moved_fm2 = 1 ENDIF ENDIF ENDIF ENDWHILE CHAR_SET_IDLE curley_bob_fm2 ENDIF mission_check: REMOVE_BLIP radar_blip_club_fm2 // Checks to see which part of the mission the player will get IF NOT IS_PLAYER_STOPPED_IN_AREA_IN_CAR_2D player 905.0 -432.0 910.0 -419.0 FALSE GOTO mission_jump3 ENDIF // Checks to see if the player is in the area in a taxi IF IS_PLAYER_IN_MODEL player car_taxi OR IS_PLAYER_IN_MODEL player car_cabbie OR IS_PLAYER_IN_MODEL player car_borgnine STORE_CAR_PLAYER_IS_IN player mission_taxi_fm2 flag_mission_taxi_fm2_created = 1 ELSE GOTO mission_jump3 ENDIF // *********************If player is in a taxi luanches part one of the mission************* IF LOCATE_STOPPED_PLAYER_IN_CAR_2D player 906.0 -425.0 4.0 4.0 FALSE AND IS_PLAYER_IN_CAR player mission_taxi_fm2 IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //Curly Bob's dead!" GOTO mission_frankie2_failed ENDIF IF IS_PLAYER_IN_MODEL player car_taxi OR IS_PLAYER_IN_MODEL player car_cabbie STORE_CAR_PLAYER_IS_IN player mission_taxi_fm2 ENDIF // Checks to see if the taxi is damaged or not IF IS_CAR_DEAD mission_taxi_fm2 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle is wrecked!" GOTO mission_frankie2_failed ELSE IF IS_CAR_UPSIDEDOWN mission_taxi_fm2 AND IS_CAR_STOPPED mission_taxi_fm2 PRINT_NOW ( UPSIDE ) 5000 1 //"You've flipped your wheels!" GOTO mission_frankie2_failed ENDIF ENDIF IF NOT IS_CAR_HEALTH_GREATER mission_taxi_fm2 700 PRINT_NOW ( FM2_6 ) 5000 1 //"Get out of here! I'm not taking a ride in this shit-heap!" GOTO mission_frankie2_failed ENDIF SET_CHAR_OBJ_ENTER_CAR_AS_PASSENGER curley_bob_fm2 mission_taxi_fm2 WHILE NOT IS_CHAR_IN_CAR curley_bob_fm2 mission_taxi_fm2 WAIT 0 IF IS_CAR_DEAD mission_taxi_fm2 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle is wrecked!" GOTO mission_frankie2_failed ELSE IF IS_CAR_UPSIDEDOWN mission_taxi_fm2 AND IS_CAR_STOPPED mission_taxi_fm2 PRINT_NOW ( UPSIDE ) 5000 1 //"You've flipped your wheels!" GOTO mission_frankie2_failed ENDIF ENDIF IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" GOTO mission_frankie2_failed ELSE IF NOT IS_CHAR_HEALTH_GREATER curley_bob_fm2 99 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ENDIF IF NOT LOCATE_PLAYER_IN_CAR_CHAR_2D player curley_bob_fm2 5.0 5.0 FALSE PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ENDWHILE REMOVE_BLIP radar_blip_ped1_fm2 PRINT_NOW ( FM2_5 ) 7000 1 //"Take me to the Portland Harbour East docks." ADD_BLIP_FOR_COORD 1529.0 -827.0 -100.0 radar_blip_coord2_fm2 blob_flag = 1 WHILE NOT LOCATE_STOPPED_PLAYER_IN_CAR_2D player 1529.0 -827.0 3.0 4.0 blob_flag OR NOT IS_CHAR_IN_CAR curley_bob_fm2 mission_taxi_fm2 OR NOT IS_PLAYER_IN_CAR player mission_taxi_fm2 WAIT 0 IF IS_CAR_DEAD mission_taxi_fm2 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle is wrecked!" GOTO mission_frankie2_failed ELSE IF IS_CAR_UPSIDEDOWN mission_taxi_fm2 AND IS_CAR_STOPPED mission_taxi_fm2 PRINT_NOW ( UPSIDE ) 5000 1 //"You've flipped your wheels!" GOTO mission_frankie2_failed ENDIF ENDIF IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" GOTO mission_frankie2_failed ENDIF IF NOT IS_CHAR_IN_CAR curley_bob_fm2 mission_taxi_fm2 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF IF NOT IS_PLAYER_IN_CAR player mission_taxi_fm2 AND flag_player_got_car_message_fm2 = 0 CLEAR_PRINTS PRINT_NOW ( IN_VEH ) 5000 1 //"Get back into the vehicle and get on with the mission" ADD_BLIP_FOR_CAR mission_taxi_fm2 radar_blip_car1_fm2 REMOVE_BLIP radar_blip_coord2_fm2 flag_player_got_car_message_fm2 = 1 blob_flag = 0 ENDIF IF IS_PLAYER_IN_CAR player mission_taxi_fm2 AND flag_player_got_car_message_fm2 = 1 ADD_BLIP_FOR_COORD 1529.0 -827.0 -100.0 radar_blip_coord2_fm2 CHANGE_BLIP_DISPLAY radar_blip_coord2_fm2 BLIP_ONLY REMOVE_BLIP radar_blip_car1_fm2 flag_player_got_car_message_fm2 = 0 blob_flag = 1 ENDIF IF IS_CAR_STOPPED mission_taxi_fm2 IF flag_car_has_just_stopped = 0 //GET_GAME_TIMER time_car_stopped_fm2 timerb = 0 flag_car_has_just_stopped = 1 ENDIF //GET_GAME_TIMER current_time_fm2 //timer_difference = current_time_fm2 - time_car_stopped_fm2 //IF timer_difference > 10000 IF timerb > 10000 flag_taxi1_exit_car_fm2 = 1 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ELSE flag_car_has_just_stopped = 0 ENDIF ENDWHILE REMOVE_BLIP radar_blip_coord2_fm2 GOTO mission_jump2 ENDIF // *********If player does not have a taxi creates taxi for Curley Bob to get into********** mission_jump3: IF IS_CAR_DEAD car_fm2 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" flag_car_fm2_dead = 1 GOTO mission_frankie2_failed ELSE IF IS_CAR_UPSIDEDOWN car_fm2 AND IS_CAR_STOPPED car_fm2 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ENDIF IF LOCATE_STOPPED_CAR_2D car_fm2 906.9 -433.0 6.0 6.0 FALSE AND NOT IS_CAR_UPSIDEDOWN car_fm2 SET_CHAR_OBJ_ENTER_CAR_AS_PASSENGER curley_bob_fm2 car_fm2 ELSE PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF //waiting for the character to get into the car WHILE NOT IS_CHAR_IN_CAR curley_bob_fm2 car_fm2 WAIT 0 IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" GOTO mission_frankie2_failed ELSE IF NOT IS_CHAR_HEALTH_GREATER curley_bob_fm2 99 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ENDIF IF IS_CAR_DEAD car_fm2 IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" GOTO mission_frankie2_failed ELSE PRINT_NOW ( WRECKED ) 5000 1 //The vehicle's wrecked!" flag_car_fm2_dead = 1 GOTO mission_frankie2_failed ENDIF ELSE IF IS_CAR_UPSIDEDOWN car_fm2 AND IS_CAR_STOPPED car_fm2 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ENDIF ENDWHILE REMOVE_BLIP radar_blip_ped1_fm2 PRINT_NOW ( FM2_2 ) 7000 1 //Tail Curly Bob!" SWITCH_WIDESCREEN OFF RESTORE_CAMERA SET_PLAYER_CONTROL player on SET_POLICE_IGNORE_PLAYER player off ADD_BLIP_FOR_CAR car_fm2 radar_blip_car2_fm2 CHANGE_BLIP_DISPLAY radar_blip_car2_fm2 MARKER_ONLY SET_CAR_CRUISE_SPEED car_fm2 30.0 CAR_GOTO_COORDINATES_ACCURATE car_fm2 1529.0 -827.0 -100.0 SET_CAR_DRIVING_STYLE car_fm2 DRIVINGMODE_SLOWDOWNFORCARS SET_CAR_CRUISE_SPEED car_fm2 20.0 ADD_STUCK_CAR_CHECK car_fm2 5.0 30000 DISPLAY_ONSCREEN_COUNTER_WITH_STRING spooked_counter COUNTER_DISPLAY_BAR ( FM2_16 ) timerb = 0 timera = 0 // Waiting for the car to get to the bottom of the dock area WHILE NOT LOCATE_CAR_2D car_fm2 1529.0 -827.0 3.0 3.0 FALSE WAIT 0 IF spooked_check = 0 IF timerb > 1500 spooked_check = 1 ENDIF ENDIF IF IS_CAR_DEAD car_fm2 IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" GOTO mission_frankie2_failed ELSE PRINT_NOW ( WRECKED ) 5000 1 //The vehicle's wrecked!" flag_car_fm2_dead = 1 GOTO mission_frankie2_failed ENDIF ELSE IF IS_CAR_STUCK car_fm2 spooked_counter = 100 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF IF IS_CAR_UPSIDEDOWN car_fm2 AND IS_CAR_STOPPED car_fm2 spooked_counter = 100 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ENDIF CLEAR_AREA 1529.0 -827.0 -100.0 4.0 FALSE // This should clear the area at the bottom of the docks IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly's dead!" GOTO mission_frankie2_failed ELSE IF spooked_check = 1 IF LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 40.0 40.0 40.0 FALSE IF LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 30.0 30.0 30.0 FALSE IF LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 20.0 20.0 20.0 FALSE IF IS_PLAYER_IN_MODEL player CAR_MAFIA IF timera > 8 ++ spooked_counter timera = 0 ENDIF ELSE IF timera > 16 ++ spooked_counter timera = 0 ENDIF ENDIF ELSE IF IS_PLAYER_IN_MODEL player CAR_MAFIA IF timera > 16 ++ spooked_counter timera = 0 ENDIF ELSE IF timera > 32 ++ spooked_counter timera = 0 ENDIF ENDIF ENDIF ELSE IF IS_PLAYER_IN_MODEL player CAR_MAFIA IF timera > 32 ++ spooked_counter timera = 0 ENDIF ELSE IF timera > 64 ++ spooked_counter timera = 0 ENDIF ENDIF ENDIF ELSE IF IS_PLAYER_IN_MODEL player CAR_MAFIA IF timera > 500 IF spooked_counter > 0 -- spooked_counter ENDIF timera = 0 ENDIF ELSE IF timera > 250 IF spooked_counter > 0 -- spooked_counter ENDIF timera = 0 ENDIF ENDIF ENDIF ENDIF IF spooked_counter > 10 IF flag_player_had_warning1_fm2 = 0 PRINT_NOW ( FM2_15 ) 5000 1 //"Don't get too close or curly will suspect something!" flag_player_had_warning1_fm2 = 1 ENDIF ENDIF IF spooked_counter = 100 PRINT_NOW ( FM2_14 ) 5000 1 //"You got too close and spooked Curly!" GOTO mission_frankie2_failed ENDIF IF NOT IS_CHAR_IN_CAR curley_bob_fm2 car_fm2 spooked_counter = 100 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF IF IS_CHAR_IN_AREA_2D curley_bob_fm2 1538.0 -741.0 1304.0 -901.0 FALSE SET_CAR_DRIVING_STYLE car_fm2 1 SET_CAR_CRUISE_SPEED car_fm2 10.0 flag_no_longer_mad = 1 ENDIF IF flag_no_longer_mad = 0 IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player curley_bob_fm2 30.0 30.0 FALSE SET_CAR_DRIVING_STYLE car_fm2 DRIVINGMODE_AVOIDCARS SET_CAR_CRUISE_SPEED car_fm2 25.0 ELSE SET_CAR_DRIVING_STYLE car_fm2 DRIVINGMODE_SLOWDOWNFORCARS SET_CAR_CRUISE_SPEED car_fm2 20.0 ENDIF ENDIF ENDIF IF IS_CAR_VISIBLY_DAMAGED car_fm2 IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly's dead!" GOTO mission_frankie2_failed ELSE spooked_counter = 100 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ENDIF IF IS_CAR_STOPPED car_fm2 IF flag_car_has_just_stopped = 0 GET_GAME_TIMER time_car_stopped_fm2 flag_car_has_just_stopped = 1 ENDIF GET_GAME_TIMER current_time_fm2 timer_difference = current_time_fm2 - time_car_stopped_fm2 IF timer_difference > 15000 flag_taxi2_exit_car_fm2 = 1 spooked_counter = 100 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ELSE flag_car_has_just_stopped = 0 ENDIF ENDWHILE REMOVE_BLIP radar_blip_car2_fm2 REMOVE_STUCK_CAR_CHECK car_fm2 // ********************Curley Bob gets out of the script controlled taxi******************** IF flag_car_fm2_created = 1 AND IS_CHAR_IN_CAR curley_bob_fm2 car_fm2 flag_taxi2_exit_car_fm2 = 1 ENDIF IF flag_taxi2_exit_car_fm2 = 1 SET_CHAR_OBJ_LEAVE_CAR curley_bob_fm2 car_fm2 WHILE IS_CHAR_IN_CAR curley_bob_fm2 car_fm2 WAIT 0 IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" GOTO mission_frankie2_failed ELSE IF NOT IS_CHAR_HEALTH_GREATER curley_bob_fm2 99 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ENDIF IF IS_CAR_DEAD car_fm2 IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" GOTO mission_frankie2_failed ELSE PRINT_NOW ( WRECKED ) 5000 1 //The vehicle's wrecked!" flag_car_fm2_dead = 1 GOTO mission_frankie2_failed ENDIF ELSE IF IS_CAR_UPSIDEDOWN car_fm2 AND IS_CAR_STOPPED car_fm2 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ENDIF ENDWHILE CLEAR_ONSCREEN_COUNTER spooked_counter IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 160.0 160.0 160.0 FALSE PRINT_NOW ( FM2_12 ) 5000 1 //"You lost him!" GOTO mission_frankie2_failed ENDIF // Checks to see if the player is around the ramp and will fail the mission IF IS_PLAYER_IN_AREA_3D player 1573.72 -876.49 5.0 1404.09 -1034.30 30.0 FALSE spooked_counter = 100 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF GOTO mission_jump4 ENDIF // *****************Orders Curley Bob out of the taxi if the player is driving************** mission_jump2: IF flag_mission_taxi_fm2_created = 1 AND IS_CHAR_IN_CAR curley_bob_fm2 mission_taxi_fm2 flag_taxi1_exit_car_fm2 = 1 ENDIF IF flag_taxi1_exit_car_fm2 = 1 SET_CHAR_OBJ_LEAVE_CAR curley_bob_fm2 mission_taxi_fm2 WHILE IS_CHAR_IN_CAR curley_bob_fm2 mission_taxi_fm2 WAIT 0 IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" GOTO mission_frankie2_failed ELSE IF NOT IS_CHAR_HEALTH_GREATER curley_bob_fm2 99 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ENDIF IF IS_CAR_DEAD mission_taxi_fm2 IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" GOTO mission_frankie2_failed ELSE PRINT_NOW ( WRECKED ) 5000 1 //The vehicle's wrecked!" GOTO mission_frankie2_failed ENDIF ELSE IF IS_CAR_UPSIDEDOWN mission_taxi_fm2 AND IS_CAR_STOPPED mission_taxi_fm2 PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!" GOTO mission_frankie2_failed ENDIF ENDIF ENDWHILE IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 160.0 160.0 160.0 FALSE PRINT_NOW ( FM2_12 ) 5000 1 //"You lost him!" GOTO mission_frankie2_failed ENDIF ENDIF // ***********************Curley Bob has finally got to the docks*************************** mission_jump4: SWITCH_WIDESCREEN ON IF IS_PLAYER_IN_ANY_CAR player APPLY_BRAKES_TO_PLAYERS_CAR player ON ENDIF SET_PLAYER_CONTROL player OFF CLEAR_WANTED_LEVEL player // This might have to come out when this bit is an Alex cut-scene IF NOT IS_CHAR_DEAD van_driver_fm2 SET_CHAR_CANT_BE_DRAGGED_OUT van_driver_fm2 FALSE ENDIF SET_POLICE_IGNORE_PLAYER player ON CLEAR_AREA 1546.56 -834.79 12.70 1.0 TRUE SET_FIXED_CAMERA_POSITION 1546.56 -834.79 12.70 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 1545.50 -834.60 12.79 JUMP_CUT SET_CHAR_OBJ_RUN_TO_COORD curley_bob_fm2 1532.0 -889.0 timerb = 0 WHILE timerb < 1500 WAIT 0 CLEAR_AREA 1532.0 -889.0 -100.0 3.0 FALSE // Clears area curly is running to. IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" flag_curley_bob_fm2_dead = 1 GOTO mission_frankie2_failed ENDIF ENDWHILE IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" flag_curley_bob_fm2_dead = 1 GOTO mission_frankie2_failed ENDIF // ****************************************START OF CUTSCENE TWO**************************** GET_GAME_TIMER breakout_timer_start breakout_diff = 0 WHILE NOT CAN_PLAYER_START_MISSION Player AND breakout_diff < 5000 // if player is not in control after 5 secs do the cutscene anyway WAIT 0 IF IS_CHAR_DEAD curley_bob_fm2 PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!" flag_curley_bob_fm2_dead = 1 GOTO mission_frankie2_failed ENDIF GET_GAME_TIMER breakout_timer breakout_diff = breakout_timer - breakout_timer_start ENDWHILE MAKE_PLAYER_SAFE_FOR_CUTSCENE player SET_FADING_COLOUR 0 0 0 DO_FADE 1500 FADE_OUT SWITCH_STREAMING OFF LOAD_SPECIAL_CHARACTER 3 miguel LOAD_SPECIAL_CHARACTER 4 cat LOAD_SPECIAL_MODEL cut_obj1 MIGUELH LOAD_SPECIAL_MODEL cut_obj2 CATH LOAD_SPECIAL_MODEL cut_obj3 CURLYH REQUEST_MODEL CAR_COLUMB WHILE GET_FADING_STATUS WAIT 0 ENDWHILE IF NOT IS_CHAR_DEAD curley_bob_fm2 CHAR_SET_IDLE curley_bob_fm2 ENDIF LOAD_ALL_MODELS_NOW // Cutscene stuff WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 3 OR NOT HAS_SPECIAL_CHARACTER_LOADED 4 OR NOT HAS_MODEL_LOADED CAR_COLUMB OR NOT HAS_MODEL_LOADED cut_obj1 OR NOT HAS_MODEL_LOADED cut_obj2 OR NOT HAS_MODEL_LOADED cut_obj3 WAIT 0 ENDWHILE // creates car CREATE_CAR CAR_COLUMB 1542.9 -896.1975 10.6 baddie_car_fm2 SET_CAR_HEADING baddie_car_fm2 90.0 //SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor FALSE LOAD_CUTSCENE s2_ctg2 SET_CUTSCENE_OFFSET 1573.8866 -906.0611 11.1 CREATE_CUTSCENE_OBJECT PED_SPECIAL2 cs_curly SET_CUTSCENE_ANIM cs_curly curly CREATE_CUTSCENE_OBJECT PED_SPECIAL3 cs_miguel SET_CUTSCENE_ANIM cs_miguel miguel CREATE_CUTSCENE_OBJECT PED_SPECIAL4 cs_catalina SET_CUTSCENE_ANIM cs_catalina cat CREATE_CUTSCENE_HEAD cs_miguel CUT_OBJ1 cs_miguelhead SET_CUTSCENE_HEAD_ANIM cs_miguelhead miguel CREATE_CUTSCENE_HEAD cs_catalina CUT_OBJ2 cs_catalinahead SET_CUTSCENE_HEAD_ANIM cs_catalinahead cat CREATE_CUTSCENE_HEAD cs_curly CUT_OBJ3 cs_curlyhead SET_CUTSCENE_HEAD_ANIM cs_curlyhead curly CLEAR_AREA 898.6 -425.6 13.9 1.0 TRUE //SET_PLAYER_COORDINATES player 898.6 -425.6 13.9 // Player is in a taxi so don't comment back in DO_FADE 1500 FADE_IN DELETE_CHAR curley_bob_fm2 SWITCH_STREAMING ON START_CUTSCENE // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time <= 0 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_F ) 10000 1 //"Here comes our little friend. Mr. big mouth himself." WHILE cs_time < 3225 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_G ) 10000 1 //"Were you followed? You know what goes on here is our little secret." WHILE cs_time < 7047 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_H ) 10000 1 //"No..no, I wasn't followed, You got my stuff?" WHILE cs_time < 10272 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_I ) 10000 1 //"Here's your SPANK, squealer, now talk." WHILE cs_time < 13914 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_P ) 10000 1 //"OK, so the Leone's are fighting wars on two fronts." WHILE cs_time < 16721 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_Q ) 10000 1 //"They're in a turf war with the Triads with no sign of either side giving up." WHILE cs_time < 20483 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_R ) 10000 1 //"Meanwhile Loey Leone has stirred up some bad blood with the Forellis." WHILE cs_time < 24246 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_S ) 10000 1 //"Every day they're losing men and influence in the city." WHILE cs_time < 26993 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_T ) 10000 1 //"Salvatore is becoming dangerous and paranoid. He suspects everybody and everything." WHILE cs_time < 31770 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM2_U ) 10000 1 //"With loyalty like yours, what has he possibly got to worry about." WHILE cs_time < 35267 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_THIS_PRINT ( FM2_U ) WHILE cs_time < 37000 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE DO_FADE 1500 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CLEAR_CUTSCENE IF flag_car_fm2_dead = 0 IF NOT IS_CAR_DEAD car_fm2 DELETE_CHAR van_driver_fm2 DELETE_CAR car_fm2 flag_car_fm2_dead = 0 ENDIF ENDIF DELETE_CAR baddie_car_fm2 SET_CAMERA_BEHIND_PLAYER WAIT 500 DO_FADE 1500 FADE_IN SET_CAMERA_BEHIND_PLAYER UNLOAD_SPECIAL_CHARACTER 3 UNLOAD_SPECIAL_CHARACTER 4 MARK_MODEL_AS_NO_LONGER_NEEDED CAR_COLUMB MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ3 // ******************************************END OF CUTSCENE TWO**************************** // ********************************Kill Curley Bob Stuff************************************ SWITCH_WIDESCREEN OFF RESTORE_CAMERA SET_PLAYER_CONTROL player ON SET_POLICE_IGNORE_PLAYER player OFF CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL2 1493.7 -886.6 -100.0 curley_bob_fm2 SET_CHAR_HEADING curley_bob_fm2 90.0 GIVE_WEAPON_TO_CHAR curley_bob_fm2 WEAPONTYPE_SHOTGUN 30000 SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS curley_bob_fm2 player ADD_BLIP_FOR_CHAR curley_bob_fm2 radar_blip_ped2_fm2 PRINT_NOW ( FM2_8 ) 7000 1 //"Kill Curley Bob for his treachery!" WHILE NOT flag_curley_bob_dead_fm2 = 1 WAIT 0 IF flag_curley_bob_dead_fm2 = 0 IF IS_CHAR_DEAD curley_bob_fm2 flag_curley_bob_dead_fm2 = 1 ELSE IF LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 25.0 25.0 25.0 FALSE IF flag_curly_mad_fm2 = 0 SET_CHAR_OBJ_KILL_PLAYER_ANY_MEANS curley_bob_fm2 player flag_curly_mad_fm2 = 1 ENDIF ELSE flag_curly_mad_fm2 = 0 SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS curley_bob_fm2 player ENDIF IF NOT IS_CHAR_ON_SCREEN curley_bob_fm2 AND NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 160.0 160.0 80.0 FALSE PRINT_NOW ( FM2_10 ) 5000 1 //"Curly got away!" GOTO mission_frankie2_failed ENDIF ENDIF ENDIF ENDWHILE REMOVE_BLIP radar_blip_ped2_fm2 } GOTO mission_frankie2_passed // Mission Frankie2 failed mission_frankie2_failed: PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" REMOVE_CHAR_ELEGANTLY curley_bob_fm2 RETURN // mission Frankie2 passed mission_frankie2_passed: flag_frankie_mission2_passed = 1 REGISTER_MISSION_PASSED ( FM2 ) PLAYER_MADE_PROGRESS 1 PRINT_WITH_NUMBER_BIG ( m_pass ) 15000 5000 1 //"Mission Passed!" PLAY_MISSION_PASSED_TUNE 1 ADD_SCORE player 15000 CLEAR_WANTED_LEVEL player START_NEW_SCRIPT frankie_mission2.1_loop START_NEW_SCRIPT toni4_pager_loop IF flag_toni_mission5_passed = 0 flag_frankie_switched_off = 1 REMOVE_BLIP frankie_contact_blip ENDIF RETURN // mission cleanup mission_cleanup_frankie2: flag_player_on_mission = 0 flag_player_on_frankie_mission = 0 IF flag_car_fm2_dead = 0 IF NOT IS_CAR_DEAD car_fm2 CHANGE_CAR_LOCK car_fm2 CARLOCK_UNLOCKED SET_CAR_ONLY_DAMAGED_BY_PLAYER car_fm2 FALSE ENDIF ENDIF MARK_MODEL_AS_NO_LONGER_NEEDED CAR_TAXI MARK_MODEL_AS_NO_LONGER_NEEDED CAR_COLUMB MARK_MODEL_AS_NO_LONGER_NEEDED PED_TAXI_DRIVER REMOVE_BLIP radar_blip_club_fm2 REMOVE_BLIP radar_blip_ped1_fm2 REMOVE_BLIP radar_blip_coord2_fm2 REMOVE_BLIP radar_blip_car1_fm2 REMOVE_BLIP radar_blip_car2_fm2 REMOVE_BLIP radar_blip_ped2_fm2 SETUP_ZONE_PED_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0 SETUP_ZONE_PED_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0 SETUP_ZONE_CAR_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SETUP_ZONE_CAR_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CLEAR_ONSCREEN_COUNTER spooked_counter MISSION_HAS_FINISHED RETURN
frank2.1
MISSION_START // ***************************************************************************************** // ***************************************************************************************** // *************************************Frankie Mission 2.1********************************* // ************************************Bomb Da Base Cash Wall******************************* // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** SCRIPT_NAME frank21 // Mission start stuff GOSUB mission_start_frankie2.1 IF HAS_DEATHARREST_BEEN_EXECUTED GOSUB mission_frankie2.1_failed ENDIF GOSUB mission_cleanup_frankie2.1 MISSION_END // ***************************************Start Mission************************************* mission_start_frankie2.1: flag_player_on_mission = 1 REGISTER_MISSION_GIVEN WAIT 0 flag_player_on_frankie_mission = 1 // ****************************************START OF CUTSCENE******************************** /* IF CAN_PLAYER_START_MISSION player MAKE_PLAYER_SAFE_FOR_CUTSCENE player ELSE GOTO mission_frankie2.1_failed ENDIF SET_FADING_COLOUR 0 0 0 DO_FADE 1500 FADE_OUT PRINT_BIG ( FM21 ) 15000 2 //"Bomb Da Base Part 1" SWITCH_STREAMING OFF */ LOAD_SPECIAL_CHARACTER 1 FRANKIE LOAD_SPECIAL_MODEL cut_obj1 FRANKH //LOAD_SPECIAL_MODEL cut_obj2 PLAYERH REQUEST_MODEL PED_GANG_MAFIA_B REQUEST_MODEL franksclb02 REQUEST_MODEL salvsdetail REQUEST_MODEL swank_inside /* WHILE GET_FADING_STATUS WAIT 0 ENDWHILE */ LOAD_ALL_MODELS_NOW // Cutscene stuff WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1 OR NOT HAS_MODEL_LOADED cut_obj1 OR NOT HAS_MODEL_LOADED PED_GANG_MAFIA_B //OR NOT HAS_MODEL_LOADED cut_obj2 WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED franksclb02 OR NOT HAS_MODEL_LOADED salvsdetail OR NOT HAS_MODEL_LOADED swank_inside WAIT 0 ENDWHILE LOAD_CUTSCENE s3_rtc SET_CUTSCENE_OFFSET 1457.776 -185.348 54.925 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_frankie SET_CUTSCENE_ANIM cs_frankie frankie CREATE_CUTSCENE_HEAD cs_frankie CUT_OBJ1 cs_frankiehead SET_CUTSCENE_HEAD_ANIM cs_frankiehead frank //CREATE_CUTSCENE_HEAD cs_player CUT_OBJ2 cs_playerhead //SET_CUTSCENE_HEAD_ANIM cs_playerhead player CREATE_CUTSCENE_OBJECT PED_GANG_MAFIA_B cs_mafia SET_CUTSCENE_ANIM cs_mafia gang02 CLEAR_AREA 1455.1 -187.8 -100.0 1.0 TRUE SET_PLAYER_COORDINATES player 1455.1 -187.8 -100.0 SET_PLAYER_HEADING player 180.0 DO_FADE 1500 FADE_IN SWITCH_RUBBISH OFF SWITCH_STREAMING ON START_CUTSCENE // Displays cutscene text GET_CUTSCENE_TIME cs_time /* WHILE cs_time < 27 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_A ) 10000 1 //"We should take these Colombian bastards out" WHILE cs_time < 1972 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_B ) 10000 1 //"but while we're at war with the Triads we just ain't strong enough" */ WHILE cs_time < 5136 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_C ) 10000 1 //"The Cartel has got bottomless funds from pushing this SPANK crap." WHILE cs_time < 8848 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_D ) 10000 1 //"If we make an open attack on them, they'll wipe the floor with us." WHILE cs_time < 12450 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_E ) 10000 1 //"They must be making SPANK on that big boat that Curly lead you to." WHILE cs_time < 15984 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_F ) 10000 1 //"So we gotta use our heads -or rather one head. Your head." WHILE cs_time < 20426 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_G ) 10000 1 //"I'm asking you to destroy that SPANK factory as a personal favor to me, Salvatore Leone." WHILE cs_time < 27076 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_H ) 10000 1 //"If you do this for me, you will be a made man -anything you want." WHILE cs_time < 32651 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_I ) 10000 1 //"Go and see 8-Ball, you'll need his expertise to blow-up that boat." WHILE cs_time < 36233 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_THIS_PRINT ( FM3_I ) WHILE cs_time < 38333 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE DO_FADE 1500 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CLEAR_CUTSCENE SWITCH_RUBBISH ON SET_CAMERA_BEHIND_PLAYER WAIT 500 DO_FADE 1500 FADE_IN UNLOAD_SPECIAL_CHARACTER 1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_MAFIA_B //MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 MARK_MODEL_AS_NO_LONGER_NEEDED franksclb02 MARK_MODEL_AS_NO_LONGER_NEEDED salvsdetail MARK_MODEL_AS_NO_LONGER_NEEDED swank_inside // **************************************END OF CUTSCENE************************************ } GOTO mission_frankie2.1_passed // Mission Frankie2.1 failed mission_frankie2.1_failed: PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" RETURN // mission Frankie2.1 passed mission_frankie2.1_passed: flag_frankie_mission2.1_passed = 1 flag_frankie_switched_off = 1 REGISTER_MISSION_PASSED ( FM21 ) PLAYER_MADE_PROGRESS 1 REMOVE_BLIP frankie_contact_blip ADD_SPRITE_BLIP_FOR_CONTACT_POINT 1272.2 -92.9 -100.0 RADAR_SPRITE_EIGHT eightball_contact_blip START_NEW_SCRIPT frankie_mission3_loop RETURN // mission cleanup mission_cleanup_frankie2.1: flag_player_on_mission = 0 flag_player_on_frankie_mission = 0 MISSION_HAS_FINISHED RETURN
frank3
MISSION_START // ***************************************************************************************** // ***************************************************************************************** // *************************************Frankie Mission 3*********************************** // ***************************************"BOMB DA BASE"************************************ // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** SCRIPT_NAME frank3 // Mission start stuff GOSUB mission_start_frankie3 IF HAS_DEATHARREST_BEEN_EXECUTED GOSUB mission_frankie3_failed ENDIF GOSUB mission_cleanup_frankie3 MISSION_END // Variables for mission VAR_INT ped_8ball_fm3 VAR_INT radar_blip_ped2_fm3 VAR_INT radar_blip_coord3_fm3 VAR_INT guard1_fm3 VAR_INT guard2_fm3 VAR_INT guard3_fm3 VAR_INT guard4_fm3 VAR_INT guard5_fm3 VAR_INT guard6_fm3 VAR_INT guard7_fm3 VAR_INT guard8_fm3 VAR_INT guard9_fm3 VAR_INT guard10_fm3 VAR_INT guard11_fm3 VAR_INT guard12_fm3 VAR_INT car_fm3 VAR_INT timer_fm3 VAR_INT radar_blip_coord2_fm3 VAR_INT flag_bloke_leave_group_fm3 VAR_INT flag_bloke_in_area_fm3 VAR_INT flag_guard1_fm3_dead VAR_INT flag_guard2_fm3_dead VAR_INT flag_guard3_fm3_dead VAR_INT flag_guard4_fm3_dead VAR_INT flag_guard5_fm3_dead VAR_INT flag_guard6_fm3_dead VAR_INT flag_guard7_fm3_dead VAR_INT flag_guard8_fm3_dead VAR_INT flag_guard9_fm3_dead VAR_INT flag_guard10_fm3_dead VAR_INT flag_guard11_fm3_dead VAR_INT flag_guard12_fm3_dead VAR_INT flag_got_message_fm3 VAR_INT flag_on_frankie3 VAR_INT flag_guard3_fm3_created VAR_INT flag_guard4_fm3_created VAR_INT flag_guard5_fm3_created VAR_INT flag_guard6_fm3_created VAR_INT flag_blip_on_eightball_fm3 // guards told to look for 8ball VAR_INT flag_guard1_looking_for_8ball VAR_INT flag_guard2_looking_for_8ball VAR_INT flag_guard3_looking_for_8ball VAR_INT flag_guard4_looking_for_8ball VAR_INT flag_guard5_looking_for_8ball VAR_INT flag_guard6_looking_for_8ball VAR_INT flag_guard7_looking_for_8ball VAR_INT flag_guard8_looking_for_8ball VAR_INT flag_guard9_looking_for_8ball VAR_INT flag_guard10_looking_for_8ball VAR_INT flag_guard11_looking_for_8ball VAR_INT flag_guard12_looking_for_8ball VAR_INT flag_8ball_ordered_area1 VAR_INT crate_fm3 VAR_INT flag_drop_crate_fm3 VAR_INT counter_no_guards_dead_fm3 // Check to see if the player is cheating VAR_INT flag_played_cops_audio_fm3 VAR_INT flag_played_8ball_audio_fm3 VAR_INT flag_gun_help1_fm3 VAR_INT flag_gun_help2_fm3 VAR_INT flag_gun_help3_fm3 VAR_INT flag_timer_fm3 VAR_INT flag_timer2_fm3 VAR_INT flag_timer3_fm3 VAR_INT flag_timer4_fm3 VAR_INT boat_barrel7 VAR_INT boat_barrel8 VAR_INT boat_barrel9 VAR_INT boat_barrel10 VAR_INT boat_barrel11 VAR_INT boat_barrel12 VAR_INT boat_barrel13 VAR_INT boat_barrel14 VAR_INT boat_barrel15 VAR_INT boat_barrel16 VAR_INT boat_barrel17 VAR_FLOAT eightball_x_fm3 VAR_FLOAT eightball_y_fm3 VAR_FLOAT eightball_z_fm3 VAR_INT car_columb1_fm3 VAR_INT car_columb2_fm3 VAR_INT flag_columb_car1_dead VAR_INT flag_columb_car2_dead VAR_INT flag_audio_cops_loaded_fm3 VAR_INT flag_timer_set_fm3 // if 8ball gets stuck timer to warp him to his next location VAR_INT flag_8ball_moved1 // if 8ball gets stuck these will warp him to his next location VAR_INT flag_8ball_moved2 // if 8ball gets stuck these will warp him to his next location VAR_INT flag_8ball_moved3 // if 8ball gets stuck these will warp him to his next location VAR_INT flag_8ball_moved4 // if 8ball gets stuck these will warp him to his next location VAR_INT flag_8ball_moved5 // if 8ball gets stuck these will warp him to his next location VAR_INT flag_8ball_moved6 // if 8ball gets stuck these will warp him to his next location VAR_INT flag_8ball_moved7 // if 8ball gets stuck these will warp him to his next location VAR_INT flag_8ball_moved8 // if 8ball gets stuck these will warp him to his next location VAR_INT flag_8ball_moved9 // if 8ball gets stuck these will warp him to his next location VAR_INT flag_8ball_moved10 // if 8ball gets stuck these will warp him to his next location VAR_INT flag_8ball_moved11 // if 8ball gets stuck these will warp him to his next location VAR_INT flag_8ball_moved12 // if 8ball gets stuck these will warp him to his next location VAR_INT flag_car_marked_fm3 VAR_INT flag_8ball_ducking_fm3 // ***************************************Start Mission************************************* mission_start_frankie3: flag_player_on_mission = 1 flag_player_on_frankie_mission = 1 WAIT 0 flag_on_frankie3 = 0 flag_bloke_leave_group_fm3 = 0 flag_bloke_in_area_fm3 = 0 timer_fm3 = 25000 // 25 secs flag_guard1_fm3_dead = 0 flag_guard2_fm3_dead = 0 flag_guard3_fm3_dead = 0 flag_guard4_fm3_dead = 0 flag_guard5_fm3_dead = 0 flag_guard6_fm3_dead = 0 flag_guard7_fm3_dead = 0 flag_guard8_fm3_dead = 0 flag_guard9_fm3_dead = 0 flag_guard10_fm3_dead = 0 flag_guard11_fm3_dead = 0 flag_guard12_fm3_dead = 0 flag_got_message_fm3 = 0 flag_guard3_fm3_created = 0 flag_guard4_fm3_created = 0 flag_guard5_fm3_created = 0 flag_guard6_fm3_created = 0 flag_blip_on_eightball_fm3 = 0 flag_guard1_looking_for_8ball = 0 flag_guard2_looking_for_8ball = 0 flag_guard3_looking_for_8ball = 0 flag_guard4_looking_for_8ball = 0 flag_guard5_looking_for_8ball = 0 flag_guard6_looking_for_8ball = 0 flag_guard7_looking_for_8ball = 0 flag_guard8_looking_for_8ball = 0 flag_guard9_looking_for_8ball = 0 flag_guard10_looking_for_8ball = 0 flag_guard11_looking_for_8ball = 0 flag_guard12_looking_for_8ball = 0 flag_8ball_ordered_area1 = 0 flag_drop_crate_fm3 = 0 counter_no_guards_dead_fm3 = 0 blob_flag = 1 flag_played_cops_audio_fm3 = 0 flag_played_8ball_audio_fm3 = 0 flag_gun_help1_fm3 = 0 flag_gun_help2_fm3 = 0 flag_gun_help3_fm3 = 0 flag_timer_fm3 = 0 flag_timer2_fm3 = 0 flag_timer3_fm3 = 0 flag_timer4_fm3 = 0 eightball_x_fm3 = 0.0 eightball_y_fm3 = 0.0 eightball_z_fm3 = 0.0 flag_columb_car1_dead = 0 flag_columb_car2_dead = 0 flag_audio_cops_loaded_fm3 = 0 flag_timer_set_fm3 = 0 flag_8ball_moved1 = 0 flag_8ball_moved2 = 0 flag_8ball_moved3 = 0 flag_8ball_moved4 = 0 flag_8ball_moved5 = 0 flag_8ball_moved6 = 0 flag_8ball_moved7 = 0 flag_8ball_moved8 = 0 flag_8ball_moved9 = 0 flag_8ball_moved10 = 0 flag_8ball_moved11 = 0 flag_8ball_moved12 = 0 flag_car_marked_fm3 = 0 flag_8ball_ducking_fm3 = 0 IF flag_player_had_cut1_fm3 = 1 IF flag_taken_money_off_fm3 = 1 OR IS_SCORE_GREATER player 99999 GOTO player_has_money ENDIF ENDIF player_not_got_money: CLEAR_AREA 1272.6 -95.6 -100.0 2.0 TRUE // ************************START OF CUTSCENE TWO "PLAYER NOT GOT THE MONEY"***************** /* IF CAN_PLAYER_START_MISSION player MAKE_PLAYER_SAFE_FOR_CUTSCENE player ELSE GOTO mission_frankie3_failed ENDIF SET_FADING_COLOUR 0 0 0 DO_FADE 1500 FADE_OUT PRINT_BIG ( FM3 ) 15000 2 //"Bomb Da Base" SWITCH_STREAMING OFF */ LOAD_SPECIAL_CHARACTER 1 EIGHT2 LOAD_SPECIAL_MODEL cut_obj1 EITDOOR LOAD_SPECIAL_MODEL cut_obj2 EIGHTH LOAD_SPECIAL_MODEL cut_obj3 PLAYERH REQUEST_MODEL ind_land089c REQUEST_MODEL mak_semtech REQUEST_MODEL mak_bomb01 LOAD_ALL_MODELS_NOW // Cutscene stuff WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1 OR NOT HAS_MODEL_LOADED cut_obj3 OR NOT HAS_MODEL_LOADED cut_obj2 OR NOT HAS_MODEL_LOADED cut_obj1 WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED ind_land089c OR NOT HAS_MODEL_LOADED mak_semtech OR NOT HAS_MODEL_LOADED mak_bomb01 WAIT 0 ENDWHILE SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1271.8 -91.3 13.9 3.0 cs8_door FALSE LOAD_CUTSCENE s4_bdba SET_CUTSCENE_OFFSET 1272.5 -90.7 13.8 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_eight SET_CUTSCENE_ANIM cs_eight eight2 CREATE_CUTSCENE_HEAD cs_eight CUT_OBJ2 cs_eighthead SET_CUTSCENE_HEAD_ANIM cs_eighthead eight CREATE_CUTSCENE_HEAD cs_player CUT_OBJ3 cs_playerhead SET_CUTSCENE_HEAD_ANIM cs_playerhead player CREATE_CUTSCENE_OBJECT cut_obj1 cs_eitdoor SET_CUTSCENE_ANIM cs_eitdoor EITDOOR CLEAR_AREA 1272.6 -95.6 -100.0 1.0 TRUE SET_PLAYER_COORDINATES player 1272.6 -95.6 -100.0 SET_PLAYER_HEADING player 270.0 DO_FADE 1500 FADE_IN SWITCH_RUBBISH OFF SWITCH_STREAMING ON START_CUTSCENE // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time < 2849 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_8A ) 10000 1 //"Yo my man! Salvatore phoned ahead," WHILE cs_time < 5438 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_8B ) 10000 1 //"but a job like this is gonna' need a lot of fireworks." WHILE cs_time < 8136 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_8C ) 10000 1 //"I'll need $100000 to cover expenses" WHILE cs_time < 10752 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_8D ) 10000 1 //"but you know with me you get a lot of bang for your bucks." WHILE cs_time < 13578 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_CC ) 10000 1 //"Come back when you have the money." WHILE cs_time < 14964 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_THIS_PRINT ( FM3_CC ) WHILE cs_time < 15666 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE DO_FADE 1500 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CLEAR_CUTSCENE SWITCH_RUBBISH ON SET_CAMERA_BEHIND_PLAYER WAIT 500 DO_FADE 1500 FADE_IN SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1271.8 -91.3 13.9 3.0 cs8_door TRUE UNLOAD_SPECIAL_CHARACTER 1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ3 MARK_MODEL_AS_NO_LONGER_NEEDED ind_land089c MARK_MODEL_AS_NO_LONGER_NEEDED mak_semtech MARK_MODEL_AS_NO_LONGER_NEEDED mak_bomb01 // ************************END OF CUTSCENE TWO "PLAYER NOT GOT THE MONEY******************** flag_player_had_cut1_fm3 = 1 GOTO mission_cleanup_frankie3 player_has_money: CLEAR_AREA 1272.6 -95.6 -100.0 2.0 TRUE // ********************************START OF CUTSCENE ONE "GOT THE MONEY"******************** /* IF CAN_PLAYER_START_MISSION player MAKE_PLAYER_SAFE_FOR_CUTSCENE player ELSE GOTO mission_frankie3_failed ENDIF SET_FADING_COLOUR 0 0 0 DO_FADE 1500 FADE_OUT PRINT_BIG ( FM3 ) 15000 2 //"Bomb Da Base" SWITCH_STREAMING OFF */ LOAD_SPECIAL_CHARACTER 1 EIGHT2 LOAD_SPECIAL_MODEL cut_obj1 EITDOOR LOAD_SPECIAL_MODEL cut_obj2 EIGHTH LOAD_SPECIAL_MODEL cut_obj3 PLAYERH LOAD_SPECIAL_MODEL cut_obj4 rifle LOAD_SPECIAL_MODEL cut_obj5 cs_bomb REQUEST_MODEL ind_land089c REQUEST_MODEL mak_semtech REQUEST_MODEL mak_bomb01 LOAD_ALL_MODELS_NOW // Cutscene stuff WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1 OR NOT HAS_MODEL_LOADED cut_obj2 OR NOT HAS_MODEL_LOADED cut_obj3 OR NOT HAS_MODEL_LOADED cut_obj1 OR NOT HAS_MODEL_LOADED cut_obj4 OR NOT HAS_MODEL_LOADED cut_obj5 WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED ind_land089c OR NOT HAS_MODEL_LOADED mak_semtech OR NOT HAS_MODEL_LOADED mak_bomb01 WAIT 0 ENDWHILE SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1271.8 -91.3 13.9 3.0 cs8_door FALSE LOAD_CUTSCENE s4_bdbb SET_CUTSCENE_OFFSET 1272.5 -90.7 13.8 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_eight SET_CUTSCENE_ANIM cs_eight eight2 CREATE_CUTSCENE_HEAD cs_eight CUT_OBJ2 cs_eighthead SET_CUTSCENE_HEAD_ANIM cs_eighthead eight CREATE_CUTSCENE_HEAD cs_player CUT_OBJ3 cs_playerhead SET_CUTSCENE_HEAD_ANIM cs_playerhead player CREATE_CUTSCENE_OBJECT cut_obj1 cs_eitdoor SET_CUTSCENE_ANIM cs_eitdoor EITDOOR CREATE_CUTSCENE_OBJECT cut_obj4 cs_rifle SET_CUTSCENE_ANIM cs_rifle rifle CREATE_CUTSCENE_OBJECT cut_obj5 cs_bomb SET_CUTSCENE_ANIM cs_bomb cs_bomb CLEAR_AREA 1272.6 -95.6 -100.0 1.0 TRUE SET_PLAYER_COORDINATES player 1272.6 -95.6 -100.0 SET_PLAYER_HEADING player 270.0 DO_FADE 1500 FADE_IN SWITCH_RUBBISH OFF SWITCH_STREAMING ON START_CUTSCENE // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time < 3123 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_8E ) 10000 1 //"Okay, let's do this thing!" WHILE cs_time < 4903 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_8F ) 10000 1 //"I can set this baby to detonate, but I still can't use a piece with these hands." WHILE cs_time < 8643 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM3_8G ) 10000 1 //"Here, this rifle should help you pop some heads!" WHILE cs_time < 10635 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_THIS_PRINT ( FM3_8G ) WHILE cs_time < 17000 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE DO_FADE 1500 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CLEAR_CUTSCENE SWITCH_RUBBISH ON SET_CAMERA_BEHIND_PLAYER WAIT 500 DO_FADE 1500 FADE_IN SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1271.8 -91.3 13.9 3.0 cs8_door TRUE //UNLOAD_SPECIAL_CHARACTER 1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ3 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ4 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ5 MARK_MODEL_AS_NO_LONGER_NEEDED ind_land089c MARK_MODEL_AS_NO_LONGER_NEEDED mak_semtech MARK_MODEL_AS_NO_LONGER_NEEDED mak_bomb01 //GOTO wiltest //TEST STUFF TO COME OUT!!!!!!!!!!!!!! // ********************************END OF CUTSCENE ONE "GOT THE MONEY"********************** IF flag_taken_money_off_fm3 = 0 ADD_SCORE player -100000 REGISTER_MISSION_GIVEN flag_taken_money_off_fm3 = 1 ENDIF // *********************************START OF THE MISSION STUFF****************************** REQUEST_MODEL PED_GANG_COLOMBIAN_A REQUEST_MODEL PED_GANG_COLOMBIAN_B REQUEST_MODEL barrel4 REQUEST_MODEL CAR_COLUMB WHILE NOT HAS_MODEL_LOADED PED_GANG_COLOMBIAN_B OR NOT HAS_MODEL_LOADED PED_GANG_COLOMBIAN_A OR NOT HAS_MODEL_LOADED barrel4 OR NOT HAS_MODEL_LOADED CAR_COLUMB //OR NOT HAS_SPECIAL_CHARACTER_LOADED 1 WAIT 0 ENDWHILE SETUP_ZONE_PED_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0 SETUP_ZONE_PED_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0 SETUP_ZONE_CAR_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SETUP_ZONE_CAR_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 // barrels on the boat 1 - 6, 10 - 14 removed as they were doubles CREATE_OBJECT barrel4 1535.15 -930.763 18.7294 boat_barrel7 CREATE_OBJECT barrel4 1535.18 -929.604 18.7294 boat_barrel8 CREATE_OBJECT barrel4 1535.21 -928.446 18.7294 boat_barrel9 CREATE_OBJECT barrel4 1484.85 -942.803 18.7328 boat_barrel15 CREATE_OBJECT barrel4 1483.69 -942.752 18.7328 boat_barrel16 CREATE_OBJECT barrel4 1482.53 -942.701 18.7328 boat_barrel17 CLEAR_AREA 1272.8 -96.5 -100.0 1.0 TRUE CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL1 1272.8 -96.5 -100.0 ped_8ball_fm3 SET_CHAR_HEADING ped_8ball_fm3 270.0 CLEAR_CHAR_THREAT_SEARCH ped_8ball_fm3 CHAR_SET_IDLE ped_8ball_fm3 GIVE_WEAPON_TO_PLAYER player WEAPONTYPE_SNIPERRIFLE 30 SET_CURRENT_PLAYER_WEAPON player WEAPONTYPE_SNIPERRIFLE SET_PLAYER_AS_LEADER ped_8ball_fm3 player ADD_BLIP_FOR_COORD 1529.0 -824.0 -100.0 radar_blip_coord2_fm3 WHILE GET_FADING_STATUS WAIT 0 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF IF NOT IS_CHAR_IN_PLAYERS_GROUP ped_8ball_fm3 player AND flag_blip_on_eightball_fm3 = 0 PRINT_NOW ( HEY3 ) 5000 1 //"You have left 8-ball behind go and get him!" ADD_BLIP_FOR_CHAR ped_8ball_fm3 radar_blip_ped2_fm3 REMOVE_BLIP radar_blip_coord2_fm3 blob_flag = 0 flag_blip_on_eightball_fm3 = 1 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_8ball_fm3 8.0 8.0 FALSE AND flag_blip_on_eightball_fm3 = 1 SET_PLAYER_AS_LEADER ped_8ball_fm3 player REMOVE_BLIP radar_blip_ped2_fm3 ADD_BLIP_FOR_COORD 1529.0 -824.0 -100.0 radar_blip_coord2_fm3 blob_flag = 1 flag_blip_on_eightball_fm3 = 0 ENDIF ENDWHILE GET_CONTROLLER_MODE controlmode LOAD_MISSION_AUDIO S3_A timera = 0 WHILE timera < 7000 OR NOT HAS_MISSION_AUDIO_LOADED WAIT 0 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF IF NOT IS_CHAR_IN_PLAYERS_GROUP ped_8ball_fm3 player AND flag_blip_on_eightball_fm3 = 0 PRINT_NOW ( HEY3 ) 5000 1 //"You have left 8-ball behind go and get him!" ADD_BLIP_FOR_CHAR ped_8ball_fm3 radar_blip_ped2_fm3 REMOVE_BLIP radar_blip_coord2_fm3 blob_flag = 0 flag_blip_on_eightball_fm3 = 1 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_8ball_fm3 8.0 8.0 FALSE AND flag_blip_on_eightball_fm3 = 1 SET_PLAYER_AS_LEADER ped_8ball_fm3 player REMOVE_BLIP radar_blip_ped2_fm3 ADD_BLIP_FOR_COORD 1529.0 -824.0 -100.0 radar_blip_coord2_fm3 blob_flag = 1 flag_blip_on_eightball_fm3 = 0 ENDIF IF flag_gun_help1_fm3 = 0 IF controlmode = 0 PRINT_HELP ( HELP7_A ) //"Press and hold the R1 button to target with the sniper rifle." flag_gun_help1_fm3 = 1 ENDIF IF controlmode = 1 PRINT_HELP ( HELP7_A ) //"Press and hold the R1 button to target with the sniper rifle." flag_gun_help1_fm3 = 1 ENDIF IF controlmode = 2 PRINT_HELP ( HELP7_A ) //"Press and hold the R1 button to target with the sniper rifle." flag_gun_help1_fm3 = 1 ENDIF IF controlmode = 3 PRINT_HELP ( HELP7_D ) //"Press and hold the L1 button to target with the sniper rifle." flag_gun_help1_fm3 = 1 ENDIF ENDIF ENDWHILE GET_CONTROLLER_MODE controlmode timera = 0 WHILE timera < 7000 WAIT 0 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF IF NOT IS_CHAR_IN_PLAYERS_GROUP ped_8ball_fm3 player AND flag_blip_on_eightball_fm3 = 0 PRINT_NOW ( HEY3 ) 5000 1 //"You have left 8-ball behind go and get him!" ADD_BLIP_FOR_CHAR ped_8ball_fm3 radar_blip_ped2_fm3 REMOVE_BLIP radar_blip_coord2_fm3 blob_flag = 0 flag_blip_on_eightball_fm3 = 1 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_8ball_fm3 8.0 8.0 FALSE AND flag_blip_on_eightball_fm3 = 1 SET_PLAYER_AS_LEADER ped_8ball_fm3 player REMOVE_BLIP radar_blip_ped2_fm3 ADD_BLIP_FOR_COORD 1529.0 -824.0 -100.0 radar_blip_coord2_fm3 blob_flag = 1 flag_blip_on_eightball_fm3 = 0 ENDIF IF flag_gun_help2_fm3 = 0 IF controlmode = 0 PRINT_HELP ( HELP8_A ) //"Press the ^ button to zoom in with the rifle and the / button to zoom out again." flag_gun_help2_fm3 = 1 ENDIF IF controlmode = 1 PRINT_HELP ( HELP8_A ) //"Press the ^ button to zoom in with the rifle and the / button to zoom out again." flag_gun_help2_fm3 = 1 ENDIF IF controlmode = 2 PRINT_HELP ( HELP8_B ) //"Press the \ button to zoom in with the rifle and the ^ button to zoom out again." flag_gun_help2_fm3 = 1 ENDIF IF controlmode = 3 PRINT_HELP ( HELP8_A ) //"Press the ^ button to zoom in with the rifle and the / button to zoom out again." flag_gun_help2_fm3 = 1 ENDIF ENDIF ENDWHILE GET_CONTROLLER_MODE controlmode timera = 0 WHILE timera < 7000 WAIT 0 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF IF NOT IS_CHAR_IN_PLAYERS_GROUP ped_8ball_fm3 player AND flag_blip_on_eightball_fm3 = 0 PRINT_NOW ( HEY3 ) 5000 1 //"You have left 8-ball behind go and get him!" ADD_BLIP_FOR_CHAR ped_8ball_fm3 radar_blip_ped2_fm3 REMOVE_BLIP radar_blip_coord2_fm3 blob_flag = 0 flag_blip_on_eightball_fm3 = 1 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_8ball_fm3 8.0 8.0 FALSE AND flag_blip_on_eightball_fm3 = 1 SET_PLAYER_AS_LEADER ped_8ball_fm3 player REMOVE_BLIP radar_blip_ped2_fm3 ADD_BLIP_FOR_COORD 1529.0 -824.0 -100.0 radar_blip_coord2_fm3 blob_flag = 1 flag_blip_on_eightball_fm3 = 0 ENDIF IF flag_gun_help3_fm3 = 0 IF controlmode = 0 PRINT_HELP ( HELP9_A ) //"Press the | button to fire the sniper rifle." flag_gun_help3_fm3 = 1 ENDIF IF controlmode = 1 PRINT_HELP ( HELP9_A ) //"Press the | button to fire the sniper rifle." flag_gun_help3_fm3 = 1 ENDIF IF controlmode = 2 PRINT_HELP ( HELP9_B ) //"Press the / button to fire the sniper rifle." flag_gun_help3_fm3 = 1 ENDIF IF controlmode = 3 PRINT_HELP ( HELP9_C ) //"Press the R1 button to fire the sniper rifle." flag_gun_help3_fm3 = 1 ENDIF ENDIF ENDWHILE //sets up the default guards on the boat //guard1 on quayside righthand side of the ramp CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1524.0 -900.0 -100.0 guard1_fm3 TURN_CHAR_TO_FACE_COORD guard1_fm3 1524.0 -887.0 -100.0 GIVE_WEAPON_TO_CHAR guard1_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo CLEAR_CHAR_THREAT_SEARCH guard1_fm3 SET_CHAR_THREAT_SEARCH guard1_fm3 THREAT_PLAYER1 SET_CHAR_PERSONALITY guard1_fm3 PEDSTAT_TOUGH_GUY SET_CHAR_HEED_THREATS guard1_fm3 true //guard2 on quayside left side of the ramp CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B 1530.0 -901.0 -100.0 guard2_fm3 TURN_CHAR_TO_FACE_COORD guard2_fm3 1530.0 -887.0 -100.0 GIVE_WEAPON_TO_CHAR guard2_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo CLEAR_CHAR_THREAT_SEARCH guard2_fm3 SET_CHAR_THREAT_SEARCH guard2_fm3 THREAT_PLAYER1 SET_CHAR_PERSONALITY guard2_fm3 PEDSTAT_TOUGH_GUY SET_CHAR_HEED_THREATS guard2_fm3 true //guard3 on boat left hand side by exploding creates CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1534.6 -936.8 18.4 guard3_fm3 //follows route 0 ADD_ROUTE_POINT 0 1533.9 -926.0 -100.0 ADD_ROUTE_POINT 0 1534.6 -936.8 -100.0 SET_CHAR_OBJ_FOLLOW_ROUTE guard3_fm3 0 follow_route_loop GIVE_WEAPON_TO_CHAR guard3_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo CLEAR_CHAR_THREAT_SEARCH guard3_fm3 SET_CHAR_THREAT_SEARCH guard3_fm3 THREAT_PLAYER1 SET_CHAR_PERSONALITY guard3_fm3 PEDSTAT_TOUGH_GUY SET_CHAR_HEED_THREATS guard3_fm3 true //guard4 on boat walks behind the large containers towards the rear of the shop CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B 1510.2 -941.7 18.4 guard4_fm3 //follows route 1 ADD_ROUTE_POINT 1 1527.5 -942.9 -100.0 ADD_ROUTE_POINT 1 1510.2 -941.7 -100.0 SET_CHAR_OBJ_FOLLOW_ROUTE guard4_fm3 1 follow_route_loop GIVE_WEAPON_TO_CHAR guard4_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo CLEAR_CHAR_THREAT_SEARCH guard4_fm3 SET_CHAR_THREAT_SEARCH guard4_fm3 THREAT_PLAYER1 SET_CHAR_PERSONALITY guard4_fm3 PEDSTAT_TOUGH_GUY SET_CHAR_HEED_THREATS guard4_fm3 true //guard5 on boat just behid the first row of boxes CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1502.6 -926.7 -100.0 guard5_fm3 //follows route 2 ADD_ROUTE_POINT 2 1512.2 -927.6 -100.0 ADD_ROUTE_POINT 2 1502.6 -926.7 -100.0 SET_CHAR_OBJ_FOLLOW_ROUTE guard5_fm3 2 follow_route_loop GIVE_WEAPON_TO_CHAR guard5_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo CLEAR_CHAR_THREAT_SEARCH guard5_fm3 SET_CHAR_THREAT_SEARCH guard5_fm3 THREAT_PLAYER1 SET_CHAR_THREAT_SEARCH guard5_fm3 THREAT_SPECIAL SET_CHAR_PERSONALITY guard5_fm3 PEDSTAT_TOUGH_GUY SET_CHAR_HEED_THREATS guard5_fm3 true //guard6 on boat by the rail of the boat CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B 1472.5 -917.7 -100.0 guard6_fm3 //follows route 3 ADD_ROUTE_POINT 3 1507.1 -918.7 -100.0 ADD_ROUTE_POINT 3 1472.5 -917.7 -100.0 SET_CHAR_OBJ_FOLLOW_ROUTE guard6_fm3 3 follow_route_loop GIVE_WEAPON_TO_CHAR guard6_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo CLEAR_CHAR_THREAT_SEARCH guard6_fm3 SET_CHAR_THREAT_SEARCH guard6_fm3 THREAT_PLAYER1 SET_CHAR_PERSONALITY guard6_fm3 PEDSTAT_TOUGH_GUY SET_CHAR_HEED_THREATS guard6_fm3 true //guard7 on boat end of large boxes by crate 4 CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1500.3 -922.2 -100.0 guard7_fm3 //follows route 4 ADD_ROUTE_POINT 4 1499.1 -943.7 -100.0 ADD_ROUTE_POINT 4 1500.3 -922.2 -100.0 SET_CHAR_OBJ_FOLLOW_ROUTE guard7_fm3 4 follow_route_loop GIVE_WEAPON_TO_CHAR guard7_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo CLEAR_CHAR_THREAT_SEARCH guard7_fm3 SET_CHAR_THREAT_SEARCH guard7_fm3 THREAT_PLAYER1 SET_CHAR_PERSONALITY guard7_fm3 PEDSTAT_TOUGH_GUY SET_CHAR_HEED_THREATS guard7_fm3 true //Guard8 between second last container and crates 5,6 and 7 CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1489.5 -955.8 -100.0 guard8_fm3 //follows route 5 ADD_ROUTE_POINT 5 1490.2 -924.8 -100.0 ADD_ROUTE_POINT 5 1489.5 -955.8 -100.0 SET_CHAR_OBJ_FOLLOW_ROUTE guard8_fm3 5 follow_route_loop GIVE_WEAPON_TO_CHAR guard8_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo CLEAR_CHAR_THREAT_SEARCH guard8_fm3 SET_CHAR_THREAT_SEARCH guard8_fm3 THREAT_PLAYER1 SET_CHAR_PERSONALITY guard8_fm3 PEDSTAT_TOUGH_GUY SET_CHAR_HEED_THREATS guard8_fm3 true //guard9 stands on top of crate6 does not patrol CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B 1484.4 -930.5 19.8 guard9_fm3 TURN_CHAR_TO_FACE_COORD guard9_fm3 1487.8 -925.6 -100.0 GIVE_WEAPON_TO_CHAR guard9_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo CLEAR_CHAR_THREAT_SEARCH guard9_fm3 SET_CHAR_THREAT_SEARCH guard9_fm3 THREAT_PLAYER1 SET_CHAR_PERSONALITY guard9_fm3 PEDSTAT_TOUGH_GUY SET_CHAR_HEED_THREATS guard9_fm3 true //guard10 walks from right hand side boat door to behind containers and back again CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1476.8 -950.9 -100.0 guard10_fm3 //follows route 6 ADD_ROUTE_POINT 6 1476.8 -950.9 -100.0 ADD_ROUTE_POINT 6 1476.8 -927.2 -100.0 SET_CHAR_OBJ_FOLLOW_ROUTE guard10_fm3 6 follow_route_loop GIVE_WEAPON_TO_CHAR guard10_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo CLEAR_CHAR_THREAT_SEARCH guard10_fm3 SET_CHAR_THREAT_SEARCH guard10_fm3 THREAT_PLAYER1 SET_CHAR_PERSONALITY guard10_fm3 PEDSTAT_TOUGH_GUY SET_CHAR_HEED_THREATS guard10_fm3 true //guard11 on boat top right of the gang plank CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1524.0 -919.0 -100.0 guard11_fm3 TURN_CHAR_TO_FACE_COORD guard11_fm3 1525.0 -897.0 -100.0 GIVE_WEAPON_TO_CHAR guard11_fm3 WEAPONTYPE_CHAINGUN 30000 // AK47 sets weapon to infinate ammo CLEAR_CHAR_THREAT_SEARCH guard11_fm3 SET_CHAR_THREAT_SEARCH guard11_fm3 THREAT_PLAYER1 SET_CHAR_PERSONALITY guard11_fm3 PEDSTAT_TOUGH_GUY SET_CHAR_HEED_THREATS guard11_fm3 true //guard12 on boat top left hand side of the gang plank CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1529.0 -919.0 -100.0 guard12_fm3 TURN_CHAR_TO_FACE_COORD guard12_fm3 1525.0 -897.0 -100.0 GIVE_WEAPON_TO_CHAR guard12_fm3 WEAPONTYPE_CHAINGUN 30000 // AK47 sets weapon to infinate ammo CLEAR_CHAR_THREAT_SEARCH guard12_fm3 SET_CHAR_THREAT_SEARCH guard12_fm3 THREAT_PLAYER1 SET_CHAR_PERSONALITY guard12_fm3 PEDSTAT_TOUGH_GUY SET_CHAR_HEED_THREATS guard12_fm3 true CREATE_CAR CAR_COLUMB 1534.4 -891.5 10.8 car_columb1_fm3 SET_CAR_HEADING car_columb1_fm3 90.0 CREATE_CAR CAR_COLUMB 1515.7 -896.3 10.8 car_columb2_fm3 SET_CAR_HEADING car_columb2_fm3 314.0 // waiting for the boat to be destroyed blob_flag = 1 WHILE NOT flag_bloke_in_area_fm3 = 13 WAIT 0 GOSUB car_dead_check GOSUB guard_death_check //GOSUB clear_area_check_fm3 IF flag_bloke_leave_group_fm3 = 0 IF counter_no_guards_dead_fm3 > 0 PRINT_NOW ( FM3_8 ) 5000 1 //"The guards have been alerted!" GOTO mission_frankie3_failed ENDIF ENDIF IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ELSE GET_CHAR_COORDINATES ped_8ball_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 ENDIF IF flag_bloke_leave_group_fm3 = 0 IF NOT IS_CHAR_IN_PLAYERS_GROUP ped_8ball_fm3 player AND flag_blip_on_eightball_fm3 = 0 PRINT_NOW ( HEY3 ) 5000 1 //"You have left 8-ball behind go and get him!" ADD_BLIP_FOR_CHAR ped_8ball_fm3 radar_blip_ped2_fm3 REMOVE_BLIP radar_blip_coord2_fm3 blob_flag = 0 flag_blip_on_eightball_fm3 = 1 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_8ball_fm3 8.0 8.0 FALSE AND flag_blip_on_eightball_fm3 = 1 SET_PLAYER_AS_LEADER ped_8ball_fm3 player REMOVE_BLIP radar_blip_ped2_fm3 ADD_BLIP_FOR_COORD 1529.0 -824.0 -100.0 radar_blip_coord2_fm3 // CHANGE_BLIP_DISPLAY radar_blip_coord2_fm3 blip_only blob_flag = 1 flag_blip_on_eightball_fm3 = 0 ENDIF ENDIF IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player car_fm3 ENDIF IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF IF flag_bloke_leave_group_fm3 = 0 IF LOCATE_STOPPED_PLAYER_ANY_MEANS_2D player 1529.0 -824.0 3.0 4.0 blob_flag AND LOCATE_STOPPED_CHAR_ANY_MEANS_2D ped_8ball_fm3 1529.0 -824.0 3.0 4.0 TRUE AND flag_bloke_leave_group_fm3 = 0 REMOVE_BLIP radar_blip_coord2_fm3 LEAVE_GROUP ped_8ball_fm3 flag_bloke_leave_group_fm3 = 1 SWITCH_WIDESCREEN ON SET_PLAYER_CONTROL player OFF SET_POLICE_IGNORE_PLAYER player ON SET_EVERYONE_IGNORE_PLAYER player ON IF flag_got_message_fm3 = 0 AND flag_bloke_leave_group_fm3 = 1 IF flag_played_8ball_audio_fm3 = 0 PLAY_MISSION_AUDIO flag_played_8ball_audio_fm3 = 1 ENDIF PRINT_NOW ( FM3_8I ) 5000 1 //"Get a good vantage point and I'll head in when you fire the first shot." ADD_BLIP_FOR_COORD 1498.7 -870.5 -100.0 radar_blip_coord3_fm3 flag_bloke_in_area_fm3 = 1 flag_got_message_fm3 = 1 ENDIF WHILE NOT HAS_MISSION_AUDIO_FINISHED WAIT 0 GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE // Camera looks at the boat and guards SET_FIXED_CAMERA_POSITION 1543.01 -877.81 16.84 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 1542.43 -878.62 16.75 JUMP_CUT IF flag_timer_fm3 = 0 timera = 0 flag_timer_fm3 = 1 ENDIF WHILE timera <= 5000 WAIT 0 IF IS_BUTTON_PRESSED PAD1 CROSS GOTO camera_jump_fm3 ENDIF GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE CLEAR_AREA 1536.8 -895.0 10.8 1.0 FALSE SET_FIXED_CAMERA_POSITION 1537.1 -899.8 12.5 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 1536.4 -900.4 12.7 JUMP_CUT IF flag_timer_fm3 = 1 AND flag_timer2_fm3 = 0 timera = 0 flag_timer2_fm3 = 1 ENDIF WHILE timera <= 5000 WAIT 0 IF IS_BUTTON_PRESSED PAD1 CROSS GOTO camera_jump_fm3 ENDIF GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE CLEAR_AREA 1522.839 -916.137 19.602 1.0 FALSE SET_FIXED_CAMERA_POSITION 1522.839 -916.137 19.602 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 1521.984 -916.648 19.699 JUMP_CUT IF flag_timer3_fm3 = 0 AND flag_timer2_fm3 = 1 timera = 0 flag_timer3_fm3 = 1 ENDIF WHILE timera <= 5000 WAIT 0 IF IS_BUTTON_PRESSED PAD1 CROSS GOTO camera_jump_fm3 ENDIF GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE CLEAR_AREA 1476.3 -922.7 19.0 1.0 FALSE SET_FIXED_CAMERA_POSITION 1476.3 -922.7 19.0 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 1477.1 -923.3 19.1 JUMP_CUT IF flag_timer4_fm3 = 0 AND flag_timer3_fm3 = 1 timera = 0 flag_timer4_fm3 = 1 ENDIF WHILE timera <= 5000 WAIT 0 IF IS_BUTTON_PRESSED PAD1 CROSS GOTO camera_jump_fm3 ENDIF GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE camera_jump_fm3: RESTORE_CAMERA_JUMPCUT GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF // checks to see if the player is in a vehicle IF IS_CHAR_IN_ANY_CAR ped_8ball_fm3 //PRINT_NOW ( FM3_4 ) 7000 1 //"Stop the vehicle and let me out!" STORE_CAR_CHAR_IS_IN ped_8ball_fm3 car_fm3 WHILE NOT IS_CAR_STOPPED car_fm3 WAIT 0 GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CAR_DEAD car_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ELSE PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle wrecked!" GOTO mission_frankie3_failed ENDIF ENDIF IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE WAIT 0 GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CAR_DEAD car_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ELSE PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle wrecked!" GOTO mission_frankie3_failed ENDIF ENDIF IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF SET_CHAR_OBJ_LEAVE_CAR ped_8ball_fm3 car_fm3 WHILE IS_CHAR_IN_CAR ped_8ball_fm3 car_fm3 WAIT 0 GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CAR_DEAD car_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ELSE PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle wrecked!" GOTO mission_frankie3_failed ENDIF ENDIF IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE ENDIF SWITCH_WIDESCREEN OFF SET_PLAYER_CONTROL player ON SET_POLICE_IGNORE_PLAYER player OFF SET_EVERYONE_IGNORE_PLAYER player OFF ENDIF ENDIF // tells players mate to go to his stageing area IF flag_bloke_in_area_fm3 < 13 GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF LOCATE_PLAYER_ON_FOOT_3D player 1498.7 -870.5 26.8 3.0 3.0 2.0 FALSE REMOVE_BLIP radar_blip_coord3_fm3 ENDIF IF flag_played_8ball_audio_fm3 = 1 IF flag_played_cops_audio_fm3 = 0 IF HAS_MISSION_AUDIO_FINISHED CLEAR_THIS_PRINT ( FM3_8I ) ENDIF ENDIF ENDIF IF flag_bloke_in_area_fm3 = 1 IF flag_8ball_ordered_area1 = 0 SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1545.9 -867.7 timera = 0 flag_8ball_ordered_area1 = 1 ENDIF IF flag_8ball_moved1 = 0 IF timera >= 25000 IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1545.9 -867.7 1.0 1.0 FALSE SET_CHAR_COORDINATES ped_8ball_fm3 1545.9 -867.7 10.8 flag_8ball_moved1 = 1 ENDIF ENDIF ENDIF IF flag_8ball_ducking_fm3 = 0 IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1545.9 -867.7 1.0 1.0 FALSE flag_8ball_moved1 = 1 SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 10000 flag_8ball_ducking_fm3 = 1 ENDIF ENDIF IF counter_no_guards_dead_fm3 > 0 OR IS_PLAYER_SHOOTING_IN_AREA player 1610.6 -614.6 1340.9 -1074.5 FALSE TIMERB = 0 WHILE TIMERB < 5000 WAIT 0 GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE flag_bloke_in_area_fm3 = 2 IF flag_car_marked_fm3 = 0 MARK_CAR_AS_NO_LONGER_NEEDED car_columb1_fm3 MARK_CAR_AS_NO_LONGER_NEEDED car_columb2_fm3 flag_car_marked_fm3 = 1 ENDIF ENDIF ENDIF // Bottom of boat ramp IF flag_bloke_in_area_fm3 = 2 SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1527.0 -899.0 IF flag_timer_set_fm3 = 0 timera = 0 flag_timer_set_fm3 = 1 ENDIF IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1527.0 -899.0 2.0 2.0 FALSE flag_8ball_moved2 = 1 flag_bloke_in_area_fm3 = 3 ENDIF IF flag_8ball_moved2 = 0 IF timera >= 20000 IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1527.0 -899.0 2.0 2.0 FALSE SET_CHAR_COORDINATES ped_8ball_fm3 1527.0 -899.0 10.8 flag_8ball_moved2 = 1 ENDIF ENDIF ENDIF ENDIF // Top of the boat ramp IF flag_bloke_in_area_fm3 = 3 SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1526.0 -919.0 IF flag_timer_set_fm3 = 1 timera = 0 flag_timer_set_fm3 = 2 ENDIF IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1526.0 -919.0 2.0 2.0 FALSE flag_8ball_moved3 = 1 flag_bloke_in_area_fm3 = 4 ENDIF IF flag_8ball_moved3 = 0 IF timera >= 20000 IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1526.0 -919.0 2.0 2.0 FALSE SET_CHAR_COORDINATES ped_8ball_fm3 1526.0 -919.0 18.4 flag_8ball_moved3 = 1 ENDIF ENDIF ENDIF ENDIF // create one on the boat IF flag_bloke_in_area_fm3 = 4 SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1522.9 -924.3 IF flag_timer_set_fm3 = 2 timera = 0 flag_timer_set_fm3 = 3 ENDIF IF flag_8ball_moved4 = 0 IF timera >= 25000 IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1522.9 -924.3 1.0 1.0 FALSE SET_CHAR_COORDINATES ped_8ball_fm3 1522.9 -924.3 18.4 flag_8ball_moved4 = 1 ENDIF ENDIF ENDIF IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1522.9 -924.3 1.0 1.0 FALSE flag_8ball_moved4 = 1 IF counter_no_guards_dead_fm3 < 12 IF flag_8ball_ducking_fm3 = 1 SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 5000 flag_8ball_ducking_fm3 = 2 ENDIF TIMERB = 0 WHILE TIMERB < 5000 WAIT 0 GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE ENDIF flag_bloke_in_area_fm3 = 5 ENDIF ENDIF // Create two on the boat IF flag_bloke_in_area_fm3 = 5 SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1517.0 -929.0 IF flag_timer_set_fm3 = 3 timera = 0 flag_timer_set_fm3 = 4 ENDIF IF flag_8ball_moved5 = 0 IF timera >= 25000 IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1517.0 -929.0 1.0 1.0 FALSE SET_CHAR_COORDINATES ped_8ball_fm3 1517.0 -929.0 18.4 flag_8ball_moved5 = 1 ENDIF ENDIF ENDIF IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1517.0 -929.0 1.0 1.0 FALSE flag_8ball_moved5 = 1 LOAD_MISSION_AUDIO S3_B IF counter_no_guards_dead_fm3 < 12 IF flag_8ball_ducking_fm3 = 2 SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 5000 flag_8ball_ducking_fm3 = 3 ENDIF TIMERB = 0 WHILE TIMERB < 5000 WAIT 0 GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE ENDIF flag_bloke_in_area_fm3 = 6 IF HAS_MISSION_AUDIO_LOADED flag_audio_cops_loaded_fm3 = 1 ENDIF IF flag_played_cops_audio_fm3 = 0 IF flag_audio_cops_loaded_fm3 = 1 PLAY_MISSION_AUDIO flag_played_cops_audio_fm3 = 1 ENDIF ENDIF ENDIF ENDIF // Create three on the boat IF flag_bloke_in_area_fm3 = 6 SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1510.0 -923.0 IF flag_timer_set_fm3 = 4 timera = 0 flag_timer_set_fm3 = 5 ENDIF IF flag_8ball_moved6 = 0 IF timera >= 25000 IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1510.0 -923.0 1.0 1.0 FALSE SET_CHAR_COORDINATES ped_8ball_fm3 1510.0 -923.0 18.4 flag_8ball_moved6 = 1 ENDIF ENDIF ENDIF IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1510.0 -923.0 1.0 1.0 FALSE flag_8ball_moved6 = 1 IF counter_no_guards_dead_fm3 < 12 IF flag_8ball_ducking_fm3 = 3 SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 5000 flag_8ball_ducking_fm3 = 4 ENDIF TIMERB = 0 WHILE TIMERB < 5000 WAIT 0 GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE ENDIF flag_bloke_in_area_fm3 = 7 ENDIF ENDIF // Create four on the boat IF flag_bloke_in_area_fm3 = 7 SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1504.4 -928.6 IF flag_timer_set_fm3 = 5 timera = 0 flag_timer_set_fm3 = 6 ENDIF IF flag_8ball_moved7 = 0 IF timera >= 25000 IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1504.4 -928.6 1.0 1.0 FALSE SET_CHAR_COORDINATES ped_8ball_fm3 1504.4 -928.6 18.4 flag_8ball_moved7 = 1 ENDIF ENDIF ENDIF IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1504.4 -928.6 1.0 1.0 FALSE flag_8ball_moved7 = 1 IF counter_no_guards_dead_fm3 < 12 IF flag_8ball_ducking_fm3 = 4 SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 5000 flag_8ball_ducking_fm3 = 5 ENDIF TIMERB = 0 WHILE TIMERB < 5000 WAIT 0 GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE ENDIF flag_bloke_in_area_fm3 = 8 ENDIF ENDIF // Create five on the boat IF flag_bloke_in_area_fm3 = 8 SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1493.7 -922.1 IF flag_timer_set_fm3 = 6 timera = 0 flag_timer_set_fm3 = 7 ENDIF IF flag_8ball_moved8 = 0 IF timera >= 25000 IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1493.7 -922.1 1.0 1.0 FALSE SET_CHAR_COORDINATES ped_8ball_fm3 1493.7 -922.1 18.4 flag_8ball_moved8 = 1 ENDIF ENDIF ENDIF IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1493.7 -922.1 1.0 1.0 FALSE flag_8ball_moved8 = 1 IF counter_no_guards_dead_fm3 < 12 IF flag_8ball_ducking_fm3 = 5 SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 5000 flag_8ball_ducking_fm3 = 6 ENDIF TIMERB = 0 WHILE TIMERB < 5000 WAIT 0 GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE ENDIF flag_bloke_in_area_fm3 = 9 ENDIF ENDIF // Create six on the boat IF flag_bloke_in_area_fm3 = 9 SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1487.0 -930.2 IF flag_timer_set_fm3 = 7 timera = 0 flag_timer_set_fm3 = 8 ENDIF IF flag_8ball_moved9 = 0 IF timera >= 25000 IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1487.0 -930.2 1.0 1.0 FALSE SET_CHAR_COORDINATES ped_8ball_fm3 1487.0 -930.2 18.4 flag_8ball_moved9 = 1 ENDIF ENDIF ENDIF IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1487.0 -930.2 1.0 1.0 FALSE flag_8ball_moved9 = 1 IF counter_no_guards_dead_fm3 < 12 IF flag_8ball_ducking_fm3 = 6 SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 5000 flag_8ball_ducking_fm3 = 7 ENDIF TIMERB = 0 WHILE TIMERB < 5000 WAIT 0 GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE ENDIF flag_bloke_in_area_fm3 = 10 ENDIF ENDIF // just past crate six IF flag_bloke_in_area_fm3 = 10 SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1481.5 -926.8 IF flag_timer_set_fm3 = 8 timera = 0 flag_timer_set_fm3 = 9 ENDIF IF flag_8ball_moved10 = 0 IF timera >= 15000 IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1481.5 -926.8 1.0 1.0 FALSE SET_CHAR_COORDINATES ped_8ball_fm3 1481.5 -926.8 18.4 flag_8ball_moved10 = 1 ENDIF ENDIF ENDIF IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1481.5 -926.8 1.0 1.0 FALSE flag_8ball_moved10 = 1 flag_bloke_in_area_fm3 = 11 ENDIF ENDIF // Outside the door on the boat IF flag_bloke_in_area_fm3 = 11 SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1475.8 -940.3 IF flag_timer_set_fm3 = 9 timera = 0 flag_timer_set_fm3 = 10 ENDIF IF flag_8ball_moved11 = 0 IF timera >= 15000 IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1475.8 -940.3 1.0 1.0 FALSE SET_CHAR_COORDINATES ped_8ball_fm3 1475.8 -940.3 18.4 flag_8ball_moved11 = 1 ENDIF ENDIF ENDIF IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1475.8 -940.3 1.0 1.0 FALSE flag_8ball_moved11 = 1 flag_bloke_in_area_fm3 = 12 ENDIF ENDIF // Inside the door on the boat IF flag_bloke_in_area_fm3 = 12 SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1474.2 -940.2 IF flag_timer_set_fm3 = 10 timera = 0 flag_timer_set_fm3 = 11 ENDIF IF flag_8ball_moved12 = 0 IF timera >= 25000 IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1474.2 -940.2 0.5 0.5 FALSE SET_CHAR_COORDINATES ped_8ball_fm3 1474.2 -940.2 18.4 flag_8ball_moved12 = 1 ENDIF ENDIF ENDIF IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1474.2 -940.2 0.5 0.5 FALSE flag_8ball_moved12 = 1 CHAR_SET_IDLE ped_8ball_fm3 flag_bloke_in_area_fm3 = 13 TIMERB = 0 WHILE TIMERB < 3000 WAIT 0 GOSUB car_dead_check GOSUB guard_death_check GOSUB clear_area_check_fm3 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE ENDIF ENDIF ENDIF ENDWHILE // *********waiting for 8ball to place the bomb and then he legs it off of the boat******** timera = 0 WHILE timera < 3000 WAIT 0 GOSUB car_dead_check GOSUB guard_death_check IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF ENDWHILE // ***********************************BOAT BLOWING UP CUTSCENE****************************** //wiltest: // TEST STUFF TO COME OUT!!!!!!!!!!!!!!!!!!!!!!!! GET_GAME_TIMER breakout_timer_start breakout_diff = 0 WHILE NOT CAN_PLAYER_START_MISSION Player AND breakout_diff < 5000 // if player is not in control after 5 secs do the cutscene anyway WAIT 0 IF IS_CHAR_DEAD ped_8ball_fm3 PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!" GOTO mission_frankie3_failed ENDIF GET_GAME_TIMER breakout_timer breakout_diff = breakout_timer - breakout_timer_start ENDWHILE MAKE_PLAYER_SAFE_FOR_CUTSCENE player SET_FADING_COLOUR 0 0 0 DO_FADE 1500 FADE_OUT SWITCH_STREAMING OFF // Cutscene stuff LOAD_SPECIAL_MODEL cut_obj1 ship LOAD_SPECIAL_MODEL cut_obj2 gangp //LOAD_SPECIAL_CHARACTER 1 EIGHT2 // TEST STUFF WHILE GET_FADING_STATUS WAIT 0 ENDWHILE REMOVE_CHAR_ELEGANTLY guard1_fm3 REMOVE_CHAR_ELEGANTLY guard2_fm3 REMOVE_CHAR_ELEGANTLY guard3_fm3 REMOVE_CHAR_ELEGANTLY guard4_fm3 REMOVE_CHAR_ELEGANTLY guard5_fm3 REMOVE_CHAR_ELEGANTLY guard6_fm3 REMOVE_CHAR_ELEGANTLY guard7_fm3 REMOVE_CHAR_ELEGANTLY guard8_fm3 REMOVE_CHAR_ELEGANTLY guard9_fm3 REMOVE_CHAR_ELEGANTLY guard10_fm3 REMOVE_CHAR_ELEGANTLY guard11_fm3 REMOVE_CHAR_ELEGANTLY guard12_fm3 CLEAR_AREA 1519.02 -934.60 18.4 25.0 TRUE DELETE_OBJECT boat_barrel7 DELETE_OBJECT boat_barrel8 DELETE_OBJECT boat_barrel9 DELETE_OBJECT boat_barrel15 DELETE_OBJECT boat_barrel16 DELETE_OBJECT boat_barrel17 LOAD_ALL_MODELS_NOW WHILE NOT HAS_MODEL_LOADED cut_obj1 OR NOT HAS_MODEL_LOADED cut_obj2 //OR NOT HAS_SPECIAL_CHARACTER_LOADED 1 // TEST STUFF WAIT 0 ENDWHILE // Swaps boat for building lod then sets boat lod to invisible SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1508.77 -937.206 20.6832 50.0 rustship_structure FALSE SWAP_NEAREST_BUILDING_MODEL 1508.77 -937.206 20.6832 50.0 rustship_structure LOD_land014 SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1508.77 -937.206 20.6832 50.0 LODtship_structure FALSE SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1526.75 -907.423 14.2965 50.0 boatramp1 FALSE SWAP_NEAREST_BUILDING_MODEL 1526.75 -907.423 14.2965 50.0 boatramp1 LOD_land014 LOAD_CUTSCENE s4_bdbd SET_CUTSCENE_OFFSET 1573.8866 -906.0611 11.1 CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_eight SET_CUTSCENE_ANIM cs_eight eight2 CREATE_CUTSCENE_OBJECT cut_obj1 cs_ship SET_CUTSCENE_ANIM cs_ship ship CREATE_CUTSCENE_OBJECT cut_obj2 cs_gangplank SET_CUTSCENE_ANIM cs_gangplank gangp CLEAR_AREA 1526.5 -894.8 -100.0 1.0 TRUE SET_PLAYER_COORDINATES player 1526.5 -894.8 -100.0 SET_PLAYER_HEADING player 180.0 DO_FADE 1500 FADE_IN DELETE_CHAR ped_8ball_fm3 SWITCH_RUBBISH OFF SWITCH_STREAMING ON START_CUTSCENE START_BOAT_FOAM_ANIMATION UPDATE_BOAT_FOAM_ANIMATION cs_ship // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time < 1433 WAIT 0 GET_CUTSCENE_TIME cs_time UPDATE_BOAT_FOAM_ANIMATION cs_ship ENDWHILE ADD_EXPLOSION 1478.48 -936.52 20.4 EXPLOSION_HELI WHILE cs_time < 2565 WAIT 0 GET_CUTSCENE_TIME cs_time UPDATE_BOAT_FOAM_ANIMATION cs_ship ENDWHILE ADD_EXPLOSION 1479.48 -936.52 20.4 EXPLOSION_HELI WHILE cs_time < 3433 WAIT 0 GET_CUTSCENE_TIME cs_time UPDATE_BOAT_FOAM_ANIMATION cs_ship ENDWHILE ADD_EXPLOSION 1481.48 -936.52 20.4 EXPLOSION_HELI WHILE cs_time < 4433 WAIT 0 GET_CUTSCENE_TIME cs_time UPDATE_BOAT_FOAM_ANIMATION cs_ship ENDWHILE ADD_EXPLOSION 1487.92 -933.90 20.4 EXPLOSION_HELI WHILE cs_time < 5833 WAIT 0 GET_CUTSCENE_TIME cs_time UPDATE_BOAT_FOAM_ANIMATION cs_ship ENDWHILE ADD_EXPLOSION 1490.70 -928.15 20.4 EXPLOSION_HELI WHILE cs_time < 6433 WAIT 0 GET_CUTSCENE_TIME cs_time UPDATE_BOAT_FOAM_ANIMATION cs_ship ENDWHILE ADD_EXPLOSION 1595.53 -921.84 20.4 EXPLOSION_HELI WHILE cs_time < 7433 WAIT 0 GET_CUTSCENE_TIME cs_time UPDATE_BOAT_FOAM_ANIMATION cs_ship ENDWHILE ADD_EXPLOSION 1500.53 -921.84 20.4 EXPLOSION_HELI WHILE cs_time < 8433 WAIT 0 GET_CUTSCENE_TIME cs_time UPDATE_BOAT_FOAM_ANIMATION cs_ship ENDWHILE ADD_EXPLOSION 1502.53 -921.84 20.4 EXPLOSION_HELI WHILE cs_time < 9633 WAIT 0 GET_CUTSCENE_TIME cs_time UPDATE_BOAT_FOAM_ANIMATION cs_ship ENDWHILE ADD_EXPLOSION 1510.5 -918.2 20.4 EXPLOSION_HELI WHILE cs_time < 12833 WAIT 0 GET_CUTSCENE_TIME cs_time UPDATE_BOAT_FOAM_ANIMATION cs_ship ENDWHILE ADD_EXPLOSION 1510.5 -918.2 20.4 EXPLOSION_HELI WHILE cs_time < 13000 WAIT 0 GET_CUTSCENE_TIME cs_time UPDATE_BOAT_FOAM_ANIMATION cs_ship ENDWHILE ADD_EXPLOSION 1518.02 -931.86 19.4 EXPLOSION_HELI WHILE cs_time < 33333 WAIT 0 GET_CUTSCENE_TIME cs_time UPDATE_BOAT_FOAM_ANIMATION cs_ship ENDWHILE DO_FADE 1500 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CLEAR_CUTSCENE SWITCH_RUBBISH ON SET_CAMERA_BEHIND_PLAYER WAIT 500 DO_FADE 1500 FADE_IN UNLOAD_SPECIAL_CHARACTER 1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 // *****************************END OF BOAT BLOWING UP CUTSCENE***************************** GOTO mission_frankie3_passed } // Mission Failed stuff mission_frankie3_failed: SET_PLAYER_AMMO player WEAPONTYPE_SNIPERRIFLE 0 PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" RETURN // mission Frankie3 passed mission_frankie3_passed: flag_frankie_mission3_passed = 1 REGISTER_MISSION_PASSED ( FM3 ) PLAYER_MADE_PROGRESS 1 CANCEL_OVERRIDE_RESTART PRINT_WITH_NUMBER_BIG ( m_pass ) 150000 5000 1 //"Mission Passed!" PLAY_MISSION_PASSED_TUNE 1 ADD_SCORE player 150000 CLEAR_WANTED_LEVEL player REMOVE_BLIP eightball_contact_blip flag_frankie_switched_off = 0 ADD_SPRITE_BLIP_FOR_CONTACT_POINT 1455.7 -187.3 -100.0 RADAR_SPRITE_SAL frankie_contact_blip START_NEW_SCRIPT frankie_mission4_loop START_NEW_SCRIPT emergency_crane_pager RETURN // mission cleanup mission_cleanup_frankie3: flag_player_on_mission = 0 flag_player_on_frankie_mission = 0 flag_on_frankie3 = 0 IF NOT IS_CHAR_DEAD guard1_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard1_fm3 FALSE ENDIF IF NOT IS_CHAR_DEAD guard2_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard2_fm3 FALSE ENDIF IF NOT IS_CHAR_DEAD guard3_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard3_fm3 FALSE ENDIF IF NOT IS_CHAR_DEAD guard4_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard4_fm3 FALSE ENDIF IF NOT IS_CHAR_DEAD guard5_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard5_fm3 FALSE ENDIF IF NOT IS_CHAR_DEAD guard6_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard6_fm3 FALSE ENDIF IF NOT IS_CHAR_DEAD guard7_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard7_fm3 FALSE ENDIF IF NOT IS_CHAR_DEAD guard8_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard8_fm3 FALSE ENDIF IF NOT IS_CHAR_DEAD guard9_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard9_fm3 FALSE ENDIF IF NOT IS_CHAR_DEAD guard10_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard10_fm3 FALSE ENDIF IF NOT IS_CHAR_DEAD guard11_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard11_fm3 FALSE ENDIF IF NOT IS_CHAR_DEAD guard12_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard12_fm3 FALSE ENDIF REMOVE_CHAR_ELEGANTLY ped_8ball_fm3 MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_COLOMBIAN_A MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_COLOMBIAN_B MARK_MODEL_AS_NO_LONGER_NEEDED barrel4 MARK_CHAR_AS_NO_LONGER_NEEDED ped_8ball_fm3 MARK_MODEL_AS_NO_LONGER_NEEDED CAR_COLUMB REMOVE_BLIP radar_blip_coord2_fm3 REMOVE_BLIP radar_blip_coord3_fm3 CLEAR_ONSCREEN_TIMER timer_fm3 REMOVE_ROUTE 0 REMOVE_ROUTE 1 REMOVE_ROUTE 2 REMOVE_ROUTE 3 REMOVE_ROUTE 4 REMOVE_ROUTE 5 REMOVE_ROUTE 6 SETUP_ZONE_PED_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0 SETUP_ZONE_PED_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0 SETUP_ZONE_CAR_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SETUP_ZONE_CAR_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DELETE_OBJECT boat_barrel7 DELETE_OBJECT boat_barrel8 DELETE_OBJECT boat_barrel9 DELETE_OBJECT boat_barrel15 DELETE_OBJECT boat_barrel16 DELETE_OBJECT boat_barrel17 MISSION_HAS_FINISHED RETURN guard_death_check: // guard1 IF flag_guard1_fm3_dead = 0 IF IS_CHAR_DEAD guard1_fm3 flag_guard1_fm3_dead = 1 ++ counter_no_guards_dead_fm3 ELSE IF flag_guard1_looking_for_8ball = 0 IF flag_bloke_in_area_fm3 = 2 OR flag_guard2_fm3_dead = 1 OR flag_columb_car1_dead = 1 OR flag_columb_car2_dead = 1 IF flag_columb_car2_dead = 0 SET_CHAR_OBJ_RUN_TO_COORD guard1_fm3 1517.6 -896.6 ELSE SET_CHAR_OBJ_RUN_TO_COORD guard1_fm3 1523.3 -893.7 ENDIF SET_CHAR_THREAT_SEARCH guard1_fm3 THREAT_SPECIAL //Guard now looks out for 8-ball flag_guard1_looking_for_8ball = 1 ENDIF ENDIF IF flag_guard1_looking_for_8ball = 1 IF flag_columb_car2_dead = 0 IF LOCATE_CHAR_ON_FOOT_3D guard1_fm3 1517.6 -896.6 10.8 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_GUARD_SPOT guard1_fm3 1517.6 -896.6 10.8 SET_CHAR_STAY_IN_SAME_PLACE guard1_fm3 TRUE TURN_CHAR_TO_FACE_COORD guard1_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 ENDIF ELSE IF LOCATE_CHAR_ON_FOOT_3D guard1_fm3 1523.3 -893.7 10.8 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_GUARD_SPOT guard1_fm3 1523.3 -893.7 10.8 SET_CHAR_STAY_IN_SAME_PLACE guard1_fm3 TRUE TURN_CHAR_TO_FACE_COORD guard1_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 ENDIF ENDIF ENDIF ENDIF ENDIF // guard2 IF flag_guard2_fm3_dead = 0 IF IS_CHAR_DEAD guard2_fm3 flag_guard2_fm3_dead = 1 ++ counter_no_guards_dead_fm3 ELSE IF flag_guard2_looking_for_8ball = 0 IF flag_bloke_in_area_fm3 = 2 OR flag_guard1_fm3_dead = 1 OR flag_columb_car1_dead = 1 OR flag_columb_car2_dead = 1 IF flag_columb_car1_dead = 0 SET_CHAR_OBJ_RUN_TO_COORD guard2_fm3 1532.9 -893.8 ELSE SET_CHAR_OBJ_RUN_TO_COORD guard2_fm3 1528.6 -892.2 ENDIF SET_CHAR_THREAT_SEARCH guard2_fm3 THREAT_SPECIAL //Guard now looks out for 8-ball flag_guard2_looking_for_8ball = 1 ENDIF ENDIF IF flag_guard2_looking_for_8ball = 1 IF flag_columb_car1_dead = 0 IF LOCATE_CHAR_ON_FOOT_3D guard2_fm3 1532.9 -893.8 10.8 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_GUARD_SPOT guard2_fm3 1532.9 -893.8 10.8 TURN_CHAR_TO_FACE_COORD guard2_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard2_fm3 TRUE ENDIF ELSE IF LOCATE_CHAR_ON_FOOT_3D guard2_fm3 1528.6 -892.2 10.8 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_GUARD_SPOT guard2_fm3 1528.6 -892.2 10.8 TURN_CHAR_TO_FACE_COORD guard2_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard2_fm3 TRUE ENDIF ENDIF ENDIF ENDIF ENDIF // guard3 IF flag_guard3_fm3_dead = 0 IF IS_CHAR_DEAD guard3_fm3 flag_guard3_fm3_dead = 1 ++ counter_no_guards_dead_fm3 ELSE IF flag_guard3_looking_for_8ball = 0 IF flag_bloke_in_area_fm3 = 2 //8ball has reached the gangplank of the boat OR counter_no_guards_dead_fm3 > 0 OR flag_columb_car1_dead = 1 OR flag_columb_car2_dead = 1 SET_CHAR_THREAT_SEARCH guard3_fm3 THREAT_SPECIAL //Guard3 now looks out for 8-ball SET_CHAR_OBJ_RUN_TO_COORD guard3_fm3 1534.1 -931.2 flag_guard3_looking_for_8ball = 1 ENDIF ENDIF IF flag_guard3_looking_for_8ball = 1 IF LOCATE_CHAR_ON_FOOT_3D guard3_fm3 1534.1 -931.2 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_GUARD_SPOT guard3_fm3 1534.1 -931.2 18.4 TURN_CHAR_TO_FACE_COORD guard3_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard3_fm3 TRUE //flag_guard3_looking_for_8ball = 2 ENDIF ENDIF ENDIF ENDIF // guard4 IF flag_guard4_fm3_dead = 0 IF IS_CHAR_DEAD guard4_fm3 flag_guard4_fm3_dead = 1 ++ counter_no_guards_dead_fm3 ELSE IF flag_guard4_looking_for_8ball = 0 IF flag_bloke_in_area_fm3 = 4 //8-ball has reached the second create on the boat OR flag_columb_car1_dead = 1 OR flag_columb_car2_dead = 1 OR counter_no_guards_dead_fm3 > 0 SET_CHAR_OBJ_RUN_TO_COORD guard4_fm3 1517.5 -940.6 SET_CHAR_THREAT_SEARCH guard4_fm3 THREAT_SPECIAL //Guard4 now looks out for 8-ball flag_guard4_looking_for_8ball = 1 ENDIF ENDIF IF flag_guard4_looking_for_8ball = 1 IF LOCATE_CHAR_ANY_MEANS_3D guard4_fm3 1517.5 -940.6 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_RUN_TO_COORD guard4_fm3 1516.1 -932.6 flag_guard4_looking_for_8ball = 2 ENDIF ENDIF IF flag_guard4_looking_for_8ball = 2 IF LOCATE_CHAR_ANY_MEANS_3D guard4_fm3 1516.1 -932.6 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_GUARD_SPOT guard4_fm3 1516.1 -932.6 18.4 TURN_CHAR_TO_FACE_COORD guard4_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard4_fm3 TRUE ENDIF ENDIF ENDIF ENDIF // Guard5 IF flag_guard5_fm3_dead = 0 IF IS_CHAR_DEAD guard5_fm3 flag_guard5_fm3_dead = 1 ++ counter_no_guards_dead_fm3 ELSE IF flag_guard5_looking_for_8ball = 0 IF flag_bloke_in_area_fm3 = 5 OR flag_columb_car1_dead = 1 OR flag_columb_car2_dead = 1 OR flag_guard6_fm3_dead = 1 OR flag_guard7_fm3_dead = 1 SET_CHAR_OBJ_RUN_TO_COORD guard5_fm3 1505.6 -926.1 SET_CHAR_THREAT_SEARCH guard5_fm3 THREAT_SPECIAL //Guard5 now looks out for 8-ball flag_guard5_looking_for_8ball = 1 ENDIF ENDIF IF flag_guard5_looking_for_8ball = 1 IF LOCATE_CHAR_ANY_MEANS_3D guard5_fm3 1505.6 -926.1 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_RUN_TO_COORD guard5_fm3 1507.2 -924.0 flag_guard5_looking_for_8ball = 2 ENDIF ENDIF IF flag_guard5_looking_for_8ball = 2 IF LOCATE_CHAR_ANY_MEANS_3D guard5_fm3 1507.2 -924.0 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_GUARD_SPOT guard5_fm3 1507.2 -924.0 18.4 TURN_CHAR_TO_FACE_COORD guard5_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard5_fm3 TRUE ENDIF ENDIF ENDIF ENDIF // Guard6 IF flag_guard6_fm3_dead = 0 IF IS_CHAR_DEAD guard6_fm3 flag_guard6_fm3_dead = 1 ++ counter_no_guards_dead_fm3 ELSE IF flag_guard6_looking_for_8ball = 0 IF flag_bloke_in_area_fm3 = 5 OR flag_columb_car1_dead = 1 OR flag_columb_car2_dead = 1 OR flag_guard5_fm3_dead = 1 OR flag_guard7_fm3_dead = 1 SET_CHAR_OBJ_RUN_TO_COORD guard6_fm3 1501.0 -919.8 SET_CHAR_THREAT_SEARCH guard6_fm3 THREAT_SPECIAL //Guard6 now looks out for 8-ball flag_guard6_looking_for_8ball = 1 ENDIF ENDIF IF flag_guard6_looking_for_8ball = 1 IF LOCATE_CHAR_ANY_MEANS_3D guard6_fm3 1501.0 -919.8 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_GUARD_SPOT guard6_fm3 1501.0 -919.8 18.4 TURN_CHAR_TO_FACE_COORD guard6_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard6_fm3 TRUE ENDIF ENDIF ENDIF ENDIF // Guard7 IF flag_guard7_fm3_dead = 0 IF IS_CHAR_DEAD guard7_fm3 flag_guard7_fm3_dead = 1 ++ counter_no_guards_dead_fm3 ELSE IF flag_guard7_looking_for_8ball = 0 IF flag_bloke_in_area_fm3 = 5 OR flag_guard5_fm3_dead = 1 OR flag_guard6_fm3_dead = 1 OR flag_columb_car1_dead = 1 OR flag_columb_car2_dead = 1 SET_CHAR_OBJ_RUN_TO_COORD guard7_fm3 1499.4 -937.8 SET_CHAR_THREAT_SEARCH guard7_fm3 THREAT_SPECIAL //Guard7 now looks out for 8-ball flag_guard7_looking_for_8ball = 1 ENDIF ENDIF IF flag_guard7_looking_for_8ball = 1 IF LOCATE_CHAR_ANY_MEANS_3D guard7_fm3 1499.4 -937.8 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_RUN_TO_COORD guard7_fm3 1502.2 -930.8 flag_guard7_looking_for_8ball = 2 ENDIF ENDIF IF flag_guard7_looking_for_8ball = 2 IF LOCATE_CHAR_ANY_MEANS_3D guard7_fm3 1502.2 -930.8 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_GUARD_SPOT guard7_fm3 1502.2 -930.8 18.4 TURN_CHAR_TO_FACE_COORD guard7_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard7_fm3 TRUE ENDIF ENDIF ENDIF ENDIF // Guard8 IF flag_guard8_fm3_dead = 0 IF IS_CHAR_DEAD guard8_fm3 flag_guard8_fm3_dead = 1 ++ counter_no_guards_dead_fm3 ELSE IF flag_guard8_looking_for_8ball = 0 IF flag_bloke_in_area_fm3 = 5 OR flag_guard9_fm3_dead = 1 OR flag_guard10_fm3_dead = 1 OR flag_columb_car1_dead = 1 OR flag_columb_car2_dead = 1 SET_CHAR_OBJ_RUN_TO_COORD guard8_fm3 1491.6 -935.8 SET_CHAR_THREAT_SEARCH guard8_fm3 THREAT_SPECIAL //Guard8 now looks out for 8-ball flag_guard8_looking_for_8ball = 1 ENDIF ENDIF IF flag_guard8_looking_for_8ball = 1 IF LOCATE_CHAR_ANY_MEANS_3D guard8_fm3 1491.6 -935.8 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_RUN_TO_COORD guard8_fm3 1487.6 -933.6 flag_guard8_looking_for_8ball = 2 ENDIF ENDIF IF flag_guard8_looking_for_8ball = 2 IF LOCATE_CHAR_ANY_MEANS_3D guard8_fm3 1487.6 -933.6 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_GUARD_SPOT guard8_fm3 1487.6 -933.6 18.4 TURN_CHAR_TO_FACE_COORD guard8_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard8_fm3 TRUE ENDIF ENDIF ENDIF ENDIF // Guard9 IF flag_guard9_fm3_dead = 0 IF IS_CHAR_DEAD guard9_fm3 flag_guard9_fm3_dead = 1 ++ counter_no_guards_dead_fm3 ELSE IF flag_guard9_looking_for_8ball = 0 IF flag_bloke_in_area_fm3 = 6 OR flag_guard8_fm3_dead = 1 OR flag_guard10_fm3_dead = 1 OR flag_columb_car1_dead = 1 OR flag_columb_car2_dead = 1 SET_CHAR_OBJ_GUARD_SPOT guard9_fm3 1484.4 -930.5 19.8 SET_CHAR_THREAT_SEARCH guard9_fm3 THREAT_SPECIAL //Guard9 now looks out for 8-ball SET_CHAR_STAY_IN_SAME_PLACE guard9_fm3 TRUE TURN_CHAR_TO_FACE_COORD guard9_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 flag_guard9_looking_for_8ball = 1 ENDIF ENDIF ENDIF ENDIF // Guard10 IF flag_guard10_fm3_dead = 0 IF IS_CHAR_DEAD guard10_fm3 flag_guard10_fm3_dead = 1 ++ counter_no_guards_dead_fm3 ELSE IF flag_guard10_looking_for_8ball = 0 IF flag_bloke_in_area_fm3 = 6 OR flag_guard8_fm3_dead = 1 OR flag_guard9_fm3_dead = 1 OR flag_columb_car1_dead = 1 OR flag_columb_car2_dead = 1 SET_CHAR_OBJ_RUN_TO_COORD guard10_fm3 1476.7 -936.3 SET_CHAR_THREAT_SEARCH guard10_fm3 THREAT_SPECIAL //Guard10 now looks out for 8-ball flag_guard10_looking_for_8ball = 1 ENDIF ENDIF IF flag_guard10_looking_for_8ball = 1 IF LOCATE_CHAR_ANY_MEANS_3D guard10_fm3 1476.7 -936.3 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_RUN_TO_COORD guard10_fm3 1482.6 -930.5 flag_guard10_looking_for_8ball = 2 ENDIF ENDIF IF flag_guard10_looking_for_8ball = 2 IF LOCATE_CHAR_ANY_MEANS_3D guard10_fm3 1482.6 -930.5 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_GUARD_SPOT guard10_fm3 1482.6 -930.5 18.4 TURN_CHAR_TO_FACE_COORD guard10_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard10_fm3 TRUE ENDIF ENDIF ENDIF ENDIF // Guard11 IF flag_guard11_fm3_dead = 0 IF IS_CHAR_DEAD guard11_fm3 flag_guard11_fm3_dead = 1 ++ counter_no_guards_dead_fm3 ELSE IF flag_guard11_looking_for_8ball = 0 IF flag_bloke_in_area_fm3 = 2 OR flag_guard12_fm3_dead = 1 OR flag_columb_car1_dead = 1 OR flag_columb_car2_dead = 1 OR flag_guard1_fm3_dead = 1 OR flag_guard2_fm3_dead = 1 SET_CHAR_OBJ_RUN_TO_COORD guard11_fm3 1528.5 -927.5 SET_CHAR_THREAT_SEARCH guard11_fm3 THREAT_SPECIAL //Guard now looks out for 8-ball flag_guard11_looking_for_8ball = 1 ENDIF ENDIF IF flag_guard11_looking_for_8ball = 1 IF LOCATE_CHAR_ANY_MEANS_3D guard11_fm3 1528.5 -927.5 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_RUN_TO_COORD guard11_fm3 1521.5 -927.2 flag_guard11_looking_for_8ball = 2 ENDIF ENDIF IF flag_guard11_looking_for_8ball = 2 IF LOCATE_CHAR_ANY_MEANS_3D guard11_fm3 1521.5 -927.2 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_GUARD_SPOT guard11_fm3 1521.5 -927.2 18.4 TURN_CHAR_TO_FACE_COORD guard11_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard11_fm3 TRUE ENDIF ENDIF ENDIF ENDIF // Guard12 IF flag_guard12_fm3_dead = 0 IF IS_CHAR_DEAD guard12_fm3 flag_guard12_fm3_dead = 1 ++ counter_no_guards_dead_fm3 ELSE IF flag_guard12_looking_for_8ball = 0 IF flag_bloke_in_area_fm3 = 2 OR flag_guard11_fm3_dead = 1 OR flag_columb_car1_dead = 1 OR flag_columb_car2_dead = 1 OR flag_guard1_fm3_dead = 1 OR flag_guard2_fm3_dead = 1 SET_CHAR_OBJ_RUN_TO_COORD guard12_fm3 1517.6 -923.1 SET_CHAR_THREAT_SEARCH guard12_fm3 THREAT_SPECIAL //Guard now looks out for 8-ball flag_guard12_looking_for_8ball = 1 ENDIF ENDIF IF flag_guard12_looking_for_8ball = 1 IF LOCATE_CHAR_ANY_MEANS_3D guard12_fm3 1517.6 -923.1 18.4 0.5 0.5 2.0 FALSE SET_CHAR_OBJ_RUN_TO_COORD guard12_fm3 1512.7 -929.0 flag_guard12_looking_for_8ball = 2 ENDIF ENDIF IF flag_guard12_looking_for_8ball = 2 IF LOCATE_CHAR_ANY_MEANS_3D guard12_fm3 1512.7 -929.0 18.4 0.2 0.2 2.0 FALSE SET_CHAR_OBJ_GUARD_SPOT guard12_fm3 1512.7 -929.0 18.4 TURN_CHAR_TO_FACE_COORD guard12_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3 SET_CHAR_STAY_IN_SAME_PLACE guard12_fm3 TRUE ENDIF ENDIF ENDIF ENDIF RETURN car_dead_check: IF flag_columb_car1_dead = 0 IF IS_CAR_DEAD car_columb1_fm3 flag_columb_car1_dead = 1 ENDIF ENDIF IF flag_columb_car2_dead = 0 IF IS_CAR_DEAD car_columb2_fm3 flag_columb_car2_dead = 1 ENDIF ENDIF RETURN clear_area_check_fm3: IF flag_bloke_in_area_fm3 <= 2 CLEAR_AREA 1545.9 -867.7 10.8 1.0 FALSE CLEAR_AREA 1527.0 -899.0 10.8 1.0 FALSE CLEAR_AREA 1526.0 -919.0 18.4 1.0 FALSE CLEAR_AREA 1522.9 -924.3 18.4 1.0 FALSE CLEAR_AREA 1517.0 -929.0 18.4 1.0 FALSE CLEAR_AREA 1510.0 -923.0 18.4 1.0 FALSE CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE ENDIF IF flag_bloke_in_area_fm3 = 3 CLEAR_AREA 1527.0 -899.0 10.8 1.0 FALSE CLEAR_AREA 1526.0 -919.0 18.4 1.0 FALSE CLEAR_AREA 1522.9 -924.3 18.4 1.0 FALSE CLEAR_AREA 1517.0 -929.0 18.4 1.0 FALSE CLEAR_AREA 1510.0 -923.0 18.4 1.0 FALSE CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE ENDIF IF flag_bloke_in_area_fm3 = 4 CLEAR_AREA 1526.0 -919.0 18.4 1.0 FALSE CLEAR_AREA 1522.9 -924.3 18.4 1.0 FALSE CLEAR_AREA 1517.0 -929.0 18.4 1.0 FALSE CLEAR_AREA 1510.0 -923.0 18.4 1.0 FALSE CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE ENDIF IF flag_bloke_in_area_fm3 = 5 CLEAR_AREA 1522.9 -924.3 18.4 1.0 FALSE CLEAR_AREA 1517.0 -929.0 18.4 1.0 FALSE CLEAR_AREA 1510.0 -923.0 18.4 1.0 FALSE CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE ENDIF IF flag_bloke_in_area_fm3 = 6 CLEAR_AREA 1517.0 -929.0 18.4 1.0 FALSE CLEAR_AREA 1510.0 -923.0 18.4 1.0 FALSE CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE ENDIF IF flag_bloke_in_area_fm3 = 7 CLEAR_AREA 1510.0 -923.0 18.4 1.0 FALSE CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE ENDIF IF flag_bloke_in_area_fm3 = 8 CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE ENDIF IF flag_bloke_in_area_fm3 = 9 CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE ENDIF IF flag_bloke_in_area_fm3 = 10 CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE ENDIF IF flag_bloke_in_area_fm3 = 11 CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE ENDIF IF flag_bloke_in_area_fm3 = 12 CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE ENDIF RETURN
frank4
MISSION_START // ******************************************************************************************* // ******************************************************************************************* // ***********************************Final Industrial**************************************** // ***********************************go to commercial**************************************** // ******************************************************************************************* // ******************************************************************************************* // ******************************************************************************************* // Mission start stuff GOSUB mission_start_frank4 IF HAS_DEATHARREST_BEEN_EXECUTED GOSUB mission_frank4_failed ENDIF GOSUB mission_cleanup_frank4 MISSION_END // Variables for mission //VAR_INT maria // mission specific ped VAR_INT blip1_fm4 blip2_fm4 blip3_fm4 boat_blip VAR_INT flag_player_got_frank4_message frank4_car1 frank4_car2 VAR_INT boat_mar bomb_car flag_car_blip_displayed_fm4 VAR_INT car_dead_once girls_attack_player VAR_FLOAT boat_mar_X boat_mar_Y boat_mar_Z // ***************************************Mission Start************************************* mission_start_frank4: REGISTER_MISSION_GIVEN flag_player_on_mission = 1 flag_player_on_frankie_mission = 1 SCRIPT_NAME frank4 WAIT 0 girls_attack_player = 0 car_dead_once = 0 LOAD_SPECIAL_CHARACTER 1 frankie //LOAD_SPECIAL_CHARACTER 2 goon LOAD_SPECIAL_MODEL cut_obj1 PLAYERH LOAD_SPECIAL_MODEL cut_obj2 FRANKH REQUEST_MODEL PED_GANG_MAFIA_B REQUEST_MODEL franksclb02 REQUEST_MODEL salvsdetail REQUEST_MODEL swank_inside /* WHILE GET_FADING_STATUS WAIT 0 ENDWHILE */ LOAD_ALL_MODELS_NOW WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1 OR NOT HAS_MODEL_LOADED cut_obj1 OR NOT HAS_MODEL_LOADED cut_obj2 OR NOT HAS_MODEL_LOADED PED_GANG_MAFIA_B WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED franksclb02 OR NOT HAS_MODEL_LOADED salvsdetail OR NOT HAS_MODEL_LOADED swank_inside WAIT 0 ENDWHILE LOAD_CUTSCENE S5_LRQ SET_CUTSCENE_OFFSET 1457.776 -185.348 54.925 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_HEAD cs_player CUT_OBJ1 cs_playerhead SET_CUTSCENE_HEAD_ANIM cs_playerhead player CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_frankie SET_CUTSCENE_ANIM cs_frankie frankie CREATE_CUTSCENE_HEAD cs_frankie CUT_OBJ2 cs_frankiehead SET_CUTSCENE_HEAD_ANIM cs_frankiehead frank CREATE_CUTSCENE_OBJECT PED_GANG_MAFIA_B cs_mafia SET_CUTSCENE_ANIM cs_mafia gang02 //CREATE_CUTSCENE_OBJECT PED_SPECIAL2 cs_mafia //SET_CUTSCENE_ANIM cs_mafia gang02 SET_PLAYER_COORDINATES player 1455.2 -186.8 55.0 SET_PLAYER_HEADING player 130.0 DO_FADE 1500 FADE_IN //SWITCH_WORLD_PROCESSING OFF SWITCH_RUBBISH OFF SWITCH_STREAMING ON START_CUTSCENE // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time < 2397 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_A ) 10000 1 // Mission brief WHILE cs_time < 5260 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_B ) 10000 1 // Mission brief WHILE cs_time < 9273 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_C ) 10000 1 // Mission brief WHILE cs_time < 12861 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_D ) 10000 1 // Mission brief WHILE cs_time < 15447 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_E ) 10000 1 // Mission brief WHILE cs_time < 18080 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_F ) 10000 1 // Mission brief WHILE cs_time < 22832 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_H ) 10000 1 // Mission brief WHILE cs_time < 24908 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_PRINTS WHILE cs_time < 26333 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE DO_FADE 1000 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE //SWITCH_WORLD_PROCESSING ON SWITCH_RUBBISH ON CLEAR_CUTSCENE SET_CAMERA_BEHIND_PLAYER WAIT 500 DO_FADE 1000 FADE_IN UNLOAD_SPECIAL_CHARACTER 1 //UNLOAD_SPECIAL_CHARACTER 2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_MAFIA_B MARK_MODEL_AS_NO_LONGER_NEEDED franksclb02 MARK_MODEL_AS_NO_LONGER_NEEDED salvsdetail MARK_MODEL_AS_NO_LONGER_NEEDED swank_inside //REQUEST_MODEL BOAT_SPEEDER //REQUEST_MODEL CAR_CHEETAH //LOAD_SPECIAL_MODEL cut_obj3 MARIAH //LOAD_SPECIAL_MODEL cut_obj4 ASUKAH /* WHILE NOT HAS_MODEL_LOADED cut_obj3 OR NOT HAS_MODEL_LOADED cut_obj4 WAIT 0 ENDWHILE */ REQUEST_MODEL BOAT_REEFER REQUEST_MODEL CAR_CHEETAH WHILE NOT HAS_MODEL_LOADED BOAT_REEFER OR NOT HAS_MODEL_LOADED CAR_CHEETAH WAIT 0 ENDWHILE //GOTO skip_frank_cut1 //TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //CREATE SUBURBAN BARRIERS IF barriers_been_added = 0 CREATE_OBJECT_NO_OFFSET subwaygate -672.0 -760.0 8.3 subway_gate_suburban1 DONT_REMOVE_OBJECT subway_gate_suburban1 SET_OBJECT_HEADING subway_gate_suburban1 270.0 CREATE_OBJECT_NO_OFFSET subwaygate -672.0 -768.9 8.3 subway_gate_suburban2 DONT_REMOVE_OBJECT subway_gate_suburban2 SET_OBJECT_HEADING subway_gate_suburban2 270.0 CREATE_OBJECT_NO_OFFSET tunnelentrance 533.3 97.0 -21.3 tunnel_gate_suburban DONT_REMOVE_OBJECT tunnel_gate_suburban SET_OBJECT_HEADING tunnel_gate_suburban 45.0 barriers_been_added = 1 ENDIF // START OF MISSION CREATE_CAR CAR_CHEETAH 951.0 -421.0 14.6 bomb_car ARM_CAR_WITH_BOMB bomb_car CARBOMB_ONIGNITIONACTIVE ADD_BLIP_FOR_CAR bomb_car blip1_fm4 WHILE NOT IS_PLAYER_IN_ZONE Player REDLIGH WAIT 0 IF IS_CAR_DEAD bomb_car AND car_dead_once = 0 REMOVE_BLIP blip1_fm4 car_dead_once = 1 ENDIF ENDWHILE ADD_PAGER_MESSAGE ( FM4_1 ) 140 10 2 ADD_BLIP_FOR_COORD 835.7 -1091.7 -100.0 blip2_fm4 /* CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL2 835.6 -1110.7 2.0 maria ADD_BLIP_FOR_CHAR maria blip2_fm4 CHAR_SET_IDLE maria CLEAR_CHAR_THREAT_SEARCH maria SET_CHAR_HEADING maria 345.0 CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL3 834.3 -1111.7 2.0 asuka CHAR_SET_IDLE asuka CLEAR_CHAR_THREAT_SEARCH asuka SET_CHAR_HEADING asuka 5.0 */ WHILE NOT LOCATE_STOPPED_PLAYER_IN_CAR_3D Player 827.3 -1084.3 6.8 5.0 5.0 4.0 TRUE WAIT 0 IF IS_CAR_DEAD bomb_car AND car_dead_once = 0 REMOVE_BLIP blip1_fm4 car_dead_once = 1 ENDIF IF LOCATE_PLAYER_ON_FOOT_3D Player 827.3 -1084.3 6.8 5.0 5.0 4.0 FALSE GOTO on_foot_frank4 ENDIF /* IF IS_PLAYER_IN_CAR Player bomb_car GOTO mission_frank4_failed ENDIF */ ENDWHILE on_foot_frank4: SET_PLAYER_CONTROL Player Off //skip_frank_cut1: //TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //SET_PLAYER_COORDINATES player 845.5 -1098.0 -100.0 //TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FORCE_WEATHER_NOW WEATHER_SUNNY REMOVE_BLIP blip1_fm4 REMOVE_BLIP blip2_fm4 //MEET MARIA ON THE INDUSTRIAL PIER CUT SCENE**************************************************************************** GET_GAME_TIMER breakout_timer_start breakout_diff = 0 WHILE NOT CAN_PLAYER_START_MISSION Player AND breakout_diff < 5000 // if player is not in control after 5 secs do the cutscene anyway WAIT 0 GET_GAME_TIMER breakout_timer breakout_diff = breakout_timer - breakout_timer_start ENDWHILE MAKE_PLAYER_SAFE_FOR_CUTSCENE Player //LOAD_SPECIAL_MODEL cut_obj1 PLAYERH SET_FADING_COLOUR 0 0 0 DO_FADE 1500 FADE_OUT SWITCH_STREAMING OFF LOAD_SPECIAL_CHARACTER 2 maria LOAD_SPECIAL_CHARACTER 3 asuka LOAD_SPECIAL_MODEL cut_obj2 MARIAH LOAD_SPECIAL_MODEL cut_obj3 ASUKAH //PRINT_BIG ( FM4 ) 15000 2 //"Frankie Mission 4" WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CREATE_CAR BOAT_REEFER 835.0 -1117.0 0.4 boat_mar SET_CAR_HEADING boat_mar 143.0 ANCHOR_BOAT boat_mar TRUE BOAT_STOP boat_mar LOAD_ALL_MODELS_NOW WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 2 OR NOT HAS_SPECIAL_CHARACTER_LOADED 3 WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED cut_obj2 OR NOT HAS_MODEL_LOADED cut_obj3 WAIT 0 ENDWHILE LOAD_CUTSCENE S5_LRQB SET_CUTSCENE_OFFSET 831.0839 -1114.2113 0.1822 //SET_CUTSCENE_OFFSET 830.0839 -1114.2113 0.1822 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_OBJECT PED_SPECIAL2 cs_maria SET_CUTSCENE_ANIM cs_maria maria CREATE_CUTSCENE_OBJECT PED_SPECIAL3 cs_asuka SET_CUTSCENE_ANIM cs_asuka asuka //CREATE_CUTSCENE_HEAD cs_player CUT_OBJ1 cs_playerhead //SET_CUTSCENE_HEAD_ANIM cs_playerhead player CREATE_CUTSCENE_HEAD cs_maria CUT_OBJ2 cs_mariahead SET_CUTSCENE_HEAD_ANIM cs_mariahead maria CREATE_CUTSCENE_HEAD cs_asuka CUT_OBJ3 cs_asukahead SET_CUTSCENE_HEAD_ANIM cs_asukahead asuka //SET_PLAYER_COORDINATES player 835.4 -1108.7 1.0 //SET_PLAYER_HEADING player 230.0 IF NOT IS_CAR_DEAD boat_mar IF IS_PLAYER_IN_ANY_CAR player WARP_PLAYER_FROM_CAR_TO_COORD Player 835.4 -1108.7 1.0 ENDIF ENDIF WARP_PLAYER_INTO_CAR Player boat_mar DO_FADE 1500 FADE_IN //SWITCH_WORLD_PROCESSING OFF SWITCH_RUBBISH OFF SWITCH_STREAMING ON START_CUTSCENE // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time < 697 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_2 ) 10000 1 // Mission brief WHILE cs_time < 3275 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_3 ) 10000 1 // Mission brief WHILE cs_time < 6479 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_4 ) 10000 1 // Mission brief WHILE cs_time < 9000 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_4B ) 10000 1 // Mission brief WHILE cs_time < 11356 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_5 ) 10000 1 // Mission brief WHILE cs_time < 13307 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_6 ) 10000 1 // Mission brief WHILE cs_time < 16285 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_6B ) 10000 1 // Mission brief WHILE cs_time < 19438 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_7 ) 10000 1 // Mission brief WHILE cs_time < 23340 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_8 ) 10000 1 // Mission brief WHILE cs_time < 24733 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( FM4_9 ) 10000 1 // Mission brief WHILE cs_time < 30156 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_PRINTS WHILE cs_time < 31666 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE /* IF NOT IS_CAR_DEAD boat_mar SET_CAR_COORDINATES boat_mar 834.9 -1116.5 0.5 SET_CAR_HEADING boat_mar 143.0 ENDIF */ DO_FADE 1000 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE //SWITCH_WORLD_PROCESSING ON SWITCH_RUBBISH ON CLEAR_CUTSCENE SET_PLAYER_CONTROL Player ON SET_CAMERA_BEHIND_PLAYER CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL2 837.0 -1116.5 1.8 maria SET_CHAR_ONLY_DAMAGED_BY_PLAYER maria TRUE SET_CHAR_HEADING maria 17.0 SET_CHAR_STAYS_IN_CURRENT_LEVEL maria FALSE SET_CHAR_IGNORE_LEVEL_TRANSITIONS maria TRUE //boat_mar_Y = boat_mar_Y - 1.0 CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL3 836.6 -1114.6 1.8 asuka SET_CHAR_ONLY_DAMAGED_BY_PLAYER asuka TRUE SET_CHAR_HEADING asuka 178.0 SET_CHAR_STAYS_IN_CURRENT_LEVEL asuka FALSE SET_CHAR_IGNORE_LEVEL_TRANSITIONS asuka TRUE SET_CHARS_CHATTING maria asuka 999999 TURN_CHAR_TO_FACE_CHAR asuka maria IF NOT IS_CAR_DEAD boat_mar ADD_BLIP_FOR_COORD 565.3 -678.4 -100.0 blip3_fm4 ADD_BLIP_FOR_CAR boat_mar boat_blip ENDIF WAIT 500 DO_FADE 1000 FADE_IN //UNLOAD_SPECIAL_CHARACTER 2 //UNLOAD_SPECIAL_CHARACTER 3 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ3 //GOTO skip_frank_cut2 //TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IF NOT IS_CAR_DEAD boat_mar ANCHOR_BOAT boat_mar FALSE ENDIF flag_car_blip_displayed_fm4 = TRUE IF IS_CHAR_DEAD asuka OR IS_CHAR_DEAD maria GOTO mission_frank4_failed ENDIF WHILE NOT IS_PLAYER_IN_AREA_3D Player 565.3 -678.4 -2.0 575.3 -688.4 4.0 TRUE OR NOT IS_CHAR_IN_AREA_3D maria 565.3 -678.4 -2.0 575.3 -688.4 4.0 FALSE OR NOT IS_CHAR_IN_AREA_3D asuka 565.3 -678.4 -2.0 575.3 -688.4 4.0 FALSE //OR NOT IS_PLAYER_IN_CAR player boat_mar WAIT 0 IF IS_CAR_DEAD boat_mar GOTO mission_frank4_failed ENDIF IF IS_CHAR_DEAD asuka OR IS_CHAR_DEAD maria GOTO mission_frank4_failed ENDIF IF IS_PLAYER_IN_CAR player boat_mar IF flag_car_blip_displayed_fm4 = TRUE REMOVE_BLIP blip3_fm4 ADD_BLIP_FOR_COORD 565.3 -678.4 -100.0 blip3_fm4 REMOVE_BLIP boat_blip flag_car_blip_displayed_fm4 = FALSE ENDIF ENDIF IF NOT IS_PLAYER_IN_CAR player boat_mar IF flag_car_blip_displayed_fm4 = FALSE REMOVE_BLIP boat_blip ADD_BLIP_FOR_CAR boat_mar boat_blip REMOVE_BLIP blip3_fm4 PRINT_NOW ( IN_VEH ) 5000 1 //"Get back in the vehicle!" flag_car_blip_displayed_fm4 = TRUE ENDIF ENDIF IF girls_attack_player = 0 IF NOT IS_CHAR_HEALTH_GREATER asuka 96 OR NOT IS_CHAR_HEALTH_GREATER maria 96 IF NOT IS_CHAR_DEAD asuka SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT asuka Player GIVE_WEAPON_TO_CHAR asuka WEAPONTYPE_UZI 200 ENDIF IF NOT IS_CHAR_DEAD maria SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT maria Player GIVE_WEAPON_TO_CHAR maria WEAPONTYPE_UZI 200 ENDIF girls_attack_player = 1 ENDIF ENDIF ENDWHILE IF NOT IS_CAR_DEAD boat_mar ANCHOR_BOAT boat_mar TRUE BOAT_STOP boat_mar ENDIF CLEAR_PRINTS REMOVE_BLIP blip3_fm4 //skip_frank_cut2: //TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //SET_PLAYER_COORDINATES player 559.4 -791.9 -100.0 //TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //EVERYONE OFF THE BOAT IN COMMERCIAL CUTSCENE************************************************************************** GET_GAME_TIMER breakout_timer_start breakout_diff = 0 WHILE NOT CAN_PLAYER_START_MISSION Player AND breakout_diff < 5000 // if player is not in control after 5 secs do the cutscene anyway WAIT 0 IF IS_CAR_DEAD boat_mar GOTO mission_frank4_failed ENDIF IF IS_CHAR_DEAD asuka OR IS_CHAR_DEAD maria GOTO mission_frank4_failed ENDIF GET_GAME_TIMER breakout_timer breakout_diff = breakout_timer - breakout_timer_start ENDWHILE MAKE_PLAYER_SAFE_FOR_CUTSCENE Player SET_FADING_COLOUR 0 0 0 DO_FADE 1000 FADE_OUT WHILE GET_FADING_STATUS WAIT 0 ENDWHILE LOAD_COLLISION_WITH_SCREEN Level_commercial IF NOT IS_CAR_DEAD boat_mar IF IS_PLAYER_IN_ANY_CAR player WARP_PLAYER_FROM_CAR_TO_COORD Player 515.1 -650.9 16.0//612.3 -674.5 1.8 ENDIF ENDIF SET_PLAYER_COORDINATES player 515.1 -650.9 16.0 //612.3 -674.5 1.8 SET_PLAYER_HEADING player 90.0 SWITCH_STREAMING OFF LOAD_SPECIAL_MODEL cut_obj1 PLAYERH LOAD_SPECIAL_MODEL cut_obj2 MARIAH LOAD_SPECIAL_MODEL cut_obj3 ASUKAH REQUEST_MODEL CAR_YAKUZA REQUEST_MODEL CAR_BLISTA //PRINT_BIG ( FM4 ) 15000 2 //"Frankie Mission 4" LOAD_ALL_MODELS_NOW WHILE NOT HAS_MODEL_LOADED cut_obj1 OR NOT HAS_MODEL_LOADED cut_obj2 OR NOT HAS_MODEL_LOADED cut_obj3 WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED CAR_YAKUZA OR NOT HAS_MODEL_LOADED CAR_BLISTA WAIT 0 ENDWHILE DELETE_CHAR maria DELETE_CHAR asuka LOAD_CUTSCENE S5_LRQC SET_CUTSCENE_OFFSET 523.102 -636.96 15.616 //563.0 -683.0 1.8 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_OBJECT PED_SPECIAL2 cs_maria SET_CUTSCENE_ANIM cs_maria maria CREATE_CUTSCENE_OBJECT PED_SPECIAL3 cs_asuka SET_CUTSCENE_ANIM cs_asuka asuka CREATE_CUTSCENE_HEAD cs_player CUT_OBJ1 cs_playerhead SET_CUTSCENE_HEAD_ANIM cs_playerhead player CREATE_CUTSCENE_HEAD cs_maria CUT_OBJ2 cs_mariahead SET_CUTSCENE_HEAD_ANIM cs_mariahead maria CREATE_CUTSCENE_HEAD cs_asuka CUT_OBJ3 cs_asukahead SET_CUTSCENE_HEAD_ANIM cs_asukahead asuka DO_FADE 1000 FADE_IN SET_PLAYER_COORDINATES player 515.1 -650.9 16.0 SET_PLAYER_HEADING player 90.0 CREATE_CAR CAR_YAKUZA 500.0 -659.4 -100.0 frank4_car1 CREATE_CAR CAR_BLISTA 486.5 -643.6 -100.0 frank4_car2 MARK_MODEL_AS_NO_LONGER_NEEDED CAR_YAKUZA MARK_MODEL_AS_NO_LONGER_NEEDED CAR_BLISTA MARK_CAR_AS_NO_LONGER_NEEDED frank4_car1 MARK_CAR_AS_NO_LONGER_NEEDED frank4_car2 //SWITCH_WORLD_PROCESSING OFF SWITCH_RUBBISH OFF SWITCH_STREAMING ON START_CUTSCENE // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time < 12345 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LRQC_1 ) 5000 1 // Mission brief WHILE cs_time < 14476 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LRQC_2 ) 5000 1 // Mission brief WHILE cs_time < 16021 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LRQC_3 ) 5000 1 // Mission brief WHILE cs_time < 17946 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LRQC_4 ) 5000 1 // Mission brief WHILE cs_time < 21438 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LRQC_5 ) 5000 1 // Mission brief WHILE cs_time < 23312 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LRQC_6 ) 5000 1 // Mission brief WHILE cs_time < 25177 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_PRINTS WHILE cs_time < 28000 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE DO_FADE 1000 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE //SWITCH_WORLD_PROCESSING ON SWITCH_RUBBISH ON CLEAR_CUTSCENE SET_CAMERA_IN_FRONT_OF_PLAYER //SET_CAMERA_BEHIND_PLAYER WAIT 500 DO_FADE 1000 FADE_IN UNLOAD_SPECIAL_CHARACTER 2 UNLOAD_SPECIAL_CHARACTER 3 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ3 RELEASE_WEATHER } GOTO mission_frank4_passed // Mission frank4 failed mission_frank4_failed: PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" RETURN // mission frank4 passed mission_frank4_passed: flag_frankie_mission4_passed = 1 flag_industrial_passed = 1 PLAY_MISSION_PASSED_TUNE 1 INDUSTRIAL_PASSED bridge_is_damaged = 1 //SWAP BRIDGE FROM DAMAGED TO FIXED SWAP_NEAREST_BUILDING_MODEL 525.362 -927.066 71.841 20.0 nbbridgfk2 nbbridgcabls01 SWAP_NEAREST_BUILDING_MODEL 706.432 -935.82 67.071 20.0 nbbridgfk2 nbbridgcabls01 SWAP_NEAREST_BUILDING_MODEL 529.023 -920.098 43.504 20.0 damgbridgerdb nbbridgerdb SWAP_NEAREST_BUILDING_MODEL 702.763 -939.963 38.736 20.0 damgbridgerdb nbbridgerdb SWAP_NEAREST_BUILDING_MODEL 529.023 -942.94 43.504 20.0 damgbbridgerda nbbridgerda SWAP_NEAREST_BUILDING_MODEL 702.764 -919.963 38.736 20.0 damgbbridgerda nbbridgerda SWAP_NEAREST_BUILDING_MODEL 525.362 -927.066 71.841 20.0 lodridgfk2 lodridgcabls01 SWAP_NEAREST_BUILDING_MODEL 706.432 -935.82 67.071 20.0 lodridgfk2 lodridgcabls01 SWAP_NEAREST_BUILDING_MODEL 521.146 -922.94 43.504 20.0 lodgbridgerdb lodridgerdb SWAP_NEAREST_BUILDING_MODEL 702.763 -939.963 38.736 20.0 lodgbridgerdb lodridgerdb SWAP_NEAREST_BUILDING_MODEL 529.023 -940.098 43.504 20.0 lodgbbridgerda lodridgerda SWAP_NEAREST_BUILDING_MODEL 702.764 -919.963 38.736 20.0 lodgbbridgerda lodridgerda SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1027.26 -933.796 15.042 50.0 indhelix_barrier FALSE SWAP_NEAREST_BUILDING_MODEL 1027.26 -933.796 15.042 50.0 indhelix_barrier LOD_land014 DELETE_OBJECT subway_gate_industrial DELETE_OBJECT tunnel_gate_industrial IF ammu2_blip_added = 0 ADD_SPRITE_BLIP_FOR_COORD 345.5 -713.5 26.1 RADAR_SPRITE_WEAPON com_ammu_nation2 ADD_SPRITE_BLIP_FOR_COORD 379.0 -493.8 25.2 RADAR_SPRITE_SPRAY com_sprayshop2 ammu2_blip_added = 1 ENDIF SWITCH_ROADS_ON 619.6 -911.5 45.0 834.3 -954.5 32.0 //Industrial to commercial Bridge SWITCH_ROADS_ON 659.6 200.0 -20.0 945.8 147.5 5.0 //Tunnel SWITCH_ROADS_ON 529.6 106.5 -30.0 581.4 65.7 0.0 //tunnel from commercial to intersection for sub and ind REGISTER_MISSION_PASSED FM4 PLAYER_MADE_PROGRESS 1 SWITCH_CAR_GENERATOR com_car23 101 REMOVE_BLIP frankie_contact_blip REMOVE_BLIP luigi_contact_blip REMOVE_BLIP toni_contact_blip REMOVE_BLIP joey_contact_blip PRINT_WITH_NUMBER_BIG ( M_PASS ) 20000 5000 1 //"Mission Passed!" ADD_SCORE player 20000 START_NEW_SCRIPT asuka_mission1_loop REMOVE_BLIP asuka_contact_blip ADD_SPRITE_BLIP_FOR_CONTACT_POINT 523.7 -643.0 16.1 RADAR_SPRITE_ASUKA asuka_contact_blip RETURN // mission cleanup mission_cleanup_frank4: flag_player_on_mission = 0 flag_player_on_frankie_mission = 0 REMOVE_BLIP blip1_fm4 REMOVE_BLIP blip2_fm4 REMOVE_BLIP blip3_fm4 REMOVE_BLIP boat_blip RELEASE_WEATHER MARK_MODEL_AS_NO_LONGER_NEEDED BOAT_REEFER MARK_MODEL_AS_NO_LONGER_NEEDED CAR_CHEETAH MARK_MODEL_AS_NO_LONGER_NEEDED CAR_YAKUZA MARK_MODEL_AS_NO_LONGER_NEEDED CAR_BLISTA REMOVE_CHAR_ELEGANTLY maria REMOVE_CHAR_ELEGANTLY asuka //MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 UNLOAD_SPECIAL_CHARACTER 2 UNLOAD_SPECIAL_CHARACTER 3 MISSION_HAS_FINISHED RETURN