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