Yard

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

Содержание

yard1

MISSION_START
// *****************************************************************************************
// *****************************************************************************************
// *****************************************************************************************
// *****************************YARDIE MISSION ONE DRUG RUSH******************************** 
// *****************************************************************************************
// *****************************************************************************************
// *****************************************************************************************
 
// Mission start stuff
 
GOSUB mission_start_yd1
IF HAS_DEATHARREST_BEEN_EXECUTED 
	GOSUB mission_yd1_failed
ENDIF
GOSUB mission_cleanup_yd1
MISSION_END
 
 
// Variables for mission
 
VAR_INT hot_rod_1 hot_rod_2 hot_rod_3
VAR_INT player_car wanted_yd1
 
VAR_INT street_racer_1 street_racer_2 street_racer_3
 
 
VAR_INT blip_hot_rod_3 blip_hot_rod_2 blip_hot_rod_1
 
VAR_INT blip_rush_destination flag_random_yd1 random_yd1
 
VAR_INT blip_start_yd1
 
VAR_FLOAT start_x start_y
 
VAR_FLOAT finish_x finish_y
 
VAR_FLOAT x_sum y_sum x_sum_player y_sum_player
 
VAR_FLOAT hot_rod_1_x hot_rod_1_y hot_rod_1_z hot_rod_1_dist
VAR_FLOAT hot_rod_2_x hot_rod_2_y hot_rod_2_z hot_rod_2_dist
VAR_FLOAT hot_rod_3_x hot_rod_3_y hot_rod_3_z
VAR_FLOAT hot_rod_heading
 
VAR_FLOAT player_car_x player_car_y player_car_z player_dist
 
VAR_INT counter_rush_start counter_hotrods
VAR_INT flag_hotrod1_start flag_hotrod2_start flag_hotrod3_start 
 
VAR_INT flag_drive_mode_1 flag_drive_mode_2 flag_drive_mode_3
 
VAR_INT flag_leader
 
VAR_INT counter_player_points reward_yd1 
 
VAR_INT counter_nonplayer1_points counter_nonplayer2_points counter_nonplayer3_points
 
VAR_INT counter_finish
VAR_INT flag_corona_yd1
 
VAR_INT counter_placing counter_joint_placing
 
VAR_INT timer_reset_hr1 timer_reset_hr2 timer_reset_hr3
VAR_INT timer_start_hr1 timer_start_hr2 timer_start_hr3
VAR_INT timer_current_hr1 timer_current_hr2 timer_current_hr3
VAR_INT hr1_time_dif hr2_time_dif hr3_time_dif
 
// ****************************************Mission Start************************************
 
mission_start_yd1:
REGISTER_MISSION_GIVEN
SCRIPT_NAME yard1 
flag_player_on_mission = 1
flag_player_on_yardie_mission = 1
 
WAIT 0
 
/*
IF CAN_PLAYER_START_MISSION Player
	MAKE_PLAYER_SAFE_FOR_CUTSCENE Player
ELSE
	GOTO mission_yd1_failed
ENDIF
 
SET_FADING_COLOUR 0 0 0
 
DO_FADE 1500 FADE_OUT
 
//SWITCH_STREAMING OFF
 
PRINT_BIG ( YD1 ) 15000 2 //"Yardie Mission 1"	 
 
TIMERA = 0
 
WHILE TIMERA < 1500					  
	WAIT 0
 
ENDWHILE
*/
 
// ******************************************CUTSCENE***************************************
 
 
 
SET_PED_DENSITY_MULTIPLIER 0.0
SET_POLICE_IGNORE_PLAYER player on
 
//WHILE NOT HAS_MODEL_LOADED cut_obj1
//	WAIT 0
 
//ENDWHILE
 
LOAD_CUTSCENE YD_PH1
SET_CUTSCENE_OFFSET 121.0 -272.3 15.25
CLEAR_AREA_OF_CHARS 100.5 -250.0 0.0 130.5 -290.0 25.0
 
CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
SET_CUTSCENE_ANIM cs_player player
 
//CREATE_CUTSCENE_HEAD cs_player CUT_OBJ1 cs_playerhead
//SET_CUTSCENE_HEAD_ANIM cs_playerhead player
 
//CLEAR_AREA 1219.5 -321.1 27.5 1.0 TRUE
//SET_PLAYER_COORDINATES player 1219.5 -321.1 26.4
 
//SET_PLAYER_HEADING player 180.0
 
DO_FADE 1500 FADE_IN
 
//SWITCH_STREAMING OFF
START_CUTSCENE
 
// Displays cutscene text
 
 
GET_CUTSCENE_TIME cs_time
 
WHILE cs_time < 2237
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
PRINT_NOW ( YD1_A ) 10000 1 
 
WHILE cs_time < 3791
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD1_A1 ) 10000 1 
 
WHILE cs_time < 8312
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD1_B ) 10000 1 
 
WHILE cs_time < 12880
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD1_C ) 10000 1 
 
WHILE cs_time < 15965
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD1_D ) 10000 1 
 
WHILE cs_time < 20462
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD1_D1 ) 10000 1 
/*
 
WHILE cs_time < 24139
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( DIAB2_G ) 10000 1 
 
WHILE cs_time < 28919
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( DIAB2_H ) 10000 1 
*/
WHILE cs_time < 25166
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
 
 
DO_FADE 1500 FADE_OUT
 
WHILE GET_FADING_STATUS
	WAIT 0
ENDWHILE
 
WHILE NOT HAS_CUTSCENE_FINISHED
	WAIT 0
 
ENDWHILE
 
SWITCH_STREAMING ON
CLEAR_PRINTS
CLEAR_CUTSCENE
//SET_CAMERA_IN_FRONT_OF_PLAYER
SET_PED_DENSITY_MULTIPLIER 1.0
SET_POLICE_IGNORE_PLAYER player off
WAIT 500
 
DO_FADE 1500 FADE_IN
 
 
//------------LOCATION VARIABLES---(NB: ALL LOCATIONS SHOULD HAVE X Y & Z IN FINISHED SCRIPT!!)-----------------------------------------------------
 
finish_x = 107.0
 
finish_y = -288.0
 
start_x = 50.0
 
start_y = 70.0
 
flag_corona_yd1 = 0
flag_hotrod1_start = 0
flag_hotrod2_start = 0
flag_hotrod3_start = 0
 
 
counter_rush_start = 0
counter_hotrods = 0
counter_player_points = 0
counter_nonplayer1_points = 0
counter_nonplayer2_points = 0
counter_nonplayer3_points = 0
counter_finish = 0
counter_placing = 0
counter_joint_placing = 0
 
ADD_BLIP_FOR_COORD start_x start_y -100.0 blip_start_yd1
 
flag_leader = 0
flag_random_yd1 = 0
 
REQUEST_MODEL PED_MALE2
REQUEST_MODEL CAR_PATRIOT
REQUEST_MODEL CAR_CHEETAH
REQUEST_MODEL CAR_BOBCAT
 
WHILE NOT HAS_MODEL_LOADED PED_MALE2
OR NOT HAS_MODEL_LOADED CAR_PATRIOT
OR NOT HAS_MODEL_LOADED CAR_CHEETAH
OR NOT HAS_MODEL_LOADED CAR_BOBCAT
 
WAIT 1000
 
ENDWHILE
 
 
 
// --------Mission stuff goes here-----------------------------------------------------
 
is_player_there:
 
IF IS_PLAYER_STOPPED_IN_AREA_IN_CAR_2D player 45.0 65.0 55.0 75.0 true
	STORE_CAR_PLAYER_IS_IN player player_car
	GOTO player_is_there   
ENDIF
 
IF LOCATE_PLAYER_ON_FOOT_2D player start_x start_y 5.0 5.0 false
	PRINT_NOW ( YD1_G) 2000 1
ENDIF
WAIT 0
 
GOTO is_player_there
 
player_is_there:
 
STORE_WANTED_LEVEL player wanted_yd1
CLEAR_WANTED_LEVEL player
 
REMOVE_BLIP blip_start_yd1
 
SET_PLAYER_CONTROL player off
LOCK_CAR_DOORS player_car CARLOCK_LOCKED
SET_FIXED_CAMERA_POSITION 66.7 51.0 18.0 0.0 0.0 0.0
DO_FADE 1500 FADE_OUT
WAIT 1500
POINT_CAMERA_AT_PLAYER player FIXED JUMP_CUT
SWITCH_WIDESCREEN on
 
SET_FADING_COLOUR 0 0 0
DO_FADE 1500 FADE_IN
WAIT 1500
 
 
CLEAR_AREA 90.0 50.0 16.0 20.0 true
CLEAR_AREA 93.0 57.0 16.0 20.0 true
CLEAR_AREA 78.0 50.0 16.0 20.0 true
CLEAR_AREA 93.0 43.0 16.0 20.0 true
 
SET_CAR_DENSITY_MULTIPLIER 0.0
SET_PED_DENSITY_MULTIPLIER 0.0
 
WAIT 2000
 
POINT_CAMERA_AT_POINT 90.0 50.0 16.0 INTERPOLATION
 
CLEAR_AREA 102.0 90.0 16.0 20.0 true
CREATE_CAR CAR_PATRIOT 102.0 90.0 16.0 hot_rod_1
CREATE_CHAR_INSIDE_CAR hot_rod_1 PEDTYPE_CIVMALE PED_MALE2 street_racer_1
SET_CAR_WATERTIGHT hot_rod_1 true
SET_UPSIDEDOWN_CAR_NOT_DAMAGED hot_rod_1 true
LOCK_CAR_DOORS hot_rod_1 CARLOCK_LOCKED
SET_CAR_HEADING hot_rod_1 190.0
SET_CAR_CRUISE_SPEED hot_rod_1 20.0
SET_CAR_DRIVING_STYLE hot_rod_1 0
CAR_GOTO_COORDINATES_ACCURATE hot_rod_1 93.0 57.0 16.0
 
CLEAR_AREA 75.0 76.0 16.0 20.0 true
CREATE_CAR CAR_CHEETAH 75.0 76.0 16.0 hot_rod_2
CREATE_CHAR_INSIDE_CAR hot_rod_2 PEDTYPE_CIVMALE PED_MALE2 street_racer_2
SET_CAR_WATERTIGHT hot_rod_2 true
SET_UPSIDEDOWN_CAR_NOT_DAMAGED hot_rod_2 true
LOCK_CAR_DOORS hot_rod_2 CARLOCK_LOCKED
SET_CAR_HEADING hot_rod_2 220.0
SET_CAR_CRUISE_SPEED hot_rod_2 20.0
SET_CAR_DRIVING_STYLE hot_rod_2 0
CAR_GOTO_COORDINATES_ACCURATE hot_rod_2 78.0 50.0 16.0
 
CLEAR_AREA 108.0 3.0 16.0 20.0 true
CREATE_CAR CAR_BOBCAT 108.0 3.0 16.0 hot_rod_3
CREATE_CHAR_INSIDE_CAR hot_rod_3 PEDTYPE_CIVMALE PED_MALE2 street_racer_3
SET_CAR_WATERTIGHT hot_rod_3 true
SET_UPSIDEDOWN_CAR_NOT_DAMAGED hot_rod_3 true
LOCK_CAR_DOORS hot_rod_3 CARLOCK_LOCKED
//SET_CAR_HEADING hot_rod_3 360.0
SET_CAR_CRUISE_SPEED hot_rod_3 10.0
SET_CAR_DRIVING_STYLE hot_rod_3 0
CAR_GOTO_COORDINATES_ACCURATE hot_rod_3 93.0 43.0 16.0
 
ADD_BLIP_FOR_CAR hot_rod_3 blip_hot_rod_3
ADD_BLIP_FOR_CAR hot_rod_2 blip_hot_rod_2
ADD_BLIP_FOR_CAR hot_rod_1 blip_hot_rod_1
 
PRINT_NOW ( YD1_E ) 3000 2
 
 
ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
 
 
WHILE counter_hotrods < 3
 
	WAIT 0
 
	IF NOT IS_CAR_DEAD hot_rod_1
		IF LOCATE_CAR_2D hot_rod_1 93.0 57.0 3.0 3.0 false
		AND flag_hotrod1_start = 0
			CAR_SET_IDLE hot_rod_1
			flag_hotrod1_start = 1
			++ counter_hotrods
		ENDIF
	ENDIF
	SET_CAR_HEALTH hot_rod_1 1000
 
	IF NOT IS_CAR_DEAD hot_rod_2
		IF LOCATE_CAR_2D hot_rod_2 78.0 50.0 3.0 3.0 false
		AND flag_hotrod2_start = 0
			CAR_SET_IDLE hot_rod_2
			flag_hotrod2_start = 1
			++ counter_hotrods
		ENDIF
	ENDIF
	SET_CAR_HEALTH hot_rod_2 1000
 
	IF NOT IS_CAR_DEAD hot_rod_3
		IF LOCATE_CAR_2D hot_rod_3 93.0 43.0 3.0 3.0 false
		AND flag_hotrod3_start = 0
			CAR_SET_IDLE hot_rod_3
			flag_hotrod3_start = 1
			++ counter_hotrods
		ENDIF
	ENDIF
	SET_CAR_HEALTH hot_rod_3 1000
 
ENDWHILE
 
WAIT 1500
 
SET_FADING_COLOUR 0 0 0
DO_FADE 1500 FADE_OUT
WAIT 1500
 
RESTORE_CAMERA_JUMPCUT
SWITCH_WIDESCREEN off
ALTER_WANTED_LEVEL player wanted_yd1
 
DO_FADE 1500 FADE_IN
WAIT 1500
 
IF NOT IS_CAR_DEAD player_car
	LOCK_CAR_DOORS player_car CARLOCK_UNLOCKED
ENDIF
 
SET_CAR_DENSITY_MULTIPLIER 1.0
SET_PED_DENSITY_MULTIPLIER 1.0
 
//----------------GENERATE ROUTE FLAG--------------------------------------------
 
GENERATE_RANDOM_INT random_yd1
 
IF random_yd1 > 21845
AND random_yd1 < 43691
	flag_random_yd1 = 1
ENDIF
 
IF random_yd1 > 43690
	flag_random_yd1 = 2
ENDIF
 
//-----------TURN OFF TUNNEL NODES-------------------------
 
 
SWITCH_ROADS_OFF 500.0 60.0 -25.0 600.0 140.0 0.0
SWITCH_ROADS_OFF -400.0 60.0 -25.0 -300.0 140.0 0.0
 
//-----------------RACE COUNTDOWN-----------------------------------------------
 
 
IF IS_PLAYER_IN_ANY_CAR player
	STORE_CAR_PLAYER_IS_IN player player_car
ENDIF
 
WHILE NOT IS_CAR_DEAD player_car
AND LOCATE_CAR_2D player_car start_x start_y 10.0 10.0 false
		WAIT 1000
		IF counter_rush_start = 4
			GOTO and_its_go_go_go
		ENDIF
 
		IF counter_rush_start = 3
			PRINT_BIG ( YD1GO ) 1000 4
			++ counter_rush_start
			SET_PLAYER_CONTROL player on
			ADD_ONE_OFF_SOUND 0.0 0.0 0.0 SOUND_RACE_START_GO
		ENDIF
 
		IF counter_rush_start = 2
			PRINT_BIG ( YD1_1 ) 1000 4
			++ counter_rush_start
			ADD_ONE_OFF_SOUND 0.0 0.0 0.0 SOUND_RACE_START_1
		ENDIF
 
		IF counter_rush_start = 1
			PRINT_BIG ( YD1_2 ) 1000 4
			++ counter_rush_start
			ADD_ONE_OFF_SOUND 0.0 0.0 0.0 SOUND_RACE_START_2
		ENDIF
 
		IF counter_rush_start = 0
			PRINT_BIG ( YD1_3 ) 1000 4
			++ counter_rush_start
			ADD_ONE_OFF_SOUND 0.0 0.0 0.0 SOUND_RACE_START_3
		ENDIF
ENDWHILE	   
 
 
PRINT_NOW ( YD1_F ) 4000 2
 
 
//-------------------RACE START-------------------------------------------------------------
 
and_its_go_go_go:
 
GOSUB driving_style_car_1
GOSUB driving_style_car_2
GOSUB driving_style_car_3
 
 
//------------------MAIN LOOP--------------------------------------------------------------
 
main_loop:
 
IF flag_corona_yd1 = 0
	DRAW_CORONA finish_x finish_y -100.0 2.0 CORONATYPE_CIRCLE FLARETYPE_NONE 200 120 120
/*ELSE
	DRAW_CORONA finish_x finish_y 16.1 2.0 CORONATYPE_HEX FLARETYPE_NONE 0 200 200*/
ENDIF
 
