Ray

Материал из GTAModding.ru
Перейти к: навигация, поиск

Содержание

ray1

MISSION_START
// *****************************************************************************************
// ************************************ Ray mission 1  ************************************* 
// ************************************ Silent Witness *************************************
// *****************************************************************************************
// *** There was a witness to Salvatore's murder, kill him! Go to the witness protection ***
// *** house and flush him out by throwing a grenade through the window. The witness and ***
// *** some police escorts run out and leg it in a car, chase them and kill them.		 ***
// *****************************************************************************************
 
// Mission start stuff
 
GOSUB mission_start_ray1
 
IF HAS_DEATHARREST_BEEN_EXECUTED 
	GOSUB mission_ray1_failed
ENDIF
 
GOSUB mission_cleanup_ray1
 
MISSION_END
 
// Variables for mission
 
VAR_INT get_away_car police_guard1 police_guard2 the_witness ray1_blip burning_cop
VAR_INT police_guard3 fire_1 fire_2 fire_3 fire_4 wanted_lvl_flag_r1 game_timer_r1 game_timer_start_r1
VAR_INT	car_moving_stuck_flag getaway_stuck_flag get_away_car_health game_timer_current_r1
VAR_INT mfail_timer mfail_timer_current mfail_timer_started	mfail_timer_reset_flag carlock_flag
 
VAR_FLOAT get_away_car_x get_away_car_y get_away_car_z
 
// ****************************************Mission Start************************************
 
mission_start_ray1:
 
flag_player_on_mission 		= 1
flag_player_on_ray_mission 	= 1
rays_cutscene_flag = 1
 
REGISTER_MISSION_GIVEN
 
WAIT 0
 
SCRIPT_NAME ray1
 
wanted_lvl_flag_r1 	   = 0
game_timer_r1 		   = 0
game_timer_start_r1	   = 0
car_moving_stuck_flag  = 0
getaway_stuck_flag 	   = 0
get_away_car_health    = 1000
game_timer_current_r1  = 0
get_away_car_x 		   = 0.0
get_away_car_y 		   = 0.0
get_away_car_z		   = 0.0
mfail_timer 		   = 0
mfail_timer_current    = 0
mfail_timer_started	   = 0
mfail_timer_reset_flag = 0
carlock_flag		   = 0
 
// ****************************************START OF CUTSCENE********************************
 
/*
SET_FADING_COLOUR 0 0 0
 
DO_FADE 1500 FADE_OUT
 
IF CAN_PLAYER_START_MISSION player
	MAKE_PLAYER_SAFE_FOR_CUTSCENE player
ELSE
	GOTO mission_ray1_failed
ENDIF
 
SWITCH_STREAMING OFF
 
PRINT_BIG RM1 15000 2 //"Silence the sneak"
*/
 
LOAD_SPECIAL_CHARACTER 1 ray
LOAD_SPECIAL_MODEL cut_obj1 PLAYERH
LOAD_SPECIAL_MODEL cut_obj2 RAYH
REQUEST_MODEL toilet
 
/*
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 toilet
	WAIT 0
ENDWHILE
 
CLEAR_AREA 39.0 -723.5 22.0 1.0 TRUE
 
SET_PLAYER_COORDINATES player 39.0 -723.5 22.0
 
SET_PLAYER_HEADING player 90.0
 
LOAD_CUTSCENE r1_sw
 
SET_CUTSCENE_OFFSET 39.424 -726.677 21.692
 
CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
SET_CUTSCENE_ANIM cs_player player
 
CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_ray
SET_CUTSCENE_ANIM cs_ray ray
 
CREATE_CUTSCENE_HEAD cs_player CUT_OBJ1 cs_playerhead
SET_CUTSCENE_HEAD_ANIM cs_playerhead player
 
CREATE_CUTSCENE_HEAD cs_ray CUT_OBJ2 cs_rayhead
SET_CUTSCENE_HEAD_ANIM cs_rayhead ray
 
DO_FADE 1500 FADE_IN
SET_NEAR_CLIP 0.2
 
START_CUTSCENE
 
GET_CUTSCENE_TIME cs_time
 
WHILE cs_time < 2070
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM1_A 8000 1 //"That scum bag McAffrey he took more bribes than anyone, and now he's gone too far."
 
WHILE cs_time < 6097
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM1_B 8000 1 //"Reckons he'll get an honorable discharge if he turns states evidence."
 
WHILE cs_time < 9509
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM1_C 8000 1 //"He just squealed."
 
WHILE cs_time < 11019
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM1_D	8000 1 //"He's under armed protection in a WitSec property down Newport some apartment behind the car park."
 
WHILE cs_time < 16109
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM1_E	8000 1 //"Torch the place and that should flush 'em out, then make sure he never talks to no one."
 
WHILE cs_time < 21333
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
DO_FADE 1500 FADE_OUT
 
GIVE_WEAPON_TO_PLAYER player WEAPONTYPE_GRENADE 12
 
WHILE NOT HAS_CUTSCENE_FINISHED
	WAIT 0
ENDWHILE
 
CLEAR_PRINTS
 
WHILE GET_FADING_STATUS
	WAIT 0
ENDWHILE
 
CLEAR_CUTSCENE
 
DO_FADE 0 FADE_OUT
SET_NEAR_CLIP 0.9
 
SET_CAMERA_BEHIND_PLAYER
 
UNLOAD_SPECIAL_CHARACTER 1
MARK_MODEL_AS_NO_LONGER_NEEDED toilet
MARK_MODEL_AS_NO_LONGER_NEEDED cut_obj1
MARK_MODEL_AS_NO_LONGER_NEEDED cut_obj2
 
REQUEST_MODEL PED_LI_MAN2
REQUEST_MODEL CAR_SENTINEL
 
LOAD_ALL_MODELS_NOW
 
WHILE NOT HAS_MODEL_LOADED PED_LI_MAN2
OR NOT HAS_MODEL_LOADED	CAR_SENTINEL
	WAIT 0
ENDWHILE
 
SWITCH_STREAMING ON
DO_FADE 1500 FADE_IN 
 
rays_cutscene_flag = 0
 
WHILE GET_FADING_STATUS
	WAIT 0
ENDWHILE
 
// ******************************************END OF CUTSCENE********************************
 
REQUEST_MODEL safehouse
 
ADD_BLIP_FOR_COORD 378.0 -443.2 29.9 ray1_blip
 
PRINT_NOW RM1_1 5000 1 //"Check out the witness protection house."
 
WHILE NOT IS_PLAYER_STOPPED_IN_AREA_2D player 330.35 -471.43 375.982 -431.119 0
	WAIT 0
ENDWHILE
 
SET_PLAYER_CONTROL player OFF
SWITCH_WIDESCREEN ON
SET_EVERYONE_IGNORE_PLAYER player TRUE
SET_ALL_CARS_CAN_BE_DAMAGED FALSE
SET_FIXED_CAMERA_POSITION 373.29 -444.714 28.537 0.0 0.0 0.0
POINT_CAMERA_AT_POINT 374.1447 -444.2669 28.8032 INTERPOLATION
 
WAIT 3000
 
SET_PLAYER_CONTROL player ON
SWITCH_WIDESCREEN OFF
SET_EVERYONE_IGNORE_PLAYER player FALSE
SET_ALL_CARS_CAN_BE_DAMAGED TRUE
RESTORE_CAMERA
 
LOAD_MISSION_AUDIO R1_A
 
get_away_car  = 0
police_guard1 = 0
police_guard2 = 0
 
WHILE NOT IS_PROJECTILE_IN_AREA 376.5 -445.2 28.1 380.1 -441.2 31.7 // THE WINDOW
 
	WAIT 0
 
	GET_AMMO_IN_PLAYER_WEAPON player WEAPONTYPE_GRENADE get_away_car
	GET_AMMO_IN_PLAYER_WEAPON player WEAPONTYPE_ROCKET police_guard1
	get_away_car +=	police_guard1
 
	IF police_guard2 = 0
		IF get_away_car = 0
			PRINT_NOW RM1_4 5000 1//"You have run out of grenades! Get some more from ammunation"
			REMOVE_BLIP	ray1_blip
			ADD_SPRITE_BLIP_FOR_COORD 345.5 -713.5 26.1 RADAR_SPRITE_WEAPON ray1_blip
			police_guard2 = 1
		ENDIF
	ENDIF
 
	IF police_guard2 = 1
		IF get_away_car > 0
			PRINT_NOW RM1_5 5000 1//"Get back to the safehouse and torch it"
			REMOVE_BLIP	ray1_blip
			ADD_BLIP_FOR_COORD 378.0 -443.2 29.9 ray1_blip
			police_guard2 = 0
		ENDIF
	ENDIF
 
ENDWHILE
 
DESTROY_PROJECTILES_IN_AREA 376.1 -445.2 28.1 380.1 -441.2 31.7
 
SET_PLAYER_CONTROL player OFF
SWITCH_WIDESCREEN ON
SET_EVERYONE_IGNORE_PLAYER player TRUE
SET_ALL_CARS_CAN_BE_DAMAGED FALSE
SET_FIXED_CAMERA_POSITION 373.29 -444.714 28.537 0.0 0.0 0.0
POINT_CAMERA_AT_POINT 374.1447 -444.2669 28.8032 INTERPOLATION
 
WAIT 100
 
ADD_EXPLOSION 378.0 -443.5 28.9 EXPLOSION_GRENADE
 
WAIT 500
 
START_SCRIPT_FIRE 377.0 -444.0 28.1 fire_1
START_SCRIPT_FIRE 377.0 -443.0 28.1 fire_2
START_SCRIPT_FIRE 379.0 -444.0 28.1 fire_3
START_SCRIPT_FIRE 379.0 -443.0 28.1 fire_4
SET_SCRIPT_FIRE_AUDIO fire_1 TRUE
SET_SCRIPT_FIRE_AUDIO fire_2 FALSE
SET_SCRIPT_FIRE_AUDIO fire_3 FALSE
SET_SCRIPT_FIRE_AUDIO fire_4 FALSE
 
WAIT 250
 
CREATE_CHAR PEDTYPE_CIVMALE	PED_COP 378.0584 -444.7376 28.3 burning_cop
 
WAIT 250
 
ADD_PARTICLE_EFFECT POBJECT_DARK_SMOKE 377.0 -441.6 28.9 0
ADD_PARTICLE_EFFECT POBJECT_DARK_SMOKE 378.0 -443.3 28.9 0
 
WAIT 800
 
ADD_PARTICLE_EFFECT POBJECT_DARK_SMOKE 376.0 -443.35 30.0 0
 
WAIT 500
 
ADD_PARTICLE_EFFECT POBJECT_DARK_SMOKE 376.0 -442.7  30.0 0
ADD_PARTICLE_EFFECT POBJECT_DARK_SMOKE 376.0 -443.8  30.0 0
 
WAIT 1500
 
SET_PLAYER_CONTROL player ON
SWITCH_WIDESCREEN OFF
SET_EVERYONE_IGNORE_PLAYER player FALSE
SET_ALL_CARS_CAN_BE_DAMAGED TRUE
RESTORE_CAMERA_JUMPCUT
SET_CAMERA_BEHIND_PLAYER
 
//get_away_car  = 0
//police_guard1 = 0
//police_guard2 = 0
 
CREATE_CAR CAR_SENTINEL 380.0 -437.5 21.1 get_away_car // IN GARAGE
SET_CAR_HEADING get_away_car 90.0
LOCK_CAR_DOORS get_away_car CARLOCK_LOCKOUT_PLAYER_ONLY
SET_CAR_STRONG get_away_car TRUE
 
CREATE_CHAR_INSIDE_CAR get_away_car PEDTYPE_CIVMALE PED_COP police_guard1
CREATE_CHAR_AS_PASSENGER get_away_car PEDTYPE_CIVMALE PED_LI_MAN2 1 the_witness
 
CREATE_CHAR PEDTYPE_CIVMALE PED_COP 376.5428 -435.1743 20.0837 police_guard2
GIVE_WEAPON_TO_CHAR police_guard2 WEAPONTYPE_CHAINGUN 5000
SET_CHAR_OBJ_GOTO_COORD_ON_FOOT	police_guard2 374.0 -435.1743
 
CREATE_CHAR PEDTYPE_CIVMALE PED_COP 376.5428 -439.7169 20.0837 police_guard3
GIVE_WEAPON_TO_CHAR police_guard3 WEAPONTYPE_CHAINGUN 5000
SET_CHAR_OBJ_GOTO_COORD_ON_FOOT	police_guard3 374.0 -439.7169
 
DEACTIVATE_GARAGE witsec_garage
ACTIVATE_GARAGE witsec_garage
 
REMOVE_BLIP ray1_blip
 
SET_CAR_CRUISE_SPEED get_away_car 20.0
SET_CAR_DRIVING_STYLE get_away_car 2
CAR_WANDER_RANDOMLY	get_away_car
SET_CAR_AVOID_LEVEL_TRANSITIONS get_away_car TRUE
 
PRINT_NOW RM1_2 5000 1 //"Take out the witness!"
 
GET_GAME_TIMER game_timer_start_r1
 
WHILE IS_CHAR_STILL_ALIVE the_witness
 
	IF NOT IS_CHAR_DEAD police_guard2
		IF NOT IS_CHAR_IN_AREA_2D police_guard2 375.0 -441.5 386.0 -434.0	0
			SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT police_guard2 player
		ENDIF
	ENDIF
 
	IF NOT IS_CHAR_DEAD police_guard3
		IF NOT IS_CHAR_IN_AREA_2D police_guard3 375.0 -441.5 386.0 -434.0	0
			SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT police_guard3 player
		ENDIF
	ENDIF
 
	IF wanted_lvl_flag_r1 = 0
		GET_GAME_TIMER game_timer_current_r1
		game_timer_r1 = game_timer_current_r1 - game_timer_start_r1
		IF game_timer_r1 > 3000
			ALTER_WANTED_LEVEL_NO_DROP player 2
			ADD_BLIP_FOR_CHAR the_witness ray1_blip
			IF HAS_MISSION_AUDIO_LOADED
				PLAY_MISSION_AUDIO
			ENDIF
			wanted_lvl_flag_r1 = 1
		ENDIF
	ENDIF
 
	IF wanted_lvl_flag_r1 = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player the_witness 160.0 160.0 0
		AND NOT IS_CHAR_ON_SCREEN the_witness
			IF mfail_timer_reset_flag = 0
				REMOVE_BLIP	ray1_blip
				GET_GAME_TIMER mfail_timer_started
				mfail_timer_reset_flag = 1
			ENDIF
 
			IF mfail_timer_reset_flag = 1
				GET_GAME_TIMER mfail_timer_current
				mfail_timer = mfail_timer_current - mfail_timer_started
				IF mfail_timer > 4000
					IF NOT IS_CHAR_ON_SCREEN the_witness
						mfail_timer_reset_flag = 0
						DELETE_CHAR the_witness
						PRINT_NOW RM1_3 5000 1 //"McAffrey got away!"
						GOTO mission_ray1_failed
					ENDIF
				ENDIF
			ENDIF
		ENDIF
 
		IF mfail_timer_reset_flag = 1
			IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player the_witness 160.0 160.0 0
			OR IS_CHAR_ON_SCREEN the_witness
				REMOVE_BLIP	ray1_blip
				ADD_BLIP_FOR_CHAR the_witness ray1_blip
				mfail_timer_reset_flag = 0
			ENDIF
		ENDIF
	ENDIF
 
	IF NOT IS_CHAR_IN_ANY_CAR the_witness
		SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS	the_witness player
	ENDIF
 
	IF NOT IS_CAR_DEAD get_away_car
 
		IF IS_CHAR_IN_CAR the_witness get_away_car
 
			IF carlock_flag = 0
				IF NOT LOCATE_CAR_2D get_away_car 380.0 -437.5 40.0 40.0 0
					LOCK_CAR_DOORS get_away_car CARLOCK_UNLOCKED
					SET_CAR_CRUISE_SPEED get_away_car 40.0
					SET_CAR_STRONG get_away_car FALSE
					IF IS_CAR_HEALTH_GREATER get_away_car 800
						SET_CAR_HEALTH get_away_car 800
					ENDIF
					carlock_flag = 1
				ENDIF
			ENDIF
 
			IF IS_CAR_UPSIDEDOWN get_away_car
			AND IS_CAR_STOPPED get_away_car
				SET_CHAR_OBJ_LEAVE_CAR the_witness get_away_car
				IF NOT IS_CHAR_DEAD police_guard1
					SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT police_guard1 player
					GIVE_WEAPON_TO_CHAR police_guard1 WEAPONTYPE_CHAINGUN 5000
				ENDIF
			ENDIF
 
			IF IS_PLAYER_IN_CAR player get_away_car
				SET_CHAR_OBJ_LEAVE_CAR the_witness get_away_car
				IF NOT IS_CHAR_DEAD police_guard1
					SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT police_guard1 player
					GIVE_WEAPON_TO_CHAR police_guard1 WEAPONTYPE_CHAINGUN 5000
				ENDIF
			ENDIF
 
			GET_CAR_HEALTH get_away_car get_away_car_health
			IF get_away_car_health < 200
				SET_CHAR_OBJ_LEAVE_CAR the_witness get_away_car
				IF NOT IS_CHAR_DEAD police_guard1
					SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT police_guard1 player
					GIVE_WEAPON_TO_CHAR police_guard1 WEAPONTYPE_CHAINGUN 5000
				ENDIF
			ENDIF
 
			IF IS_CAR_STOPPED get_away_car
				IF getaway_stuck_flag = 0
					TIMERA = 0
					getaway_stuck_flag = 1
				ENDIF
 
				IF getaway_stuck_flag = 1
					IF TIMERA > 5000
						SET_CHAR_OBJ_LEAVE_CAR the_witness get_away_car
						IF NOT IS_CHAR_DEAD police_guard1
							SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT police_guard1 player
							GIVE_WEAPON_TO_CHAR police_guard1 WEAPONTYPE_CHAINGUN 5000
						ENDIF
					ENDIF
				ENDIF
			ENDIF
 
			IF NOT IS_CAR_STOPPED get_away_car
				getaway_stuck_flag = 0
			ENDIF
 
			IF LOCATE_CAR_2D get_away_car get_away_car_x get_away_car_y 3.0 3.0 0
				IF car_moving_stuck_flag = 0
					TIMERB = 0
					car_moving_stuck_flag = 1
				ENDIF
 
				IF car_moving_stuck_flag = 1
					IF TIMERB > 8000
						SET_CHAR_OBJ_LEAVE_CAR the_witness get_away_car
						IF NOT IS_CHAR_DEAD police_guard1
							SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT police_guard1 player
							GIVE_WEAPON_TO_CHAR police_guard1 WEAPONTYPE_CHAINGUN 5000
						ENDIF
					ENDIF
				ENDIF			
			ELSE
				GET_CAR_COORDINATES get_away_car get_away_car_x get_away_car_y get_away_car_z
				car_moving_stuck_flag = 0
			ENDIF
		ENDIF
	ENDIF
 
	WAIT 0
 
ENDWHILE
 
GOTO mission_ray1_passed
 
 
// Mission Ray 1 failed
 
mission_ray1_failed:
PRINT_BIG M_FAIL 5000 1
RETURN
 
 
 
// mission Ray 1 passed
 
mission_ray1_passed:
 
flag_ray_mission1_passed = 1
PRINT_WITH_NUMBER_BIG M_PASS 30000 5000 1
ADD_SCORE player 30000
CLEAR_WANTED_LEVEL player
PLAY_MISSION_PASSED_TUNE 1
REGISTER_MISSION_PASSED	RM1
PLAYER_MADE_PROGRESS 1
START_NEW_SCRIPT ray_mission2_loop
RETURN
 
 
 
// mission cleanup
 
mission_cleanup_ray1:
 
REMOVE_BLIP ray1_blip
 
REMOVE_PARTICLE_EFFECTS_IN_AREA 372.0 -449.0 25.0 383.0 -436.0 33.0
 
MARK_MODEL_AS_NO_LONGER_NEEDED PED_LI_MAN2
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_SENTINEL
MARK_MODEL_AS_NO_LONGER_NEEDED safehouse
 
flag_player_on_mission = 0
flag_player_on_ray_mission = 0
REMOVE_ALL_SCRIPT_FIRES
MISSION_HAS_FINISHED
RETURN

ray2

MISSION_START
// *****************************************************************************************
// *****************************************************************************************
// *****************************************************************************************
// *****************************************Ray mission 2*********************************** 
// *****************************************************************************************
// *****************************************************************************************
// *****************************************************************************************
 
// Mission start stuff
 
GOSUB mission_start_ray2
IF HAS_DEATHARREST_BEEN_EXECUTED 
	GOSUB mission_ray2_failed
ENDIF
GOSUB mission_cleanup_ray2
MISSION_END
 
// Variables for mission
 
VAR_INT blip_warehouse_rm2
VAR_FLOAT wh_x_rm2 wh_y_rm2 wh2_x_rm2 wh2_y_rm2
VAR_FLOAT phils_defcon_x phils_defcon_y phils_defcon_z
//VAR_FLOAT phils_defcon_minx phils_defcon_miny phils_defcon_maxx phils_defcon_maxy
VAR_INT flag_phil_in_area flag_phil_arrived
 
//VAR_INT phils_m16 phils_uzi phils_shotgun
VAR_INT phils_molotov phils_rocket phils_m16 phils_uzi phils_shotgun phils_armour
VAR_INT flag_m16_gone flag_uzi_gone flag_rocket_gone flag_shotgun_gone
VAR_INT flag_molotov_gone
VAR_FLOAT m16_x m16_y
VAR_FLOAT uzi_x uzi_y
VAR_FLOAT rocket_x rocket_y rocket_z
VAR_FLOAT molotov_x molotov_y molotov_z
VAR_FLOAT shotgun_x shotgun_y
 
VAR_INT player_rm2 player_car_rm2
VAR_INT phil phil_truck_1 phil_truck_2 blip_phil
//VAR_INT phil_truck_3 
VAR_INT flag_phil_dead flag_trucks
 
VAR_INT varmint_1 varmint_2 varmint_3
VAR_INT varmint_4 varmint_5 varmint_6
VAR_INT varmint_7 varmint_8 varmint_9
VAR_INT varmint_10 varmint_11 varmint_12
 
VAR_INT blip_v1 blip_v2 blip_v3 blip_v4
VAR_INT blip_v5 blip_v6 blip_v7 blip_v8
VAR_INT blip_v9 blip_v10 blip_v11 blip_v12
 
VAR_INT flag_v1_dead flag_v2_dead flag_v3_dead
VAR_INT flag_v4_dead flag_v5_dead flag_v6_dead
VAR_INT flag_v7_dead flag_v8_dead flag_v9_dead
VAR_INT flag_v10_dead flag_v11_dead flag_v12_dead
VAR_INT counter_dead_varmints
//VAR_INT condition_1
VAR_INT flag_cartel_arrived flag_sneaky_1 flag_sneaky_2 //flag_camera
 
 
VAR_INT sentinel1_rm2 stallion1_rm2 perenial1_rm2
VAR_INT stallion_bailout sentinel_bailout perenial_bailout
VAR_INT flag_stallion_arrived flag_sentinel_arrived flag_perenial_arrived
VAR_INT flag_stallion_created flag_sentinel_created flag_perenial_created
VAR_INT flag_launch_perenial flag_launch_stallion
//VAR_INT flag_launch_sentinel 
VAR_INT blip_stallion1 blip_perenial1 blip_sentinel1
 
VAR_FLOAT varmint_gen1_x varmint_gen1_y
//VAR_FLOAT varmint_gen2_x varmint_gen2_y
//VAR_FLOAT varmint_gen3_x varmint_gen3_y
 
VAR_FLOAT stage_1_x stage_1_y
VAR_FLOAT stage_2_x stage_2_y
VAR_FLOAT stage_3_x stage_3_y
VAR_INT	timer_dif_rm2 timer_now_rm2 timer_start_rm2
 
 
//VAR_FLOAT player_rm2_x player_rm2_y player_rm2_z
 
VAR_INT flag_audio flag_gate
// ****************************************Mission Start************************************
 
mission_start_ray2:
REGISTER_MISSION_GIVEN
SCRIPT_NAME ray2 
//	PRINT_BIG ( RM2 ) 15000 2
 
 
// *****************************************Set Flags************************************
 
 
flag_player_on_mission = 1
 
flag_player_on_ray_mission = 1
 
flag_player_on_phil_mission = 1
 
rays_cutscene_flag = 1
 
WAIT 0
 
/*
IF NOT rays_camera_1 = 0
OR NOT rays_camera_2 = 0
OR NOT rays_camera_3 = 0
	RESTORE_CAMERA_JUMPCUT
	rays_camera_1 = 0
	rays_camera_2 = 0
	rays_camera_3 = 0
ENDIF
*/
//set flags
 
flag_m16_gone = 0
flag_uzi_gone = 0
flag_rocket_gone = 0
flag_shotgun_gone = 0
flag_molotov_gone = 0
 
flag_phil_in_area = 0
flag_phil_arrived = 0
flag_phil_dead = 0
 
flag_trucks = 0
 
flag_v1_dead = 0
flag_v2_dead = 0
flag_v3_dead = 0
flag_v4_dead = 0
flag_v5_dead = 0
flag_v6_dead = 0
flag_v7_dead = 0
flag_v8_dead = 0
flag_v9_dead = 0
flag_v10_dead = 0
flag_v11_dead = 0
flag_v12_dead = 0
counter_dead_varmints = 0
//condition_1 = 0
 
flag_cartel_arrived = 0
//flag_camera = 0
 
stallion_bailout = 0
sentinel_bailout = 0
perenial_bailout = 0
flag_stallion_arrived = 0
flag_sentinel_arrived = 0
flag_perenial_arrived = 0
 
flag_stallion_created = 0
flag_sentinel_created = 0
flag_perenial_created = 0
 
flag_launch_stallion = 0
//flag_launch_sentinel = 0
flag_launch_perenial = 0
 
flag_sneaky_1 = 0
flag_sneaky_2 = 0
 
flag_audio = 0
flag_gate = 0
// *******************************************Set Coord*****************************************
 
wh_x_rm2 = 137.15
wh_y_rm2 = 192.43
wh2_x_rm2 = 121.5
wh2_y_rm2 = 214.6
 
varmint_gen1_x = 174.0
varmint_gen1_y = 170.0
 
 
stage_3_x = 153.0
stage_3_y = 220.0
stage_1_x = 172.0
stage_1_y = 207.0
stage_2_x = 152.0
stage_2_y = 204.0
 
 
phils_defcon_x = 136.5
phils_defcon_y = 176.7
phils_defcon_z = 11.6
/*
phils_defcon_minx = 119.0
phils_defcon_miny = 168.0
phils_defcon_maxx = 146.0
phils_defcon_maxy = 198.0
*/
m16_x = 145.5
m16_y = 170.0
uzi_x = 143.5
uzi_y = 170.0
shotgun_x = 141.5
shotgun_y = 170.0
rocket_x = 126.98
rocket_y = 198.24
rocket_z = 14.53
molotov_x = 126.98
molotov_y = 191.73
molotov_z = 14.53
 
 
// ****************************************START OF CUTSCENE********************************
 
/*
IF CAN_PLAYER_START_MISSION Player
	MAKE_PLAYER_SAFE_FOR_CUTSCENE Player
ELSE
	GOTO mission_ray2_failed
ENDIF
 
SET_FADING_COLOUR 0 0 0
 
DO_FADE 250 FADE_OUT
 
PRINT_BIG RM2 15000 2 //"Arms Shortage"
 
SWITCH_STREAMING OFF
*/
 
LOAD_SPECIAL_CHARACTER 1 ray
LOAD_SPECIAL_MODEL cut_obj1 PLAYERH
LOAD_SPECIAL_MODEL cut_obj2 RAYH
REQUEST_MODEL toilet 
/*
WHILE GET_FADING_STATUS
	WAIT 0
ENDWHILE
*/
 
LOAD_ALL_MODELS_NOW
 
WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1
OR NOT HAS_MODEL_LOADED cut_obj2
OR NOT HAS_MODEL_LOADED cut_obj1
OR NOT HAS_MODEL_LOADED toilet
 WAIT 0
ENDWHILE
 
//SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor FALSE 
 
LOAD_CUTSCENE r2_ap
 
SWITCH_STREAMING ON
 
SET_CUTSCENE_OFFSET 39.424 -726.677 21.692
 
CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
SET_CUTSCENE_ANIM cs_player player
 
CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_ray
SET_CUTSCENE_ANIM cs_ray ray
 
CREATE_CUTSCENE_HEAD cs_player CUT_OBJ1 cs_playerhead
SET_CUTSCENE_HEAD_ANIM cs_playerhead player
 
CREATE_CUTSCENE_HEAD cs_ray CUT_OBJ2 cs_rayhead
SET_CUTSCENE_HEAD_ANIM cs_rayhead ray
 
//CREATE_CUTSCENE_OBJECT cut_obj1 cs_ludoor
//SET_CUTSCENE_ANIM cs_ludoor LUDOOR
 
//SET_PLAYER_COORDINATES player 38.7 -725.7 22.0
 
//SET_PLAYER_HEADING player 270.0
 
 
CLEAR_AREA 39.0 -723.5 22.0 1.0 TRUE
 
SET_PLAYER_COORDINATES player 39.0 -723.5 22.0
 
SET_PLAYER_HEADING player 90.0
 
DO_FADE 250 FADE_IN
 
SET_NEAR_CLIP 0.2
 
START_CUTSCENE
SWITCH_STREAMING OFF
SWITCH_RUBBISH OFF
 
// Displays cutscene text
 
GET_CUTSCENE_TIME cs_time
 
WHILE cs_time < 6426
 WAIT 0
 GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM2_A1 10000 1 //"Hey kid, over here!"
 
WHILE cs_time < 8218
 WAIT 0
 GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM2_A 10000 1 //"An old army buddy of mine runs a business up in Rockford."
 
WHILE cs_time < 11093
 WAIT 0
 GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM2_B 10000 1 //"We saw action in Nicaragua, back when this country knew what it was doing."
 
WHILE cs_time < 14634
 WAIT 0
 GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM2_C 10000 1 //"Some Cartel scum roughed him up yesterday and said they'd be back for some of his stock today.
 
WHILE cs_time < 20938
 WAIT 0
 GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM2_D 10000 1 //"He could do with some back-up and in return he'll give you knock-down rates on any hardware you buy."
 
WHILE cs_time < 26599
 WAIT 0
 GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM2_D1 10000 1 //"I'd go myself but the old siatica's playing up again -cough cough- so, eerr, good luck."
 
WHILE cs_time < 38333
 WAIT 0
 GET_CUTSCENE_TIME cs_time
ENDWHILE
 
DO_FADE 1000 FADE_OUT
 
 
WHILE NOT HAS_CUTSCENE_FINISHED
 WAIT 0
ENDWHILE
 
//DO_FADE 1000 FADE_IN 
 
CLEAR_PRINTS
 
