Genstuf

Материал из GTAModding.ru
Перейти к: навигация, поиск
MISSION_START
 
VAR_INT tramp1 tramp2 tramp3 tramp4 tramp_is_dead tramps_been_created
VAR_INT	tramp1_dead tramp2_dead tramp3_dead tramp4_dead
VAR_INT has_player_been_in_tramp_tunnel_before 
VAR_INT flag_sounds_added_redlight
VAR_INT	camera_ammu1 camera_ammu2 ammu_sample 
VAR_INT has_player_been_at_fish_before
VAR_INT flag_need_wall_change_km1 ammu_bloke_kill_player
VAR_INT flag_failed_love1 special_ammu_audio 
VAR_INT need_to_clear_area_flag	// VARIABLE FOR PARKED CARS GENERATOR FOR THE MULTISTORY CARPARK IN NEWPORT
VAR_INT fish_triad1 fish_triad2 fish_triad3 fish_triad4 fish_triad5 fish_triad6
VAR_INT flag_sounds_added_dog // Sound effects for the dog food factory
VAR_INT second_floor_cars_exist third_floor_cars_exist fourth_floor_cars_exist fifth_floor_cars_exist
 
second_floor_cars_exist	= 0
third_floor_cars_exist	= 0
fourth_floor_cars_exist	= 0
fifth_floor_cars_exist	= 0
 
need_to_clear_area_flag = 0	// VARIABLE FOR PARKED CARS GENERATOR FOR THE MULTISTORY CARPARK IN NEWPORT
has_player_been_at_fish_before = 0 
has_player_been_in_tramp_tunnel_before = 0
flag_sounds_added_redlight = 0
tramps_been_created = 0
tramp_is_dead = 0
camera_ammu1 = 0
camera_ammu2 = 0
flag_sounds_added_dog = 0 // Sound effects for the dog food factory	
 
//loaded_all_industrial_models_before = 0
//loaded_all_commercial_models_before = 0
//loaded_all_suburban_models_before = 0
flag_failed_love1 = 0
flag_need_wall_change_km1 = 0
flag_player_on_phil_mission = 0
tramp1 = -1
tramp2 = -1
tramp3 = -1
tramp4 = -1
tramp1_dead = 0
tramp2_dead	= 0
tramp4_dead	= 0
tramp3_dead	= 0
ammu_sample = 0
special_ammu_audio = 0
ammu_bloke_kill_player = 0
 
SCRIPT_NAME	genstuf
 
SET_DEATHARREST_STATE OFF
 
 
mission_start_genstuf:
 
 
	START_NEW_SCRIPT ind_ammu
	START_NEW_SCRIPT fish_factory_gen
	START_NEW_SCRIPT tramp_tunnel
	START_NEW_SCRIPT ind_sound
 
	START_NEW_SCRIPT com_ammu
	START_NEW_SCRIPT com_car_park
	START_NEW_SCRIPT dog_sound
	START_NEW_SCRIPT cobblers
 
	MISSION_END
 
 
cobblers:
 
WAIT 1000
IF flag_industrial_passed = 1
	REMOVE_PICKUP info_pickup7a
	REMOVE_PICKUP info_pickup8
	REMOVE_PICKUP info_pickup9
	REMOVE_PICKUP info_pickup3
	REMOVE_PICKUP info_pickup4
	REMOVE_PICKUP info_pickup5
	REMOVE_PICKUP info_pickup1
	TERMINATE_THIS_SCRIPT
ENDIF
 
GOTO cobblers
 
 
check_info_pickup:
 
 
LVAR_INT pickup message_num
 
start_pickup_script:
 
WHILE NOT HAS_PICKUP_BEEN_COLLECTED pickup
	WAIT 500
ENDWHILE
 
IF message_num = 1
	PRINT_HELP ( SPRAY )
ENDIF
 
IF message_num = 2
	PRINT_HELP ( BOMB )
ENDIF
 
IF message_num = 3
	PRINT_HELP ( AMMU ) 
ENDIF
 
IF message_num = 4
	PRINT_HELP ( SAVE2 ) 
ENDIF
 
IF message_num = 5
	PRINT_HELP ( SAVE1 ) 
ENDIF
 
IF message_num = 6
	PRINT_HELP ( CRUSH )
ENDIF
/*
IF message_num = 7
	PRINT_HELP ( BRIDGE1 )
ENDIF
 
IF message_num = 8
	PRINT_HELP ( TUNNEL ) 
ENDIF
 
IF message_num = 9
	PRINT_HELP ( TUBE )
ENDIF
 
IF message_num = 10
	PRINT_HELP ( A_TRAIN )
ENDIF
 
WHILE HAS_PICKUP_BEEN_COLLECTED pickup
	WAIT 500
ENDWHILE
*/
GOTO start_pickup_script
 
 
 
 
check_info_pickup_2:
 
 
LVAR_INT pickup message_num
 
start_pickup_script_2:
 
WHILE NOT HAS_PICKUP_BEEN_COLLECTED pickup
	WAIT 500
ENDWHILE
 
GET_CONTROLLER_MODE controlmode
 
/*
IF message_num = 1
	PRINT_HELP ( SPRAY )
ENDIF
 
IF message_num = 2
	PRINT_HELP ( BOMB )
ENDIF
 
IF message_num = 3
	PRINT_HELP ( AMMU ) 
ENDIF
 
IF message_num = 4
	PRINT_HELP ( SAVE2 ) 
ENDIF
 
IF message_num = 5
	PRINT_HELP ( SAVE1 ) 
ENDIF
 
IF message_num = 6
	PRINT_HELP ( CRUSH )
ENDIF
*/
IF message_num = 7
	PRINT_HELP ( BRIDGE1 )
ENDIF
 
IF message_num = 8
	PRINT_HELP ( TUNNEL ) 