IF IS_PLAYER_IN_ANY_CAR player
 
 
		STORE_CAR_PLAYER_IS_IN player player_car
 
 
		GET_CAR_COORDINATES player_car player_car_x player_car_y player_car_z
 
		x_sum = finish_x - player_car_x
 
		y_sum = finish_y - player_car_y
 
		x_sum = x_sum * x_sum
 
		y_sum = y_sum * y_sum
 
		player_dist = x_sum + y_sum
 
 
 
 
	IF NOT IS_CAR_DEAD hot_rod_1
	OR IS_CAR_IN_WATER hot_rod_1
 
		IF NOT IS_CHAR_DEAD	street_racer_1
		AND NOT IS_PLAYER_IN_CAR player hot_rod_1
 
			GET_CAR_COORDINATES hot_rod_1 hot_rod_1_x hot_rod_1_y hot_rod_1_z
 
			IF hot_rod_1_z < 0.0 //no collision warp
				GET_CLOSEST_CAR_NODE_WITH_HEADING hot_rod_1_x hot_rod_1_y hot_rod_1_z hot_rod_1_x hot_rod_1_y hot_rod_1_z hot_rod_heading
				//GET_CLOSEST_CAR_NODE hot_rod_1_x hot_rod_1_y hot_rod_1_z hot_rod_1_x hot_rod_1_y hot_rod_1_z
				IF NOT IS_POINT_ON_SCREEN hot_rod_1_x hot_rod_1_y hot_rod_1_z 3.0
					SET_CAR_COORDINATES hot_rod_1 hot_rod_1_x hot_rod_1_y hot_rod_1_z
					SET_CAR_HEADING hot_rod_1 hot_rod_heading
				ENDIF
			ENDIF
 
			IF NOT IS_CAR_HEALTH_GREATER hot_rod_1 450
				SET_CAR_HEALTH hot_rod_1 600
			ENDIF
 
			IF IS_CAR_UPSIDEDOWN hot_rod_1
			AND IS_CAR_STOPPED hot_rod_1
				SET_CHAR_OBJ_LEAVE_CAR street_racer_1 hot_rod_1
				IF NOT IS_CAR_ON_SCREEN hot_rod_1
					GET_CAR_COORDINATES hot_rod_1 hot_rod_1_x hot_rod_1_y hot_rod_1_z
					GET_CLOSEST_CAR_NODE_WITH_HEADING hot_rod_1_x hot_rod_1_y hot_rod_1_z hot_rod_1_x hot_rod_1_y hot_rod_1_z hot_rod_heading
					//GET_CLOSEST_CAR_NODE hot_rod_1_x hot_rod_1_y hot_rod_1_z hot_rod_1_x hot_rod_1_y hot_rod_1_z
					IF NOT IS_POINT_ON_SCREEN hot_rod_1_x hot_rod_1_y hot_rod_1_z 3.0
						SET_CAR_COORDINATES hot_rod_1 hot_rod_1_x hot_rod_1_y hot_rod_1_z
						SET_CAR_HEADING hot_rod_1 hot_rod_heading
						DELETE_CHAR street_racer_1
						CREATE_CHAR_INSIDE_CAR hot_rod_1 PEDTYPE_CIVMALE PED_MALE2 street_racer_1
					ENDIF
				ENDIF
			ENDIF
 
			IF IS_CAR_IN_WATER hot_rod_1
				//PRINT_BIG (Y1_TEST) 2000 1//CAR IN WATER!!
				IF NOT IS_CAR_ON_SCREEN hot_rod_1
					GET_CAR_COORDINATES hot_rod_1 hot_rod_1_x hot_rod_1_y hot_rod_1_z
					GET_CLOSEST_CAR_NODE_WITH_HEADING hot_rod_1_x hot_rod_1_y hot_rod_1_z hot_rod_1_x hot_rod_1_y hot_rod_1_z hot_rod_heading
					//GET_CLOSEST_CAR_NODE hot_rod_1_x hot_rod_1_y hot_rod_1_z hot_rod_1_x hot_rod_1_y hot_rod_1_z
					IF NOT IS_POINT_ON_SCREEN hot_rod_1_x hot_rod_1_y hot_rod_1_z 3.0
						SET_CAR_COORDINATES hot_rod_1 hot_rod_1_x hot_rod_1_y hot_rod_1_z
						SET_CAR_HEADING hot_rod_1 hot_rod_heading
						DELETE_CHAR street_racer_1
						CREATE_CHAR_INSIDE_CAR hot_rod_1 PEDTYPE_CIVMALE PED_MALE2 street_racer_1
					ENDIF
				ENDIF
			ENDIF
 
			IF timer_reset_hr1 = 1
				IF NOT IS_CAR_STOPPED hot_rod_1
					timer_reset_hr1 = 0
				ENDIF
			ENDIF
 
			IF IS_CAR_STOPPED hot_rod_1
				IF timer_reset_hr1 = 0
					GET_GAME_TIMER timer_start_hr1
					timer_reset_hr1 = 1
				ENDIF
 
				IF timer_reset_hr1 = 1
					GET_GAME_TIMER timer_current_hr1
					hr1_time_dif = timer_current_hr1 - timer_start_hr1
				ENDIF
 
				IF hr1_time_dif > 4000
					IF NOT IS_CAR_ON_SCREEN hot_rod_1
						GET_CAR_COORDINATES hot_rod_1 hot_rod_1_x hot_rod_1_y hot_rod_1_z
						GET_CLOSEST_CAR_NODE_WITH_HEADING hot_rod_1_x hot_rod_1_y hot_rod_1_z hot_rod_1_x hot_rod_1_y hot_rod_1_z hot_rod_heading
						//GET_CLOSEST_CAR_NODE hot_rod_1_x hot_rod_1_y hot_rod_1_z hot_rod_1_x hot_rod_1_y hot_rod_1_z
						IF NOT IS_POINT_ON_SCREEN hot_rod_1_x hot_rod_1_y hot_rod_1_z 3.0
							SET_CAR_COORDINATES hot_rod_1 hot_rod_1_x hot_rod_1_y hot_rod_1_z
							SET_CAR_HEADING hot_rod_1 hot_rod_heading
							timer_reset_hr1 = 0
						ENDIF
					ENDIF
				ENDIF
			ENDIF
 
 
 
			GET_CAR_COORDINATES hot_rod_1 hot_rod_1_x hot_rod_1_y hot_rod_1_z
 
			x_sum = finish_x - hot_rod_1_x
 
			y_sum = finish_y - hot_rod_1_y
 
			x_sum = x_sum * x_sum
 
			y_sum = y_sum * y_sum
 
			hot_rod_1_dist = x_sum + y_sum
 
			IF hot_rod_1_dist > player_dist
				SET_CAR_MISSION hot_rod_1 2 //MISSION_RAMPLAYER_FARAWAY
			ENDIF
 
			IF player_dist > hot_rod_1_dist
				GOSUB driving_style_car_1
			ENDIF
		ELSE
			CAR_SET_IDLE hot_rod_1
		ENDIF
	ENDIF
 
 
 
 
	IF NOT IS_CAR_DEAD hot_rod_2
	OR IS_CAR_IN_WATER hot_rod_2
 
		IF NOT IS_CHAR_DEAD street_racer_2
		AND NOT IS_PLAYER_IN_CAR player hot_rod_2
 
			GET_CAR_COORDINATES hot_rod_2 hot_rod_2_x hot_rod_2_y hot_rod_2_z
 
			IF hot_rod_2_z < 0.0 //no collision warp
				GET_CLOSEST_CAR_NODE_WITH_HEADING hot_rod_2_x hot_rod_2_y hot_rod_2_z hot_rod_2_x hot_rod_2_y hot_rod_2_z hot_rod_heading
				//GET_CLOSEST_CAR_NODE hot_rod_2_x hot_rod_2_y hot_rod_2_z hot_rod_2_x hot_rod_2_y hot_rod_2_z
				IF NOT IS_POINT_ON_SCREEN hot_rod_2_x hot_rod_2_y hot_rod_2_z 3.0
					SET_CAR_COORDINATES hot_rod_2 hot_rod_2_x hot_rod_2_y hot_rod_2_z
					SET_CAR_HEADING hot_rod_2 hot_rod_heading
				ENDIF
			ENDIF
 
			IF NOT IS_CAR_HEALTH_GREATER hot_rod_2 450
				SET_CAR_HEALTH hot_rod_2 600
			ENDIF
 
			IF IS_CAR_UPSIDEDOWN hot_rod_2
			AND IS_CAR_STOPPED hot_rod_2
				SET_CHAR_OBJ_LEAVE_CAR street_racer_2 hot_rod_2
				IF NOT IS_CAR_ON_SCREEN hot_rod_2
					GET_CAR_COORDINATES hot_rod_2 hot_rod_2_x hot_rod_2_y hot_rod_2_z
					GET_CLOSEST_CAR_NODE_WITH_HEADING hot_rod_2_x hot_rod_2_y hot_rod_2_z hot_rod_2_x hot_rod_2_y hot_rod_2_z hot_rod_heading
					//GET_CLOSEST_CAR_NODE hot_rod_2_x hot_rod_2_y hot_rod_2_z hot_rod_2_x hot_rod_2_y hot_rod_2_z
					IF NOT IS_POINT_ON_SCREEN hot_rod_2_x hot_rod_2_y hot_rod_2_z 3.0
						SET_CAR_COORDINATES hot_rod_2 hot_rod_2_x hot_rod_2_y hot_rod_2_z
						SET_CAR_HEADING hot_rod_2 hot_rod_heading
						DELETE_CHAR street_racer_2
						CREATE_CHAR_INSIDE_CAR hot_rod_2 PEDTYPE_CIVMALE PED_MALE2 street_racer_2
					ENDIF
				ENDIF
			ENDIF
 
			IF IS_CAR_IN_WATER hot_rod_2
				//PRINT_BIG (Y1_TEST) 2000 1
				IF NOT IS_CAR_ON_SCREEN hot_rod_2
					GET_CAR_COORDINATES hot_rod_2 hot_rod_2_x hot_rod_2_y hot_rod_2_z
					GET_CLOSEST_CAR_NODE_WITH_HEADING hot_rod_2_x hot_rod_2_y hot_rod_2_z hot_rod_2_x hot_rod_2_y hot_rod_2_z hot_rod_heading
					//GET_CLOSEST_CAR_NODE hot_rod_2_x hot_rod_2_y hot_rod_2_z hot_rod_2_x hot_rod_2_y hot_rod_2_z
					IF NOT IS_POINT_ON_SCREEN hot_rod_2_x hot_rod_2_y hot_rod_2_z 3.0
						SET_CAR_COORDINATES hot_rod_2 hot_rod_2_x hot_rod_2_y hot_rod_2_z
						SET_CAR_HEADING hot_rod_2 hot_rod_heading
						DELETE_CHAR street_racer_2
						CREATE_CHAR_INSIDE_CAR hot_rod_2 PEDTYPE_CIVMALE PED_MALE2 street_racer_2
					ENDIF
				ENDIF
			ENDIF
 
			IF timer_reset_hr2 = 1
				IF NOT IS_CAR_STOPPED hot_rod_2
					timer_reset_hr2 = 0
				ENDIF
			ENDIF
 
			IF IS_CAR_STOPPED hot_rod_2
				IF timer_reset_hr2 = 0
					GET_GAME_TIMER timer_start_hr2
					timer_reset_hr2 = 1
				ENDIF
 
				IF timer_reset_hr2 = 1
					GET_GAME_TIMER timer_current_hr2
					hr2_time_dif = timer_current_hr2 - timer_start_hr2
				ENDIF
 
				IF hr2_time_dif > 4000
					IF NOT IS_CAR_ON_SCREEN hot_rod_2
						GET_CAR_COORDINATES hot_rod_2 hot_rod_2_x hot_rod_2_y hot_rod_2_z
						GET_CLOSEST_CAR_NODE_WITH_HEADING hot_rod_2_x hot_rod_2_y hot_rod_2_z hot_rod_2_x hot_rod_2_y hot_rod_2_z hot_rod_heading
						//GET_CLOSEST_CAR_NODE hot_rod_2_x hot_rod_2_y hot_rod_2_z hot_rod_2_x hot_rod_2_y hot_rod_2_z
						IF NOT IS_POINT_ON_SCREEN hot_rod_2_x hot_rod_2_y hot_rod_2_z 3.0
							SET_CAR_COORDINATES hot_rod_2 hot_rod_2_x hot_rod_2_y hot_rod_2_z
							SET_CAR_HEADING hot_rod_2 hot_rod_heading
							timer_reset_hr2 = 0
						ENDIF
					ENDIF
				ENDIF
			ENDIF
 
 
			GET_CAR_COORDINATES hot_rod_2 hot_rod_2_x hot_rod_2_y hot_rod_2_z
 
			x_sum = finish_x - hot_rod_2_x
 
			y_sum = finish_y - hot_rod_2_y
 
			x_sum = x_sum * x_sum
 
			y_sum = y_sum * y_sum
 
			hot_rod_2_dist = x_sum + y_sum
 
 
 
			IF hot_rod_2_dist > player_dist 
				SET_CAR_MISSION hot_rod_2 2 //RAMPLAYER_FARAWAY
			ENDIF
 
 
			IF player_dist > hot_rod_2_dist
				GOSUB driving_style_car_2
			ENDIF
		ELSE
			CAR_SET_IDLE hot_rod_2
		ENDIF
	ENDIF
 
	IF NOT IS_CAR_DEAD hot_rod_3
	OR IS_CAR_IN_WATER hot_rod_3
 
		IF NOT IS_CHAR_DEAD street_racer_3
		AND NOT IS_PLAYER_IN_CAR player hot_rod_3
 
			GET_CAR_COORDINATES hot_rod_3 hot_rod_3_x hot_rod_3_y hot_rod_3_z
 
			IF hot_rod_3_z < 0.0 //no collision warp
				GET_CLOSEST_CAR_NODE_WITH_HEADING hot_rod_3_x hot_rod_3_y hot_rod_3_z hot_rod_3_x hot_rod_3_y hot_rod_3_z hot_rod_heading
				//GET_CLOSEST_CAR_NODE hot_rod_3_x hot_rod_3_y hot_rod_3_z hot_rod_3_x hot_rod_3_y hot_rod_3_z
				IF NOT IS_POINT_ON_SCREEN hot_rod_3_x hot_rod_3_y hot_rod_3_z 3.0
					SET_CAR_COORDINATES hot_rod_3 hot_rod_3_x hot_rod_3_y hot_rod_3_z
					SET_CAR_HEADING hot_rod_3 hot_rod_heading
				ENDIF
			ENDIF
 
			IF NOT IS_CAR_HEALTH_GREATER hot_rod_3 450
				SET_CAR_HEALTH hot_rod_3 600
			ENDIF
 
			IF IS_CAR_UPSIDEDOWN hot_rod_3
			AND IS_CAR_STOPPED hot_rod_3
				SET_CHAR_OBJ_LEAVE_CAR street_racer_3 hot_rod_3
				IF NOT IS_CAR_ON_SCREEN hot_rod_3
					GET_CAR_COORDINATES hot_rod_3 hot_rod_3_x hot_rod_3_y hot_rod_3_z
					GET_CLOSEST_CAR_NODE_WITH_HEADING hot_rod_3_x hot_rod_3_y hot_rod_3_z hot_rod_3_x hot_rod_3_y hot_rod_3_z hot_rod_heading
					//GET_CLOSEST_CAR_NODE hot_rod_3_x hot_rod_3_y hot_rod_3_z hot_rod_3_x hot_rod_3_y hot_rod_3_z
					IF NOT IS_POINT_ON_SCREEN hot_rod_3_x hot_rod_3_y hot_rod_3_z 3.0
						SET_CAR_COORDINATES hot_rod_3 hot_rod_3_x hot_rod_3_y hot_rod_3_z
						SET_CAR_HEADING hot_rod_3 hot_rod_heading
						DELETE_CHAR street_racer_3
						CREATE_CHAR_INSIDE_CAR hot_rod_3 PEDTYPE_CIVMALE PED_MALE2 street_racer_3
					ENDIF
				ENDIF
			ENDIF
 
			IF IS_CAR_IN_WATER hot_rod_3
				//PRINT_BIG (Y1_TEST) 2000 1
				IF NOT IS_CAR_ON_SCREEN hot_rod_3
					GET_CAR_COORDINATES hot_rod_3 hot_rod_3_x hot_rod_3_y hot_rod_3_z
					GET_CLOSEST_CAR_NODE_WITH_HEADING hot_rod_3_x hot_rod_3_y hot_rod_3_z hot_rod_3_x hot_rod_3_y hot_rod_3_z hot_rod_heading
					//GET_CLOSEST_CAR_NODE hot_rod_3_x hot_rod_3_y hot_rod_3_z hot_rod_3_x hot_rod_3_y hot_rod_3_z
					IF NOT IS_POINT_ON_SCREEN hot_rod_3_x hot_rod_3_y hot_rod_3_z 3.0
						SET_CAR_COORDINATES hot_rod_3 hot_rod_3_x hot_rod_3_y hot_rod_3_z
						SET_CAR_HEADING hot_rod_3 hot_rod_heading
						DELETE_CHAR street_racer_3
						CREATE_CHAR_INSIDE_CAR hot_rod_3 PEDTYPE_CIVMALE PED_MALE2 street_racer_3
					ENDIF
				ENDIF
			ENDIF
 
			IF timer_reset_hr3 = 1
				IF NOT IS_CAR_STOPPED hot_rod_3
					timer_reset_hr3 = 0
				ENDIF
			ENDIF
 
			IF IS_CAR_STOPPED hot_rod_3
				IF timer_reset_hr3 = 0
					GET_GAME_TIMER timer_start_hr3
					timer_reset_hr3 = 1
				ENDIF
 
				IF timer_reset_hr3 = 1
					GET_GAME_TIMER timer_current_hr3
					hr3_time_dif = timer_current_hr3 - timer_start_hr3
				ENDIF
 
				IF hr3_time_dif > 4000
					IF NOT IS_CAR_ON_SCREEN hot_rod_3
						GET_CAR_COORDINATES hot_rod_3 hot_rod_3_x hot_rod_3_y hot_rod_3_z
						GET_CLOSEST_CAR_NODE_WITH_HEADING hot_rod_3_x hot_rod_3_y hot_rod_3_z hot_rod_3_x hot_rod_3_y hot_rod_3_z hot_rod_heading
						//GET_CLOSEST_CAR_NODE hot_rod_3_x hot_rod_3_y hot_rod_3_z hot_rod_3_x hot_rod_3_y hot_rod_3_z
						IF NOT IS_POINT_ON_SCREEN hot_rod_3_x hot_rod_3_y hot_rod_3_z 3.0
							SET_CAR_COORDINATES hot_rod_3 hot_rod_3_x hot_rod_3_y hot_rod_3_z
							SET_CAR_HEADING hot_rod_3 hot_rod_heading
							timer_reset_hr3 = 0
						ENDIF
					ENDIF
				ENDIF
			ENDIF
		ELSE
			CAR_SET_IDLE hot_rod_3
		ENDIF
	ENDIF
 
