R4gn0r0k

frank3.sc

Feb 4th, 2016
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 73.69 KB | None | 0 0
  1. MISSION_START
  2. // *****************************************************************************************
  3. // *****************************************************************************************
  4. // *************************************Frankie Mission 3***********************************
  5. // ***************************************"BOMB DA BASE"************************************
  6. // *****************************************************************************************
  7. // *****************************************************************************************
  8. // *****************************************************************************************
  9.  
  10. SCRIPT_NAME frank3
  11.  
  12. // Mission start stuff
  13.  
  14. GOSUB mission_start_frankie3
  15.  
  16. IF HAS_DEATHARREST_BEEN_EXECUTED
  17. GOSUB mission_frankie3_failed
  18. ENDIF
  19.  
  20. GOSUB mission_cleanup_frankie3
  21.  
  22. MISSION_END
  23.  
  24.  
  25. // Variables for mission
  26.  
  27. VAR_INT ped_8ball_fm3
  28.  
  29. VAR_INT radar_blip_ped2_fm3
  30.  
  31. VAR_INT radar_blip_coord3_fm3
  32.  
  33. VAR_INT guard1_fm3
  34.  
  35. VAR_INT guard2_fm3
  36.  
  37. VAR_INT guard3_fm3
  38.  
  39. VAR_INT guard4_fm3
  40.  
  41. VAR_INT guard5_fm3
  42.  
  43. VAR_INT guard6_fm3
  44.  
  45. VAR_INT guard7_fm3
  46.  
  47. VAR_INT guard8_fm3
  48.  
  49. VAR_INT guard9_fm3
  50.  
  51. VAR_INT guard10_fm3
  52.  
  53. VAR_INT guard11_fm3
  54.  
  55. VAR_INT guard12_fm3
  56.  
  57. VAR_INT car_fm3
  58.  
  59. VAR_INT timer_fm3
  60.  
  61. VAR_INT radar_blip_coord2_fm3
  62.  
  63. VAR_INT flag_bloke_leave_group_fm3
  64.  
  65. VAR_INT flag_bloke_in_area_fm3
  66.  
  67. VAR_INT flag_guard1_fm3_dead
  68.  
  69. VAR_INT flag_guard2_fm3_dead
  70.  
  71. VAR_INT flag_guard3_fm3_dead
  72.  
  73. VAR_INT flag_guard4_fm3_dead
  74.  
  75. VAR_INT flag_guard5_fm3_dead
  76.  
  77. VAR_INT flag_guard6_fm3_dead
  78.  
  79. VAR_INT flag_guard7_fm3_dead
  80.  
  81. VAR_INT flag_guard8_fm3_dead
  82.  
  83. VAR_INT flag_guard9_fm3_dead
  84.  
  85. VAR_INT flag_guard10_fm3_dead
  86.  
  87. VAR_INT flag_guard11_fm3_dead
  88.  
  89. VAR_INT flag_guard12_fm3_dead
  90.  
  91. VAR_INT flag_got_message_fm3
  92.  
  93. VAR_INT flag_on_frankie3
  94.  
  95. VAR_INT flag_guard3_fm3_created
  96.  
  97. VAR_INT flag_guard4_fm3_created
  98.  
  99. VAR_INT flag_guard5_fm3_created
  100.  
  101. VAR_INT flag_guard6_fm3_created
  102.  
  103. VAR_INT flag_blip_on_eightball_fm3
  104.  
  105. // guards told to look for 8ball
  106.  
  107. VAR_INT flag_guard1_looking_for_8ball
  108.  
  109. VAR_INT flag_guard2_looking_for_8ball
  110.  
  111. VAR_INT flag_guard3_looking_for_8ball
  112.  
  113. VAR_INT flag_guard4_looking_for_8ball
  114.  
  115. VAR_INT flag_guard5_looking_for_8ball
  116.  
  117. VAR_INT flag_guard6_looking_for_8ball
  118.  
  119. VAR_INT flag_guard7_looking_for_8ball
  120.  
  121. VAR_INT flag_guard8_looking_for_8ball
  122.  
  123. VAR_INT flag_guard9_looking_for_8ball
  124.  
  125. VAR_INT flag_guard10_looking_for_8ball
  126.  
  127. VAR_INT flag_guard11_looking_for_8ball
  128.  
  129. VAR_INT flag_guard12_looking_for_8ball
  130.  
  131. VAR_INT flag_8ball_ordered_area1
  132.  
  133. VAR_INT crate_fm3
  134.  
  135. VAR_INT flag_drop_crate_fm3
  136.  
  137. VAR_INT counter_no_guards_dead_fm3 // Check to see if the player is cheating
  138.  
  139. VAR_INT flag_played_cops_audio_fm3
  140.  
  141. VAR_INT flag_played_8ball_audio_fm3
  142.  
  143. VAR_INT flag_gun_help1_fm3
  144.  
  145. VAR_INT flag_gun_help2_fm3
  146.  
  147. VAR_INT flag_gun_help3_fm3
  148.  
  149. VAR_INT flag_timer_fm3
  150.  
  151. VAR_INT flag_timer2_fm3
  152.  
  153. VAR_INT flag_timer3_fm3
  154.  
  155. VAR_INT flag_timer4_fm3
  156.  
  157. VAR_INT boat_barrel7
  158.  
  159. VAR_INT boat_barrel8
  160.  
  161. VAR_INT boat_barrel9
  162.  
  163. VAR_INT boat_barrel10
  164.  
  165. VAR_INT boat_barrel11
  166.  
  167. VAR_INT boat_barrel12
  168.  
  169. VAR_INT boat_barrel13
  170.  
  171. VAR_INT boat_barrel14
  172.  
  173. VAR_INT boat_barrel15
  174.  
  175. VAR_INT boat_barrel16
  176.  
  177. VAR_INT boat_barrel17
  178.  
  179. VAR_FLOAT eightball_x_fm3
  180.  
  181. VAR_FLOAT eightball_y_fm3
  182.  
  183. VAR_FLOAT eightball_z_fm3
  184.  
  185. VAR_INT car_columb1_fm3
  186.  
  187. VAR_INT car_columb2_fm3
  188.  
  189. VAR_INT flag_columb_car1_dead
  190.  
  191. VAR_INT flag_columb_car2_dead
  192.  
  193. VAR_INT flag_audio_cops_loaded_fm3
  194.  
  195. VAR_INT flag_timer_set_fm3 // if 8ball gets stuck timer to warp him to his next location
  196.  
  197. VAR_INT flag_8ball_moved1 // if 8ball gets stuck these will warp him to his next location
  198.  
  199. VAR_INT flag_8ball_moved2 // if 8ball gets stuck these will warp him to his next location
  200.  
  201. VAR_INT flag_8ball_moved3 // if 8ball gets stuck these will warp him to his next location
  202.  
  203. VAR_INT flag_8ball_moved4 // if 8ball gets stuck these will warp him to his next location
  204.  
  205. VAR_INT flag_8ball_moved5 // if 8ball gets stuck these will warp him to his next location
  206.  
  207. VAR_INT flag_8ball_moved6 // if 8ball gets stuck these will warp him to his next location
  208.  
  209. VAR_INT flag_8ball_moved7 // if 8ball gets stuck these will warp him to his next location
  210.  
  211. VAR_INT flag_8ball_moved8 // if 8ball gets stuck these will warp him to his next location
  212.  
  213. VAR_INT flag_8ball_moved9 // if 8ball gets stuck these will warp him to his next location
  214.  
  215. VAR_INT flag_8ball_moved10 // if 8ball gets stuck these will warp him to his next location
  216.  
  217. VAR_INT flag_8ball_moved11 // if 8ball gets stuck these will warp him to his next location
  218.  
  219. VAR_INT flag_8ball_moved12 // if 8ball gets stuck these will warp him to his next location
  220.  
  221. VAR_INT flag_car_marked_fm3
  222.  
  223. VAR_INT flag_8ball_ducking_fm3
  224.  
  225.  
  226. // ***************************************Start Mission*************************************
  227.  
  228. mission_start_frankie3:
  229.  
  230. flag_player_on_mission = 1
  231.  
  232. flag_player_on_frankie_mission = 1
  233.  
  234. WAIT 0
  235.  
  236. flag_on_frankie3 = 0
  237.  
  238. flag_bloke_leave_group_fm3 = 0
  239.  
  240. flag_bloke_in_area_fm3 = 0
  241.  
  242. timer_fm3 = 25000 // 25 secs
  243.  
  244. flag_guard1_fm3_dead = 0
  245.  
  246. flag_guard2_fm3_dead = 0
  247.  
  248. flag_guard3_fm3_dead = 0
  249.  
  250. flag_guard4_fm3_dead = 0
  251.  
  252. flag_guard5_fm3_dead = 0
  253.  
  254. flag_guard6_fm3_dead = 0
  255.  
  256. flag_guard7_fm3_dead = 0
  257.  
  258. flag_guard8_fm3_dead = 0
  259.  
  260. flag_guard9_fm3_dead = 0
  261.  
  262. flag_guard10_fm3_dead = 0
  263.  
  264. flag_guard11_fm3_dead = 0
  265.  
  266. flag_guard12_fm3_dead = 0
  267.  
  268. flag_got_message_fm3 = 0
  269.  
  270. flag_guard3_fm3_created = 0
  271.  
  272. flag_guard4_fm3_created = 0
  273.  
  274. flag_guard5_fm3_created = 0
  275.  
  276. flag_guard6_fm3_created = 0
  277.  
  278. flag_blip_on_eightball_fm3 = 0
  279.  
  280. flag_guard1_looking_for_8ball = 0
  281.  
  282. flag_guard2_looking_for_8ball = 0
  283.  
  284. flag_guard3_looking_for_8ball = 0
  285.  
  286. flag_guard4_looking_for_8ball = 0
  287.  
  288. flag_guard5_looking_for_8ball = 0
  289.  
  290. flag_guard6_looking_for_8ball = 0
  291.  
  292. flag_guard7_looking_for_8ball = 0
  293.  
  294. flag_guard8_looking_for_8ball = 0
  295.  
  296. flag_guard9_looking_for_8ball = 0
  297.  
  298. flag_guard10_looking_for_8ball = 0
  299.  
  300. flag_guard11_looking_for_8ball = 0
  301.  
  302. flag_guard12_looking_for_8ball = 0
  303.  
  304. flag_8ball_ordered_area1 = 0
  305.  
  306. flag_drop_crate_fm3 = 0
  307.  
  308. counter_no_guards_dead_fm3 = 0
  309.  
  310. blob_flag = 1
  311.  
  312. flag_played_cops_audio_fm3 = 0
  313.  
  314. flag_played_8ball_audio_fm3 = 0
  315.  
  316. flag_gun_help1_fm3 = 0
  317.  
  318. flag_gun_help2_fm3 = 0
  319.  
  320. flag_gun_help3_fm3 = 0
  321.  
  322. flag_timer_fm3 = 0
  323.  
  324. flag_timer2_fm3 = 0
  325.  
  326. flag_timer3_fm3 = 0
  327.  
  328. flag_timer4_fm3 = 0
  329.  
  330. eightball_x_fm3 = 0.0
  331.  
  332. eightball_y_fm3 = 0.0
  333.  
  334. eightball_z_fm3 = 0.0
  335.  
  336. flag_columb_car1_dead = 0
  337.  
  338. flag_columb_car2_dead = 0
  339.  
  340. flag_audio_cops_loaded_fm3 = 0
  341.  
  342. flag_timer_set_fm3 = 0
  343.  
  344. flag_8ball_moved1 = 0
  345.  
  346. flag_8ball_moved2 = 0
  347.  
  348. flag_8ball_moved3 = 0
  349.  
  350. flag_8ball_moved4 = 0
  351.  
  352. flag_8ball_moved5 = 0
  353.  
  354. flag_8ball_moved6 = 0
  355.  
  356. flag_8ball_moved7 = 0
  357.  
  358. flag_8ball_moved8 = 0
  359.  
  360. flag_8ball_moved9 = 0
  361.  
  362. flag_8ball_moved10 = 0
  363.  
  364. flag_8ball_moved11 = 0
  365.  
  366. flag_8ball_moved12 = 0
  367.  
  368. flag_car_marked_fm3 = 0
  369.  
  370. flag_8ball_ducking_fm3 = 0
  371.  
  372. {
  373.  
  374.  
  375. IF flag_player_had_cut1_fm3 = 1
  376.  
  377. IF flag_taken_money_off_fm3 = 1
  378. OR IS_SCORE_GREATER player 99999
  379. GOTO player_has_money
  380. ENDIF
  381.  
  382. ENDIF
  383.  
  384. player_not_got_money:
  385.  
  386. CLEAR_AREA 1272.6 -95.6 -100.0 2.0 TRUE
  387.  
  388.  
  389. // ************************START OF CUTSCENE TWO "PLAYER NOT GOT THE MONEY"*****************
  390.  
  391. /*
  392. IF CAN_PLAYER_START_MISSION player
  393. MAKE_PLAYER_SAFE_FOR_CUTSCENE player
  394. ELSE
  395. GOTO mission_frankie3_failed
  396. ENDIF
  397.  
  398. SET_FADING_COLOUR 0 0 0
  399.  
  400. DO_FADE 1500 FADE_OUT
  401.  
  402. PRINT_BIG ( FM3 ) 15000 2 //"Bomb Da Base"
  403.  
  404. SWITCH_STREAMING OFF
  405. */
  406.  
  407. LOAD_SPECIAL_CHARACTER 1 EIGHT2
  408. LOAD_SPECIAL_MODEL cut_obj1 EITDOOR
  409. LOAD_SPECIAL_MODEL cut_obj2 EIGHTH
  410. LOAD_SPECIAL_MODEL cut_obj3 PLAYERH
  411. REQUEST_MODEL ind_land089c
  412. REQUEST_MODEL mak_semtech
  413. REQUEST_MODEL mak_bomb01
  414.  
  415. LOAD_ALL_MODELS_NOW
  416.  
  417. // Cutscene stuff
  418.  
  419. WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1
  420. OR NOT HAS_MODEL_LOADED cut_obj3
  421. OR NOT HAS_MODEL_LOADED cut_obj2
  422. OR NOT HAS_MODEL_LOADED cut_obj1
  423.  
  424. WAIT 0
  425.  
  426. ENDWHILE
  427.  
  428. WHILE NOT HAS_MODEL_LOADED ind_land089c
  429. OR NOT HAS_MODEL_LOADED mak_semtech
  430. OR NOT HAS_MODEL_LOADED mak_bomb01
  431.  
  432. WAIT 0
  433.  
  434. ENDWHILE
  435.  
  436. SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1271.8 -91.3 13.9 3.0 cs8_door FALSE
  437.  
  438. LOAD_CUTSCENE s4_bdba
  439.  
  440. SET_CUTSCENE_OFFSET 1272.5 -90.7 13.8
  441.  
  442. CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
  443.  
  444. SET_CUTSCENE_ANIM cs_player player
  445.  
  446. CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_eight
  447.  
  448. SET_CUTSCENE_ANIM cs_eight eight2
  449.  
  450. CREATE_CUTSCENE_HEAD cs_eight CUT_OBJ2 cs_eighthead
  451.  
  452. SET_CUTSCENE_HEAD_ANIM cs_eighthead eight
  453.  
  454. CREATE_CUTSCENE_HEAD cs_player CUT_OBJ3 cs_playerhead
  455.  
  456. SET_CUTSCENE_HEAD_ANIM cs_playerhead player
  457.  
  458. CREATE_CUTSCENE_OBJECT cut_obj1 cs_eitdoor
  459.  
  460. SET_CUTSCENE_ANIM cs_eitdoor EITDOOR
  461.  
  462. CLEAR_AREA 1272.6 -95.6 -100.0 1.0 TRUE
  463.  
  464. SET_PLAYER_COORDINATES player 1272.6 -95.6 -100.0
  465.  
  466. SET_PLAYER_HEADING player 270.0
  467.  
  468. DO_FADE 1500 FADE_IN
  469.  
  470. SWITCH_RUBBISH OFF
  471.  
  472. SWITCH_STREAMING ON
  473.  
  474. START_CUTSCENE
  475.  
  476. // Displays cutscene text
  477.  
  478. GET_CUTSCENE_TIME cs_time
  479.  
  480. WHILE cs_time < 2849
  481. WAIT 0
  482. GET_CUTSCENE_TIME cs_time
  483. ENDWHILE
  484.  
  485. PRINT_NOW ( FM3_8A ) 10000 1 //"Yo my man! Salvatore phoned ahead,"
  486.  
  487. WHILE cs_time < 5438
  488. WAIT 0
  489. GET_CUTSCENE_TIME cs_time
  490. ENDWHILE
  491.  
  492. PRINT_NOW ( FM3_8B ) 10000 1 //"but a job like this is gonna' need a lot of fireworks."
  493.  
  494. WHILE cs_time < 8136
  495. WAIT 0
  496. GET_CUTSCENE_TIME cs_time
  497. ENDWHILE
  498.  
  499. PRINT_NOW ( FM3_8C ) 10000 1 //"I'll need $100000 to cover expenses"
  500.  
  501. WHILE cs_time < 10752
  502. WAIT 0
  503. GET_CUTSCENE_TIME cs_time
  504. ENDWHILE
  505.  
  506. PRINT_NOW ( FM3_8D ) 10000 1 //"but you know with me you get a lot of bang for your bucks."
  507.  
  508. WHILE cs_time < 13578
  509. WAIT 0
  510. GET_CUTSCENE_TIME cs_time
  511. ENDWHILE
  512.  
  513. PRINT_NOW ( FM3_CC ) 10000 1 //"Come back when you have the money."
  514.  
  515. WHILE cs_time < 14964
  516. WAIT 0
  517. GET_CUTSCENE_TIME cs_time
  518. ENDWHILE
  519.  
  520. CLEAR_THIS_PRINT ( FM3_CC )
  521.  
  522. WHILE cs_time < 15666
  523. WAIT 0
  524. GET_CUTSCENE_TIME cs_time
  525. ENDWHILE
  526.  
  527. DO_FADE 1500 FADE_OUT
  528.  
  529. WHILE NOT HAS_CUTSCENE_FINISHED
  530. WAIT 0
  531. ENDWHILE
  532.  
  533. CLEAR_PRINTS
  534.  
  535. WHILE GET_FADING_STATUS
  536. WAIT 0
  537. ENDWHILE
  538.  
  539. CLEAR_CUTSCENE
  540.  
  541. SWITCH_RUBBISH ON
  542.  
  543. SET_CAMERA_BEHIND_PLAYER
  544.  
  545. WAIT 500
  546.  
  547. DO_FADE 1500 FADE_IN
  548.  
  549. SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1271.8 -91.3 13.9 3.0 cs8_door TRUE
  550.  
  551. UNLOAD_SPECIAL_CHARACTER 1
  552. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1
  553. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2
  554. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ3
  555. MARK_MODEL_AS_NO_LONGER_NEEDED ind_land089c
  556. MARK_MODEL_AS_NO_LONGER_NEEDED mak_semtech
  557. MARK_MODEL_AS_NO_LONGER_NEEDED mak_bomb01
  558.  
  559. // ************************END OF CUTSCENE TWO "PLAYER NOT GOT THE MONEY********************
  560.  
  561. flag_player_had_cut1_fm3 = 1
  562.  
  563. GOTO mission_cleanup_frankie3
  564.  
  565. player_has_money:
  566.  
  567. CLEAR_AREA 1272.6 -95.6 -100.0 2.0 TRUE
  568.  
  569. // ********************************START OF CUTSCENE ONE "GOT THE MONEY"********************
  570.  
  571. /*
  572. IF CAN_PLAYER_START_MISSION player
  573. MAKE_PLAYER_SAFE_FOR_CUTSCENE player
  574. ELSE
  575. GOTO mission_frankie3_failed
  576. ENDIF
  577.  
  578. SET_FADING_COLOUR 0 0 0
  579.  
  580. DO_FADE 1500 FADE_OUT
  581.  
  582. PRINT_BIG ( FM3 ) 15000 2 //"Bomb Da Base"
  583.  
  584. SWITCH_STREAMING OFF
  585. */
  586.  
  587. LOAD_SPECIAL_CHARACTER 1 EIGHT2
  588. LOAD_SPECIAL_MODEL cut_obj1 EITDOOR
  589. LOAD_SPECIAL_MODEL cut_obj2 EIGHTH
  590. LOAD_SPECIAL_MODEL cut_obj3 PLAYERH
  591. LOAD_SPECIAL_MODEL cut_obj4 rifle
  592. LOAD_SPECIAL_MODEL cut_obj5 cs_bomb
  593. REQUEST_MODEL ind_land089c
  594. REQUEST_MODEL mak_semtech
  595. REQUEST_MODEL mak_bomb01
  596.  
  597. LOAD_ALL_MODELS_NOW
  598.  
  599. // Cutscene stuff
  600.  
  601. WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1
  602. OR NOT HAS_MODEL_LOADED cut_obj2
  603. OR NOT HAS_MODEL_LOADED cut_obj3
  604. OR NOT HAS_MODEL_LOADED cut_obj1
  605. OR NOT HAS_MODEL_LOADED cut_obj4
  606. OR NOT HAS_MODEL_LOADED cut_obj5
  607.  
  608. WAIT 0
  609.  
  610. ENDWHILE
  611.  
  612. WHILE NOT HAS_MODEL_LOADED ind_land089c
  613. OR NOT HAS_MODEL_LOADED mak_semtech
  614. OR NOT HAS_MODEL_LOADED mak_bomb01
  615.  
  616. WAIT 0
  617.  
  618. ENDWHILE
  619.  
  620. SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1271.8 -91.3 13.9 3.0 cs8_door FALSE
  621.  
  622. LOAD_CUTSCENE s4_bdbb
  623.  
  624. SET_CUTSCENE_OFFSET 1272.5 -90.7 13.8
  625.  
  626. CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
  627.  
  628. SET_CUTSCENE_ANIM cs_player player
  629.  
  630. CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_eight
  631.  
  632. SET_CUTSCENE_ANIM cs_eight eight2
  633.  
  634. CREATE_CUTSCENE_HEAD cs_eight CUT_OBJ2 cs_eighthead
  635.  
  636. SET_CUTSCENE_HEAD_ANIM cs_eighthead eight
  637.  
  638. CREATE_CUTSCENE_HEAD cs_player CUT_OBJ3 cs_playerhead
  639.  
  640. SET_CUTSCENE_HEAD_ANIM cs_playerhead player
  641.  
  642. CREATE_CUTSCENE_OBJECT cut_obj1 cs_eitdoor
  643.  
  644. SET_CUTSCENE_ANIM cs_eitdoor EITDOOR
  645.  
  646. CREATE_CUTSCENE_OBJECT cut_obj4 cs_rifle
  647.  
  648. SET_CUTSCENE_ANIM cs_rifle rifle
  649.  
  650. CREATE_CUTSCENE_OBJECT cut_obj5 cs_bomb
  651.  
  652. SET_CUTSCENE_ANIM cs_bomb cs_bomb
  653.  
  654. CLEAR_AREA 1272.6 -95.6 -100.0 1.0 TRUE
  655.  
  656. SET_PLAYER_COORDINATES player 1272.6 -95.6 -100.0
  657.  
  658. SET_PLAYER_HEADING player 270.0
  659.  
  660. DO_FADE 1500 FADE_IN
  661.  
  662. SWITCH_RUBBISH OFF
  663.  
  664. SWITCH_STREAMING ON
  665.  
  666. START_CUTSCENE
  667.  
  668. // Displays cutscene text
  669.  
  670. GET_CUTSCENE_TIME cs_time
  671.  
  672. WHILE cs_time < 3123
  673. WAIT 0
  674. GET_CUTSCENE_TIME cs_time
  675. ENDWHILE
  676.  
  677. PRINT_NOW ( FM3_8E ) 10000 1 //"Okay, let's do this thing!"
  678.  
  679. WHILE cs_time < 4903
  680. WAIT 0
  681. GET_CUTSCENE_TIME cs_time
  682. ENDWHILE
  683.  
  684. PRINT_NOW ( FM3_8F ) 10000 1 //"I can set this baby to detonate, but I still can't use a piece with these hands."
  685.  
  686. WHILE cs_time < 8643
  687. WAIT 0
  688. GET_CUTSCENE_TIME cs_time
  689. ENDWHILE
  690.  
  691. PRINT_NOW ( FM3_8G ) 10000 1 //"Here, this rifle should help you pop some heads!"
  692.  
  693. WHILE cs_time < 10635
  694. WAIT 0
  695. GET_CUTSCENE_TIME cs_time
  696. ENDWHILE
  697.  
  698. CLEAR_THIS_PRINT ( FM3_8G )
  699.  
  700. WHILE cs_time < 17000
  701. WAIT 0
  702. GET_CUTSCENE_TIME cs_time
  703. ENDWHILE
  704.  
  705. DO_FADE 1500 FADE_OUT
  706.  
  707. WHILE NOT HAS_CUTSCENE_FINISHED
  708. WAIT 0
  709. ENDWHILE
  710.  
  711. CLEAR_PRINTS
  712.  
  713. WHILE GET_FADING_STATUS
  714. WAIT 0
  715. ENDWHILE
  716.  
  717. CLEAR_CUTSCENE
  718.  
  719. SWITCH_RUBBISH ON
  720.  
  721. SET_CAMERA_BEHIND_PLAYER
  722.  
  723. WAIT 500
  724.  
  725. DO_FADE 1500 FADE_IN
  726.  
  727. SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1271.8 -91.3 13.9 3.0 cs8_door TRUE
  728.  
  729. //UNLOAD_SPECIAL_CHARACTER 1
  730. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1
  731. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2
  732. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ3
  733. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ4
  734. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ5
  735. MARK_MODEL_AS_NO_LONGER_NEEDED ind_land089c
  736. MARK_MODEL_AS_NO_LONGER_NEEDED mak_semtech
  737. MARK_MODEL_AS_NO_LONGER_NEEDED mak_bomb01
  738.  
  739.  
  740. //GOTO wiltest //TEST STUFF TO COME OUT!!!!!!!!!!!!!!
  741.  
  742.  
  743.  
  744.  
  745.  
  746. // ********************************END OF CUTSCENE ONE "GOT THE MONEY"**********************
  747.  
  748. IF flag_taken_money_off_fm3 = 0
  749. ADD_SCORE player -100000
  750. REGISTER_MISSION_GIVEN
  751. flag_taken_money_off_fm3 = 1
  752. ENDIF
  753.  
  754.  
  755. // *********************************START OF THE MISSION STUFF******************************
  756.  
  757. REQUEST_MODEL PED_GANG_COLOMBIAN_A
  758.  
  759. REQUEST_MODEL PED_GANG_COLOMBIAN_B
  760.  
  761. REQUEST_MODEL barrel4
  762.  
  763. REQUEST_MODEL CAR_COLUMB
  764.  
  765.  
  766. WHILE NOT HAS_MODEL_LOADED PED_GANG_COLOMBIAN_B
  767. OR NOT HAS_MODEL_LOADED PED_GANG_COLOMBIAN_A
  768. OR NOT HAS_MODEL_LOADED barrel4
  769. OR NOT HAS_MODEL_LOADED CAR_COLUMB
  770. //OR NOT HAS_SPECIAL_CHARACTER_LOADED 1
  771.  
  772. WAIT 0
  773.  
  774. ENDWHILE
  775.  
  776. SETUP_ZONE_PED_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0
  777. SETUP_ZONE_PED_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0
  778. SETUP_ZONE_CAR_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  779. SETUP_ZONE_CAR_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  780.  
  781. // barrels on the boat 1 - 6, 10 - 14 removed as they were doubles
  782.  
  783. CREATE_OBJECT barrel4 1535.15 -930.763 18.7294 boat_barrel7
  784.  
  785. CREATE_OBJECT barrel4 1535.18 -929.604 18.7294 boat_barrel8
  786.  
  787. CREATE_OBJECT barrel4 1535.21 -928.446 18.7294 boat_barrel9
  788.  
  789. CREATE_OBJECT barrel4 1484.85 -942.803 18.7328 boat_barrel15
  790.  
  791. CREATE_OBJECT barrel4 1483.69 -942.752 18.7328 boat_barrel16
  792.  
  793. CREATE_OBJECT barrel4 1482.53 -942.701 18.7328 boat_barrel17
  794.  
  795. CLEAR_AREA 1272.8 -96.5 -100.0 1.0 TRUE
  796.  
  797. CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL1 1272.8 -96.5 -100.0 ped_8ball_fm3
  798.  
  799. SET_CHAR_HEADING ped_8ball_fm3 270.0
  800.  
  801. CLEAR_CHAR_THREAT_SEARCH ped_8ball_fm3
  802.  
  803. CHAR_SET_IDLE ped_8ball_fm3
  804.  
  805. GIVE_WEAPON_TO_PLAYER player WEAPONTYPE_SNIPERRIFLE 30
  806.  
  807. SET_CURRENT_PLAYER_WEAPON player WEAPONTYPE_SNIPERRIFLE
  808.  
  809. SET_PLAYER_AS_LEADER ped_8ball_fm3 player
  810.  
  811. ADD_BLIP_FOR_COORD 1529.0 -824.0 -100.0 radar_blip_coord2_fm3
  812.  
  813. WHILE GET_FADING_STATUS
  814.  
  815. WAIT 0
  816.  
  817. IF IS_CHAR_DEAD ped_8ball_fm3
  818. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  819. GOTO mission_frankie3_failed
  820. ENDIF
  821.  
  822. IF NOT IS_CHAR_IN_PLAYERS_GROUP ped_8ball_fm3 player
  823. AND flag_blip_on_eightball_fm3 = 0
  824. PRINT_NOW ( HEY3 ) 5000 1 //"You have left 8-ball behind go and get him!"
  825. ADD_BLIP_FOR_CHAR ped_8ball_fm3 radar_blip_ped2_fm3
  826. REMOVE_BLIP radar_blip_coord2_fm3
  827. blob_flag = 0
  828. flag_blip_on_eightball_fm3 = 1
  829. ENDIF
  830.  
  831. IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_8ball_fm3 8.0 8.0 FALSE
  832. AND flag_blip_on_eightball_fm3 = 1
  833. SET_PLAYER_AS_LEADER ped_8ball_fm3 player
  834. REMOVE_BLIP radar_blip_ped2_fm3
  835. ADD_BLIP_FOR_COORD 1529.0 -824.0 -100.0 radar_blip_coord2_fm3
  836. blob_flag = 1
  837. flag_blip_on_eightball_fm3 = 0
  838. ENDIF
  839.  
  840. ENDWHILE
  841.  
  842. GET_CONTROLLER_MODE controlmode
  843.  
  844. LOAD_MISSION_AUDIO S3_A
  845.  
  846. timera = 0
  847.  
  848. WHILE timera < 7000
  849. OR NOT HAS_MISSION_AUDIO_LOADED
  850.  
  851. WAIT 0
  852.  
  853. IF IS_CHAR_DEAD ped_8ball_fm3
  854. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  855. GOTO mission_frankie3_failed
  856. ENDIF
  857.  
  858. IF NOT IS_CHAR_IN_PLAYERS_GROUP ped_8ball_fm3 player
  859. AND flag_blip_on_eightball_fm3 = 0
  860. PRINT_NOW ( HEY3 ) 5000 1 //"You have left 8-ball behind go and get him!"
  861. ADD_BLIP_FOR_CHAR ped_8ball_fm3 radar_blip_ped2_fm3
  862. REMOVE_BLIP radar_blip_coord2_fm3
  863. blob_flag = 0
  864. flag_blip_on_eightball_fm3 = 1
  865. ENDIF
  866.  
  867. IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_8ball_fm3 8.0 8.0 FALSE
  868. AND flag_blip_on_eightball_fm3 = 1
  869. SET_PLAYER_AS_LEADER ped_8ball_fm3 player
  870. REMOVE_BLIP radar_blip_ped2_fm3
  871. ADD_BLIP_FOR_COORD 1529.0 -824.0 -100.0 radar_blip_coord2_fm3
  872. blob_flag = 1
  873. flag_blip_on_eightball_fm3 = 0
  874. ENDIF
  875.  
  876. IF flag_gun_help1_fm3 = 0
  877.  
  878. IF controlmode = 0
  879. PRINT_HELP ( HELP7_A ) //"Press and hold the R1 button to target with the sniper rifle."
  880. flag_gun_help1_fm3 = 1
  881. ENDIF
  882.  
  883. IF controlmode = 1
  884. PRINT_HELP ( HELP7_A ) //"Press and hold the R1 button to target with the sniper rifle."
  885. flag_gun_help1_fm3 = 1
  886. ENDIF
  887.  
  888. IF controlmode = 2
  889. PRINT_HELP ( HELP7_A ) //"Press and hold the R1 button to target with the sniper rifle."
  890. flag_gun_help1_fm3 = 1
  891. ENDIF
  892.  
  893. IF controlmode = 3
  894. PRINT_HELP ( HELP7_D ) //"Press and hold the L1 button to target with the sniper rifle."
  895. flag_gun_help1_fm3 = 1
  896. ENDIF
  897.  
  898. ENDIF
  899.  
  900. ENDWHILE
  901.  
  902. GET_CONTROLLER_MODE controlmode
  903.  
  904. timera = 0
  905.  
  906. WHILE timera < 7000
  907.  
  908. WAIT 0
  909.  
  910. IF IS_CHAR_DEAD ped_8ball_fm3
  911. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  912. GOTO mission_frankie3_failed
  913. ENDIF
  914.  
  915. IF NOT IS_CHAR_IN_PLAYERS_GROUP ped_8ball_fm3 player
  916. AND flag_blip_on_eightball_fm3 = 0
  917. PRINT_NOW ( HEY3 ) 5000 1 //"You have left 8-ball behind go and get him!"
  918. ADD_BLIP_FOR_CHAR ped_8ball_fm3 radar_blip_ped2_fm3
  919. REMOVE_BLIP radar_blip_coord2_fm3
  920. blob_flag = 0
  921. flag_blip_on_eightball_fm3 = 1
  922. ENDIF
  923.  
  924. IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_8ball_fm3 8.0 8.0 FALSE
  925. AND flag_blip_on_eightball_fm3 = 1
  926. SET_PLAYER_AS_LEADER ped_8ball_fm3 player
  927. REMOVE_BLIP radar_blip_ped2_fm3
  928. ADD_BLIP_FOR_COORD 1529.0 -824.0 -100.0 radar_blip_coord2_fm3
  929. blob_flag = 1
  930. flag_blip_on_eightball_fm3 = 0
  931. ENDIF
  932.  
  933. IF flag_gun_help2_fm3 = 0
  934.  
  935. IF controlmode = 0
  936. PRINT_HELP ( HELP8_A ) //"Press the ^ button to zoom in with the rifle and the / button to zoom out again."
  937. flag_gun_help2_fm3 = 1
  938. ENDIF
  939.  
  940. IF controlmode = 1
  941. PRINT_HELP ( HELP8_A ) //"Press the ^ button to zoom in with the rifle and the / button to zoom out again."
  942. flag_gun_help2_fm3 = 1
  943. ENDIF
  944.  
  945. IF controlmode = 2
  946. PRINT_HELP ( HELP8_B ) //"Press the \ button to zoom in with the rifle and the ^ button to zoom out again."
  947. flag_gun_help2_fm3 = 1
  948. ENDIF
  949.  
  950. IF controlmode = 3
  951. PRINT_HELP ( HELP8_A ) //"Press the ^ button to zoom in with the rifle and the / button to zoom out again."
  952. flag_gun_help2_fm3 = 1
  953. ENDIF
  954.  
  955. ENDIF
  956.  
  957. ENDWHILE
  958.  
  959. GET_CONTROLLER_MODE controlmode
  960.  
  961. timera = 0
  962.  
  963. WHILE timera < 7000
  964.  
  965. WAIT 0
  966.  
  967. IF IS_CHAR_DEAD ped_8ball_fm3
  968. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  969. GOTO mission_frankie3_failed
  970. ENDIF
  971.  
  972. IF NOT IS_CHAR_IN_PLAYERS_GROUP ped_8ball_fm3 player
  973. AND flag_blip_on_eightball_fm3 = 0
  974. PRINT_NOW ( HEY3 ) 5000 1 //"You have left 8-ball behind go and get him!"
  975. ADD_BLIP_FOR_CHAR ped_8ball_fm3 radar_blip_ped2_fm3
  976. REMOVE_BLIP radar_blip_coord2_fm3
  977. blob_flag = 0
  978. flag_blip_on_eightball_fm3 = 1
  979. ENDIF
  980.  
  981. IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_8ball_fm3 8.0 8.0 FALSE
  982. AND flag_blip_on_eightball_fm3 = 1
  983. SET_PLAYER_AS_LEADER ped_8ball_fm3 player
  984. REMOVE_BLIP radar_blip_ped2_fm3
  985. ADD_BLIP_FOR_COORD 1529.0 -824.0 -100.0 radar_blip_coord2_fm3
  986. blob_flag = 1
  987. flag_blip_on_eightball_fm3 = 0
  988. ENDIF
  989.  
  990. IF flag_gun_help3_fm3 = 0
  991.  
  992. IF controlmode = 0
  993. PRINT_HELP ( HELP9_A ) //"Press the | button to fire the sniper rifle."
  994. flag_gun_help3_fm3 = 1
  995. ENDIF
  996.  
  997. IF controlmode = 1
  998. PRINT_HELP ( HELP9_A ) //"Press the | button to fire the sniper rifle."
  999. flag_gun_help3_fm3 = 1
  1000. ENDIF
  1001.  
  1002. IF controlmode = 2
  1003. PRINT_HELP ( HELP9_B ) //"Press the / button to fire the sniper rifle."
  1004. flag_gun_help3_fm3 = 1
  1005. ENDIF
  1006.  
  1007. IF controlmode = 3
  1008. PRINT_HELP ( HELP9_C ) //"Press the R1 button to fire the sniper rifle."
  1009. flag_gun_help3_fm3 = 1
  1010. ENDIF
  1011.  
  1012. ENDIF
  1013.  
  1014. ENDWHILE
  1015.  
  1016. //sets up the default guards on the boat
  1017.  
  1018. //guard1 on quayside righthand side of the ramp
  1019.  
  1020. CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1524.0 -900.0 -100.0 guard1_fm3
  1021.  
  1022. TURN_CHAR_TO_FACE_COORD guard1_fm3 1524.0 -887.0 -100.0
  1023.  
  1024. GIVE_WEAPON_TO_CHAR guard1_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo
  1025.  
  1026. CLEAR_CHAR_THREAT_SEARCH guard1_fm3
  1027.  
  1028. SET_CHAR_THREAT_SEARCH guard1_fm3 THREAT_PLAYER1
  1029.  
  1030. SET_CHAR_PERSONALITY guard1_fm3 PEDSTAT_TOUGH_GUY
  1031.  
  1032. SET_CHAR_HEED_THREATS guard1_fm3 true
  1033.  
  1034. //guard2 on quayside left side of the ramp
  1035.  
  1036. CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B 1530.0 -901.0 -100.0 guard2_fm3
  1037.  
  1038. TURN_CHAR_TO_FACE_COORD guard2_fm3 1530.0 -887.0 -100.0
  1039.  
  1040. GIVE_WEAPON_TO_CHAR guard2_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo
  1041.  
  1042. CLEAR_CHAR_THREAT_SEARCH guard2_fm3
  1043.  
  1044. SET_CHAR_THREAT_SEARCH guard2_fm3 THREAT_PLAYER1
  1045.  
  1046. SET_CHAR_PERSONALITY guard2_fm3 PEDSTAT_TOUGH_GUY
  1047.  
  1048. SET_CHAR_HEED_THREATS guard2_fm3 true
  1049.  
  1050. //guard3 on boat left hand side by exploding creates
  1051.  
  1052. CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1534.6 -936.8 18.4 guard3_fm3 //follows route 0
  1053.  
  1054. ADD_ROUTE_POINT 0 1533.9 -926.0 -100.0
  1055.  
  1056. ADD_ROUTE_POINT 0 1534.6 -936.8 -100.0
  1057.  
  1058. SET_CHAR_OBJ_FOLLOW_ROUTE guard3_fm3 0 follow_route_loop
  1059.  
  1060. GIVE_WEAPON_TO_CHAR guard3_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo
  1061.  
  1062. CLEAR_CHAR_THREAT_SEARCH guard3_fm3
  1063.  
  1064. SET_CHAR_THREAT_SEARCH guard3_fm3 THREAT_PLAYER1
  1065.  
  1066. SET_CHAR_PERSONALITY guard3_fm3 PEDSTAT_TOUGH_GUY
  1067.  
  1068. SET_CHAR_HEED_THREATS guard3_fm3 true
  1069.  
  1070.  
  1071. //guard4 on boat walks behind the large containers towards the rear of the shop
  1072.  
  1073. CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B 1510.2 -941.7 18.4 guard4_fm3 //follows route 1
  1074.  
  1075. ADD_ROUTE_POINT 1 1527.5 -942.9 -100.0
  1076.  
  1077. ADD_ROUTE_POINT 1 1510.2 -941.7 -100.0
  1078.  
  1079. SET_CHAR_OBJ_FOLLOW_ROUTE guard4_fm3 1 follow_route_loop
  1080.  
  1081. GIVE_WEAPON_TO_CHAR guard4_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo
  1082.  
  1083. CLEAR_CHAR_THREAT_SEARCH guard4_fm3
  1084.  
  1085. SET_CHAR_THREAT_SEARCH guard4_fm3 THREAT_PLAYER1
  1086.  
  1087. SET_CHAR_PERSONALITY guard4_fm3 PEDSTAT_TOUGH_GUY
  1088.  
  1089. SET_CHAR_HEED_THREATS guard4_fm3 true
  1090.  
  1091. //guard5 on boat just behid the first row of boxes
  1092.  
  1093. CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1502.6 -926.7 -100.0 guard5_fm3 //follows route 2
  1094.  
  1095. ADD_ROUTE_POINT 2 1512.2 -927.6 -100.0
  1096.  
  1097. ADD_ROUTE_POINT 2 1502.6 -926.7 -100.0
  1098.  
  1099. SET_CHAR_OBJ_FOLLOW_ROUTE guard5_fm3 2 follow_route_loop
  1100.  
  1101. GIVE_WEAPON_TO_CHAR guard5_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo
  1102.  
  1103. CLEAR_CHAR_THREAT_SEARCH guard5_fm3
  1104.  
  1105. SET_CHAR_THREAT_SEARCH guard5_fm3 THREAT_PLAYER1
  1106.  
  1107. SET_CHAR_THREAT_SEARCH guard5_fm3 THREAT_SPECIAL
  1108.  
  1109. SET_CHAR_PERSONALITY guard5_fm3 PEDSTAT_TOUGH_GUY
  1110.  
  1111. SET_CHAR_HEED_THREATS guard5_fm3 true
  1112.  
  1113. //guard6 on boat by the rail of the boat
  1114.  
  1115. CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B 1472.5 -917.7 -100.0 guard6_fm3 //follows route 3
  1116.  
  1117. ADD_ROUTE_POINT 3 1507.1 -918.7 -100.0
  1118.  
  1119. ADD_ROUTE_POINT 3 1472.5 -917.7 -100.0
  1120.  
  1121. SET_CHAR_OBJ_FOLLOW_ROUTE guard6_fm3 3 follow_route_loop
  1122.  
  1123. GIVE_WEAPON_TO_CHAR guard6_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo
  1124.  
  1125. CLEAR_CHAR_THREAT_SEARCH guard6_fm3
  1126.  
  1127. SET_CHAR_THREAT_SEARCH guard6_fm3 THREAT_PLAYER1
  1128.  
  1129. SET_CHAR_PERSONALITY guard6_fm3 PEDSTAT_TOUGH_GUY
  1130.  
  1131. SET_CHAR_HEED_THREATS guard6_fm3 true
  1132.  
  1133.  
  1134. //guard7 on boat end of large boxes by crate 4
  1135.  
  1136. CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1500.3 -922.2 -100.0 guard7_fm3 //follows route 4
  1137.  
  1138. ADD_ROUTE_POINT 4 1499.1 -943.7 -100.0
  1139.  
  1140. ADD_ROUTE_POINT 4 1500.3 -922.2 -100.0
  1141.  
  1142. SET_CHAR_OBJ_FOLLOW_ROUTE guard7_fm3 4 follow_route_loop
  1143.  
  1144. GIVE_WEAPON_TO_CHAR guard7_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo
  1145.  
  1146. CLEAR_CHAR_THREAT_SEARCH guard7_fm3
  1147.  
  1148. SET_CHAR_THREAT_SEARCH guard7_fm3 THREAT_PLAYER1
  1149.  
  1150. SET_CHAR_PERSONALITY guard7_fm3 PEDSTAT_TOUGH_GUY
  1151.  
  1152. SET_CHAR_HEED_THREATS guard7_fm3 true
  1153.  
  1154. //Guard8 between second last container and crates 5,6 and 7
  1155.  
  1156. CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1489.5 -955.8 -100.0 guard8_fm3 //follows route 5
  1157.  
  1158. ADD_ROUTE_POINT 5 1490.2 -924.8 -100.0
  1159.  
  1160. ADD_ROUTE_POINT 5 1489.5 -955.8 -100.0
  1161.  
  1162. SET_CHAR_OBJ_FOLLOW_ROUTE guard8_fm3 5 follow_route_loop
  1163.  
  1164. GIVE_WEAPON_TO_CHAR guard8_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo
  1165.  
  1166. CLEAR_CHAR_THREAT_SEARCH guard8_fm3
  1167.  
  1168. SET_CHAR_THREAT_SEARCH guard8_fm3 THREAT_PLAYER1
  1169.  
  1170. SET_CHAR_PERSONALITY guard8_fm3 PEDSTAT_TOUGH_GUY
  1171.  
  1172. SET_CHAR_HEED_THREATS guard8_fm3 true
  1173.  
  1174.  
  1175. //guard9 stands on top of crate6 does not patrol
  1176.  
  1177. CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_B 1484.4 -930.5 19.8 guard9_fm3
  1178.  
  1179. TURN_CHAR_TO_FACE_COORD guard9_fm3 1487.8 -925.6 -100.0
  1180.  
  1181. GIVE_WEAPON_TO_CHAR guard9_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo
  1182.  
  1183. CLEAR_CHAR_THREAT_SEARCH guard9_fm3
  1184.  
  1185. SET_CHAR_THREAT_SEARCH guard9_fm3 THREAT_PLAYER1
  1186.  
  1187. SET_CHAR_PERSONALITY guard9_fm3 PEDSTAT_TOUGH_GUY
  1188.  
  1189. SET_CHAR_HEED_THREATS guard9_fm3 true
  1190.  
  1191. //guard10 walks from right hand side boat door to behind containers and back again
  1192.  
  1193. CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1476.8 -950.9 -100.0 guard10_fm3 //follows route 6
  1194.  
  1195. ADD_ROUTE_POINT 6 1476.8 -950.9 -100.0
  1196.  
  1197. ADD_ROUTE_POINT 6 1476.8 -927.2 -100.0
  1198.  
  1199. SET_CHAR_OBJ_FOLLOW_ROUTE guard10_fm3 6 follow_route_loop
  1200.  
  1201. GIVE_WEAPON_TO_CHAR guard10_fm3 WEAPONTYPE_CHAINGUN 30000 // sets weapon to infinate ammo
  1202.  
  1203. CLEAR_CHAR_THREAT_SEARCH guard10_fm3
  1204.  
  1205. SET_CHAR_THREAT_SEARCH guard10_fm3 THREAT_PLAYER1
  1206.  
  1207. SET_CHAR_PERSONALITY guard10_fm3 PEDSTAT_TOUGH_GUY
  1208.  
  1209. SET_CHAR_HEED_THREATS guard10_fm3 true
  1210.  
  1211.  
  1212. //guard11 on boat top right of the gang plank
  1213.  
  1214. CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1524.0 -919.0 -100.0 guard11_fm3
  1215.  
  1216. TURN_CHAR_TO_FACE_COORD guard11_fm3 1525.0 -897.0 -100.0
  1217.  
  1218. GIVE_WEAPON_TO_CHAR guard11_fm3 WEAPONTYPE_CHAINGUN 30000 // AK47 sets weapon to infinate ammo
  1219.  
  1220. CLEAR_CHAR_THREAT_SEARCH guard11_fm3
  1221.  
  1222. SET_CHAR_THREAT_SEARCH guard11_fm3 THREAT_PLAYER1
  1223.  
  1224. SET_CHAR_PERSONALITY guard11_fm3 PEDSTAT_TOUGH_GUY
  1225.  
  1226. SET_CHAR_HEED_THREATS guard11_fm3 true
  1227.  
  1228. //guard12 on boat top left hand side of the gang plank
  1229.  
  1230. CREATE_CHAR PEDTYPE_GANG_COLOMBIAN PED_GANG_COLOMBIAN_A 1529.0 -919.0 -100.0 guard12_fm3
  1231.  
  1232. TURN_CHAR_TO_FACE_COORD guard12_fm3 1525.0 -897.0 -100.0
  1233.  
  1234. GIVE_WEAPON_TO_CHAR guard12_fm3 WEAPONTYPE_CHAINGUN 30000 // AK47 sets weapon to infinate ammo
  1235.  
  1236. CLEAR_CHAR_THREAT_SEARCH guard12_fm3
  1237.  
  1238. SET_CHAR_THREAT_SEARCH guard12_fm3 THREAT_PLAYER1
  1239.  
  1240. SET_CHAR_PERSONALITY guard12_fm3 PEDSTAT_TOUGH_GUY
  1241.  
  1242. SET_CHAR_HEED_THREATS guard12_fm3 true
  1243.  
  1244. CREATE_CAR CAR_COLUMB 1534.4 -891.5 10.8 car_columb1_fm3
  1245.  
  1246. SET_CAR_HEADING car_columb1_fm3 90.0
  1247.  
  1248. CREATE_CAR CAR_COLUMB 1515.7 -896.3 10.8 car_columb2_fm3
  1249.  
  1250. SET_CAR_HEADING car_columb2_fm3 314.0
  1251.  
  1252.  
  1253. // waiting for the boat to be destroyed
  1254.  
  1255. blob_flag = 1
  1256.  
  1257. WHILE NOT flag_bloke_in_area_fm3 = 13
  1258.  
  1259. WAIT 0
  1260.  
  1261. GOSUB car_dead_check
  1262.  
  1263. GOSUB guard_death_check
  1264.  
  1265. //GOSUB clear_area_check_fm3
  1266.  
  1267. IF flag_bloke_leave_group_fm3 = 0
  1268.  
  1269. IF counter_no_guards_dead_fm3 > 0
  1270. PRINT_NOW ( FM3_8 ) 5000 1 //"The guards have been alerted!"
  1271. GOTO mission_frankie3_failed
  1272. ENDIF
  1273.  
  1274. ENDIF
  1275.  
  1276. IF IS_CHAR_DEAD ped_8ball_fm3
  1277. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1278. GOTO mission_frankie3_failed
  1279. ELSE
  1280. GET_CHAR_COORDINATES ped_8ball_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  1281. ENDIF
  1282.  
  1283. IF flag_bloke_leave_group_fm3 = 0
  1284.  
  1285. IF NOT IS_CHAR_IN_PLAYERS_GROUP ped_8ball_fm3 player
  1286. AND flag_blip_on_eightball_fm3 = 0
  1287. PRINT_NOW ( HEY3 ) 5000 1 //"You have left 8-ball behind go and get him!"
  1288. ADD_BLIP_FOR_CHAR ped_8ball_fm3 radar_blip_ped2_fm3
  1289. REMOVE_BLIP radar_blip_coord2_fm3
  1290. blob_flag = 0
  1291. flag_blip_on_eightball_fm3 = 1
  1292. ENDIF
  1293.  
  1294. IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_8ball_fm3 8.0 8.0 FALSE
  1295. AND flag_blip_on_eightball_fm3 = 1
  1296. SET_PLAYER_AS_LEADER ped_8ball_fm3 player
  1297. REMOVE_BLIP radar_blip_ped2_fm3
  1298. ADD_BLIP_FOR_COORD 1529.0 -824.0 -100.0 radar_blip_coord2_fm3
  1299. // CHANGE_BLIP_DISPLAY radar_blip_coord2_fm3 blip_only
  1300. blob_flag = 1
  1301. flag_blip_on_eightball_fm3 = 0
  1302. ENDIF
  1303.  
  1304. ENDIF
  1305.  
  1306. IF IS_PLAYER_IN_ANY_CAR player
  1307. STORE_CAR_PLAYER_IS_IN player car_fm3
  1308. ENDIF
  1309.  
  1310. IF IS_CHAR_DEAD ped_8ball_fm3
  1311. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1312. GOTO mission_frankie3_failed
  1313. ENDIF
  1314.  
  1315. IF flag_bloke_leave_group_fm3 = 0
  1316.  
  1317. IF LOCATE_STOPPED_PLAYER_ANY_MEANS_2D player 1529.0 -824.0 3.0 4.0 blob_flag
  1318. AND LOCATE_STOPPED_CHAR_ANY_MEANS_2D ped_8ball_fm3 1529.0 -824.0 3.0 4.0 TRUE
  1319. AND flag_bloke_leave_group_fm3 = 0
  1320.  
  1321. REMOVE_BLIP radar_blip_coord2_fm3
  1322. LEAVE_GROUP ped_8ball_fm3
  1323. flag_bloke_leave_group_fm3 = 1
  1324.  
  1325. SWITCH_WIDESCREEN ON
  1326. SET_PLAYER_CONTROL player OFF
  1327. SET_POLICE_IGNORE_PLAYER player ON
  1328. SET_EVERYONE_IGNORE_PLAYER player ON
  1329.  
  1330. IF flag_got_message_fm3 = 0
  1331. AND flag_bloke_leave_group_fm3 = 1
  1332.  
  1333. IF flag_played_8ball_audio_fm3 = 0
  1334. PLAY_MISSION_AUDIO
  1335. flag_played_8ball_audio_fm3 = 1
  1336. ENDIF
  1337. PRINT_NOW ( FM3_8I ) 5000 1 //"Get a good vantage point and I'll head in when you fire the first shot."
  1338. ADD_BLIP_FOR_COORD 1498.7 -870.5 -100.0 radar_blip_coord3_fm3
  1339. flag_bloke_in_area_fm3 = 1
  1340. flag_got_message_fm3 = 1
  1341. ENDIF
  1342.  
  1343. WHILE NOT HAS_MISSION_AUDIO_FINISHED
  1344.  
  1345. WAIT 0
  1346.  
  1347. GOSUB car_dead_check
  1348.  
  1349. GOSUB guard_death_check
  1350.  
  1351. GOSUB clear_area_check_fm3
  1352.  
  1353. IF IS_CHAR_DEAD ped_8ball_fm3
  1354. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1355. GOTO mission_frankie3_failed
  1356. ENDIF
  1357.  
  1358. ENDWHILE
  1359.  
  1360. // Camera looks at the boat and guards
  1361.  
  1362. SET_FIXED_CAMERA_POSITION 1543.01 -877.81 16.84 0.0 0.0 0.0
  1363. POINT_CAMERA_AT_POINT 1542.43 -878.62 16.75 JUMP_CUT
  1364.  
  1365. IF flag_timer_fm3 = 0
  1366. timera = 0
  1367. flag_timer_fm3 = 1
  1368. ENDIF
  1369.  
  1370. WHILE timera <= 5000
  1371.  
  1372. WAIT 0
  1373.  
  1374. IF IS_BUTTON_PRESSED PAD1 CROSS
  1375. GOTO camera_jump_fm3
  1376. ENDIF
  1377.  
  1378. GOSUB car_dead_check
  1379.  
  1380. GOSUB guard_death_check
  1381.  
  1382. GOSUB clear_area_check_fm3
  1383.  
  1384. IF IS_CHAR_DEAD ped_8ball_fm3
  1385. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1386. GOTO mission_frankie3_failed
  1387. ENDIF
  1388.  
  1389. ENDWHILE
  1390.  
  1391. CLEAR_AREA 1536.8 -895.0 10.8 1.0 FALSE
  1392. SET_FIXED_CAMERA_POSITION 1537.1 -899.8 12.5 0.0 0.0 0.0
  1393. POINT_CAMERA_AT_POINT 1536.4 -900.4 12.7 JUMP_CUT
  1394.  
  1395. IF flag_timer_fm3 = 1
  1396. AND flag_timer2_fm3 = 0
  1397. timera = 0
  1398. flag_timer2_fm3 = 1
  1399. ENDIF
  1400.  
  1401. WHILE timera <= 5000
  1402.  
  1403. WAIT 0
  1404.  
  1405. IF IS_BUTTON_PRESSED PAD1 CROSS
  1406. GOTO camera_jump_fm3
  1407. ENDIF
  1408.  
  1409. GOSUB car_dead_check
  1410.  
  1411. GOSUB guard_death_check
  1412.  
  1413. GOSUB clear_area_check_fm3
  1414.  
  1415. IF IS_CHAR_DEAD ped_8ball_fm3
  1416. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1417. GOTO mission_frankie3_failed
  1418. ENDIF
  1419.  
  1420. ENDWHILE
  1421.  
  1422. CLEAR_AREA 1522.839 -916.137 19.602 1.0 FALSE
  1423. SET_FIXED_CAMERA_POSITION 1522.839 -916.137 19.602 0.0 0.0 0.0
  1424. POINT_CAMERA_AT_POINT 1521.984 -916.648 19.699 JUMP_CUT
  1425.  
  1426. IF flag_timer3_fm3 = 0
  1427. AND flag_timer2_fm3 = 1
  1428. timera = 0
  1429. flag_timer3_fm3 = 1
  1430. ENDIF
  1431.  
  1432. WHILE timera <= 5000
  1433.  
  1434. WAIT 0
  1435.  
  1436. IF IS_BUTTON_PRESSED PAD1 CROSS
  1437. GOTO camera_jump_fm3
  1438. ENDIF
  1439.  
  1440. GOSUB car_dead_check
  1441.  
  1442. GOSUB guard_death_check
  1443.  
  1444. GOSUB clear_area_check_fm3
  1445.  
  1446. IF IS_CHAR_DEAD ped_8ball_fm3
  1447. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1448. GOTO mission_frankie3_failed
  1449. ENDIF
  1450.  
  1451. ENDWHILE
  1452.  
  1453. CLEAR_AREA 1476.3 -922.7 19.0 1.0 FALSE
  1454. SET_FIXED_CAMERA_POSITION 1476.3 -922.7 19.0 0.0 0.0 0.0
  1455. POINT_CAMERA_AT_POINT 1477.1 -923.3 19.1 JUMP_CUT
  1456.  
  1457. IF flag_timer4_fm3 = 0
  1458. AND flag_timer3_fm3 = 1
  1459. timera = 0
  1460. flag_timer4_fm3 = 1
  1461. ENDIF
  1462.  
  1463. WHILE timera <= 5000
  1464.  
  1465. WAIT 0
  1466.  
  1467. IF IS_BUTTON_PRESSED PAD1 CROSS
  1468. GOTO camera_jump_fm3
  1469. ENDIF
  1470.  
  1471. GOSUB car_dead_check
  1472.  
  1473. GOSUB guard_death_check
  1474.  
  1475. GOSUB clear_area_check_fm3
  1476.  
  1477. IF IS_CHAR_DEAD ped_8ball_fm3
  1478. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1479. GOTO mission_frankie3_failed
  1480. ENDIF
  1481.  
  1482. ENDWHILE
  1483.  
  1484. camera_jump_fm3:
  1485.  
  1486. RESTORE_CAMERA_JUMPCUT
  1487.  
  1488. GOSUB car_dead_check
  1489.  
  1490. GOSUB guard_death_check
  1491.  
  1492. GOSUB clear_area_check_fm3
  1493.  
  1494. IF IS_CHAR_DEAD ped_8ball_fm3
  1495. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1496. GOTO mission_frankie3_failed
  1497. ENDIF
  1498.  
  1499. // checks to see if the player is in a vehicle
  1500.  
  1501. IF IS_CHAR_IN_ANY_CAR ped_8ball_fm3
  1502.  
  1503. //PRINT_NOW ( FM3_4 ) 7000 1 //"Stop the vehicle and let me out!"
  1504.  
  1505. STORE_CAR_CHAR_IS_IN ped_8ball_fm3 car_fm3
  1506.  
  1507. WHILE NOT IS_CAR_STOPPED car_fm3
  1508.  
  1509. WAIT 0
  1510.  
  1511. GOSUB car_dead_check
  1512.  
  1513. GOSUB guard_death_check
  1514.  
  1515. GOSUB clear_area_check_fm3
  1516.  
  1517. IF IS_CAR_DEAD car_fm3
  1518.  
  1519. IF IS_CHAR_DEAD ped_8ball_fm3
  1520. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1521. GOTO mission_frankie3_failed
  1522. ELSE
  1523. PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle wrecked!"
  1524. GOTO mission_frankie3_failed
  1525. ENDIF
  1526.  
  1527. ENDIF
  1528.  
  1529. IF IS_CHAR_DEAD ped_8ball_fm3
  1530. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1531. GOTO mission_frankie3_failed
  1532. ENDIF
  1533.  
  1534. ENDWHILE
  1535.  
  1536. WAIT 0
  1537.  
  1538. GOSUB car_dead_check
  1539.  
  1540. GOSUB guard_death_check
  1541.  
  1542. GOSUB clear_area_check_fm3
  1543.  
  1544. IF IS_CAR_DEAD car_fm3
  1545.  
  1546. IF IS_CHAR_DEAD ped_8ball_fm3
  1547. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1548. GOTO mission_frankie3_failed
  1549. ELSE
  1550. PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle wrecked!"
  1551. GOTO mission_frankie3_failed
  1552. ENDIF
  1553.  
  1554. ENDIF
  1555.  
  1556. IF IS_CHAR_DEAD ped_8ball_fm3
  1557. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1558. GOTO mission_frankie3_failed
  1559. ENDIF
  1560.  
  1561. SET_CHAR_OBJ_LEAVE_CAR ped_8ball_fm3 car_fm3
  1562.  
  1563. WHILE IS_CHAR_IN_CAR ped_8ball_fm3 car_fm3
  1564.  
  1565. WAIT 0
  1566.  
  1567. GOSUB car_dead_check
  1568.  
  1569. GOSUB guard_death_check
  1570.  
  1571. GOSUB clear_area_check_fm3
  1572.  
  1573. IF IS_CAR_DEAD car_fm3
  1574.  
  1575. IF IS_CHAR_DEAD ped_8ball_fm3
  1576. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1577. GOTO mission_frankie3_failed
  1578. ELSE
  1579. PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle wrecked!"
  1580. GOTO mission_frankie3_failed
  1581. ENDIF
  1582.  
  1583. ENDIF
  1584.  
  1585. IF IS_CHAR_DEAD ped_8ball_fm3
  1586. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1587. GOTO mission_frankie3_failed
  1588. ENDIF
  1589.  
  1590. ENDWHILE
  1591.  
  1592. ENDIF
  1593.  
  1594. SWITCH_WIDESCREEN OFF
  1595. SET_PLAYER_CONTROL player ON
  1596. SET_POLICE_IGNORE_PLAYER player OFF
  1597. SET_EVERYONE_IGNORE_PLAYER player OFF
  1598.  
  1599. ENDIF
  1600.  
  1601. ENDIF
  1602.  
  1603. // tells players mate to go to his stageing area
  1604.  
  1605. IF flag_bloke_in_area_fm3 < 13
  1606.  
  1607. GOSUB car_dead_check
  1608.  
  1609. GOSUB guard_death_check
  1610.  
  1611. GOSUB clear_area_check_fm3
  1612.  
  1613. IF LOCATE_PLAYER_ON_FOOT_3D player 1498.7 -870.5 26.8 3.0 3.0 2.0 FALSE
  1614. REMOVE_BLIP radar_blip_coord3_fm3
  1615. ENDIF
  1616.  
  1617. IF flag_played_8ball_audio_fm3 = 1
  1618.  
  1619. IF flag_played_cops_audio_fm3 = 0
  1620.  
  1621. IF HAS_MISSION_AUDIO_FINISHED
  1622. CLEAR_THIS_PRINT ( FM3_8I )
  1623. ENDIF
  1624.  
  1625. ENDIF
  1626.  
  1627. ENDIF
  1628.  
  1629. IF flag_bloke_in_area_fm3 = 1
  1630.  
  1631. IF flag_8ball_ordered_area1 = 0
  1632. SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1545.9 -867.7
  1633. timera = 0
  1634. flag_8ball_ordered_area1 = 1
  1635. ENDIF
  1636.  
  1637. IF flag_8ball_moved1 = 0
  1638.  
  1639. IF timera >= 25000
  1640.  
  1641. IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1545.9 -867.7 1.0 1.0 FALSE
  1642. SET_CHAR_COORDINATES ped_8ball_fm3 1545.9 -867.7 10.8
  1643. flag_8ball_moved1 = 1
  1644. ENDIF
  1645.  
  1646. ENDIF
  1647.  
  1648. ENDIF
  1649.  
  1650. IF flag_8ball_ducking_fm3 = 0
  1651.  
  1652. IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1545.9 -867.7 1.0 1.0 FALSE
  1653. flag_8ball_moved1 = 1
  1654. SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 10000
  1655. flag_8ball_ducking_fm3 = 1
  1656. ENDIF
  1657.  
  1658. ENDIF
  1659.  
  1660. IF counter_no_guards_dead_fm3 > 0
  1661. OR IS_PLAYER_SHOOTING_IN_AREA player 1610.6 -614.6 1340.9 -1074.5 FALSE
  1662.  
  1663. TIMERB = 0
  1664.  
  1665. WHILE TIMERB < 5000
  1666.  
  1667. WAIT 0
  1668.  
  1669. GOSUB car_dead_check
  1670.  
  1671. GOSUB guard_death_check
  1672.  
  1673. GOSUB clear_area_check_fm3
  1674.  
  1675. IF IS_CHAR_DEAD ped_8ball_fm3
  1676. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1677. GOTO mission_frankie3_failed
  1678. ENDIF
  1679.  
  1680. ENDWHILE
  1681.  
  1682. flag_bloke_in_area_fm3 = 2
  1683.  
  1684. IF flag_car_marked_fm3 = 0
  1685. MARK_CAR_AS_NO_LONGER_NEEDED car_columb1_fm3
  1686. MARK_CAR_AS_NO_LONGER_NEEDED car_columb2_fm3
  1687. flag_car_marked_fm3 = 1
  1688. ENDIF
  1689.  
  1690. ENDIF
  1691.  
  1692.  
  1693. ENDIF
  1694.  
  1695. // Bottom of boat ramp
  1696.  
  1697. IF flag_bloke_in_area_fm3 = 2
  1698.  
  1699. SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1527.0 -899.0
  1700.  
  1701. IF flag_timer_set_fm3 = 0
  1702. timera = 0
  1703. flag_timer_set_fm3 = 1
  1704. ENDIF
  1705.  
  1706. IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1527.0 -899.0 2.0 2.0 FALSE
  1707. flag_8ball_moved2 = 1
  1708. flag_bloke_in_area_fm3 = 3
  1709. ENDIF
  1710.  
  1711. IF flag_8ball_moved2 = 0
  1712.  
  1713. IF timera >= 20000
  1714.  
  1715. IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1527.0 -899.0 2.0 2.0 FALSE
  1716. SET_CHAR_COORDINATES ped_8ball_fm3 1527.0 -899.0 10.8
  1717. flag_8ball_moved2 = 1
  1718. ENDIF
  1719.  
  1720. ENDIF
  1721.  
  1722. ENDIF
  1723.  
  1724. ENDIF
  1725.  
  1726. // Top of the boat ramp
  1727.  
  1728. IF flag_bloke_in_area_fm3 = 3
  1729.  
  1730. SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1526.0 -919.0
  1731.  
  1732. IF flag_timer_set_fm3 = 1
  1733. timera = 0
  1734. flag_timer_set_fm3 = 2
  1735. ENDIF
  1736.  
  1737. IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1526.0 -919.0 2.0 2.0 FALSE
  1738. flag_8ball_moved3 = 1
  1739. flag_bloke_in_area_fm3 = 4
  1740. ENDIF
  1741.  
  1742. IF flag_8ball_moved3 = 0
  1743.  
  1744. IF timera >= 20000
  1745.  
  1746. IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1526.0 -919.0 2.0 2.0 FALSE
  1747. SET_CHAR_COORDINATES ped_8ball_fm3 1526.0 -919.0 18.4
  1748. flag_8ball_moved3 = 1
  1749. ENDIF
  1750.  
  1751. ENDIF
  1752.  
  1753. ENDIF
  1754.  
  1755. ENDIF
  1756.  
  1757. // create one on the boat
  1758.  
  1759. IF flag_bloke_in_area_fm3 = 4
  1760.  
  1761. SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1522.9 -924.3
  1762.  
  1763. IF flag_timer_set_fm3 = 2
  1764. timera = 0
  1765. flag_timer_set_fm3 = 3
  1766. ENDIF
  1767.  
  1768. IF flag_8ball_moved4 = 0
  1769.  
  1770. IF timera >= 25000
  1771.  
  1772. IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1522.9 -924.3 1.0 1.0 FALSE
  1773. SET_CHAR_COORDINATES ped_8ball_fm3 1522.9 -924.3 18.4
  1774. flag_8ball_moved4 = 1
  1775. ENDIF
  1776.  
  1777. ENDIF
  1778.  
  1779. ENDIF
  1780.  
  1781. IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1522.9 -924.3 1.0 1.0 FALSE
  1782.  
  1783. flag_8ball_moved4 = 1
  1784.  
  1785. IF counter_no_guards_dead_fm3 < 12
  1786.  
  1787. IF flag_8ball_ducking_fm3 = 1
  1788. SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 5000
  1789. flag_8ball_ducking_fm3 = 2
  1790. ENDIF
  1791.  
  1792. TIMERB = 0
  1793.  
  1794. WHILE TIMERB < 5000
  1795.  
  1796. WAIT 0
  1797.  
  1798. GOSUB car_dead_check
  1799.  
  1800. GOSUB guard_death_check
  1801.  
  1802. GOSUB clear_area_check_fm3
  1803.  
  1804. IF IS_CHAR_DEAD ped_8ball_fm3
  1805. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1806. GOTO mission_frankie3_failed
  1807. ENDIF
  1808.  
  1809. ENDWHILE
  1810.  
  1811. ENDIF
  1812. flag_bloke_in_area_fm3 = 5
  1813. ENDIF
  1814.  
  1815. ENDIF
  1816.  
  1817. // Create two on the boat
  1818.  
  1819. IF flag_bloke_in_area_fm3 = 5
  1820.  
  1821. SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1517.0 -929.0
  1822.  
  1823. IF flag_timer_set_fm3 = 3
  1824. timera = 0
  1825. flag_timer_set_fm3 = 4
  1826. ENDIF
  1827.  
  1828. IF flag_8ball_moved5 = 0
  1829.  
  1830. IF timera >= 25000
  1831.  
  1832. IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1517.0 -929.0 1.0 1.0 FALSE
  1833. SET_CHAR_COORDINATES ped_8ball_fm3 1517.0 -929.0 18.4
  1834. flag_8ball_moved5 = 1
  1835. ENDIF
  1836.  
  1837. ENDIF
  1838.  
  1839. ENDIF
  1840.  
  1841. IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1517.0 -929.0 1.0 1.0 FALSE
  1842.  
  1843. flag_8ball_moved5 = 1
  1844.  
  1845. LOAD_MISSION_AUDIO S3_B
  1846.  
  1847. IF counter_no_guards_dead_fm3 < 12
  1848.  
  1849. IF flag_8ball_ducking_fm3 = 2
  1850. SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 5000
  1851. flag_8ball_ducking_fm3 = 3
  1852. ENDIF
  1853.  
  1854. TIMERB = 0
  1855.  
  1856. WHILE TIMERB < 5000
  1857.  
  1858. WAIT 0
  1859.  
  1860. GOSUB car_dead_check
  1861.  
  1862. GOSUB guard_death_check
  1863.  
  1864. GOSUB clear_area_check_fm3
  1865.  
  1866. IF IS_CHAR_DEAD ped_8ball_fm3
  1867. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1868. GOTO mission_frankie3_failed
  1869. ENDIF
  1870.  
  1871. ENDWHILE
  1872.  
  1873. ENDIF
  1874. flag_bloke_in_area_fm3 = 6
  1875.  
  1876. IF HAS_MISSION_AUDIO_LOADED
  1877. flag_audio_cops_loaded_fm3 = 1
  1878. ENDIF
  1879.  
  1880.  
  1881. IF flag_played_cops_audio_fm3 = 0
  1882.  
  1883. IF flag_audio_cops_loaded_fm3 = 1
  1884. PLAY_MISSION_AUDIO
  1885. flag_played_cops_audio_fm3 = 1
  1886. ENDIF
  1887.  
  1888. ENDIF
  1889.  
  1890. ENDIF
  1891.  
  1892. ENDIF
  1893.  
  1894. // Create three on the boat
  1895.  
  1896. IF flag_bloke_in_area_fm3 = 6
  1897.  
  1898. SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1510.0 -923.0
  1899.  
  1900. IF flag_timer_set_fm3 = 4
  1901. timera = 0
  1902. flag_timer_set_fm3 = 5
  1903. ENDIF
  1904.  
  1905. IF flag_8ball_moved6 = 0
  1906.  
  1907. IF timera >= 25000
  1908.  
  1909. IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1510.0 -923.0 1.0 1.0 FALSE
  1910. SET_CHAR_COORDINATES ped_8ball_fm3 1510.0 -923.0 18.4
  1911. flag_8ball_moved6 = 1
  1912. ENDIF
  1913.  
  1914. ENDIF
  1915.  
  1916. ENDIF
  1917.  
  1918. IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1510.0 -923.0 1.0 1.0 FALSE
  1919.  
  1920. flag_8ball_moved6 = 1
  1921.  
  1922. IF counter_no_guards_dead_fm3 < 12
  1923.  
  1924. IF flag_8ball_ducking_fm3 = 3
  1925. SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 5000
  1926. flag_8ball_ducking_fm3 = 4
  1927. ENDIF
  1928.  
  1929. TIMERB = 0
  1930.  
  1931. WHILE TIMERB < 5000
  1932.  
  1933. WAIT 0
  1934.  
  1935. GOSUB car_dead_check
  1936.  
  1937. GOSUB guard_death_check
  1938.  
  1939. GOSUB clear_area_check_fm3
  1940.  
  1941. IF IS_CHAR_DEAD ped_8ball_fm3
  1942. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  1943. GOTO mission_frankie3_failed
  1944. ENDIF
  1945.  
  1946. ENDWHILE
  1947.  
  1948. ENDIF
  1949. flag_bloke_in_area_fm3 = 7
  1950. ENDIF
  1951.  
  1952. ENDIF
  1953.  
  1954. // Create four on the boat
  1955.  
  1956. IF flag_bloke_in_area_fm3 = 7
  1957.  
  1958. SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1504.4 -928.6
  1959.  
  1960. IF flag_timer_set_fm3 = 5
  1961. timera = 0
  1962. flag_timer_set_fm3 = 6
  1963. ENDIF
  1964.  
  1965. IF flag_8ball_moved7 = 0
  1966.  
  1967. IF timera >= 25000
  1968.  
  1969. IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1504.4 -928.6 1.0 1.0 FALSE
  1970. SET_CHAR_COORDINATES ped_8ball_fm3 1504.4 -928.6 18.4
  1971. flag_8ball_moved7 = 1
  1972. ENDIF
  1973.  
  1974. ENDIF
  1975.  
  1976. ENDIF
  1977.  
  1978. IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1504.4 -928.6 1.0 1.0 FALSE
  1979.  
  1980. flag_8ball_moved7 = 1
  1981.  
  1982. IF counter_no_guards_dead_fm3 < 12
  1983.  
  1984. IF flag_8ball_ducking_fm3 = 4
  1985. SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 5000
  1986. flag_8ball_ducking_fm3 = 5
  1987. ENDIF
  1988.  
  1989. TIMERB = 0
  1990.  
  1991. WHILE TIMERB < 5000
  1992.  
  1993. WAIT 0
  1994.  
  1995. GOSUB car_dead_check
  1996.  
  1997. GOSUB guard_death_check
  1998.  
  1999. GOSUB clear_area_check_fm3
  2000.  
  2001. IF IS_CHAR_DEAD ped_8ball_fm3
  2002. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  2003. GOTO mission_frankie3_failed
  2004. ENDIF
  2005.  
  2006. ENDWHILE
  2007.  
  2008. ENDIF
  2009. flag_bloke_in_area_fm3 = 8
  2010. ENDIF
  2011.  
  2012. ENDIF
  2013.  
  2014. // Create five on the boat
  2015.  
  2016. IF flag_bloke_in_area_fm3 = 8
  2017.  
  2018. SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1493.7 -922.1
  2019.  
  2020. IF flag_timer_set_fm3 = 6
  2021. timera = 0
  2022. flag_timer_set_fm3 = 7
  2023. ENDIF
  2024.  
  2025. IF flag_8ball_moved8 = 0
  2026.  
  2027. IF timera >= 25000
  2028.  
  2029. IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1493.7 -922.1 1.0 1.0 FALSE
  2030. SET_CHAR_COORDINATES ped_8ball_fm3 1493.7 -922.1 18.4
  2031. flag_8ball_moved8 = 1
  2032. ENDIF
  2033.  
  2034. ENDIF
  2035.  
  2036. ENDIF
  2037.  
  2038. IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1493.7 -922.1 1.0 1.0 FALSE
  2039.  
  2040. flag_8ball_moved8 = 1
  2041.  
  2042. IF counter_no_guards_dead_fm3 < 12
  2043.  
  2044. IF flag_8ball_ducking_fm3 = 5
  2045. SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 5000
  2046. flag_8ball_ducking_fm3 = 6
  2047. ENDIF
  2048.  
  2049. TIMERB = 0
  2050.  
  2051. WHILE TIMERB < 5000
  2052.  
  2053. WAIT 0
  2054.  
  2055. GOSUB car_dead_check
  2056.  
  2057. GOSUB guard_death_check
  2058.  
  2059. GOSUB clear_area_check_fm3
  2060.  
  2061. IF IS_CHAR_DEAD ped_8ball_fm3
  2062. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  2063. GOTO mission_frankie3_failed
  2064. ENDIF
  2065.  
  2066. ENDWHILE
  2067.  
  2068. ENDIF
  2069. flag_bloke_in_area_fm3 = 9
  2070. ENDIF
  2071.  
  2072. ENDIF
  2073.  
  2074. // Create six on the boat
  2075.  
  2076. IF flag_bloke_in_area_fm3 = 9
  2077.  
  2078. SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1487.0 -930.2
  2079.  
  2080. IF flag_timer_set_fm3 = 7
  2081. timera = 0
  2082. flag_timer_set_fm3 = 8
  2083. ENDIF
  2084.  
  2085. IF flag_8ball_moved9 = 0
  2086.  
  2087. IF timera >= 25000
  2088.  
  2089. IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1487.0 -930.2 1.0 1.0 FALSE
  2090. SET_CHAR_COORDINATES ped_8ball_fm3 1487.0 -930.2 18.4
  2091. flag_8ball_moved9 = 1
  2092. ENDIF
  2093.  
  2094. ENDIF
  2095.  
  2096. ENDIF
  2097.  
  2098. IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1487.0 -930.2 1.0 1.0 FALSE
  2099.  
  2100. flag_8ball_moved9 = 1
  2101.  
  2102. IF counter_no_guards_dead_fm3 < 12
  2103.  
  2104. IF flag_8ball_ducking_fm3 = 6
  2105. SET_CHAR_WAIT_STATE ped_8ball_fm3 WAITSTATE_PLAYANIM_DUCK 5000
  2106. flag_8ball_ducking_fm3 = 7
  2107. ENDIF
  2108.  
  2109. TIMERB = 0
  2110.  
  2111. WHILE TIMERB < 5000
  2112.  
  2113. WAIT 0
  2114.  
  2115. GOSUB car_dead_check
  2116.  
  2117. GOSUB guard_death_check
  2118.  
  2119. GOSUB clear_area_check_fm3
  2120.  
  2121. IF IS_CHAR_DEAD ped_8ball_fm3
  2122. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  2123. GOTO mission_frankie3_failed
  2124. ENDIF
  2125.  
  2126. ENDWHILE
  2127.  
  2128. ENDIF
  2129. flag_bloke_in_area_fm3 = 10
  2130. ENDIF
  2131.  
  2132. ENDIF
  2133.  
  2134. // just past crate six
  2135.  
  2136. IF flag_bloke_in_area_fm3 = 10
  2137.  
  2138. SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1481.5 -926.8
  2139.  
  2140. IF flag_timer_set_fm3 = 8
  2141. timera = 0
  2142. flag_timer_set_fm3 = 9
  2143. ENDIF
  2144.  
  2145. IF flag_8ball_moved10 = 0
  2146.  
  2147. IF timera >= 15000
  2148.  
  2149. IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1481.5 -926.8 1.0 1.0 FALSE
  2150. SET_CHAR_COORDINATES ped_8ball_fm3 1481.5 -926.8 18.4
  2151. flag_8ball_moved10 = 1
  2152. ENDIF
  2153.  
  2154. ENDIF
  2155.  
  2156. ENDIF
  2157.  
  2158. IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1481.5 -926.8 1.0 1.0 FALSE
  2159. flag_8ball_moved10 = 1
  2160. flag_bloke_in_area_fm3 = 11
  2161. ENDIF
  2162.  
  2163. ENDIF
  2164.  
  2165. // Outside the door on the boat
  2166.  
  2167. IF flag_bloke_in_area_fm3 = 11
  2168.  
  2169. SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1475.8 -940.3
  2170.  
  2171. IF flag_timer_set_fm3 = 9
  2172. timera = 0
  2173. flag_timer_set_fm3 = 10
  2174. ENDIF
  2175.  
  2176. IF flag_8ball_moved11 = 0
  2177.  
  2178. IF timera >= 15000
  2179.  
  2180. IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1475.8 -940.3 1.0 1.0 FALSE
  2181. SET_CHAR_COORDINATES ped_8ball_fm3 1475.8 -940.3 18.4
  2182. flag_8ball_moved11 = 1
  2183. ENDIF
  2184.  
  2185. ENDIF
  2186.  
  2187. ENDIF
  2188.  
  2189. IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1475.8 -940.3 1.0 1.0 FALSE
  2190. flag_8ball_moved11 = 1
  2191. flag_bloke_in_area_fm3 = 12
  2192. ENDIF
  2193.  
  2194. ENDIF
  2195.  
  2196. // Inside the door on the boat
  2197.  
  2198. IF flag_bloke_in_area_fm3 = 12
  2199.  
  2200. SET_CHAR_OBJ_RUN_TO_COORD ped_8ball_fm3 1474.2 -940.2
  2201.  
  2202. IF flag_timer_set_fm3 = 10
  2203. timera = 0
  2204. flag_timer_set_fm3 = 11
  2205. ENDIF
  2206.  
  2207. IF flag_8ball_moved12 = 0
  2208.  
  2209. IF timera >= 25000
  2210.  
  2211. IF NOT LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1474.2 -940.2 0.5 0.5 FALSE
  2212. SET_CHAR_COORDINATES ped_8ball_fm3 1474.2 -940.2 18.4
  2213. flag_8ball_moved12 = 1
  2214. ENDIF
  2215.  
  2216. ENDIF
  2217.  
  2218. ENDIF
  2219.  
  2220. IF LOCATE_CHAR_ON_FOOT_2D ped_8ball_fm3 1474.2 -940.2 0.5 0.5 FALSE
  2221.  
  2222. flag_8ball_moved12 = 1
  2223. CHAR_SET_IDLE ped_8ball_fm3
  2224. flag_bloke_in_area_fm3 = 13
  2225. TIMERB = 0
  2226. WHILE TIMERB < 3000
  2227.  
  2228. WAIT 0
  2229.  
  2230. GOSUB car_dead_check
  2231.  
  2232. GOSUB guard_death_check
  2233.  
  2234. GOSUB clear_area_check_fm3
  2235.  
  2236. IF IS_CHAR_DEAD ped_8ball_fm3
  2237. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  2238. GOTO mission_frankie3_failed
  2239. ENDIF
  2240.  
  2241. ENDWHILE
  2242.  
  2243. ENDIF
  2244.  
  2245. ENDIF
  2246.  
  2247. ENDIF
  2248.  
  2249. ENDWHILE
  2250.  
  2251. // *********waiting for 8ball to place the bomb and then he legs it off of the boat********
  2252.  
  2253. timera = 0
  2254.  
  2255. WHILE timera < 3000
  2256.  
  2257. WAIT 0
  2258.  
  2259. GOSUB car_dead_check
  2260.  
  2261. GOSUB guard_death_check
  2262.  
  2263. IF IS_CHAR_DEAD ped_8ball_fm3
  2264. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  2265. GOTO mission_frankie3_failed
  2266. ENDIF
  2267.  
  2268. ENDWHILE
  2269.  
  2270.  
  2271. // ***********************************BOAT BLOWING UP CUTSCENE******************************
  2272.  
  2273. //wiltest: // TEST STUFF TO COME OUT!!!!!!!!!!!!!!!!!!!!!!!!
  2274.  
  2275. GET_GAME_TIMER breakout_timer_start
  2276.  
  2277. breakout_diff = 0
  2278.  
  2279. WHILE NOT CAN_PLAYER_START_MISSION Player
  2280. AND breakout_diff < 5000 // if player is not in control after 5 secs do the cutscene anyway
  2281.  
  2282. WAIT 0
  2283.  
  2284. IF IS_CHAR_DEAD ped_8ball_fm3
  2285. PRINT_NOW ( FM3_7 ) 5000 1 //"8-Ball's dead!"
  2286. GOTO mission_frankie3_failed
  2287. ENDIF
  2288.  
  2289. GET_GAME_TIMER breakout_timer
  2290.  
  2291. breakout_diff = breakout_timer - breakout_timer_start
  2292.  
  2293. ENDWHILE
  2294.  
  2295. MAKE_PLAYER_SAFE_FOR_CUTSCENE player
  2296.  
  2297. SET_FADING_COLOUR 0 0 0
  2298.  
  2299. DO_FADE 1500 FADE_OUT
  2300.  
  2301. SWITCH_STREAMING OFF
  2302.  
  2303. // Cutscene stuff
  2304. LOAD_SPECIAL_MODEL cut_obj1 ship
  2305. LOAD_SPECIAL_MODEL cut_obj2 gangp
  2306. //LOAD_SPECIAL_CHARACTER 1 EIGHT2 // TEST STUFF
  2307.  
  2308. WHILE GET_FADING_STATUS
  2309.  
  2310. WAIT 0
  2311.  
  2312. ENDWHILE
  2313.  
  2314.  
  2315. REMOVE_CHAR_ELEGANTLY guard1_fm3
  2316. REMOVE_CHAR_ELEGANTLY guard2_fm3
  2317. REMOVE_CHAR_ELEGANTLY guard3_fm3
  2318. REMOVE_CHAR_ELEGANTLY guard4_fm3
  2319. REMOVE_CHAR_ELEGANTLY guard5_fm3
  2320. REMOVE_CHAR_ELEGANTLY guard6_fm3
  2321. REMOVE_CHAR_ELEGANTLY guard7_fm3
  2322. REMOVE_CHAR_ELEGANTLY guard8_fm3
  2323. REMOVE_CHAR_ELEGANTLY guard9_fm3
  2324. REMOVE_CHAR_ELEGANTLY guard10_fm3
  2325. REMOVE_CHAR_ELEGANTLY guard11_fm3
  2326. REMOVE_CHAR_ELEGANTLY guard12_fm3
  2327.  
  2328.  
  2329. CLEAR_AREA 1519.02 -934.60 18.4 25.0 TRUE
  2330.  
  2331.  
  2332. DELETE_OBJECT boat_barrel7
  2333. DELETE_OBJECT boat_barrel8
  2334. DELETE_OBJECT boat_barrel9
  2335. DELETE_OBJECT boat_barrel15
  2336. DELETE_OBJECT boat_barrel16
  2337. DELETE_OBJECT boat_barrel17
  2338.  
  2339.  
  2340. LOAD_ALL_MODELS_NOW
  2341.  
  2342. WHILE NOT HAS_MODEL_LOADED cut_obj1
  2343. OR NOT HAS_MODEL_LOADED cut_obj2
  2344. //OR NOT HAS_SPECIAL_CHARACTER_LOADED 1 // TEST STUFF
  2345.  
  2346. WAIT 0
  2347.  
  2348. ENDWHILE
  2349.  
  2350. // Swaps boat for building lod then sets boat lod to invisible
  2351.  
  2352. SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1508.77 -937.206 20.6832 50.0 rustship_structure FALSE
  2353.  
  2354. SWAP_NEAREST_BUILDING_MODEL 1508.77 -937.206 20.6832 50.0 rustship_structure LOD_land014
  2355.  
  2356. SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1508.77 -937.206 20.6832 50.0 LODtship_structure FALSE
  2357.  
  2358. SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1526.75 -907.423 14.2965 50.0 boatramp1 FALSE
  2359.  
  2360. SWAP_NEAREST_BUILDING_MODEL 1526.75 -907.423 14.2965 50.0 boatramp1 LOD_land014
  2361.  
  2362. LOAD_CUTSCENE s4_bdbd
  2363.  
  2364. SET_CUTSCENE_OFFSET 1573.8866 -906.0611 11.1
  2365.  
  2366. CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_eight
  2367.  
  2368. SET_CUTSCENE_ANIM cs_eight eight2
  2369.  
  2370. CREATE_CUTSCENE_OBJECT cut_obj1 cs_ship
  2371.  
  2372. SET_CUTSCENE_ANIM cs_ship ship
  2373.  
  2374. CREATE_CUTSCENE_OBJECT cut_obj2 cs_gangplank
  2375.  
  2376. SET_CUTSCENE_ANIM cs_gangplank gangp
  2377.  
  2378. CLEAR_AREA 1526.5 -894.8 -100.0 1.0 TRUE
  2379.  
  2380. SET_PLAYER_COORDINATES player 1526.5 -894.8 -100.0
  2381.  
  2382. SET_PLAYER_HEADING player 180.0
  2383.  
  2384. DO_FADE 1500 FADE_IN
  2385.  
  2386. DELETE_CHAR ped_8ball_fm3
  2387.  
  2388. SWITCH_RUBBISH OFF
  2389.  
  2390. SWITCH_STREAMING ON
  2391.  
  2392. START_CUTSCENE
  2393.  
  2394. START_BOAT_FOAM_ANIMATION
  2395.  
  2396. UPDATE_BOAT_FOAM_ANIMATION cs_ship
  2397.  
  2398. // Displays cutscene text
  2399.  
  2400. GET_CUTSCENE_TIME cs_time
  2401.  
  2402. WHILE cs_time < 1433
  2403. WAIT 0
  2404. GET_CUTSCENE_TIME cs_time
  2405. UPDATE_BOAT_FOAM_ANIMATION cs_ship
  2406. ENDWHILE
  2407.  
  2408. ADD_EXPLOSION 1478.48 -936.52 20.4 EXPLOSION_HELI
  2409.  
  2410. WHILE cs_time < 2565
  2411. WAIT 0
  2412. GET_CUTSCENE_TIME cs_time
  2413. UPDATE_BOAT_FOAM_ANIMATION cs_ship
  2414. ENDWHILE
  2415.  
  2416. ADD_EXPLOSION 1479.48 -936.52 20.4 EXPLOSION_HELI
  2417.  
  2418. WHILE cs_time < 3433
  2419. WAIT 0
  2420. GET_CUTSCENE_TIME cs_time
  2421. UPDATE_BOAT_FOAM_ANIMATION cs_ship
  2422. ENDWHILE
  2423.  
  2424. ADD_EXPLOSION 1481.48 -936.52 20.4 EXPLOSION_HELI
  2425.  
  2426. WHILE cs_time < 4433
  2427. WAIT 0
  2428. GET_CUTSCENE_TIME cs_time
  2429. UPDATE_BOAT_FOAM_ANIMATION cs_ship
  2430. ENDWHILE
  2431.  
  2432. ADD_EXPLOSION 1487.92 -933.90 20.4 EXPLOSION_HELI
  2433.  
  2434. WHILE cs_time < 5833
  2435. WAIT 0
  2436. GET_CUTSCENE_TIME cs_time
  2437. UPDATE_BOAT_FOAM_ANIMATION cs_ship
  2438. ENDWHILE
  2439.  
  2440. ADD_EXPLOSION 1490.70 -928.15 20.4 EXPLOSION_HELI
  2441.  
  2442. WHILE cs_time < 6433
  2443. WAIT 0
  2444. GET_CUTSCENE_TIME cs_time
  2445. UPDATE_BOAT_FOAM_ANIMATION cs_ship
  2446. ENDWHILE
  2447.  
  2448. ADD_EXPLOSION 1595.53 -921.84 20.4 EXPLOSION_HELI
  2449.  
  2450. WHILE cs_time < 7433
  2451. WAIT 0
  2452. GET_CUTSCENE_TIME cs_time
  2453. UPDATE_BOAT_FOAM_ANIMATION cs_ship
  2454. ENDWHILE
  2455.  
  2456. ADD_EXPLOSION 1500.53 -921.84 20.4 EXPLOSION_HELI
  2457.  
  2458. WHILE cs_time < 8433
  2459. WAIT 0
  2460. GET_CUTSCENE_TIME cs_time
  2461. UPDATE_BOAT_FOAM_ANIMATION cs_ship
  2462. ENDWHILE
  2463.  
  2464. ADD_EXPLOSION 1502.53 -921.84 20.4 EXPLOSION_HELI
  2465.  
  2466. WHILE cs_time < 9633
  2467. WAIT 0
  2468. GET_CUTSCENE_TIME cs_time
  2469. UPDATE_BOAT_FOAM_ANIMATION cs_ship
  2470. ENDWHILE
  2471.  
  2472. ADD_EXPLOSION 1510.5 -918.2 20.4 EXPLOSION_HELI
  2473.  
  2474. WHILE cs_time < 12833
  2475. WAIT 0
  2476. GET_CUTSCENE_TIME cs_time
  2477. UPDATE_BOAT_FOAM_ANIMATION cs_ship
  2478. ENDWHILE
  2479.  
  2480. ADD_EXPLOSION 1510.5 -918.2 20.4 EXPLOSION_HELI
  2481.  
  2482. WHILE cs_time < 13000
  2483. WAIT 0
  2484. GET_CUTSCENE_TIME cs_time
  2485. UPDATE_BOAT_FOAM_ANIMATION cs_ship
  2486. ENDWHILE
  2487.  
  2488. ADD_EXPLOSION 1518.02 -931.86 19.4 EXPLOSION_HELI
  2489.  
  2490. WHILE cs_time < 33333
  2491. WAIT 0
  2492. GET_CUTSCENE_TIME cs_time
  2493. UPDATE_BOAT_FOAM_ANIMATION cs_ship
  2494. ENDWHILE
  2495.  
  2496. DO_FADE 1500 FADE_OUT
  2497.  
  2498. WHILE NOT HAS_CUTSCENE_FINISHED
  2499. WAIT 0
  2500. ENDWHILE
  2501.  
  2502. CLEAR_PRINTS
  2503.  
  2504. WHILE GET_FADING_STATUS
  2505. WAIT 0
  2506. ENDWHILE
  2507.  
  2508. CLEAR_CUTSCENE
  2509.  
  2510. SWITCH_RUBBISH ON
  2511.  
  2512. SET_CAMERA_BEHIND_PLAYER
  2513.  
  2514. WAIT 500
  2515.  
  2516. DO_FADE 1500 FADE_IN
  2517.  
  2518. UNLOAD_SPECIAL_CHARACTER 1
  2519. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1
  2520. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2
  2521.  
  2522. // *****************************END OF BOAT BLOWING UP CUTSCENE*****************************
  2523.  
  2524. GOTO mission_frankie3_passed
  2525.  
  2526. }
  2527.  
  2528. // Mission Failed stuff
  2529.  
  2530. mission_frankie3_failed:
  2531.  
  2532. SET_PLAYER_AMMO player WEAPONTYPE_SNIPERRIFLE 0
  2533.  
  2534. PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!"
  2535.  
  2536. RETURN
  2537.  
  2538.  
  2539. // mission Frankie3 passed
  2540.  
  2541. mission_frankie3_passed:
  2542.  
  2543. flag_frankie_mission3_passed = 1
  2544. REGISTER_MISSION_PASSED ( FM3 )
  2545. PLAYER_MADE_PROGRESS 1
  2546. CANCEL_OVERRIDE_RESTART
  2547. PRINT_WITH_NUMBER_BIG ( m_pass ) 150000 5000 1 //"Mission Passed!"
  2548. PLAY_MISSION_PASSED_TUNE 1
  2549. ADD_SCORE player 150000
  2550. CLEAR_WANTED_LEVEL player
  2551. REMOVE_BLIP eightball_contact_blip
  2552. flag_frankie_switched_off = 0
  2553. ADD_SPRITE_BLIP_FOR_CONTACT_POINT 1455.7 -187.3 -100.0 RADAR_SPRITE_SAL frankie_contact_blip
  2554. START_NEW_SCRIPT frankie_mission4_loop
  2555. START_NEW_SCRIPT emergency_crane_pager
  2556. RETURN
  2557.  
  2558.  
  2559.  
  2560. // mission cleanup
  2561.  
  2562. mission_cleanup_frankie3:
  2563.  
  2564. flag_player_on_mission = 0
  2565. flag_player_on_frankie_mission = 0
  2566. flag_on_frankie3 = 0
  2567. IF NOT IS_CHAR_DEAD guard1_fm3
  2568. SET_CHAR_STAY_IN_SAME_PLACE guard1_fm3 FALSE
  2569. ENDIF
  2570.  
  2571. IF NOT IS_CHAR_DEAD guard2_fm3
  2572. SET_CHAR_STAY_IN_SAME_PLACE guard2_fm3 FALSE
  2573. ENDIF
  2574.  
  2575. IF NOT IS_CHAR_DEAD guard3_fm3
  2576. SET_CHAR_STAY_IN_SAME_PLACE guard3_fm3 FALSE
  2577. ENDIF
  2578.  
  2579. IF NOT IS_CHAR_DEAD guard4_fm3
  2580. SET_CHAR_STAY_IN_SAME_PLACE guard4_fm3 FALSE
  2581. ENDIF
  2582.  
  2583. IF NOT IS_CHAR_DEAD guard5_fm3
  2584. SET_CHAR_STAY_IN_SAME_PLACE guard5_fm3 FALSE
  2585. ENDIF
  2586.  
  2587. IF NOT IS_CHAR_DEAD guard6_fm3
  2588. SET_CHAR_STAY_IN_SAME_PLACE guard6_fm3 FALSE
  2589. ENDIF
  2590.  
  2591. IF NOT IS_CHAR_DEAD guard7_fm3
  2592. SET_CHAR_STAY_IN_SAME_PLACE guard7_fm3 FALSE
  2593. ENDIF
  2594.  
  2595. IF NOT IS_CHAR_DEAD guard8_fm3
  2596. SET_CHAR_STAY_IN_SAME_PLACE guard8_fm3 FALSE
  2597. ENDIF
  2598.  
  2599. IF NOT IS_CHAR_DEAD guard9_fm3
  2600. SET_CHAR_STAY_IN_SAME_PLACE guard9_fm3 FALSE
  2601. ENDIF
  2602.  
  2603. IF NOT IS_CHAR_DEAD guard10_fm3
  2604. SET_CHAR_STAY_IN_SAME_PLACE guard10_fm3 FALSE
  2605. ENDIF
  2606.  
  2607. IF NOT IS_CHAR_DEAD guard11_fm3
  2608. SET_CHAR_STAY_IN_SAME_PLACE guard11_fm3 FALSE
  2609. ENDIF
  2610.  
  2611. IF NOT IS_CHAR_DEAD guard12_fm3
  2612. SET_CHAR_STAY_IN_SAME_PLACE guard12_fm3 FALSE
  2613. ENDIF
  2614.  
  2615. REMOVE_CHAR_ELEGANTLY ped_8ball_fm3
  2616. MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_COLOMBIAN_A
  2617. MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_COLOMBIAN_B
  2618. MARK_MODEL_AS_NO_LONGER_NEEDED barrel4
  2619. MARK_CHAR_AS_NO_LONGER_NEEDED ped_8ball_fm3
  2620. MARK_MODEL_AS_NO_LONGER_NEEDED CAR_COLUMB
  2621. REMOVE_BLIP radar_blip_coord2_fm3
  2622. REMOVE_BLIP radar_blip_coord3_fm3
  2623. CLEAR_ONSCREEN_TIMER timer_fm3
  2624. REMOVE_ROUTE 0
  2625. REMOVE_ROUTE 1
  2626. REMOVE_ROUTE 2
  2627. REMOVE_ROUTE 3
  2628. REMOVE_ROUTE 4
  2629. REMOVE_ROUTE 5
  2630. REMOVE_ROUTE 6
  2631. SETUP_ZONE_PED_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0
  2632. SETUP_ZONE_PED_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0
  2633. SETUP_ZONE_CAR_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  2634. SETUP_ZONE_CAR_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  2635. DELETE_OBJECT boat_barrel7
  2636. DELETE_OBJECT boat_barrel8
  2637. DELETE_OBJECT boat_barrel9
  2638. DELETE_OBJECT boat_barrel15
  2639. DELETE_OBJECT boat_barrel16
  2640. DELETE_OBJECT boat_barrel17
  2641. MISSION_HAS_FINISHED
  2642. RETURN
  2643.  
  2644.  
  2645.  
  2646.  
  2647. guard_death_check:
  2648.  
  2649.  
  2650. // guard1
  2651.  
  2652. IF flag_guard1_fm3_dead = 0
  2653.  
  2654. IF IS_CHAR_DEAD guard1_fm3
  2655. flag_guard1_fm3_dead = 1
  2656. ++ counter_no_guards_dead_fm3
  2657. ELSE
  2658.  
  2659. IF flag_guard1_looking_for_8ball = 0
  2660.  
  2661. IF flag_bloke_in_area_fm3 = 2
  2662. OR flag_guard2_fm3_dead = 1
  2663. OR flag_columb_car1_dead = 1
  2664. OR flag_columb_car2_dead = 1
  2665.  
  2666. IF flag_columb_car2_dead = 0
  2667. SET_CHAR_OBJ_RUN_TO_COORD guard1_fm3 1517.6 -896.6
  2668. ELSE
  2669. SET_CHAR_OBJ_RUN_TO_COORD guard1_fm3 1523.3 -893.7
  2670. ENDIF
  2671. SET_CHAR_THREAT_SEARCH guard1_fm3 THREAT_SPECIAL //Guard now looks out for 8-ball
  2672. flag_guard1_looking_for_8ball = 1
  2673. ENDIF
  2674.  
  2675. ENDIF
  2676.  
  2677. IF flag_guard1_looking_for_8ball = 1
  2678.  
  2679. IF flag_columb_car2_dead = 0
  2680.  
  2681. IF LOCATE_CHAR_ON_FOOT_3D guard1_fm3 1517.6 -896.6 10.8 0.5 0.5 2.0 FALSE
  2682. SET_CHAR_OBJ_GUARD_SPOT guard1_fm3 1517.6 -896.6 10.8
  2683. SET_CHAR_STAY_IN_SAME_PLACE guard1_fm3 TRUE
  2684. TURN_CHAR_TO_FACE_COORD guard1_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  2685. ENDIF
  2686.  
  2687. ELSE
  2688.  
  2689. IF LOCATE_CHAR_ON_FOOT_3D guard1_fm3 1523.3 -893.7 10.8 0.5 0.5 2.0 FALSE
  2690. SET_CHAR_OBJ_GUARD_SPOT guard1_fm3 1523.3 -893.7 10.8
  2691. SET_CHAR_STAY_IN_SAME_PLACE guard1_fm3 TRUE
  2692. TURN_CHAR_TO_FACE_COORD guard1_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  2693. ENDIF
  2694.  
  2695. ENDIF
  2696.  
  2697. ENDIF
  2698.  
  2699. ENDIF
  2700.  
  2701. ENDIF
  2702.  
  2703. // guard2
  2704.  
  2705. IF flag_guard2_fm3_dead = 0
  2706.  
  2707. IF IS_CHAR_DEAD guard2_fm3
  2708. flag_guard2_fm3_dead = 1
  2709. ++ counter_no_guards_dead_fm3
  2710. ELSE
  2711.  
  2712. IF flag_guard2_looking_for_8ball = 0
  2713.  
  2714. IF flag_bloke_in_area_fm3 = 2
  2715. OR flag_guard1_fm3_dead = 1
  2716. OR flag_columb_car1_dead = 1
  2717. OR flag_columb_car2_dead = 1
  2718.  
  2719. IF flag_columb_car1_dead = 0
  2720. SET_CHAR_OBJ_RUN_TO_COORD guard2_fm3 1532.9 -893.8
  2721. ELSE
  2722. SET_CHAR_OBJ_RUN_TO_COORD guard2_fm3 1528.6 -892.2
  2723. ENDIF
  2724. SET_CHAR_THREAT_SEARCH guard2_fm3 THREAT_SPECIAL //Guard now looks out for 8-ball
  2725. flag_guard2_looking_for_8ball = 1
  2726. ENDIF
  2727.  
  2728. ENDIF
  2729.  
  2730. IF flag_guard2_looking_for_8ball = 1
  2731.  
  2732. IF flag_columb_car1_dead = 0
  2733.  
  2734. IF LOCATE_CHAR_ON_FOOT_3D guard2_fm3 1532.9 -893.8 10.8 0.5 0.5 2.0 FALSE
  2735. SET_CHAR_OBJ_GUARD_SPOT guard2_fm3 1532.9 -893.8 10.8
  2736. TURN_CHAR_TO_FACE_COORD guard2_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  2737. SET_CHAR_STAY_IN_SAME_PLACE guard2_fm3 TRUE
  2738. ENDIF
  2739.  
  2740. ELSE
  2741.  
  2742. IF LOCATE_CHAR_ON_FOOT_3D guard2_fm3 1528.6 -892.2 10.8 0.5 0.5 2.0 FALSE
  2743. SET_CHAR_OBJ_GUARD_SPOT guard2_fm3 1528.6 -892.2 10.8
  2744. TURN_CHAR_TO_FACE_COORD guard2_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  2745. SET_CHAR_STAY_IN_SAME_PLACE guard2_fm3 TRUE
  2746. ENDIF
  2747.  
  2748. ENDIF
  2749.  
  2750. ENDIF
  2751.  
  2752. ENDIF
  2753.  
  2754. ENDIF
  2755.  
  2756. // guard3
  2757.  
  2758. IF flag_guard3_fm3_dead = 0
  2759.  
  2760. IF IS_CHAR_DEAD guard3_fm3
  2761. flag_guard3_fm3_dead = 1
  2762. ++ counter_no_guards_dead_fm3
  2763. ELSE
  2764.  
  2765. IF flag_guard3_looking_for_8ball = 0
  2766.  
  2767. IF flag_bloke_in_area_fm3 = 2 //8ball has reached the gangplank of the boat
  2768. OR counter_no_guards_dead_fm3 > 0
  2769. OR flag_columb_car1_dead = 1
  2770. OR flag_columb_car2_dead = 1
  2771. SET_CHAR_THREAT_SEARCH guard3_fm3 THREAT_SPECIAL //Guard3 now looks out for 8-ball
  2772. SET_CHAR_OBJ_RUN_TO_COORD guard3_fm3 1534.1 -931.2
  2773. flag_guard3_looking_for_8ball = 1
  2774. ENDIF
  2775.  
  2776. ENDIF
  2777.  
  2778. IF flag_guard3_looking_for_8ball = 1
  2779.  
  2780. IF LOCATE_CHAR_ON_FOOT_3D guard3_fm3 1534.1 -931.2 18.4 0.5 0.5 2.0 FALSE
  2781. SET_CHAR_OBJ_GUARD_SPOT guard3_fm3 1534.1 -931.2 18.4
  2782. TURN_CHAR_TO_FACE_COORD guard3_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  2783. SET_CHAR_STAY_IN_SAME_PLACE guard3_fm3 TRUE
  2784. //flag_guard3_looking_for_8ball = 2
  2785. ENDIF
  2786.  
  2787. ENDIF
  2788.  
  2789. ENDIF
  2790.  
  2791. ENDIF
  2792.  
  2793. // guard4
  2794.  
  2795. IF flag_guard4_fm3_dead = 0
  2796.  
  2797. IF IS_CHAR_DEAD guard4_fm3
  2798. flag_guard4_fm3_dead = 1
  2799. ++ counter_no_guards_dead_fm3
  2800. ELSE
  2801.  
  2802. IF flag_guard4_looking_for_8ball = 0
  2803.  
  2804. IF flag_bloke_in_area_fm3 = 4 //8-ball has reached the second create on the boat
  2805. OR flag_columb_car1_dead = 1
  2806. OR flag_columb_car2_dead = 1
  2807. OR counter_no_guards_dead_fm3 > 0
  2808. SET_CHAR_OBJ_RUN_TO_COORD guard4_fm3 1517.5 -940.6
  2809. SET_CHAR_THREAT_SEARCH guard4_fm3 THREAT_SPECIAL //Guard4 now looks out for 8-ball
  2810. flag_guard4_looking_for_8ball = 1
  2811. ENDIF
  2812.  
  2813. ENDIF
  2814.  
  2815. IF flag_guard4_looking_for_8ball = 1
  2816.  
  2817. IF LOCATE_CHAR_ANY_MEANS_3D guard4_fm3 1517.5 -940.6 18.4 0.5 0.5 2.0 FALSE
  2818. SET_CHAR_OBJ_RUN_TO_COORD guard4_fm3 1516.1 -932.6
  2819. flag_guard4_looking_for_8ball = 2
  2820. ENDIF
  2821.  
  2822. ENDIF
  2823.  
  2824. IF flag_guard4_looking_for_8ball = 2
  2825.  
  2826. IF LOCATE_CHAR_ANY_MEANS_3D guard4_fm3 1516.1 -932.6 18.4 0.5 0.5 2.0 FALSE
  2827. SET_CHAR_OBJ_GUARD_SPOT guard4_fm3 1516.1 -932.6 18.4
  2828. TURN_CHAR_TO_FACE_COORD guard4_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  2829. SET_CHAR_STAY_IN_SAME_PLACE guard4_fm3 TRUE
  2830. ENDIF
  2831.  
  2832. ENDIF
  2833.  
  2834. ENDIF
  2835.  
  2836.  
  2837.  
  2838. ENDIF
  2839.  
  2840. // Guard5
  2841.  
  2842. IF flag_guard5_fm3_dead = 0
  2843.  
  2844. IF IS_CHAR_DEAD guard5_fm3
  2845. flag_guard5_fm3_dead = 1
  2846. ++ counter_no_guards_dead_fm3
  2847. ELSE
  2848.  
  2849. IF flag_guard5_looking_for_8ball = 0
  2850.  
  2851. IF flag_bloke_in_area_fm3 = 5
  2852. OR flag_columb_car1_dead = 1
  2853. OR flag_columb_car2_dead = 1
  2854. OR flag_guard6_fm3_dead = 1
  2855. OR flag_guard7_fm3_dead = 1
  2856. SET_CHAR_OBJ_RUN_TO_COORD guard5_fm3 1505.6 -926.1
  2857. SET_CHAR_THREAT_SEARCH guard5_fm3 THREAT_SPECIAL //Guard5 now looks out for 8-ball
  2858. flag_guard5_looking_for_8ball = 1
  2859. ENDIF
  2860.  
  2861. ENDIF
  2862.  
  2863. IF flag_guard5_looking_for_8ball = 1
  2864.  
  2865. IF LOCATE_CHAR_ANY_MEANS_3D guard5_fm3 1505.6 -926.1 18.4 0.5 0.5 2.0 FALSE
  2866. SET_CHAR_OBJ_RUN_TO_COORD guard5_fm3 1507.2 -924.0
  2867. flag_guard5_looking_for_8ball = 2
  2868. ENDIF
  2869.  
  2870. ENDIF
  2871.  
  2872. IF flag_guard5_looking_for_8ball = 2
  2873.  
  2874. IF LOCATE_CHAR_ANY_MEANS_3D guard5_fm3 1507.2 -924.0 18.4 0.5 0.5 2.0 FALSE
  2875. SET_CHAR_OBJ_GUARD_SPOT guard5_fm3 1507.2 -924.0 18.4
  2876. TURN_CHAR_TO_FACE_COORD guard5_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  2877. SET_CHAR_STAY_IN_SAME_PLACE guard5_fm3 TRUE
  2878. ENDIF
  2879.  
  2880. ENDIF
  2881.  
  2882. ENDIF
  2883.  
  2884. ENDIF
  2885.  
  2886. // Guard6
  2887.  
  2888. IF flag_guard6_fm3_dead = 0
  2889.  
  2890. IF IS_CHAR_DEAD guard6_fm3
  2891. flag_guard6_fm3_dead = 1
  2892. ++ counter_no_guards_dead_fm3
  2893. ELSE
  2894.  
  2895. IF flag_guard6_looking_for_8ball = 0
  2896.  
  2897. IF flag_bloke_in_area_fm3 = 5
  2898. OR flag_columb_car1_dead = 1
  2899. OR flag_columb_car2_dead = 1
  2900. OR flag_guard5_fm3_dead = 1
  2901. OR flag_guard7_fm3_dead = 1
  2902. SET_CHAR_OBJ_RUN_TO_COORD guard6_fm3 1501.0 -919.8
  2903. SET_CHAR_THREAT_SEARCH guard6_fm3 THREAT_SPECIAL //Guard6 now looks out for 8-ball
  2904. flag_guard6_looking_for_8ball = 1
  2905. ENDIF
  2906.  
  2907. ENDIF
  2908.  
  2909. IF flag_guard6_looking_for_8ball = 1
  2910.  
  2911. IF LOCATE_CHAR_ANY_MEANS_3D guard6_fm3 1501.0 -919.8 18.4 0.5 0.5 2.0 FALSE
  2912. SET_CHAR_OBJ_GUARD_SPOT guard6_fm3 1501.0 -919.8 18.4
  2913. TURN_CHAR_TO_FACE_COORD guard6_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  2914. SET_CHAR_STAY_IN_SAME_PLACE guard6_fm3 TRUE
  2915. ENDIF
  2916.  
  2917. ENDIF
  2918.  
  2919. ENDIF
  2920.  
  2921. ENDIF
  2922.  
  2923. // Guard7
  2924.  
  2925. IF flag_guard7_fm3_dead = 0
  2926.  
  2927. IF IS_CHAR_DEAD guard7_fm3
  2928. flag_guard7_fm3_dead = 1
  2929. ++ counter_no_guards_dead_fm3
  2930. ELSE
  2931.  
  2932. IF flag_guard7_looking_for_8ball = 0
  2933.  
  2934. IF flag_bloke_in_area_fm3 = 5
  2935. OR flag_guard5_fm3_dead = 1
  2936. OR flag_guard6_fm3_dead = 1
  2937. OR flag_columb_car1_dead = 1
  2938. OR flag_columb_car2_dead = 1
  2939. SET_CHAR_OBJ_RUN_TO_COORD guard7_fm3 1499.4 -937.8
  2940. SET_CHAR_THREAT_SEARCH guard7_fm3 THREAT_SPECIAL //Guard7 now looks out for 8-ball
  2941. flag_guard7_looking_for_8ball = 1
  2942. ENDIF
  2943.  
  2944. ENDIF
  2945.  
  2946. IF flag_guard7_looking_for_8ball = 1
  2947.  
  2948. IF LOCATE_CHAR_ANY_MEANS_3D guard7_fm3 1499.4 -937.8 18.4 0.5 0.5 2.0 FALSE
  2949. SET_CHAR_OBJ_RUN_TO_COORD guard7_fm3 1502.2 -930.8
  2950. flag_guard7_looking_for_8ball = 2
  2951. ENDIF
  2952.  
  2953. ENDIF
  2954.  
  2955. IF flag_guard7_looking_for_8ball = 2
  2956.  
  2957. IF LOCATE_CHAR_ANY_MEANS_3D guard7_fm3 1502.2 -930.8 18.4 0.5 0.5 2.0 FALSE
  2958. SET_CHAR_OBJ_GUARD_SPOT guard7_fm3 1502.2 -930.8 18.4
  2959. TURN_CHAR_TO_FACE_COORD guard7_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  2960. SET_CHAR_STAY_IN_SAME_PLACE guard7_fm3 TRUE
  2961. ENDIF
  2962.  
  2963. ENDIF
  2964.  
  2965. ENDIF
  2966.  
  2967. ENDIF
  2968.  
  2969. // Guard8
  2970.  
  2971. IF flag_guard8_fm3_dead = 0
  2972.  
  2973. IF IS_CHAR_DEAD guard8_fm3
  2974. flag_guard8_fm3_dead = 1
  2975. ++ counter_no_guards_dead_fm3
  2976. ELSE
  2977.  
  2978. IF flag_guard8_looking_for_8ball = 0
  2979.  
  2980. IF flag_bloke_in_area_fm3 = 5
  2981. OR flag_guard9_fm3_dead = 1
  2982. OR flag_guard10_fm3_dead = 1
  2983. OR flag_columb_car1_dead = 1
  2984. OR flag_columb_car2_dead = 1
  2985. SET_CHAR_OBJ_RUN_TO_COORD guard8_fm3 1491.6 -935.8
  2986. SET_CHAR_THREAT_SEARCH guard8_fm3 THREAT_SPECIAL //Guard8 now looks out for 8-ball
  2987. flag_guard8_looking_for_8ball = 1
  2988. ENDIF
  2989.  
  2990. ENDIF
  2991.  
  2992. IF flag_guard8_looking_for_8ball = 1
  2993.  
  2994. IF LOCATE_CHAR_ANY_MEANS_3D guard8_fm3 1491.6 -935.8 18.4 0.5 0.5 2.0 FALSE
  2995. SET_CHAR_OBJ_RUN_TO_COORD guard8_fm3 1487.6 -933.6
  2996. flag_guard8_looking_for_8ball = 2
  2997. ENDIF
  2998.  
  2999. ENDIF
  3000.  
  3001. IF flag_guard8_looking_for_8ball = 2
  3002.  
  3003. IF LOCATE_CHAR_ANY_MEANS_3D guard8_fm3 1487.6 -933.6 18.4 0.5 0.5 2.0 FALSE
  3004. SET_CHAR_OBJ_GUARD_SPOT guard8_fm3 1487.6 -933.6 18.4
  3005. TURN_CHAR_TO_FACE_COORD guard8_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  3006. SET_CHAR_STAY_IN_SAME_PLACE guard8_fm3 TRUE
  3007. ENDIF
  3008.  
  3009. ENDIF
  3010.  
  3011. ENDIF
  3012.  
  3013. ENDIF
  3014.  
  3015. // Guard9
  3016.  
  3017. IF flag_guard9_fm3_dead = 0
  3018.  
  3019. IF IS_CHAR_DEAD guard9_fm3
  3020. flag_guard9_fm3_dead = 1
  3021. ++ counter_no_guards_dead_fm3
  3022. ELSE
  3023.  
  3024. IF flag_guard9_looking_for_8ball = 0
  3025.  
  3026. IF flag_bloke_in_area_fm3 = 6
  3027. OR flag_guard8_fm3_dead = 1
  3028. OR flag_guard10_fm3_dead = 1
  3029. OR flag_columb_car1_dead = 1
  3030. OR flag_columb_car2_dead = 1
  3031. SET_CHAR_OBJ_GUARD_SPOT guard9_fm3 1484.4 -930.5 19.8
  3032. SET_CHAR_THREAT_SEARCH guard9_fm3 THREAT_SPECIAL //Guard9 now looks out for 8-ball
  3033. SET_CHAR_STAY_IN_SAME_PLACE guard9_fm3 TRUE
  3034. TURN_CHAR_TO_FACE_COORD guard9_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  3035. flag_guard9_looking_for_8ball = 1
  3036. ENDIF
  3037.  
  3038. ENDIF
  3039.  
  3040. ENDIF
  3041.  
  3042. ENDIF
  3043.  
  3044. // Guard10
  3045.  
  3046. IF flag_guard10_fm3_dead = 0
  3047.  
  3048. IF IS_CHAR_DEAD guard10_fm3
  3049. flag_guard10_fm3_dead = 1
  3050. ++ counter_no_guards_dead_fm3
  3051. ELSE
  3052.  
  3053. IF flag_guard10_looking_for_8ball = 0
  3054.  
  3055. IF flag_bloke_in_area_fm3 = 6
  3056. OR flag_guard8_fm3_dead = 1
  3057. OR flag_guard9_fm3_dead = 1
  3058. OR flag_columb_car1_dead = 1
  3059. OR flag_columb_car2_dead = 1
  3060. SET_CHAR_OBJ_RUN_TO_COORD guard10_fm3 1476.7 -936.3
  3061. SET_CHAR_THREAT_SEARCH guard10_fm3 THREAT_SPECIAL //Guard10 now looks out for 8-ball
  3062. flag_guard10_looking_for_8ball = 1
  3063. ENDIF
  3064.  
  3065. ENDIF
  3066.  
  3067. IF flag_guard10_looking_for_8ball = 1
  3068.  
  3069. IF LOCATE_CHAR_ANY_MEANS_3D guard10_fm3 1476.7 -936.3 18.4 0.5 0.5 2.0 FALSE
  3070. SET_CHAR_OBJ_RUN_TO_COORD guard10_fm3 1482.6 -930.5
  3071. flag_guard10_looking_for_8ball = 2
  3072. ENDIF
  3073.  
  3074. ENDIF
  3075.  
  3076. IF flag_guard10_looking_for_8ball = 2
  3077.  
  3078. IF LOCATE_CHAR_ANY_MEANS_3D guard10_fm3 1482.6 -930.5 18.4 0.5 0.5 2.0 FALSE
  3079. SET_CHAR_OBJ_GUARD_SPOT guard10_fm3 1482.6 -930.5 18.4
  3080. TURN_CHAR_TO_FACE_COORD guard10_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  3081. SET_CHAR_STAY_IN_SAME_PLACE guard10_fm3 TRUE
  3082. ENDIF
  3083.  
  3084. ENDIF
  3085.  
  3086. ENDIF
  3087.  
  3088. ENDIF
  3089.  
  3090. // Guard11
  3091.  
  3092. IF flag_guard11_fm3_dead = 0
  3093.  
  3094. IF IS_CHAR_DEAD guard11_fm3
  3095. flag_guard11_fm3_dead = 1
  3096. ++ counter_no_guards_dead_fm3
  3097. ELSE
  3098.  
  3099. IF flag_guard11_looking_for_8ball = 0
  3100.  
  3101. IF flag_bloke_in_area_fm3 = 2
  3102. OR flag_guard12_fm3_dead = 1
  3103. OR flag_columb_car1_dead = 1
  3104. OR flag_columb_car2_dead = 1
  3105. OR flag_guard1_fm3_dead = 1
  3106. OR flag_guard2_fm3_dead = 1
  3107. SET_CHAR_OBJ_RUN_TO_COORD guard11_fm3 1528.5 -927.5
  3108. SET_CHAR_THREAT_SEARCH guard11_fm3 THREAT_SPECIAL //Guard now looks out for 8-ball
  3109. flag_guard11_looking_for_8ball = 1
  3110. ENDIF
  3111.  
  3112. ENDIF
  3113.  
  3114. IF flag_guard11_looking_for_8ball = 1
  3115.  
  3116. IF LOCATE_CHAR_ANY_MEANS_3D guard11_fm3 1528.5 -927.5 18.4 0.5 0.5 2.0 FALSE
  3117. SET_CHAR_OBJ_RUN_TO_COORD guard11_fm3 1521.5 -927.2
  3118. flag_guard11_looking_for_8ball = 2
  3119. ENDIF
  3120.  
  3121. ENDIF
  3122.  
  3123. IF flag_guard11_looking_for_8ball = 2
  3124.  
  3125. IF LOCATE_CHAR_ANY_MEANS_3D guard11_fm3 1521.5 -927.2 18.4 0.5 0.5 2.0 FALSE
  3126. SET_CHAR_OBJ_GUARD_SPOT guard11_fm3 1521.5 -927.2 18.4
  3127. TURN_CHAR_TO_FACE_COORD guard11_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  3128. SET_CHAR_STAY_IN_SAME_PLACE guard11_fm3 TRUE
  3129. ENDIF
  3130.  
  3131. ENDIF
  3132.  
  3133. ENDIF
  3134.  
  3135. ENDIF
  3136.  
  3137. // Guard12
  3138.  
  3139. IF flag_guard12_fm3_dead = 0
  3140.  
  3141. IF IS_CHAR_DEAD guard12_fm3
  3142. flag_guard12_fm3_dead = 1
  3143. ++ counter_no_guards_dead_fm3
  3144. ELSE
  3145.  
  3146. IF flag_guard12_looking_for_8ball = 0
  3147.  
  3148. IF flag_bloke_in_area_fm3 = 2
  3149. OR flag_guard11_fm3_dead = 1
  3150. OR flag_columb_car1_dead = 1
  3151. OR flag_columb_car2_dead = 1
  3152. OR flag_guard1_fm3_dead = 1
  3153. OR flag_guard2_fm3_dead = 1
  3154. SET_CHAR_OBJ_RUN_TO_COORD guard12_fm3 1517.6 -923.1
  3155. SET_CHAR_THREAT_SEARCH guard12_fm3 THREAT_SPECIAL //Guard now looks out for 8-ball
  3156. flag_guard12_looking_for_8ball = 1
  3157. ENDIF
  3158.  
  3159. ENDIF
  3160.  
  3161. IF flag_guard12_looking_for_8ball = 1
  3162.  
  3163. IF LOCATE_CHAR_ANY_MEANS_3D guard12_fm3 1517.6 -923.1 18.4 0.5 0.5 2.0 FALSE
  3164. SET_CHAR_OBJ_RUN_TO_COORD guard12_fm3 1512.7 -929.0
  3165. flag_guard12_looking_for_8ball = 2
  3166. ENDIF
  3167.  
  3168. ENDIF
  3169.  
  3170. IF flag_guard12_looking_for_8ball = 2
  3171.  
  3172. IF LOCATE_CHAR_ANY_MEANS_3D guard12_fm3 1512.7 -929.0 18.4 0.2 0.2 2.0 FALSE
  3173. SET_CHAR_OBJ_GUARD_SPOT guard12_fm3 1512.7 -929.0 18.4
  3174. TURN_CHAR_TO_FACE_COORD guard12_fm3 eightball_x_fm3 eightball_y_fm3 eightball_z_fm3
  3175. SET_CHAR_STAY_IN_SAME_PLACE guard12_fm3 TRUE
  3176. ENDIF
  3177.  
  3178. ENDIF
  3179.  
  3180. ENDIF
  3181.  
  3182. ENDIF
  3183.  
  3184. RETURN
  3185.  
  3186.  
  3187. car_dead_check:
  3188.  
  3189. IF flag_columb_car1_dead = 0
  3190.  
  3191. IF IS_CAR_DEAD car_columb1_fm3
  3192. flag_columb_car1_dead = 1
  3193. ENDIF
  3194.  
  3195. ENDIF
  3196.  
  3197. IF flag_columb_car2_dead = 0
  3198.  
  3199. IF IS_CAR_DEAD car_columb2_fm3
  3200. flag_columb_car2_dead = 1
  3201. ENDIF
  3202.  
  3203. ENDIF
  3204.  
  3205. RETURN
  3206.  
  3207. clear_area_check_fm3:
  3208.  
  3209. IF flag_bloke_in_area_fm3 <= 2
  3210. CLEAR_AREA 1545.9 -867.7 10.8 1.0 FALSE
  3211. CLEAR_AREA 1527.0 -899.0 10.8 1.0 FALSE
  3212. CLEAR_AREA 1526.0 -919.0 18.4 1.0 FALSE
  3213. CLEAR_AREA 1522.9 -924.3 18.4 1.0 FALSE
  3214. CLEAR_AREA 1517.0 -929.0 18.4 1.0 FALSE
  3215. CLEAR_AREA 1510.0 -923.0 18.4 1.0 FALSE
  3216. CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE
  3217. CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE
  3218. CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE
  3219. CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE
  3220. CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE
  3221. CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE
  3222. ENDIF
  3223.  
  3224. IF flag_bloke_in_area_fm3 = 3
  3225. CLEAR_AREA 1527.0 -899.0 10.8 1.0 FALSE
  3226. CLEAR_AREA 1526.0 -919.0 18.4 1.0 FALSE
  3227. CLEAR_AREA 1522.9 -924.3 18.4 1.0 FALSE
  3228. CLEAR_AREA 1517.0 -929.0 18.4 1.0 FALSE
  3229. CLEAR_AREA 1510.0 -923.0 18.4 1.0 FALSE
  3230. CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE
  3231. CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE
  3232. CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE
  3233. CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE
  3234. CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE
  3235. CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE
  3236. ENDIF
  3237.  
  3238. IF flag_bloke_in_area_fm3 = 4
  3239. CLEAR_AREA 1526.0 -919.0 18.4 1.0 FALSE
  3240. CLEAR_AREA 1522.9 -924.3 18.4 1.0 FALSE
  3241. CLEAR_AREA 1517.0 -929.0 18.4 1.0 FALSE
  3242. CLEAR_AREA 1510.0 -923.0 18.4 1.0 FALSE
  3243. CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE
  3244. CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE
  3245. CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE
  3246. CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE
  3247. CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE
  3248. CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE
  3249. ENDIF
  3250.  
  3251. IF flag_bloke_in_area_fm3 = 5
  3252. CLEAR_AREA 1522.9 -924.3 18.4 1.0 FALSE
  3253. CLEAR_AREA 1517.0 -929.0 18.4 1.0 FALSE
  3254. CLEAR_AREA 1510.0 -923.0 18.4 1.0 FALSE
  3255. CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE
  3256. CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE
  3257. CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE
  3258. CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE
  3259. CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE
  3260. CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE
  3261. ENDIF
  3262.  
  3263. IF flag_bloke_in_area_fm3 = 6
  3264. CLEAR_AREA 1517.0 -929.0 18.4 1.0 FALSE
  3265. CLEAR_AREA 1510.0 -923.0 18.4 1.0 FALSE
  3266. CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE
  3267. CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE
  3268. CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE
  3269. CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE
  3270. CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE
  3271. CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE
  3272. ENDIF
  3273.  
  3274. IF flag_bloke_in_area_fm3 = 7
  3275. CLEAR_AREA 1510.0 -923.0 18.4 1.0 FALSE
  3276. CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE
  3277. CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE
  3278. CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE
  3279. CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE
  3280. CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE
  3281. CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE
  3282. ENDIF
  3283.  
  3284. IF flag_bloke_in_area_fm3 = 8
  3285. CLEAR_AREA 1504.4 -928.6 18.4 1.0 FALSE
  3286. CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE
  3287. CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE
  3288. CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE
  3289. CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE
  3290. CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE
  3291. ENDIF
  3292.  
  3293. IF flag_bloke_in_area_fm3 = 9
  3294. CLEAR_AREA 1493.7 -922.1 18.4 1.0 FALSE
  3295. CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE
  3296. CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE
  3297. CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE
  3298. CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE
  3299. ENDIF
  3300.  
  3301. IF flag_bloke_in_area_fm3 = 10
  3302. CLEAR_AREA 1487.0 -930.2 18.4 1.0 FALSE
  3303. CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE
  3304. CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE
  3305. CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE
  3306. ENDIF
  3307.  
  3308.  
  3309. IF flag_bloke_in_area_fm3 = 11
  3310. CLEAR_AREA 1481.5 -926.8 18.4 1.0 FALSE
  3311. CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE
  3312. CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE
  3313. ENDIF
  3314.  
  3315. IF flag_bloke_in_area_fm3 = 12
  3316. CLEAR_AREA 1475.8 -940.3 18.4 1.0 FALSE
  3317. CLEAR_AREA 1474.2 -940.2 18.4 1.0 FALSE
  3318. ENDIF
  3319.  
  3320. RETURN
Add Comment
Please, Sign In to add comment