ENDIF
 
IF message_num = 9
	PRINT_HELP ( TUBE1 )
ENDIF
 
IF message_num = 10
	IF controlmode = 0
	OR controlmode = 1
	OR controlmode = 3
		PRINT_HELP ( L_TRN_1 ) //"Press the~h~ \ button~w~ to ~h~enter ~w~or ~h~exit~w~ a vehicle." 
	ENDIF
 
	IF controlmode = 2
		PRINT_HELP ( L_TRN_2 ) //"Press the~h~ L1 button~w~ to ~h~enter ~w~or ~h~exit~w~ a vehicle."
	ENDIF
 
ENDIF
 
IF message_num = 11
	IF controlmode = 0
	OR controlmode = 1
	OR controlmode = 3
		PRINT_HELP ( S_TRN_1 ) //"Press the~h~ \ button~w~ to ~h~enter ~w~or ~h~exit~w~ a vehicle." 
	ENDIF
 
	IF controlmode = 2
		PRINT_HELP ( S_TRN_2 ) //"Press the~h~ L1 button~w~ to ~h~enter ~w~or ~h~exit~w~ a vehicle."
	ENDIF
ENDIF
 
/*
WHILE HAS_PICKUP_BEEN_COLLECTED pickup
	WAIT 500
ENDWHILE
*/
GOTO start_pickup_script_2
 
 
ind_ammu:
 
//	Should be called in mission_start_genstuf
 
	SCRIPT_NAME I_AMMU
 
ind_ammu_inner:
 
	WAIT 70
 
	IF IS_PLAYER_PLAYING Player
 
		IF IS_PLAYER_IN_ZONE player LITTLEI
 
			IF IS_PLAYER_IN_AREA_3D player 1066.6 -403.5 14.0 1072.8 -394.0 18.0 FALSE
 
				IF camera_ammu1 = 0
					SET_PLAYER_CONTROL Player Off
					SET_FADING_COLOUR 1 1 1
					SWITCH_STREAMING OFF
					LOAD_SPECIAL_CHARACTER 4 sam
					SET_MUSIC_DOES_FADE FALSE
					DO_FADE 500 FADE_OUT
					WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 4
						WAIT 0
					ENDWHILE
					WHILE GET_FADING_STATUS
						WAIT 0
					ENDWHILE
					SWITCH_STREAMING ON
					GET_GAME_TIMER current_time
					time_difference = current_time - time_since_murdering_shopkeeper1
 
					IF time_difference > 60000 
						CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL4 1070.81 -396.97 14.2 ammu_shop_bloke1
						SET_CHAR_PERSONALITY ammu_shop_bloke1 PEDSTAT_TOUGH_GUY 
						SET_CHAR_HEADING ammu_shop_bloke1 170.0
						SET_CHAR_STAY_IN_SAME_PLACE ammu_shop_bloke1 TRUE
						GIVE_WEAPON_TO_CHAR ammu_shop_bloke1 WEAPONTYPE_SHOTGUN 999
						IF IS_PLAYER_PLAYING player
							CHAR_LOOK_AT_PLAYER_ALWAYS ammu_shop_bloke1 Player
						ENDIF
					ENDIF
 
					UNLOAD_SPECIAL_CHARACTER 4
					SET_FIXED_CAMERA_POSITION 1071.95 -402.8 17.0 0.0 0.0 0.0
					ENABLE_PLAYER_CONTROL_CAMERA
					IF IS_PLAYER_PLAYING player
						POINT_CAMERA_AT_PLAYER player FIXED JUMP_CUT
						CLEAR_AREA 1067.9 -397.3 14.2 1.0 TRUE
			 		   	SET_PLAYER_COORDINATES player 1067.9 -397.3 14.2
						SET_PLAYER_HEADING player 200.0
					ENDIF
					DO_FADE 500 FADE_IN
					WHILE GET_FADING_STATUS
						WAIT 0
					ENDWHILE
					IF IS_PLAYER_PLAYING player
						SET_PLAYER_CONTROL Player on
					ENDIF
 
					IF NOT IS_CHAR_DEAD ammu_shop_bloke1
						IF special_ammu_audio = 0 
							IF ammu_sample = 0
								SET_CHAR_SAY ammu_shop_bloke1 SOUND_AMMUNATION_CHAT_1
							ENDIF
							IF ammu_sample = 1
								SET_CHAR_SAY ammu_shop_bloke1 SOUND_AMMUNATION_CHAT_2
							ENDIF
							IF ammu_sample = 2
								SET_CHAR_SAY ammu_shop_bloke1 SOUND_AMMUNATION_CHAT_3
							ENDIF
						ENDIF
					ENDIF
 
					camera_ammu1 = 1
				ELSE	//	camera_ammu1 = 1
 
					IF IS_PLAYER_SHOOTING player
						IF NOT IS_CHAR_DEAD ammu_shop_bloke1
							IF ammu_bloke_kill_player = 0
								IF IS_PLAYER_PLAYING player
									SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT ammu_shop_bloke1 Player
								ENDIF
								ammu_bloke_kill_player = 1
							ENDIF
						ENDIF
					ENDIF
 
				ENDIF
			ELSE	//	player not in area (1066.6 -403.5 14.0 1072.8 -394.0 18.0)
				IF camera_ammu1 = 1
					SET_PLAYER_CONTROL Player Off
					DO_FADE 500 FADE_OUT
					WHILE GET_FADING_STATUS
						WAIT 0
					ENDWHILE
					IF IS_CHAR_DEAD	ammu_shop_bloke1
					AND	time_difference > 60000 //time_difference is greater than 60,000 means shopkeeper has been created 
						GET_GAME_TIMER time_since_murdering_shopkeeper1 
					ENDIF
					DELETE_CHAR	ammu_shop_bloke1
					CLEAR_AREA 1063.3 -395.3 14.2 1.0 TRUE
					IF IS_PLAYER_PLAYING player
		 		   		SET_PLAYER_COORDINATES player 1063.3 -395.3 14.2
						SET_PLAYER_HEADING player 90.0
						RESTORE_CAMERA_JUMPCUT
						SET_CAMERA_IN_FRONT_OF_PLAYER
					ENDIF
					DO_FADE 500 FADE_IN
					WHILE GET_FADING_STATUS
						WAIT 0
					ENDWHILE
					SET_MUSIC_DOES_FADE TRUE
					IF IS_PLAYER_PLAYING player
						SET_PLAYER_CONTROL Player on
					ENDIF
 
					ammu_sample ++
 
					IF ammu_sample > 2
						ammu_sample = 0
					ENDIF
 
					ammu_bloke_kill_player = 0	
					camera_ammu1 = 0
				ENDIF
 
			ENDIF //IS_PLAYER_IN_AREA_3D
		ELSE	//	not in LITTLEI
 
			IF camera_ammu1 = 1
				IF IS_CHAR_DEAD	ammu_shop_bloke1
				AND	time_difference > 60000 //time_difference is greater than 30,000 means shopkeeper has been created
					GET_GAME_TIMER time_since_murdering_shopkeeper1 
				ENDIF
				RESTORE_CAMERA_JUMPCUT
				SET_CAMERA_IN_FRONT_OF_PLAYER
				DELETE_CHAR	ammu_shop_bloke1
				SET_MUSIC_DOES_FADE TRUE
				camera_ammu1 = 0
			ENDIF
 
		ENDIF	//	IF IS_PLAYER_IN_ZONE player LITTLEI
 
	ENDIF //IS_PLAYER_PLAYING
 
	GOTO ind_ammu_inner
 
 
 