ENDIF	
 
IF NOT IS_PLAYER_IN_ANY_CAR player
	GOSUB driving_style_car_1
	GOSUB driving_style_car_2
	GOSUB driving_style_car_3
ENDIF
 
 
IF LOCATE_PLAYER_IN_CAR_2D player finish_x finish_y 6.0 6.0 false 
	GOSUB player_points
ENDIF
 
IF NOT IS_CAR_DEAD hot_rod_1
	IF LOCATE_CAR_2D hot_rod_1 finish_x finish_y 6.0 6.0 false
		GOSUB nonplayer_points_1
	ENDIF
ENDIF
 
IF NOT IS_CAR_DEAD hot_rod_2
	IF LOCATE_CAR_2D hot_rod_2 finish_x finish_y 6.0 6.0 false
		GOSUB nonplayer_points_2
	ENDIF
ENDIF
 
IF NOT IS_CAR_DEAD hot_rod_3
	IF LOCATE_CAR_2D hot_rod_3 finish_x finish_y 6.0 6.0 false
		GOSUB nonplayer_points_3
	ENDIF
ENDIF
 
WAIT 0
 
GOSUB driving_style_car_3
 
IF counter_finish = 15
	GOTO race_finished
ENDIF
 
GOTO main_loop
 
 
 
 
//------------------------------RACE FINISHED---------------------------------------------
 
race_finished:
 
IF counter_player_points = counter_nonplayer1_points
	++ counter_joint_placing
ENDIF
 
IF counter_player_points = counter_nonplayer2_points
	++ counter_joint_placing
ENDIF
 
IF counter_player_points = counter_nonplayer3_points
	++ counter_joint_placing
ENDIF
 
IF counter_player_points > counter_nonplayer1_points
	++ counter_placing
ENDIF
 
IF counter_player_points > counter_nonplayer2_points
	++ counter_placing
ENDIF
 
IF counter_player_points > counter_nonplayer3_points
	++ counter_placing
ENDIF
 
IF counter_placing = 3
	GOTO mission_yd1_passed
ENDIF
 
IF counter_placing < 3
	GOTO mission_yd1_failed
ENDIF
 
 
 
// --------------------------Race failed-----------------------------------------------
 
mission_yd1_failed:
 
 
PRINT_BIG ( M_FAIL ) 2000 1
 
WAIT 2000
 
IF counter_joint_placing = 0
	IF counter_placing = 2
		PRINT_WITH_NUMBER_NOW (Y1_2ND) counter_player_points 4000 1
		WAIT 2000
	ENDIF
 
	IF counter_placing = 1
		PRINT_WITH_NUMBER_NOW (Y1_3RD) counter_player_points 4000 1
		WAIT 2000
	ENDIF
 
	IF counter_placing = 0
		PRINT_WITH_NUMBER_NOW (Y1_LAST) counter_player_points 4000 1
		WAIT 2000
	ENDIF
ENDIF
 
 
IF counter_joint_placing = 1
	IF counter_placing = 2
		PRINT_WITH_NUMBER_NOW (Y1_J1ST) counter_player_points 4000 1
		WAIT 2000
	ENDIF
 
	IF counter_placing = 1
		PRINT_WITH_NUMBER_NOW (Y1_J2ND) counter_player_points 4000 1
		WAIT 2000
	ENDIF
 
	IF counter_placing = 0
		PRINT_WITH_NUMBER_NOW (Y1JLAST) counter_player_points 4000 1
		WAIT 2000
	ENDIF
ENDIF
 
IF counter_joint_placing = 2
	IF counter_placing = 1
		PRINT_WITH_NUMBER_NOW (Y1_J1ST) counter_player_points 4000 1
		WAIT 2000
	ENDIF
 
	IF counter_placing = 0
		PRINT_WITH_NUMBER_NOW (Y1JLAST) counter_player_points 4000 1
		WAIT 2000
	ENDIF
ENDIF
 
RETURN
 
 
 
 
 
// Race passed
 
mission_yd1_passed:
 
IF flag_yardie_mission4_passed = 0
	REGISTER_MISSION_PASSED YD1
	PLAYER_MADE_PROGRESS 1 
	flag_yardie_mission1_passed = 1
	START_NEW_SCRIPT yardie_mission2_loop
ENDIF
 
reward_yd1 = 1000 * counter_player_points
PRINT_WITH_NUMBER_BIG ( M_PASS ) reward_yd1 5000 1 //"Mission Passed!"
PLAY_MISSION_PASSED_TUNE 1 
PRINT_WITH_NUMBER_NOW (Y1_1ST) counter_player_points 4000 1
CLEAR_WANTED_LEVEL player
ADD_SCORE player reward_yd1
REGISTER_HIGHEST_SCORE 0 counter_player_points
 
RETURN
 
 
 
// mission cleanup
 
mission_cleanup_yd1:
 
RESTORE_CAMERA_JUMPCUT
SWITCH_WIDESCREEN off
//SET_PLAYER_CONTROL player on
 
REMOVE_BLIP blip_hot_rod_1
REMOVE_BLIP blip_hot_rod_2
REMOVE_BLIP blip_hot_rod_3
REMOVE_BLIP blip_start_yd1
 
MARK_MODEL_AS_NO_LONGER_NEEDED PED_MALE2
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_PATRIOT
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_CHEETAH
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_BOBCAT
 
SWITCH_ROADS_ON 500.0 60.0 -25.0 600.0 140.0 0.0
SWITCH_ROADS_ON -400.0 60.0 -25.0 -300.0 140.0 0.0
 
flag_player_on_mission = 0
flag_player_on_ray_mission = 0
 
//DELETE_CHAR street_racer_1
 
REMOVE_BLIP blip_rush_destination
 
MISSION_HAS_FINISHED
RETURN
 
 
//---------------------------GOSUBS-----------------------------------------------
 
driving_style_car_1:
	IF NOT IS_CAR_DEAD hot_rod_1
		SET_CAR_CRUISE_SPEED hot_rod_1 40.0
		SET_CAR_DRIVING_STYLE hot_rod_1 3
		CAR_GOTO_COORDINATES_ACCURATE hot_rod_1 finish_x finish_y -1.0
		flag_drive_mode_1 = 0
	ENDIF
RETURN
 
driving_style_car_2:
	IF NOT IS_CAR_DEAD hot_rod_2 
		SET_CAR_CRUISE_SPEED hot_rod_2 45.0
		SET_CAR_DRIVING_STYLE hot_rod_2 2
		CAR_GOTO_COORDINATES_ACCURATE hot_rod_2 finish_x finish_y -1.0
		flag_drive_mode_2 = 0
	ENDIF
RETURN
 
driving_style_car_3:
	IF NOT IS_CAR_DEAD hot_rod_3
		SET_CAR_CRUISE_SPEED hot_rod_3 35.0
		SET_CAR_DRIVING_STYLE hot_rod_3 2
		CAR_GOTO_COORDINATES_ACCURATE hot_rod_3 finish_x finish_y -1.0
		flag_drive_mode_3 = 0
	ENDIF
RETURN
 
 
player_points:
	++ counter_player_points
	++ counter_finish
	//ADD_SCORE player 1000
	//PRINT_BIG ( YD1_BON ) 1000 4
	PRINT_WITH_NUMBER_BIG (YD1_CNT) counter_player_points 2000 4
	ADD_ONE_OFF_SOUND player_car_x player_car_y player_car_z SOUND_PART_MISSION_COMPLETE
	GOSUB finish_coord_generator
RETURN
 
nonplayer_points_1:
	++ counter_nonplayer1_points
	++ counter_finish
	ADD_ONE_OFF_SOUND player_car_x player_car_y player_car_z SOUND_PART_MISSION_COMPLETE
	GOSUB finish_coord_generator
RETURN
 
nonplayer_points_2:
	++ counter_nonplayer2_points
	++ counter_finish
	ADD_ONE_OFF_SOUND player_car_x player_car_y player_car_z SOUND_PART_MISSION_COMPLETE
	GOSUB finish_coord_generator
RETURN
 
nonplayer_points_3:
	++ counter_nonplayer3_points
	++ counter_finish
	ADD_ONE_OFF_SOUND player_car_x player_car_y player_car_z SOUND_PART_MISSION_COMPLETE
	GOSUB finish_coord_generator
RETURN
 
 
 
//----------------FINISH COORD GENERATOR--------------------------------------
 
finish_coord_generator:
 
 
IF flag_random_yd1 = 0
 
	IF counter_finish = 1
		REMOVE_BLIP blip_rush_destination
		finish_x = 106.0
		finish_y = -403.36
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
		//flag_corona_yd1 = 1
	ENDIF
 
	IF counter_finish = 2
		REMOVE_BLIP blip_rush_destination
		finish_x = 86.8
		finish_y = -538.6
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
		//flag_corona_yd1 = 0
	ENDIF
 
	IF counter_finish = 3
		REMOVE_BLIP blip_rush_destination
		finish_x = 173.5
		finish_y = -696.6
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 4
		REMOVE_BLIP blip_rush_destination
		finish_x = 165.0
		finish_y = -886.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 5
		REMOVE_BLIP blip_rush_destination
		finish_x = 78.5
		finish_y = -945.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 6
		REMOVE_BLIP blip_rush_destination
		finish_x = -69.4
		finish_y = -926.2
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
 
	IF counter_finish = 7
		REMOVE_BLIP blip_rush_destination
		finish_x = 207.8
		finish_y = -1041.5
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
 
	IF counter_finish = 8
		REMOVE_BLIP blip_rush_destination
		finish_x = 49.1
		finish_y = -1034.1
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 9
		REMOVE_BLIP blip_rush_destination
		finish_x = 74.3
		finish_y = -920.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 10
		REMOVE_BLIP blip_rush_destination
		finish_x = 105.5
		finish_y = -1095.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 11
		REMOVE_BLIP blip_rush_destination
		finish_x = -114.0
		finish_y = -499.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 12
		REMOVE_BLIP blip_rush_destination
		finish_x = -10.79
		finish_y = -463.1
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 13
		REMOVE_BLIP blip_rush_destination
		finish_x = 346.0
		finish_y = -1211.4
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
	/*
	IF counter_finish = 14
		REMOVE_BLIP blip_rush_destination
		finish_x = 524.3
		finish_y = -519.6
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 15
		REMOVE_BLIP blip_rush_destination
		finish_x = 530.4
		finish_y = -55.2
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 16
		REMOVE_BLIP blip_rush_destination
		finish_x = 548.5
		finish_y = -370.5
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 17
		REMOVE_BLIP blip_rush_destination
		finish_x = 69.8
		finish_y = 107.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 18
		REMOVE_BLIP blip_rush_destination
		finish_x = -41.6 
		finish_y = -1353.5
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
	*/
	IF counter_finish = 14
		REMOVE_BLIP blip_rush_destination
		finish_x = start_x
		finish_y = start_y
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 15
		REMOVE_BLIP blip_rush_destination
	ENDIF
 
ENDIF
 
IF flag_random_yd1 = 1
 
	IF counter_finish = 1
		REMOVE_BLIP blip_rush_destination
		finish_x = 173.5
		finish_y = -696.6
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 2
		REMOVE_BLIP blip_rush_destination
		finish_x = -114.0
		finish_y = -499.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 3
		REMOVE_BLIP blip_rush_destination
		finish_x = -10.79
		finish_y = -463.1
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 4
		REMOVE_BLIP blip_rush_destination
		finish_x = 78.5
		finish_y = -945.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 5
		REMOVE_BLIP blip_rush_destination
		finish_x = -69.4
		finish_y = -926.2
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 6
		REMOVE_BLIP blip_rush_destination
		finish_x = -73.4
		finish_y = -1013.6
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 7
		REMOVE_BLIP blip_rush_destination
		finish_x = 207.8
		finish_y = -1041.5
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 8
		REMOVE_BLIP blip_rush_destination
		finish_x = 86.8
		finish_y = -538.6
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
		//flag_corona_yd1 = 0
	ENDIF
 
	IF counter_finish = 9
		REMOVE_BLIP blip_rush_destination
		finish_x = 49.1
		finish_y = -1034.1
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 10
		REMOVE_BLIP blip_rush_destination
		finish_x = 74.3
		finish_y = -920.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 11
		REMOVE_BLIP blip_rush_destination
		finish_x = 105.5
		finish_y = -1095.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
 
	IF counter_finish = 12
		REMOVE_BLIP blip_rush_destination
		finish_x = 346.0
		finish_y = -1211.4
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
 
	IF counter_finish = 13
		REMOVE_BLIP blip_rush_destination
		finish_x = -8.4
		finish_y = -803.2
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
	/*
	IF counter_finish = 14
		REMOVE_BLIP blip_rush_destination
		finish_x = 548.5
		finish_y = -370.5
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 15
		REMOVE_BLIP blip_rush_destination
		finish_x = 165.0
		finish_y = -886.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 16
		REMOVE_BLIP blip_rush_destination
		finish_x = 69.8
		finish_y = 107.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 17
		REMOVE_BLIP blip_rush_destination
		finish_x = -41.6 
		finish_y = -1353.5
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 18
		REMOVE_BLIP blip_rush_destination
		finish_x = 106.0
		finish_y = -403.36
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
		//flag_corona_yd1 = 1
	ENDIF
	*/
	IF counter_finish = 14
		REMOVE_BLIP blip_rush_destination
		finish_x = start_x
		finish_y = start_y
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 15
		REMOVE_BLIP blip_rush_destination
	ENDIF
ENDIF
 