WHILE GET_FADING_STATUS
 WAIT 0
ENDWHILE
 
CLEAR_CUTSCENE
 
DO_FADE 0 FADE_OUT
 
SET_CAMERA_BEHIND_PLAYER
SET_NEAR_CLIP 0.9
 
WAIT 500
 
DO_FADE 1000 FADE_IN 
 
//WHILE GET_FADING_STATUS
// WAIT 0
//ENDWHILE
 
//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 CUT_OBJ2
MARK_MODEL_AS_NO_LONGER_NEEDED toilet
 
SWITCH_STREAMING ON 
SWITCH_RUBBISH ON
rays_cutscene_flag = 0
// ******************************************END OF CUTSCENE********************************
 
// Mission stuff goes here
 
ADD_BLIP_FOR_COORD wh_x_rm2 wh_y_rm2 -100.0 blip_warehouse_rm2
 
//------------------REQUEST_MODELS ------------------------------
 
REQUEST_MODEL PED_GANG_COLOMBIAN_A
WHILE NOT HAS_MODEL_LOADED PED_GANG_COLOMBIAN_A
	WAIT 0
ENDWHILE
 
LOAD_SPECIAL_CHARACTER 1 dealer
WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1
	WAIT 0
ENDWHILE
 
REQUEST_MODEL PED_GANG_COLOMBIAN_B 
WHILE NOT HAS_MODEL_LOADED PED_GANG_COLOMBIAN_B
	WAIT 0
ENDWHILE
 
REQUEST_MODEL CAR_COLUMB
WHILE NOT HAS_MODEL_LOADED CAR_COLUMB
	WAIT 0
ENDWHILE
/* 
REQUEST_MODEL CAR_STALLION
WHILE NOT HAS_MODEL_LOADED CAR_STALLION
	WAIT 0
ENDWHILE
 
REQUEST_MODEL CAR_PERENNIAL
WHILE NOT HAS_MODEL_LOADED CAR_PERENNIAL
	WAIT 0
ENDWHILE
*/ 
REQUEST_MODEL CAR_BARRACKS
WHILE NOT HAS_MODEL_LOADED CAR_BARRACKS
	WAIT 0
ENDWHILE
 
REQUEST_MODEL CAR_RHINO
WHILE NOT HAS_MODEL_LOADED CAR_RHINO
	WAIT 0
ENDWHILE
/*
REQUEST_MODEL CAR_PATRIOT
WHILE NOT HAS_MODEL_LOADED CAR_PATRIOT
	WAIT 0
ENDWHILE
*/
 
 
 
 
 
 
//------------------WAITING FOR PLAYER TO ARRIVE---------------------------------------
 
WHILE NOT LOCATE_PLAYER_ANY_MEANS_2D player wh_x_rm2 wh_y_rm2 4.0 4.0 true
//AND NOT LOCATE_PLAYER_ANY_MEANS_2D player wh2_x_rm2 wh2_y_rm2 2.0 2.0 false
	WAIT 0
 
	IF IS_PLAYER_IN_ZONE player HOSPI_2
	AND flag_trucks = 0
 
		//--------------------CREATE PHIL'S TRUCKS---------------------------------------------
 
		CREATE_CAR CAR_RHINO 132.0 173.9 11.6 phil_truck_1
		SET_CAR_HEADING phil_truck_1 0.0
		CAR_SET_IDLE phil_truck_1
		SET_CAR_PROOFS phil_truck_1 TRUE FALSE FALSE FALSE FALSE
		LOCK_CAR_DOORS phil_truck_1 CARLOCK_LOCKED
 
		CREATE_CAR CAR_BARRACKS 133.56 208.76 11.93 phil_truck_2
		SET_CAR_HEADING phil_truck_2 180.0
		CAR_SET_IDLE phil_truck_2
		SET_CAR_PROOFS phil_truck_2 TRUE FALSE FALSE FALSE FALSE
		LOCK_CAR_DOORS phil_truck_2 CARLOCK_LOCKED
		/*
		CREATE_CAR CAR_PATRIOT 141.23 192.52 11.6 phil_truck_3
		SET_CAR_HEADING phil_truck_3 60.0 
		CAR_SET_IDLE phil_truck_3
		SET_CAR_PROOFS phil_truck_3 TRUE FALSE FALSE FALSE FALSE
		LOCK_CAR_DOORS phil_truck_3 CARLOCK_LOCKED
		*/
		flag_trucks = 1
	ENDIF
	IF flag_gate = 0
		IF gate2_sfx1 = 0
			ADD_ONE_OFF_SOUND 147.249 207.323 10.599 SOUND_GATE_START_CLUNK
			gate2_sfx1 = 1
		ENDIF
 
		WHILE NOT SLIDE_OBJECT phils_compnd_gate 147.249 214.823 10.599 0.0 0.1 0.0 FALSE
			WAIT 0
		ENDWHILE
 
		IF not_clunked_yet = 1
			gate_sfx2 = 0
			not_clunked_yet = 0
		ENDIF
 
		IF gate2_sfx2 = 0
			ADD_ONE_OFF_SOUND 147.249 214.823 10.599 SOUND_GATE_STOP_CLUNK
			gate2_sfx2 = 1
		ENDIF
		flag_gate = 1
	ENDIF
 
ENDWHILE
 
//--------------------PLAYER ARRIVED (CUTSCENE)------------------------------------------
//-----------------------CREATE PHIL-------------------
 
CLEAR_AREA phils_defcon_x phils_defcon_y 11.5 20.0 true
CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL1 phils_defcon_x phils_defcon_y phils_defcon_z phil
SET_CHAR_HEADING phil 360.0
GIVE_WEAPON_TO_CHAR phil WEAPONTYPE_M16 200
ADD_ARMOUR_TO_CHAR phil 100
SET_CHAR_PERSONALITY phil PEDSTAT_TOUGH_GUY
CLEAR_CHAR_THREAT_SEARCH phil
SET_CHAR_THREAT_SEARCH phil THREAT_GANG_COLOMBIAN
SET_CHAR_STAY_IN_SAME_PLACE phil true
//CHAR_SET_IDLE phil
 
 
//-----------------------CREATE PHIL'S 'SUPPLIES'-------------------------------------
 
CREATE_PICKUP_WITH_AMMO WEAPON_M16 PICKUP_ONCE 60 m16_x m16_y 11.5 phils_m16
CREATE_PICKUP WEAPON_UZI PICKUP_ONCE uzi_x uzi_y 11.5 phils_uzi
CREATE_PICKUP WEAPON_SHOTGUN PICKUP_ONCE shotgun_x shotgun_y 11.5 phils_shotgun
CREATE_PICKUP WEAPON_ROCKET PICKUP_ONCE rocket_x rocket_y rocket_z phils_rocket
CREATE_PICKUP WEAPON_MOLOTOV PICKUP_ONCE molotov_x molotov_y molotov_z phils_molotov
CREATE_PICKUP bodyarmour PICKUP_ON_STREET_SLOW 121.16 194.92 11.53 phils_armour
 
 
REMOVE_BLIP blip_warehouse_rm2
 
SET_PLAYER_CONTROL player off
GET_PLAYER_CHAR player player_rm2
SET_FIXED_CAMERA_POSITION 141.5 184.5 12.5 0.0 0.0 0.0
SWITCH_WIDESCREEN on
 
IF IS_PLAYER_IN_ANY_CAR player
	STORE_CAR_PLAYER_IS_IN player player_car_rm2
	APPLY_BRAKES_TO_PLAYERS_CAR player on
	CAR_SET_IDLE player_car_rm2
	POINT_CAMERA_AT_CAR player_car_rm2 FIXED JUMP_CUT
	SET_CHAR_OBJ_LEAVE_CAR player_rm2 player_car_rm2
	WHILE IS_CHAR_IN_CAR player_rm2 player_car_rm2
		WAIT 0
		IF IS_CAR_DEAD player_car_rm2
			GOTO bibble
		ENDIF
	ENDWHILE
ENDIF
 
POINT_CAMERA_AT_CHAR player_rm2 FIXED JUMP_CUT
 
bibble:
 
 
WAIT 0
 
phils_defcon_y = phils_defcon_y + 3.0
SET_CHAR_OBJ_RUN_TO_COORD player_rm2 phils_defcon_x phils_defcon_y
 
 
WHILE NOT LOCATE_PLAYER_ANY_MEANS_2D player phils_defcon_x phils_defcon_y 2.0 2.0 false
	WAIT 0
ENDWHILE
//SET_CHAR_OBJ_NO_OBJ player_rm2
 
 
LOAD_MISSION_AUDIO R2_A
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO peedle
	ENDIF
ENDWHILE
SET_MISSION_AUDIO_POSITION phils_defcon_x phils_defcon_y phils_defcon_z
PLAY_MISSION_AUDIO
PRINT_NOW (RM2_E) 4000 1 //"Ray phoned ahead....but I thought there'd be more of you.
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO peedle
	ENDIF
ENDWHILE
 
 
LOAD_MISSION_AUDIO R2_B
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO peedle
	ENDIF
ENDWHILE
SET_MISSION_AUDIO_POSITION phils_defcon_x phils_defcon_y phils_defcon_z
PLAY_MISSION_AUDIO
PRINT_NOW (RM2_E1) 4000 1 //"I can't believe the yellow bastard's left me without proper cover again!"
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO peedle
	ENDIF
ENDWHILE
 
 
LOAD_MISSION_AUDIO R2_C
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO peedle
	ENDIF
ENDWHILE
SET_MISSION_AUDIO_POSITION phils_defcon_x phils_defcon_y phils_defcon_z
PLAY_MISSION_AUDIO
PRINT_NOW (RM2_F) 4000 1 //"Well three arms are better than one, so grab whatever you need."
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO peedle
	ENDIF
ENDWHILE
 
 
LOAD_MISSION_AUDIO R2_D
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO peedle
	ENDIF
ENDWHILE
SET_MISSION_AUDIO_POSITION phils_defcon_x phils_defcon_y phils_defcon_z
PLAY_MISSION_AUDIO
PRINT_NOW (RM2_F1) 4000 1 //"Those Colombians will be here any minute."
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO peedle
	ENDIF
ENDWHILE
 
peedle:
CLEAR_MISSION_AUDIO
 
CLEAR_PRINTS
SET_PLAYER_CONTROL player on
RESTORE_CAMERA_JUMPCUT
SWITCH_WIDESCREEN off
 
GET_GAME_TIMER timer_start_rm2
GET_GAME_TIMER timer_now_rm2
timer_dif_rm2 = timer_now_rm2 - timer_start_rm2
 
//-------GIVE PLAYER TIME TO GET PICKUPS WITHOUT LEAVING COMPOUND-------
CLEAR_AREA varmint_gen1_x varmint_gen1_y 11.5 20.0 true
CLEAR_AREA stage_3_x stage_3_y 11.5 20.0 true
CLEAR_AREA stage_1_x stage_1_y 11.5 20.0 true
CLEAR_AREA stage_2_x stage_2_y 11.5 20.0 true
 
/*IF NOT IS_CAR_DEAD phil_truck_3
	LOCK_CAR_DOORS phil_truck_3 CARLOCK_UNLOCKED
ENDIF*/
IF NOT IS_CAR_DEAD phil_truck_2
	LOCK_CAR_DOORS phil_truck_2 CARLOCK_UNLOCKED
ENDIF
 
WHILE timer_dif_rm2 < 25000
AND IS_PLAYER_IN_AREA_2D player 119.0 167.0 147.0 246.0 false
	WAIT 0
	GOSUB pickups
	IF IS_PLAYER_IN_AREA_2D player 147.0 198.0 156.0 208.0 false
		GOTO herring
	ENDIF
	IF IS_PLAYER_IN_ANY_CAR player
		GOTO herring
	ENDIF
 
	GET_GAME_TIMER timer_now_rm2
	timer_dif_rm2 = timer_now_rm2 - timer_start_rm2
	IF IS_CHAR_DEAD phil
		flag_phil_dead = 1
		GOTO mission_ray2_failed
	ENDIF
 
ENDWHILE
 
herring:
//----LOAD PHIL'S SOUND BITE-----------------------------------------
 
LOAD_MISSION_AUDIO R2_E
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
ENDWHILE
 
//-----------------MAIN LOOP-----------------------------------------
 
GET_GAME_TIMER timer_start_rm2
 
WHILE counter_dead_varmints < 12
 
	WAIT 0
 
	GET_GAME_TIMER timer_now_rm2
	timer_dif_rm2 = timer_now_rm2 - timer_start_rm2
 
	GOSUB pickups
 
 
	//--------sentinel gen stuff--------------------------------------------
 
	IF timer_dif_rm2 > 2000
	AND flag_sentinel_created = 0
		CREATE_CAR CAR_COLUMB varmint_gen1_x varmint_gen1_y -100.0 sentinel1_rm2
		SET_CAR_ONLY_DAMAGED_BY_PLAYER sentinel1_rm2 TRUE
		LOCK_CAR_DOORS sentinel1_rm2 CARLOCK_LOCKED
		ADD_BLIP_FOR_CAR sentinel1_rm2 blip_sentinel1
		CREATE_CHAR_INSIDE_CAR sentinel1_rm2 PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B varmint_1
		CREATE_CHAR_AS_PASSENGER sentinel1_rm2 PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B 0 varmint_2
		CREATE_CHAR_AS_PASSENGER sentinel1_rm2 PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B 1 varmint_3
		CREATE_CHAR_AS_PASSENGER sentinel1_rm2 PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 2 varmint_4
		SET_CAR_CRUISE_SPEED sentinel1_rm2 10.0
		SET_CAR_DRIVING_STYLE sentinel1_rm2 3
		CAR_GOTO_COORDINATES_ACCURATE sentinel1_rm2 stage_1_x stage_1_y 11.6
		flag_sentinel_created = 1
	ENDIF
 
	IF flag_launch_stallion = 0
	AND flag_sentinel_created = 1
		IF NOT IS_CAR_DEAD sentinel1_rm2
			IF LOCATE_CAR_2D sentinel1_rm2 stage_1_x stage_1_y 4.0 4.0 false
				CAR_GOTO_COORDINATES_ACCURATE sentinel1_rm2 stage_2_x stage_2_y 11.6
				flag_launch_stallion = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF flag_launch_stallion = 1
	AND flag_sentinel_created = 1
		IF NOT IS_CAR_DEAD sentinel1_rm2
			IF LOCATE_CAR_2D sentinel1_rm2 stage_2_x stage_2_y 4.0 4.0 false
				flag_launch_stallion = 2
				flag_sentinel_arrived = 1
				SET_CAR_ONLY_DAMAGED_BY_PLAYER sentinel1_rm2 FALSE
				LOCK_CAR_DOORS sentinel1_rm2 CARLOCK_UNLOCKED
				IF flag_cartel_arrived < 2
					flag_cartel_arrived = 1
				ENDIF
			ENDIF
		ENDIF
	ENDIF
 
	IF flag_sentinel_created = 1
		IF IS_CAR_DEAD sentinel1_rm2
			flag_launch_stallion = 1
			REMOVE_BLIP blip_sentinel1
		ELSE
			IF NOT IS_CAR_HEALTH_GREATER sentinel1_rm2 950
				flag_sentinel_arrived = 1
				IF flag_launch_stallion = 0
					flag_launch_stallion = 1
				ENDIF
				IF flag_cartel_arrived = 0
					flag_cartel_arrived = 1
				ENDIF
			ENDIF
		ENDIF
	ENDIF
 
	//-----stallion gen stuff------------------------------------------------
 
	IF timer_dif_rm2 > 4000
	AND flag_stallion_created = 0
	AND flag_launch_stallion > 0
		CREATE_CAR CAR_COLUMB varmint_gen1_x varmint_gen1_y -100.0 stallion1_rm2
		SET_CAR_ONLY_DAMAGED_BY_PLAYER stallion1_rm2 TRUE
		LOCK_CAR_DOORS stallion1_rm2 CARLOCK_LOCKED
		ADD_BLIP_FOR_CAR stallion1_rm2 blip_stallion1
		CREATE_CHAR_INSIDE_CAR stallion1_rm2 PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A varmint_5
		CREATE_CHAR_AS_PASSENGER stallion1_rm2 PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B 0 varmint_6
		SET_CAR_CRUISE_SPEED stallion1_rm2 10.0
		SET_CAR_DRIVING_STYLE  stallion1_rm2 3
		CAR_GOTO_COORDINATES_ACCURATE stallion1_rm2 stage_1_x stage_1_y 11.6
		flag_stallion_created = 1
	ENDIF
 
	IF flag_launch_perenial = 0
	AND flag_stallion_created = 1
		IF NOT IS_CAR_DEAD stallion1_rm2
			IF LOCATE_CAR_2D stallion1_rm2 stage_1_x stage_1_y 4.0 4.0 false
				CAR_GOTO_COORDINATES_ACCURATE stallion1_rm2 stage_3_x stage_3_y 11.6
				flag_launch_perenial = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF flag_launch_perenial = 1
	AND flag_stallion_created = 1
		IF NOT IS_CAR_DEAD stallion1_rm2
			IF LOCATE_CAR_2D stallion1_rm2 stage_3_x stage_3_y 4.0 4.0 false
				flag_launch_perenial = 2
				flag_stallion_arrived = 1
				SET_CAR_ONLY_DAMAGED_BY_PLAYER stallion1_rm2 FALSE
				LOCK_CAR_DOORS stallion1_rm2 CARLOCK_UNLOCKED
				IF flag_cartel_arrived < 2
					flag_cartel_arrived = 1
				ENDIF
			ENDIF
		ENDIF
	ENDIF
 
	IF flag_stallion_created = 1
		IF IS_CAR_DEAD stallion1_rm2
			flag_launch_perenial = 1
			REMOVE_BLIP blip_stallion1
		ELSE
			IF NOT IS_CAR_HEALTH_GREATER stallion1_rm2 950
				flag_stallion_arrived = 1
				IF flag_cartel_arrived = 0
					flag_cartel_arrived = 1
				ENDIF
			ENDIF
		ENDIF
	ENDIF
 
	//-----perenial gen stuff-----------------------------------------------
 
	IF timer_dif_rm2 > 6000
	AND flag_perenial_created = 0
	AND flag_launch_perenial > 0
		CREATE_CAR CAR_COLUMB varmint_gen1_x varmint_gen1_y -100.0 perenial1_rm2
		SET_CAR_ONLY_DAMAGED_BY_PLAYER perenial1_rm2 TRUE
		LOCK_CAR_DOORS perenial1_rm2 CARLOCK_LOCKED
		ADD_BLIP_FOR_CAR perenial1_rm2 blip_perenial1
		CREATE_CHAR_INSIDE_CAR perenial1_rm2 PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B varmint_7
		CREATE_CHAR_AS_PASSENGER perenial1_rm2 PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B 0 varmint_8
		CREATE_CHAR_AS_PASSENGER perenial1_rm2 PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B 1 varmint_9
		CREATE_CHAR_AS_PASSENGER perenial1_rm2 PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 2 varmint_10
		SET_CAR_CRUISE_SPEED perenial1_rm2 10.0
		SET_CAR_DRIVING_STYLE  perenial1_rm2 3
		CAR_GOTO_COORDINATES_ACCURATE perenial1_rm2 stage_1_x stage_1_y 11.6
		flag_perenial_created = 1
	ENDIF
 
 
	IF flag_perenial_created = 1
		IF NOT IS_CAR_DEAD perenial1_rm2
			IF LOCATE_CAR_2D perenial1_rm2 stage_1_x stage_1_y 4.0 4.0 false
				flag_perenial_arrived = 1
				SET_CAR_ONLY_DAMAGED_BY_PLAYER perenial1_rm2 FALSE
				LOCK_CAR_DOORS perenial1_rm2 CARLOCK_UNLOCKED
				IF flag_cartel_arrived < 2
					flag_cartel_arrived = 1
				ENDIF
			ENDIF
		ENDIF
	ENDIF
 
	IF flag_perenial_created = 1	
		IF IS_CAR_DEAD perenial1_rm2
			REMOVE_BLIP blip_perenial1
		ELSE
			IF NOT IS_CAR_HEALTH_GREATER perenial1_rm2 950
				flag_perenial_arrived = 1
				IF flag_cartel_arrived = 0
					flag_cartel_arrived = 1
				ENDIF
			ENDIF
		ENDIF
	ENDIF
 
	//----------------Sneaky backstab----------------------------------------
 
	IF flag_cartel_arrived > 0
	AND timer_dif_rm2 > 12000
		IF flag_sneaky_1 = 0
			IF NOT IS_POINT_ON_SCREEN 121.3 217.7 11.5 2.5
				CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 121.3 235.7 11.5 varmint_11
				GIVE_WEAPON_TO_CHAR varmint_11 WEAPONTYPE_CHAINGUN 80
				ADD_ARMOUR_TO_CHAR varmint_11 100
				ADD_BLIP_FOR_CHAR_OLD varmint_11 1 BLIP_ONLY blip_v11
				//SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT varmint_11 player
				SET_CHAR_OBJ_RUN_TO_COORD varmint_11 phils_defcon_x phils_defcon_y
				SET_CHAR_THREAT_SEARCH varmint_11 THREAT_PLAYER1
				SET_CHAR_THREAT_SEARCH varmint_11 THREAT_SPECIAL
				SET_CHAR_HEED_THREATS varmint_11 true
				flag_sneaky_1 = 1
			ENDIF
		ENDIF
		IF flag_sneaky_2 = 0
			IF NOT IS_POINT_ON_SCREEN 121.3 241.6 11.5 2.5
				CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 121.3 241.6 11.5 varmint_12
				GIVE_WEAPON_TO_CHAR varmint_12 WEAPONTYPE_SHOTGUN 20
				ADD_ARMOUR_TO_CHAR varmint_12 100
				ADD_BLIP_FOR_CHAR_OLD varmint_12 1 BLIP_ONLY blip_v12
				SET_CHAR_OBJ_RUN_TO_COORD varmint_12 124.15 184.7
				SET_CHAR_THREAT_SEARCH varmint_12 THREAT_PLAYER1
				SET_CHAR_THREAT_SEARCH varmint_12 THREAT_SPECIAL
				SET_CHAR_HEED_THREATS varmint_12 true
				/*IF NOT IS_CHAR_DEAD phil
					SET_CHAR_OBJ_KILL_CHAR_ON_FOOT varmint_12 phil
				ENDIF*/
				flag_sneaky_2 = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF IS_CHAR_DEAD phil
		flag_phil_dead = 1
		GOTO mission_ray2_failed
	ENDIF
 
	IF flag_cartel_arrived = 1
		SET_MISSION_AUDIO_POSITION phils_defcon_x phils_defcon_y phils_defcon_z
		PLAY_MISSION_AUDIO		
		PRINT_NOW (RM2_K) 4000 1 //"SHIT They're here! LOCK'N'LOAD!!"
		flag_cartel_arrived = 2
		/*WHILE NOT SLIDE_OBJECT phils_compnd_gate 147.249 214.323 10.599 0.0 0.1 0.0 FALSE
			WAIT 0
		ENDWHILE*/
	ENDIF
 
	GOSUB varmint_deaths
 
	GOSUB big_bailout_routine
 
ENDWHILE
 
//-------All Cartel Varmints dead-----------------------------------------------
IF NOT IS_CHAR_DEAD phil
	SET_CHAR_HEALTH phil 5
ENDIF
 
IF NOT IS_CHAR_DEAD phil
	SET_CHAR_STAY_IN_SAME_PLACE phil true
	GET_CHAR_COORDINATES phil phils_defcon_x phils_defcon_y phils_defcon_z
	IF NOT LOCATE_PLAYER_ANY_MEANS_2D player phils_defcon_x phils_defcon_y 2.0 2.0 false
		PRINT_NOW (RM2_G) 2500 1 //"Go check on Phil!"
		ADD_BLIP_FOR_CHAR phil blip_phil
		WHILE NOT LOCATE_PLAYER_ANY_MEANS_2D player phils_defcon_x phils_defcon_y 2.0 2.0 false
			WAIT 0
			IF IS_CHAR_DEAD phil
				flag_phil_dead = 1
				REMOVE_BLIP blip_phil
				GOTO mission_ray2_failed
			ENDIF
		ENDWHILE
	ENDIF
ENDIF
 
IF IS_CHAR_DEAD phil
	flag_phil_dead = 1
	REMOVE_BLIP blip_phil
	GOTO mission_ray2_failed
ELSE
	SET_CHAR_HEALTH phil 100
ENDIF
 
REMOVE_BLIP blip_phil
 
SET_PLAYER_CONTROL player off
SWITCH_WIDESCREEN on
SET_FIXED_CAMERA_POSITION 134.6 184.7 11.16 0.0 0.0 0.0
 
IF IS_PLAYER_IN_ANY_CAR player
	STORE_CAR_PLAYER_IS_IN player player_car_rm2
	APPLY_BRAKES_TO_PLAYERS_CAR player on
	CAR_SET_IDLE player_car_rm2
	POINT_CAMERA_AT_CAR player_car_rm2 FIXED JUMP_CUT
	SET_CHAR_OBJ_LEAVE_CAR player_rm2 player_car_rm2
	WHILE IS_CHAR_IN_CAR player_rm2 player_car_rm2
		WAIT 0
		IF IS_CAR_DEAD player_car_rm2
			GOTO boobble
		ENDIF
		IF IS_CHAR_DEAD phil
			flag_phil_dead = 1
			REMOVE_BLIP blip_phil
			GOTO mission_ray2_failed
		ENDIF
	ENDWHILE
ENDIF
 
boobble:
 
//GET_PLAYER_COORDINATES player player_rm2_x player_rm2_y player_rm2_z
GET_PLAYER_CHAR player player_rm2
 
IF NOT IS_CHAR_DEAD phil
	TURN_CHAR_TO_FACE_CHAR phil player_rm2 
	POINT_CAMERA_AT_CHAR phil FIXED JUMP_CUT
ENDIF
 
//TURN_CHAR_TO_FACE_CHAR player_rm2 phil
//TURN_CHAR_TO_FACE_CHAR phil player_rm2
//CHAR_LOOK_AT_CHAR_ALWAYS player_rm2 phil
 
LOAD_MISSION_AUDIO R2_F
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
ENDWHILE
SET_MISSION_AUDIO_POSITION phils_defcon_x phils_defcon_y phils_defcon_z
PLAY_MISSION_AUDIO
PRINT_NOW (RM2_L) 3000 1// Heh-hey! If I'd teamed up with you in Nicaragua maybe I'd still have my arm!
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
ENDWHILE
 
IF flag_m16_gone = 0
	REMOVE_PICKUP phils_m16
ENDIF
IF flag_shotgun_gone = 0
	REMOVE_PICKUP phils_shotgun
ENDIF
IF flag_uzi_gone = 0
	REMOVE_PICKUP phils_uzi
ENDIF
IF flag_molotov_gone = 0
	REMOVE_PICKUP phils_molotov
ENDIF
IF flag_rocket_gone = 0
	REMOVE_PICKUP phils_rocket
ENDIF
 
IF flag_ray_mission2_passed = 0
	REMOVE_PICKUP phils_armour
ENDIF
 
m16_x = 145.5
m16_y = 170.0
uzi_x = 143.5
uzi_y = 170.0
shotgun_x = 141.5
shotgun_y = 170.0
CREATE_PICKUP WEAPON_M16 PICKUP_IN_SHOP m16_x m16_y 11.5 phils_m16
CREATE_PICKUP WEAPON_SHOTGUN PICKUP_IN_SHOP uzi_x uzi_y 11.5 phils_uzi
CREATE_PICKUP WEAPON_ROCKET PICKUP_IN_SHOP shotgun_x shotgun_y 11.5 phils_shotgun
flag_m16_gone = 1
flag_uzi_gone = 1
flag_shotgun_gone = 1
 
LOAD_MISSION_AUDIO R2_G
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
ENDWHILE
SET_MISSION_AUDIO_POSITION phils_defcon_x phils_defcon_y phils_defcon_z
PLAY_MISSION_AUDIO
PRINT_NOW (RM2_M) 3000 1// If you need any firepower just drop by and take what you need from the rack
SET_FIXED_CAMERA_POSITION 143.5 179.0 11.5 0.0 0.0 0.0
POINT_CAMERA_AT_POINT 144.0 170.7 11.5 JUMP_CUT
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
ENDWHILE
 
 
 
LOAD_MISSION_AUDIO R2_H
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
ENDWHILE
SET_MISSION_AUDIO_POSITION phils_defcon_x phils_defcon_y phils_defcon_z
PLAY_MISSION_AUDIO
PRINT_NOW (RM2_N) 3000 1//-leave the cash under the bench. Now get out of here, I'll handle the cops
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
ENDWHILE
 
POINT_CAMERA_AT_PLAYER player FIXED INTERPOLATION
WAIT 2000
 
//ALTER_WANTED_LEVEL_NO_DROP player 3
 
IF NOT IS_CHAR_DEAD phil
	SET_CHAR_OBJ_NO_OBJ phil 
	SET_CHAR_OBJ_GOTO_COORD_ON_FOOT phil 144.0 174.4
ENDIF
 
WHILE flag_phil_arrived = 0
	WAIT 0
	IF NOT IS_CHAR_DEAD phil
		IF LOCATE_CHAR_ON_FOOT_2D phil 144.0 174.4 1.0 1.0 false
		 flag_phil_arrived = 1
		ENDIF
	ELSE
		GOTO mission_ray2_failed
	ENDIF
ENDWHILE
 
DELETE_CHAR phil
SWITCH_WIDESCREEN off
RESTORE_CAMERA_JUMPCUT 
SET_PLAYER_CONTROL player on
 
GOTO mission_ray2_passed
 
 
 
 
// Mission Ray2 failed
 
mission_ray2_failed:
 
IF flag_phil_dead = 1
	PRINT_NOW (RM2_H) 3000 1 //Phil has been killed!!
ENDIF
 
PRINT_BIG ( M_FAIL ) 2000 1
 
RETURN
 
 
 
// mission Ray2 passed
 
mission_ray2_passed:
 
IF flag_m16_gone = 0
	REMOVE_PICKUP phils_m16
	flag_m16_gone = 1
ENDIF
IF flag_shotgun_gone = 0
	REMOVE_PICKUP phils_shotgun
	flag_shotgun_gone = 1
ENDIF
IF flag_uzi_gone = 0
	REMOVE_PICKUP phils_uzi
	flag_uzi_gone = 1
ENDIF
IF flag_molotov_gone = 0
	REMOVE_PICKUP phils_molotov
	flag_molotov_gone = 1
ENDIF
IF flag_rocket_gone = 0
	REMOVE_PICKUP phils_rocket
	flag_rocket_gone = 1
ENDIF
 
 
flag_ray_mission2_passed = 1
PRINT_WITH_NUMBER_BIG ( M_PASS ) 10000 5000 1 //"Mission Passed!"
PLAY_MISSION_PASSED_TUNE 1 
CLEAR_WANTED_LEVEL player
ADD_SCORE player 10000
REGISTER_MISSION_PASSED RM2
PLAYER_MADE_PROGRESS 1 
START_NEW_SCRIPT ray_mission3_loop
RETURN
 
 
 