fish_factory_gen:
 
//	Should be called in mission_start_genstuf
 
	SCRIPT_NAME FISHGEN
 
fish_factory_gen_inner:
 
	WAIT 1000
 
	IF IS_PLAYER_PLAYING Player
		//IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL
 
//FISH FACTORY SET UP
		IF fish_factory_destroyed = 0
 
			IF IS_PLAYER_IN_ZONE Player PORT_W
 
			//CREATES A GANG OF TRIADS DOWN AT THE FISH FACTORY
 
				IF has_player_been_at_fish_before = 0
					REQUEST_MODEL PED_GANG_TRIAD_A
					REQUEST_MODEL PED_GANG_TRIAD_B
						WHILE NOT HAS_MODEL_LOADED PED_GANG_TRIAD_A
						OR NOT HAS_MODEL_LOADED PED_GANG_TRIAD_B
							WAIT 0
						ENDWHILE
					CREATE_CHAR PEDTYPE_GANG_TRIAD PED_GANG_TRIAD_A 997.0 -1112.0 -100.0 fish_triad1
					GIVE_WEAPON_TO_CHAR fish_triad1 WEAPONTYPE_PISTOL 100
					//SET_CHAR_THREAT_SEARCH fish_triad1 THREAT_GANG_MAFIA
					SET_CHAR_THREAT_SEARCH fish_triad1 THREAT_PLAYER1
 
					CREATE_CHAR PEDTYPE_GANG_TRIAD PED_GANG_TRIAD_B 964.0 -1095.0 -100.0 fish_triad2
					GIVE_WEAPON_TO_CHAR fish_triad2 WEAPONTYPE_PISTOL 100
					//SET_CHAR_THREAT_SEARCH fish_triad2 THREAT_GANG_MAFIA
					SET_CHAR_THREAT_SEARCH fish_triad2 THREAT_PLAYER1
 
					CREATE_CHAR PEDTYPE_GANG_TRIAD PED_GANG_TRIAD_A 982.0 -1085.0 -100.0 fish_triad3
					GIVE_WEAPON_TO_CHAR fish_triad3 WEAPONTYPE_PISTOL 100
					//SET_CHAR_THREAT_SEARCH fish_triad3 THREAT_GANG_MAFIA
					SET_CHAR_THREAT_SEARCH fish_triad3 THREAT_PLAYER1
 
					CREATE_CHAR PEDTYPE_GANG_TRIAD PED_GANG_TRIAD_B 953.0 -1122.0 -100.0 fish_triad4
					GIVE_WEAPON_TO_CHAR fish_triad4 WEAPONTYPE_PISTOL 100
					//SET_CHAR_THREAT_SEARCH fish_triad4 THREAT_GANG_MAFIA
					SET_CHAR_THREAT_SEARCH fish_triad4 THREAT_PLAYER1
 
					CREATE_CHAR PEDTYPE_GANG_TRIAD PED_GANG_TRIAD_A 1008.0 -1126.0 -100.0 fish_triad5
					GIVE_WEAPON_TO_CHAR fish_triad5 WEAPONTYPE_PISTOL 100
					//SET_CHAR_THREAT_SEARCH fish_triad5 THREAT_GANG_MAFIA
					SET_CHAR_THREAT_SEARCH fish_triad5 THREAT_PLAYER1
 
					CREATE_CHAR PEDTYPE_GANG_TRIAD PED_GANG_TRIAD_A 974.0 -1142.0 -100.0 fish_triad6
					GIVE_WEAPON_TO_CHAR fish_triad6 WEAPONTYPE_PISTOL 100
					//SET_CHAR_THREAT_SEARCH fish_triad6 THREAT_GANG_MAFIA
					SET_CHAR_THREAT_SEARCH fish_triad6 THREAT_PLAYER1
 
					CHAR_WANDER_DIR fish_triad1 0
					CHAR_WANDER_DIR fish_triad2 0
					CHAR_WANDER_DIR fish_triad3 0
					CHAR_WANDER_DIR fish_triad4 0
					CHAR_WANDER_DIR fish_triad5 0
					CHAR_WANDER_DIR fish_triad6 0
					has_player_been_at_fish_before = 1
				ENDIF
 
			ELSE	//	Player not in PORT_W
 
				IF has_player_been_at_fish_before = 1
					MARK_CHAR_AS_NO_LONGER_NEEDED fish_triad1
					MARK_CHAR_AS_NO_LONGER_NEEDED fish_triad2
					MARK_CHAR_AS_NO_LONGER_NEEDED fish_triad3
					MARK_CHAR_AS_NO_LONGER_NEEDED fish_triad4
					MARK_CHAR_AS_NO_LONGER_NEEDED fish_triad5
					MARK_CHAR_AS_NO_LONGER_NEEDED fish_triad6
 
					IF flag_player_on_mission = 0
						MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_TRIAD_A
						MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_TRIAD_B
						has_player_been_at_fish_before = 0
					ENDIF
				ENDIF
 
			ENDIF //IS PLAYER IN ZONE
 
		ELSE
 
			IF has_player_been_at_fish_before = 1
				MARK_CHAR_AS_NO_LONGER_NEEDED fish_triad1
				MARK_CHAR_AS_NO_LONGER_NEEDED fish_triad2
				MARK_CHAR_AS_NO_LONGER_NEEDED fish_triad3
				MARK_CHAR_AS_NO_LONGER_NEEDED fish_triad4
				MARK_CHAR_AS_NO_LONGER_NEEDED fish_triad5
				MARK_CHAR_AS_NO_LONGER_NEEDED fish_triad6
 
				IF flag_player_on_mission = 0
					MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_TRIAD_A
					MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_TRIAD_B
					has_player_been_at_fish_before = 0
				ENDIF
			ENDIF
 
		ENDIF  //fish_factory_destroyed
 
		//ENDIF	//	IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL
 
	ENDIF //IS_PLAYER_PLAYING
 
	GOTO fish_factory_gen_inner
 
 
 