IF flag_random_yd1 = 2
 
	IF counter_finish = 14
		REMOVE_BLIP blip_rush_destination
		finish_x = start_x
		finish_y = start_y
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
	/*
	IF counter_finish = 18
		REMOVE_BLIP blip_rush_destination
		finish_x = -10.79
		finish_y = -463.1
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 17
		REMOVE_BLIP blip_rush_destination
		finish_x = 78.5
		finish_y = -945.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 16
		REMOVE_BLIP blip_rush_destination
		finish_x = -69.4
		finish_y = -926.2
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 15
		REMOVE_BLIP blip_rush_destination
		finish_x = 524.3
		finish_y = -519.6
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 14
		REMOVE_BLIP blip_rush_destination
		finish_x = 172.8
		finish_y = -1066.9
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
	*/
	IF counter_finish = 13
		REMOVE_BLIP blip_rush_destination
		finish_x = 86.8
		finish_y = -538.6
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
		//flag_corona_yd1 = 0
	ENDIF
 
	IF counter_finish = 12
		REMOVE_BLIP blip_rush_destination
		finish_x = 49.1
		finish_y = -1034.1
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 11
		REMOVE_BLIP blip_rush_destination
		finish_x = 74.3
		finish_y = -920.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 10
		REMOVE_BLIP blip_rush_destination
		finish_x = 105.5
		finish_y = -1095.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
 
	IF counter_finish = 9
		REMOVE_BLIP blip_rush_destination
		finish_x = 346.0
		finish_y = -1211.4
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
 
	IF counter_finish = 8
		REMOVE_BLIP blip_rush_destination
		finish_x = -8.4
		finish_y = -803.2
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 7
		REMOVE_BLIP blip_rush_destination
		finish_x = 251.5
		finish_y = -208.5
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 6
		REMOVE_BLIP blip_rush_destination
		finish_x = 165.0
		finish_y = -886.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 5
		REMOVE_BLIP blip_rush_destination
		finish_x = -72.5
		finish_y = -803.0
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 4
		REMOVE_BLIP blip_rush_destination
		finish_x = -41.6 
		finish_y = -1353.5
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 3
		REMOVE_BLIP blip_rush_destination
		finish_x = 106.0
		finish_y = -403.36
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
		//flag_corona_yd1 = 1
	ENDIF
 
	IF counter_finish = 2
		REMOVE_BLIP blip_rush_destination
		finish_x = 122.1
		finish_y = -932.0 
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 1
		REMOVE_BLIP blip_rush_destination
		finish_x = 173.5
		finish_y = -696.6
		ADD_BLIP_FOR_COORD finish_x finish_y -100.0 blip_rush_destination
	ENDIF
 
	IF counter_finish = 15
		REMOVE_BLIP blip_rush_destination
	ENDIF
ENDIF
 
RETURN

yard2

MISSION_START
// *****************************************************************************************
// *****************************************************************************************
// *****************************************************************************************
// *****************************************YARDIE MISSION 2******************************** 
// *****************************************************************************************
// ********************************************'UZI RIDER'**********************************
// *****************************************************************************************
 
// Mission start stuff
 
GOSUB mission_start_yd2
IF HAS_DEATHARREST_BEEN_EXECUTED 
	GOSUB mission_yd2_failed
ENDIF
GOSUB mission_cleanup_yd2
 
MISSION_END
 
// Variables for mission
 
VAR_INT gang_car_yd2
 
VAR_INT chaperone_1 chaperone_2
 
VAR_INT body_count_yd2
 
VAR_INT player_yd2 wanted_yd2 flag_clear
 
VAR_INT blip_driveby_yd2
 
VAR_INT flag_upsidedown flag_chap_1_n&v flag_chap_2_n&v flag_out_of_car_message
 
VAR_INT	driveby_total_1 driveby_total_2
VAR_INT timer_dif_yd2 timer_start_yd2 timer_now_yd2	
 
 
VAR_FLOAT driveby_x driveby_y
 
VAR_FLOAT yd2turf_x yd2turf_y
 
VAR_FLOAT y2_x y2_y y2_z
//VAR_FLOAT yd2_x yd2_y yd2_z
//VAR_FLOAT chap_1_x chap_1_y chap_1_z
//VAR_FLOAT chap_2_x chap_2_y chap_2_z
 
 
// ****************************************Mission Start************************************
 
mission_start_yd2:
REGISTER_MISSION_GIVEN
SCRIPT_NAME yard2 
flag_player_on_mission = 1
flag_player_on_yardie_mission = 1
WAIT 0
 
/*
IF CAN_PLAYER_START_MISSION Player
	MAKE_PLAYER_SAFE_FOR_CUTSCENE Player
ELSE
	GOTO mission_yd2_failed
ENDIF
 
SET_FADING_COLOUR 0 0 0
 
DO_FADE 1500 FADE_OUT
 
//SWITCH_STREAMING OFF
 
PRINT_BIG ( YD2 ) 15000 2 //"Yardie Mission 1"	 
 
TIMERA = 0
 
WHILE TIMERA < 1500					  
	WAIT 0
 
ENDWHILE
*/
 
// ******************************************CUTSCENE***************************************
 
 
 
 
 
SET_PED_DENSITY_MULTIPLIER 0.0
SET_POLICE_IGNORE_PLAYER player on
 
 
//WHILE NOT HAS_MODEL_LOADED cut_obj1
//	WAIT 0
 
//ENDWHILE
 
LOAD_CUTSCENE YD_PH2
SET_CUTSCENE_OFFSET 121.0 -272.3 15.25
CLEAR_AREA_OF_CHARS 100.5 -250.0 0.0 130.5 -290.0 25.0
 
CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
SET_CUTSCENE_ANIM cs_player player
 
//CREATE_CUTSCENE_HEAD cs_player CUT_OBJ1 cs_playerhead
//SET_CUTSCENE_HEAD_ANIM cs_playerhead player
 
//CLEAR_AREA 1219.5 -321.1 27.5 1.0 TRUE
//SET_PLAYER_COORDINATES player 1219.5 -321.1 26.4
 
//SET_PLAYER_HEADING player 180.0
 
DO_FADE 1500 FADE_IN
 
//SWITCH_STREAMING OFF
START_CUTSCENE
 
// Displays cutscene text
 
 
GET_CUTSCENE_TIME cs_time
 
WHILE cs_time < 2000
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
PRINT_NOW ( YD2_A ) 10000 1 
 
WHILE cs_time < 4581
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD2_A1 ) 10000 1 
 
WHILE cs_time < 7135
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD2_B ) 10000 1 
 
WHILE cs_time < 10431
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD2_B1 ) 10000 1 
/*
WHILE cs_time < 13770
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD2_D ) 10000 1 
 
WHILE cs_time < 18676
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD2_D1 ) 10000 1 
 
 
WHILE cs_time < 24139
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( DIAB2_G ) 10000 1 
 
WHILE cs_time < 28919
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( DIAB2_H ) 10000 1 
*/
WHILE cs_time < 13900
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
 
 
DO_FADE 1500 FADE_OUT
 
WHILE GET_FADING_STATUS
	WAIT 0
ENDWHILE
 
WHILE NOT HAS_CUTSCENE_FINISHED
	WAIT 0
ENDWHILE
 
 
SWITCH_STREAMING ON
CLEAR_PRINTS
CLEAR_CUTSCENE
//SET_CAMERA_IN_FRONT_OF_PLAYER
 
 
WAIT 0
 
REQUEST_MODEL CAR_PERENNIAL
REQUEST_MODEL PED_GANG_YARDIE_A
REQUEST_MODEL PED_GANG_YARDIE_B
 
WHILE NOT HAS_MODEL_LOADED CAR_PERENNIAL
OR NOT HAS_MODEL_LOADED PED_GANG_YARDIE_A
OR NOT HAS_MODEL_LOADED PED_GANG_YARDIE_B
	WAIT 0
ENDWHILE
 
//PRINT_BIG ( YD2 ) 15000 2
 
timer_dif_yd2 = 0
flag_out_of_car_message = 0
flag_upsidedown = 0
flag_chap_1_n&v = 0
flag_chap_2_n&v = 0
flag_clear = 0
body_count_yd2 = 0
driveby_total_1 = 0
driveby_total_2 = 0
 
RESET_NUM_OF_MODELS_KILLED_BY_PLAYER
 
//------------COORDS-----------------------
 
driveby_x = 940.0
driveby_y = -220.0
 
yd2turf_x = 231.0
yd2turf_y = -531.0
 
//------------------CUTSCENE-------------------------------
STORE_WANTED_LEVEL player wanted_yd2
CLEAR_WANTED_LEVEL player
 
SET_PLAYER_CONTROL player off
GET_PLAYER_CHAR player player_yd2
 
SET_FIXED_CAMERA_POSITION 117.3 -266.3 17.0 0.0 0.0 0.0
POINT_CAMERA_AT_PLAYER player FIXED JUMP_CUT
SWITCH_WIDESCREEN on
 
//clear traffic--------------------------
 
   // SETUP_ZONE_CAR_INFO STADIUM DAY   (10) (0 0 0) 0 0 0 0 20 300 300 300 0 0 0
   // SETUP_ZONE_CAR_INFO STADIUM NIGHT ( 7) (0 0 0) 0 0 0 0 10 300 300 300 0 0 0
 
SET_CAR_DENSITY_MULTIPLIER 0.0
 
/*
PRINT_NOW ( YD2_A ) 4000 1//I need to see if you're capable of doing my dirty work
WAIT 4000
 
PRINT_NOW ( YD2_B ) 4000 1//A couple of my boys will be there to meet you and take you for a ride.
WAIT 4000
*/
// Mission stuff goes here
 
//DO_FADE 1500 FADE_OUT
//WAIT 1500
 
CLEAR_AREA 4.2 -310.1 16.0 40.0 true
CLEAR_AREA 97.0 -285.5 16.0 50.0 true
 
DO_FADE 1500 FADE_IN
WAIT 1500
 
CREATE_CAR CAR_PERENNIAL 4.2 -310.1 16.0 gang_car_yd2
SET_CAR_HEADING gang_car_yd2 0.0
SET_CAR_ONLY_DAMAGED_BY_PLAYER gang_car_yd2 True
 
CREATE_CHAR_INSIDE_CAR gang_car_yd2 PEDTYPE_CIVMALE PED_GANG_YARDIE_A chaperone_1
CREATE_CHAR_AS_PASSENGER gang_car_yd2 PEDTYPE_CIVMALE PED_GANG_YARDIE_B 0 chaperone_2
 
 
CAR_GOTO_COORDINATES gang_car_yd2 113.0 -272.0 16.0
SET_CAR_CRUISE_SPEED gang_car_yd2 25.0
SET_CAR_DRIVING_STYLE gang_car_yd2 3
 
 
 
IF NOT IS_CAR_DEAD gang_car_yd2
	POINT_CAMERA_AT_CAR gang_car_yd2 FIXED INTERPOLATION
ENDIF
 
WHILE NOT LOCATE_STOPPED_CAR_2D gang_car_yd2 113.0 -272.0 5.0 5.0 false
	WAIT 0
	IF IS_CAR_DEAD gang_car_yd2
		GOTO mission_yd2_failed_assert
	ENDIF
	IF flag_clear = 0
		CLEAR_AREA 115.0 -272.0 16.0 10.0 true
		flag_clear = 1
	ENDIF
ENDWHILE
 
TURN_CHAR_TO_FACE_COORD player_yd2 115.0 -272.0 16.0 
 
IF NOT IS_CAR_DEAD gang_car_yd2
	CAR_SET_IDLE gang_car_yd2
	IF NOT IS_CHAR_DEAD chaperone_2
	AND NOT IS_CHAR_DEAD chaperone_1
		SET_CHAR_OBJ_LEAVE_CAR chaperone_1 gang_car_yd2
		SET_CHAR_OBJ_LEAVE_CAR chaperone_2 gang_car_yd2
	ENDIF
ENDIF
 
IF NOT IS_CHAR_DEAD chaperone_2
AND NOT IS_CHAR_DEAD chaperone_1
AND NOT IS_CAR_DEAD gang_car_yd2
	WHILE IS_CHAR_IN_CAR chaperone_2 gang_car_yd2
	OR IS_CHAR_IN_CAR chaperone_1 gang_Car_yd2
		WAIT 0
		IF IS_CHAR_DEAD chaperone_2
		OR IS_CHAR_DEAD chaperone_1
		OR IS_CAR_DEAD gang_car_yd2
			GOTO mission_yd2_failed_assert
		ENDIF
	ENDWHILE
ELSE
	GOTO mission_yd2_failed_assert
ENDIF
 
IF NOT IS_CHAR_DEAD	chaperone_2
	POINT_CAMERA_AT_CHAR chaperone_2 FIXED INTERPOLATION
ENDIF
 
IF NOT IS_CHAR_DEAD	chaperone_1
AND NOT IS_CHAR_DEAD player_yd2
	CHAR_LOOK_AT_CHAR_ALWAYS chaperone_1 player_yd2
ENDIF
 
plinky_yd2:
 
WAIT 0
 
GET_PLAYER_COORDINATES player y2_x y2_y y2_z
 
IF NOT IS_CHAR_DEAD chaperone_2
AND NOT IS_CHAR_DEAD chaperone_1
	SET_CHAR_HEALTH	chaperone_1 100
	SET_CHAR_HEALTH chaperone_2 100
	//y2_x = y2_x + 1.0
	y2_y = y2_y - 1.0
	SET_CHAR_OBJ_GOTO_COORD_ON_FOOT chaperone_2 y2_x y2_y
	SET_CHAR_OBJ_WAIT_ON_FOOT chaperone_1
	//GET_CHAR_COORDINATES chaperone_2 yd2_x yd2_y yd2_z
	CHAR_LOOK_AT_CHAR_ALWAYS chaperone_2 player_yd2
	CHAR_LOOK_AT_CHAR_ALWAYS player_yd2 chaperone_2
	IF NOT LOCATE_CHAR_ON_FOOT_2D chaperone_2 y2_X y2_Y 2.0 2.0 false
		GOTO plinky_yd2
	ENDIF
ELSE
	GOTO mission_yd2_failed_assert
ENDIF
 
IF NOT IS_CHAR_DEAD chaperone_2
	TURN_CHAR_TO_FACE_PLAYER chaperone_2 player
	TURN_CHAR_TO_FACE_CHAR player_yd2 chaperone_2 
	SET_CHAR_OBJ_WAIT_ON_FOOT chaperone_2
ELSE
	GOTO mission_yd2_failed_assert
ENDIF
 
LOAD_MISSION_AUDIO YD2_A
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO poodle
	ENDIF
ENDWHILE
PLAY_MISSION_AUDIO
PRINT_NOW ( YD2_C ) 10000 1//We're going for a little ride into Hepburn Heights, Whack us some Diablo's.
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO poodle
	ENDIF
ENDWHILE
CLEAR_PRINTS
 
IF NOT IS_CHAR_DEAD chaperone_1
	SET_CHAR_HEALTH	chaperone_1 100
ENDIF
IF NOT IS_CHAR_DEAD chaperone_2
	SET_CHAR_HEALTH	chaperone_2 100
ENDIF
 
LOAD_MISSION_AUDIO YD2_B
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO poodle
	ENDIF
ENDWHILE
PLAY_MISSION_AUDIO
PRINT_NOW (YD2_D ) 10000 1//You do the driving and shooting. We'll make sure you don't get cold feet
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO poodle
	ENDIF
ENDWHILE
CLEAR_PRINTS
 
IF NOT IS_CHAR_DEAD chaperone_1
	SET_CHAR_HEALTH	chaperone_1 100
ENDIF
IF NOT IS_CHAR_DEAD chaperone_2
	SET_CHAR_HEALTH	chaperone_2 100
ENDIF
 
LOAD_MISSION_AUDIO YD2_C
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO poodle
	ENDIF
ENDWHILE
PLAY_MISSION_AUDIO
PRINT_NOW (YD2_CC) 10000 1//Here, you'll need a 'piece'
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
	IF IS_BUTTON_PRESSED PAD1 CROSS
		GOTO poodle
	ENDIF
ENDWHILE
CLEAR_PRINTS
 
poodle:
STOP_CHAR_LOOKING player_yd2
//SET_CHAR_OBJ_NO_OBJ player_yd2
//SET_PLAYER_CONTROL player on
 
GIVE_WEAPON_TO_PLAYER player WEAPONTYPE_UZI 150
WAIT 1000
SET_CURRENT_PLAYER_WEAPON player WEAPONTYPE_UZI
 
WHILE NOT IS_CURRENT_PLAYER_WEAPON player WEAPONTYPE_UZI
	WAIT 0
ENDWHILE
 
 
//SET_PLAYER_CONTROL player off
 
POINT_CAMERA_AT_PLAYER player FIXED INTERPOLATION
 
IF NOT IS_CHAR_DEAD chaperone_1
	SET_CHAR_HEALTH	chaperone_1 100
	STOP_CHAR_LOOKING  chaperone_1
	IF NOT IS_CAR_DEAD gang_car_yd2
		SET_CHAR_OBJ_ENTER_CAR_AS_PASSENGER chaperone_1 gang_car_yd2
	ENDIF
ENDIF
IF NOT IS_CHAR_DEAD chaperone_2
	SET_CHAR_HEALTH	chaperone_2 100
	CHAR_LOOK_AT_CHAR_ALWAYS chaperone_2 player_yd2
ENDIF
 
SET_RADIO_CHANNEL JAH_RADIO 0
 
IF NOT IS_CAR_DEAD gang_car_yd2
	SET_CHAR_OBJ_ENTER_CAR_AS_DRIVER player_yd2 gang_car_yd2
ELSE
	GOTO mission_yd2_failed_assert
ENDIF
 