// mission cleanup
 
mission_cleanup_ray2:
 
flag_player_on_mission = 0
flag_player_on_ray_mission = 0
flag_player_on_phil_mission = 0
 
SET_PLAYER_CONTROL player on
SWITCH_WIDESCREEN off
RESTORE_CAMERA_JUMPCUT 
 
 
MARK_MODEL_AS_NO_LONGER_NEEDED PED_SPECIAL1 
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_RHINO 
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_PATRIOT 
 
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_BARRACKS 
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_SENTINEL 
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_STALLION
//MARK_MODEL_AS_NO_LONGER_NEEDED CAR_PERENNIAL 
MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_COLOMBIAN_A 
MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_COLOMBIAN_B
 
UNLOAD_SPECIAL_CHARACTER 1
 
REMOVE_BLIP blip_warehouse_rm2
REMOVE_BLIP blip_sentinel1
REMOVE_BLIP blip_stallion1
REMOVE_BLIP blip_perenial1
 
GOSUB blip_removal_rm2
 
IF flag_m16_gone = 0
	REMOVE_PICKUP phils_m16
ENDIF
IF flag_shotgun_gone = 0
	REMOVE_PICKUP phils_shotgun
ENDIF
IF flag_uzi_gone = 0
	REMOVE_PICKUP phils_uzi
ENDIF
IF flag_molotov_gone = 0
	REMOVE_PICKUP phils_molotov
ENDIF
IF flag_rocket_gone = 0
	REMOVE_PICKUP phils_rocket
ENDIF
 
IF flag_ray_mission2_passed = 0
	REMOVE_PICKUP phils_armour
ENDIF
 
MISSION_HAS_FINISHED
RETURN
 
 
//---------------------------GOSUBS----------------GOSUBS---------------------------actuallydon'tchaknow
 
 
//-------------------------------BAILOUT----------------------------------------------
 
big_bailout_routine:
 
	IF stallion_bailout = 0
	AND flag_stallion_arrived = 1
 
		IF NOT IS_CHAR_DEAD varmint_5
			IF NOT IS_CAR_DEAD	stallion1_rm2
				SET_CHAR_OBJ_LEAVE_CAR varmint_5 stallion1_rm2
				WHILE IS_CHAR_IN_CAR varmint_5 stallion1_rm2
					WAIT 0
					IF IS_CAR_DEAD stallion1_rm2
						GOTO plook2
					ENDIF
					IF IS_CHAR_DEAD varmint_5
						GOTO plook1
					ENDIF
				ENDWHILE
				IF NOT IS_CHAR_DEAD varmint_5
					ADD_BLIP_FOR_CHAR_OLD varmint_5 1 BLIP_ONLY blip_v5
					ADD_ARMOUR_TO_CHAR varmint_5 100
					GIVE_WEAPON_TO_CHAR varmint_5 WEAPONTYPE_UZI 60
					SET_CHAR_OBJ_RUN_TO_COORD varmint_5 wh_x_rm2 wh_y_rm2
					SET_CHAR_THREAT_SEARCH varmint_5 THREAT_PLAYER1
					SET_CHAR_THREAT_SEARCH varmint_5 THREAT_SPECIAL
					SET_CHAR_HEED_THREATS varmint_5 true
					//SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT varmint_5 player
				ENDIF
			ENDIF
		ENDIF
 
		plook1:
 
		IF NOT IS_CHAR_DEAD varmint_6
			IF NOT IS_CAR_DEAD	stallion1_rm2
				SET_CHAR_OBJ_LEAVE_CAR varmint_6 stallion1_rm2
				WHILE IS_CHAR_IN_CAR varmint_6 stallion1_rm2
					WAIT 0
					IF IS_CAR_DEAD stallion1_rm2
						GOTO plook2
					ENDIF
					IF IS_CHAR_DEAD varmint_6
						GOTO plook2
					ENDIF
				ENDWHILE
				IF NOT IS_CHAR_DEAD varmint_6
				//AND NOT IS_CHAR_DEAD phil
					ADD_BLIP_FOR_CHAR_OLD varmint_6 1 BLIP_ONLY blip_v6
					GIVE_WEAPON_TO_CHAR varmint_6 WEAPONTYPE_UZI 60
					SET_CHAR_OBJ_RUN_TO_COORD varmint_6 wh_x_rm2 wh_y_rm2
					SET_CHAR_THREAT_SEARCH varmint_6 THREAT_PLAYER1
					SET_CHAR_THREAT_SEARCH varmint_6 THREAT_SPECIAL
					SET_CHAR_HEED_THREATS varmint_6 true
					//SET_CHAR_OBJ_KILL_CHAR_ON_FOOT varmint_6 phil
				ENDIF
			ENDIF
		ENDIF
 
		plook2:
		REMOVE_BLIP blip_stallion1
		stallion_bailout = 1
 
	ENDIF
 
 
	IF sentinel_bailout = 0
	AND flag_sentinel_arrived = 1
 
		IF NOT IS_CHAR_DEAD varmint_1
			IF NOT IS_CAR_DEAD	sentinel1_rm2
				SET_CHAR_OBJ_LEAVE_CAR varmint_1 sentinel1_rm2
				WHILE IS_CHAR_IN_CAR varmint_1 sentinel1_rm2
					WAIT 0
					IF IS_CAR_DEAD sentinel1_rm2
						GOTO plook6
					ENDIF
					IF IS_CHAR_DEAD varmint_1
						GOTO plook3
					ENDIF
				ENDWHILE
				IF NOT IS_CHAR_DEAD varmint_1
					ADD_BLIP_FOR_CHAR_OLD varmint_1 1 BLIP_ONLY blip_v1
					GIVE_WEAPON_TO_CHAR varmint_1 WEAPONTYPE_SHOTGUN 20
					SET_CHAR_OBJ_RUN_TO_COORD varmint_1 wh_x_rm2 wh_y_rm2
					SET_CHAR_THREAT_SEARCH varmint_1 THREAT_PLAYER1
					SET_CHAR_THREAT_SEARCH varmint_1 THREAT_SPECIAL
					SET_CHAR_HEED_THREATS varmint_1 true
					//SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT varmint_1 player
				ENDIF
			ENDIF
		ENDIF
 
		plook3:
		IF NOT IS_CHAR_DEAD varmint_2
			IF NOT IS_CAR_DEAD	sentinel1_rm2
				SET_CHAR_OBJ_LEAVE_CAR varmint_2 sentinel1_rm2
				WHILE IS_CHAR_IN_CAR varmint_2 sentinel1_rm2
					WAIT 0
					IF IS_CAR_DEAD sentinel1_rm2
						GOTO plook6
					ENDIF
					IF IS_CHAR_DEAD varmint_2
						GOTO plook4
					ENDIF
				ENDWHILE
				IF NOT IS_CHAR_DEAD varmint_2
				//AND NOT IS_CHAR_DEAD phil
					ADD_BLIP_FOR_CHAR_OLD varmint_2 1 BLIP_ONLY blip_v2
					GIVE_WEAPON_TO_CHAR varmint_2 WEAPONTYPE_SHOTGUN 20
					SET_CHAR_OBJ_RUN_TO_COORD varmint_2 wh_x_rm2 wh_y_rm2
					SET_CHAR_THREAT_SEARCH varmint_2 THREAT_PLAYER1
					SET_CHAR_THREAT_SEARCH varmint_2 THREAT_SPECIAL
					SET_CHAR_HEED_THREATS varmint_2 true
					//SET_CHAR_OBJ_KILL_CHAR_ON_FOOT varmint_2 phil
				ENDIF
			ENDIF
		ENDIF
 
		plook4:
		IF NOT IS_CHAR_DEAD varmint_3
			IF NOT IS_CAR_DEAD	sentinel1_rm2
				SET_CHAR_OBJ_LEAVE_CAR varmint_3 sentinel1_rm2
				WHILE IS_CHAR_IN_CAR varmint_3 sentinel1_rm2
					WAIT 0
					IF IS_CAR_DEAD sentinel1_rm2
						GOTO plook6
					ENDIF
					IF IS_CHAR_DEAD varmint_3
						GOTO plook5
					ENDIF
				ENDWHILE
				IF NOT IS_CHAR_DEAD varmint_3
				//AND NOT IS_CHAR_DEAD phil
					ADD_BLIP_FOR_CHAR_OLD varmint_3 1 BLIP_ONLY blip_v3
					GIVE_WEAPON_TO_CHAR varmint_3 WEAPONTYPE_CHAINGUN 80
					SET_CHAR_OBJ_RUN_TO_COORD varmint_3 140.0 209.5
					SET_CHAR_THREAT_SEARCH varmint_3 THREAT_PLAYER1
					SET_CHAR_THREAT_SEARCH varmint_3 THREAT_SPECIAL
					SET_CHAR_HEED_THREATS varmint_3 true
					//SET_CHAR_OBJ_KILL_CHAR_ON_FOOT varmint_3 phil
				ENDIF
			ENDIF
		ENDIF
 
		plook5:
		IF NOT IS_CHAR_DEAD varmint_4
			IF NOT IS_CAR_DEAD	sentinel1_rm2
				SET_CHAR_OBJ_LEAVE_CAR varmint_4 sentinel1_rm2
				WHILE IS_CHAR_IN_CAR varmint_4 sentinel1_rm2
					WAIT 0
					IF IS_CAR_DEAD sentinel1_rm2
						GOTO plook6
					ENDIF
					IF IS_CHAR_DEAD varmint_4
						GOTO plook6
					ENDIF
				ENDWHILE
				IF NOT IS_CHAR_DEAD varmint_4
					ADD_BLIP_FOR_CHAR_OLD varmint_4 1 BLIP_ONLY blip_v4
					ADD_ARMOUR_TO_CHAR varmint_4 100
					GIVE_WEAPON_TO_CHAR varmint_4 WEAPONTYPE_MOLOTOV 5
					SET_CHAR_OBJ_RUN_TO_COORD varmint_4 wh_x_rm2 wh_y_rm2
					SET_CHAR_THREAT_SEARCH varmint_4 THREAT_PLAYER1
					SET_CHAR_THREAT_SEARCH varmint_4 THREAT_SPECIAL
					SET_CHAR_HEED_THREATS varmint_4 true
					//SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT varmint_4 player
				ENDIF
			ENDIF
		ENDIF
 
		plook6:
		REMOVE_BLIP blip_sentinel1 
		sentinel_bailout = 1
	ENDIF
 
	IF perenial_bailout = 0
	AND flag_perenial_arrived = 1
 
		IF NOT IS_CHAR_DEAD varmint_7
			IF NOT IS_CAR_DEAD perenial1_rm2
				SET_CHAR_OBJ_LEAVE_CAR varmint_7 perenial1_rm2
				WHILE IS_CHAR_IN_CAR varmint_7 perenial1_rm2
					WAIT 0
					IF IS_CAR_DEAD perenial1_rm2
						GOTO plook10
					ENDIF
					IF IS_CHAR_DEAD varmint_7
						GOTO plook7
					ENDIF
				ENDWHILE
				IF NOT IS_CHAR_DEAD varmint_7
					ADD_BLIP_FOR_CHAR_OLD varmint_7 1 BLIP_ONLY blip_v7
					GIVE_WEAPON_TO_CHAR varmint_7 WEAPONTYPE_SHOTGUN 10
					SET_CHAR_OBJ_RUN_TO_COORD varmint_7 wh_x_rm2 wh_y_rm2
					SET_CHAR_THREAT_SEARCH varmint_7 THREAT_PLAYER1
					SET_CHAR_THREAT_SEARCH varmint_7 THREAT_SPECIAL
					SET_CHAR_HEED_THREATS varmint_7 true
					//SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT varmint_7 player
				ENDIF
			ENDIF
		ENDIF
 
		plook7:
		IF NOT IS_CHAR_DEAD varmint_8
			IF NOT IS_CAR_DEAD perenial1_rm2
				SET_CHAR_OBJ_LEAVE_CAR varmint_8 perenial1_rm2
				WHILE IS_CHAR_IN_CAR varmint_8 perenial1_rm2
					WAIT 0
					IF IS_CAR_DEAD perenial1_rm2
						GOTO plook10
					ENDIF
					IF IS_CHAR_DEAD varmint_8
						GOTO plook8
					ENDIF
				ENDWHILE
				IF NOT IS_CHAR_DEAD varmint_8
				//AND NOT IS_CHAR_DEAD phil
					ADD_BLIP_FOR_CHAR_OLD varmint_8 1 BLIP_ONLY blip_v8
					GIVE_WEAPON_TO_CHAR varmint_8 WEAPONTYPE_CHAINGUN 45
					SET_CHAR_OBJ_RUN_TO_COORD varmint_8 129.7 199.8
					SET_CHAR_THREAT_SEARCH varmint_8 THREAT_PLAYER1
					SET_CHAR_THREAT_SEARCH varmint_8 THREAT_SPECIAL
					SET_CHAR_HEED_THREATS varmint_8 true
					//SET_CHAR_OBJ_KILL_CHAR_ON_FOOT varmint_8 phil
				ENDIF
			ENDIF
		ENDIF
 
		plook8:
		IF NOT IS_CHAR_DEAD varmint_9
			IF NOT IS_CAR_DEAD perenial1_rm2
				SET_CHAR_OBJ_LEAVE_CAR varmint_9 perenial1_rm2
				WHILE IS_CHAR_IN_CAR varmint_9 perenial1_rm2
					WAIT 0
					IF IS_CAR_DEAD perenial1_rm2
						GOTO plook10
					ENDIF
					IF IS_CHAR_DEAD varmint_9
						GOTO plook9
					ENDIF
				ENDWHILE
				IF NOT IS_CHAR_DEAD varmint_9
				//AND NOT IS_CHAR_DEAD phil
					ADD_BLIP_FOR_CHAR_OLD varmint_9 1 BLIP_ONLY blip_v9
					GIVE_WEAPON_TO_CHAR varmint_9 WEAPONTYPE_PISTOL 30
					SET_CHAR_OBJ_RUN_TO_COORD varmint_9 wh_x_rm2 wh_y_rm2
					SET_CHAR_THREAT_SEARCH varmint_9 THREAT_PLAYER1
					SET_CHAR_THREAT_SEARCH varmint_9 THREAT_SPECIAL
					SET_CHAR_HEED_THREATS varmint_9 true
					//SET_CHAR_OBJ_KILL_CHAR_ON_FOOT varmint_9 phil
				ENDIF
			ENDIF
		ENDIF
 
		plook9:
		IF NOT IS_CHAR_DEAD varmint_10
			IF NOT IS_CAR_DEAD perenial1_rm2
				SET_CHAR_OBJ_LEAVE_CAR varmint_10 perenial1_rm2
				WHILE IS_CHAR_IN_CAR varmint_10 perenial1_rm2
					WAIT 0
					IF IS_CAR_DEAD perenial1_rm2
						GOTO plook10
					ENDIF
					IF IS_CHAR_DEAD varmint_10
						GOTO plook10
					ENDIF
				ENDWHILE
				IF NOT IS_CHAR_DEAD varmint_10
					ADD_BLIP_FOR_CHAR_OLD varmint_10 1 BLIP_ONLY blip_v10
					GIVE_WEAPON_TO_CHAR varmint_10 WEAPONTYPE_SHOTGUN 20
					ADD_ARMOUR_TO_CHAR varmint_10 100
					SET_CHAR_OBJ_RUN_TO_COORD varmint_10 wh_x_rm2 wh_y_rm2
					SET_CHAR_THREAT_SEARCH varmint_10 THREAT_PLAYER1
					SET_CHAR_THREAT_SEARCH varmint_10 THREAT_SPECIAL
					SET_CHAR_HEED_THREATS varmint_10 true
					//SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT varmint_10 player
				ENDIF
			ENDIF
		ENDIF
 
		plook10:
		REMOVE_BLIP blip_perenial1
		perenial_bailout = 1
	ENDIF
 
 
RETURN
 
//-------------------VARMINT DEATHS-----------------------------------------
 
varmint_deaths:
 
	IF flag_sentinel_created = 1	
		IF flag_v1_dead = 0
			IF IS_CHAR_DEAD varmint_1
				flag_v1_dead = 1
				++ counter_dead_varmints
				REMOVE_BLIP blip_v1
			ENDIF
		ENDIF
 
		IF flag_v2_dead = 0
			IF IS_CHAR_DEAD varmint_2
				flag_v2_dead = 1
				++ counter_dead_varmints
				REMOVE_BLIP blip_v2
			ENDIF
		ENDIF
 
		IF flag_v3_dead = 0
			IF IS_CHAR_DEAD varmint_3
				flag_v3_dead = 1
				++ counter_dead_varmints
				REMOVE_BLIP blip_v3
			ENDIF
		ENDIF
 
		IF flag_v4_dead = 0
			IF IS_CHAR_DEAD varmint_4
				flag_v4_dead = 1
				++ counter_dead_varmints
				REMOVE_BLIP blip_v4
			ENDIF
		ENDIF
	ENDIF
 
	IF flag_stallion_created = 1
		IF flag_v5_dead = 0
			IF IS_CHAR_DEAD varmint_5
				flag_v5_dead = 1
				++ counter_dead_varmints
				REMOVE_BLIP blip_v5
			ENDIF
		ENDIF
 
		IF flag_v6_dead = 0
			IF IS_CHAR_DEAD varmint_6
				flag_v6_dead = 1
				++ counter_dead_varmints
				REMOVE_BLIP blip_v6
			ENDIF
		ENDIF
	ENDIF
 
	IF flag_perenial_created = 1
		IF flag_v7_dead = 0
			IF IS_CHAR_DEAD varmint_7
				flag_v7_dead = 1
				++ counter_dead_varmints
				REMOVE_BLIP blip_v7
			ENDIF
		ENDIF
 
		IF flag_v8_dead = 0
			IF IS_CHAR_DEAD varmint_8
				flag_v8_dead = 1
				++ counter_dead_varmints
				REMOVE_BLIP blip_v8
			ENDIF
		ENDIF
 
		IF flag_v9_dead = 0
			IF IS_CHAR_DEAD varmint_9
				flag_v9_dead = 1
				++ counter_dead_varmints
				REMOVE_BLIP blip_v9
			ENDIF
		ENDIF
 
		IF flag_v10_dead = 0
			IF IS_CHAR_DEAD varmint_10
				flag_v10_dead = 1
				++ counter_dead_varmints
				REMOVE_BLIP blip_v10
			ENDIF
		ENDIF
	ENDIF
 
	IF flag_sneaky_1 = 1
		IF flag_v11_dead = 0
			IF IS_CHAR_DEAD varmint_11
				flag_v11_dead = 1
				++ counter_dead_varmints
				REMOVE_BLIP blip_v11
			ENDIF
		ENDIF
	ENDIF
	IF flag_sneaky_2 = 1
		IF flag_v12_dead = 0
			IF IS_CHAR_DEAD varmint_12
				flag_v12_dead = 1
				++ counter_dead_varmints
				REMOVE_BLIP blip_v12
			ENDIF
		ENDIF
	ENDIF
 
 
RETURN
 
//---------------PICKUPS------------------------
 
pickups:
 
	IF flag_m16_gone = 0
		IF HAS_PICKUP_BEEN_COLLECTED phils_m16
			//GIVE_WEAPON_TO_PLAYER player WEAPONTYPE_M16 80
			SET_CURRENT_PLAYER_WEAPON player WEAPONTYPE_M16
			flag_m16_gone = 1
		ENDIF
	ENDIF
 
	IF flag_uzi_gone = 0
		IF HAS_PICKUP_BEEN_COLLECTED phils_uzi
			//GIVE_WEAPON_TO_PLAYER player WEAPONTYPE_UZI 100
			SET_CURRENT_PLAYER_WEAPON player WEAPONTYPE_UZI
			flag_uzi_gone = 1
		ENDIF
	ENDIF		
 
	IF flag_rocket_gone = 0
		IF HAS_PICKUP_BEEN_COLLECTED phils_rocket
			//GIVE_WEAPON_TO_PLAYER player WEAPONTYPE_ROCKET 3
			SET_CURRENT_PLAYER_WEAPON player WEAPONTYPE_ROCKET
			flag_rocket_gone = 1
		ENDIF
	ENDIF		
 
	IF flag_shotgun_gone = 0
		IF HAS_PICKUP_BEEN_COLLECTED phils_shotgun
			//GIVE_WEAPON_TO_PLAYER player WEAPONTYPE_SHOTGUN 100
			SET_CURRENT_PLAYER_WEAPON player WEAPONTYPE_SHOTGUN
			flag_shotgun_gone = 1
		ENDIF
	ENDIF
 
	IF flag_molotov_gone = 0
		IF HAS_PICKUP_BEEN_COLLECTED phils_molotov
			//GIVE_WEAPON_TO_PLAYER player WEAPONTYPE_SHOTGUN 100
			SET_CURRENT_PLAYER_WEAPON player WEAPONTYPE_MOLOTOV
			flag_molotov_gone = 1
		ENDIF
	ENDIF
 
RETURN
 
 
//------blip removal-------------------------------
 
blip_removal_rm2:
 
	REMOVE_BLIP blip_v1
	REMOVE_BLIP blip_v2
	REMOVE_BLIP blip_v3
	REMOVE_BLIP blip_v4
	REMOVE_BLIP blip_v5
	REMOVE_BLIP blip_v6
	REMOVE_BLIP blip_v7
	REMOVE_BLIP blip_v8
	REMOVE_BLIP blip_v9
	REMOVE_BLIP blip_v10
	REMOVE_BLIP blip_v11
	REMOVE_BLIP blip_v12
 
RETURN

ray3

MISSION_START
// *****************************************************************************************
// ************************************ Ray mission 3 **************************************
// ************************************ Evidence Dash **************************************
// *****************************************************************************************
// *** The Internal Affairs are aware of Ray's activities, but are unable to get any 	 ***
// *** evidence until now. They have just raided one of Ray's old haunts and are leaving ***
// *** with the evidence. The player must chase them down and ram them with his car, when*** 
// *** their vehicle is rammed one of the packages will roll off the back. The player 	 ***
// *** must grab that first and then go get the next package off them. There will be 8 to*** 
// *** retrieve. Once the player has the stash he must get it back to his hideout.		 ***
// *****************************************************************************************
 
// Mission start stuff
 
GOSUB mission_start_ray3
 
IF HAS_DEATHARREST_BEEN_EXECUTED 
	GOSUB mission_ray3_failed
ENDIF
 
GOSUB mission_cleanup_ray3
 
MISSION_END
 
// Variables for mission
 
VAR_INT	rays_evidence_blip timera_reset_flag evidence_1	evidence_2 evidence_3 evidence_4 evidence_5 evidence_6 //evidence_7 evidence_8 evidence_9
VAR_INT	ia_car_rm3 ia_car_driver_1 wanted_level_change stored_wanted_level
VAR_INT	ia_have_evidence_flag	players_car	prosecution_car_blip timer_for_speed reset_for_timer
VAR_INT temporary_health_var ia_car_previous_health ia_car_current_health
VAR_INT red green red_increase_flag red_decrease_flag green_increase_flag green_decrease_flag
VAR_INT amount_of_evidence_player_has amount_damage_ia_drop_evidence drop_one_flag drop_evidence get_coords_flag
VAR_INT timerc_reset_flag_r3 timerc_current_r3 timerc_started_r3 timerc_r3
VAR_INT timerd_reset_flag_r3 timerd_current_r3 timerd_started_r3 timerd_r3
 
VAR_FLOAT ia_start_x ia_start_y ia_start_z ia_car_x ia_car_y ia_car_z warp_heading
VAR_FLOAT object_current_coords_x object_current_coords_y object_current_coords_z car_stuck_x car_stuck_y car_stuck_z
 
// ****************************************Mission Start************************************
 
mission_start_ray3:
 
flag_player_on_mission = 1
flag_player_on_ray_mission = 1
rays_cutscene_flag = 1
 
REGISTER_MISSION_GIVEN
 
WAIT 0
 
SCRIPT_NAME ray3
 
ia_start_x = -53.0
ia_start_y = -1380.5
ia_start_z = 26.0
 
amount_damage_ia_drop_evidence = 1
 
wanted_level_change = 1
 
drop_one_flag = 0
drop_evidence = 0
 
green = 250
red = 0
red_increase_flag = 0
red_decrease_flag = 0
green_increase_flag = 0
green_decrease_flag	= 0
 
timera_reset_flag = 0
ia_have_evidence_flag = 0
temporary_health_var  = 0
ia_car_previous_health = 0
ia_car_current_health = 0
amount_of_evidence_player_has = 0
get_coords_flag = 0
timerc_reset_flag_r3 = 0
timerd_reset_flag_r3 = 0
timerd_current_r3 = 0
timerd_started_r3 = 0
timerd_r3 = 0
 
timer_for_speed = 0
reset_for_timer = 0
 
object_current_coords_x = 0.0
object_current_coords_y = 0.0
object_current_coords_z	= 0.0
 
LOAD_SPECIAL_CHARACTER 1 ray			   
 
// ****************************************START OF CUTSCENE********************************
 
/*
SET_FADING_COLOUR 0 0 0
 
DO_FADE 1500 FADE_OUT
 
IF CAN_PLAYER_START_MISSION player
	MAKE_PLAYER_SAFE_FOR_CUTSCENE player
ELSE
	GOTO mission_ray3_failed
ENDIF
 
SWITCH_STREAMING OFF
 
PRINT_BIG RM3 15000 2 //"Evidence Dash"
*/
 
LOAD_SPECIAL_MODEL cut_obj1 PLAYERH
LOAD_SPECIAL_MODEL cut_obj2 RAYH
REQUEST_MODEL toilet
 