tramp_tunnel:
 
//	Should be called in mission_start_genstuf
 
	SCRIPT_NAME TRAMPS
 
tramp_tunnel_inner:
 
	WAIT 1000
 
	IF IS_PLAYER_PLAYING Player
		//IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL
 
//CREATES TRAMPS IN ABANDONED TUNNEL
		IF IS_PLAYER_IN_ZONE Player LITTLEI
 
			IF IS_PLAYER_IN_AREA_3D Player 1325.0 -512.0 14.0 1315.0 -165.8 17.0 FALSE	
				IF has_player_been_in_tramp_tunnel_before = 0
 
					REQUEST_MODEL PED_SCUM_MAN
					REQUEST_MODEL PED_SCUM_WOMAN
 
					WHILE NOT HAS_MODEL_LOADED PED_SCUM_MAN
					OR NOT HAS_MODEL_LOADED PED_SCUM_WOMAN
						WAIT 0
					ENDWHILE
 
					CREATE_CHAR PEDTYPE_BUM PED_SCUM_MAN 1320.4 -370.0 15.0 tramp1
					GIVE_WEAPON_TO_CHAR tramp1 WEAPONTYPE_MOLOTOV 1
					SET_CHAR_PERSONALITY tramp1 PEDSTAT_GEEK_GUY
					SET_CHAR_THREAT_SEARCH tramp1 THREAT_GUN
					SET_CHAR_THREAT_SEARCH tramp1 THREAT_DEADPEDS
 
					CREATE_CHAR PEDTYPE_BUM PED_SCUM_WOMAN 1317.0 -365.0 15.0 tramp2
					GIVE_WEAPON_TO_CHAR tramp2 WEAPONTYPE_MOLOTOV 1
					SET_CHAR_HEADING tramp2 290.0
					SET_CHAR_PERSONALITY tramp2 PEDSTAT_GEEK_GUY
					SET_CHAR_THREAT_SEARCH tramp2 THREAT_GUN
					SET_CHAR_THREAT_SEARCH tramp2 THREAT_DEADPEDS
 
					CREATE_CHAR PEDTYPE_BUM PED_SCUM_WOMAN 1322.4 -367.0 15.0 tramp3
					GIVE_WEAPON_TO_CHAR tramp3 WEAPONTYPE_MOLOTOV 1
					SET_CHAR_HEADING tramp3 57.0
					SET_CHAR_PERSONALITY tramp3 PEDSTAT_GEEK_GUY
					SET_CHAR_THREAT_SEARCH tramp3 THREAT_GUN
					SET_CHAR_THREAT_SEARCH tramp3 THREAT_DEADPEDS
 
					CREATE_CHAR PEDTYPE_BUM PED_SCUM_MAN 1320.0 -362.0 15.0 tramp4
					GIVE_WEAPON_TO_CHAR tramp4 WEAPONTYPE_MOLOTOV 1
					SET_CHAR_HEADING tramp4 180.0
					SET_CHAR_PERSONALITY tramp4 PEDSTAT_GEEK_GUY
					SET_CHAR_THREAT_SEARCH tramp4 THREAT_GUN
					SET_CHAR_THREAT_SEARCH tramp4 THREAT_DEADPEDS
 
					MARK_MODEL_AS_NO_LONGER_NEEDED PED_SCUM_MAN
					MARK_MODEL_AS_NO_LONGER_NEEDED PED_SCUM_WOMAN
 
					tramps_been_created = 1
					has_player_been_in_tramp_tunnel_before = 1
				ELSE
					IF tramps_been_created = 1
						IF tramp_is_dead = 0
							IF IS_CHAR_DEAD	tramp1
							OR IS_CHAR_DEAD	tramp2
							OR IS_CHAR_DEAD	tramp3
							OR IS_CHAR_DEAD	tramp4
								timerA = 0
								tramp_is_dead = 1
							ENDIF
						ENDIF
					ENDIF
 
				ENDIF
			ELSE
				IF has_player_been_in_tramp_tunnel_before = 1
					IF tramps_been_created = 1	
						MARK_CHAR_AS_NO_LONGER_NEEDED tramp1
						MARK_CHAR_AS_NO_LONGER_NEEDED tramp2
						MARK_CHAR_AS_NO_LONGER_NEEDED tramp3
						MARK_CHAR_AS_NO_LONGER_NEEDED tramp4
						tramps_been_created = 0
					ENDIF
 
					IF tramp_is_dead = 1
						IF timerA > 1440000
							tramp_is_dead = 0
							has_player_been_in_tramp_tunnel_before = 0
						ENDIF
					ELSE
						has_player_been_in_tramp_tunnel_before = 0
					ENDIF
				ENDIF
			ENDIF	//	IF IS_PLAYER_IN_AREA_3D Player 1325.0 -512.0 14.0 1315.0 -165.8 17.0 FALSE
 
		ELSE	//	IF IS_PLAYER_IN_ZONE Player LITTLEI
			IF has_player_been_in_tramp_tunnel_before = 1
				IF tramps_been_created = 1	
					MARK_CHAR_AS_NO_LONGER_NEEDED tramp1
					MARK_CHAR_AS_NO_LONGER_NEEDED tramp2
					MARK_CHAR_AS_NO_LONGER_NEEDED tramp3
					MARK_CHAR_AS_NO_LONGER_NEEDED tramp4
					tramps_been_created = 0
				ENDIF
 
				IF tramp_is_dead = 1
					IF timerA > 1440000
						tramp_is_dead = 0
						has_player_been_in_tramp_tunnel_before = 0
					ENDIF
				ELSE
					has_player_been_in_tramp_tunnel_before = 0
				ENDIF
			ENDIF
		ENDIF
 
		//ENDIF	//	IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL
 
	ENDIF //IS_PLAYER_PLAYING
 
	GOTO tramp_tunnel_inner
 
 