WHILE NOT IS_CHAR_IN_CAR player_yd2 gang_car_yd2
	WAIT 0
	IF IS_CAR_DEAD gang_car_yd2
		GOTO mission_yd2_failed_assert
	ENDIF
 
	IF NOT IS_CHAR_DEAD chaperone_1
		SET_CHAR_HEALTH	chaperone_1 100
	ENDIF
	IF NOT IS_CHAR_DEAD chaperone_2
		SET_CHAR_HEALTH	chaperone_2 100
	ENDIF
ENDWHILE
 
IF NOT IS_CAR_DEAD gang_car_yd2
AND NOT IS_CHAR_DEAD chaperone_2
AND NOT IS_CHAR_DEAD chaperone_1
	STOP_CHAR_LOOKING chaperone_1
	STOP_CHAR_LOOKING chaperone_2
	SET_CHAR_OBJ_ENTER_CAR_AS_PASSENGER chaperone_2 gang_car_yd2
 
	WHILE NOT IS_CHAR_IN_CAR chaperone_2 gang_car_yd2
	OR NOT IS_CHAR_IN_CAR chaperone_1 gang_car_yd2
		WAIT 0
		IF IS_CHAR_DEAD chaperone_2
		OR IS_CHAR_DEAD chaperone_1
		OR IS_CAR_DEAD gang_car_yd2
			GOTO mission_yd2_failed_assert
		ENDIF
		IF NOT IS_CHAR_DEAD chaperone_1
			SET_CHAR_HEALTH	chaperone_1 100
		ENDIF
		IF NOT IS_CHAR_DEAD chaperone_2
			SET_CHAR_HEALTH	chaperone_2 100
		ENDIF
	ENDWHILE
	//LOCK_CAR_DOORS gang_car_yd2 CARLOCK_LOCKED
ELSE
	GOTO mission_yd2_failed_assert
ENDIF
 
IF NOT IS_CAR_DEAD gang_car_yd2
	SET_CAR_ONLY_DAMAGED_BY_PLAYER gang_car_yd2 false
	//LOCK_CAR_DOORS gang_car_yd2 CARLOCK_LOCKED
ENDIF
 
IF NOT IS_CHAR_DEAD chaperone_1
	SET_CHAR_CANT_BE_DRAGGED_OUT chaperone_1 TRUE
	SET_CHAR_STAYS_IN_CURRENT_LEVEL chaperone_1 FALSE
ENDIF
IF NOT IS_CHAR_DEAD chaperone_2
	SET_CHAR_CANT_BE_DRAGGED_OUT chaperone_2 TRUE
	SET_CHAR_STAYS_IN_CURRENT_LEVEL chaperone_2 FALSE
ENDIF
 
RESTORE_CAMERA_JUMPCUT
SWITCH_WIDESCREEN off
SET_PLAYER_CONTROL player on
 
LOAD_MISSION_AUDIO YD2_C1
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
ENDWHILE
PLAY_MISSION_AUDIO
PRINT_SOON ( YD2_E ) 4000 1//Let's drive!!
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
ENDWHILE
 
ADD_BLIP_FOR_COORD driveby_x driveby_y -100.0 blip_driveby_yd2
 
SET_PED_DENSITY_MULTIPLIER 1.0
SET_POLICE_IGNORE_PLAYER player off
 
 
//----reset traffic density--------------------------
 
SET_CAR_DENSITY_MULTIPLIER 1.0
 
//---------------------SET PED DENSITIES----------------------------------------------------
 
SETUP_ZONE_PED_INFO	TOWERS DAY   (15) 0 0 700 (0 0 0 0) 20 
SETUP_ZONE_PED_INFO TOWERS NIGHT (10) 0 0 800 (0 0 0 0) 10
 
 
//-----------------------GETTING TO THE HIT-------------------------------------------------
 
ALTER_WANTED_LEVEL player wanted_yd2
 
getting_there:
 
IF NOT IS_CAR_DEAD gang_car_yd2
	WHILE NOT IS_PLAYER_IN_ZONE player TOWERS
		WAIT 0
 
		IF NOT IS_CAR_DEAD gang_car_yd2
			IF IS_CAR_UPSIDEDOWN gang_car_yd2
			AND IS_CAR_STOPPED gang_car_yd2
				flag_upsidedown = 1
				GOTO mission_yd2_failed
			ENDIF
			IF NOT IS_CAR_HEALTH_GREATER gang_car_yd2 250 //NB!! Add Sub spray shop
				IF NOT LOCATE_CAR_3D gang_car_yd2 379.0 -493.7 26.2 15.0 15.0 15.0 false//comm spray shop
				AND NOT LOCATE_CAR_3D gang_car_yd2 925.4 -358.7 10.8 15.0 15.0 15.0 false//ind spray shop
					flag_upsidedown = 1
					GOTO mission_yd2_failed
				ENDIF
			ENDIF
 
			IF NOT IS_PLAYER_IN_CAR player gang_car_yd2
				flag_upsidedown = 2
				GOSUB player_out_of_car
				IF NOT IS_CAR_DEAD gang_car_yd2
					IF NOT IS_PLAYER_IN_CAR player gang_car_yd2
						flag_upsidedown = 2
						GOTO mission_yd2_failed
					ENDIF
				ELSE
					GOTO mission_yd2_failed_assert
				ENDIF
				LOCK_CAR_DOORS gang_car_yd2 CARLOCK_LOCKED
			ENDIF
		ELSE
			GOTO mission_yd2_failed_assert
		ENDIF
 
	ENDWHILE
ELSE
	GOTO mission_yd2_failed_assert
ENDIF
 
LOAD_MISSION_AUDIO YD2_F
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
ENDWHILE
PLAY_MISSION_AUDIO
PRINT_NOW (YD2_G1) 2500 1//Hepburn Heights -Diablo turf.
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
ENDWHILE
 
LOAD_MISSION_AUDIO YD2_G
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
ENDWHILE
PLAY_MISSION_AUDIO
PRINT_SOON (YD2_G2) 2500 1 //"Whack us five Diablos, but remember; you don't leave this car!"
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
ENDWHILE
 
 
//------------------------------THE HIT-----------------------------------------------------------------
 
REMOVE_BLIP blip_driveby_yd2 
DISPLAY_ONSCREEN_COUNTER_WITH_STRING body_count_yd2 COUNTER_DISPLAY_NUMBER KILLS
 
WHILE body_count_yd2 < 10
 
	WAIT 0
		IF NOT IS_CAR_DEAD gang_car_yd2
			IF IS_CAR_UPSIDEDOWN gang_car_yd2
			AND IS_CAR_STOPPED gang_car_yd2
				flag_upsidedown = 1
				GOTO mission_yd2_failed
			ENDIF
			IF NOT IS_CAR_HEALTH_GREATER gang_car_yd2 250 //NB!! Add Sub spray shop
				IF NOT LOCATE_CAR_3D gang_car_yd2 379.0 -493.7 26.2 15.0 15.0 15.0 false//comm spray shop
				AND NOT LOCATE_CAR_3D gang_car_yd2 925.4 -358.7 10.8 15.0 15.0 15.0 false//ind spray shop
					flag_upsidedown = 1
					GOTO mission_yd2_failed
				ENDIF
			ENDIF
			IF NOT IS_PLAYER_IN_CAR player gang_car_yd2
				GOSUB player_out_of_car
				IF NOT IS_CAR_DEAD gang_car_yd2
					IF NOT IS_PLAYER_IN_CAR player gang_car_yd2
						flag_upsidedown = 2
						GOTO mission_yd2_failed
					ENDIF
				ELSE
					GOTO mission_yd2_failed_assert
				ENDIF
			ENDIF
		ELSE
			GOTO mission_yd2_failed_assert
		ENDIF
 
		GET_NUM_OF_MODELS_KILLED_BY_PLAYER PED_GANG_DIABLO_A driveby_total_1
		GET_NUM_OF_MODELS_KILLED_BY_PLAYER PED_GANG_DIABLO_B driveby_total_2
		body_count_yd2 = driveby_total_1 + driveby_total_2
		/*
		IF body_count_yd2 > 1
			SET_GANG_PLAYER_ATTITUDE GANG_DIABLO HATES player
			SET_GANG_WEAPONS GANG_DIABLO WEAPONTYPE_BASEBALLBAT WEAPONTYPE_UZI
		ELSE
			SET_GANG_PLAYER_ATTITUDE GANG_DIABLO NEUTRAL player
		ENDIF
		*/
ENDWHILE
 
 
//------------------------------------BACK TO YARDIE TURF-------------------------------------------------------
LOAD_MISSION_AUDIO YD2_H
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
ENDWHILE
PLAY_MISSION_AUDIO
PRINT_NOW (YD2_H) 2500 1//"OK, Get us back to Yardie turf, GO GO GO!!"
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
ENDWHILE
 
CLEAR_ONSCREEN_COUNTER body_count_yd2
 
back_to_yardie_turf:
 
ADD_BLIP_FOR_COORD yd2turf_x yd2turf_y 26.0 blip_driveby_yd2
 
IF NOT IS_CAR_DEAD gang_car_yd2
	WHILE NOT LOCATE_STOPPED_CAR_3D gang_car_yd2 yd2turf_x yd2turf_y 26.0 5.0 5.0 5.0 true   
		WAIT 0
 
			IF NOT IS_CAR_DEAD gang_car_yd2
				IF IS_CAR_UPSIDEDOWN gang_car_yd2
				AND IS_CAR_STOPPED gang_car_yd2
					flag_upsidedown = 1
					GOTO mission_yd2_failed
				ENDIF
				IF NOT IS_CAR_HEALTH_GREATER gang_car_yd2 250 //NB!! Add Sub spray shop
					IF NOT LOCATE_CAR_3D gang_car_yd2 379.0 -493.7 26.2 15.0 15.0 15.0 false//comm spray shop
					AND NOT LOCATE_CAR_3D gang_car_yd2 925.4 -358.7 10.8 15.0 15.0 15.0 false//ind spray shop
						flag_upsidedown = 1
						GOTO mission_yd2_failed
					ENDIF
				ENDIF
				IF NOT IS_PLAYER_IN_CAR player gang_car_yd2
					GOSUB player_out_of_car
					IF NOT IS_CAR_DEAD gang_car_yd2
						IF NOT IS_PLAYER_IN_CAR player gang_car_yd2
							flag_upsidedown = 2
							GOTO mission_yd2_failed
						ENDIF
					ELSE
						GOTO mission_yd2_failed_assert
					ENDIF
				ENDIF
			ELSE
				GOTO mission_yd2_failed_assert
			ENDIF
	ENDWHILE
ELSE
	GOTO mission_yd2_failed_assert
ENDIF
/*
PRINT_NOW (YD2_I) 4000 1//"OK, stop and drop us off."
 
//REMOVE_BLIP blip_driveby_yd2
 
IF NOT IS_CAR_DEAD gang_car_yd2
	WHILE NOT IS_CAR_STOPPED_IN_AREA_2D gang_car_yd2 yd2turf_x yd2turf_y 5.0 5.0 true
 
		WAIT 0
		IF NOT IS_CAR_DEAD gang_car_yd2
			IF NOT LOCATE_CAR_2D gang_car_yd2 yd2turf_x yd2turf_y 30.0 30.0 false
				PRINT_SOON (YD2_J) 4000 1//HEY! Where you going? Get us back to our turf!
				GOTO back_to_yardie_turf
			ENDIF
			IF IS_CAR_UPSIDEDOWN gang_car_yd2
			AND IS_CAR_STOPPED gang_car_yd2
				flag_upsidedown = 1
				GOTO mission_yd2_failed
			ENDIF
			IF NOT IS_CAR_HEALTH_GREATER gang_car_yd2 50
				flag_upsidedown = 1
				GOTO mission_yd2_failed
			ENDIF
			IF NOT IS_PLAYER_IN_CAR player gang_car_yd2
				GOSUB player_out_of_car
				IF NOT IS_CAR_DEAD gang_car_yd2
					IF NOT IS_PLAYER_IN_CAR player gang_car_yd2
						flag_upsidedown = 2
						GOTO mission_yd2_failed
					ENDIF
				ELSE
					GOTO mission_yd2_failed_assert
				ENDIF
			ENDIF
		ELSE
			GOTO mission_yd2_failed_assert
		ENDIF
 
	ENDWHILE
ELSE
	GOTO mission_yd2_failed_assert
ENDIF
*/
SET_PLAYER_CONTROL player off
 
IF NOT IS_CHAR_DEAD chaperone_1
AND NOT IS_CHAR_DEAD chaperone_2
AND NOT IS_CAR_DEAD	gang_car_yd2
	SET_CAR_HEALTH gang_car_yd2 850
	SET_CHAR_OBJ_LEAVE_CAR chaperone_1 gang_car_yd2
	SET_CHAR_OBJ_LEAVE_CAR chaperone_2 gang_car_yd2
ELSE
	GOTO mission_yd2_failed_assert
ENDIF
 
LOAD_MISSION_AUDIO YD2_OK
WHILE NOT HAS_MISSION_AUDIO_LOADED
	WAIT 0
ENDWHILE
PLAY_MISSION_AUDIO
PRINT_NOW (YD2_L) 4000 1//"You did good Reaper Man!"
WHILE NOT HAS_MISSION_AUDIO_FINISHED
	WAIT 0
ENDWHILE
 
SET_PLAYER_CONTROL player on
 
GOTO mission_yd2_passed
 
 
 
// Mission Yardie2 failed
 
 
mission_yd2_failed:
 
IF NOT IS_CHAR_DEAD chaperone_1
AND NOT IS_CAR_DEAD	gang_car_yd2
	SET_CHAR_OBJ_LEAVE_CAR chaperone_1 gang_car_yd2
ENDIF
IF NOT IS_CHAR_DEAD chaperone_2
AND NOT IS_CAR_DEAD	gang_car_yd2
	SET_CHAR_OBJ_LEAVE_CAR chaperone_2 gang_car_yd2
ENDIF
 
IF flag_upsidedown = 1
	LOAD_MISSION_AUDIO YD2_D
	WHILE NOT HAS_MISSION_AUDIO_LOADED
		WAIT 0
	ENDWHILE
	PLAY_MISSION_AUDIO
	PRINT_NOW (YD2_M) 4000 1//"He's wrecked my car!! Waste him!!"
ENDIF
 
IF flag_upsidedown = 2
	LOAD_MISSION_AUDIO YD2_E
	WHILE NOT HAS_MISSION_AUDIO_LOADED
		WAIT 0
	ENDWHILE
	PLAY_MISSION_AUDIO
	PRINT_NOW (YD2_F) 4000 1//"He's bailing out on us!"
ENDIF
 
IF NOT IS_CHAR_DEAD chaperone_1
AND NOT IS_CAR_DEAD gang_car_yd2
	WHILE IS_CHAR_IN_CAR chaperone_1 gang_car_yd2
		WAIT 0
		IF IS_CHAR_DEAD chaperone_1
			GOTO boddle
		ENDIF
		IF IS_CAR_DEAD gang_car_yd2
			GOTO boddle
		ENDIF
	ENDWHILE
ENDIF
 
boddle:
IF NOT IS_CHAR_DEAD chaperone_2
AND NOT IS_CAR_DEAD gang_car_yd2
	WHILE IS_CHAR_IN_CAR chaperone_2 gang_car_yd2
		WAIT 0
		IF IS_CHAR_DEAD chaperone_2
			GOTO mission_yd2_failed_assert
		ENDIF
		IF IS_CAR_DEAD gang_car_yd2
			GOTO mission_yd2_failed_assert
		ENDIF
	ENDWHILE
ENDIF
 
IF NOT IS_CHAR_DEAD chaperone_1
	GIVE_WEAPON_TO_CHAR chaperone_1 WEAPONTYPE_SHOTGUN 10
	WHILE NOT IS_CURRENT_CHAR_WEAPON chaperone_1 WEAPONTYPE_SHOTGUN
		WAIT 0
		IF IS_CHAR_DEAD	chaperone_1
			GOTO oink
		ENDIF
	ENDWHILE
	IF NOT IS_CHAR_DEAD chaperone_1
		TURN_CHAR_TO_FACE_PLAYER chaperone_1 player
		IF IS_PLAYER_IN_ZONE player TOWERS
			SET_CHAR_THREAT_SEARCH chaperone_1 THREAT_GANG_DIABLO
		ENDIF
		SET_CHAR_THREAT_SEARCH chaperone_1 THREAT_PLAYER1
	ENDIF
ENDIF
 
oink:
 
IF NOT IS_CHAR_DEAD chaperone_2
	GIVE_WEAPON_TO_CHAR chaperone_2 WEAPONTYPE_UZI 30
	WHILE NOT IS_CURRENT_CHAR_WEAPON chaperone_2 WEAPONTYPE_UZI
		WAIT 0
		IF IS_CHAR_DEAD	chaperone_2
			GOTO poink
		ENDIF
	ENDWHILE
	IF NOT IS_CHAR_DEAD chaperone_2
		TURN_CHAR_TO_FACE_PLAYER chaperone_2 player
		IF IS_PLAYER_IN_ZONE player TOWERS
			SET_CHAR_THREAT_SEARCH chaperone_2 THREAT_GANG_DIABLO
		ENDIF
		SET_CHAR_THREAT_SEARCH chaperone_2 THREAT_PLAYER1
	ENDIF
