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