ind_sound:
 
//	Should be called in mission_start_genstuf
 
	SCRIPT_NAME I_SOUND
 
ind_sound_inner:
 
	WAIT 1000
 
	IF IS_PLAYER_PLAYING Player
 
		//IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL
//TIME OF DAY SOUND EFFECTS	(REDLIGHT)
 
		IF IS_PLAYER_IN_ZONE Player REDLIGH
			GET_TIME_OF_DAY hours minutes
 
			IF hours >= 20
			OR hours <= 5
				IF flag_sounds_added_redlight = 0
					ADD_CONTINUOUS_SOUND 891.9 -416.9 16.1 SOUND_STRIP_CLUB_LOOP_2_S sound_loop8 //Luigi's club
					ADD_CONTINUOUS_SOUND 924.2 -464.3 16.0 SOUND_STRIP_CLUB_LOOP_1_S sound_loop9 //Sex Kitten Club
					ADD_CONTINUOUS_SOUND 901.1 -392.0 15.0 SOUND_PORN_CINEMA_1_S sound_loop10 //XXX Cinema1
					ADD_CONTINUOUS_SOUND 901.2 -339.0 10.0 SOUND_PORN_CINEMA_2_S sound_loop11 //XXX Cinema2
					ADD_CONTINUOUS_SOUND 960.1 -379.0 15.0 SOUND_PORN_CINEMA_3_S sound_loop12 //XXX Cinema
					flag_sounds_added_redlight = 1
			    ENDIF
		  	ELSE
			  	IF flag_sounds_added_redlight = 1
		  	  		REMOVE_SOUND sound_loop8
			  		REMOVE_SOUND sound_loop9
			  		REMOVE_SOUND sound_loop10
					REMOVE_SOUND sound_loop11
					REMOVE_SOUND sound_loop12
					flag_sounds_added_redlight = 0
				ENDIF
			ENDIF
		ENDIF	//	IF IS_PLAYER_IN_ZONE Player REDLIGH
 
		//ENDIF	//	IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL
 
	ENDIF	//	IF IS_PLAYER_PLAYING Player
 
	GOTO ind_sound_inner
 
 
 
dog_sound:  // Sound effects for the dog food factory
 
//	Should be called in mission_start_genstuf
 
	SCRIPT_NAME D_SOUND
 
dog_sound_inner:
 
	WAIT 1000
 
	IF IS_PLAYER_PLAYING player
 
		//IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL
 
		IF IS_PLAYER_IN_ZONE player PORT_I
			GET_TIME_OF_DAY hours minutes
 
			IF hours >= 9
			AND hours <= 17
				IF flag_sounds_added_dog = 0
					//Portland Industrial
					ADD_CONTINUOUS_SOUND 1210.9 -802.2 15.0 SOUND_SAWMILL_LOOP_L sound_loop7 //Dog food factory
					flag_sounds_added_dog = 1
			    ENDIF
		  	ELSE
			  	IF flag_sounds_added_dog = 1
		  	  		REMOVE_SOUND sound_loop7
			  		flag_sounds_added_dog = 0
				ENDIF
			ENDIF
		ENDIF	//	IF IS_PLAYER_IN_ZONE Player REDLIGH
 
		//ENDIF	//	IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL
 
	ENDIF	//	IF IS_PLAYER_PLAYING Player
 
	GOTO dog_sound_inner
 
 
com_ammu:
 
//	Should be called in mission_start_genstuf
 
	SCRIPT_NAME C_AMMU
 
com_ammu_inner:
 
	WAIT 70
 
	IF IS_PLAYER_PLAYING Player
 