ENDIF
 
poink:
/*
//Yardies chase player off!!
 
WHILE NOT IS_PLAYER_DEAD player
	WAIT 0
	IF NOT IS_CHAR_DEAD	chaperone_1
		GET_CHAR_COORDINATES chaperone_1 chap_1_x chap_1_y chap_1_z
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player chap_1_x chap_1_y 30.0 30.0 false
			MARK_CHAR_AS_NO_LONGER_NEEDED chaperone_1
			flag_chap_1_n&v = 1
		ENDIF
	ELSE
		flag_chap_1_n&v = 1
	ENDIF
	IF NOT IS_CHAR_DEAD	chaperone_2
		GET_CHAR_COORDINATES chaperone_2 chap_2_x chap_2_y chap_2_z
		IF NOT LOCATE_PLAYER_ANY_MEANS_2D player chap_2_x chap_2_y 30.0 30.0 false
			MARK_CHAR_AS_NO_LONGER_NEEDED chaperone_2
			flag_chap_2_n&v = 1
		ENDIF
	ELSE
		flag_chap_2_n&v = 1
	ENDIF
	IF flag_chap_1_n&v = 1
	AND flag_chap_2_n&v = 1
		GOTO mission_yd2_failed_assert
	ENDIF
 
ENDWHILE
*/		
mission_yd2_failed_assert:
 
PRINT_BIG ( M_FAIL ) 2000 1
 
RETURN   
 
// mission yd2 passed
 
mission_yd2_passed:
 
flag_yardie_mission2_passed = 1
 
IF NOT IS_CHAR_DEAD chaperone_1
AND NOT IS_CHAR_DEAD chaperone_2
AND NOT IS_CAR_DEAD	gang_car_yd2
	WHILE IS_CHAR_IN_CAR chaperone_1 gang_car_yd2
	OR IS_CHAR_IN_CAR chaperone_2 gang_car_yd2
		WAIT 0
		IF IS_CHAR_DEAD chaperone_1
		OR IS_CHAR_DEAD chaperone_2
		OR IS_CAR_DEAD	gang_car_yd2
			GOTO filby
		ENDIF
	ENDWHILE
ELSE
	GOTO filby
ENDIF
 
filby:
IF NOT IS_CHAR_DEAD	chaperone_1
	SET_CHAR_OBJ_FLEE_ON_FOOT_TILL_SAFE chaperone_1
ENDIF
IF NOT IS_CHAR_DEAD	chaperone_2
	SET_CHAR_OBJ_FLEE_ON_FOOT_TILL_SAFE chaperone_2
ENDIF
 
 
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 YD2
PLAYER_MADE_PROGRESS 1 
SET_THREAT_FOR_PED_TYPE PEDTYPE_GANG_DIABLO THREAT_PLAYER1
START_NEW_SCRIPT yardie_mission3_loop
RETURN
 
 
 
// mission cleanup
 
mission_cleanup_yd2:
 
REMOVE_BLIP blip_driveby_yd2
 
flag_player_on_mission = 0
flag_player_on_yardie_mission = 0
CLEAR_ONSCREEN_COUNTER body_count_yd2
REMOVE_BLIP blip_driveby_yd2
//SET_PLAYER_CONTROL player on
SWITCH_WIDESCREEN off
RESTORE_CAMERA_JUMPCUT
IF NOT IS_CAR_DEAD gang_car_yd2
	LOCK_CAR_DOORS gang_car_yd2 CARLOCK_UNLOCKED
ENDIF
MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_YARDIE_A
MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_YARDIE_B
 
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_PERENNIAL
 
//------------RESTORE PED DENSITIES---------------------------------------
 
SETUP_ZONE_PED_INFO	TOWERS DAY   (15) 0 0 300 (0 0 0 0) 20 
SETUP_ZONE_PED_INFO TOWERS NIGHT (10) 0 0 500 (0 0 0 0) 10
 
MISSION_HAS_FINISHED
RETURN
 
//-----------------------------GOSUBS----------------------------------------------
 
player_out_of_car:
	IF NOT IS_CAR_DEAD gang_car_yd2
		LOCK_CAR_DOORS gang_car_yd2 CARLOCK_UNLOCKED
	ENDIF
	WHILE timer_dif_yd2 < 7500
		WAIT 0
		IF NOT IS_CAR_DEAD gang_car_yd2
			IF NOT IS_CAR_HEALTH_GREATER gang_car_yd2 250 //NB!! Add Sub spray shop
				IF NOT LOCATE_CAR_3D gang_car_yd2 379.0 -493.7 26.2 15.0 15.0 15.0 false//comm spray shop
				AND NOT LOCATE_CAR_3D gang_car_yd2 925.4 -358.7 10.8 15.0 15.0 15.0 false//ind spray shop
					flag_upsidedown = 1
					GOTO mission_yd2_failed
				ENDIF
			ENDIF
			IF flag_out_of_car_message = 0
				LOAD_MISSION_AUDIO YD2_ASS
				WHILE NOT HAS_MISSION_AUDIO_LOADED
					WAIT 0
				ENDWHILE
				PLAY_MISSION_AUDIO
				PRINT_NOW (YD2_N) 3000 1//you got five seconds to get back in this car.
				flag_out_of_car_message = 1
				GET_GAME_TIMER timer_start_yd2
			ENDIF
			GET_GAME_TIMER timer_now_yd2
			timer_dif_yd2 = timer_now_yd2 - timer_start_yd2
 
			IF NOT IS_CAR_DEAD gang_car_yd2
				IF IS_PLAYER_IN_CAR player gang_car_yd2
					flag_out_of_car_message = 0
					RETURN
				ENDIF
			ENDIF
		ENDIF
	ENDWHILE
 
	LOCK_CAR_DOORS gang_car_yd2 CARLOCK_LOCKED
 
RETURN

yard3

MISSION_START
// *****************************************************************************************
// *****************************************************************************************
// *****************************************************************************************
// *****************************************YARDIE MISSION ******************************** 
// *****************************************************************************************
// ***************************************'GANG CAR ROUND_UP'*******************************
// *****************************************************************************************
 
// Mission start stuff
 
GOSUB mission_start_yd3
IF HAS_DEATHARREST_BEEN_EXECUTED 
	GOSUB mission_yd3_failed
ENDIF
GOSUB mission_cleanup_yd3
 
MISSION_END
 
// Variables for mission
 
VAR_INT gangcar_yd3
 
VAR_INT flag_player_in_diablocar flag_player_in_mafiacar flag_player_in_yakuzacar //flag_player_in_any_gangcar
VAR_INT flag_diablo_delivered_yd3 flag_yakuzacar_delivered_yd3 flag_mafia_delivered_yd3
VAR_INT loop_2_passport
VAR_INT counter_cars_yd3
//VAR_INT garage_yd3
VAR_INT blip_garage_yd3
VAR_INT flag_dam_message flag_garage_message flag_already_boosted_message
VAR_INT flag_messages //flag_gangcar_flipped flag_blip_garage flag_blip_spray
 
//VAR_FLOAT garage_min_x_yd3 garage_min_y_yd3
//VAR_FLOAT garage_max_x_yd3 garage_max_y_yd3
VAR_FLOAT blip_x_yd3 blip_y_yd3
//VAR_FLOAT gangcar_x gangcar_y gangcar_z
 
 
// ****************************************Mission Start************************************
 
mission_start_yd3:
REGISTER_MISSION_GIVEN
SCRIPT_NAME yard3 
flag_player_on_mission = 1
flag_player_on_yardie_mission = 1
 
WAIT 0
 
/*
IF CAN_PLAYER_START_MISSION Player
	MAKE_PLAYER_SAFE_FOR_CUTSCENE Player
ELSE
	GOTO mission_yd3_failed
ENDIF
 
SET_FADING_COLOUR 0 0 0
 
DO_FADE 1500 FADE_OUT
 
//SWITCH_STREAMING OFF
 
PRINT_BIG ( YD3 ) 15000 2 //"Yardie Mission 1"	 
 
TIMERA = 0
 
WHILE TIMERA < 1500					  
	WAIT 0
 
ENDWHILE
*/
 
// ******************************************CUTSCENE***************************************
 
 
 
 
 
SET_PED_DENSITY_MULTIPLIER 0.0
SET_POLICE_IGNORE_PLAYER player on
 
//WHILE NOT HAS_MODEL_LOADED cut_obj1
//	WAIT 0
 
//ENDWHILE
 
LOAD_CUTSCENE YD_PH3
SET_CUTSCENE_OFFSET 121.0 -272.3 15.25
CLEAR_AREA_OF_CHARS 100.5 -250.0 0.0 130.5 -290.0 25.0
 
CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
SET_CUTSCENE_ANIM cs_player player
 
//CREATE_CUTSCENE_HEAD cs_player CUT_OBJ1 cs_playerhead
//SET_CUTSCENE_HEAD_ANIM cs_playerhead player
 
//CLEAR_AREA 1219.5 -321.1 27.5 1.0 TRUE
//SET_PLAYER_COORDINATES player 1219.5 -321.1 26.4
 
//SET_PLAYER_HEADING player 180.0
 
DO_FADE 1500 FADE_IN
 
START_CUTSCENE
 
// Displays cutscene text
 
 
GET_CUTSCENE_TIME cs_time
 
WHILE cs_time < 2000
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
PRINT_NOW ( YD3_A ) 10000 1 
 
WHILE cs_time < 3700
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD3_A1 ) 10000 1 
 
WHILE cs_time < 6370
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD3_B ) 10000 1 
 
WHILE cs_time < 8658
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD3_B1 ) 10000 1 
 
WHILE cs_time < 10408
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD3_B2 ) 10000 1 
 
WHILE cs_time < 13950
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD3_C ) 10000 1 
 
WHILE cs_time < 16920
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD3_C1 ) 10000 1 
/*
 
WHILE cs_time < 28919
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( DIAB2_H ) 10000 1 
*/
WHILE cs_time < 20066
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
 
 
DO_FADE 1500 FADE_OUT
 
WHILE GET_FADING_STATUS
	WAIT 0
ENDWHILE
 
WHILE NOT HAS_CUTSCENE_FINISHED
	WAIT 0
 
ENDWHILE
 
SWITCH_STREAMING ON
CLEAR_PRINTS
CLEAR_CUTSCENE
//SET_CAMERA_IN_FRONT_OF_PLAYER
 
WAIT 500
 
DO_FADE 1500 FADE_IN
SET_PED_DENSITY_MULTIPLIER 1.0
SET_POLICE_IGNORE_PLAYER player off
 
 
 
 
//PRINT_BIG ( YD3 ) 15000 2
 
WAIT 1000
 
 
counter_cars_yd3 = 0
/*
 
blip_x_yd3 = 1217.0
blip_y_yd3 = -243.5
 
 
garage_min_x_yd3 = 1213.0   
garage_min_y_yd3 = -241.0
garage_max_x_yd3 = 1221.0
garage_max_y_yd3 = -245.5
 
garage_min_x_yd3 = 257.0   
garage_min_y_yd3 = -803.0
garage_max_x_yd3 = 263.0
garage_max_y_yd3 = -795.0*/
 
blip_x_yd3 = 260.0
blip_y_yd3 = -798.0
 
loop_2_passport = 0
 
flag_player_in_diablocar = 0
flag_player_in_mafiacar = 0
flag_player_in_yakuzacar = 0
//flag_player_in_any_gangcar = 0
 
flag_diablo_delivered_yd3 = 0
flag_yakuzacar_delivered_yd3 = 0
flag_mafia_delivered_yd3 = 0
 
flag_dam_message = 0
flag_garage_message = 0
flag_already_boosted_message = 0
 
//flag_gangcar_flipped = 0
flag_messages = 0
//flag_blip_garage = 0
//flag_blip_spray = 0
 
//PRINT_NOW ( YD3_A ) 4000 1 //"We want you to boost some gang cars so we can do hits on our enemies' turf and set them at each other's throats."
//MESSAGE_WAIT 4000 1
//PRINT_NOW ( YD3_B ) 4000 1 //"We want a Mafia beamer, a Triad van and a Diablo stallion so we can hit any gang in Portland."
//MESSAGE_WAIT 4000 1
//PRINT_NOW ( YD3_C ) 4000 1 //"Drop them off at <location> and remember, they're no use to us wrecked!!"
 
//SET_GARAGE garage_min_x_yd3 garage_min_y_yd3 26.8 garage_max_x_yd3 garage_max_y_yd3 31.8 GARAGE_MISSION garage_yd3
 
ADD_BLIP_FOR_COORD blip_x_yd3 blip_y_yd3 -100.0 blip_garage_yd3
 
// Mission stuff goes here
 
 
loop_1:
 
//WHILE counter_cars_yd3 < 3
 
	WAIT 0
	GOSUB blippage
 
	IF IS_PLAYER_IN_ANY_CAR player
 
		IF IS_PLAYER_IN_MODEL player CAR_DIABLOS 
			IF flag_diablo_delivered_yd3 = 0
				STORE_CAR_PLAYER_IS_IN player gangcar_yd3
				SET_CAN_RESPRAY_CAR gangcar_yd3 False
				flag_player_in_diablocar = 1
				flag_player_in_mafiacar = 0
				flag_player_in_yakuzacar = 0
				GOSUB damage_check
			ENDIF
			IF flag_diablo_delivered_yd3 = 1
			AND flag_already_boosted_message = 0
				PRINT_NOW ( YD3_E ) 3000 1 //You've already boosted a diablo gangcar!
				flag_already_boosted_message = 1
			ENDIF
		ENDIF
 
		IF IS_PLAYER_IN_MODEL player CAR_MAFIA
			IF flag_mafia_delivered_yd3 = 0
				STORE_CAR_PLAYER_IS_IN player gangcar_yd3
				SET_CAN_RESPRAY_CAR gangcar_yd3 False
				flag_player_in_diablocar = 0
				flag_player_in_mafiacar = 1
				flag_player_in_yakuzacar = 0
				GOSUB damage_check
			ENDIF
			IF flag_mafia_delivered_yd3 = 1
			AND flag_already_boosted_message = 0
				PRINT_NOW ( YD3_F ) 3000 1 //You've already boosted a mafia gangcar!
				flag_already_boosted_message = 1
			ENDIF
		ENDIF
 
		IF IS_PLAYER_IN_MODEL player CAR_YAKUZA
			IF flag_yakuzacar_delivered_yd3 = 0
				STORE_CAR_PLAYER_IS_IN player gangcar_yd3
				SET_CAN_RESPRAY_CAR gangcar_yd3 False
				flag_player_in_diablocar = 0
				flag_player_in_mafiacar = 0
				flag_player_in_yakuzacar = 1
				GOSUB damage_check
			ENDIF
 
			IF flag_yakuzacar_delivered_yd3 = 1
			AND flag_already_boosted_message = 0
				PRINT_NOW (YD3_G) 3000 1 //You've already boosted a Triad fish van!
				flag_already_boosted_message = 1
			ENDIF
		ENDIF
 
	ELSE
		flag_dam_message = 0
		flag_garage_message = 0
		flag_already_boosted_message = 0
		//loop_2_passport = 0
	ENDIF
 
	IF loop_2_passport = 0
		GOTO loop_1
	ENDIF
 
	//flag_messages = 0
 
