MISSION_START
VAR_FLOAT objectx, objecty, objectz // Checks for the sliding doors to tell them to close if an object is in the way
VAR_INT gate_sfx1_fish gate_sfx2_fish not_clunked_yet
VAR_INT gate_sfx1_meat gate_sfx2_meat
VAR_INT gate_sfx1 gate_sfx2 gate2_sfx1 gate2_sfx2
VAR_INT open_phils_gate
gate_sfx1 = 0
gate_sfx2 = 0
gate2_sfx1 = 0
gate2_sfx2 = 0
gate_sfx1_fish = 0
gate_sfx2_fish = 0
gate_sfx1_meat = 0
gate_sfx2_meat = 0
not_clunked_yet = 0
SCRIPT_NAME gates
SET_DEATHARREST_STATE OFF
mission_start_gates:
START_NEW_SCRIPT fish_factory_gate
START_NEW_SCRIPT dog_food_factory_gate
START_NEW_SCRIPT police_gate1
START_NEW_SCRIPT police_gate2
START_NEW_SCRIPT colombian_gate
START_NEW_SCRIPT phils_gate
START_NEW_SCRIPT colombian_gate2
MISSION_END
// INDUSTRIAL GATES ***********************************************************************************************
fish_factory_gate:
// Should be called in mission_start_gates
SCRIPT_NAME FSH_GTE
fish_factory_gate_inner:
WAIT 1000
IF IS_PLAYER_PLAYING Player
//IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL
IF IS_PLAYER_IN_ZONE Player PORT_W
// Fish Factory Gate
IF IS_PLAYER_IN_AREA_3D player 1025.2 -1108.4 12.0 1008.2 -1098.4 16.0 FALSE
IF IS_PLAYER_IN_MODEL player CAR_BELLYUP
OR IS_PLAYER_IN_MODEL player CAR_TRASHMASTER
OR IS_PLAYER_IN_AREA_3D player 1015.6 -1100.5 12.0 1009.2 -1108.1 16.0 FALSE
IF gate_sfx1_fish = 0
ADD_ONE_OFF_SOUND 1016.0 -1107.955 12.294 SOUND_GATE_START_CLUNK
gate_sfx1_fish = 1
ENDIF
WHILE NOT SLIDE_OBJECT fish_factory_gate 1016.0 -1099.455 12.294 0.0 0.1 0.0 FALSE
WAIT 0
ENDWHILE
IF not_clunked_yet = 1
gate_sfx2_fish = 0
not_clunked_yet = 0
ENDIF
IF gate_sfx2_fish = 0
ADD_ONE_OFF_SOUND 1016.0 -1099.455 12.294 SOUND_GATE_STOP_CLUNK
gate_sfx2_fish = 1
ENDIF
ENDIF
ELSE
IF gate_sfx1_fish = 1
ADD_ONE_OFF_SOUND 1016.0 -1099.455 12.294 SOUND_GATE_START_CLUNK
ENDIF
WHILE NOT SLIDE_OBJECT fish_factory_gate 1016.0 -1107.955 12.294 0.0 0.1 0.0 TRUE
// GET_OBJECT_COORDINATES fish_factory_gate objectx objecty objectz
WAIT 0
ENDWHILE
GET_OBJECT_COORDINATES fish_factory_gate objectx objecty objectz
IF gate_sfx2_fish = 1
not_clunked_yet = 1
IF objectx = 1016.0
AND objecty = -1107.955
AND objectz = 12.294
ADD_ONE_OFF_SOUND 1016.0 -1107.955 12.294 SOUND_GATE_STOP_CLUNK
gate_sfx2_fish = 0
not_clunked_yet = 0
ENDIF
ENDIF
gate_sfx1_fish = 0
ENDIF // IF IS_PLAYER_IN_AREA_3D player 1025.2 -1108.4 12.0 1008.2 -1098.4 16.0 FALSE
ENDIF // IF IS_PLAYER_IN_ZONE Player PORT_W
//ENDIF // IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL
ENDIF // IF IS_PLAYER_PLAYING Player
GOTO fish_factory_gate_inner
dog_food_factory_gate:
// Should be called in mission_start_gates
SCRIPT_NAME DOG_GTE
dog_food_factory_gate_inner:
WAIT 1000
IF IS_PLAYER_PLAYING Player
//IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL
IF IS_PLAYER_IN_ZONE Player PORT_I
// Dog Food Factory Gate
IF IS_PLAYER_IN_ANGLED_AREA_3D player 1247.58 -822.0 12.0 1253.94 -815.0 18.0 14.0 FALSE
IF gate_sfx1_meat = 0
ADD_ONE_OFF_SOUND 1250.4 -812.0 13.97 SOUND_GATE_START_CLUNK
gate_sfx1_meat = 1
ENDIF
WHILE NOT SLIDE_OBJECT dogfood_factory_gate 1244.4 -818.0 13.97 0.1 0.1 0.0 FALSE
WAIT 0
ENDWHILE
IF not_clunked_yet = 1
gate_sfx2_meat = 0
not_clunked_yet = 0
ENDIF
IF gate_sfx2_meat = 0
ADD_ONE_OFF_SOUND 1244.4 -818.0 13.97 SOUND_GATE_STOP_CLUNK
gate_sfx2_meat = 1
ENDIF
ELSE
IF gate_sfx1_meat = 1
ADD_ONE_OFF_SOUND 1244.4 -818.0 13.97 SOUND_GATE_START_CLUNK
ENDIF
WHILE NOT SLIDE_OBJECT dogfood_factory_gate 1250.4 -812.0 13.97 0.1 0.1 0.0 TRUE
//GET_OBJECT_COORDINATES dogfood_factory_gate objectx objecty objectz
WAIT 0
ENDWHILE
GET_OBJECT_COORDINATES dogfood_factory_gate objectx objecty objectz
IF gate_sfx2_meat = 1
not_clunked_yet = 1
IF objectx = 1250.4
AND objecty = -812.0
AND objectz = 13.97
ADD_ONE_OFF_SOUND 1250.4 -812.0 13.97 SOUND_GATE_STOP_CLUNK
gate_sfx2_meat = 0
not_clunked_yet = 0
ENDIF
ENDIF
gate_sfx1_meat = 0
ENDIF // IF IS_PLAYER_IN_ANGLED_AREA_3D player 1247.58 -822.0 12.0 1253.94 -815.0 18.0 14.0 FALSE
ENDIF // IF IS_PLAYER_IN_ZONE Player PORT_I
//ENDIF // IF IS_COLLISION_IN_MEMORY LEVEL_INDUSTRIAL
ENDIF // IF IS_PLAYER_PLAYING Player
GOTO dog_food_factory_gate_inner
// END OF INDUSTRIAL GATES ****************************************************************************************
// COMMERCIAL GATES ***********************************************************************************************
police_gate1:
// Should be called in mission_start_gates
SCRIPT_NAME POL_GT1
police_gate1_inner:
WAIT 1000
IF IS_PLAYER_PLAYING Player
//IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL
IF IS_PLAYER_IN_ZONE player YAKUSA
// Commercial Police Gate one
IF IS_PLAYER_IN_AREA_3D player 358.0 -1138.0 18.0 366.0 -1121.0 30.0 FALSE
IF IS_PLAYER_IN_MODEL player CAR_POLICE
OR IS_PLAYER_IN_AREA_3D player 365.9 -1128.2 21.9 358.5 -1119.5 26.0 FALSE
IF gate_sfx1 = 0
ADD_ONE_OFF_SOUND 366.158 -1128.522 21.941 SOUND_GATE_START_CLUNK
gate_sfx1 = 1
ENDIF
WHILE NOT SLIDE_OBJECT police_door_one 358.158 -1128.522 21.941 0.1 0.0 0.0 FALSE
WAIT 0
ENDWHILE
IF not_clunked_yet = 1
gate_sfx2 = 0
not_clunked_yet = 0
ENDIF
IF gate_sfx2 = 0
ADD_ONE_OFF_SOUND 358.158 -1128.522 21.941 SOUND_GATE_STOP_CLUNK
gate_sfx2 = 1
ENDIF
ENDIF
ELSE
IF gate_sfx1 = 1
ADD_ONE_OFF_SOUND 358.158 -1128.522 21.941 SOUND_GATE_START_CLUNK
ENDIF
WHILE NOT SLIDE_OBJECT police_door_one 366.158 -1128.522 21.941 0.1 0.0 0.0 TRUE
// GET_OBJECT_COORDINATES police_door_one objectx objecty objectz
WAIT 0
ENDWHILE
GET_OBJECT_COORDINATES police_door_one objectx objecty objectz
IF gate_sfx2 = 1
not_clunked_yet = 1
IF objectx = 366.158
AND objecty = -1128.522
AND objectz = 21.941
ADD_ONE_OFF_SOUND 366.158 -1128.522 21.941 SOUND_GATE_STOP_CLUNK
gate_sfx2 = 0
not_clunked_yet = 0
ENDIF
ENDIF
gate_sfx1 = 0
ENDIF // IF IS_PLAYER_IN_AREA_3D player 358.0 -1138.0 18.0 366.0 -1121.0 30.0 FALSE
ENDIF // IF IS_PLAYER_IN_ZONE player YAKUSA
//ENDIF // IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL
ENDIF // IF IS_PLAYER_PLAYING Player
GOTO police_gate1_inner
police_gate2:
// Should be called in mission_start_gates
SCRIPT_NAME POL_GT2
police_gate2_inner:
WAIT 1000
IF IS_PLAYER_PLAYING Player
//IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL
IF IS_PLAYER_IN_ZONE player YAKUSA
// commercial police gate two
IF IS_PLAYER_IN_AREA_3D player 317.87 -1136.0 18.0 322.84 -1119.82 30.0 FALSE
IF IS_PLAYER_IN_MODEL player CAR_POLICE
OR IS_PLAYER_IN_AREA_3D player 322.7 -1128.1 21.9 318.0 -1119.3 26.0 FALSE
IF gate2_sfx1 = 0
ADD_ONE_OFF_SOUND 326.3 -1128.522 21.941 SOUND_GATE_START_CLUNK
gate2_sfx1 = 1
ENDIF
WHILE NOT SLIDE_OBJECT police_door_two 332.0 -1128.522 21.941 0.1 0.0 0.0 FALSE
WAIT 0
ENDWHILE
IF not_clunked_yet = 1
gate2_sfx2 = 0
not_clunked_yet = 0
ENDIF
IF gate2_sfx2 = 0
ADD_ONE_OFF_SOUND 332.0 -1128.522 21.941 SOUND_GATE_STOP_CLUNK
gate2_sfx2 = 1
ENDIF
ENDIF
ELSE
IF gate2_sfx1 = 1
ADD_ONE_OFF_SOUND 332.0 -1128.522 21.941 SOUND_GATE_START_CLUNK
ENDIF
WHILE NOT SLIDE_OBJECT police_door_two 326.3 -1128.522 21.941 0.1 0.0 0.0 TRUE
// GET_OBJECT_COORDINATES police_door_two objectx objecty objectz
WAIT 0
ENDWHILE
GET_OBJECT_COORDINATES police_door_two objectx objecty objectz
IF gate2_sfx2 = 1
not_clunked_yet = 1
IF objectx = 326.3
AND objecty = -1128.522
AND objectz = 21.941
ADD_ONE_OFF_SOUND 326.3 -1128.522 21.941 SOUND_GATE_STOP_CLUNK
gate2_sfx2 = 0
not_clunked_yet = 0
ENDIF
ENDIF
gate2_sfx1 = 0
ENDIF // IF IS_PLAYER_IN_AREA_3D player 317.87 -1136.0 18.0 322.84 -1119.82 30.0 FALSE
ENDIF // IF IS_PLAYER_IN_ZONE player YAKUSA
//ENDIF // IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL
ENDIF // IF IS_PLAYER_PLAYING Player
GOTO police_gate2_inner
colombian_gate:
// Should be called in mission_start_gates
SCRIPT_NAME COL_GTE
colombian_gate_inner:
WAIT 1000
IF IS_PLAYER_PLAYING Player
//IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL
IF IS_PLAYER_IN_ZONE player STADIUM
// Colombian Compound Gate
IF IS_PLAYER_IN_AREA_3D player 98.6 -337.53 14.0 81.9 -317.56 20.0 FALSE
IF IS_PLAYER_IN_MODEL player CAR_COLUMB
OR IS_PLAYER_IN_AREA_3D player 31.0 -317.0 14.0 91.0 -394.0 25.0 FALSE
IF gate2_sfx1 = 0
ADD_ONE_OFF_SOUND 91.589 -318.592 15.296 SOUND_GATE_START_CLUNK
gate2_sfx1 = 1
ENDIF
WHILE NOT SLIDE_OBJECT colombian_gate 91.589 -327.365 15.296 0.0 0.1 0.0 FALSE
WAIT 0
ENDWHILE
IF not_clunked_yet = 1
gate_sfx2 = 0
not_clunked_yet = 0
ENDIF
IF gate2_sfx2 = 0
ADD_ONE_OFF_SOUND 91.589 -327.365 15.296 SOUND_GATE_STOP_CLUNK
gate2_sfx2 = 1
ENDIF
ENDIF
ELSE
IF gate2_sfx1 = 1
ADD_ONE_OFF_SOUND 91.589 -327.365 15.296 SOUND_GATE_START_CLUNK
ENDIF
WHILE NOT SLIDE_OBJECT colombian_gate 91.589 -318.592 15.296 0.0 0.1 0.0 TRUE
// GET_OBJECT_COORDINATES colombian_gate objectx objecty objectz
WAIT 0
ENDWHILE
GET_OBJECT_COORDINATES colombian_gate objectx objecty objectz
IF gate2_sfx2 = 1
not_clunked_yet = 1
IF objectx = 91.589
AND objecty = -318.592
AND objectz = 15.296
ADD_ONE_OFF_SOUND 91.589 -318.592 15.296 SOUND_GATE_STOP_CLUNK
gate2_sfx2 = 0
not_clunked_yet = 0
ENDIF
ENDIF
gate2_sfx1 = 0
ENDIF // IF IS_PLAYER_IN_AREA_3D player 98.6 -337.53 14.0 81.9 -317.56 20.0 FALSE
ENDIF // IF IS_PLAYER_IN_ZONE player STADIUM
//ENDIF // IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL
ENDIF // IF IS_PLAYER_PLAYING Player
GOTO colombian_gate_inner
phils_gate:
// Should be called in mission_start_gates
SCRIPT_NAME PHL_GTE
phils_gate_inner:
WAIT 1000
IF IS_PLAYER_PLAYING Player
//IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL
IF IS_PLAYER_IN_ZONE player HOSPI_2
//PHIL'S GATE
open_phils_gate = FALSE
IF flag_ray_mission2_passed = 1
IF IS_PLAYER_IN_AREA_2D player 134.0 198.0 156.0 207.0 FALSE
open_phils_gate = TRUE
ENDIF
ELSE
IF flag_player_on_phil_mission = 1 // If player is doing phil mission
GOTO phils_gate_inner // then this script doesn't move the gate at all.
ENDIF // The phil script should do all gate moving.
IF IS_PLAYER_IN_AREA_2D player 138.0 198.0 146.0 207.0 FALSE
open_phils_gate = TRUE
ENDIF
ENDIF
IF open_phils_gate = TRUE
IF gate2_sfx1 = 0
ADD_ONE_OFF_SOUND 147.249 207.323 10.599 SOUND_GATE_START_CLUNK
gate2_sfx1 = 1
ENDIF
WHILE NOT SLIDE_OBJECT phils_compnd_gate 147.249 214.523 10.599 0.0 0.1 0.0 FALSE
WAIT 0
ENDWHILE
IF not_clunked_yet = 1
gate_sfx2 = 0
not_clunked_yet = 0
ENDIF
IF gate2_sfx2 = 0
ADD_ONE_OFF_SOUND 147.249 214.523 10.599 SOUND_GATE_STOP_CLUNK
gate2_sfx2 = 1
ENDIF
ELSE
IF gate2_sfx1 = 1
ADD_ONE_OFF_SOUND 147.249 214.523 10.599 SOUND_GATE_START_CLUNK
ENDIF
WHILE NOT SLIDE_OBJECT phils_compnd_gate 147.249 207.323 10.599 0.0 0.1 0.0 TRUE
// GET_OBJECT_COORDINATES phils_compnd_gate objectx objecty objectz
WAIT 0
ENDWHILE
GET_OBJECT_COORDINATES phils_compnd_gate objectx objecty objectz
IF gate2_sfx2 = 1
not_clunked_yet = 1
IF objectx = 147.249
AND objecty = 207.323
AND objectz = 10.599
ADD_ONE_OFF_SOUND 147.249 207.323 10.599 SOUND_GATE_STOP_CLUNK
gate2_sfx2 = 0
not_clunked_yet = 0
ENDIF
ENDIF
gate2_sfx1 = 0
ENDIF // IF open_phils_gate = TRUE
ENDIF // IF IS_PLAYER_IN_ZONE player HOSPI_2
//ENDIF // IF IS_COLLISION_IN_MEMORY LEVEL_COMMERCIAL
ENDIF // IF IS_PLAYER_PLAYING Player
GOTO phils_gate_inner
// END OF COMMERCIAL GATES ****************************************************************************************
// SUBURBAN GATES *************************************************************************************************
colombian_gate2:
// Should be called in mission_start_gates
SCRIPT_NAME COL2GTE
colombian_gate2_inner:
WAIT 1000
IF IS_PLAYER_PLAYING Player
//IF IS_COLLISION_IN_MEMORY LEVEL_SUBURBAN
IF IS_PLAYER_IN_ZONE player SWANKS
// Columbian gate
IF IS_PLAYER_IN_AREA_3D player -367.3 241.0 59.0 -358.8 259.6 65.0 FALSE
IF IS_PLAYER_IN_MODEL player CAR_COLUMB
OR IS_PLAYER_IN_AREA_3D player -367.3 251.0 59.0 -358.8 259.6 65.0 FALSE
IF gate_sfx1 = 0
ADD_ONE_OFF_SOUND -363.05 250.455 61.355 SOUND_GATE_START_CLUNK
gate_sfx1 = 1
ENDIF
WHILE NOT SLIDE_OBJECT Columbian_gate2 -370.05 250.455 61.355 0.1 0.0 0.0 FALSE
WAIT 0
ENDWHILE
IF not_clunked_yet = 1
gate_sfx2 = 0
not_clunked_yet = 0
ENDIF
IF gate_sfx2 = 0
ADD_ONE_OFF_SOUND -370.05 250.455 61.355 SOUND_GATE_STOP_CLUNK
gate_sfx2 = 1
ENDIF
ENDIF
ELSE
IF gate_sfx1 = 1
ADD_ONE_OFF_SOUND -370.05 250.455 61.355 SOUND_GATE_START_CLUNK
ENDIF
WHILE NOT SLIDE_OBJECT Columbian_gate2 -363.05 250.455 61.355 0.1 0.0 0.0 TRUE
// GET_OBJECT_COORDINATES Columbian_gate2 objectx objecty objectz
WAIT 0
ENDWHILE
GET_OBJECT_COORDINATES Columbian_gate2 objectx objecty objectz
IF gate_sfx2 = 1
not_clunked_yet = 1
IF objectx = -363.05
AND objecty = 250.455
AND objectz = 61.355
ADD_ONE_OFF_SOUND -363.05 250.455 61.355 SOUND_GATE_STOP_CLUNK
gate_sfx2 = 0
not_clunked_yet = 0
ENDIF
ENDIF
gate_sfx1 = 0
ENDIF // IF IS_PLAYER_IN_AREA_3D player -367.3 241.0 59.0 -358.8 259.6 65.0 FALSE
ENDIF // IF IS_PLAYER_IN_ZONE player SWANKS
//ENDIF // IF IS_COLLISION_IN_MEMORY LEVEL_SUBURBAN
ENDIF // IF IS_PLAYER_PLAYING Player
GOTO colombian_gate2_inner
// END OF SUBURBAN GATES ******************************************************************************************