/*
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 toilet
	WAIT 0
ENDWHILE
 
CLEAR_AREA 39.0 -723.5 22.0 1.0 TRUE
 
SET_PLAYER_COORDINATES player 39.0 -723.5 22.0
 
SET_PLAYER_HEADING player 90.0
 
LOAD_CUTSCENE r3_ed
 
SET_CUTSCENE_OFFSET 39.424 -726.677 21.692
 
CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
 
SET_CUTSCENE_ANIM cs_player player
 
CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_ray
 
SET_CUTSCENE_ANIM cs_ray ray
 
CREATE_CUTSCENE_HEAD cs_player CUT_OBJ1 cs_playerhead
SET_CUTSCENE_HEAD_ANIM cs_playerhead player
 
CREATE_CUTSCENE_HEAD cs_ray CUT_OBJ2 cs_rayhead
SET_CUTSCENE_HEAD_ANIM cs_rayhead ray
 
//SET_PLAYER_COORDINATES player 38.7 -725.7 22.0
//
//SET_PLAYER_HEADING player 270.0
 
DO_FADE 1500 FADE_IN
 
SET_NEAR_CLIP 0.2
 
START_CUTSCENE
 
SWITCH_STREAMING OFF
// Displays cutscene text
 
GET_CUTSCENE_TIME cs_time
 
WHILE cs_time < 10381
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM3_A 10000 1 //"I know a real important man in town, a soft touch
 
WHILE cs_time < 13529
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM3_H 10000 1 //"with shall we say, exotic tastes and the money to indulge them.
 
WHILE cs_time < 17950
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM3_B 10000 1 //"He's involved in a legal matter and the prosecution has some rather embarrassing photos of him..."
 
WHILE cs_time < 23502
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM3_C 10000 1 //"...at a morgue party or something."
 
WHILE cs_time < 26180
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM3_D 10000 1 //"The evidence is being driven across town."
 
WHILE cs_time < 29179
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM3_E 10000 1 //"You are going to have to ram the car and collect each bit of evidence as it falls out."
 
WHILE cs_time < 34865
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM3_F	10000 1 //"When you've got it all, leave it in the car and torch it."  
 
WHILE cs_time < 39290
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM3_G	10000 1 //"We're both gonna do well out of this."
 
WHILE cs_time < 41666 
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
DO_FADE 1500 FADE_OUT
 
WHILE NOT HAS_CUTSCENE_FINISHED
	WAIT 0
ENDWHILE
 
//DO_FADE 1000 FADE_IN 
 
CLEAR_PRINTS
 
WHILE GET_FADING_STATUS
	WAIT 0
ENDWHILE
 
CLEAR_CUTSCENE
 
DO_FADE 0 FADE_OUT
SET_NEAR_CLIP 0.9
 
SET_PLAYER_HEADING player 90.0
SET_CAMERA_BEHIND_PLAYER
 
UNLOAD_SPECIAL_CHARACTER 1
MARK_MODEL_AS_NO_LONGER_NEEDED toilet
MARK_MODEL_AS_NO_LONGER_NEEDED cut_obj1
MARK_MODEL_AS_NO_LONGER_NEEDED cut_obj2
 
REQUEST_MODEL files
REQUEST_MODEL CAR_BOBCAT
REQUEST_MODEL PED_B_MAN3
 
LOAD_ALL_MODELS_NOW
 
WHILE NOT HAS_MODEL_LOADED CAR_BOBCAT
OR NOT HAS_MODEL_LOADED PED_B_MAN3
OR NOT HAS_MODEL_LOADED files
	WAIT 0
ENDWHILE
 
DO_FADE 1500 FADE_IN 
 
SWITCH_STREAMING ON
 
rays_cutscene_flag = 0
 
WHILE GET_FADING_STATUS
	WAIT 0
ENDWHILE
 
// ******************************************END OF CUTSCENE********************************
 
CREATE_CAR CAR_BOBCAT ia_start_x ia_start_y ia_start_z ia_car_rm3
SET_CAR_AVOID_LEVEL_TRANSITIONS ia_car_rm3 TRUE
SET_CAR_WATERTIGHT ia_car_rm3 TRUE
CREATE_CHAR_INSIDE_CAR ia_car_rm3 PEDTYPE_CIVMALE PED_B_MAN3 ia_car_driver_1
//SET_CHAR_AVOID_LEVEL_TRANSITIONS ia_car_driver_1 TRUE
SET_CHAR_CANT_BE_DRAGGED_OUT ia_car_driver_1 TRUE
SET_CAR_ONLY_DAMAGED_BY_PLAYER ia_car_rm3 TRUE
SET_UPSIDEDOWN_CAR_NOT_DAMAGED ia_car_rm3 TRUE
SET_CAR_PROOFS ia_car_rm3 TRUE TRUE 	TRUE 	FALSE 	TRUE 
SET_CAR_CRUISE_SPEED ia_car_rm3 20.0
SET_CAR_DRIVING_STYLE ia_car_rm3 2
CAR_WANDER_RANDOMLY ia_car_rm3
ADD_BLIP_FOR_CAR ia_car_rm3 prosecution_car_blip
LOCK_CAR_DOORS ia_car_rm3 CARLOCK_LOCKED
 
IF flag_player_on_mission = 0
	ADD_BLIP_FOR_CHAR ia_car_driver_1 rays_evidence_blip
ENDIF
 
GET_CAR_COORDINATES ia_car_rm3 car_stuck_x car_stuck_y car_stuck_z
GET_CAR_COORDINATES ia_car_rm3 ia_car_x ia_car_y ia_car_z
ia_car_z += 3.0
CREATE_OBJECT files ia_car_x ia_car_y ia_car_z evidence_1
ia_car_z += 1.0
CREATE_OBJECT files ia_car_x ia_car_y ia_car_z evidence_2
ia_car_z += 1.0
CREATE_OBJECT files ia_car_x ia_car_y ia_car_z evidence_3
ia_car_z += 1.0
CREATE_OBJECT files ia_car_x ia_car_y ia_car_z evidence_4
ia_car_z += 1.0
CREATE_OBJECT files ia_car_x ia_car_y ia_car_z evidence_5
ia_car_z += 1.0
CREATE_OBJECT files ia_car_x ia_car_y ia_car_z evidence_6
 
SET_OBJECT_COLLISION evidence_1 FALSE
SET_OBJECT_COLLISION evidence_2 FALSE
SET_OBJECT_COLLISION evidence_3 FALSE
SET_OBJECT_COLLISION evidence_4 FALSE
SET_OBJECT_COLLISION evidence_5 FALSE
SET_OBJECT_COLLISION evidence_6 FALSE
 
PLACE_OBJECT_RELATIVE_TO_CAR evidence_1 ia_car_rm3  0.3 -1.7 -0.1
PLACE_OBJECT_RELATIVE_TO_CAR evidence_2 ia_car_rm3  0.3 -1.2 -0.1
PLACE_OBJECT_RELATIVE_TO_CAR evidence_3 ia_car_rm3 -0.3 -1.2 -0.1
PLACE_OBJECT_RELATIVE_TO_CAR evidence_4 ia_car_rm3  0.3 -0.7 -0.1
PLACE_OBJECT_RELATIVE_TO_CAR evidence_5 ia_car_rm3 -0.3 -0.7 -0.1
PLACE_OBJECT_RELATIVE_TO_CAR evidence_6 ia_car_rm3 -0.3 -1.7 -0.1
 
//SWITCH_ROADS_OFF -90.0 -791.0 24.0 -56.0 -587.0 36.0
//SWITCH_ROADS_OFF 320.0 -948.0 30.0 350.0 -913.0 40.0
//SWITCH_ROADS_OFF 251.0 -46.0 -21.0 320.0 68.0 27.0
 
ia_have_evidence_flag = 1
 
evidence_loop:///////////////////////////////////////////////////////////////////////////////////////////////////////
 
WAIT 0
 
IF IS_CAR_DEAD ia_car_rm3
	IF IS_CAR_IN_WATER ia_car_rm3
		IF NOT LOCATE_PLAYER_ANY_MEANS_CAR_2D player ia_car_rm3 50.0 50.0 0
			IF NOT IS_CAR_ON_SCREEN ia_car_rm3
				GET_CAR_COORDINATES ia_car_rm3 ia_car_x ia_car_y ia_car_z
				GET_CLOSEST_CAR_NODE_WITH_HEADING ia_car_x ia_car_y ia_car_z ia_car_x ia_car_y ia_car_z warp_heading
				IF NOT IS_POINT_ON_SCREEN ia_car_x ia_car_y ia_car_z 3.0
					SET_CAR_COORDINATES ia_car_rm3 ia_car_x ia_car_y ia_car_z
					SET_CAR_HEADING	ia_car_rm3 warp_heading
				ENDIF
			ENDIF
		ELSE
			PRINT_NOW RM3_6 5000 1 //"The evidence will be washed up all over Liberty!"
			GOTO mission_ray3_failed
		ENDIF
	ELSE
		GOTO mission_ray3_passed
	ENDIF
ENDIF
 
IF IS_CAR_UPSIDEDOWN ia_car_rm3
AND IS_CAR_STOPPED ia_car_rm3
 
	IF NOT IS_CAR_ON_SCREEN ia_car_rm3
		GET_CAR_COORDINATES ia_car_rm3 ia_car_x ia_car_y ia_car_z
		GET_CLOSEST_CAR_NODE_WITH_HEADING ia_car_x ia_car_y ia_car_z ia_car_x ia_car_y ia_car_z warp_heading
		IF NOT IS_POINT_ON_SCREEN ia_car_x ia_car_y ia_car_z 3.0
			SET_CAR_COORDINATES ia_car_rm3 ia_car_x ia_car_y ia_car_z
			SET_CAR_HEADING	ia_car_rm3 warp_heading
		ENDIF
	ELSE
		IF NOT drop_evidence = 6
			GOSUB create_another_car
		ENDIF
	ENDIF
ENDIF
 
IF timera_reset_flag = 1
	IF NOT IS_CAR_STOPPED ia_car_rm3
		timera_reset_flag = 0
	ENDIF
ENDIF
 
IF IS_CAR_STOPPED ia_car_rm3
	IF timera_reset_flag = 0
		TIMERA = 0
		timera_reset_flag = 1
	ENDIF
 
	IF TIMERA > 5000
	AND timera_reset_flag = 1
		IF NOT IS_CAR_ON_SCREEN ia_car_rm3
			GET_CAR_COORDINATES ia_car_rm3 ia_car_x ia_car_y ia_car_z
			GET_CLOSEST_CAR_NODE_WITH_HEADING ia_car_x ia_car_y ia_car_z ia_car_x ia_car_y ia_car_z warp_heading
			IF NOT IS_POINT_ON_SCREEN ia_car_x ia_car_y ia_car_z 4.0
				SET_CAR_COORDINATES ia_car_rm3 ia_car_x ia_car_y ia_car_z
				SET_CAR_HEADING	ia_car_rm3 warp_heading
				timera_reset_flag = 0
			ENDIF
		ELSE
			IF NOT drop_evidence = 6
				GOSUB create_another_car
			ENDIF
		ENDIF
	ENDIF
ENDIF
 
IF LOCATE_CAR_3D ia_car_rm3	car_stuck_x car_stuck_y car_stuck_z 4.0 4.0 4.0 0
	IF timerc_reset_flag_r3 = 0
		GET_GAME_TIMER timerc_started_r3
		timerc_reset_flag_r3 = 1
	ENDIF
 
	IF timerc_reset_flag_r3 = 1
		GET_GAME_TIMER timerc_current_r3
		timerc_r3 = timerc_current_r3 - timerc_started_r3
		IF timerc_r3 > 8000
			IF NOT IS_CAR_ON_SCREEN ia_car_rm3
				GET_CAR_COORDINATES ia_car_rm3 ia_car_x ia_car_y ia_car_z
				GET_CLOSEST_CAR_NODE_WITH_HEADING ia_car_x ia_car_y ia_car_z ia_car_x ia_car_y ia_car_z warp_heading
				IF NOT IS_POINT_OBSCURED_BY_A_MISSION_ENTITY ia_car_x ia_car_y ia_car_z 4.0 4.0 4.0
					IF NOT IS_POINT_ON_SCREEN ia_car_x ia_car_y ia_car_z 4.0
						SET_CAR_COORDINATES ia_car_rm3 ia_car_x ia_car_y ia_car_z
						SET_CAR_HEADING	ia_car_rm3 warp_heading
						timerc_reset_flag_r3 = 0
					ENDIF
				ENDIF
			ELSE
				IF NOT drop_evidence = 6
					GOSUB create_another_car
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF
 
IF NOT LOCATE_CAR_3D ia_car_rm3	car_stuck_x car_stuck_y car_stuck_z 4.0 4.0 4.0 0
	GET_CAR_COORDINATES ia_car_rm3 car_stuck_x car_stuck_y car_stuck_z
	timerc_reset_flag_r3 = 0
ENDIF
 
GET_GAME_TIMER timer_for_speed
timer_for_speed -= reset_for_timer
IF timer_for_speed > 1000
	GET_GAME_TIMER reset_for_timer
	IF LOCATE_PLAYER_ANY_MEANS_CAR_2D player ia_car_rm3 20.0 20.0 0
		SET_CAR_CRUISE_SPEED ia_car_rm3 50.0
	ELSE
		IF LOCATE_PLAYER_ANY_MEANS_CAR_2D player ia_car_rm3 50.0 50.0 0
			SET_CAR_CRUISE_SPEED ia_car_rm3 41.0
		ELSE
			IF LOCATE_PLAYER_ANY_MEANS_CAR_2D player ia_car_rm3 90.0 90.0 0
				SET_CAR_CRUISE_SPEED ia_car_rm3 34.0
			ELSE
				IF LOCATE_PLAYER_ANY_MEANS_CAR_2D player ia_car_rm3 130.0 130.0 0
					SET_CAR_CRUISE_SPEED ia_car_rm3 28.0
				ELSE
					SET_CAR_CRUISE_SPEED ia_car_rm3 20.0
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF
 
IF ia_have_evidence_flag = 0
 
	IF TIMERB > 500
		IF LOCATE_PLAYER_ANY_MEANS_3D player object_current_coords_x object_current_coords_y object_current_coords_z 1.5 1.5 1.5 0
			GOSUB evidence_collected
		ENDIF
	ENDIF
 
	IF TIMERB > 10000
		IF LOCATE_PLAYER_ANY_MEANS_2D player object_current_coords_x object_current_coords_y 1.5 1.5 0
			GOSUB evidence_collected
		ENDIF
	ENDIF
 
	IF TIMERB > 120000
		IF LOCATE_PLAYER_ANY_MEANS_2D player object_current_coords_x object_current_coords_y 30.0 30.0 0
			GOSUB evidence_collected
		ENDIF
	ENDIF
ENDIF
 
ia_car_previous_health = ia_car_current_health
GET_CAR_HEALTH ia_car_rm3 ia_car_current_health		  
IF ia_have_evidence_flag = 1
	IF IS_CAR_UPRIGHT ia_car_rm3
		temporary_health_var = ia_car_previous_health - amount_damage_ia_drop_evidence
		IF temporary_health_var > ia_car_current_health
			PRINT_NOW ( RM3_4 ) 3000 1 //"IA HAVE DROPPED THE EVIDENCE"
			SET_CAR_HEALTH ia_car_rm3 1000
			ia_car_current_health = 1000
			ia_car_previous_health = 1000
			ia_have_evidence_flag = 0
			drop_one_flag = 0
			get_coords_flag = 1
		ENDIF
	ENDIF
ENDIF
 
IF ia_have_evidence_flag = 0
AND drop_one_flag = 0
	drop_evidence++
	REMOVE_BLIP rays_evidence_blip
	IF drop_evidence = 1
		PLACE_OBJECT_RELATIVE_TO_CAR evidence_1 ia_car_rm3 0.3 -1.7 0.2
		ADD_BLIP_FOR_OBJECT evidence_1 rays_evidence_blip
		SET_OBJECT_COLLISION evidence_1 TRUE
		SET_OBJECT_DYNAMIC evidence_1 TRUE
		ADD_TO_OBJECT_VELOCITY evidence_1 0.0 0.0 16.0
		MAKE_OBJECT_TARGETTABLE evidence_1
		ALTER_WANTED_LEVEL_NO_DROP player 2
		SET_CAR_CRUISE_SPEED ia_car_rm3 100.0
		SET_CAR_DRIVING_STYLE ia_car_rm3 2
		// Play sound for police scanner here
		TIMERB = 0
	ENDIF
	IF drop_evidence = 2
		PLACE_OBJECT_RELATIVE_TO_CAR evidence_2 ia_car_rm3 0.3 -1.2 0.2
		ADD_BLIP_FOR_OBJECT evidence_2 rays_evidence_blip
		SET_OBJECT_COLLISION evidence_2 TRUE
		SET_OBJECT_DYNAMIC evidence_2 TRUE
		ADD_TO_OBJECT_VELOCITY evidence_2 0.0 0.0 16.0
		MAKE_OBJECT_TARGETTABLE evidence_2
		TIMERB = 0
	ENDIF
	IF drop_evidence = 3
		PLACE_OBJECT_RELATIVE_TO_CAR evidence_3 ia_car_rm3 -0.3 -1.2 0.2
		ADD_BLIP_FOR_OBJECT evidence_3 rays_evidence_blip
		SET_OBJECT_COLLISION evidence_3 TRUE
		SET_OBJECT_DYNAMIC evidence_3 TRUE
		ADD_TO_OBJECT_VELOCITY evidence_3 0.0 0.0 16.0
		MAKE_OBJECT_TARGETTABLE evidence_3
		TIMERB = 0
	ENDIF
	IF drop_evidence = 4
		PLACE_OBJECT_RELATIVE_TO_CAR evidence_4 ia_car_rm3 0.3 -0.7 0.2
		ADD_BLIP_FOR_OBJECT evidence_4 rays_evidence_blip
		SET_OBJECT_COLLISION evidence_4 TRUE
		SET_OBJECT_DYNAMIC evidence_4 TRUE
		ADD_TO_OBJECT_VELOCITY evidence_4 0.0 0.0 16.0
		MAKE_OBJECT_TARGETTABLE evidence_4
		TIMERB = 0
	ENDIF
	IF drop_evidence = 5
		PLACE_OBJECT_RELATIVE_TO_CAR evidence_5 ia_car_rm3 -0.3 -0.7 0.2
		ADD_BLIP_FOR_OBJECT evidence_5 rays_evidence_blip
		SET_OBJECT_COLLISION evidence_5 TRUE
		SET_OBJECT_DYNAMIC evidence_5 TRUE
		ADD_TO_OBJECT_VELOCITY evidence_5 0.0 0.0 16.0
		MAKE_OBJECT_TARGETTABLE evidence_5
		TIMERB = 0
	ENDIF
	IF drop_evidence = 6
		PLACE_OBJECT_RELATIVE_TO_CAR evidence_6 ia_car_rm3 -0.3 -1.7 0.2
		ADD_BLIP_FOR_OBJECT evidence_6 rays_evidence_blip
		SET_OBJECT_COLLISION evidence_6 TRUE
		SET_OBJECT_DYNAMIC evidence_6 TRUE
		ADD_TO_OBJECT_VELOCITY evidence_6 0.0 0.0 16.0
		MAKE_OBJECT_TARGETTABLE evidence_6
		REMOVE_BLIP	prosecution_car_blip
		TIMERB = 0
	ENDIF
	drop_one_flag = 1
ENDIF
 
IF get_coords_flag = 1
	IF drop_evidence = 1
		GET_OBJECT_COORDINATES evidence_1 object_current_coords_x object_current_coords_y object_current_coords_z
	ENDIF
	IF drop_evidence = 2
		GET_OBJECT_COORDINATES evidence_2 object_current_coords_x object_current_coords_y object_current_coords_z
	ENDIF
	IF drop_evidence = 3
		GET_OBJECT_COORDINATES evidence_3 object_current_coords_x object_current_coords_y object_current_coords_z
	ENDIF
	IF drop_evidence = 4
		GET_OBJECT_COORDINATES evidence_4 object_current_coords_x object_current_coords_y object_current_coords_z
	ENDIF
	IF drop_evidence = 5
		GET_OBJECT_COORDINATES evidence_5 object_current_coords_x object_current_coords_y object_current_coords_z
	ENDIF
	IF drop_evidence = 6
		GET_OBJECT_COORDINATES evidence_6 object_current_coords_x object_current_coords_y object_current_coords_z
	ENDIF
ENDIF
 
IF ia_have_evidence_flag = 0
 
	IF red = 0
		red_decrease_flag = 0	
		red_increase_flag = 1
	ENDIF
 
	IF red = 250
		red_decrease_flag = 1	
		red_increase_flag = 0
	ENDIF	
 
	IF red_increase_flag = 1
		red	= red + 10
	ENDIF
 
	IF red_decrease_flag = 1
		red = red - 10
	ENDIF
 
	IF green = 0
		green_decrease_flag = 0	
		green_increase_flag = 1
	ENDIF
 
	IF green = 250
		green_decrease_flag = 1	
		green_increase_flag = 0
	ENDIF	
 
	IF green_increase_flag = 1
		green = green + 10
	ENDIF
 
	IF green_decrease_flag = 1
		green = green - 10
	ENDIF
 
	DRAW_CORONA object_current_coords_x object_current_coords_y object_current_coords_z 0.5 CORONATYPE_CIRCLE FLARETYPE_NONE red green 0
 
ENDIF
 
IF drop_evidence < 1
	PLACE_OBJECT_RELATIVE_TO_CAR evidence_1 ia_car_rm3 0.3 -1.7 -0.1
ENDIF
 
IF drop_evidence < 2
	PLACE_OBJECT_RELATIVE_TO_CAR evidence_2 ia_car_rm3 0.3 -1.2 -0.1
ENDIF
 
IF drop_evidence < 3
	PLACE_OBJECT_RELATIVE_TO_CAR evidence_3 ia_car_rm3 -0.3 -1.2 -0.1
ENDIF
 
IF drop_evidence < 4
	PLACE_OBJECT_RELATIVE_TO_CAR evidence_4 ia_car_rm3 0.3 -0.7 -0.1
ENDIF
 
IF drop_evidence < 5
	PLACE_OBJECT_RELATIVE_TO_CAR evidence_5 ia_car_rm3 -0.3 -0.7 -0.1
ENDIF
 
IF drop_evidence < 6
	PLACE_OBJECT_RELATIVE_TO_CAR evidence_6 ia_car_rm3 -0.3 -1.7 -0.1
ENDIF
 
IF amount_of_evidence_player_has = 6
	REMOVE_BLIP rays_evidence_blip
 
	PRINT_NOW RM3_1 5000 1
 
	WHILE NOT IS_PLAYER_IN_ANY_CAR player
		WAIT 0
	ENDWHILE
 
	STORE_CAR_PLAYER_IS_IN player players_car
 
	WHILE IS_PLAYER_IN_ANY_CAR player
		WAIT 0
	ENDWHILE
 
	IF NOT IS_CAR_DEAD players_car
		ADD_BLIP_FOR_CAR players_car rays_evidence_blip
		CLEAR_ONSCREEN_COUNTER amount_of_evidence_player_has
		PRINT_NOW RM3_7 5000 1	// "Now torch the car!"
		WHILE NOT IS_CAR_DEAD players_car
			WAIT 0
		ENDWHILE
 
		GOTO mission_ray3_passed
	ELSE
		GOTO mission_ray3_passed
	ENDIF
ENDIF
 
GOTO evidence_loop///////////////////////////////////////////////////////////////////////////////////////
 
 
// Mission Ray3 failed
 
mission_ray3_failed:
PRINT_BIG ( m_fail ) 5000 1
RETURN
 
 
 
// mission Ray3 passed
 
mission_ray3_passed:
 
flag_ray_mission3_passed = 1
PRINT_WITH_NUMBER_BIG M_PASS 10000 5000 1
ADD_SCORE player 10000
CLEAR_WANTED_LEVEL player
REGISTER_MISSION_PASSED	RM3
PLAY_MISSION_PASSED_TUNE 1
PLAYER_MADE_PROGRESS 1
ADD_SPRITE_BLIP_FOR_CONTACT_POINT 86.1 -1548.7 28.3 RADAR_SPRITE_DON love_contact_blip
START_NEW_SCRIPT ray_mission4_loop
START_NEW_SCRIPT love_mission1_loop
RETURN
 
 
 
// mission cleanup
 
mission_cleanup_ray3:
 
//SWITCH_ROADS_ON -90.0 -791.0 24.0 -56.0 -587.0 36.0
//SWITCH_ROADS_ON 195.0 -948.0 24.0 280.0 -913.0 40.0
//SWITCH_ROADS_ON 251.0 -46.0 -21.0 320.0 68.0 27.0
REMOVE_BLIP	rays_evidence_blip
REMOVE_BLIP	prosecution_car_blip
CLEAR_ONSCREEN_COUNTER amount_of_evidence_player_has
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_BOBCAT
MARK_MODEL_AS_NO_LONGER_NEEDED PED_B_MAN3
MARK_MODEL_AS_NO_LONGER_NEEDED DONKEYMAG
flag_player_on_mission = 0
flag_player_on_ray_mission = 0
 
MISSION_HAS_FINISHED
RETURN
 
 
create_another_car:
 
IF timerd_reset_flag_r3 = 0
	GET_GAME_TIMER timerd_started_r3
	timerd_reset_flag_r3 = 1
ENDIF
 
IF timerd_reset_flag_r3 = 1
	GET_GAME_TIMER timerd_current_r3
	timerd_r3 = timerd_current_r3 - timerd_started_r3
	IF timerd_r3 > 15000
		PRINT_NOW RM3_8 5000 1 //"That car is a decoy!!"
		REMOVE_BLIP	prosecution_car_blip
		MARK_CAR_AS_NO_LONGER_NEEDED ia_car_rm3
		MARK_CHAR_AS_NO_LONGER_NEEDED ia_car_driver_1
		IF LOCATE_PLAYER_ANY_MEANS_2D player ia_start_x ia_start_y 150.0 150.0 0
			CREATE_CAR CAR_BOBCAT 254.8355 -667.3972 25.3 ia_car_rm3
		ELSE
			CREATE_CAR CAR_BOBCAT ia_start_x ia_start_y ia_start_z ia_car_rm3
		ENDIF
		CREATE_CHAR_INSIDE_CAR ia_car_rm3 PEDTYPE_CIVMALE PED_B_MAN3 ia_car_driver_1
		SET_CAR_WATERTIGHT ia_car_rm3 TRUE
		SET_CHAR_CANT_BE_DRAGGED_OUT ia_car_driver_1 TRUE
		SET_CAR_ONLY_DAMAGED_BY_PLAYER ia_car_rm3 TRUE
		SET_UPSIDEDOWN_CAR_NOT_DAMAGED ia_car_rm3 TRUE
		SET_CAR_PROOFS ia_car_rm3 TRUE TRUE TRUE FALSE TRUE 
		SET_CAR_CRUISE_SPEED ia_car_rm3 100.0
		SET_CAR_DRIVING_STYLE ia_car_rm3 2
		CAR_WANDER_RANDOMLY ia_car_rm3
		ADD_BLIP_FOR_CAR ia_car_rm3 prosecution_car_blip
		LOCK_CAR_DOORS ia_car_rm3 CARLOCK_LOCKED
		SET_CAR_AVOID_LEVEL_TRANSITIONS ia_car_rm3 TRUE
		timerd_reset_flag_r3 = 0
	ENDIF
ENDIF
 
RETURN
 
 
evidence_collected:
 
REMOVE_BLIP rays_evidence_blip
get_coords_flag = 0
ADD_ONE_OFF_SOUND object_current_coords_x object_current_coords_y object_current_coords_z SOUND_EVIDENCE_PICKUP
IF drop_evidence = 1
	DELETE_OBJECT evidence_1
	DISPLAY_ONSCREEN_COUNTER_WITH_STRING amount_of_evidence_player_has COUNTER_DISPLAY_NUMBER COLLECT
ENDIF
IF drop_evidence = 2
	DELETE_OBJECT evidence_2
ENDIF
IF drop_evidence = 3
	DELETE_OBJECT evidence_3
ENDIF
IF drop_evidence = 4
	DELETE_OBJECT evidence_4
ENDIF
IF drop_evidence = 5
	DELETE_OBJECT evidence_5
ENDIF
IF drop_evidence = 6
	DELETE_OBJECT evidence_6
ENDIF
++ amount_of_evidence_player_has
PRINT_WITH_NUMBER_NOW RM3_5 amount_of_evidence_player_has 5000 1 //"You have ~1~ evidence packages."
ia_have_evidence_flag = 1
TIMERB = 0
 
RETURN

ray4

MISSION_START
// *****************************************************************************************
// *********************************** Ray Mission 4 ***************************************
// *********************************** Gone Fishing	 ***************************************
// *****************************************************************************************
// *** Ray's partner is going to turn State's Evidence. He goes night fishing on the     ***
// *** Lighthouse Rock. The player will have to use a boat to get to him.  This boat will***
// *** have guns, and that is how the player must kill Ray's partner. Ray's partner will ***
// *** also have a weapon of his own, as he flees he will be dropping barrels of 		 ***
// *** explosives into the water and the path of the player.							 ***
// *****************************************************************************************
 
// Mission start stuff
 
GOSUB mission_start_ray4
 
IF HAS_DEATHARREST_BEEN_EXECUTED 
	GOSUB mission_ray4_failed
ENDIF
 
GOSUB mission_cleanup_ray4
 
MISSION_END
 
// Variables for mission
 
VAR_INT rays_partner partners_car partners_boat partners_blip players_boat_with_guns players_boat_with_guns_blip timer_reset_flag_r4
VAR_INT partners_boat_health random_int gotaway_timer gotaway_timer_current gotaway_timer_started partner_on_foot_counter
VAR_INT mine_current_timer last_mine_dropped_timer temporary_time_mine fish_target barrel2_a barrel2_b 
VAR_INT gotaway_timer_reset_flag boat_speed_flag boat_node_counter partners_car_is_dead shoot_at_player_flag partner_on_foot_flag
VAR_INT fishy_1 fishy_2 fishy_3 fishy_4 fishy_5 fishy_6 fishy_7 fishy_8 fishy_9 fishy_10 partners_boat_health2 goto_mission_ray4_failed
VAR_INT timerc_r4 timerc_current_r4 timerc_started_r4 timerc_reset_flag_r4 exit_boat_flag
 
VAR_FLOAT partner_x partner_y partner_z	partners_boat_speed	player_x player_y player_z fish_target_x fish_target_y fish_target_z
VAR_FLOAT vector_x vector_y temp_vector_x temp_vector_y	temp_distance distance_between_boats partners_boat_forward_x partners_boat_forward_y
VAR_FLOAT temp_dot_product_x temp_dot_product_y	dot_product	temp_x temp_y distance_resultA	distance_resultB
VAR_FLOAT sniper_object_a_x sniper_object_a_y 
 
VAR_FLOAT boat_node_x boat_node_y node_0_x node_0_y node_1_x node_1_y node_2_x node_2_y node_3_x node_3_y node_4_x node_4_y node_5_x node_5_y
VAR_FLOAT node_6_x node_6_y node_7_x node_7_y node_8_x node_8_y node_9_x node_9_y node_10_x node_10_y node_11_x node_11_y
VAR_FLOAT partner_stuck_x partner_stuck_y partner_stuck_z
 
// ****************************************Mission Start************************************
 
mission_start_ray4:
 
flag_player_on_mission = 1
flag_player_on_ray_mission = 1
rays_cutscene_flag = 1
 
REGISTER_MISSION_GIVEN
 
WAIT 0
 
SCRIPT_NAME ray4
 
mine_current_timer = 0
last_mine_dropped_timer = 0
temporary_time_mine = 0
random_int = 0
boat_speed_flag	= 0
boat_node_counter = 2
partners_car_is_dead = 0
shoot_at_player_flag = 0
gotaway_timer_reset_flag = 0
partner_on_foot_counter = 0
partner_on_foot_flag = 0
partner_on_foot_counter = 0
goto_mission_ray4_failed = 0
timer_reset_flag_r4 = 0
timerc_r4 = 0
timerc_current_r4 = 0
timerc_started_r4 = 0
timerc_reset_flag_r4 = 0
exit_boat_flag = 0
 
partner_stuck_x	= 0.0
partner_stuck_y	= 0.0
partner_stuck_z	= 0.0
 
node_0_x = 1405.4507 
node_0_y = -598.6941
 
node_1_x = 1710.1085
node_1_y = -371.7377
 
node_2_x = 1713.1384
node_2_y = -498.4113
 
node_3_x = 1632.3
node_3_y = -601.5
 
node_4_x = 1619.8263
node_4_y = -764.9598
 
node_5_x = 1653.3024
node_5_y = -822.3922
 
node_6_x = 1681.7670
node_6_y = -775.2837
 
node_7_x = 1682.8789
node_7_y = -590.4975
 
node_8_x = 1577.6987
node_8_y = -498.9852
 
node_9_x = 1576.3445
node_9_y = -361.7413
 
node_10_x = 1568.4171
node_10_y = -249.0114
 
node_11_x = 1628.1332
node_11_y = -195.5839
 
 
// ****************************************START OF CUTSCENE********************************
 
/*
SET_FADING_COLOUR 0 0 0
 
DO_FADE 1500 FADE_OUT
 
IF CAN_PLAYER_START_MISSION player
	MAKE_PLAYER_SAFE_FOR_CUTSCENE player
ELSE
	GOTO mission_ray4_failed
ENDIF
 
SWITCH_STREAMING OFF
 
PRINT_BIG RM4 15000 2 //"Gone Fishing"
*/
 
LOAD_SPECIAL_CHARACTER 1 ray
LOAD_SPECIAL_MODEL cut_obj1 PLAYERH
LOAD_SPECIAL_MODEL cut_obj2 RAYH
LOAD_SPECIAL_MODEL cut_obj3 BOGDOOR
REQUEST_MODEL toilet
 