loop_2:
 
	GOSUB damage_check
	IF IS_CAR_IN_MISSION_GARAGE garage_yd3
 
	//IF IS_CAR_IN_AREA_2D gangcar_yd3 garage_min_x_yd3 garage_min_y_yd3 garage_max_x_yd3 garage_max_y_yd3 false
	//AND NOT IS_PLAYER_IN_AREA_2D player garage_min_x_yd3 garage_min_y_yd3 garage_max_x_yd3 garage_max_y_yd3 false
	//AND IS_CAR_HEALTH_GREATER gangcar_yd3 800
 
		//GOSUB blippage
 
 
 
		IF flag_player_in_diablocar = 1
		AND flag_diablo_delivered_yd3 = 0 
			flag_diablo_delivered_yd3 = 1
			++ counter_cars_yd3
			flag_player_in_diablocar = 0
			//flag_player_in_any_gangcar = 0
 
			loop_2_passport = 0
			PRINT_NOW (YD3_H) 3000 1 //Diablo gangcar boosted!
			ADD_ONE_OFF_SOUND 260.0 -790.0 28.0 SOUND_PART_MISSION_COMPLETE
		ENDIF
 
		IF flag_player_in_mafiacar = 1
		AND flag_mafia_delivered_yd3 = 0 
			flag_mafia_delivered_yd3 = 1
			++ counter_cars_yd3
			flag_player_in_mafiacar = 0
			//flag_player_in_any_gangcar = 0
 
			loop_2_passport = 0
			PRINT_NOW (YD3_I) 3000 1 //Mafia gangcar boosted!
			ADD_ONE_OFF_SOUND 260.0 -790.0 28.0 SOUND_PART_MISSION_COMPLETE
		ENDIF
 
	   	IF flag_player_in_yakuzacar = 1
		AND flag_yakuzacar_delivered_yd3 = 0 
			++ counter_cars_yd3
			flag_yakuzacar_delivered_yd3 = 1
			flag_player_in_yakuzacar = 0
			//flag_player_in_any_gangcar = 0
 
			loop_2_passport = 0
			PRINT_NOW (YD3_J) 3000 1 //Triad gangcar boosted!
			ADD_ONE_OFF_SOUND 260.0 -790.0 28.0 SOUND_PART_MISSION_COMPLETE
		ENDIF
 
	ENDIF
 
	IF NOT IS_CAR_DEAD gangcar_yd3
		IF IS_CAR_IN_AREA_2D gangcar_yd3 garage_min_x_yd3 garage_min_y_yd3 garage_max_x_yd3 garage_max_y_yd3 false
		AND NOT IS_PLAYER_IN_AREA_2D player garage_min_x_yd3 garage_min_y_yd3 garage_max_x_yd3 garage_max_y_yd3 false
		AND NOT IS_CAR_HEALTH_GREATER gangcar_yd3 800
			MARK_CAR_AS_NO_LONGER_NEEDED gangcar_yd3
		ENDIF
	ENDIF
 
	IF counter_cars_yd3 < 3
		GOTO loop_1
	ENDIF
 
 
	GOTO mission_yd3_passed
 
 
// Mission Yardie3 failed
 
mission_yd3_failed:
 
PRINT_BIG ( M_FAIL ) 2000 1
RETURN
 
 
 
// mission yd3 passed
 
mission_yd3_passed:
 
flag_yardie_mission3_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 YD3
PLAYER_MADE_PROGRESS 1 
START_NEW_SCRIPT yardie_mission4_loop
RETURN
 
 
 
// mission cleanup
 
mission_cleanup_yd3:
REMOVE_BLIP blip_garage_yd3
SET_TARGET_CAR_FOR_MISSION_GARAGE garage_yd3 -1
 
flag_player_on_mission = 0
flag_player_on_yardie_mission = 0
MISSION_HAS_FINISHED
RETURN
 
// ******************GOSUBS***********************************
 
blippage:
 
	IF flag_dam_message = 1
 
			IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL
				REMOVE_BLIP blip_garage_yd3
				ADD_SPRITE_BLIP_FOR_COORD 925.3 -359.2 11.0 RADAR_SPRITE_SPRAY blip_garage_yd3
				//flag_blip_spray = 1
			ENDIF
			IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL
				REMOVE_BLIP blip_garage_yd3
				ADD_SPRITE_BLIP_FOR_COORD 380.4 -493.8 26.2 RADAR_SPRITE_SPRAY blip_garage_yd3
				//flag_blip_spray = 1
			ENDIF
			IF IS_COLLISION_IN_MEMORY LEVEL_SUBURBAN
				REMOVE_BLIP blip_garage_yd3
				ADD_SPRITE_BLIP_FOR_COORD -1142.1 34.0 59.0 RADAR_SPRITE_SPRAY blip_garage_yd3
				//flag_blip_spray = 1
			ENDIF
 
	ELSE
		REMOVE_BLIP blip_garage_yd3
		ADD_BLIP_FOR_COORD blip_x_yd3 blip_y_yd3 -100.0 blip_garage_yd3
	ENDIF
 
RETURN
 
 
 
damage_check:
 
	IF IS_PLAYER_IN_ANY_CAR player
		IF NOT IS_CAR_DEAD gangcar_yd3
			IF IS_PLAYER_IN_CAR player gangcar_yd3
				IF IS_CAR_HEALTH_GREATER gangcar_yd3 900
				OR NOT IS_CAR_VISIBLY_DAMAGED gangcar_yd3
					IF flag_garage_message = 0
						PRINT_NOW (YD3_L) 3000 1 //Now take it to the garage!
						SET_TARGET_CAR_FOR_MISSION_GARAGE garage_yd3 gangcar_yd3
						flag_garage_message = 1
						flag_dam_message = 0
						loop_2_passport = 1
					ENDIF
				ELSE
					IF flag_dam_message = 0
						PRINT_NOW (YD3_K) 3000 1 //The car's nearly wrecked! Get it repaired!
						SET_TARGET_CAR_FOR_MISSION_GARAGE garage_yd3 -1
						flag_dam_message = 1
						flag_garage_message = 0
						loop_2_passport = 0
					ENDIF
				ENDIF
			ENDIF
		ENDIF
	ENDIF
 
RETURN

yard4

MISSION_START
// *****************************************************************************************
// *****************************************************************************************
// *****************************************************************************************
// *****************************************Yardie mission 4******************************** 
// *****************************************************************************************
// *****************************************************************************************
// *****************************************************************************************
 
// Mission start stuff
 
GOSUB mission_start_yardie4
IF HAS_DEATHARREST_BEEN_EXECUTED 
	GOSUB mission_yd4_failed
ENDIF
GOSUB mission_cleanup_yardie4
MISSION_END
 
// Variables for mission
 
VAR_INT abandoned_car_y4 flag_van1_arrived
 
VAR_INT timer_y4
 
VAR_INT blip_abandoned_car_y4
 
VAR_INT gen1_van gen2_van gen3_van gen4_van
 
VAR_INT human_bomb_1
//VAR_INT human_bomb_2
//VAR_INT human_bomb_3
VAR_INT human_bomb_4
//VAR_INT human_bomb_5
//VAR_INT human_bomb_6
VAR_INT human_bomb_7
//VAR_INT human_bomb_8
VAR_INT human_bomb_9
VAR_INT human_bomb_demo
 
VAR_INT blip_bomber_1 blip_bomber_4 blip_bomber_7 blip_bomber_9
 
VAR_INT flag_bomb1_active
VAR_INT flag_bomb4_active
VAR_INT flag_bomb7_active
VAR_INT flag_bomb9_active
 
//VAR_INT counter_bomb1 counter_bomb4 counter_bomb7
//VAR_INT counter_bomb9
 
//VAR_INT bomber_collective_1 bomber_collective_2 bomber_collective_3
 
 
//CO-ORD VARIABLES*****************************************************
 
VAR_FLOAT gen1_x gen1_y //gen1_z
VAR_FLOAT gen2_x gen2_y //gen2_z
VAR_FLOAT gen3_x gen3_y //gen3_z
VAR_FLOAT gen4_x gen4_y //gen4_z
 
VAR_FLOAT abandoned_car_x abandoned_car_y //abandoned_car_z
 
VAR_FLOAT y4_x y4_y y4_z
 
VAR_FLOAT bomb_x bomb_y bomb_z
VAR_FLOAT bomb4_x bomb4_y bomb4_z
VAR_FLOAT bomb7_x bomb7_y bomb7_z
VAR_FLOAT bomb9_x bomb9_y bomb9_z
 
 
 
 
// ****************************************Mission Start************************************
 
mission_start_yardie4:
REGISTER_MISSION_GIVEN
SCRIPT_NAME yard4 
flag_player_on_mission = 1
flag_player_on_yardie_mission = 1
 
WAIT 0
 
/*
IF CAN_PLAYER_START_MISSION Player
	MAKE_PLAYER_SAFE_FOR_CUTSCENE Player
ELSE
	GOTO mission_yd4_failed
ENDIF
 
SET_FADING_COLOUR 0 0 0
 
DO_FADE 1500 FADE_OUT
 
//SWITCH_STREAMING OFF
 
PRINT_BIG ( YD4 ) 15000 2 //"Yardie Mission 4"	 
 
TIMERA = 0
 
WHILE TIMERA < 1500					  
	WAIT 0
ENDWHILE
*/
 
// ******************************************CUTSCENE***************************************
 
 
 
 
 
SET_PED_DENSITY_MULTIPLIER 0.0
SET_POLICE_IGNORE_PLAYER player on
 
//WHILE NOT HAS_MODEL_LOADED cut_obj1
//	WAIT 0
 
//ENDWHILE
 
LOAD_CUTSCENE YD_PH4
SET_CUTSCENE_OFFSET 121.0 -272.3 15.25
CLEAR_AREA_OF_CHARS 100.5 -250.0 0.0 130.5 -290.0 25.0
 
CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
SET_CUTSCENE_ANIM cs_player player
 
//CREATE_CUTSCENE_HEAD cs_player CUT_OBJ1 cs_playerhead
//SET_CUTSCENE_HEAD_ANIM cs_playerhead player
 
//CLEAR_AREA 1219.5 -321.1 27.5 1.0 TRUE
//SET_PLAYER_COORDINATES player 1219.5 -321.1 26.4
 
//SET_PLAYER_HEADING player 180.0
 
DO_FADE 1500 FADE_IN
 
//SWITCH_STREAMING OFF
START_CUTSCENE
 
// Displays cutscene text
 
 
GET_CUTSCENE_TIME cs_time
 
WHILE cs_time < 2000
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
PRINT_NOW ( YD4_A ) 10000 1 
 
WHILE cs_time < 3000
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD4_A1 ) 10000 1 
 
WHILE cs_time < 5322
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD4_A2 ) 10000 1 
/*
WHILE cs_time < 10759
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD4_C ) 10000 1 
 
WHILE cs_time < 13770
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD4_D ) 10000 1 
 
WHILE cs_time < 18676
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( YD4_D1 ) 10000 1 
 
 
WHILE cs_time < 24139
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( DIAB2_G ) 10000 1 
 
WHILE cs_time < 28919
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
PRINT_NOW ( DIAB2_H ) 10000 1 
*/
WHILE cs_time < 8600
	WAIT 0
	GET_CUTSCENE_TIME cs_time
ENDWHILE
 
 
 
DO_FADE 1500 FADE_OUT
 
WHILE GET_FADING_STATUS
	WAIT 0
ENDWHILE
 
WHILE NOT HAS_CUTSCENE_FINISHED
	WAIT 0
 
ENDWHILE
 
SWITCH_STREAMING ON
CLEAR_PRINTS
CLEAR_CUTSCENE
//SET_CAMERA_IN_FRONT_OF_PLAYER
 
WAIT 500
 
SET_PED_DENSITY_MULTIPLIER 1.0
SET_POLICE_IGNORE_PLAYER player off
 
DO_FADE 1500 FADE_IN
 
 
 
 
flag_van1_arrived = 0
 
flag_bomb1_active = 0
flag_bomb4_active = 0
flag_bomb7_active = 0
flag_bomb9_active = 0
gen1_x = -113.62
gen1_y = -1420.5
gen2_x = -90.54
gen2_y = -1480.0
gen3_x = -38.4
gen3_y = -1447.0
gen4_x = -53.2
gen4_y = -1501.0
 
//counter_bomb1 = 0
//counter_bomb4 = 0
//counter_bomb7 = 0
//counter_bomb9 = 0
 
 
abandoned_car_x = -71.5
abandoned_car_y = -1471.0
 
 
REQUEST_MODEL CAR_ESPERANTO
REQUEST_MODEL CAR_PONY
WHILE NOT HAS_MODEL_LOADED CAR_ESPERANTO
OR NOT HAS_MODEL_LOADED CAR_PONY
	WAIT 0
ENDWHILE
 
LOAD_SPECIAL_CHARACTER 1 bomber
WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1
	WAIT 0
ENDWHILE
 
 
//PRINT_BIG ( YD4 ) 15000 2
 
//WAIT 1000
 
 
 
 
//PRINT_NOW ( YD4_A ) 8000 2
 
//WAIT 8000
 
timer_y4 = 90000
 
WHILE GET_FADING_STATUS
	WAIT 0
ENDWHILE
 
DISPLAY_ONSCREEN_TIMER timer_y4
 
create_car_yd5:
 
CREATE_CAR CAR_ESPERANTO abandoned_car_x abandoned_car_y -100.0 abandoned_car_y4
SET_CAR_HEADING abandoned_car_y4 270.0
CAR_SET_IDLE abandoned_car_y4
ADD_BLIP_FOR_CAR abandoned_car_y4 blip_abandoned_car_y4
 
CREATE_CAR CAR_PONY gen2_x gen2_y 27.0 gen2_van
SET_CAR_HEADING gen2_van 345.0
CAR_SET_IDLE gen2_van
LOCK_CAR_DOORS gen2_van CARLOCK_LOCKOUT_PLAYER_ONLY
 
 
// Mission stuff goes here
 
IF NOT IS_CAR_DEAD abandoned_car_y4
	WHILE NOT IS_PLAYER_IN_CAR player abandoned_car_y4
		WAIT 0
		IF timer_y4 < 1
			PRINT_NOW (taxi2) 3000 1
			GOTO mission_yd4_failed
		ENDIF
		IF IS_CAR_DEAD abandoned_car_y4
			PRINT_NOW (WRECKED) 3000 1
			GOTO mission_yd4_failed
		ENDIF
	ENDWHILE
ELSE
	PRINT_NOW (WRECKED) 3000 1
	GOTO mission_yd4_failed
ENDIF
 
REMOVE_BLIP blip_abandoned_car_y4
SET_PLAYER_CONTROL player Off 
CLEAR_ONSCREEN_TIMER timer_y4
 
CLEAR_AREA -113.4 -1431.5 26.0 20.0 true
 
CREATE_CAR CAR_PONY gen1_x gen1_y 26.2 gen1_van
SET_CAR_HEADING gen1_van 180.0
CAR_SET_IDLE gen1_van
LOCK_CAR_DOORS gen1_van CARLOCK_LOCKOUT_PLAYER_ONLY
CREATE_CHAR_AS_PASSENGER gen1_van PEDTYPE_SPECIAL PED_SPECIAL1 0 human_bomb_demo
 
CREATE_CAR CAR_PONY gen3_x gen3_y 26.2 gen3_van
SET_CAR_HEADING gen3_van 90.0
CAR_SET_IDLE gen3_van
LOCK_CAR_DOORS gen3_van CARLOCK_LOCKOUT_PLAYER_ONLY
 
CREATE_CAR CAR_PONY gen4_x gen4_y 26.2 gen4_van
SET_CAR_HEADING gen4_van 90.0
CAR_SET_IDLE gen4_van
LOCK_CAR_DOORS gen4_van CARLOCK_LOCKOUT_PLAYER_ONLY
 
 
SET_FIXED_CAMERA_POSITION -82.0 -1472.0 27.5 0.0 0.0 0.0
IF NOT IS_CAR_DEAD abandoned_car_y4
	POINT_CAMERA_AT_CAR abandoned_car_y4 FIXED JUMP_CUT
ENDIF
//POINT_CAMERA_AT_PLAYER player FIXED JUMP_CUT
SWITCH_WIDESCREEN on
 
 
PRINT_NOW (YD4_B ) 3500 2
MESSAGE_WAIT 3500 true
 
PRINT_NOW (YD4_C) 3500 2
MESSAGE_WAIT 3500 true
 
PRINT_NOW (YD4_D) 2500 2
MESSAGE_WAIT 2500 true
 
IF NOT IS_CAR_DEAD gen1_van
	CAR_GOTO_COORDINATES_ACCURATE gen1_van -113.2 -1442.5 26.2
	POINT_CAMERA_AT_CAR gen1_van FIXED INTERPOLATION
ENDIF
IF NOT IS_CAR_DEAD gen3_van
	CAR_GOTO_COORDINATES gen3_van -53.5 -1446.7 26.2
ENDIF
 
WHILE flag_van1_arrived = 0
	WAIT 0
	IF NOT IS_CAR_DEAD gen1_van
		IF  LOCATE_CAR_2D gen1_van -113.2 -1442.5 4.0 4.0 false
			flag_van1_arrived = 1
		ENDIF
	ELSE
		GOTO mission_yd4_failed
	ENDIF
ENDWHILE 
 
IF NOT IS_CAR_DEAD gen1_van
AND NOT IS_CHAR_DEAD human_bomb_demo
	SET_CHAR_OBJ_LEAVE_CAR human_bomb_demo gen1_van
	WHILE IS_CHAR_IN_CAR human_bomb_demo gen1_van
		WAIT 0
		IF NOT IS_CHAR_DEAD human_bomb_demo
			GET_CHAR_COORDINATES human_bomb_demo bomb_z bomb_y bomb_z
		ENDIF
		IF IS_CHAR_DEAD human_bomb_demo
			GOTO selkirk
		ENDIF
		IF IS_CAR_DEAD gen1_van
			GOTO selkirk
		ENDIF
	ENDWHILE
