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
п · о · р
GTA III Grand Theft Auto III
Форматы файлов.b.a3d.anm.col.cfg.dff.dat.gxt.ide.ifp.img/.dir.ipl.raw/.sdt.rep.sc.scm.set.txd.zon
Документацияcarcols.datCHASE.DATCULLZONE.DATcuts.imgdefault.datfistfite.datflight.datgta3.exegta3.dat
gta3.imggta3.zonhandling.cfgmain.scmmap.datmap.zonobject.datparticle.cfgped.datpedgrp.dat
pedstats.datsfx.rawsurface.datTimeCyc.DATtracks.dattrain.datwater.datwaterpro.datweapon.dat
ИнструментыCLEOClump ViewerCol-IO‎Collision File Editor IIData toolDFF Viewerdffxbox2pcG-ToolsGTA Garage Mod Manager
GXT EditorGTA3 Limit AdjusterGTA3 Mission BuilderGTA3 PatcherIMG ToolKam's Max ScriptsMap Editor
Mod GeneratorMod InstallerMoo MapperPS2 TXD ModPS2 TXD ViewerResourse HackerRotation Calculator
RW AnalyzeViceTXDWater EditorSanny BuilderTXD ToolTXD WorkshopYAIEZModeler
Туториалыраздел в разработке
Классические МодыGPS RadarBye-Bye BikiniUltimate Stunt ParkThe SphereMiss LibertyIllandoIntercity HighwayShoreside Bridge
Rockstar HeightsLighthouse BridgeBlade FunparkOrbital CityLakeside IslandLiberty PenitentiaryJEM Island
Illando HelixCliff Climbing Mountain
Глобальные МодыReal GTA3Twenty TenSnow CityFrosted WinterUltimateBeta modX-box modBad BusinessGTA3 HDUltra mod
OpenTunnelsBack to the Future
МультиплеерMulti Theft AutoLiberty Unleashed
Исходники4x48ballambulanceasukaasusbcameracar_gencatcopcardebugdemodiablofiretruckfrankgates
genstufhealthhjhoodimportintrojoeykenjiloveluigimayhemmeatpickupsrampagerayrcswitch
taxitoniusjwantedyard