/*
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 cut_obj3
OR NOT HAS_MODEL_LOADED toilet
	WAIT 0
ENDWHILE
 
CLEAR_AREA 39.0 -723.5 22.0 1.0 TRUE
 
SET_PLAYER_COORDINATES player 39.0 -723.5 22.0
 
SET_PLAYER_HEADING player 90.0
 
SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 47.322 -732.055 22.846 4.0 toilet_cubicle_dr2 FALSE
 
LOAD_CUTSCENE r4_gf
 
SET_CUTSCENE_OFFSET 39.424 -726.677 21.692
 
CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
 
SET_CUTSCENE_ANIM cs_player player
 
CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_ray
 
SET_CUTSCENE_ANIM cs_ray ray
 
CREATE_CUTSCENE_HEAD cs_player CUT_OBJ1 cs_playerhead
SET_CUTSCENE_HEAD_ANIM cs_playerhead player
 
CREATE_CUTSCENE_HEAD cs_ray CUT_OBJ2 cs_rayhead
SET_CUTSCENE_HEAD_ANIM cs_rayhead ray
 
CREATE_CUTSCENE_OBJECT cut_obj3 cs_ludoor
SET_CUTSCENE_ANIM cs_ludoor BOGDOOR
 
SWITCH_RUBBISH OFF
DO_FADE 1500 FADE_IN
 
SWITCH_STREAMING ON
 
SET_NEAR_CLIP 0.2
 
START_CUTSCENE
 
// Displays cutscene text
 
GET_CUTSCENE_TIME cs_time
 
WHILE cs_time < 4285
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM4_A 4000 1 //"I think my partner's a rat."
 
WHILE cs_time < 6389
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM4_B 4000 1 //"We gotta shut him up permanently."
 
WHILE cs_time < 8524
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM4_C 4000 1 //"He goes fishing out of his boat near the lighthouse on Portland Rock most nights."
 
WHILE cs_time < 13026
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM4_D	4000 1 //"Steal a police boat and make sure his back stabbing plans are sunk!"
 
WHILE cs_time < 17497
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM4_E	4000 1 //"I want him sleeping with the fishes not eating them."
 
WHILE cs_time < 21000
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
DO_FADE 1500 FADE_OUT
 
WHILE NOT HAS_CUTSCENE_FINISHED
	WAIT 0
ENDWHILE
 
SWITCH_STREAMING ON
SWITCH_RUBBISH ON
 
CLEAR_PRINTS
 
WHILE GET_FADING_STATUS
	WAIT 0
ENDWHILE
 
CLEAR_CUTSCENE
 
DO_FADE 0 FADE_OUT
 
SET_NEAR_CLIP 0.9
 
FORCE_WEATHER_NOW WEATHER_SUNNY
 
SET_CAMERA_BEHIND_PLAYER
 
WAIT 500
 
rays_cutscene_flag = 0
 
DO_FADE 1500 FADE_IN 
 
SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 47.322 -732.055 22.846 4.0 toilet_cubicle_dr2 TRUE
 
UNLOAD_SPECIAL_CHARACTER 1
MARK_MODEL_AS_NO_LONGER_NEEDED toilet
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********************************
 
REQUEST_MODEL BOAT_PREDATOR
REQUEST_MODEL BOAT_GHOST 
REQUEST_MODEL CAR_SENTINEL 
REQUEST_MODEL CAR_RCBANDIT 
 
WHILE NOT HAS_MODEL_LOADED BOAT_PREDATOR
OR NOT HAS_MODEL_LOADED BOAT_GHOST
OR NOT HAS_MODEL_LOADED CAR_SENTINEL
OR NOT HAS_MODEL_LOADED CAR_RCBANDIT
	WAIT 0
ENDWHILE
 
CREATE_CAR BOAT_PREDATOR 837.0 -1115.6 -0.2 players_boat_with_guns
 
SET_CAR_HEADING players_boat_with_guns 140.0
ADD_BLIP_FOR_CAR players_boat_with_guns players_boat_with_guns_blip
 
PRINT_NOW RM4_1 5000 1 //"Go steal a boat."
 
/////////////////////////
/////////////////////////
//SET_PLAYER_COORDINATES player 833.88 -1114.9 6.0
//WAIT 1500
//
//IF NOT IS_CAR_DEAD players_boat_with_guns
//ENDIF
//
//WARP_PLAYER_INTO_CAR player	players_boat_with_guns
/////////////////////////
/////////////////////////
 
WHILE NOT IS_PLAYER_IN_MODEL player BOAT_PREDATOR
	WAIT 0
ENDWHILE
 
REMOVE_BLIP	players_boat_with_guns_blip
 
//CREATE_CAR BOAT_GHOST 1695.0 -381.5 -1.3 partners_boat
CREATE_CAR BOAT_GHOST 1695.0 -381.5 -1.4 partners_boat
SET_CAR_STRONG partners_boat TRUE
 
CREATE_OBJECT barrel2 837.0 -1115.6 10.0 barrel2_a
CREATE_OBJECT barrel2 837.0 -1115.6 20.0 barrel2_b
//CREATE_OBJECT faketarget 837.0 -1115.6 30.0 sniper_object
 
SET_OBJECT_COLLISION barrel2_a OFF
SET_OBJECT_COLLISION barrel2_b OFF
//SET_OBJECT_COLLISION sniper_object OFF
SET_OBJECT_DYNAMIC barrel2_a FALSE
SET_OBJECT_DYNAMIC barrel2_b FALSE
//SET_OBJECT_DYNAMIC sniper_object FALSE
 
PLACE_OBJECT_RELATIVE_TO_CAR barrel2_a partners_boat -0.3 -2.5 0.2
PLACE_OBJECT_RELATIVE_TO_CAR barrel2_b partners_boat 0.3 -2.5 0.2
 
PRINT_NOW RM4_2 5000 1 //"Get to the lighthouse and 'rub out' Ray's partner!"
 
GET_CAR_HEALTH partners_boat partners_boat_health
 
ADD_BLIP_FOR_CAR_OLD partners_boat GREEN BOTH partners_blip
CHANGE_BLIP_SCALE partners_blip 3
 
/////////////////////////
/////////////////////////
//SET_PLAYER_COORDINATES PLAYER 1694.0 -589.0 0.0
/////////////////////////
/////////////////////////
 
WHILE NOT LOCATE_PLAYER_ANY_MEANS_2D player 1700.0 -383.0 180.0 180.0 0
AND NOT partners_boat_health < 980
 
	WAIT 0
 
	IF IS_CAR_DEAD partners_boat
		GOTO mission_ray4_passed
	ENDIF
 
	GET_CAR_HEALTH partners_boat partners_boat_health
 
	GOSUB object_placement
 
ENDWHILE
 
GET_CAR_HEADING	partners_boat distance_resultB
GET_CAR_COORDINATES	partners_boat partner_x	partner_y partner_z
GET_CAR_FORWARD_X partners_boat partners_boat_forward_x
GET_CAR_FORWARD_Y partners_boat partners_boat_forward_y
temp_dot_product_x = 0.0 * partners_boat_forward_y  //change both of these to move on the vehicles x axis
temp_dot_product_y = 0.0 * partners_boat_forward_x //
 
temp_x = 1.8 * partners_boat_forward_x //change both of these to move on the vehicles y axis
temp_y = 1.8 * partners_boat_forward_y //
 
vector_x = temp_dot_product_x - temp_x
vector_y = temp_dot_product_y - temp_y
 
vector_x = vector_x + partner_x 
vector_y = vector_y + partner_y
 
partner_z += 0.4
 
distance_resultB -= 90.0
 
IF distance_resultB < 0.0
	distance_resultB += 360.0
ENDIF
 
REMOVE_BLIP	partners_blip
CREATE_CHAR PEDTYPE_CIVMALE PED_MALE1 vector_x vector_y partner_z rays_partner
SET_CHAR_HEADING rays_partner distance_resultB
SET_CHAR_STAY_IN_SAME_PLACE rays_partner TRUE
CLEAR_CHAR_THREAT_SEARCH rays_partner
ADD_ARMOUR_TO_CHAR rays_partner 100
SET_CHAR_WAIT_STATE rays_partner WAITSTATE_PLAYANIM_DUCK 1700
 
TIMERA = 0
WHILE TIMERA < 1200
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
SWITCH_WIDESCREEN ON
SET_PLAYER_CONTROL player OFF
SET_EVERYONE_IGNORE_PLAYER player ON
SET_ALL_CARS_CAN_BE_DAMAGED FALSE
IF IS_PLAYER_IN_ANY_CAR player 
	IF IS_PLAYER_IN_MODEL player BOAT_PREDATOR
	OR IS_PLAYER_IN_MODEL player BOAT_REEFER
	OR IS_PLAYER_IN_MODEL player BOAT_GHOST
		MARK_CAR_AS_NO_LONGER_NEEDED players_boat_with_guns
		STORE_CAR_PLAYER_IS_IN player players_boat_with_guns
		ANCHOR_BOAT players_boat_with_guns TRUE
	ENDIF
	APPLY_BRAKES_TO_PLAYERS_CAR player ON
ENDIF
 
IF IS_CHAR_DEAD rays_partner
	GOTO mission_ray4_passed
ENDIF
IF IS_CAR_DEAD partners_boat
	GOTO mission_ray4_passed
ENDIF
 
GET_CAR_COORDINATES	partners_boat partner_x	partner_y partner_z
GET_CAR_FORWARD_X partners_boat partners_boat_forward_x
GET_CAR_FORWARD_Y partners_boat partners_boat_forward_y
temp_dot_product_x = -5.0  * partners_boat_forward_y  //change both of these to move on the vehicles x axis
temp_dot_product_y = 5.0 * partners_boat_forward_x //
 
temp_x = 3.8 * partners_boat_forward_x //change both of these to move on the vehicles y axis
temp_y = 3.8 * partners_boat_forward_y //
 
vector_x = temp_dot_product_x - temp_x
vector_y = temp_dot_product_y - temp_y
 
vector_x = vector_x + partner_x 
vector_y = vector_y + partner_y
 
partner_z += 2.0
 
SET_FIXED_CAMERA_POSITION vector_x vector_y partner_z 0.0 0.0 0.0
POINT_CAMERA_AT_CHAR rays_partner FIXED JUMP_CUT
 
TIMERA = 0
WHILE TIMERA < 1500
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
IF IS_CHAR_DEAD rays_partner
	GOTO mission_ray4_passed
ENDIF
IF IS_CAR_DEAD partners_boat
	GOTO mission_ray4_passed
ENDIF
 
SET_CHAR_WAIT_STATE rays_partner WAITSTATE_CROSS_ROAD_LOOK 1600
 
GET_CAR_COORDINATES	partners_boat partner_x	partner_y partner_z
GET_CAR_FORWARD_X partners_boat partners_boat_forward_x
GET_CAR_FORWARD_Y partners_boat partners_boat_forward_y
temp_dot_product_x = 25.0  * partners_boat_forward_y  //change both of these to move on the vehicles x axis
temp_dot_product_y = -25.0 * partners_boat_forward_x //
 
temp_x = 1.8 * partners_boat_forward_x //change both of these to move on the vehicles y axis
temp_y = 1.8 * partners_boat_forward_y //
 
vector_x = temp_dot_product_x - temp_x
vector_y = temp_dot_product_y - temp_y
 
vector_x = vector_x + partner_x 
vector_y = vector_y + partner_y
 
partner_z = -2.0
 
TIMERA = 0
WHILE TIMERA < 1600
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
IF IS_CHAR_DEAD rays_partner
	GOTO mission_ray4_passed
ENDIF
 
IF IS_CAR_DEAD partners_boat
	GOTO mission_ray4_passed
ENDIF
 
CREATE_CAR CAR_RCBANDIT vector_x vector_y partner_z fish_target
GIVE_WEAPON_TO_CHAR	rays_partner WEAPONTYPE_GRENADE 20
SET_CHAR_OBJ_NO_OBJ rays_partner
SET_CHAR_WAIT_STATE rays_partner WAITSTATE_FALSE 100
SET_CHAR_OBJ_DESTROY_CAR rays_partner fish_target
GET_CAR_COORDINATES	fish_target fish_target_x fish_target_y fish_target_z
 
partner_x =	fish_target_x -	2.0
partner_y =	fish_target_y -	2.0
partner_z =	fish_target_z -	2.0
temp_x += 2.0
vector_x += 2.0
vector_y += 1.0
 
WHILE NOT IS_PROJECTILE_IN_AREA partner_x partner_y partner_z temp_x vector_x vector_y // THE WINDOW
	WAIT 0
 
	GOSUB object_placement
 
	IF IS_CHAR_DEAD rays_partner
		GOTO mission_ray4_passed
	ENDIF
 
	IF IS_CAR_DEAD partners_boat
		GOTO mission_ray4_passed
	ENDIF
 
	IF IS_CAR_DEAD fish_target
	ENDIF
 
	SET_CAR_COORDINATES	fish_target	fish_target_x fish_target_y fish_target_z
 
ENDWHILE
 
SET_CHAR_OBJ_NO_OBJ rays_partner
DESTROY_PROJECTILES_IN_AREA partner_x partner_y partner_z temp_x vector_x vector_y
 
GET_CAR_COORDINATES	fish_target partner_x partner_y partner_z
partner_z += 1.0
fish_target_x =	partner_x
fish_target_y =	partner_y
fish_target_z =	partner_z
POINT_CAMERA_AT_POINT fish_target_x fish_target_y fish_target_z INTERPOLATION
DELETE_CAR fish_target
 
TIMERA = 0
WHILE TIMERA < 300
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
partner_z = 0.0
ADD_EXPLOSION partner_x partner_y partner_z EXPLOSION_GRENADE
partner_z = 0.3
//ADD_PARTICLE_EFFECT POBJECT_CAR_WATER_SPLASH partner_x partner_y partner_z TRUE
 
IF IS_CAR_DEAD partners_boat
	GOTO mission_ray4_passed
ENDIF
 
GET_CAR_COORDINATES	partners_boat partner_x	partner_y partner_z
GET_CAR_FORWARD_X partners_boat partners_boat_forward_x
GET_CAR_FORWARD_Y partners_boat partners_boat_forward_y
temp_dot_product_x = 30.0  * partners_boat_forward_y  //change both of these to move on the vehicles x axis
temp_dot_product_y = -30.0 * partners_boat_forward_x //
 
temp_x = 2.2 * partners_boat_forward_x //change both of these to move on the vehicles y axis
temp_y = 2.2 * partners_boat_forward_y //
 
vector_x = temp_dot_product_x - temp_x
vector_y = temp_dot_product_y - temp_y
 
vector_x = vector_x + partner_x 
vector_y = vector_y + partner_y
 
partner_z += 1.5
 
TIMERA = 0
WHILE TIMERA < 1000
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
fish_target_z -= 0.2
SET_FIXED_CAMERA_POSITION vector_x vector_y partner_z 0.0 0.0 0.0
POINT_CAMERA_AT_POINT fish_target_x fish_target_y fish_target_z JUMP_CUT
 
TIMERA = 0
WHILE TIMERA < 1500
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
fish_target_z = -0.5
partner_x = fish_target_x
partner_y = fish_target_y
partner_z = fish_target_z
 
fish_target_x = partner_x - 0.2
fish_target_y = partner_y - 0.2
fish_target_z = partner_z
 
CREATE_OBJECT fish01 fish_target_x fish_target_y fish_target_z fishy_1
SET_OBJECT_DYNAMIC fishy_1 TRUE
ADD_TO_OBJECT_VELOCITY fishy_1 0.0 0.0 1.0
GENERATE_RANDOM_FLOAT_IN_RANGE 0.0 359.9 temp_x
SET_OBJECT_HEADING fishy_1 temp_x
 
TIMERA = 0
WHILE TIMERA < 600
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
fish_target_x += 0.9
fish_target_y += 0.3
 
GENERATE_RANDOM_FLOAT_IN_RANGE -4.0 2.0 temp_x
fish_target_x = partner_x + temp_x
GENERATE_RANDOM_FLOAT_IN_RANGE -3.0 3.0 temp_x
fish_target_y = partner_y + temp_x
 
CREATE_OBJECT fish01 fish_target_x fish_target_y fish_target_z fishy_2
SET_OBJECT_DYNAMIC fishy_2 TRUE
ADD_TO_OBJECT_VELOCITY fishy_2 0.0 0.0 1.0
GENERATE_RANDOM_FLOAT_IN_RANGE 0.0 359.9 temp_x
SET_OBJECT_HEADING fishy_2 temp_x
 
TIMERA = 0
WHILE TIMERA < 200
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
GENERATE_RANDOM_FLOAT_IN_RANGE -4.0 2.0 temp_x
fish_target_x = partner_x + temp_x
GENERATE_RANDOM_FLOAT_IN_RANGE -3.0 3.0 temp_x
fish_target_y = partner_y + temp_x
 
CREATE_OBJECT fish01 fish_target_x fish_target_y fish_target_z fishy_3
SET_OBJECT_DYNAMIC fishy_3 TRUE
ADD_TO_OBJECT_VELOCITY fishy_3 0.0 0.0 1.0
GENERATE_RANDOM_FLOAT_IN_RANGE 0.0 359.9 temp_x
SET_OBJECT_HEADING fishy_3 temp_x
 
TIMERA = 0
WHILE TIMERA < 400
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
GENERATE_RANDOM_FLOAT_IN_RANGE -4.0 2.0 temp_x
fish_target_x = partner_x + temp_x
GENERATE_RANDOM_FLOAT_IN_RANGE -3.0 3.0 temp_x
fish_target_y = partner_y + temp_x
 
CREATE_OBJECT fish01 fish_target_x fish_target_y fish_target_z fishy_4
SET_OBJECT_DYNAMIC fishy_4 TRUE
ADD_TO_OBJECT_VELOCITY fishy_4 0.0 0.0 1.0
GENERATE_RANDOM_FLOAT_IN_RANGE 0.0 359.9 temp_x
SET_OBJECT_HEADING fishy_4 temp_x
 
TIMERA = 0
WHILE TIMERA < 100
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
GENERATE_RANDOM_FLOAT_IN_RANGE -4.0 2.0 temp_x
fish_target_x = partner_x + temp_x
GENERATE_RANDOM_FLOAT_IN_RANGE -3.0 3.0 temp_x
fish_target_y = partner_y + temp_x
 
CREATE_OBJECT fish01 fish_target_x fish_target_y fish_target_z fishy_5
SET_OBJECT_DYNAMIC fishy_5 TRUE
ADD_TO_OBJECT_VELOCITY fishy_5 0.0 0.0 1.0
GENERATE_RANDOM_FLOAT_IN_RANGE 0.0 359.9 temp_x
SET_OBJECT_HEADING fishy_5 temp_x
 
TIMERA = 0
WHILE TIMERA < 300
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
GENERATE_RANDOM_FLOAT_IN_RANGE -4.0 2.0 temp_x
fish_target_x = partner_x + temp_x
GENERATE_RANDOM_FLOAT_IN_RANGE -3.0 3.0 temp_x
fish_target_y = partner_y + temp_x
 
CREATE_OBJECT fish01 fish_target_x fish_target_y fish_target_z fishy_6
SET_OBJECT_DYNAMIC fishy_6 TRUE
ADD_TO_OBJECT_VELOCITY fishy_6 0.0 0.0 1.0
GENERATE_RANDOM_FLOAT_IN_RANGE 0.0 359.9 temp_x
SET_OBJECT_HEADING fishy_6 temp_x
 
TIMERA = 0
WHILE TIMERA < 200
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
GENERATE_RANDOM_FLOAT_IN_RANGE -4.0 2.0 temp_x
fish_target_x = partner_x + temp_x
GENERATE_RANDOM_FLOAT_IN_RANGE -3.0 3.0 temp_x
fish_target_y = partner_y + temp_x
 
CREATE_OBJECT fish01 fish_target_x fish_target_y fish_target_z fishy_7
SET_OBJECT_DYNAMIC fishy_7 TRUE
ADD_TO_OBJECT_VELOCITY fishy_7 0.0 0.0 1.0
GENERATE_RANDOM_FLOAT_IN_RANGE 0.0 359.9 temp_x
SET_OBJECT_HEADING fishy_7 temp_x
 
TIMERA = 0
WHILE TIMERA < 120
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
GENERATE_RANDOM_FLOAT_IN_RANGE -4.0 2.0 temp_x
fish_target_x = partner_x + temp_x
GENERATE_RANDOM_FLOAT_IN_RANGE -3.0 3.0 temp_x
fish_target_y = partner_y + temp_x
 
CREATE_OBJECT fish01 fish_target_x fish_target_y fish_target_z fishy_8
SET_OBJECT_DYNAMIC fishy_8 TRUE
ADD_TO_OBJECT_VELOCITY fishy_8 0.0 0.0 1.0
GENERATE_RANDOM_FLOAT_IN_RANGE 0.0 359.9 temp_x
SET_OBJECT_HEADING fishy_8 temp_x
 
TIMERA = 0
WHILE TIMERA < 70
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
GENERATE_RANDOM_FLOAT_IN_RANGE -4.0 2.0 temp_x
fish_target_x = partner_x + temp_x
GENERATE_RANDOM_FLOAT_IN_RANGE -3.0 3.0 temp_x
fish_target_y = partner_y + temp_x
 
CREATE_OBJECT fish01 fish_target_x fish_target_y fish_target_z fishy_9
SET_OBJECT_DYNAMIC fishy_9 TRUE
ADD_TO_OBJECT_VELOCITY fishy_9 0.0 0.0 1.0
GENERATE_RANDOM_FLOAT_IN_RANGE 0.0 359.9 temp_x
SET_OBJECT_HEADING fishy_9 temp_x
 
TIMERA = 0
WHILE TIMERA < 35
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
GENERATE_RANDOM_FLOAT_IN_RANGE -4.0 2.0 temp_x
fish_target_x = partner_x + temp_x
GENERATE_RANDOM_FLOAT_IN_RANGE -3.0 3.0 temp_x
fish_target_y = partner_y + temp_x
 
CREATE_OBJECT fish01 fish_target_x fish_target_y fish_target_z fishy_10
SET_OBJECT_DYNAMIC fishy_10 TRUE
ADD_TO_OBJECT_VELOCITY fishy_10 0.0 0.0 1.0
GENERATE_RANDOM_FLOAT_IN_RANGE 0.0 359.9 temp_x
SET_OBJECT_HEADING fishy_10 temp_x
 
TIMERA = 0
WHILE TIMERA < 2500
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
IF IS_CHAR_DEAD rays_partner
	GOTO mission_ray4_passed
ENDIF
 
POINT_CAMERA_AT_CHAR rays_partner FIXED INTERPOLATION
 
TIMERA = 0
WHILE TIMERA < 200
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
IF IS_CAR_DEAD partners_boat
	GOTO mission_ray4_passed
ENDIF
 
GET_CAR_COORDINATES	partners_boat partner_x	partner_y partner_z
GET_CAR_FORWARD_X partners_boat partners_boat_forward_x
GET_CAR_FORWARD_Y partners_boat partners_boat_forward_y
temp_dot_product_x = 10.0  * partners_boat_forward_y  //change both of these to move on the vehicles x axis
temp_dot_product_y = -10.0 * partners_boat_forward_x //
 
temp_x = 2.2 * partners_boat_forward_x //change both of these to move on the vehicles y axis
temp_y = 2.2 * partners_boat_forward_y //
 
vector_x = temp_dot_product_x - temp_x
vector_y = temp_dot_product_y - temp_y
 
vector_x = vector_x + partner_x 
vector_y = vector_y + partner_y
 
partner_z += 2.0
 
fish_target_z -= 0.2
SET_FIXED_CAMERA_POSITION vector_x vector_y partner_z 0.0 0.0 0.0
 
TIMERA = 0
WHILE TIMERA < 800
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
IF IS_CHAR_DEAD rays_partner
	GOTO mission_ray4_passed
ENDIF
 
CHAR_LOOK_AT_PLAYER_ALWAYS rays_partner player
 
TIMERA = 0
WHILE TIMERA < 600
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
IF IS_CHAR_DEAD rays_partner
	GOTO mission_ray4_passed
ENDIF
 
STOP_CHAR_LOOKING rays_partner
 
IF IS_CHAR_DEAD rays_partner
	GOTO mission_ray4_passed
ENDIF
 
IF IS_CAR_DEAD partners_boat
	GOTO mission_ray4_passed
ENDIF
 
GET_CAR_COORDINATES	partners_boat partner_x	partner_y partner_z
 
SET_CHAR_OBJ_GOTO_COORD_ON_FOOT	rays_partner partner_x	partner_y
 
TIMERA = 0
WHILE TIMERA < 1000
	WAIT 0
	GOSUB object_placement
ENDWHILE
 
IF IS_CHAR_DEAD rays_partner
	GOTO mission_ray4_passed
ENDIF
 
IF IS_CAR_DEAD partners_boat
	GOTO mission_ray4_passed
ENDIF
 
DELETE_CHAR	rays_partner
CREATE_CHAR_INSIDE_CAR partners_boat PEDTYPE_CIVMALE PED_MALE1 rays_partner
SET_CHAR_THREAT_SEARCH rays_partner THREAT_PLAYER1
SET_CHAR_PERSONALITY rays_partner PEDSTAT_TOUGH_GUY
SET_CHAR_HEALTH	rays_partner 300
ADD_BLIP_FOR_CHAR rays_partner partners_blip
 
SWITCH_WIDESCREEN OFF
SET_PLAYER_CONTROL player ON
SET_EVERYONE_IGNORE_PLAYER player FALSE
SET_ALL_CARS_CAN_BE_DAMAGED TRUE
APPLY_BRAKES_TO_PLAYERS_CAR player OFF
IF IS_CAR_STILL_ALIVE players_boat_with_guns
	ANCHOR_BOAT players_boat_with_guns FALSE
ENDIF
RESTORE_CAMERA
 
CREATE_CAR CAR_SENTINEL 1329.8947 -641.7307 11.1765	partners_car
SET_CAR_HEADING partners_car 180.8517
 
BOAT_GOTO_COORDS partners_boat node_2_x node_2_y 0.0
boat_node_x = node_2_x
boat_node_y	= node_2_y
 
GET_GAME_TIMER mine_current_timer
GET_GAME_TIMER last_mine_dropped_timer
 
GET_CAR_HEALTH partners_boat partners_boat_health
partners_boat_health = partners_boat_health - 250
partners_boat_health = partners_boat_health * 100
partners_boat_health = partners_boat_health / 750
partners_boat_health2 = partners_boat_health
partners_boat_health = 100 - partners_boat_health2
DISPLAY_ONSCREEN_COUNTER_WITH_STRING partners_boat_health COUNTER_DISPLAY_BAR DAM
 
boat_looop://///////////////////////////////////////////////////////////////////////////////
 
WAIT 0
 
IF IS_CHAR_DEAD rays_partner
	IF DOES_OBJECT_EXIST barrel2_a
		GET_OBJECT_COORDINATES barrel2_a fish_target_x fish_target_y fish_target_z
		ADD_EXPLOSION fish_target_x fish_target_y fish_target_z EXPLOSION_GRENADE
		DELETE_OBJECT barrel2_a
	ENDIF
	IF DOES_OBJECT_EXIST barrel2_b
		GET_OBJECT_COORDINATES barrel2_b fish_target_x fish_target_y fish_target_z
		ADD_EXPLOSION fish_target_x fish_target_y fish_target_z EXPLOSION_GRENADE
		DELETE_OBJECT barrel2_b
	ENDIF
	GOTO mission_ray4_passed
ENDIF
 
IF partner_on_foot_flag = -1
	IF NOT IS_CAR_DEAD partners_boat
		IF DOES_OBJECT_EXIST barrel2_a
		AND DOES_OBJECT_EXIST barrel2_b
			GOSUB object_placement
		ENDIF
	ENDIF
	IF TIMERA > 500
		TIMERA = 0
		IF IS_PLAYER_IN_ANY_CAR player
			MARK_CAR_AS_NO_LONGER_NEEDED players_boat_with_guns
			STORE_CAR_PLAYER_IS_IN player players_boat_with_guns
			SET_CHAR_ACCURACY rays_partner 100
			SET_CHAR_OBJ_DESTROY_CAR rays_partner players_boat_with_guns
		ELSE
			SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT rays_partner player
		ENDIF
	ENDIF
ENDIF
 
IF partner_on_foot_flag = 0
	IF NOT IS_CAR_DEAD partners_boat
 
		IF DOES_OBJECT_EXIST barrel2_a
		AND DOES_OBJECT_EXIST barrel2_b
			GOSUB object_placement
		ENDIF
 
		GOSUB boat_health_counter
 
		IF boat_node_counter > 0
 
			GOSUB drop_mines
 
			IF boat_speed_flag = 1
				IF NOT LOCATE_PLAYER_ANY_MEANS_CAR_2D player partners_boat 100.0 100.0 0
					SET_BOAT_CRUISE_SPEED partners_boat 25.0
					boat_speed_flag = 0
				ENDIF
			ENDIF
 
			IF boat_speed_flag = 0
				IF LOCATE_PLAYER_ANY_MEANS_CAR_2D player partners_boat 80.0 80.0 0
					SET_BOAT_CRUISE_SPEED partners_boat 35.0
					boat_speed_flag = 1
				ENDIF
			ENDIF
		ENDIF
 
		IF NOT boat_node_counter = 0
			IF LOCATE_CAR_2D partners_boat boat_node_x boat_node_y 5.0 5.0 0
				GOSUB select_boat_node
				BOAT_GOTO_COORDS partners_boat boat_node_x boat_node_y 0.0
			ENDIF
		ENDIF
 
		IF boat_node_counter = 0
			IF DOES_OBJECT_EXIST barrel2_a
				GET_OBJECT_COORDINATES barrel2_a fish_target_x fish_target_y fish_target_z
				DELETE_OBJECT barrel2_a
				DROP_NAUTICAL_MINE fish_target_x fish_target_y fish_target_z
			ENDIF
			IF DOES_OBJECT_EXIST barrel2_b
				GET_OBJECT_COORDINATES barrel2_b fish_target_x fish_target_y fish_target_z
				DELETE_OBJECT barrel2_b
				DROP_NAUTICAL_MINE fish_target_x fish_target_y fish_target_z
			ENDIF
			IF IS_CHAR_STOPPED_IN_AREA_2D rays_partner 1364.1 -614.512 1473.801 -560.223 0
				GOSUB exit_boat
				partner_on_foot_flag = 1
			ENDIF
		ENDIF
 
		IF LOCATE_CAR_3D partners_boat partner_stuck_x partner_stuck_y partner_stuck_z 4.0 4.0 4.0 0
			IF timerc_reset_flag_r4 = 0
				GET_GAME_TIMER timerc_started_r4
				timerc_reset_flag_r4 = 1
			ENDIF
 
			IF timerc_reset_flag_r4 = 1
				GET_GAME_TIMER timerc_current_r4
				timerc_r4 = timerc_current_r4 - timerc_started_r4
				IF timerc_r4 > 8000
					IF IS_CHAR_IN_AREA_2D rays_partner 1608.0 -536.0 1684.0 -472.0 0//ROCKY ISLAND
						GOSUB exit_boat
						SET_CHAR_STAY_IN_SAME_PLACE	rays_partner TRUE
						IF IS_PLAYER_IN_ANY_CAR player
							MARK_CAR_AS_NO_LONGER_NEEDED players_boat_with_guns
							STORE_CAR_PLAYER_IS_IN player players_boat_with_guns
							SET_CHAR_ACCURACY rays_partner 100
							SET_CHAR_OBJ_DESTROY_CAR rays_partner players_boat_with_guns
						ELSE
							SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT rays_partner player
						ENDIF
						timerc_reset_flag_r4 = 1
						partner_on_foot_flag = -1
					ELSE
						GET_CAR_COORDINATES	partners_boat fish_target_x fish_target_y fish_target_z
						GET_GROUND_Z_FOR_3D_COORD fish_target_x fish_target_y fish_target_z	fish_target_z
						IF NOT fish_target_z = 0.0000
							GOSUB exit_boat
							SET_CHAR_STAY_IN_SAME_PLACE	rays_partner TRUE
							IF IS_PLAYER_IN_ANY_CAR player
								MARK_CAR_AS_NO_LONGER_NEEDED players_boat_with_guns
								STORE_CAR_PLAYER_IS_IN player players_boat_with_guns
								SET_CHAR_ACCURACY rays_partner 100
								SET_CHAR_OBJ_DESTROY_CAR rays_partner players_boat_with_guns
							ELSE
								SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT rays_partner player
							ENDIF
							timerc_reset_flag_r4 = 1
							partner_on_foot_flag = -1
						ENDIF
					ENDIF
				ENDIF
			ENDIF
		ENDIF
 
		IF NOT LOCATE_CAR_3D partners_boat partner_stuck_x partner_stuck_y partner_stuck_z 4.0 4.0 4.0 0
			GET_CAR_COORDINATES partners_boat partner_stuck_x partner_stuck_y partner_stuck_z
			timerc_reset_flag_r4 = 0
		ENDIF
 
	ELSE
		IF DOES_OBJECT_EXIST barrel2_a
			GET_OBJECT_COORDINATES barrel2_a fish_target_x fish_target_y fish_target_z
			ADD_EXPLOSION fish_target_x fish_target_y fish_target_z EXPLOSION_GRENADE
			DELETE_OBJECT barrel2_a
		ENDIF
		IF DOES_OBJECT_EXIST barrel2_b
			GET_OBJECT_COORDINATES barrel2_b fish_target_x fish_target_y fish_target_z
			ADD_EXPLOSION fish_target_x fish_target_y fish_target_z EXPLOSION_GRENADE
			DELETE_OBJECT barrel2_b
		ENDIF
	ENDIF
ENDIF
 
IF partner_on_foot_flag = 1
 
	GOSUB partner_escape_checks
	IF goto_mission_ray4_failed = 1
		GOTO mission_ray4_failed
	ENDIF
 
	IF partner_on_foot_counter = 0
		IF NOT IS_PLAYER_IN_AREA_2D player 1364.1 -614.512 1473.801 -560.223 0
			SET_CHAR_OBJ_RUN_TO_COORD rays_partner 1453.4 -583.39
			shoot_at_player_flag = 1
		ELSE
			SET_CHAR_OBJ_RUN_TO_COORD rays_partner 1365.7308 -617.1476
		ENDIF
		partner_on_foot_counter = 1
	ENDIF
 
	IF shoot_at_player_flag > 0
		IF shoot_at_player_flag = 1
			IF LOCATE_CHAR_ON_FOOT_2D rays_partner 1453.4 -583.39 1.0 1.0 0
				IF NOT IS_PLAYER_IN_AREA_2D player 1364.1 -614.512 1473.801 -560.223 0
					IF IS_PLAYER_IN_ANY_CAR	player
						MARK_CAR_AS_NO_LONGER_NEEDED players_boat_with_guns
						STORE_CAR_PLAYER_IS_IN player players_boat_with_guns
						SET_CHAR_ACCURACY rays_partner 100
						SET_CHAR_STAY_IN_SAME_PLACE rays_partner TRUE
						//SET_CHAR_HEED_THREATS rays_partner TRUE
						SET_CHAR_OBJ_DESTROY_CAR rays_partner players_boat_with_guns
					ENDIF
				ENDIF
				shoot_at_player_flag = 2
			ENDIF
		ENDIF
 
		IF shoot_at_player_flag = 2
			IF IS_PLAYER_IN_AREA_2D player 1364.1 -614.512 1473.801 -560.223 0
				SET_CHAR_STAY_IN_SAME_PLACE rays_partner FALSE
				//SET_CHAR_HEED_THREATS rays_partner FALSE
				SET_CHAR_OBJ_RUN_TO_COORD rays_partner 1365.7308 -617.1476
				partner_on_foot_counter = 2
				shoot_at_player_flag = 0
			ENDIF
		ENDIF
	ENDIF
 
	IF NOT partners_boat_health = -1
		GET_CHAR_HEALTH	rays_partner partners_boat_health
		IF partners_boat_health < 250
			SET_CHAR_HEED_THREATS rays_partner TRUE
			partners_boat_health = -1
		ENDIF
	ENDIF
 
	IF partner_on_foot_counter = 1
		IF shoot_at_player_flag = 0
			IF LOCATE_CHAR_ON_FOOT_2D rays_partner 1365.7308 -617.1476 1.0 1.0 0
				SET_CHAR_OBJ_RUN_TO_COORD rays_partner 1344.5702 -617.2876
				partner_on_foot_counter = 2
			ENDIF
		ENDIF
	ENDIF
 
	IF partner_on_foot_counter = 2
		IF LOCATE_CHAR_ON_FOOT_2D rays_partner 1344.5702 -617.2876 1.0 1.0 0
			SET_CHAR_OBJ_RUN_TO_COORD rays_partner 1340.5314 -614.0313
			partner_on_foot_counter = 3
		ENDIF
	ENDIF
 
	IF partner_on_foot_counter = 3
		IF LOCATE_CHAR_ON_FOOT_2D rays_partner 1340.5314 -614.0313 1.0 1.0 0
			SET_CHAR_OBJ_RUN_TO_COORD rays_partner 1336.6632 -616.9997
			partner_on_foot_counter = 4
		ENDIF
	ENDIF
 
	IF partner_on_foot_counter = 4
		IF LOCATE_CHAR_ON_FOOT_2D rays_partner 1336.6632 -616.9997 1.0 1.0 0
			SET_CHAR_OBJ_RUN_TO_COORD rays_partner 1333.7664 -631.9993
			partner_on_foot_counter = 5
		ENDIF
	ENDIF
 
	IF partner_on_foot_counter = 5
		IF LOCATE_CHAR_ON_FOOT_2D rays_partner 1333.7664 -631.9993 1.0 1.0 0
			SET_CHAR_OBJ_RUN_TO_COORD rays_partner 1332.7195 -636.8160
			partner_on_foot_counter = 6
		ENDIF
	ENDIF
 
	IF partner_on_foot_counter = 6
		IF LOCATE_CHAR_ON_FOOT_2D rays_partner 1332.7195 -636.8160 1.0 1.0 0
			IF IS_CAR_DEAD partners_car
				SET_CHAR_OBJ_RUN_TO_COORD rays_partner 1331.7894 -678.1871
				partners_car_is_dead = 1
			ELSE
				SET_CHAR_OBJ_ENTER_CAR_AS_DRIVER rays_partner partners_car
				partners_car_is_dead = -1
			ENDIF
			partner_on_foot_counter = 7
		ENDIF
	ENDIF
 
	IF partners_car_is_dead = 1
		IF partner_on_foot_counter = 7
			IF LOCATE_CHAR_ON_FOOT_2D rays_partner 1331.7894 -678.1871 1.0 1.0 0  
				SET_CHAR_OBJ_RUN_TO_COORD rays_partner 1331.3925 -709.0771
				partner_on_foot_counter = 8
			ENDIF
		ENDIF
 
		IF partner_on_foot_counter = 8
			IF LOCATE_CHAR_ON_FOOT_2D rays_partner 1331.3925 -709.0771 1.0 1.0 0  
				SET_CHAR_OBJ_RUN_TO_COORD rays_partner 1325.6399 -710.9251
				partner_on_foot_counter = 9
			ENDIF
		ENDIF
 
		IF partner_on_foot_counter = 9
			IF LOCATE_CHAR_ON_FOOT_2D rays_partner 1325.6399 -710.9251 1.0 1.0 0  
				SET_CHAR_OBJ_RUN_TO_COORD rays_partner 1309.8854 -695.2979
				partner_on_foot_counter = 10
			ENDIF
		ENDIF
 
		IF partner_on_foot_counter = 10
			IF LOCATE_CHAR_ON_FOOT_2D rays_partner 1309.8854 -695.2979 1.0 1.0 0  
				GOSUB steal_a_car
				partner_on_foot_counter = 11
			ENDIF
		ENDIF
 
		IF partner_on_foot_counter = 11
			IF IS_CHAR_IN_ANY_CAR rays_partner
				MARK_CAR_AS_NO_LONGER_NEEDED partners_car
				STORE_CAR_CHAR_IS_IN rays_partner partners_car
				SET_CAR_ONLY_DAMAGED_BY_PLAYER partners_car TRUE
				SET_CAR_CRUISE_SPEED partners_car 50.0
				SET_CAR_DRIVING_STYLE partners_car 2
				CAR_WANDER_RANDOMLY	partners_car
				SET_CAR_AVOID_LEVEL_TRANSITIONS partners_car TRUE
				SET_UPSIDEDOWN_CAR_NOT_DAMAGED partners_car TRUE
				partner_on_foot_flag = 2
			ENDIF
		ENDIF
	ENDIF
 
	IF partners_car_is_dead = -1
		IF partner_on_foot_counter = 7
			IF IS_CHAR_IN_ANY_CAR rays_partner
				MARK_CAR_AS_NO_LONGER_NEEDED partners_car
				STORE_CAR_CHAR_IS_IN rays_partner partners_car
				SET_CAR_ONLY_DAMAGED_BY_PLAYER partners_car TRUE
				SET_CAR_CRUISE_SPEED partners_car 30.0
				SET_CAR_DRIVING_STYLE partners_car 3
				CAR_GOTO_COORDINATES_ACCURATE partners_car 1331.2119 -662.4428 11.0086
				partner_on_foot_counter = 8
			ENDIF
		ENDIF
 
		IF NOT IS_CAR_DEAD partners_car
			IF partner_on_foot_counter = 8
				IF LOCATE_CHAR_IN_CAR_2D rays_partner 1331.2119 -662.4428 5.0 5.0 0
					CAR_GOTO_COORDINATES_ACCURATE partners_car 1331.2119 -685.2106 11.3431
					partner_on_foot_counter = 9
				ENDIF
			ENDIF
 
			IF partner_on_foot_counter = 9
				IF LOCATE_CHAR_IN_CAR_2D rays_partner 1331.2119 -685.2106 5.0 5.0 0
					CAR_GOTO_COORDINATES_ACCURATE partners_car 1331.0211 -696.5710 12.2865
					partner_on_foot_counter = 10
				ENDIF
			ENDIF
 
			IF partner_on_foot_counter = 10
				IF LOCATE_CHAR_IN_CAR_2D rays_partner 1331.0211 -696.5710 5.0 5.0 0
					CAR_GOTO_COORDINATES_ACCURATE partners_car 1331.3907 -715.4436 14.2220
					partner_on_foot_counter = 11
				ENDIF
			ENDIF
 
			IF partner_on_foot_counter = 11
				IF LOCATE_CHAR_IN_CAR_2D rays_partner 1331.3907 -715.4436 5.0 5.0 0
					MARK_CAR_AS_NO_LONGER_NEEDED partners_car
					STORE_CAR_CHAR_IS_IN rays_partner partners_car
					SET_CAR_ONLY_DAMAGED_BY_PLAYER partners_car TRUE
					SET_CAR_CRUISE_SPEED partners_car 50.0
					SET_CAR_DRIVING_STYLE partners_car 2
					CAR_WANDER_RANDOMLY	partners_car
					SET_CAR_AVOID_LEVEL_TRANSITIONS partners_car TRUE
					SET_UPSIDEDOWN_CAR_NOT_DAMAGED partners_car TRUE
					partner_on_foot_flag = 2
				ENDIF
			ENDIF
		ENDIF
	ENDIF
 
	IF IS_CHAR_IN_ANY_CAR rays_partner
	AND partner_on_foot_flag = 3
		MARK_CAR_AS_NO_LONGER_NEEDED partners_car
		STORE_CAR_CHAR_IS_IN rays_partner partners_car
		SET_CAR_ONLY_DAMAGED_BY_PLAYER partners_car TRUE
		SET_CAR_CRUISE_SPEED partners_car 50.0
		SET_CAR_DRIVING_STYLE partners_car 2
		CAR_WANDER_RANDOMLY	partners_car
		SET_CAR_AVOID_LEVEL_TRANSITIONS partners_car TRUE
		SET_UPSIDEDOWN_CAR_NOT_DAMAGED partners_car TRUE
		partner_on_foot_flag = 2
	ENDIF
 
	IF partner_on_foot_flag = 2
		IF NOT IS_CHAR_IN_ANY_CAR rays_partner
			GOSUB steal_a_car
			//SET_CHAR_HEED_THREATS rays_partner TRUE
			partner_on_foot_flag = 3
		ENDIF
	ENDIF
 
	IF partner_on_foot_flag = 2
		IF NOT IS_CAR_DEAD partners_car
			IF TIMERB > 1000
				TIMERB = 0
				IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player rays_partner 30.0 30.0 0
					SET_CAR_CRUISE_SPEED partners_car 50.0
				ELSE
					IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player rays_partner 80.0 80.0 0
						SET_CAR_CRUISE_SPEED partners_car 40.0
					ELSE
						SET_CAR_CRUISE_SPEED partners_car 30.0
					ENDIF
				ENDIF
			ENDIF
 
			IF IS_CAR_STOPPED partners_car
				IF timer_reset_flag_r4 = 0
					TIMERA = 0
					timer_reset_flag_r4 = 1
				ENDIF
 
				IF TIMERA > 8000
				AND timer_reset_flag_r4 = 1
					IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player rays_partner 120.0 120.0 0
						SET_CHAR_OBJ_LEAVE_CAR rays_partner partners_car
						timer_reset_flag_r4 = 0
					ELSE
						IF NOT IS_CAR_ON_SCREEN partners_car
							GET_CAR_COORDINATES partners_car partner_x partner_y partner_z
							GET_CLOSEST_CAR_NODE_WITH_HEADING partner_x partner_y partner_z partner_x partner_y partner_z distance_between_boats
							IF NOT IS_POINT_ON_SCREEN partner_x partner_y partner_z 4.0
								SET_CAR_COORDINATES partners_car partner_x partner_y partner_z
								SET_CAR_HEADING	partners_car distance_between_boats
								timer_reset_flag_r4 = 0
							ENDIF
						ENDIF
					ENDIF
				ENDIF
			ENDIF
 
			IF IS_CAR_UPSIDEDOWN partners_car
			AND IS_CAR_STOPPED partners_car
				IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player rays_partner 120.0 120.0 0
					SET_CHAR_OBJ_LEAVE_CAR rays_partner partners_car
					SET_UPSIDEDOWN_CAR_NOT_DAMAGED partners_car FALSE
				ELSE
					IF NOT IS_CAR_ON_SCREEN partners_car
						GET_CAR_COORDINATES partners_car partner_x partner_y partner_z
						GET_CLOSEST_CAR_NODE_WITH_HEADING partner_x partner_y partner_z partner_x partner_y partner_z distance_between_boats
						IF NOT IS_POINT_ON_SCREEN partner_x partner_y partner_z 4.0
							SET_CAR_COORDINATES partners_car partner_x partner_y partner_z
							SET_CAR_HEADING	partners_car distance_between_boats
						ENDIF
					ENDIF
				ENDIF
			ENDIF
 
			IF LOCATE_CAR_3D partners_car partner_stuck_x partner_stuck_y partner_stuck_z 4.0 4.0 4.0 0
				IF timerc_reset_flag_r4 = 0
					GET_GAME_TIMER timerc_started_r4
					timerc_reset_flag_r4 = 1
				ENDIF
 
				IF timerc_reset_flag_r4 = 1
					GET_GAME_TIMER timerc_current_r4
					timerc_r4 = timerc_current_r4 - timerc_started_r4
					IF timerc_r4 > 8000
						IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player rays_partner 120.0 120.0 0
							SET_CHAR_OBJ_LEAVE_CAR rays_partner partners_car
							timerc_reset_flag_r4 = 0
						ELSE
							GET_CAR_COORDINATES partners_car partner_x partner_y partner_z
							GET_CLOSEST_CAR_NODE_WITH_HEADING partner_x partner_y partner_z partner_x partner_y partner_z distance_between_boats
							IF NOT IS_POINT_OBSCURED_BY_A_MISSION_ENTITY partner_x partner_y partner_z 4.0 4.0 4.0
								IF NOT IS_POINT_ON_SCREEN partner_x partner_y partner_z 4.0
									SET_CAR_COORDINATES partners_car partner_x partner_y partner_z
									SET_CAR_HEADING	partners_car distance_between_boats
									timerc_reset_flag_r4 = 0
								ENDIF
							ENDIF
						ENDIF
					ENDIF
				ENDIF
			ENDIF
 
			IF NOT LOCATE_CAR_3D partners_car partner_stuck_x partner_stuck_y partner_stuck_z 4.0 4.0 4.0 0
				GET_CAR_COORDINATES partners_car partner_stuck_x partner_stuck_y partner_stuck_z
				timerc_reset_flag_r4 = 0
			ENDIF
 
			IF NOT IS_CAR_HEALTH_GREATER partners_car 400
				SET_CHAR_OBJ_LEAVE_CAR rays_partner partners_car
			ENDIF
		ENDIF
	ENDIF 
ENDIF 
 
GOTO boat_looop/////////////////////////////////////////////////////////////////////////////
 
 
// Mission Ray4 failed
 
mission_ray4_failed:
PRINT_BIG M_FAIL 5000 1
RETURN
 
 
 
// mission Ray4 passed
 
mission_ray4_passed:
 
flag_ray_mission4_passed = 1
PRINT_WITH_NUMBER_BIG M_PASS 15000 2000 1
ADD_SCORE player 15000
CLEAR_WANTED_LEVEL player
REGISTER_MISSION_PASSED	RM4
PLAY_MISSION_PASSED_TUNE 1
PLAYER_MADE_PROGRESS 1
START_NEW_SCRIPT ray_mission5_loop
RETURN
 
 
 
// mission cleanup
 
mission_cleanup_ray4:
 
REMOVE_BLIP partners_blip
REMOVE_BLIP players_boat_with_guns_blip
CLEAR_ONSCREEN_COUNTER partners_boat_health
MARK_MODEL_AS_NO_LONGER_NEEDED BOAT_PREDATOR
MARK_MODEL_AS_NO_LONGER_NEEDED BOAT_GHOST
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_SENTINEL
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_RCBANDIT
flag_player_on_mission = 0
flag_player_on_ray_mission = 0
MISSION_HAS_FINISHED
RETURN
 
 
object_placement:///////////////////////////////////////////////////////////////////////
 
IF NOT IS_CAR_DEAD partners_boat
	PLACE_OBJECT_RELATIVE_TO_CAR barrel2_a partners_boat -0.5 -3.8 1.1
	PLACE_OBJECT_RELATIVE_TO_CAR barrel2_b partners_boat 0.5 -3.8 1.1
ENDIF
 
RETURN//////////////////////////////////////////////////////////////////////////////////
 
 
drop_mines://///////////////////////////////////////////////////////////////////////////
 
	GET_GAME_TIMER mine_current_timer
	temporary_time_mine = mine_current_timer - last_mine_dropped_timer
	IF temporary_time_mine > 2000
		GENERATE_RANDOM_INT_IN_RANGE 0 4 random_int
		GET_GAME_TIMER last_mine_dropped_timer
		IF random_int = 2
			GET_CAR_SPEED partners_boat partners_boat_speed
 
			GET_PLAYER_COORDINATES player player_x player_y player_z
 
			GET_CAR_COORDINATES	partners_boat partner_x	partner_y partner_z
			IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player rays_partner 5.0 5.0 0
				IF partners_boat_speed > 12.0
					vector_x = partner_x - player_x
					vector_y = partner_y - player_y
					temp_vector_x = vector_x * vector_x
					temp_vector_y = vector_y * vector_y
					temp_distance = temp_vector_x + temp_vector_y
					SQRT temp_distance distance_between_boats
 
					IF distance_between_boats < 60.0
						GET_CAR_FORWARD_X partners_boat partners_boat_forward_x
						GET_CAR_FORWARD_Y partners_boat partners_boat_forward_y
						vector_x = vector_x / distance_between_boats
						vector_y = vector_y / distance_between_boats
						temp_dot_product_x = vector_x * partners_boat_forward_x
						temp_dot_product_y = vector_y * partners_boat_forward_y
						dot_product	= temp_dot_product_x + temp_dot_product_y
 
						IF dot_product > -0.5 
							DROP_NAUTICAL_MINE partner_x partner_y partner_z
							temp_x = partner_x
							temp_y = partner_y
						ENDIF
					ENDIF
				ENDIF
			ENDIF
		ENDIF
	ENDIF
 
RETURN//////////////////////////////////////////////////////////////////////////////////
 
 
exit_boat://////////////////////////////////////////////////////////////////////////////
 
	IF exit_boat_flag = 0
		BOAT_STOP partners_boat
		GET_CAR_COORDINATES	partners_boat partner_x	partner_y partner_z
		GET_CAR_FORWARD_X partners_boat partners_boat_forward_x
		GET_CAR_FORWARD_Y partners_boat partners_boat_forward_y
 
		temp_dot_product_x = 3.0 * partners_boat_forward_y  //change both of these to move on the vehicles x axis
		temp_dot_product_y = -3.0 * partners_boat_forward_x //
 
		temp_x = 0.3 * partners_boat_forward_x //change both of these to move on the vehicles y axis
		temp_y = 0.3 * partners_boat_forward_y //
 
		vector_x = temp_dot_product_x - temp_x
		vector_y = temp_dot_product_y - temp_y
 
		vector_x = vector_x + partner_x 
		vector_y = vector_y + partner_y
 
		temp_dot_product_x = -3.0 * partners_boat_forward_y //change both of these to move on the vehicles x axis
		temp_dot_product_y = 3.0 * partners_boat_forward_x  //
 
		temp_x = 0.3 * partners_boat_forward_x //change both of these to move on the vehicles y axis
		temp_y = 0.3 * partners_boat_forward_y //
 
		temp_vector_x = temp_dot_product_x - temp_x
		temp_vector_y = temp_dot_product_y - temp_y
 
		temp_vector_x = temp_vector_x + partner_x 
		temp_vector_y = temp_vector_y + partner_y
 
		GET_PLAYER_COORDINATES player sniper_object_a_x sniper_object_a_y dot_product
 
		partner_x = sniper_object_a_x - vector_x
		partner_y = sniper_object_a_y - vector_y
		partner_x = partner_x * partner_x
		partner_y = partner_y * partner_y
		dot_product = partner_x + partner_y
		SQRT dot_product distance_resultA
 
		partner_x = sniper_object_a_x - temp_vector_x
		partner_y = sniper_object_a_y - temp_vector_y
		partner_x = partner_x * partner_x
		partner_y = partner_y * partner_y
		dot_product = partner_x + partner_y
		SQRT dot_product distance_resultB
 
		IF distance_resultA	< distance_resultB
			GET_GROUND_Z_FOR_3D_COORD vector_x vector_y partner_z dot_product //temp_x
			temp_x = partner_z + 15.0
			GET_GROUND_Z_FOR_3D_COORD vector_x vector_y temp_x temp_x
			IF temp_x > dot_product
				dot_product = temp_x + 1.0
			ENDIF
			IF NOT dot_product = 0.0000
				WARP_CHAR_FROM_CAR_TO_COORD	rays_partner vector_x vector_y partner_z
				SET_CHAR_HEADING rays_partner 90.0
			ELSE
				WARP_CHAR_FROM_CAR_TO_COORD	rays_partner temp_vector_x temp_vector_y partner_z
				SET_CHAR_HEADING rays_partner 90.0
			ENDIF
		ELSE
			GET_GROUND_Z_FOR_3D_COORD temp_vector_x temp_vector_y partner_z dot_product
			IF NOT dot_product = 0.0000
				WARP_CHAR_FROM_CAR_TO_COORD	rays_partner temp_vector_x temp_vector_y partner_z
				SET_CHAR_HEADING rays_partner 90.0
			ELSE
				WARP_CHAR_FROM_CAR_TO_COORD	rays_partner vector_x vector_y partner_z
				SET_CHAR_HEADING rays_partner 90.0
			ENDIF
		ENDIF
		GIVE_WEAPON_TO_CHAR rays_partner WEAPONTYPE_CHAINGUN 9999
		SET_CHAR_RUNNING rays_partner TRUE
		CLEAR_ONSCREEN_COUNTER partners_boat_health
		exit_boat_flag = 1
	ENDIF
 
RETURN//////////////////////////////////////////////////////////////////////////////////
 
 
boat_health_counter:////////////////////////////////////////////////////////////////////
 
	GET_CAR_HEALTH partners_boat partners_boat_health
	partners_boat_health = partners_boat_health - 250
	partners_boat_health = partners_boat_health * 100
	partners_boat_health = partners_boat_health / 750
	partners_boat_health2 = partners_boat_health
	partners_boat_health = 100 - partners_boat_health2
 
RETURN//////////////////////////////////////////////////////////////////////////////////
 
 
steal_a_car:////////////////////////////////////////////////////////////////////////////
 
	IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player rays_partner 100.0 100.0 0
		SET_CHAR_OBJ_STEAL_ANY_CAR rays_partner
	ELSE
		GET_CLOSEST_CAR_NODE_WITH_HEADING 1309.8854 -695.2979 15.3830 partner_x	partner_y partner_z dot_product
		MARK_CAR_AS_NO_LONGER_NEEDED partners_car
		CREATE_CAR CAR_SENTINEL	partner_x partner_y partner_z partners_car
		SET_CAR_HEADING	partners_car dot_product
		SET_CHAR_OBJ_ENTER_CAR_AS_DRIVER rays_partner partners_car
	ENDIF
 
RETURN//////////////////////////////////////////////////////////////////////////////////
 
select_boat_node:///////////////////////////////////////////////////////////////////////
 
	IF boat_node_counter = 1
		IF partners_boat_health < 50
			boat_node_x = node_11_x
			boat_node_y = node_11_y
			boat_node_counter = 11
		ELSE
			boat_node_x = node_2_x
			boat_node_y = node_2_y
			boat_node_counter = 2
		ENDIF
		RETURN
	ENDIF
 
	IF boat_node_counter = 2
		boat_node_x = node_3_x
		boat_node_y	= node_3_y
		boat_node_counter = 3
		RETURN
	ENDIF
 
	IF boat_node_counter = 3
		IF partners_boat_health < 50
			boat_node_x = node_4_x
			boat_node_y	= node_4_y
			boat_node_counter = 4
		ELSE
			boat_node_x = node_0_x
			boat_node_y	= node_0_y
			boat_node_counter = 0
			SET_BOAT_CRUISE_SPEED partners_boat 35.0
			boat_speed_flag = -100
		ENDIF
		RETURN
	ENDIF
 
	IF boat_node_counter = 4
		boat_node_x = node_5_x
		boat_node_y = node_5_y
		boat_node_counter = 5
		RETURN
	ENDIF
 
	IF boat_node_counter = 5
		boat_node_x = node_6_x
		boat_node_y = node_6_y
		boat_node_counter = 6
		RETURN
	ENDIF
 
	IF boat_node_counter = 6
		boat_node_x = node_7_x
		boat_node_y = node_7_y
		boat_node_counter = 7
		RETURN
	ENDIF
 
	IF boat_node_counter = 7
		IF partners_boat_health < 50
			boat_node_x = node_8_x
			boat_node_y = node_8_y
			boat_node_counter = 8
		ELSE
			boat_node_x = node_3_x
			boat_node_y = node_3_y
			boat_node_counter = 3
		ENDIF
		RETURN
	ENDIF
 
	IF boat_node_counter = 8
		IF partners_boat_health < 50
			boat_node_x = node_1_x
			boat_node_y = node_1_y
			boat_node_counter = 1
		ELSE
			boat_node_x = node_3_x
			boat_node_y = node_3_y
			boat_node_counter = 3
		ENDIF
		RETURN
	ENDIF
 
	IF boat_node_counter = 9
		IF partners_boat_health < 50
			boat_node_x = node_2_x
			boat_node_y = node_2_y
			boat_node_counter = 2
		ELSE
			boat_node_x = node_8_x
			boat_node_y = node_8_y
			boat_node_counter = 8
		ENDIF
		RETURN
	ENDIF
 
	IF boat_node_counter = 10
		boat_node_x = node_9_x
		boat_node_y = node_9_y
		boat_node_counter = 9
		RETURN
	ENDIF
 
	IF boat_node_counter = 11
		boat_node_x = node_10_x
		boat_node_y = node_10_y
		boat_node_counter = 10
		RETURN
	ENDIF
 
RETURN//////////////////////////////////////////////////////////////////////////////////
 
 
partner_escape_checks://////////////////////////////////////////////////////////////////
 
	IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player rays_partner 160.0 160.0 0
	AND NOT IS_CHAR_ON_SCREEN rays_partner
		IF gotaway_timer_reset_flag = 0
			REMOVE_BLIP	partners_blip
			GET_GAME_TIMER gotaway_timer_started
			gotaway_timer_reset_flag = 1
		ENDIF
 
		IF gotaway_timer_reset_flag = 1
			GET_GAME_TIMER gotaway_timer_current
			gotaway_timer = gotaway_timer_current - gotaway_timer_started
			IF gotaway_timer > 8000
				IF NOT IS_CHAR_ON_SCREEN rays_partner
					gotaway_timer_reset_flag = 0
					DELETE_CHAR rays_partner
					PRINT_NOW RM4_3 5000 1 //"Ray's partner has escaped!"
					goto_mission_ray4_failed = 1
				ENDIF
			ENDIF
		ENDIF
	ENDIF
 
	IF gotaway_timer_reset_flag = 1
		IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player rays_partner 160.0 160.0 0
		OR IS_CHAR_ON_SCREEN rays_partner
			REMOVE_BLIP	partners_blip
			ADD_BLIP_FOR_CHAR rays_partner partners_blip
			gotaway_timer_reset_flag = 0
		ENDIF
	ENDIF
 
RETURN//////////////////////////////////////////////////////////////////////////////////

ray5

MISSION_START
// *****************************************************************************************
// *****************************************************************************************
// *****************************************************************************************
// *****************************************Ray mission 5******************************** 
// *****************************************************************************************
// *****************************************************************************************
// *****************************************************************************************
 
// Mission start stuff
 
GOSUB mission_start_ray5
IF HAS_DEATHARREST_BEEN_EXECUTED 
	GOSUB mission_ray5_failed
ENDIF
GOSUB mission_cleanup_ray5
MISSION_END
 
// Variables for mission
 
VAR_INT ambulance_rc5 ambulance_health flag_redalert
 
VAR_INT injured_cop_rc5 cop_driver bodycast_health
VAR_INT swat1_rc5 swat2_rc5 swat3_rc5 swat4_rc5
VAR_INT swatvan1 swatvan2
VAR_INT blip_ambulance_rc5 flag_bodycast_clear flag_police_trigger
 
VAR_INT blip_injured_cop_rc5 zed_value random_ray5 flag_random_ray5
 
VAR_FLOAT amb_rc5_x amb_rc5_y amb_rc5_z
VAR_FLOAT ic_x ic_y ic_z
 
// ****************************************Mission Start************************************
 
mission_start_ray5:
REGISTER_MISSION_GIVEN
SCRIPT_NAME ray5 
flag_player_on_mission = 1
flag_player_on_ray_mission = 1
 
rays_cutscene_flag = 1
 
WAIT 0
 
//PRINT_BIG ( RM5 ) 15000 2
 
 
flag_bodycast_clear = 0
flag_redalert = 0
flag_random_ray5 = 0
flag_police_trigger = 0
 
flag_audio = 0
 
ambulance_health = 0
 
 
// ****************************************START OF CUTSCENE********************************
//SET_PLAYER_CONTROL player OFF
//SWITCH_WIDESCREEN ON
 
/*
IF CAN_PLAYER_START_MISSION Player
	MAKE_PLAYER_SAFE_FOR_CUTSCENE Player
ELSE
	GOTO mission_ray5_failed
ENDIF
 
SET_FADING_COLOUR 0 0 0
 
DO_FADE 250 FADE_OUT
 
PRINT_BIG RM5 15000 2 //"Plaster Blaster"
 
SWITCH_STREAMING OFF
*/
 