// AMMU NATION COMMERCIAL
 
		IF IS_PLAYER_IN_ZONE player COM_EAS
 
			IF IS_PLAYER_IN_AREA_3D player 353.3 -711.7 24.0 339.8 -722.4 28.0 FALSE
 
				IF camera_ammu2 = 0		
					SET_PLAYER_CONTROL Player Off
					SET_FADING_COLOUR 1 1 1
					SWITCH_STREAMING OFF
					LOAD_SPECIAL_CHARACTER 4 sam
					SET_MUSIC_DOES_FADE FALSE
					DO_FADE 500 FADE_OUT
					WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 4
						WAIT 0
					ENDWHILE
					WHILE GET_FADING_STATUS
						WAIT 0
					ENDWHILE
					SWITCH_STREAMING ON
					GET_GAME_TIMER current_time
					time_difference = current_time - time_since_murdering_shopkeeper1
 
					IF time_difference > 60000 
						CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL4 350.2 -719.9 25.4 ammu_shop_bloke1
						SET_CHAR_PERSONALITY ammu_shop_bloke1 PEDSTAT_TOUGH_GUY
						SET_CHAR_HEADING ammu_shop_bloke1 70.0
						SET_CHAR_STAY_IN_SAME_PLACE ammu_shop_bloke1 TRUE
						GIVE_WEAPON_TO_CHAR ammu_shop_bloke1 WEAPONTYPE_SHOTGUN 999
						IF IS_PLAYER_PLAYING player
							CHAR_LOOK_AT_PLAYER_ALWAYS ammu_shop_bloke1 Player
						ENDIF
					ENDIF
 
					UNLOAD_SPECIAL_CHARACTER 4
					SET_FIXED_CAMERA_POSITION 341.74 -720.676 28.019 0.0 0.0 0.0
					ENABLE_PLAYER_CONTROL_CAMERA
					IF IS_PLAYER_PLAYING player
						POINT_CAMERA_AT_PLAYER player FIXED JUMP_CUT
						CLEAR_AREA 350.7 -713.1 26.4 1.0 TRUE
		 		   		SET_PLAYER_COORDINATES player 350.7 -713.1 25.4
						SET_PLAYER_HEADING player 108.0
					ENDIF
					DO_FADE 500 FADE_IN
					WHILE GET_FADING_STATUS
						WAIT 0
					ENDWHILE
					IF IS_PLAYER_PLAYING player
						SET_PLAYER_CONTROL Player on
					ENDIF
 
					IF NOT IS_CHAR_DEAD ammu_shop_bloke1
						IF special_ammu_audio = 0 
							IF ammu_sample = 0
								SET_CHAR_SAY ammu_shop_bloke1 SOUND_AMMUNATION_CHAT_1
							ENDIF
							IF ammu_sample = 1
								SET_CHAR_SAY ammu_shop_bloke1 SOUND_AMMUNATION_CHAT_2
							ENDIF
							IF ammu_sample = 2
								SET_CHAR_SAY ammu_shop_bloke1 SOUND_AMMUNATION_CHAT_3
							ENDIF
						ENDIF
					ENDIF
 
					camera_ammu2 = 1
				ELSE	//	camera_ammu2 = 1
 
					IF IS_PLAYER_SHOOTING player
						IF NOT IS_CHAR_DEAD ammu_shop_bloke1
							IF ammu_bloke_kill_player = 0
								IF IS_PLAYER_PLAYING player
									SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT ammu_shop_bloke1 Player
								ENDIF
								ammu_bloke_kill_player = 1
							ENDIF
						ENDIF
					ENDIF
 
				ENDIF
 
			ELSE	//	player not in area (353.3 -711.7 24.0 340.3 -718.0 28.0)
 
				IF camera_ammu2 = 1
					SET_PLAYER_CONTROL Player Off
					DO_FADE 500 FADE_OUT
					WHILE GET_FADING_STATUS
						WAIT 0
					ENDWHILE
					IF IS_CHAR_DEAD	ammu_shop_bloke1
					AND	time_difference > 60000 //time_difference is greater than 60,000 means shopkeeper has been created 
						GET_GAME_TIMER time_since_murdering_shopkeeper1 
					ENDIF
					DELETE_CHAR	ammu_shop_bloke1
 
					CLEAR_AREA 352.0 -708.8 25.4 1.0 TRUE
 
					IF IS_PLAYER_PLAYING player
		 		   		SET_PLAYER_COORDINATES player 352.0 -708.8 25.4
						SET_PLAYER_HEADING player 0.0
						RESTORE_CAMERA_JUMPCUT
						SET_CAMERA_IN_FRONT_OF_PLAYER
					ENDIF
 
					DO_FADE 500 FADE_IN
					WHILE GET_FADING_STATUS
						WAIT 0
					ENDWHILE
					SET_MUSIC_DOES_FADE TRUE
 
					IF IS_PLAYER_PLAYING player
						SET_PLAYER_CONTROL Player on
					ENDIF
 
					ammu_sample ++
 
					IF ammu_sample > 2
						ammu_sample = 0
					ENDIF
 
					ammu_bloke_kill_player = 0
					camera_ammu2 = 0
				ENDIF 
			ENDIF //IS_PLAYER_IN_AREA_3D
 
		ELSE	//	player not in COM_EAS
 
			IF camera_ammu2 = 1
				IF IS_CHAR_DEAD	ammu_shop_bloke1
				AND	time_difference > 60000 //time_difference is greater than 30,000 means shopkeeper has been created
					GET_GAME_TIMER time_since_murdering_shopkeeper1 
				ENDIF
				RESTORE_CAMERA_JUMPCUT
				SET_CAMERA_IN_FRONT_OF_PLAYER
				DELETE_CHAR	ammu_shop_bloke1
				SET_MUSIC_DOES_FADE TRUE
				camera_ammu2 = 0
			ENDIF
 
		ENDIF	//	IF IS_PLAYER_IN_ZONE player COM_EAS
 
	ENDIF //IS_PLAYER_PLAYING
 
	GOTO com_ammu_inner
 
 
 
 
 