ENDIF
 
SET_CHAR_HEADING human_bomb_demo 180.0 
SET_FIXED_CAMERA_POSITION -115.76 -1455.0 25.9 0.0 0.0 0.0
CHAR_SET_IDLE human_bomb_demo
POINT_CAMERA_AT_CHAR human_bomb_demo FIXED JUMP_CUT
//SET_CAMERA_ZOOM CAM_ZOOM_TWO
PRINT_NOW (YD4_1) 3000 1
 
IF NOT IS_CHAR_DEAD human_bomb_demo
	SET_CHAR_OBJ_RUN_TO_COORD human_bomb_demo -114.5 -1452.4
	WHILE NOT LOCATE_CHAR_ON_FOOT_2D human_bomb_demo -114.5 -1452.4 3.0 3.0 0
		WAIT 0
		IF NOT IS_CHAR_DEAD human_bomb_demo
			GET_CHAR_COORDINATES human_bomb_demo bomb_x bomb_y bomb_z
		ELSE
			GOTO selkirk
		ENDIF
	ENDWHILE
ENDIF
 
WAIT 3000
 
IF NOT IS_CHAR_DEAD human_bomb_demo
GET_PLAYER_COORDINATES player y4_x y4_y y4_z
POINT_CAMERA_AT_CHAR human_bomb_demo FOLLOWPED INTERPOLATION
	SET_CHAR_OBJ_RUN_TO_COORD human_bomb_demo y4_x y4_y
	WHILE NOT LOCATE_CHAR_ON_FOOT_2D human_bomb_demo y4_x y4_y 5.0 5.0 0
		WAIT 0
		IF NOT IS_CHAR_DEAD human_bomb_demo
			GET_CHAR_COORDINATES human_bomb_demo bomb_x bomb_y bomb_z
		ENDIF
		IF IS_CHAR_DEAD human_bomb_demo
			GOTO selkirk
		ENDIF
	ENDWHILE
ENDIF
 
selkirk:
ADD_EXPLOSION bomb_x bomb_y bomb_z EXPLOSION_GRENADE
ADD_ONE_OFF_SOUND bomb_x bomb_y bomb_z sound_test_1
SHAKE_CAM 500
 
WAIT 1000
 
RESTORE_CAMERA_JUMPCUT
SWITCH_WIDESCREEN off
SET_PLAYER_CONTROL player on
WAIT 0
MARK_CHAR_AS_NO_LONGER_NEEDED human_bomb_demo
PRINT_NOW (YD4_2) 3000 1
 
// Bomber generation loop
 
GOTO le_loop_de_mort
 
// GENERATORS*****GENERATORS*****GENERATORS*****GENERATORS*****GENERATORS*****GENERATORS*****
 
//111111111111111111111111111111111111111111111111111111111111111111111
generator_1_easy:
 
IF NOT IS_CAR_DEAD gen1_van
 
	CREATE_CHAR_AS_PASSENGER gen1_van PEDTYPE_SPECIAL PED_SPECIAL1 0 human_bomb_1
	flag_bomb1_active = 1
	SET_CHAR_OBJ_LEAVE_CAR human_bomb_1 gen1_van
	ADD_BLIP_FOR_CHAR human_bomb_1 blip_bomber_1
 
	WHILE IS_CHAR_IN_CAR human_bomb_1 gen1_van
		GET_CHAR_COORDINATES human_bomb_1 bomb_x bomb_y bomb_z
		WAIT 0
		IF IS_CHAR_DEAD human_bomb_1
		OR IS_CAR_DEAD gen1_van
			RETURN
		ENDIF
	ENDWHILE
ENDIF
 
RETURN
 
 
 
 
//222222222222222222222222222222222222222222222222222222222222222222222222
generator_2_easy:
 
IF NOT IS_CAR_DEAD gen2_van
 
	CREATE_CHAR_AS_PASSENGER gen2_van PEDTYPE_SPECIAL PED_SPECIAL1 0 human_bomb_4
	flag_bomb4_active = 1
	SET_CHAR_OBJ_LEAVE_CAR human_bomb_4 gen2_van
	ADD_BLIP_FOR_CHAR human_bomb_4 blip_bomber_4
 
 
	WHILE IS_CHAR_IN_CAR human_bomb_4 gen2_van
		GET_CHAR_COORDINATES human_bomb_4 bomb4_x bomb4_y bomb4_z
		WAIT 0
		IF IS_CHAR_DEAD human_bomb_4
		OR IS_CAR_DEAD gen2_van
			RETURN
		ENDIF
	ENDWHILE
ENDIF
 
RETURN
 
//333333333333333333333333333333333333333333333333333333333333333333333333
generator_3_easy:
 
IF NOT IS_CAR_DEAD gen3_van
 
	CREATE_CHAR_AS_PASSENGER gen3_van PEDTYPE_SPECIAL PED_SPECIAL1 0 human_bomb_7
	flag_bomb7_active = 1
	SET_CHAR_OBJ_LEAVE_CAR human_bomb_7 gen3_van
	ADD_BLIP_FOR_CHAR human_bomb_7 blip_bomber_7
 
	WHILE IS_CHAR_IN_CAR human_bomb_7 gen3_van
		GET_CHAR_COORDINATES human_bomb_7 bomb7_x bomb7_y bomb7_z
		WAIT 0
		IF IS_CHAR_DEAD human_bomb_7
		OR IS_CAR_DEAD gen3_van
			RETURN
		ENDIF
	ENDWHILE
ENDIF
 
RETURN
 
//444444444444444444444444444444444444444444444444444444444444444444444444
generator_4_easy:
 
IF NOT IS_CAR_DEAD gen4_van
 
	CREATE_CHAR_AS_PASSENGER gen4_van PEDTYPE_SPECIAL PED_SPECIAL1 0 human_bomb_9
	flag_bomb9_active = 1
	SET_CHAR_OBJ_LEAVE_CAR human_bomb_9 gen4_van
	ADD_BLIP_FOR_CHAR human_bomb_9 blip_bomber_9
 
	WHILE IS_CHAR_IN_CAR human_bomb_9 gen4_van
		GET_CHAR_COORDINATES human_bomb_9 bomb9_x bomb9_y bomb9_z
		WAIT 0
		IF IS_CHAR_DEAD human_bomb_9
		OR IS_CAR_DEAD gen4_van
			RETURN
		ENDIF
	ENDWHILE
ENDIF
 
RETURN
 
// MAIN LOOP*****MAIN LOOP*****MAIN LOOP*****MAIN LOOP*****MAIN LOOP*****MAIN LOOP*****MAIN LOOP*****MAIN LOOP*****MAIN LOOP*****
 
le_loop_de_mort:
 
WAIT 0
 
 
IF flag_bomb1_active = 0
	GOSUB generator_1_easy
ELSE
	IF NOT IS_CHAR_DEAD	human_bomb_1
		GET_PLAYER_COORDINATES player y4_x y4_y y4_z
		SET_CHAR_OBJ_RUN_TO_COORD human_bomb_1 y4_x y4_y
		GET_CHAR_COORDINATES human_bomb_1 bomb_x bomb_y bomb_z
		CLEAR_CHAR_THREAT_SEARCH human_bomb_1
		IF LOCATE_CHAR_ANY_MEANS_3D human_bomb_1 y4_x y4_y y4_z 3.0 3.0 4.0 0
		OR NOT IS_CHAR_HEALTH_GREATER human_bomb_1 95
		   GOSUB detonate_1
		   MARK_CHAR_AS_NO_LONGER_NEEDED human_bomb_1
		   flag_bomb1_active = 0	
		   GOSUB generator_1_easy
		ENDIF
	ELSE
		GOSUB detonate_1
		MARK_CHAR_AS_NO_LONGER_NEEDED human_bomb_1
		flag_bomb1_active = 0	
	ENDIF
ENDIF
 
 
IF flag_bomb4_active = 0
	GOSUB generator_2_easy
ELSE
	IF NOT IS_CHAR_DEAD human_bomb_4
		GET_PLAYER_COORDINATES player y4_x y4_y y4_z
		SET_CHAR_OBJ_RUN_TO_COORD human_bomb_4 y4_x y4_y
		GET_CHAR_COORDINATES human_bomb_4 bomb4_x bomb4_y bomb4_z
		CLEAR_CHAR_THREAT_SEARCH human_bomb_4
		IF LOCATE_CHAR_ANY_MEANS_3D human_bomb_4 y4_x y4_y y4_z 3.0 3.0 4.0 0
		OR NOT IS_CHAR_HEALTH_GREATER human_bomb_4 95
		   GOSUB detonate_4	
		   MARK_CHAR_AS_NO_LONGER_NEEDED human_bomb_4
		   flag_bomb4_active = 0
		ENDIF
	ELSE
		GOSUB detonate_4
		MARK_CHAR_AS_NO_LONGER_NEEDED human_bomb_4
		flag_bomb4_active = 0	
	ENDIF
ENDIF
 
 
IF flag_bomb7_active = 0
	GOSUB generator_3_easy
ELSE
	IF NOT IS_CHAR_DEAD human_bomb_7
		GET_PLAYER_COORDINATES player y4_x y4_y y4_z
		SET_CHAR_OBJ_RUN_TO_COORD human_bomb_7 y4_x y4_y
		GET_CHAR_COORDINATES human_bomb_7 bomb7_x bomb7_y bomb7_z
		CLEAR_CHAR_THREAT_SEARCH human_bomb_7
		IF LOCATE_CHAR_ANY_MEANS_3D human_bomb_7 y4_x y4_y y4_z 3.0 3.0 4.0 0
		OR NOT IS_CHAR_HEALTH_GREATER human_bomb_7 95
		   GOSUB detonate_7
		   MARK_CHAR_AS_NO_LONGER_NEEDED human_bomb_7
		   flag_bomb7_active = 0
		ENDIF
	ELSE
		GOSUB detonate_7
		MARK_CHAR_AS_NO_LONGER_NEEDED human_bomb_7
		flag_bomb7_active = 0	
	ENDIF
ENDIF
 
 
IF flag_bomb9_active = 0
	GOSUB generator_4_easy
ELSE
	IF NOT IS_CHAR_DEAD human_bomb_9
		GET_PLAYER_COORDINATES player y4_x y4_y y4_z
		GET_CHAR_COORDINATES human_bomb_9 bomb9_x bomb9_y bomb9_z
		CLEAR_CHAR_THREAT_SEARCH human_bomb_9
		SET_CHAR_OBJ_RUN_TO_COORD human_bomb_9 y4_x y4_y
		IF LOCATE_CHAR_ANY_MEANS_3D human_bomb_9 y4_x y4_y y4_z 3.0 3.0 4.0 0
		OR NOT IS_CHAR_HEALTH_GREATER human_bomb_9 95
		   GOSUB detonate_9
		   MARK_CHAR_AS_NO_LONGER_NEEDED human_bomb_9
		   flag_bomb9_active = 0
		ENDIF
	ELSE
		GOSUB detonate_9
		MARK_CHAR_AS_NO_LONGER_NEEDED human_bomb_9
		flag_bomb9_active = 0	
	ENDIF
ENDIF
 
 
IF IS_CAR_DEAD gen1_van
AND IS_CAR_DEAD gen2_van
AND IS_CAR_DEAD gen3_van
AND IS_CAR_DEAD gen4_van
	IF IS_CHAR_DEAD human_bomb_1
	AND IS_CHAR_DEAD human_bomb_4
	AND IS_CHAR_DEAD human_bomb_7
	AND IS_CHAR_DEAD human_bomb_9
		GOTO mission_yardie4_passed
	ENDIF
ENDIF
 
GOTO le_loop_de_mort
 
 
// DETONATIONS*****DETONATIONS*****DETONATIONS*****DETONATIONS*****DETONATIONS*****DETONATIONS*****DETONATIONS*****
 
detonate_1:
	IF flag_bomb1_active = 1
		ADD_EXPLOSION bomb_x bomb_y bomb_z EXPLOSION_GRENADE
		ADD_ONE_OFF_SOUND bomb_x bomb_y bomb_z sound_test_1
		SHAKE_CAM 500
		flag_bomb1_active = 0
		REMOVE_BLIP blip_bomber_1
 
	ENDIF
RETURN
 
detonate_4:
	IF flag_bomb4_active = 1
		ADD_EXPLOSION bomb4_x bomb4_y bomb4_z EXPLOSION_GRENADE
		ADD_ONE_OFF_SOUND bomb4_x bomb4_y bomb4_z sound_test_1
		SHAKE_CAM 500		  
		REMOVE_BLIP blip_bomber_4
 
	ENDIF
RETURN
 
detonate_7:
	IF flag_bomb7_active = 1
		ADD_EXPLOSION bomb7_x bomb7_y bomb7_z EXPLOSION_GRENADE
		ADD_ONE_OFF_SOUND bomb7_x bomb7_y bomb7_z sound_test_1
		SHAKE_CAM 500
		flag_bomb7_active = 0
		REMOVE_BLIP blip_bomber_7
 
	ENDIF
RETURN
 
detonate_9:
	IF flag_bomb9_active = 1
		ADD_EXPLOSION bomb9_x bomb9_y bomb9_z EXPLOSION_GRENADE
		ADD_ONE_OFF_SOUND bomb9_x bomb9_y bomb9_z sound_test_1
		SHAKE_CAM 500
		flag_bomb9_active = 0
		REMOVE_BLIP blip_bomber_9
 
	ENDIF
RETURN
 
 
 
 
 
 
 
 
 
 
 
 
// Mission yardie4 failed
 
mission_yd4_failed:
 
PRINT_BIG ( M_FAIL ) 2000 1
 
RETURN
 
 
 
// mission yardie4 passed
 
mission_yardie4_passed:
 
flag_yardie_mission4_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 YD4
PLAYER_MADE_PROGRESS 1 
SET_THREAT_FOR_PED_TYPE PEDTYPE_GANG_YARDIE THREAT_PLAYER1
 
REMOVE_BLIP	yardie_contact_blip
START_NEW_SCRIPT yardie_mission1_loop
flag_yardie_mission1_passed = 0
RETURN
 
 
 
// mission cleanup
 
mission_cleanup_yardie4:
 
flag_player_on_mission = 0
 
flag_player_on_yardie_mission = 0
REMOVE_BLIP blip_abandoned_car_y4
CLEAR_ONSCREEN_TIMER timer_y4
UNLOAD_SPECIAL_CHARACTER 1 
MARK_MODEL_AS_NO_LONGER_NEEDED PED_SPECIAL1
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_ESPERANTO
MARK_MODEL_AS_NO_LONGER_NEEDED CAR_PONY
MISSION_HAS_FINISHED
RETURN
п · о · р
GTA III Grand Theft Auto III
Форматы файлов.b.a3d.anm.col.cfg.dff.dat.gxt.ide.ifp.img/.dir.ipl.raw/.sdt.rep.sc.scm.set.txd.zon
Документацияcarcols.datCHASE.DATCULLZONE.DATcuts.imgdefault.datfistfite.datflight.datgta3.exegta3.dat
gta3.imggta3.zonhandling.cfgmain.scmmap.datmap.zonobject.datparticle.cfgped.datpedgrp.dat
pedstats.datsfx.rawsurface.datTimeCyc.DATtracks.dattrain.datwater.datwaterpro.datweapon.dat
ИнструментыCLEOClump ViewerCol-IO‎Collision File Editor IIData toolDFF Viewerdffxbox2pcG-ToolsGTA Garage Mod Manager
GXT EditorGTA3 Limit AdjusterGTA3 Mission BuilderGTA3 PatcherIMG ToolKam's Max ScriptsMap Editor
Mod GeneratorMod InstallerMoo MapperPS2 TXD ModPS2 TXD ViewerResourse HackerRotation Calculator
RW AnalyzeViceTXDWater EditorSanny BuilderTXD ToolTXD WorkshopYAIEZModeler
Туториалыраздел в разработке
Классические МодыGPS RadarBye-Bye BikiniUltimate Stunt ParkThe SphereMiss LibertyIllandoIntercity HighwayShoreside Bridge
Rockstar HeightsLighthouse BridgeBlade FunparkOrbital CityLakeside IslandLiberty PenitentiaryJEM Island
Illando HelixCliff Climbing Mountain
Глобальные МодыReal GTA3Twenty TenSnow CityFrosted WinterUltimateBeta modX-box modBad BusinessGTA3 HDUltra mod
OpenTunnelsBack to the Future
МультиплеерMulti Theft AutoLiberty Unleashed
Исходники4x48ballambulanceasukaasusbcameracar_gencatcopcardebugdemodiablofiretruckfrankgates
genstufhealthhjhoodimportintrojoeykenjiloveluigimayhemmeatpickupsrampagerayrcswitch
taxitoniusjwantedyard