LOAD_SPECIAL_CHARACTER 1 ray
LOAD_SPECIAL_MODEL cut_obj1 PLAYERH
LOAD_SPECIAL_MODEL cut_obj2 RAYH
REQUEST_MODEL toilet
 
/*
WHILE GET_FADING_STATUS
	WAIT 0
ENDWHILE
*/
 
LOAD_ALL_MODELS_NOW
 
WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1
OR NOT HAS_MODEL_LOADED cut_obj2
OR NOT HAS_MODEL_LOADED cut_obj1
OR NOT HAS_MODEL_LOADED toilet
 WAIT 0
ENDWHILE
 
//SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 47.322 -732.055 22.846 4.0 toilet_cubicle_dr2 FALSE
 
LOAD_CUTSCENE r5_pb
 
SWITCH_STREAMING ON
 
SET_CUTSCENE_OFFSET 39.424 -726.677 21.692
 
CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
SET_CUTSCENE_ANIM cs_player player
 
CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_ray
SET_CUTSCENE_ANIM cs_ray ray
 
CREATE_CUTSCENE_HEAD cs_player CUT_OBJ1 cs_playerhead
SET_CUTSCENE_HEAD_ANIM cs_playerhead player
 
CREATE_CUTSCENE_HEAD cs_ray CUT_OBJ2 cs_rayhead
SET_CUTSCENE_HEAD_ANIM cs_rayhead ray
 