com_car_park:
 
//	Should be called in mission_start_genstuf
 
	SCRIPT_NAME C_CARP
 
com_car_park_inner:
 
	WAIT 250
 
	IF IS_PLAYER_PLAYING Player
 
		IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL
 
		// PARKED CARS GENERATOR FOR THE MULTISTORY CARPARK IN NEWPORT
			IF IS_PLAYER_IN_ZONE player COM_EAS
 
				IF IS_PLAYER_IN_AREA_3D	player 266.83 -610.93 25.0 306.31 -479.92 30.0 0 // 1ST FLOOR LOCATE
					SET_CAR_DENSITY_MULTIPLIER 0.0
					IF second_floor_cars_exist = 0
						GOSUB second_floor_of_cars
						second_floor_cars_exist = 1
					ENDIF
					IF third_floor_cars_exist = 1
						CLEAR_AREA_OF_CARS 266.83 -610.93 30.4 306.31 -479.92 34.84 // 3RD FLOOR CLEAR
						third_floor_cars_exist = 0
					ENDIF
					IF fourth_floor_cars_exist = 1
						CLEAR_AREA_OF_CARS 306.31 -610.93 32.84 346.81 -479.92 40.0 // 4TH FLOOR CLEAR
						fourth_floor_cars_exist = 0
					ENDIF
					IF fifth_floor_cars_exist = 1
						CLEAR_AREA_OF_CARS 266.83 -610.93 35.23 306.31 -479.92 40.0	// 5TH FLOOR CLEAR
						fifth_floor_cars_exist = 0
					ENDIF
					need_to_clear_area_flag = 1 
				ENDIF
 
				IF need_to_clear_area_flag > 0
					IF IS_PLAYER_IN_AREA_3D player 306.31 -610.93 28.0 346.81 -479.92 32.42 0 // 2ND FLOOR LOCATE
						IF second_floor_cars_exist = 0
							GOSUB second_floor_of_cars
							second_floor_cars_exist = 1
						ENDIF
						IF third_floor_cars_exist = 0
							GOSUB third_floor_of_cars
							third_floor_cars_exist = 1
						ENDIF
						IF fourth_floor_cars_exist = 1
							CLEAR_AREA_OF_CARS 306.31 -610.93 32.84 346.81 -479.92 40.0 // 4TH FLOOR CLEAR
							fourth_floor_cars_exist = 0
						ENDIF
						IF fifth_floor_cars_exist = 1
							CLEAR_AREA_OF_CARS 266.83 -610.93 35.23 306.31 -479.92 40.0	// 5TH FLOOR CLEAR
							fifth_floor_cars_exist = 0
						ENDIF
						need_to_clear_area_flag = 2
					ENDIF
				ENDIF
 
				IF need_to_clear_area_flag > 1
					IF IS_PLAYER_IN_AREA_3D player 266.83 -610.93 30.4 306.31 -479.92 34.84 0 // 3RD FLOOR LOCATE
						IF second_floor_cars_exist = 0
							GOSUB second_floor_of_cars
							second_floor_cars_exist = 1
						ENDIF
						IF third_floor_cars_exist = 0
							GOSUB third_floor_of_cars
							third_floor_cars_exist = 1
						ENDIF
						IF fourth_floor_cars_exist = 0
							GOSUB fourth_floor_of_cars
							fourth_floor_cars_exist = 1
						ENDIF
						IF fifth_floor_cars_exist = 1
							CLEAR_AREA_OF_CARS 266.83 -610.93 35.23 306.31 -479.92 40.0	// 5TH FLOOR CLEAR
							fifth_floor_cars_exist = 0
						ENDIF
						need_to_clear_area_flag = 3
					ENDIF
				ENDIF
 
				IF need_to_clear_area_flag > 2
					IF IS_PLAYER_IN_AREA_3D player 306.31 -610.93 32.84 346.81 -479.92 40.0 0 // 4TH FLOOR LOCATE
						IF second_floor_cars_exist = 1
							CLEAR_AREA_OF_CARS 306.31 -610.93 28.0 346.81 -479.92 32.42 // 2ND FLOOR CLEAR
							second_floor_cars_exist = 0
						ENDIF
						IF third_floor_cars_exist = 0
							GOSUB third_floor_of_cars
							third_floor_cars_exist = 1
						ENDIF
						IF fourth_floor_cars_exist = 0
							GOSUB fourth_floor_of_cars
							fourth_floor_cars_exist = 1
						ENDIF
						IF fifth_floor_cars_exist = 0
							GOSUB fifth_floor_of_cars
							fifth_floor_cars_exist = 1
						ENDIF
						need_to_clear_area_flag = 4
					ENDIF
				ENDIF
 
				IF need_to_clear_area_flag > 3
					IF IS_PLAYER_IN_AREA_3D player 266.83 -610.93 35.23 306.31 -479.92 40.0 0 // 5TH FLOOR LOCATE
						IF second_floor_cars_exist = 1
							CLEAR_AREA_OF_CARS 306.31 -610.93 28.0 346.81 -479.92 32.42 // 2ND FLOOR CLEAR
							second_floor_cars_exist = 0
						ENDIF
						IF third_floor_cars_exist = 1
							CLEAR_AREA_OF_CARS 266.83 -610.93 30.4 306.31 -479.92 34.84 // 3RD FLOOR CLEAR
							third_floor_cars_exist = 0
						ENDIF
						IF fourth_floor_cars_exist = 0
							GOSUB fourth_floor_of_cars
							fourth_floor_cars_exist = 1
						ENDIF
						IF fifth_floor_cars_exist = 0
							GOSUB fifth_floor_of_cars
							fifth_floor_cars_exist = 1
						ENDIF
						need_to_clear_area_flag = 5
					ENDIF
				ENDIF
 
				IF need_to_clear_area_flag > 0
					IF NOT IS_PLAYER_IN_AREA_3D player 266.83 -610.93 25.0 346.81 -479.92 40.0 0 // ENTIRE CARPARK LOCATE
						SET_CAR_DENSITY_MULTIPLIER 1.0
						CLEAR_AREA_OF_CARS 306.31 -610.93 28.0 346.81 -479.92 32.42 // 2ND FLOOR CLEAR
						CLEAR_AREA_OF_CARS 266.83 -610.93 30.4 306.31 -479.92 34.84 // 3RD FLOOR CLEAR
						CLEAR_AREA_OF_CARS 306.31 -610.93 32.84 346.81 -479.92 40.0 // 4TH FLOOR CLEAR
						CLEAR_AREA_OF_CARS 266.83 -610.93 35.23 306.31 -479.92 40.0	// 5TH FLOOR CLEAR
						second_floor_cars_exist = 0
						third_floor_cars_exist  = 0
						fourth_floor_cars_exist = 0
						fifth_floor_cars_exist	= 0
						need_to_clear_area_flag = 0
					ENDIF
				ENDIF
			ENDIF //IS_PLAYER_IN_ZONE player COM_EAS // CARPARK STUFF
 
		ENDIF	//	IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL
		IF need_to_clear_area_flag > 0
			IF NOT IS_PLAYER_IN_AREA_3D player 266.83 -610.93 25.0 346.81 -479.92 40.0 0 // ENTIRE CARPARK LOCATE
				SET_CAR_DENSITY_MULTIPLIER 1.0
				CLEAR_AREA_OF_CARS 306.31 -610.93 28.0 346.81 -479.92 32.42 // 2ND FLOOR CLEAR
				CLEAR_AREA_OF_CARS 266.83 -610.93 30.4 306.31 -479.92 34.84 // 3RD FLOOR CLEAR
				CLEAR_AREA_OF_CARS 306.31 -610.93 32.84 346.81 -479.92 40.0 // 4TH FLOOR CLEAR
				CLEAR_AREA_OF_CARS 266.83 -610.93 35.23 306.31 -479.92 40.0	// 5TH FLOOR CLEAR
				second_floor_cars_exist = 0
				third_floor_cars_exist  = 0
				fourth_floor_cars_exist = 0
				fifth_floor_cars_exist	= 0
				need_to_clear_area_flag = 0
			ENDIF
		ENDIF
	ENDIF //IS_PLAYER_PLAYING
 
	GOTO com_car_park_inner
 
 
