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
Форматы файлов.a3d.anm.col.cfg.cut.dff.dat.gxt.ide.ifp.img/.dir.ipl.raw/.sdt.rep.sc.scm.set.txd.xml.zon
Документацияcarcols.datCHASE.DATCULLZONE.DATcuts.imgdefault.datdefault.idefistfite.datflight.datgta3.exegta3.dat
gta3.imggta3.zonhandling.cfgmain.scmmap.zonobject.datparticle.cfgped.datpedgrp.datpedstats.dat
sfx.rawsurface.dattimecyc.dattracks.dattrain.datwater.datwaterpro.datweapon.dat
ИнструментыCLEOCollision File Editor IIdffxbox2pcG-ToolsGTA ToolsGTA3 Limit AdjusterGTA3 PatcherIMG ToolMap Editor
Mod GeneratorMoo MaperPS2 TXD ModPS2 TXD ViewerRotation CalculatorRusGTX EditorRW AnalyzeWater Editor
Sanny BuilderTXD WorkshopYAIEZModeler
Туториалыраздел в разработке
Глобальные МодыReal GTA3Twenty TenSnow CityUltimateBeta modX-box modGTA3 HDUltra modOpenTunnelsGhost City
МультиплеерMulti Theft AutoLiberty Unleashed
Исходники4x48ballambulanceasukaasusbcameracar_gencatcopcardebugdemodiablofiretruckfrankgates
genstufhealthhjhoodimportintrojoeykenjiloveluigimayhemmeatpickupsrampagerayrcswitch
taxitoniusjwantedyard
Источник — «http://gtamodding.ru/wiki/Ray»