//CREATE_CUTSCENE_OBJECT cut_obj3 cs_ludoor
//SET_CUTSCENE_ANIM cs_ludoor LUDOOR
 
//SET_PLAYER_COORDINATES player 38.7 -725.7 22.0
 
//SET_PLAYER_HEADING player 270.0
 
CLEAR_AREA 39.0 -723.5 22.0 1.0 TRUE
 
SET_PLAYER_COORDINATES player 39.0 -723.5 22.0
 
SET_PLAYER_HEADING player 90.0
 
DO_FADE 1500 FADE_IN
//SET_NEAR_CLIP 0.2
 
 
START_CUTSCENE
SWITCH_RUBBISH OFF
 
// Displays cutscene text
 
GET_CUTSCENE_TIME cs_time
 
WHILE cs_time < 919
 WAIT 0
 GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM5_A 2000 1 //"You useless bastard!"
 
 
WHILE cs_time < 3082
 WAIT 0
 GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM5_A1 4500 1 //"You messed up! My ass is on the line and you can't hurt a god damned fly."
 
WHILE cs_time < 7840
 WAIT 0
 GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM5_B 3000 1 //"I paid you good money to kill that witness and he ain't dead!"
 
WHILE cs_time < 10868
 WAIT 0
 GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM5_B1 2000 1 //"And today he's gonna make a Federal Deposition!"
 
WHILE cs_time < 13138
 WAIT 0
 GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM5_C 4000 1 //"He's being moved any second now from the Carson General Hospital up in Rockford.
 
WHILE cs_time < 17626
 WAIT 0
 GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM5_D 2500 1 //"so go do the job you were paid for!"
 
WHILE cs_time < 24333
 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
 
DO_FADE 0 FADE_OUT
 
SET_CAMERA_BEHIND_PLAYER
 
WAIT 500
 
DO_FADE 1500 FADE_IN 
//SET_NEAR_CLIP 0.9
 
//WHILE GET_FADING_STATUS
// WAIT 0
//ENDWHILE
 
//SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 47.322 -732.055 22.846 4.0 toilet_cubicle_dr2 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 toilet
 
//SET_PLAYER_CONTROL player ON
//SWITCH_WIDESCREEN OFF
SWITCH_STREAMING ON
SWITCH_RUBBISH ON
 
rays_cutscene_flag = 0
// ******************************************END OF CUTSCENE********************************
 
 
REQUEST_MODEL CAR_AMBULANCE
REQUEST_MODEL CAR_ENFORCER
REQUEST_MODEL PED_COP
REQUEST_MODEL PED_SWAT
WHILE NOT HAS_MODEL_LOADED  CAR_AMBULANCE
OR NOT HAS_MODEL_LOADED PED_COP
OR NOT HAS_MODEL_LOADED PED_SWAT
OR NOT HAS_MODEL_LOADED CAR_ENFORCER
	WAIT 0
ENDWHILE
 
 
// Mission stuff goes here
CREATE_CAR CAR_ENFORCER 417.8 -1064.0 26.4 swatvan1
SET_CAR_HEADING	swatvan1 50.0
CAR_SET_IDLE swatvan1
SWITCH_CAR_SIREN swatvan1 ON
 
CREATE_CAR CAR_ENFORCER 335.4 -1185.2 26.4 swatvan2
SET_CAR_HEADING	swatvan2 150.0
CAR_SET_IDLE swatvan2
SWITCH_CAR_SIREN swatvan2 ON
 
CREATE_CHAR PEDTYPE_CIVMALE PED_SWAT 414.6 -1060.3 26.2 swat1_rc5
SET_CHAR_HEADING swat1_rc5 0.0
CLEAR_CHAR_THREAT_SEARCH swat1_rc5
SET_CHAR_THREAT_SEARCH swat1_rc5 THREAT_PLAYER1
GIVE_WEAPON_TO_CHAR swat1_rc5 WEAPONTYPE_M16 100
SET_CURRENT_CHAR_WEAPON swat1_rc5 WEAPONTYPE_M16
SET_CHAR_STAY_IN_SAME_PLACE swat1_rc5 true
ADD_ARMOUR_TO_CHAR swat1_rc5 100
 
CREATE_CHAR PEDTYPE_CIVMALE PED_SWAT 365.0 -1146.7 23.0 swat2_rc5
SET_CHAR_HEADING swat2_rc5 270.0
CLEAR_CHAR_THREAT_SEARCH swat2_rc5
SET_CHAR_THREAT_SEARCH swat2_rc5 THREAT_PLAYER1
GIVE_WEAPON_TO_CHAR swat2_rc5 WEAPONTYPE_M16 100
SET_CURRENT_CHAR_WEAPON swat2_rc5 WEAPONTYPE_M16
SET_CHAR_STAY_IN_SAME_PLACE swat2_rc5 true
ADD_ARMOUR_TO_CHAR swat2_rc5 100
 
CREATE_CHAR PEDTYPE_CIVMALE PED_SWAT 331.5 -1184.1 26.2 swat3_rc5
SET_CHAR_HEADING swat3_rc5 100.0
CLEAR_CHAR_THREAT_SEARCH swat3_rc5
SET_CHAR_THREAT_SEARCH swat3_rc5 THREAT_PLAYER1
GIVE_WEAPON_TO_CHAR swat3_rc5 WEAPONTYPE_M16 100
SET_CURRENT_CHAR_WEAPON swat3_rc5 WEAPONTYPE_M16
SET_CHAR_STAY_IN_SAME_PLACE swat3_rc5 true
ADD_ARMOUR_TO_CHAR swat3_rc5 100
 
CREATE_CHAR PEDTYPE_CIVMALE PED_SWAT 336.0 -1122.0 26.0 swat4_rc5
SET_CHAR_HEADING swat4_rc5 230.0
CLEAR_CHAR_THREAT_SEARCH swat4_rc5
SET_CHAR_THREAT_SEARCH swat4_rc5 THREAT_PLAYER1
GIVE_WEAPON_TO_CHAR swat4_rc5 WEAPONTYPE_M16 100
SET_CURRENT_CHAR_WEAPON swat4_rc5 WEAPONTYPE_M16
SET_CHAR_STAY_IN_SAME_PLACE swat4_rc5 true
ADD_ARMOUR_TO_CHAR swat4_rc5 100
 
LOAD_MISSION_AUDIO R5_A
 
amb_generator:
 
ambulance_health = 0
DISPLAY_ONSCREEN_COUNTER_WITH_STRING ambulance_health COUNTER_DISPLAY_BAR DAM
 
CREATE_CAR CAR_AMBULANCE 387.3 4.5 11.4 ambulance_rc5
ADD_BLIP_FOR_CAR ambulance_rc5 blip_ambulance_rc5
CREATE_CHAR_INSIDE_CAR ambulance_rc5 PEDTYPE_COP PED_COP cop_driver
LOCK_CAR_DOORS ambulance_rc5 CARLOCK_LOCKED
SET_CAR_HEADING ambulance_rc5 166.0
SET_CAR_CRUISE_SPEED ambulance_rc5 20.0
SET_CAR_DRIVING_STYLE ambulance_rc5 0
SET_CAR_ONLY_DAMAGED_BY_PLAYER ambulance_rc5 true
//SWITCH_CAR_SIREN ambulance_rc5 ON
GET_CAR_HEALTH ambulance_rc5 ambulance_health
GENERATE_RANDOM_INT random_ray5
 
IF random_ray5 < 21846
	CAR_GOTO_COORDINATES ambulance_rc5 -148.93 18.04 26.5
ENDIF
 
IF random_ray5 > 21845
AND random_ray5 < 43691
	CAR_GOTO_COORDINATES ambulance_rc5 402.88 -404.88 26.5
	flag_random_ray5 = 1
ENDIF
 
IF random_ray5 > 43690
	CAR_GOTO_COORDINATES ambulance_rc5 -13.2 -804.7 26.5
	flag_random_ray5 = 2
ENDIF
 
 
//-----ambulance travels to one of three way points
 
 
WHILE flag_redalert = 0
	WAIT 0
	IF NOT IS_CAR_DEAD ambulance_rc5
		GET_CAR_COORDINATES ambulance_rc5 amb_rc5_x amb_rc5_y amb_rc5_z
		GET_CAR_HEALTH ambulance_rc5 ambulance_health
		ambulance_health = ambulance_health * -1
		ambulance_health = ambulance_health + 1000
		//ambulance_health = ambulance_health / 10
		//ambulance_health = ambulance_health * 5
 
		IF flag_random_ray5 = 0
			IF LOCATE_CAR_2D ambulance_rc5 -148.93 18.04 15.0 15.0 false
				CAR_GOTO_COORDINATES ambulance_rc5 405.2 -1137.7 26.0 //---amb goto penultimate waypoint
				flag_random_ray5 = 3
			ENDIF
		ENDIF
 
		IF flag_random_ray5 = 1
			IF LOCATE_CAR_2D ambulance_rc5 402.88 -404.88 15.0 15.0 false
				CAR_GOTO_COORDINATES ambulance_rc5 405.2 -1137.7 26.0 //---amb goto penultimate waypoint
				flag_random_ray5 = 3
			ENDIF
		ENDIF
 
		IF flag_random_ray5 = 2
			IF LOCATE_CAR_2D ambulance_rc5 -13.2 -804.7 15.0 15.0 false
				CAR_GOTO_COORDINATES ambulance_rc5 405.2 -1137.7 26.0 //---amb goto penultimate waypoint
				flag_random_ray5 = 3
			ENDIF
		ENDIF
 
		IF flag_random_ray5 = 3
			IF LOCATE_CAR_2D ambulance_rc5 405.2 -1137.7 15.0 15.0 false
				flag_redalert = 1
				CAR_GOTO_COORDINATES ambulance_rc5 362.0 -1138.0 23.0 //----amb goto final destination
				SET_CAR_CRUISE_SPEED ambulance_rc5 15.0
				SET_CAR_DRIVING_STYLE ambulance_rc5 0
			ENDIF
		ENDIF
 
		IF IS_CAR_ON_SCREEN ambulance_rc5
			SET_CAR_ONLY_DAMAGED_BY_PLAYER ambulance_rc5 false
		ELSE
			SET_CAR_ONLY_DAMAGED_BY_PLAYER ambulance_rc5 true
		ENDIF
 
	ELSE
		PRINT_NOW (RM5_3) 2500 1 //---ambulance was decoy!!
		MARK_CAR_AS_NO_LONGER_NEEDED ambulance_rc5
		MARK_CHAR_AS_NO_LONGER_NEEDED cop_driver
		REMOVE_BLIP blip_ambulance_rc5
		CLEAR_ONSCREEN_COUNTER ambulance_health
		flag_random_ray5 = 0
		flag_police_trigger = 0
		GOTO amb_generator
	ENDIF
 
	IF LOCATE_PLAYER_ANY_MEANS_2D player amb_rc5_x amb_rc5_y 25.0 25.0 false //---player taken the bait ---police close in
		IF NOT IS_CAR_DEAD ambulance_rc5
			PRINT_NOW (RM5_2) 3000 1
			SET_CAR_CRUISE_SPEED ambulance_rc5 28.0
			SET_CAR_DRIVING_STYLE ambulance_rc5 3
			CAR_GOTO_COORDINATES ambulance_rc5 405.2 -1137.7 26.0
			PLAY_MISSION_AUDIO
			SWITCH_CAR_SIREN ambulance_rc5 ON
			ALTER_WANTED_LEVEL_NO_DROP player 2 
			flag_redalert = 1
			flag_police_trigger = 1
		ENDIF
	ENDIF
 
	GOSUB swat_team
 
ENDWHILE
 
//------either; player has 'been spotted'-police despatched
//------OR; ambulance has reached penultimate way point
 
WHILE flag_redalert = 1
	WAIT 0
 
	IF NOT IS_CAR_DEAD ambulance_rc5
		GET_CAR_HEALTH ambulance_rc5 ambulance_health
		ambulance_health = ambulance_health * -1
		ambulance_health = ambulance_health + 1000
		//ambulance_health = ambulance_health / 10
		//ambulance_health = ambulance_health * 5
 
		IF NOT IS_CAR_HEALTH_GREATER ambulance_rc5 900 //---ambulance damaged enough to force bailout
		//OR IS_CAR_STUCK_ON_ROOF ambulance_rc5
			GOTO injured_cop_bailout
		ENDIF
 
		IF LOCATE_CAR_2D ambulance_rc5 405.2 -1137.7 15.0 15.0 false
			SET_CAR_CRUISE_SPEED ambulance_rc5 10.0
			flag_redalert = 2
			CAR_GOTO_COORDINATES ambulance_rc5 362.0 -1138.0 23.0 //----amb goto final destination
			SET_CAR_CRUISE_SPEED ambulance_rc5 15.0
			SET_CAR_DRIVING_STYLE ambulance_rc5 0
		ENDIF
 
		IF IS_CAR_ON_SCREEN ambulance_rc5
			SET_CAR_ONLY_DAMAGED_BY_PLAYER ambulance_rc5 false
		ELSE
			SET_CAR_ONLY_DAMAGED_BY_PLAYER ambulance_rc5 true
		ENDIF
 
	ELSE
		PRINT_NOW (RM5_3) 2500 1 //---ambulance was decoy!!
		MARK_CAR_AS_NO_LONGER_NEEDED ambulance_rc5
		MARK_CHAR_AS_NO_LONGER_NEEDED cop_driver
		REMOVE_BLIP blip_ambulance_rc5
		CLEAR_ONSCREEN_COUNTER ambulance_health
		flag_random_ray5 = 0
		flag_police_trigger = 0
		GOTO amb_generator
	ENDIF
 
	IF LOCATE_PLAYER_ANY_MEANS_2D player amb_rc5_x amb_rc5_y 25.0 25.0 false //---player taken the bait ---police close in
	AND flag_police_trigger = 0
		IF NOT IS_CAR_DEAD ambulance_rc5
			PRINT_NOW (RM5_2) 3000 1
			SET_CAR_CRUISE_SPEED ambulance_rc5 28.0
			SET_CAR_DRIVING_STYLE ambulance_rc5 3
			CAR_GOTO_COORDINATES ambulance_rc5 405.2 -1137.7 26.0
			PLAY_MISSION_AUDIO
			SWITCH_CAR_SIREN ambulance_rc5 ON
			ALTER_WANTED_LEVEL_NO_DROP player 2 
			flag_redalert = 1
			flag_police_trigger = 1
		ENDIF
	ENDIF
 
	GOSUB swat_team
 
ENDWHILE
 
 
//----ambulance has reached penultimate waypoint
 
WHILE flag_redalert = 2
	WAIT 0
	IF NOT IS_CAR_DEAD ambulance_rc5
		GET_CAR_HEALTH ambulance_rc5 ambulance_health
		ambulance_health = ambulance_health * -1
		ambulance_health = ambulance_health + 1000
		//ambulance_health = ambulance_health / 10
		//ambulance_health = ambulance_health * 5
 
		IF LOCATE_CAR_2D ambulance_rc5 362.0 -1138.0 5.0 5.0 true 
			flag_redalert = 3
			SET_CAR_CRUISE_SPEED ambulance_rc5 0.0
			SET_CAR_DRIVING_STYLE ambulance_rc5 0
			SWITCH_CAR_SIREN ambulance_rc5 OFF
			CAR_SET_IDLE ambulance_rc5 //---ambulance has reached destination without bailout -mission failed
		ENDIF
 
		IF NOT IS_CAR_HEALTH_GREATER ambulance_rc5 900
		//OR IS_CAR_STUCK_ON_ROOF ambulance_rc5
			GOTO injured_cop_bailout
		ENDIF
 
		IF IS_CAR_ON_SCREEN ambulance_rc5
			SET_CAR_ONLY_DAMAGED_BY_PLAYER ambulance_rc5 false
		ELSE
			SET_CAR_ONLY_DAMAGED_BY_PLAYER ambulance_rc5 true
		ENDIF
 
	ELSE
		PRINT_NOW (RM5_3) 2500 1 //---ambulance was decoy!!
		MARK_CAR_AS_NO_LONGER_NEEDED ambulance_rc5
		MARK_CHAR_AS_NO_LONGER_NEEDED cop_driver
		REMOVE_BLIP blip_ambulance_rc5
		CLEAR_ONSCREEN_COUNTER ambulance_health
		flag_random_ray5 = 0
		flag_redalert = 0
		GOTO amb_generator
	ENDIF
 
	IF LOCATE_PLAYER_ANY_MEANS_2D player amb_rc5_x amb_rc5_y 25.0 25.0 false //---player taken the bait ---police close in
	AND flag_police_trigger = 0
		PRINT_NOW (RM5_2) 3000 1
		ALTER_WANTED_LEVEL_NO_DROP player 2 
		flag_police_trigger = 1
	ENDIF
 
	GOSUB swat_team
 
ENDWHILE
 
 
GOTO mission_ray5_failed
 
 
injured_cop_bailout:
REMOVE_BLIP blip_ambulance_rc5
GET_CAR_COORDINATES ambulance_rc5 amb_rc5_x amb_rc5_y amb_rc5_z
amb_rc5_z = amb_rc5_z + 2.5
CREATE_OBJECT bodycast amb_rc5_x amb_rc5_y amb_rc5_z injured_cop_rc5
SET_OBJECT_COLLISION injured_cop_rc5 TRUE
SET_OBJECT_DYNAMIC injured_cop_rc5 true
MAKE_OBJECT_TARGETTABLE injured_cop_rc5
ADD_TO_OBJECT_VELOCITY injured_cop_rc5 0.0 0.0 5.0
ADD_BLIP_FOR_OBJECT injured_cop_rc5 blip_injured_cop_rc5
ALTER_WANTED_LEVEL_NO_DROP player 3
CLEAR_ONSCREEN_COUNTER ambulance_health
 
 
/*
WHILE flag_bodycast_clear = 0
	WAIT 0
	GET_OBJECT_COORDINATES injured_cop_rc5 ic_x ic_y ic_z
	IF NOT IS_CAR_DEAD ambulance_rc5
		IF NOT LOCATE_CAR_3D  ambulance_rc5 ic_x ic_y ic_z 5.0 5.0 5.0 false
			SET_OBJECT_COLLISION injured_cop_rc5 TRUE
			flag_bodycast_clear = 1
		ENDIF
	ELSE
		SET_OBJECT_COLLISION injured_cop_rc5 TRUE
		flag_bodycast_clear = 1		
	ENDIF
ENDWHILE
*/
DISPLAY_ONSCREEN_COUNTER_WITH_STRING bodycast_health COUNTER_DISPLAY_BAR DAM
 
PRINT_NOW (RM5_6) 3000 1
 
 
WHILE NOT HAS_OBJECT_BEEN_DAMAGED injured_cop_rc5
 
	WAIT 0
 
	GET_OBJECT_COORDINATES injured_cop_rc5 ic_x ic_y ic_z
	SET_MISSION_AUDIO_POSITION ic_x ic_y ic_z
	GET_BODY_CAST_HEALTH bodycast_health
	bodycast_health = bodycast_health * -1
	bodycast_health = bodycast_health + 1000
	bodycast_health = bodycast_health / 10
 
 
	IF flag_audio = 0
		PLAY_MISSION_AUDIO
	ENDIF
 
	IF HAS_MISSION_AUDIO_FINISHED
		flag_audio = 1
	ENDIF
 
	//zed_value =# ic_z
	//PRINT_WITH_NUMBER_NOW ( Z ) zed_value 1000 1
 
	IF IS_CURRENT_PLAYER_WEAPON player WEAPONTYPE_PISTOL
	AND NOT IS_PLAYER_IN_ANY_CAR player
		PRINT (RM5_4) 500 1//bullets won't get through that armoured plaster!!
	ENDIF
	IF IS_CURRENT_PLAYER_WEAPON player WEAPONTYPE_UZI
	AND NOT IS_PLAYER_IN_ANY_CAR player
		PRINT (RM5_4) 500 1
	ENDIF
	IF IS_CURRENT_PLAYER_WEAPON player WEAPONTYPE_SHOTGUN
	AND NOT IS_PLAYER_IN_ANY_CAR player
		PRINT (RM5_4) 500 1
	ENDIF
	IF IS_CURRENT_PLAYER_WEAPON player WEAPONTYPE_M16
	AND NOT IS_PLAYER_IN_ANY_CAR player
		PRINT (RM5_4) 500 1
	ENDIF
	IF IS_CURRENT_PLAYER_WEAPON player WEAPONTYPE_CHAINGUN
	AND NOT IS_PLAYER_IN_ANY_CAR player
		PRINT (RM5_4) 500 1
	ENDIF
	IF IS_CURRENT_PLAYER_WEAPON player WEAPONTYPE_FLAMETHROWER
	AND NOT IS_PLAYER_IN_ANY_CAR player
		PRINT (RM5_5) 500 1//That Plaster's flame retardent!!
	ENDIF
	IF IS_CURRENT_PLAYER_WEAPON player WEAPONTYPE_MOLOTOV
	AND NOT IS_PLAYER_IN_ANY_CAR player
		PRINT (RM5_5) 500 1
	ENDIF
	IF ic_z < 1.0
		PRINT_NOW (RM5_8) 3000 1//witness has drowned!!
		GOTO quentin
	ENDIF 
 
	GOSUB swat_team
 
ENDWHILE
 
quentin:
 
REMOVE_BLIP blip_injured_cop_rc5
 
GOTO mission_ray5_passed
 
 
 
 
// Mission Ray5 failed
 
mission_ray5_failed:
 
PRINT_NOW RM5_7 3000 1 //Witness has been delivered!!
 
PRINT_BIG ( M_FAIL ) 2000 1
 
RETURN
 
 
 
// mission Ray5 passed
 
mission_ray5_passed:
 
flag_ray_mission5_passed = 1
PRINT_WITH_NUMBER_BIG ( M_PASS ) 10000 5000 1 //"Mission Passed!"
PLAY_MISSION_PASSED_TUNE 1 
CLEAR_WANTED_LEVEL player
ADD_SCORE player 10000
REGISTER_MISSION_PASSED RM5
PLAYER_MADE_PROGRESS 1 
 
IF NOT flag_love_mission3_passed = 1
    REMOVE_BLIP ray_contact_blip
ELSE
	START_NEW_SCRIPT ray_mission6_loop
ENDIF
 
RETURN
 
 
 
// mission cleanup
 
mission_cleanup_ray5:
CLEAR_ONSCREEN_COUNTER ambulance_health
CLEAR_ONSCREEN_COUNTER bodycast_health
 
flag_player_on_mission = 0
flag_player_on_ray_mission = 0
 
MARK_OBJECT_AS_NO_LONGER_NEEDED injured_cop_rc5
 
MARK_CHAR_AS_NO_LONGER_NEEDED swat1_rc5
MARK_CHAR_AS_NO_LONGER_NEEDED swat2_rc5
MARK_CHAR_AS_NO_LONGER_NEEDED swat3_rc5
MARK_CHAR_AS_NO_LONGER_NEEDED swat4_rc5
MARK_CHAR_AS_NO_LONGER_NEEDED cop_driver
 
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_AMBULANCE
MARK_MODEL_AS_NO_LONGER_NEEDED PED_SWAT
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_ENFORCER
REMOVE_BLIP blip_ambulance_rc5
 
MISSION_HAS_FINISHED
RETURN
 
 
//------GOSUBS------------------------------
 
swat_team:
 
	IF IS_PLAYER_IN_AREA_3D player 366.0 -1146.0 21.0 396.0 -1134.0 28.0 false
		IF NOT IS_CHAR_DEAD swat1_rc5
			SET_CHAR_OBJ_KILL_PLAYER_ANY_MEANS swat1_rc5 player
		ENDIF
		IF NOT IS_CHAR_DEAD swat2_rc5
			SET_CHAR_OBJ_KILL_PLAYER_ANY_MEANS swat2_rc5 player
		ENDIF
	ENDIF
	IF IS_PLAYER_IN_AREA_3D player 318.0 -1170.0 22.0 366.0 -1120.0 25.0 false
		IF NOT IS_CHAR_DEAD swat1_rc5
			SET_CHAR_OBJ_KILL_PLAYER_ANY_MEANS swat1_rc5 player
		ENDIF
		IF NOT IS_CHAR_DEAD swat2_rc5
			SET_CHAR_OBJ_KILL_PLAYER_ANY_MEANS swat2_rc5 player
		ENDIF
		IF NOT IS_CHAR_DEAD swat3_rc5
			SET_CHAR_OBJ_KILL_PLAYER_ANY_MEANS swat3_rc5 player
		ENDIF
		IF NOT IS_CHAR_DEAD swat4_rc5
			SET_CHAR_OBJ_KILL_PLAYER_ANY_MEANS swat4_rc5 player
		ENDIF
	ENDIF
 
RETURN

ray6

MISSION_START
// *****************************************************************************************
// ************************************   Ray 6    ***************************************** 
// ************************************ Marked Man *****************************************
// *****************************************************************************************
// *** The CIA is making money from Cartel deals and is concerned that the Yakuza are 	 ***
// *** hindering the operation. They've discovered that Ray is helping them and they've  ***
// *** decided to 'rub him out'. Ray is running scared and needs a ride to the airport.  ***
// *** His contact point is empty, but the player will get a pager message. The player is*** 
// *** followed by the C.I.A Ray is dressed in a Hawaiian shirt and has two cases packed.*** 
// *** He's booked on a flight (timed mission). The CIA give chase.						 ***
// *****************************************************************************************
 
// Mission start stuff
 
GOSUB mission_start_ray6
 
IF HAS_DEATHARREST_BEEN_EXECUTED 
	GOSUB mission_ray6_failed
ENDIF
 
GOSUB mission_cleanup_ray6
 
MISSION_END
 
// Variables for mission
 
VAR_INT	time_till_flight flag_blip_on_ray rays_blip	total_cia player_death_car airport_door_flag door1_closed door2_closed
VAR_INT cia_1 cia_1_flag
VAR_INT cia_2 cia_2_flag
VAR_INT cia_3 cia_3_flag
VAR_INT cia_4 cia_4_flag
VAR_INT cia_5 cia_5_flag
VAR_INT cia_6 cia_6_flag
VAR_INT cia_7 cia_7_flag
VAR_INT cia_8 cia_8_flag
VAR_INT cia_9 cia_9_flag
VAR_INT cia_10 cia_10_flag
VAR_INT cia_11 cia_11_flag
VAR_INT cia_12 cia_12_flag
VAR_INT cia_13 cia_13_flag
VAR_INT cia_14 cia_14_flag
VAR_INT cia_15 cia_15_flag
VAR_INT cia_16 cia_16_flag
VAR_INT cia_17 cia_17_flag
VAR_INT	rays_prize_car rays_prize_weapon1 rays_prize_weapon2 rays_prize_weapon3 rays_prize_weapon4 rays_cash pickups_created_rm6
 
 
// ****************************************Mission Start************************************
 
mission_start_ray6:
 
flag_player_on_mission 	   = 1
flag_player_on_ray_mission = 1
rays_cutscene_flag = 1
 
REGISTER_MISSION_GIVEN
 
WAIT 0
 
SCRIPT_NAME ray6
 
time_till_flight = 180000
flag_blip_on_ray = 0
airport_door_flag = 0
door1_closed = 0
door2_closed = 0
total_cia = 0
pickups_created_rm6 = 0
cia_1_flag  = 0
cia_2_flag  = 0
cia_3_flag  = 0
cia_4_flag  = 0
cia_5_flag  = 0
cia_6_flag  = 0
cia_7_flag  = 0
cia_8_flag  = 0
cia_9_flag  = 0
cia_10_flag = 0
cia_11_flag = 0
cia_12_flag = 0
cia_13_flag = 0
cia_14_flag = 0
cia_15_flag = 0
cia_16_flag = 0
cia_17_flag = 0
 
// ****************************************START OF CUTSCENE********************************
 
//SET_FADING_COLOUR 0 0 0
//
//DO_FADE 1500 FADE_OUT
//
//IF CAN_PLAYER_START_MISSION player
//	MAKE_PLAYER_SAFE_FOR_CUTSCENE player
//ELSE
//	GOTO mission_ray6_failed
//ENDIF
//
//PRINT_BIG RM6 15000 2 //"Marked Man"
 
LOAD_SPECIAL_CHARACTER 1 ray
LOAD_SPECIAL_MODEL cut_obj1 PLAYERH
LOAD_SPECIAL_MODEL cut_obj2 RAYH
REQUEST_MODEL toilet
 
//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 toilet
	WAIT 0
ENDWHILE
 
CLEAR_AREA 39.0 -723.5 22.0 1.0 TRUE
 
SET_PLAYER_COORDINATES player 39.0 -723.5 22.0
 
SET_PLAYER_HEADING player 90.0
 
LOAD_CUTSCENE r6_mm
 
SET_CUTSCENE_OFFSET 39.424 -726.677 21.692
 
CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
 
SET_CUTSCENE_ANIM cs_player player
 
CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_ray
 
SET_CUTSCENE_ANIM cs_ray ray
 
CREATE_CUTSCENE_HEAD cs_player CUT_OBJ1 cs_playerhead
SET_CUTSCENE_HEAD_ANIM cs_playerhead player
 
CREATE_CUTSCENE_HEAD cs_ray CUT_OBJ2 cs_rayhead
SET_CUTSCENE_HEAD_ANIM cs_rayhead ray
 
//SET_PLAYER_COORDINATES player 38.7 -725.7 22.0
//
//SET_PLAYER_HEADING player 270.0
 
DO_FADE 1500 FADE_IN
 
SET_NEAR_CLIP 0.2
 
START_CUTSCENE
 
SWITCH_STREAMING OFF
SWITCH_RUBBISH OFF
// Displays cutscene text
 