second_floor_of_cars://////////////////////////////////////////////
	CREATE_RANDOM_CAR_FOR_CAR_PARK 311.5469 -510.2604 28.1100 91.0159 	  // 2ND FLOOR CARS
	CREATE_RANDOM_CAR_FOR_CAR_PARK 323.5103 -526.5427 28.1100 270.3409 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 342.6624 -542.3556 28.1100 268.3777 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 311.4912 -554.4299 28.1100 91.0689 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 310.4685 -574.6492 28.1100 269.4606 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 342.7477 -590.4939 28.1100 268.4776
RETURN/////////////////////////////////////////////////////////////
 
third_floor_of_cars:///////////////////////////////////////////////
	CREATE_RANDOM_CAR_FOR_CAR_PARK 302.2802 -580.5526 30.5114  270.3723   // 3RD FLOOR CARS
	CREATE_RANDOM_CAR_FOR_CAR_PARK 289.5574 -564.5915 30.5114 88.0410 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 283.8795 -548.4308 30.5114 92.5479 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 270.6312 -528.4613 30.5114 88.6249 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 301.5385 -484.7673 30.3863 271.6668 
RETURN/////////////////////////////////////////////////////////////
 
fourth_floor_of_cars://////////////////////////////////////////////
	CREATE_RANDOM_CAR_FOR_CAR_PARK 311.0863 -512.6859 32.8451 91.1545 	  // 4TH FLOOR CARS
	CREATE_RANDOM_CAR_FOR_CAR_PARK 342.6769 -536.3028 32.8375 266.6709 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 311.4744 -564.1841 32.8375 267.5539 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 330.5274 -584.3387 32.8375 267.7581 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 342.9128 -600.6630 32.8375 87.2900 
RETURN/////////////////////////////////////////////////////////////
 
fifth_floor_of_cars:///////////////////////////////////////////////
	CREATE_RANDOM_CAR_FOR_CAR_PARK 282.3572 -582.5417 35.2389 267.0331 	 // 5TH FLOOR CARS
	CREATE_RANDOM_CAR_FOR_CAR_PARK 302.7462 -574.5422 35.2465 271.0973 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 270.9382 -530.4745 35.2389 88.3213 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 303.2198 -510.6057 35.2389 88.6673 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 283.2274 -502.7662 35.2389 89.4868 
	CREATE_RANDOM_CAR_FOR_CAR_PARK 302.4006 -485.5503 35.2389 266.0503
RETURN/////////////////////////////////////////////////////////////
 
 
/*
check_for_dead_peds_in_genstuf:
 
IF IS_CHAR_DEAD tramp1
	tramp1_dead = 1
ELSE
	tramp1_dead = 0
ENDIF
 
IF IS_CHAR_DEAD tramp2
	tramp2_dead = 1
ELSE
	tramp2_dead = 0
ENDIF
 
IF IS_CHAR_DEAD tramp3
	tramp3_dead = 1
ELSE
	tramp3_dead = 0
ENDIF
 
IF IS_CHAR_DEAD tramp4
	tramp4_dead = 1
ELSE
	tramp4_dead = 0
ENDIF
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