GET_CUTSCENE_TIME cs_time
 
WHILE cs_time < 1807
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM6_A 4000 1 //"You weren't followed? Good."
 
WHILE cs_time < 4920
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM6_B 4000 1 //"This is it, I'm in way over my fucking head and I'm starting to fucking drown here!"
 
WHILE cs_time < 8597
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM6_C 4000 1 //"The CIA seem to have a vested interest in SPANK"
 
WHILE cs_time < 11482
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM6_C1 4000 1 //"and they don't like us fucking with the Cartel!"
 
WHILE cs_time < 14220
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM6_D	4000 1 //"I'm a marked man, so I'm getting out of here."
 
WHILE cs_time < 17464
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW RM6_E	4000 1 //"Get me to my flight at the airport and I'll make it worth your while!!"
 
WHILE cs_time < 21666
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
DO_FADE 1500 FADE_OUT
 
WHILE NOT HAS_CUTSCENE_FINISHED
	WAIT 0
ENDWHILE
 
SWITCH_RUBBISH ON
 
CLEAR_PRINTS
 
WHILE GET_FADING_STATUS
	WAIT 0
ENDWHILE
 
CLEAR_CUTSCENE
 
DO_FADE 0 FADE_OUT
SET_NEAR_CLIP 0.9
 
SET_CAMERA_BEHIND_PLAYER
 
MARK_MODEL_AS_NO_LONGER_NEEDED cut_obj1
MARK_MODEL_AS_NO_LONGER_NEEDED cut_obj2
MARK_MODEL_AS_NO_LONGER_NEEDED toilet
REQUEST_MODEL PED_B_MAN3
 
LOAD_ALL_MODELS_NOW
 
WHILE NOT HAS_MODEL_LOADED PED_B_MAN3
	WAIT 0
ENDWHILE
 
CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL1 38.7 -727.7 22.0 ray
ADD_ARMOUR_TO_CHAR ray 100
 
SET_PLAYER_AS_LEADER ray player
 
SWITCH_STREAMING ON
DO_FADE 1500 FADE_IN 
rays_cutscene_flag = 0
 
// ******************************************END OF CUTSCENE********************************
 
DISPLAY_ONSCREEN_TIMER time_till_flight
 
ADD_BLIP_FOR_COORD -739.0 -583.0 -100.0 rays_blip
 
IF IS_CHAR_DEAD ray
	PRINT_NOW RM6_6 5000 1//"~r~Ray is dead!"
	GOTO mission_ray6_failed
ENDIF
 
SET_CHAR_RUNNING ray TRUE 
 
PRINT_NOW RM6_5 15000 1 //"The CIA have the bridge under surveillance, find another route across."
 
WHILE NOT LOCATE_STOPPED_CHAR_ANY_MEANS_2D ray -738.3010 -582.8834 8.0 8.0 1
 
	WAIT 0
 
	IF IS_CHAR_DEAD	ray
		PRINT_NOW RM6_6 5000 1//"~r~Ray is dead!"
		GOTO mission_ray6_failed
	ENDIF
 
	IF time_till_flight < 1
		PRINT_NOW RM6_7 5000 1//"~r~Ray has missed his flight."
		GOTO mission_ray6_failed
	ENDIF
 
	////////	
 
	IF total_cia < 16
		IF cia_1_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -25.8545 -612.5001 100.0 100.0 0 // Commercial End of lift bridge
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -25.8545 -612.5001 42.1683 cia_1
				SET_CHAR_HEADING cia_1 239.6049
				GIVE_WEAPON_TO_CHAR cia_1 WEAPONTYPE_M16 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_1 TRUE
				CHAR_SET_IDLE cia_1
				SET_CHAR_PERSONALITY cia_1 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_1 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_1 TRUE
				ADD_ARMOUR_TO_CHAR cia_1 100
				++ total_cia
				cia_1_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_1_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -25.8545 -612.5001 100.0 100.0 0
			DELETE_CHAR cia_1
			-- total_cia
			cia_1_flag = 0
		ENDIF
	ENDIF
 
	IF cia_1_flag = 1
		IF IS_CHAR_DEAD cia_1
			cia_1_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_1 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_1 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_1 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_1	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_2_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -24.0225 -630.3363 100.0 100.0 0 // Commercial End of lift bridge
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -24.0225 -630.3363 42.1125 cia_2
				SET_CHAR_HEADING cia_2 293.6046
				GIVE_WEAPON_TO_CHAR cia_2 WEAPONTYPE_M16 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_2 TRUE
				CHAR_SET_IDLE cia_2
				SET_CHAR_PERSONALITY cia_2 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_2 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_2 TRUE
				ADD_ARMOUR_TO_CHAR cia_2 100
				++ total_cia
				cia_2_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_2_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -24.0225 -630.3363 100.0 100.0 0
			DELETE_CHAR cia_2
			-- total_cia
			cia_2_flag = 0
		ENDIF
	ENDIF
 
	IF cia_2_flag = 1
		IF IS_CHAR_DEAD cia_2
			cia_2_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_2 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_2 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_2 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_2	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_3_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -35.1159 -632.8395 100.0 100.0 0 // Commercial End of lift bridge
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -35.1159 -632.8395 42.4257 cia_3
				SET_CHAR_HEADING cia_3 255.4109
				GIVE_WEAPON_TO_CHAR cia_3 WEAPONTYPE_M16 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_3 TRUE
				CHAR_SET_IDLE cia_3
				SET_CHAR_PERSONALITY cia_3 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_3 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_3 TRUE
				ADD_ARMOUR_TO_CHAR cia_3 100
				++ total_cia
				cia_3_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_3_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -35.1159 -632.8395 100.0 100.0 0
			DELETE_CHAR cia_3
			-- total_cia
			cia_3_flag = 0
		ENDIF
	ENDIF
 
	IF cia_3_flag = 1
		IF IS_CHAR_DEAD cia_3
			cia_3_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_3 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_3 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_3 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_3	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_4_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -24.3022 -650.4634 100.0 100.0 0 // Commercial End of lift bridge
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -24.3022 -650.4634 46.5876 cia_4
				SET_CHAR_HEADING cia_4 344.2893
				GIVE_WEAPON_TO_CHAR cia_4 WEAPONTYPE_M16 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_4 TRUE
				CHAR_SET_IDLE cia_4
				SET_CHAR_PERSONALITY cia_4 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_4 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_4 TRUE
				ADD_ARMOUR_TO_CHAR cia_4 100
				++ total_cia
				cia_4_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_4_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -24.3022 -650.4634 100.0 100.0 0
			DELETE_CHAR cia_4
			-- total_cia
			cia_4_flag = 0
		ENDIF
	ENDIF
 
	IF cia_4_flag = 1
		IF IS_CHAR_DEAD cia_4
			cia_4_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_4 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_4 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_4 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_4	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_5_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -217.9545 -630.4070 100.0 100.0 0 // Commercial End of lift bridge, by lift bit
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -217.9545 -630.4070 45.9975 cia_5
				SET_CHAR_HEADING cia_5 344.2893
				GIVE_WEAPON_TO_CHAR cia_5 WEAPONTYPE_M16 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_5 TRUE
				CHAR_SET_IDLE cia_5
				SET_CHAR_PERSONALITY cia_5 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_5 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_5 TRUE
				ADD_ARMOUR_TO_CHAR cia_5 100
				++ total_cia
				cia_5_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_5_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -217.9545 -630.4070 100.0 100.0 0
			DELETE_CHAR cia_5
			-- total_cia
			cia_5_flag = 0
		ENDIF
	ENDIF
 
	IF cia_5_flag = 1
		IF IS_CHAR_DEAD cia_5
			cia_5_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_5 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_5 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_5 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_5	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_6_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -212.4922 -632.7455 100.0 100.0 0 // Commercial End of lift bridge, by lift bit
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -212.4922 -632.7455 45.9514 cia_6
				SET_CHAR_HEADING cia_6 247.0256
				GIVE_WEAPON_TO_CHAR cia_6 WEAPONTYPE_M16 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_6 TRUE
				CHAR_SET_IDLE cia_6
				SET_CHAR_PERSONALITY cia_6 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_6 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_6 TRUE
				ADD_ARMOUR_TO_CHAR cia_6 100
				++ total_cia
				cia_6_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_6_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -212.4922 -632.7455 100.0 100.0 0
			DELETE_CHAR cia_6
			-- total_cia
			cia_6_flag = 0
		ENDIF
	ENDIF
 
	IF cia_6_flag = 1
		IF IS_CHAR_DEAD cia_6
			cia_6_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_6 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_6 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_6 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_6	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_7_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -437.0927 -612.5157 100.0 100.0 0 // Suburban End of lift bridge, by lift bit
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -437.0927 -612.5157 44.5994 cia_7
				SET_CHAR_HEADING cia_7 247.0256
				GIVE_WEAPON_TO_CHAR cia_7 WEAPONTYPE_M16 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_7 TRUE
				CHAR_SET_IDLE cia_7
				SET_CHAR_PERSONALITY cia_7 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_7 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_7 TRUE
				ADD_ARMOUR_TO_CHAR cia_7 100
				++ total_cia
				cia_7_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_7_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -437.0927 -612.5157 100.0 100.0 0
			DELETE_CHAR cia_7
			-- total_cia
			cia_7_flag = 0
		ENDIF
	ENDIF
 
	IF cia_7_flag = 1
		IF IS_CHAR_DEAD cia_7
			cia_7_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_7 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_7 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_7 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_7	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_8_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -534.6777 -631.2995 100.0 100.0 0 // Suburban End of lift bridge
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -534.6777 -631.2995 42.2770 cia_8
				SET_CHAR_HEADING cia_8 247.0256
				GIVE_WEAPON_TO_CHAR cia_8 WEAPONTYPE_M16 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_8 TRUE
				CHAR_SET_IDLE cia_8
				SET_CHAR_PERSONALITY cia_8 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_8 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_8 TRUE
				ADD_ARMOUR_TO_CHAR cia_8 100
				++ total_cia
				cia_8_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_8_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -534.6777 -631.2995 100.0 100.0 0
			DELETE_CHAR cia_8
			-- total_cia
			cia_8_flag = 0
		ENDIF
	ENDIF
 
	IF cia_8_flag = 1
		IF IS_CHAR_DEAD cia_8
			cia_8_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_8 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_8 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_8 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_8	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_9_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -523.4218 -650.3831 100.0 100.0 0 // Suburban End of lift bridge
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -523.4218 -650.3831 42.5261 cia_9
				SET_CHAR_HEADING cia_9 316.7352
				GIVE_WEAPON_TO_CHAR cia_9 WEAPONTYPE_M16 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_9 TRUE
				CHAR_SET_IDLE cia_9
				SET_CHAR_PERSONALITY cia_9 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_9 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_9 TRUE
				ADD_ARMOUR_TO_CHAR cia_9 100
				++ total_cia
				cia_9_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_9_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -523.4218 -650.3831 100.0 100.0 0
			DELETE_CHAR cia_9
			-- total_cia
			cia_9_flag = 0
		ENDIF
	ENDIF
 
	IF cia_9_flag = 1
		IF IS_CHAR_DEAD cia_9
			cia_9_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_9 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_9 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_9 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_9	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_10_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -628.0785 -498.4106 100.0 100.0 0 // ontop of tunnel exit out
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -628.0785 -498.4106 22.3884 cia_10
				SET_CHAR_HEADING cia_10 76.5552
				GIVE_WEAPON_TO_CHAR cia_10 WEAPONTYPE_UZI 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_10 TRUE
				CHAR_SET_IDLE cia_10
				SET_CHAR_PERSONALITY cia_10 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_10 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_10 TRUE
				ADD_ARMOUR_TO_CHAR cia_10 100
				++ total_cia
				cia_10_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_10_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -628.0785 -498.4106 100.0 100.0 0
			DELETE_CHAR cia_10
			-- total_cia
			cia_10_flag = 0
		ENDIF
	ENDIF
 
	IF cia_10_flag = 1
		IF IS_CHAR_DEAD cia_10
			cia_10_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_10 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_10 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_10 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_10	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_11_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -637.6517 -501.7922 100.0 100.0 0 // ontop of tunnel exit out
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -637.6517 -501.7922 22.3455 cia_11
				SET_CHAR_HEADING cia_11 76.5552
				GIVE_WEAPON_TO_CHAR cia_11 WEAPONTYPE_UZI 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_11 TRUE
				CHAR_SET_IDLE cia_11
				SET_CHAR_PERSONALITY cia_11 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_11 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_11 TRUE
				ADD_ARMOUR_TO_CHAR cia_11 100
				++ total_cia
				cia_11_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_11_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -637.6517 -501.7922 100.0 100.0 0
			DELETE_CHAR cia_11
			-- total_cia
			cia_11_flag = 0
		ENDIF
	ENDIF
 
	IF cia_11_flag = 1
		IF IS_CHAR_DEAD cia_11
			cia_11_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_11 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_11 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_11 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_11	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_12_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -692.3098 -563.0333 100.0 100.0 0 // ontop of tunnel exit in
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -692.3098 -563.0333 21.5110 cia_12
				SET_CHAR_HEADING cia_12 344.2857
				GIVE_WEAPON_TO_CHAR cia_12 WEAPONTYPE_UZI 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_12 TRUE
				CHAR_SET_IDLE cia_12
				SET_CHAR_PERSONALITY cia_12 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_12 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_12 TRUE
				ADD_ARMOUR_TO_CHAR cia_12 100
				++ total_cia
				cia_12_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_12_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -692.3098 -563.0333 100.0 100.0 0
			DELETE_CHAR cia_12
			-- total_cia
			cia_12_flag = 0
		ENDIF
	ENDIF
 
	IF cia_12_flag = 1
		IF IS_CHAR_DEAD cia_12
			cia_12_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_12 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_12 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_12 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_12	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_13_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -671.1359 -540.5952 100.0 100.0 0 //Suburban End of lift bridge by tunnel exit in
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -671.1359 -540.5952 22.9211 cia_13
				SET_CHAR_HEADING cia_13 281.8996
				GIVE_WEAPON_TO_CHAR cia_13 WEAPONTYPE_UZI 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_13 TRUE
				CHAR_SET_IDLE cia_13
				SET_CHAR_PERSONALITY cia_13 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_13 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_13 TRUE
				ADD_ARMOUR_TO_CHAR cia_13 100
				++ total_cia
				cia_13_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_13_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -671.1359 -540.5952 100.0 100.0 0
			DELETE_CHAR cia_13
			-- total_cia
			cia_13_flag = 0
		ENDIF
	ENDIF
 
	IF cia_13_flag = 1
		IF IS_CHAR_DEAD cia_13
			cia_13_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_13 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_13 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_13 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_13	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_14_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -638.4215 -419.2620 100.0 100.0 0 //Opposite turning into the airport
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -638.4215 -419.2620 17.8198 cia_14
				SET_CHAR_HEADING cia_14 113.6173
				GIVE_WEAPON_TO_CHAR cia_14 WEAPONTYPE_UZI 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_14 TRUE
				CHAR_SET_IDLE cia_14
				SET_CHAR_PERSONALITY cia_14 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_14 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_14 TRUE
				ADD_ARMOUR_TO_CHAR cia_14 100
				++ total_cia
				cia_14_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_14_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -638.4215 -419.2620 100.0 100.0 0
			DELETE_CHAR cia_14
			-- total_cia
			cia_14_flag = 0
		ENDIF
	ENDIF
 
	IF cia_14_flag = 1
		IF IS_CHAR_DEAD cia_14
			cia_14_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_14 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_14 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_14 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_14	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_15_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -655.3353 -404.4556 100.0 100.0 0 //On concrete island	opposite turning into the airport
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -655.3353 -404.4556 17.8198 cia_15
				SET_CHAR_HEADING cia_15 191.1247
				GIVE_WEAPON_TO_CHAR cia_15 WEAPONTYPE_UZI 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_15 TRUE
				CHAR_SET_IDLE cia_15
				SET_CHAR_PERSONALITY cia_15 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_15 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_15 TRUE
				ADD_ARMOUR_TO_CHAR cia_15 100
				++ total_cia
				cia_15_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_15_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -655.3353 -404.4556 100.0 100.0 0
			DELETE_CHAR cia_15
			-- total_cia
			cia_15_flag = 0
		ENDIF
	ENDIF
 
	IF cia_15_flag = 1
		IF IS_CHAR_DEAD cia_15
			cia_15_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_15 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_15 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_15 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_15	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_16_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -677.0261 -425.0470 100.0 100.0 0 // up on grass by airport turning
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -677.0261 -425.0470 18.5140 cia_16
				SET_CHAR_HEADING cia_16 265.4145
				GIVE_WEAPON_TO_CHAR cia_16 WEAPONTYPE_UZI 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_16 TRUE
				CHAR_SET_IDLE cia_16
				SET_CHAR_PERSONALITY cia_16 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_16 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_16 TRUE
				ADD_ARMOUR_TO_CHAR cia_16 100
				++ total_cia
				cia_16_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_16_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -677.0261 -425.0470 100.0 100.0 0
			DELETE_CHAR cia_16
			-- total_cia
			cia_16_flag = 0
		ENDIF
	ENDIF
 
	IF cia_16_flag = 1
		IF IS_CHAR_DEAD cia_16
			cia_16_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_16 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_16 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_16 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_16	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF total_cia < 16
		IF cia_17_flag = 0
			IF LOCATE_PLAYER_ANY_MEANS_2D player -679.1292 -485.1575 100.0 100.0 0 //on wall by tunnel exit in
				CREATE_CHAR PEDTYPE_CIVMALE PED_B_MAN3 -679.1292 -485.1575 18.2578 cia_17
				SET_CHAR_HEADING cia_17 260.2034
				GIVE_WEAPON_TO_CHAR cia_17 WEAPONTYPE_UZI 9999
				SET_CHAR_ONLY_DAMAGED_BY_PLAYER	cia_17 TRUE
				CHAR_SET_IDLE cia_17
				SET_CHAR_PERSONALITY cia_17 PEDSTAT_TOUGH_GUY
				SET_CHAR_THREAT_SEARCH cia_17 THREAT_PLAYER1
				SET_CHAR_STAY_IN_SAME_PLACE cia_17 TRUE
				ADD_ARMOUR_TO_CHAR cia_17 100
				++ total_cia
				cia_17_flag = 1
			ENDIF
		ENDIF
	ENDIF
 
	IF cia_17_flag = 1
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player -679.1292 -485.1575 100.0 100.0 0
			DELETE_CHAR cia_17
			-- total_cia
			cia_17_flag = 0
		ENDIF
	ENDIF
 
	IF cia_17_flag = 1
		IF IS_CHAR_DEAD cia_17
			cia_17_flag = 2
		ELSE
			IF LOCATE_PLAYER_IN_CAR_CHAR_2D	player cia_17 40.0 40.0 0
				STORE_CAR_PLAYER_IS_IN player player_death_car
				SET_CHAR_OBJ_DESTROY_CAR cia_17 player_death_car
			ENDIF
			IF LOCATE_PLAYER_ON_FOOT_CHAR_2D player cia_17 40.0 40.0 0
				SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT cia_17	player
			ENDIF
		ENDIF
	ENDIF
 
	////////
 
	IF NOT IS_CHAR_IN_PLAYERS_GROUP ray player
	AND flag_blip_on_ray = 0
		PRINT_NOW RM6_8 5000 1 //"You have left Ray behind, go back and get him."
		REMOVE_BLIP rays_blip
		ADD_BLIP_FOR_CHAR ray rays_blip
		flag_blip_on_ray = 1
	ENDIF
 
	IF flag_blip_on_ray = 1
		IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ray 8.0 8.0 FALSE
			SET_PLAYER_AS_LEADER ray player
			REMOVE_BLIP rays_blip
			ADD_BLIP_FOR_COORD -739.0 -583.0 8.0 rays_blip
			flag_blip_on_ray = 0
		ENDIF
	ENDIF
 
ENDWHILE
 
REMOVE_BLIP	rays_blip
 
CLEAR_ONSCREEN_TIMER time_till_flight
 
SET_PLAYER_CONTROL player OFF
SET_EVERYONE_IGNORE_PLAYER player ON
//SET_ALL_CARS_CAN_BE_DAMAGED FALSE
SWITCH_WIDESCREEN ON
SET_FIXED_CAMERA_POSITION -732.0104 -571.0955 14.0482 0.0 0.0 0.0
POINT_CAMERA_AT_CHAR ray FIXED JUMP_CUT
 
IF NOT IS_CHAR_IN_ANY_CAR ray
OR NOT IS_PLAYER_IN_ANY_CAR player
	TURN_CHAR_TO_FACE_PLAYER ray player
	GET_PLAYER_CHAR player script_controlled_player
	TURN_CHAR_TO_FACE_CHAR script_controlled_player	ray
ENDIF
 
LOAD_MISSION_AUDIO R6_A
 
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
 
	IF IS_CHAR_DEAD	ray
		PRINT_NOW RM6_6 5000 1//"~r~Ray is dead!"
		GOTO mission_ray6_failed
	ENDIF
 
ENDWHILE
 
PLAY_MISSION_AUDIO
PRINT_NOW RM6_1 5000 1	//"Here's a key to a lock-up."
 
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
 
	IF IS_CHAR_DEAD	ray
		PRINT_NOW RM6_6 5000 1//"~r~Ray is dead!"
		GOTO mission_ray6_failed
	ENDIF
 
ENDWHILE
 
LOAD_MISSION_AUDIO R6_A1
 
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
 
	IF IS_CHAR_DEAD	ray
		PRINT_NOW RM6_6 5000 1//"~r~Ray is dead!"
		GOTO mission_ray6_failed
	ENDIF
 
ENDWHILE
 
PLAY_MISSION_AUDIO
PRINT_NOW RM6_2 5000 1	//"You'll find some cash and some 'supplies' I'd stashed in case things got tight."
 
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
 
	IF IS_CHAR_DEAD	ray
		PRINT_NOW RM6_6 5000 1//"~r~Ray is dead!"
		GOTO mission_ray6_failed
	ENDIF
 
ENDWHILE
 
LOAD_MISSION_AUDIO R6_B
 
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
 
	IF IS_CHAR_DEAD	ray
		PRINT_NOW RM6_6 5000 1//"~r~Ray is dead!"
		GOTO mission_ray6_failed
	ENDIF
 
ENDWHILE
 
PLAY_MISSION_AUDIO
PRINT_NOW RM6_3 5000 1	//"See y'around."
 
IF IS_CHAR_IN_ANY_CAR ray
	LEAVE_GROUP ray
	STORE_CAR_CHAR_IS_IN ray player_death_car
	SET_CHAR_OBJ_LEAVE_CAR ray player_death_car
ENDIF
 
WHILE NOT airport_door_flag = 6
OR NOT door1_closed = 0
OR NOT door2_closed = 0
 
	WAIT 0
 
	IF NOT airport_door_flag = 6
		IF IS_CHAR_DEAD	ray
			PRINT_NOW RM6_6 5000 1//"~r~Ray is dead!"
			GOTO mission_ray6_failed
		ENDIF
	ENDIF
 
	IF airport_door_flag = 0
		IF NOT IS_CHAR_IN_ANY_CAR ray
			LEAVE_GROUP ray
			SET_CHAR_OBJ_RUN_TO_COORD ray -744.7192 -586.4615
			SET_FIXED_CAMERA_POSITION -751.3805 -603.0235 11.4096 0.0 0.0 0.0
			POINT_CAMERA_AT_CHAR ray FIXED JUMP_CUT
			airport_door_flag = 1
		ENDIF
	ENDIF
 
	IF airport_door_flag = 1
		IF LOCATE_CHAR_ON_FOOT_2D ray -744.7192 -586.4615 1.5 1.5 0
			SET_CHAR_OBJ_RUN_TO_COORD ray -757.1901 -587.2930
			airport_door_flag = 2
		ENDIF
	ENDIF
 
	IF airport_door_flag = 2
		IF LOCATE_CHAR_ON_FOOT_2D ray -757.1901 -587.2930 1.5 1.5 0
			SET_CHAR_OBJ_RUN_TO_COORD ray -768.0753 -599.4160
			airport_door_flag = 3
		ENDIF
	ENDIF
 
	IF airport_door_flag = 3
		IF LOCATE_CHAR_ON_FOOT_2D ray -768.0753 -599.4160 1.5 1.5 0
			SET_CHAR_OBJ_RUN_TO_COORD ray -772.6748 -600.3857
			airport_door_flag = 4
		ENDIF
	ENDIF
 
	IF airport_door_flag > 3 //open doors here
	AND door1_closed = 0
		IF SLIDE_OBJECT airportdoor1 -770.414 -597.865 11.847 0.1 0.1 0.1 0
			door1_closed = 1
		ENDIF
	ENDIF
 
	IF airport_door_flag > 3 //open doors here
	AND door2_closed = 0
		IF SLIDE_OBJECT airportdoor2 -770.414 -602.885 11.847 0.1 0.1 0.1 0
			door2_closed = 1
		ENDIF
	ENDIF
 
	IF airport_door_flag = 4
		IF LOCATE_CHAR_ON_FOOT_2D ray -772.6748 -600.3857 1.5 1.5 0
			SET_CHAR_OBJ_RUN_TO_COORD ray -772.6249 -604.7247
			airport_door_flag = 5
		ENDIF
	ENDIF
 
	IF airport_door_flag > 4 //CLOSE doors here
	AND	door1_closed = 1
		IF NOT IS_PLAYER_IN_AREA_2D player -773.75 -605.205 -768.76 -595.613 0 
			IF SLIDE_OBJECT airportdoor1 -770.414 -599.292 11.847 0.1 0.1 0.1 0
				door1_closed = 0
			ENDIF
		ENDIF
	ENDIF
 
	IF airport_door_flag > 4 //CLOSE doors here
	AND	door2_closed = 1
		IF NOT IS_PLAYER_IN_AREA_2D player -773.75 -605.205 -768.76 -595.613 0 
			IF SLIDE_OBJECT airportdoor2 -770.414 -601.369 11.846 0.1 0.1 0.1 0
				door2_closed = 0
			ENDIF
		ENDIF
	ENDIF
 
	IF airport_door_flag = 5
		IF LOCATE_CHAR_ON_FOOT_2D ray -772.6249 -604.7247 1.5 1.5 0
			SET_PLAYER_CONTROL player ON
			SWITCH_WIDESCREEN OFF
			SET_CAMERA_BEHIND_PLAYER
			RESTORE_CAMERA_JUMPCUT
			DELETE_CHAR ray
			airport_door_flag = 6
		ENDIF
	ENDIF
 
ENDWHILE
 
PRINT_NOW RM6_4 5000 1 //GO TO THE LOCKUP TO GET YOUR REWARD
 
ADD_BLIP_FOR_COORD 241.1441 -997.7660 20.9853 rays_blip
 
REQUEST_MODEL CAR_PATRIOT
 
WHILE NOT LOCATE_PLAYER_ANY_MEANS_2D PLAYER 241.1441 -997.7660 50.0 50.0 0
	WAIT 0
ENDWHILE
 
WHILE NOT HAS_MODEL_LOADED CAR_PATRIOT
	WAIT 0
ENDWHILE
 
CREATE_CAR CAR_PATRIOT 241.1441 -997.7660 20.9853 rays_prize_car
//SET_CAR_COLOUR 256 256/WHITE
//SET_CAR_CANT_BE_RESPRAYED
//SET_CAR_DO_NOT_DELETE	maybe
SET_CAR_HEADING rays_prize_car 270.0
SET_CAR_PROOFS rays_prize_car TRUE FALSE FALSE FALSE FALSE
SET_CAR_STRONG rays_prize_car TRUE	
CREATE_PICKUP_WITH_AMMO WEAPON_M16 PICKUP_ONCE 1000 244.0506 -993.9206 21.0 rays_prize_weapon1
CREATE_PICKUP_WITH_AMMO WEAPON_FLAME PICKUP_ONCE 1000 237.3226 -998.5697 21.0 rays_prize_weapon2  
CREATE_PICKUP_WITH_AMMO WEAPON_ROCKET PICKUP_ONCE 25 243.8931 -995.5624 21.0 rays_prize_weapon3  
CREATE_PICKUP_WITH_AMMO WEAPON_SNIPER PICKUP_ONCE 50 241.2706 -993.6790 21.0 rays_prize_weapon4  
CREATE_MONEY_PICKUP 238.9743 -993.6944 21.0 20000 rays_cash
 
pickups_created_rm6 = 1 
 
WHILE NOT LOCATE_PLAYER_ANY_MEANS_2D PLAYER 230.2258 -996.4656 2.0 2.0 0
	WAIT 0
ENDWHILE
 
OPEN_GARAGE	rays_prize_garage
 
ADD_PAGER_MESSAGE RM6_666 140 666 1	//"Take care of my armoured Cheetah, I had it modified to be bullet proof. See you in Miami, Ray"
 
WAIT 13000
 
GOTO mission_ray6_passed
 
 
// Mission Ray 6 failed
 
mission_ray6_failed:
 
IF pickups_created_rm6 = 1
	REMOVE_PICKUP rays_prize_weapon1
	REMOVE_PICKUP rays_prize_weapon2
	REMOVE_PICKUP rays_prize_weapon3
	REMOVE_PICKUP rays_prize_weapon4
	REMOVE_PICKUP rays_cash
	DELETE_CAR rays_prize_car
	pickups_created_rm6 = 0
ENDIF
REMOVE_CHAR_ELEGANTLY ray
PRINT_BIG M_FAIL 5000 1
RETURN
 
 
// mission Ray 6 passed
 
mission_ray6_passed:
 
flag_ray_mission6_passed = 1
PRINT_WITH_NUMBER_BIG M_PASS 20000 2000 1
ADD_SCORE player 20000
CLEAR_WANTED_LEVEL player
REGISTER_MISSION_PASSED	RM6
PLAY_MISSION_PASSED_TUNE 1
PLAYER_MADE_PROGRESS 1
REMOVE_BLIP ray_contact_blip
RETURN
 
 
 
// mission cleanup
 
mission_cleanup_ray6:
 
flag_player_on_mission = 0
flag_player_on_ray_mission = 0
 
IF DOES_OBJECT_EXIST airportdoor1
	SET_OBJECT_COORDINATES airportdoor1 -770.414 -599.292 11.847
ENDIF
 
IF DOES_OBJECT_EXIST airportdoor2
	SET_OBJECT_COORDINATES airportdoor2 -770.414 -601.369 11.846
ENDIF
 
IF IS_PLAYER_IN_AREA_2D player -773.75 -605.205 -768.76 -595.613 0
	SET_PLAYER_COORDINATES player -767.8299 -600.3843 11.0
	SET_PLAYER_HEADING player 270.0
ENDIF
 
CLEAR_ONSCREEN_TIMER time_till_flight
REMOVE_BLIP	rays_blip
 
UNLOAD_SPECIAL_CHARACTER 1
MARK_MODEL_AS_NO_LONGER_NEEDED PED_B_MAN3
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_CHEETAH
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_PATRIOT
 
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