R4gn0r0k

frank2.sc

Feb 4th, 2016
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 37.07 KB | None | 0 0
  1. MISSION_START
  2. // *****************************************************************************************
  3. // *****************************************************************************************
  4. // *****************************************************************************************
  5. // ***********************************Frankie Mission 2*************************************
  6. // **********************************"Cuttin' The Grass"************************************
  7. // *****************************************************************************************
  8. // *****************************************************************************************
  9. // *****************************************************************************************
  10.  
  11. SCRIPT_NAME frank2
  12.  
  13. // Mission start stuff
  14.  
  15. GOSUB mission_start_frankie2
  16.  
  17. IF HAS_DEATHARREST_BEEN_EXECUTED
  18. GOSUB mission_frankie2_failed
  19. ENDIF
  20.  
  21. GOSUB mission_cleanup_frankie2
  22.  
  23. MISSION_END
  24.  
  25.  
  26. // Variables for mission
  27.  
  28. VAR_INT curley_bob_fm2
  29.  
  30. VAR_INT hours_fm2
  31.  
  32. VAR_INT minutes_fm2
  33.  
  34. VAR_INT hours_stuff_happen_fm2
  35.  
  36. VAR_INT mission_taxi_fm2
  37.  
  38. VAR_INT radar_blip_coord2_fm2
  39.  
  40. VAR_INT radar_blip_coord3_fm2
  41.  
  42. VAR_INT car_fm2
  43.  
  44. VAR_INT van_driver_fm2
  45.  
  46. VAR_INT radar_blip_coord1_fm2
  47.  
  48. VAR_INT radar_blip_ped1_fm2
  49.  
  50. VAR_INT radar_blip_car1_fm2
  51.  
  52. VAR_INT columbian_fm2
  53.  
  54. VAR_INT radar_blip_ped2_fm2
  55.  
  56. VAR_INT flag_player_too_far_message_fm2
  57.  
  58. VAR_INT minutes_stuff_happen_fm2
  59.  
  60. VAR_INT flag_player_got_car_message_fm2
  61.  
  62. VAR_INT flag_player_got_cops_message_fm2
  63.  
  64. VAR_INT time_car_stopped_fm2
  65.  
  66. VAR_INT current_time_fm2
  67.  
  68. VAR_INT flag_car_has_just_stopped
  69.  
  70. VAR_INT timer_difference
  71.  
  72. VAR_INT flag_taxi1_exit_car_fm2
  73.  
  74. VAR_INT flag_taxi2_exit_car_fm2
  75.  
  76. VAR_INT flag_car_fm2_created
  77.  
  78. VAR_INT flag_mission_taxi_fm2_created
  79.  
  80. VAR_INT flag_no_longer_mad
  81.  
  82. VAR_INT flag_curley_at_point1_fm2
  83.  
  84. VAR_INT flag_curley_at_point2_fm2
  85.  
  86. VAR_INT flag_curley_bob_fm2_dead
  87.  
  88. VAR_INT flag_bob_in_position_one
  89.  
  90. VAR_INT flag_bob_in_position_two
  91.  
  92. VAR_INT flag_bob_in_position_three
  93.  
  94. VAR_INT baddie_car_fm2
  95.  
  96. VAR_INT radar_blip_car2_fm2
  97.  
  98. VAR_INT flag_curley_bob_dead_fm2
  99.  
  100. VAR_INT car_health_fm2
  101.  
  102. VAR_INT flag_car_fm2_dead
  103.  
  104. VAR_FLOAT car_fm2_x
  105.  
  106. VAR_FLOAT car_fm2_y
  107.  
  108. VAR_FLOAT car_fm2_z
  109.  
  110. VAR_INT radar_blip_club_fm2
  111.  
  112. VAR_INT flag_curly_mad_fm2
  113.  
  114. VAR_INT spooked_counter
  115.  
  116. VAR_INT spooked_check
  117.  
  118. VAR_INT flag_player_had_warning1_fm2
  119.  
  120. VAR_INT flag_player_had_warning2_fm2
  121.  
  122. VAR_INT flag_curly_moved_fm2 // Moves curly if he gets stuck
  123.  
  124.  
  125. // ****************************************Start Mission************************************
  126.  
  127. mission_start_frankie2:
  128.  
  129. flag_player_on_mission = 1
  130.  
  131. flag_player_on_frankie_mission = 1
  132.  
  133. REGISTER_MISSION_GIVEN
  134.  
  135. WAIT 0
  136.  
  137. hours_fm2 = 0
  138.  
  139. minutes_fm2 = 0
  140.  
  141. hours_stuff_happen_fm2 = 0
  142.  
  143. minutes_stuff_happen_fm2 = 0
  144.  
  145. flag_player_got_car_message_fm2 = 0
  146.  
  147. flag_player_got_cops_message_fm2 = 0
  148.  
  149. time_car_stopped_fm2 = 0
  150.  
  151. flag_car_has_just_stopped = 0
  152.  
  153. timer_difference = 0
  154.  
  155. flag_taxi1_exit_car_fm2 = 0
  156.  
  157. flag_taxi2_exit_car_fm2 = 0
  158.  
  159. flag_car_fm2_created = 0
  160.  
  161. flag_mission_taxi_fm2_created = 0
  162.  
  163. flag_no_longer_mad = 0
  164.  
  165. flag_curley_at_point1_fm2 = 0
  166.  
  167. flag_curley_at_point2_fm2 = 0
  168.  
  169. flag_curley_bob_fm2_dead = 0
  170.  
  171. flag_bob_in_position_one = 0
  172.  
  173. flag_bob_in_position_two = 0
  174.  
  175. flag_bob_in_position_three = 0
  176.  
  177. flag_curley_bob_dead_fm2 = 0
  178.  
  179. car_health_fm2 = 0
  180.  
  181. blob_flag = 1
  182.  
  183. flag_car_fm2_dead = 0
  184.  
  185. car_fm2_x = 0.0
  186.  
  187. car_fm2_y = 0.0
  188.  
  189. car_fm2_z = 0.0
  190.  
  191. flag_curly_mad_fm2 = 0
  192.  
  193. spooked_counter = 0
  194.  
  195. spooked_check = 0
  196.  
  197. flag_player_had_warning1_fm2 = 0
  198.  
  199. flag_player_had_warning2_fm2 = 0
  200.  
  201. flag_curly_moved_fm2 = 0 //moves curly if he gets stuck
  202.  
  203. {
  204.  
  205.  
  206. // ******************************************START OF CUTSCENE******************************
  207.  
  208. /*
  209. IF CAN_PLAYER_START_MISSION player
  210. MAKE_PLAYER_SAFE_FOR_CUTSCENE player
  211. ELSE
  212. GOTO mission_frankie2_failed
  213. ENDIF
  214.  
  215. SET_FADING_COLOUR 0 0 0
  216.  
  217. DO_FADE 1500 FADE_OUT
  218.  
  219. PRINT_BIG ( FM2 ) 15000 2 //"Cuttin' The Grass"
  220.  
  221. SWITCH_STREAMING OFF
  222. */
  223.  
  224. LOAD_SPECIAL_CHARACTER 1 FRANKIE
  225. REQUEST_MODEL PED_GANG_MAFIA_B
  226. LOAD_SPECIAL_MODEL cut_obj1 FRANKH
  227. //LOAD_SPECIAL_MODEL cut_obj2 PLAYERH
  228. REQUEST_MODEL franksclb02
  229. REQUEST_MODEL salvsdetail
  230. REQUEST_MODEL swank_inside
  231.  
  232. /*
  233. WHILE GET_FADING_STATUS
  234.  
  235. WAIT 0
  236.  
  237. ENDWHILE
  238. */
  239.  
  240. LOAD_ALL_MODELS_NOW
  241.  
  242. // Cutscene stuff
  243.  
  244. WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1
  245. OR NOT HAS_MODEL_LOADED PED_GANG_MAFIA_B
  246. OR NOT HAS_MODEL_LOADED cut_obj1
  247. //OR NOT HAS_MODEL_LOADED cut_obj2
  248.  
  249. WAIT 0
  250.  
  251. ENDWHILE
  252.  
  253. WHILE NOT HAS_MODEL_LOADED franksclb02
  254. OR NOT HAS_MODEL_LOADED salvsdetail
  255. OR NOT HAS_MODEL_LOADED swank_inside
  256.  
  257. WAIT 0
  258.  
  259. ENDWHILE
  260.  
  261. LOAD_CUTSCENE s2_ctg
  262.  
  263. SET_CUTSCENE_OFFSET 1457.776 -185.348 54.925
  264.  
  265. CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
  266.  
  267. SET_CUTSCENE_ANIM cs_player player
  268.  
  269. CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_frankie
  270.  
  271. SET_CUTSCENE_ANIM cs_frankie frankie
  272.  
  273. CREATE_CUTSCENE_HEAD cs_frankie CUT_OBJ1 cs_frankiehead
  274.  
  275. SET_CUTSCENE_HEAD_ANIM cs_frankiehead frank
  276.  
  277. //CREATE_CUTSCENE_HEAD cs_player CUT_OBJ2 cs_playerhead
  278.  
  279. //SET_CUTSCENE_HEAD_ANIM cs_playerhead player
  280.  
  281. CREATE_CUTSCENE_OBJECT PED_GANG_MAFIA_B cs_mafia
  282.  
  283. SET_CUTSCENE_ANIM cs_mafia gang02
  284.  
  285. CLEAR_AREA 1455.1 -187.8 -100.0 1.0 TRUE
  286.  
  287. SET_PLAYER_COORDINATES player 1455.1 -187.8 -100.0
  288.  
  289. SET_PLAYER_HEADING player 180.0
  290.  
  291. DO_FADE 1500 FADE_IN
  292.  
  293. SWITCH_RUBBISH OFF
  294.  
  295. SWITCH_STREAMING ON
  296.  
  297. START_CUTSCENE
  298.  
  299. // Displays cutscene text
  300.  
  301. GET_CUTSCENE_TIME cs_time
  302.  
  303. WHILE cs_time < 1726
  304. WAIT 0
  305. GET_CUTSCENE_TIME cs_time
  306. ENDWHILE
  307.  
  308. PRINT_NOW ( FM2_J ) 10000 1 //"Leave us alone for a minute,"
  309.  
  310. WHILE cs_time < 2910
  311. WAIT 0
  312. GET_CUTSCENE_TIME cs_time
  313. ENDWHILE
  314.  
  315. CLEAR_THIS_PRINT ( FM2_J )
  316.  
  317. WHILE cs_time < 4558
  318. WAIT 0
  319. GET_CUTSCENE_TIME cs_time
  320. ENDWHILE
  321.  
  322. PRINT_NOW ( FM2_A ) 10000 1 //"The Colombian Cartel is making SPANK somewhere in Liberty.
  323.  
  324. WHILE cs_time < 7896
  325. WAIT 0
  326. GET_CUTSCENE_TIME cs_time
  327. ENDWHILE
  328.  
  329. PRINT_NOW ( FM2_K ) 10000 1 //"But we don't know where, and they seem to know everything we're doin' before we do."
  330.  
  331. WHILE cs_time < 13257
  332. WAIT 0
  333. GET_CUTSCENE_TIME cs_time
  334. ENDWHILE
  335.  
  336. PRINT_NOW ( FM2_B ) 10000 1 //"We got us a rat."
  337.  
  338. WHILE cs_time < 15103
  339. WAIT 0
  340. GET_CUTSCENE_TIME cs_time
  341. ENDWHILE
  342.  
  343. PRINT_NOW ( FM2_L ) 10000 1 //"There is a guy named Curly Bob works the bar at Luigi's.
  344.  
  345. WHILE cs_time < 18415
  346. WAIT 0
  347. GET_CUTSCENE_TIME cs_time
  348. ENDWHILE
  349.  
  350. PRINT_NOW ( FM2_M ) 10000 1 //"He's been throwing more money around than he's earning."
  351.  
  352. WHILE cs_time < 21238
  353. WAIT 0
  354. GET_CUTSCENE_TIME cs_time
  355. ENDWHILE
  356.  
  357. PRINT_NOW ( FM2_C ) 10000 1 //"He ain't pimping or pushing so he must be talking."
  358.  
  359. WHILE cs_time < 25040
  360. WAIT 0
  361. GET_CUTSCENE_TIME cs_time
  362. ENDWHILE
  363.  
  364. PRINT_NOW ( FM2_N ) 10000 1 //"He usually gets a taxi home after work. So follow him."
  365.  
  366. WHILE cs_time < 28251
  367. WAIT 0
  368. GET_CUTSCENE_TIME cs_time
  369. ENDWHILE
  370.  
  371. PRINT_NOW ( FM2_O ) 10000 1 //"And if he's rattin' us out...kill him."
  372.  
  373. WHILE cs_time < 30960
  374. WAIT 0
  375. GET_CUTSCENE_TIME cs_time
  376. ENDWHILE
  377.  
  378. CLEAR_THIS_PRINT ( FM2_O )
  379.  
  380. WHILE cs_time < 38333
  381. WAIT 0
  382. GET_CUTSCENE_TIME cs_time
  383. ENDWHILE
  384.  
  385. DO_FADE 1500 FADE_OUT
  386.  
  387. WHILE NOT HAS_CUTSCENE_FINISHED
  388. WAIT 0
  389. ENDWHILE
  390.  
  391. CLEAR_PRINTS
  392.  
  393. WHILE GET_FADING_STATUS
  394. WAIT 0
  395. ENDWHILE
  396.  
  397. CLEAR_CUTSCENE
  398.  
  399. SWITCH_RUBBISH ON
  400.  
  401. SET_CAMERA_BEHIND_PLAYER
  402.  
  403. WAIT 500
  404.  
  405. DO_FADE 1500 FADE_IN
  406.  
  407. //SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor TRUE
  408.  
  409. UNLOAD_SPECIAL_CHARACTER 1
  410. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1
  411. MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_MAFIA_B
  412. //MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2
  413.  
  414. MARK_MODEL_AS_NO_LONGER_NEEDED franksclb02
  415.  
  416. MARK_MODEL_AS_NO_LONGER_NEEDED salvsdetail
  417.  
  418. MARK_MODEL_AS_NO_LONGER_NEEDED swank_inside
  419.  
  420. // *******************************************END OF CUTSCENE*******************************
  421.  
  422. LOAD_SPECIAL_CHARACTER 2 curly
  423.  
  424. REQUEST_MODEL CAR_TAXI
  425. REQUEST_MODEL PED_TAXI_DRIVER
  426.  
  427. WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 2
  428. OR NOT HAS_MODEL_LOADED CAR_TAXI
  429. OR NOT HAS_MODEL_LOADED PED_TAXI_DRIVER
  430.  
  431. WAIT 0
  432.  
  433. ENDWHILE
  434.  
  435. WHILE GET_FADING_STATUS
  436.  
  437. WAIT 0
  438.  
  439. ENDWHILE
  440.  
  441. SETUP_ZONE_PED_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0
  442. SETUP_ZONE_PED_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0
  443. SETUP_ZONE_CAR_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  444. SETUP_ZONE_CAR_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  445.  
  446. // CREATES THE TAXI FOR THE BLOKE TO GET INTO
  447.  
  448. PRINT_NOW ( FM2_11 ) 5000 1 //"Park out the front of Luigi's Club, Curly Bob will be leaving shortly."
  449.  
  450. ADD_BLIP_FOR_COORD 907.0 -424.7 13.8 radar_blip_club_fm2
  451.  
  452. CREATE_CAR CAR_TAXI 906.9 -433.7 -100.0 car_fm2
  453.  
  454. SET_CAR_ONLY_DAMAGED_BY_PLAYER car_fm2 TRUE
  455.  
  456. flag_car_fm2_created = 1
  457.  
  458. SET_CAR_HEADING car_fm2 180.0
  459.  
  460. CHANGE_CAR_LOCK car_fm2 CARLOCK_LOCKOUT_PLAYER_ONLY
  461.  
  462. CREATE_CHAR_INSIDE_CAR car_fm2 PEDTYPE_CIVMALE PED_TAXI_DRIVER van_driver_fm2
  463.  
  464. SET_CHAR_CANT_BE_DRAGGED_OUT van_driver_fm2 TRUE
  465.  
  466. CLEAR_CHAR_THREAT_SEARCH van_driver_fm2
  467.  
  468. CAR_SET_IDLE car_fm2
  469.  
  470. SWITCH_WIDESCREEN OFF
  471.  
  472. RESTORE_CAMERA
  473.  
  474. SET_PLAYER_CONTROL player on
  475.  
  476. SET_POLICE_IGNORE_PLAYER player off
  477.  
  478.  
  479. timerb = 0
  480.  
  481.  
  482. //GET_TIME_OF_DAY hours_fm2 minutes_fm2
  483.  
  484. //minutes_stuff_happen_fm2 = minutes_fm2 - 1
  485.  
  486. //IF minutes_stuff_happen_fm2 <= 0
  487.  
  488. // minutes_stuff_happen_fm2 += 60
  489.  
  490. //ENDIF
  491.  
  492. // waiting for the time of day to be correct
  493.  
  494. //WHILE NOT minutes_fm2 = minutes_stuff_happen_fm2
  495.  
  496. // WAIT 0
  497.  
  498. //GET_TIME_OF_DAY hours_fm2 minutes_fm2
  499.  
  500. //ENDWHILE
  501.  
  502.  
  503. WHILE timerb < 60000
  504.  
  505. WAIT 0
  506.  
  507. ENDWHILE
  508.  
  509. // checks to see where curly will be created
  510.  
  511. IF IS_PLAYER_IN_AREA_3D player 901.2 -427.8 12.0 878.1 -422.4 27.0 FALSE
  512. OR IS_PLAYER_IN_AREA_3D player 878.1 -422.4 12.0 900.4 -404.2 27.0 FALSE
  513.  
  514. // creates curley bob infront of the club
  515.  
  516. CLEAR_AREA 902.9 -398.8 14.0 1.0 TRUE
  517.  
  518. CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL2 902.9 -398.8 14.0 curley_bob_fm2
  519.  
  520. ADD_BLIP_FOR_CHAR curley_bob_fm2 radar_blip_ped1_fm2
  521.  
  522. CHANGE_BLIP_DISPLAY radar_blip_ped1_fm2 MARKER_ONLY
  523.  
  524. CLEAR_CHAR_THREAT_SEARCH curley_bob_fm2
  525.  
  526. SET_CHAR_OBJ_GOTO_COORD_ON_FOOT curley_bob_fm2 902.7 -430.4
  527.  
  528. timerb = 0
  529.  
  530. WHILE NOT LOCATE_CHAR_ON_FOOT_2D curley_bob_fm2 902.7 -430.4 1.0 1.0 FALSE
  531.  
  532. WAIT 0
  533.  
  534. IF IS_CHAR_DEAD curley_bob_fm2
  535. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  536. GOTO mission_frankie2_failed
  537. ELSE
  538.  
  539. IF NOT IS_CHAR_HEALTH_GREATER curley_bob_fm2 99
  540. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  541. GOTO mission_frankie2_failed
  542. ENDIF
  543.  
  544. ENDIF
  545.  
  546. IF flag_curly_moved_fm2 = 0
  547.  
  548. IF timerb >= 15000
  549.  
  550. IF NOT LOCATE_CHAR_ON_FOOT_2D curley_bob_fm2 902.7 -430.4 1.0 1.0 FALSE
  551. SET_CHAR_COORDINATES curley_bob_fm2 902.7 -430.4 13.7
  552. flag_curly_moved_fm2 = 1
  553. ENDIF
  554.  
  555. ENDIF
  556.  
  557. ENDIF
  558.  
  559. ENDWHILE
  560.  
  561. CHAR_SET_IDLE curley_bob_fm2
  562.  
  563. GOTO mission_check
  564.  
  565. ELSE
  566.  
  567. // creates curley bob down the alleyway
  568.  
  569. CLEAR_AREA 886.3 -422.2 13.8 1.0 TRUE
  570.  
  571. CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL2 886.3 -422.2 13.8 curley_bob_fm2
  572.  
  573. ADD_BLIP_FOR_CHAR curley_bob_fm2 radar_blip_ped1_fm2
  574.  
  575. CHANGE_BLIP_DISPLAY radar_blip_ped1_fm2 MARKER_ONLY
  576.  
  577. CLEAR_CHAR_THREAT_SEARCH curley_bob_fm2
  578.  
  579. SET_CHAR_OBJ_GOTO_COORD_ON_FOOT curley_bob_fm2 888.0 -425.0
  580.  
  581. CLEAR_AREA 887.4 -417.3 13.9 10.0 FALSE // This should get rid of anything is his way
  582.  
  583. CLEAR_AREA 892.8 -425.5 13.9 3.0 FALSE
  584.  
  585. CLEAR_AREA 896.3 -425.6 13.8 3.0 FALSE
  586.  
  587. CLEAR_AREA 899.1 -424.6 14.0 3.0 FALSE
  588.  
  589. CLEAR_AREA 903.4 -425.6 13.9 2.0 FALSE
  590.  
  591. //waiting for curly bob to get to the pavement
  592.  
  593. timerb = 0
  594.  
  595. WHILE NOT LOCATE_CHAR_ON_FOOT_2D curley_bob_fm2 904.0 -427.3 1.0 1.0 FALSE
  596.  
  597. WAIT 0
  598.  
  599. IF IS_CHAR_DEAD curley_bob_fm2
  600. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  601. GOTO mission_frankie2_failed
  602. ELSE
  603.  
  604. IF NOT IS_CHAR_HEALTH_GREATER curley_bob_fm2 99
  605. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  606. GOTO mission_frankie2_failed
  607. ENDIF
  608.  
  609. ENDIF
  610.  
  611. IF LOCATE_CHAR_ON_FOOT_2D curley_bob_fm2 888.0 -425.0 1.0 1.0 FALSE
  612. SET_CHAR_OBJ_RUN_TO_COORD curley_bob_fm2 892.1 -425.3
  613. ENDIF
  614.  
  615.  
  616. IF LOCATE_CHAR_ON_FOOT_2D curley_bob_fm2 892.1 -425.3 1.0 1.0 FALSE
  617. SET_CHAR_OBJ_GOTO_COORD_ON_FOOT curley_bob_fm2 904.0 -427.3
  618. ENDIF
  619.  
  620. IF flag_curly_moved_fm2 = 0
  621.  
  622. IF timerb >= 25000
  623.  
  624. IF NOT LOCATE_CHAR_ON_FOOT_2D curley_bob_fm2 904.0 -427.3 1.0 1.0 FALSE
  625. SET_CHAR_COORDINATES curley_bob_fm2 904.0 -427.3 13.9
  626. flag_curly_moved_fm2 = 1
  627. ENDIF
  628.  
  629. ENDIF
  630.  
  631. ENDIF
  632.  
  633. ENDWHILE
  634.  
  635. CHAR_SET_IDLE curley_bob_fm2
  636.  
  637. ENDIF
  638.  
  639. mission_check:
  640.  
  641. REMOVE_BLIP radar_blip_club_fm2
  642.  
  643. // Checks to see which part of the mission the player will get
  644.  
  645. IF NOT IS_PLAYER_STOPPED_IN_AREA_IN_CAR_2D player 905.0 -432.0 910.0 -419.0 FALSE
  646. GOTO mission_jump3
  647. ENDIF
  648.  
  649. // Checks to see if the player is in the area in a taxi
  650.  
  651. IF IS_PLAYER_IN_MODEL player car_taxi
  652. OR IS_PLAYER_IN_MODEL player car_cabbie
  653. OR IS_PLAYER_IN_MODEL player car_borgnine
  654. STORE_CAR_PLAYER_IS_IN player mission_taxi_fm2
  655. flag_mission_taxi_fm2_created = 1
  656. ELSE
  657. GOTO mission_jump3
  658. ENDIF
  659.  
  660. // *********************If player is in a taxi luanches part one of the mission*************
  661.  
  662. IF LOCATE_STOPPED_PLAYER_IN_CAR_2D player 906.0 -425.0 4.0 4.0 FALSE
  663. AND IS_PLAYER_IN_CAR player mission_taxi_fm2
  664.  
  665. IF IS_CHAR_DEAD curley_bob_fm2
  666. PRINT_NOW ( FM2_9 ) 5000 1 //Curly Bob's dead!"
  667. GOTO mission_frankie2_failed
  668. ENDIF
  669.  
  670. IF IS_PLAYER_IN_MODEL player car_taxi
  671. OR IS_PLAYER_IN_MODEL player car_cabbie
  672. STORE_CAR_PLAYER_IS_IN player mission_taxi_fm2
  673. ENDIF
  674.  
  675. // Checks to see if the taxi is damaged or not
  676.  
  677. IF IS_CAR_DEAD mission_taxi_fm2
  678. PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle is wrecked!"
  679. GOTO mission_frankie2_failed
  680. ELSE
  681.  
  682. IF IS_CAR_UPSIDEDOWN mission_taxi_fm2
  683. AND IS_CAR_STOPPED mission_taxi_fm2
  684. PRINT_NOW ( UPSIDE ) 5000 1 //"You've flipped your wheels!"
  685. GOTO mission_frankie2_failed
  686. ENDIF
  687.  
  688. ENDIF
  689.  
  690. IF NOT IS_CAR_HEALTH_GREATER mission_taxi_fm2 700
  691. PRINT_NOW ( FM2_6 ) 5000 1 //"Get out of here! I'm not taking a ride in this shit-heap!"
  692. GOTO mission_frankie2_failed
  693. ENDIF
  694.  
  695. SET_CHAR_OBJ_ENTER_CAR_AS_PASSENGER curley_bob_fm2 mission_taxi_fm2
  696.  
  697. WHILE NOT IS_CHAR_IN_CAR curley_bob_fm2 mission_taxi_fm2
  698.  
  699. WAIT 0
  700.  
  701. IF IS_CAR_DEAD mission_taxi_fm2
  702. PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle is wrecked!"
  703. GOTO mission_frankie2_failed
  704. ELSE
  705.  
  706. IF IS_CAR_UPSIDEDOWN mission_taxi_fm2
  707. AND IS_CAR_STOPPED mission_taxi_fm2
  708. PRINT_NOW ( UPSIDE ) 5000 1 //"You've flipped your wheels!"
  709. GOTO mission_frankie2_failed
  710. ENDIF
  711.  
  712. ENDIF
  713.  
  714. IF IS_CHAR_DEAD curley_bob_fm2
  715. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  716. GOTO mission_frankie2_failed
  717. ELSE
  718.  
  719. IF NOT IS_CHAR_HEALTH_GREATER curley_bob_fm2 99
  720. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  721. GOTO mission_frankie2_failed
  722. ENDIF
  723.  
  724. ENDIF
  725.  
  726. IF NOT LOCATE_PLAYER_IN_CAR_CHAR_2D player curley_bob_fm2 5.0 5.0 FALSE
  727. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  728. GOTO mission_frankie2_failed
  729. ENDIF
  730.  
  731. ENDWHILE
  732.  
  733. REMOVE_BLIP radar_blip_ped1_fm2
  734.  
  735. PRINT_NOW ( FM2_5 ) 7000 1 //"Take me to the Portland Harbour East docks."
  736.  
  737. ADD_BLIP_FOR_COORD 1529.0 -827.0 -100.0 radar_blip_coord2_fm2
  738.  
  739. blob_flag = 1
  740.  
  741. WHILE NOT LOCATE_STOPPED_PLAYER_IN_CAR_2D player 1529.0 -827.0 3.0 4.0 blob_flag
  742. OR NOT IS_CHAR_IN_CAR curley_bob_fm2 mission_taxi_fm2
  743. OR NOT IS_PLAYER_IN_CAR player mission_taxi_fm2
  744.  
  745. WAIT 0
  746.  
  747. IF IS_CAR_DEAD mission_taxi_fm2
  748. PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle is wrecked!"
  749. GOTO mission_frankie2_failed
  750. ELSE
  751.  
  752. IF IS_CAR_UPSIDEDOWN mission_taxi_fm2
  753. AND IS_CAR_STOPPED mission_taxi_fm2
  754. PRINT_NOW ( UPSIDE ) 5000 1 //"You've flipped your wheels!"
  755. GOTO mission_frankie2_failed
  756. ENDIF
  757.  
  758. ENDIF
  759.  
  760. IF IS_CHAR_DEAD curley_bob_fm2
  761. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  762. GOTO mission_frankie2_failed
  763. ENDIF
  764.  
  765. IF NOT IS_CHAR_IN_CAR curley_bob_fm2 mission_taxi_fm2
  766. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  767. GOTO mission_frankie2_failed
  768. ENDIF
  769.  
  770. IF NOT IS_PLAYER_IN_CAR player mission_taxi_fm2
  771. AND flag_player_got_car_message_fm2 = 0
  772. CLEAR_PRINTS
  773. PRINT_NOW ( IN_VEH ) 5000 1 //"Get back into the vehicle and get on with the mission"
  774. ADD_BLIP_FOR_CAR mission_taxi_fm2 radar_blip_car1_fm2
  775. REMOVE_BLIP radar_blip_coord2_fm2
  776. flag_player_got_car_message_fm2 = 1
  777. blob_flag = 0
  778. ENDIF
  779.  
  780. IF IS_PLAYER_IN_CAR player mission_taxi_fm2
  781. AND flag_player_got_car_message_fm2 = 1
  782. ADD_BLIP_FOR_COORD 1529.0 -827.0 -100.0 radar_blip_coord2_fm2
  783. CHANGE_BLIP_DISPLAY radar_blip_coord2_fm2 BLIP_ONLY
  784. REMOVE_BLIP radar_blip_car1_fm2
  785. flag_player_got_car_message_fm2 = 0
  786. blob_flag = 1
  787. ENDIF
  788.  
  789. IF IS_CAR_STOPPED mission_taxi_fm2
  790. IF flag_car_has_just_stopped = 0
  791. //GET_GAME_TIMER time_car_stopped_fm2
  792. timerb = 0
  793. flag_car_has_just_stopped = 1
  794. ENDIF
  795. //GET_GAME_TIMER current_time_fm2
  796. //timer_difference = current_time_fm2 - time_car_stopped_fm2
  797. //IF timer_difference > 10000
  798. IF timerb > 10000
  799. flag_taxi1_exit_car_fm2 = 1
  800. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  801. GOTO mission_frankie2_failed
  802. ENDIF
  803. ELSE
  804. flag_car_has_just_stopped = 0
  805. ENDIF
  806.  
  807. ENDWHILE
  808.  
  809. REMOVE_BLIP radar_blip_coord2_fm2
  810.  
  811. GOTO mission_jump2
  812.  
  813. ENDIF
  814.  
  815. // *********If player does not have a taxi creates taxi for Curley Bob to get into**********
  816.  
  817. mission_jump3:
  818.  
  819. IF IS_CAR_DEAD car_fm2
  820. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  821. flag_car_fm2_dead = 1
  822. GOTO mission_frankie2_failed
  823. ELSE
  824.  
  825. IF IS_CAR_UPSIDEDOWN car_fm2
  826. AND IS_CAR_STOPPED car_fm2
  827. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  828. GOTO mission_frankie2_failed
  829. ENDIF
  830.  
  831. ENDIF
  832.  
  833. IF LOCATE_STOPPED_CAR_2D car_fm2 906.9 -433.0 6.0 6.0 FALSE
  834. AND NOT IS_CAR_UPSIDEDOWN car_fm2
  835. SET_CHAR_OBJ_ENTER_CAR_AS_PASSENGER curley_bob_fm2 car_fm2
  836. ELSE
  837. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  838. GOTO mission_frankie2_failed
  839. ENDIF
  840.  
  841. //waiting for the character to get into the car
  842.  
  843. WHILE NOT IS_CHAR_IN_CAR curley_bob_fm2 car_fm2
  844.  
  845. WAIT 0
  846.  
  847. IF IS_CHAR_DEAD curley_bob_fm2
  848. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  849. GOTO mission_frankie2_failed
  850. ELSE
  851.  
  852. IF NOT IS_CHAR_HEALTH_GREATER curley_bob_fm2 99
  853. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  854. GOTO mission_frankie2_failed
  855. ENDIF
  856.  
  857. ENDIF
  858.  
  859. IF IS_CAR_DEAD car_fm2
  860.  
  861. IF IS_CHAR_DEAD curley_bob_fm2
  862. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  863. GOTO mission_frankie2_failed
  864. ELSE
  865. PRINT_NOW ( WRECKED ) 5000 1 //The vehicle's wrecked!"
  866. flag_car_fm2_dead = 1
  867. GOTO mission_frankie2_failed
  868. ENDIF
  869.  
  870. ELSE
  871.  
  872. IF IS_CAR_UPSIDEDOWN car_fm2
  873. AND IS_CAR_STOPPED car_fm2
  874. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  875. GOTO mission_frankie2_failed
  876. ENDIF
  877.  
  878. ENDIF
  879.  
  880. ENDWHILE
  881.  
  882. REMOVE_BLIP radar_blip_ped1_fm2
  883.  
  884. PRINT_NOW ( FM2_2 ) 7000 1 //Tail Curly Bob!"
  885.  
  886. SWITCH_WIDESCREEN OFF
  887.  
  888. RESTORE_CAMERA
  889.  
  890. SET_PLAYER_CONTROL player on
  891.  
  892. SET_POLICE_IGNORE_PLAYER player off
  893.  
  894. ADD_BLIP_FOR_CAR car_fm2 radar_blip_car2_fm2
  895.  
  896. CHANGE_BLIP_DISPLAY radar_blip_car2_fm2 MARKER_ONLY
  897.  
  898. SET_CAR_CRUISE_SPEED car_fm2 30.0
  899.  
  900. CAR_GOTO_COORDINATES_ACCURATE car_fm2 1529.0 -827.0 -100.0
  901.  
  902. SET_CAR_DRIVING_STYLE car_fm2 DRIVINGMODE_SLOWDOWNFORCARS
  903.  
  904. SET_CAR_CRUISE_SPEED car_fm2 20.0
  905.  
  906. ADD_STUCK_CAR_CHECK car_fm2 5.0 30000
  907.  
  908. DISPLAY_ONSCREEN_COUNTER_WITH_STRING spooked_counter COUNTER_DISPLAY_BAR ( FM2_16 )
  909.  
  910. timerb = 0
  911.  
  912. timera = 0
  913.  
  914. // Waiting for the car to get to the bottom of the dock area
  915.  
  916. WHILE NOT LOCATE_CAR_2D car_fm2 1529.0 -827.0 3.0 3.0 FALSE
  917.  
  918. WAIT 0
  919.  
  920. IF spooked_check = 0
  921.  
  922. IF timerb > 1500
  923. spooked_check = 1
  924. ENDIF
  925.  
  926. ENDIF
  927.  
  928. IF IS_CAR_DEAD car_fm2
  929.  
  930. IF IS_CHAR_DEAD curley_bob_fm2
  931. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  932. GOTO mission_frankie2_failed
  933. ELSE
  934. PRINT_NOW ( WRECKED ) 5000 1 //The vehicle's wrecked!"
  935. flag_car_fm2_dead = 1
  936. GOTO mission_frankie2_failed
  937. ENDIF
  938.  
  939. ELSE
  940.  
  941. IF IS_CAR_STUCK car_fm2
  942. spooked_counter = 100
  943. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  944. GOTO mission_frankie2_failed
  945. ENDIF
  946.  
  947. IF IS_CAR_UPSIDEDOWN car_fm2
  948. AND IS_CAR_STOPPED car_fm2
  949. spooked_counter = 100
  950. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  951. GOTO mission_frankie2_failed
  952. ENDIF
  953.  
  954. ENDIF
  955.  
  956. CLEAR_AREA 1529.0 -827.0 -100.0 4.0 FALSE // This should clear the area at the bottom of the docks
  957.  
  958. IF IS_CHAR_DEAD curley_bob_fm2
  959. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly's dead!"
  960. GOTO mission_frankie2_failed
  961. ELSE
  962.  
  963. IF spooked_check = 1
  964.  
  965. IF LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 40.0 40.0 40.0 FALSE
  966.  
  967. IF LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 30.0 30.0 30.0 FALSE
  968.  
  969. IF LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 20.0 20.0 20.0 FALSE
  970.  
  971.  
  972. IF IS_PLAYER_IN_MODEL player CAR_MAFIA
  973.  
  974. IF timera > 8
  975. ++ spooked_counter
  976. timera = 0
  977. ENDIF
  978.  
  979. ELSE
  980.  
  981. IF timera > 16
  982. ++ spooked_counter
  983. timera = 0
  984. ENDIF
  985.  
  986. ENDIF
  987.  
  988. ELSE
  989.  
  990. IF IS_PLAYER_IN_MODEL player CAR_MAFIA
  991.  
  992. IF timera > 16
  993. ++ spooked_counter
  994. timera = 0
  995. ENDIF
  996.  
  997. ELSE
  998.  
  999. IF timera > 32
  1000. ++ spooked_counter
  1001. timera = 0
  1002. ENDIF
  1003.  
  1004. ENDIF
  1005.  
  1006. ENDIF
  1007.  
  1008. ELSE
  1009.  
  1010. IF IS_PLAYER_IN_MODEL player CAR_MAFIA
  1011.  
  1012. IF timera > 32
  1013. ++ spooked_counter
  1014. timera = 0
  1015. ENDIF
  1016.  
  1017. ELSE
  1018.  
  1019. IF timera > 64
  1020. ++ spooked_counter
  1021. timera = 0
  1022. ENDIF
  1023.  
  1024. ENDIF
  1025.  
  1026. ENDIF
  1027.  
  1028. ELSE
  1029.  
  1030. IF IS_PLAYER_IN_MODEL player CAR_MAFIA
  1031.  
  1032. IF timera > 500
  1033.  
  1034. IF spooked_counter > 0
  1035. -- spooked_counter
  1036. ENDIF
  1037. timera = 0
  1038. ENDIF
  1039.  
  1040. ELSE
  1041.  
  1042. IF timera > 250
  1043.  
  1044. IF spooked_counter > 0
  1045. -- spooked_counter
  1046. ENDIF
  1047. timera = 0
  1048. ENDIF
  1049.  
  1050. ENDIF
  1051.  
  1052. ENDIF
  1053.  
  1054. ENDIF
  1055.  
  1056.  
  1057. IF spooked_counter > 10
  1058.  
  1059. IF flag_player_had_warning1_fm2 = 0
  1060. PRINT_NOW ( FM2_15 ) 5000 1 //"Don't get too close or curly will suspect something!"
  1061. flag_player_had_warning1_fm2 = 1
  1062. ENDIF
  1063.  
  1064. ENDIF
  1065.  
  1066.  
  1067. IF spooked_counter = 100
  1068. PRINT_NOW ( FM2_14 ) 5000 1 //"You got too close and spooked Curly!"
  1069. GOTO mission_frankie2_failed
  1070. ENDIF
  1071.  
  1072.  
  1073. IF NOT IS_CHAR_IN_CAR curley_bob_fm2 car_fm2
  1074. spooked_counter = 100
  1075. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  1076. GOTO mission_frankie2_failed
  1077. ENDIF
  1078.  
  1079. IF IS_CHAR_IN_AREA_2D curley_bob_fm2 1538.0 -741.0 1304.0 -901.0 FALSE
  1080. SET_CAR_DRIVING_STYLE car_fm2 1
  1081. SET_CAR_CRUISE_SPEED car_fm2 10.0
  1082. flag_no_longer_mad = 1
  1083. ENDIF
  1084.  
  1085. IF flag_no_longer_mad = 0
  1086.  
  1087. IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player curley_bob_fm2 30.0 30.0 FALSE
  1088. SET_CAR_DRIVING_STYLE car_fm2 DRIVINGMODE_AVOIDCARS
  1089. SET_CAR_CRUISE_SPEED car_fm2 25.0
  1090. ELSE
  1091. SET_CAR_DRIVING_STYLE car_fm2 DRIVINGMODE_SLOWDOWNFORCARS
  1092. SET_CAR_CRUISE_SPEED car_fm2 20.0
  1093. ENDIF
  1094.  
  1095. ENDIF
  1096.  
  1097. ENDIF
  1098.  
  1099. IF IS_CAR_VISIBLY_DAMAGED car_fm2
  1100.  
  1101. IF IS_CHAR_DEAD curley_bob_fm2
  1102. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly's dead!"
  1103. GOTO mission_frankie2_failed
  1104. ELSE
  1105. spooked_counter = 100
  1106. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  1107. GOTO mission_frankie2_failed
  1108. ENDIF
  1109.  
  1110. ENDIF
  1111.  
  1112. IF IS_CAR_STOPPED car_fm2
  1113. IF flag_car_has_just_stopped = 0
  1114. GET_GAME_TIMER time_car_stopped_fm2
  1115. flag_car_has_just_stopped = 1
  1116. ENDIF
  1117. GET_GAME_TIMER current_time_fm2
  1118. timer_difference = current_time_fm2 - time_car_stopped_fm2
  1119. IF timer_difference > 15000
  1120. flag_taxi2_exit_car_fm2 = 1
  1121. spooked_counter = 100
  1122. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  1123. GOTO mission_frankie2_failed
  1124. ENDIF
  1125. ELSE
  1126. flag_car_has_just_stopped = 0
  1127. ENDIF
  1128.  
  1129. ENDWHILE
  1130.  
  1131. REMOVE_BLIP radar_blip_car2_fm2
  1132.  
  1133. REMOVE_STUCK_CAR_CHECK car_fm2
  1134.  
  1135.  
  1136. // ********************Curley Bob gets out of the script controlled taxi********************
  1137.  
  1138. IF flag_car_fm2_created = 1
  1139. AND IS_CHAR_IN_CAR curley_bob_fm2 car_fm2
  1140. flag_taxi2_exit_car_fm2 = 1
  1141. ENDIF
  1142.  
  1143. IF flag_taxi2_exit_car_fm2 = 1
  1144. SET_CHAR_OBJ_LEAVE_CAR curley_bob_fm2 car_fm2
  1145.  
  1146.  
  1147. WHILE IS_CHAR_IN_CAR curley_bob_fm2 car_fm2
  1148.  
  1149. WAIT 0
  1150.  
  1151. IF IS_CHAR_DEAD curley_bob_fm2
  1152. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  1153. GOTO mission_frankie2_failed
  1154. ELSE
  1155.  
  1156. IF NOT IS_CHAR_HEALTH_GREATER curley_bob_fm2 99
  1157. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  1158. GOTO mission_frankie2_failed
  1159. ENDIF
  1160.  
  1161. ENDIF
  1162.  
  1163. IF IS_CAR_DEAD car_fm2
  1164.  
  1165. IF IS_CHAR_DEAD curley_bob_fm2
  1166. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  1167. GOTO mission_frankie2_failed
  1168. ELSE
  1169. PRINT_NOW ( WRECKED ) 5000 1 //The vehicle's wrecked!"
  1170. flag_car_fm2_dead = 1
  1171. GOTO mission_frankie2_failed
  1172. ENDIF
  1173.  
  1174. ELSE
  1175.  
  1176. IF IS_CAR_UPSIDEDOWN car_fm2
  1177. AND IS_CAR_STOPPED car_fm2
  1178. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  1179. GOTO mission_frankie2_failed
  1180. ENDIF
  1181.  
  1182. ENDIF
  1183.  
  1184. ENDWHILE
  1185.  
  1186. CLEAR_ONSCREEN_COUNTER spooked_counter
  1187.  
  1188. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 160.0 160.0 160.0 FALSE
  1189. PRINT_NOW ( FM2_12 ) 5000 1 //"You lost him!"
  1190. GOTO mission_frankie2_failed
  1191. ENDIF
  1192.  
  1193. // Checks to see if the player is around the ramp and will fail the mission
  1194.  
  1195. IF IS_PLAYER_IN_AREA_3D player 1573.72 -876.49 5.0 1404.09 -1034.30 30.0 FALSE
  1196. spooked_counter = 100
  1197. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  1198. GOTO mission_frankie2_failed
  1199. ENDIF
  1200.  
  1201. GOTO mission_jump4
  1202.  
  1203. ENDIF
  1204.  
  1205.  
  1206. // *****************Orders Curley Bob out of the taxi if the player is driving**************
  1207.  
  1208. mission_jump2:
  1209.  
  1210. IF flag_mission_taxi_fm2_created = 1
  1211. AND IS_CHAR_IN_CAR curley_bob_fm2 mission_taxi_fm2
  1212. flag_taxi1_exit_car_fm2 = 1
  1213. ENDIF
  1214.  
  1215. IF flag_taxi1_exit_car_fm2 = 1
  1216.  
  1217. SET_CHAR_OBJ_LEAVE_CAR curley_bob_fm2 mission_taxi_fm2
  1218.  
  1219. WHILE IS_CHAR_IN_CAR curley_bob_fm2 mission_taxi_fm2
  1220.  
  1221. WAIT 0
  1222.  
  1223. IF IS_CHAR_DEAD curley_bob_fm2
  1224. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  1225. GOTO mission_frankie2_failed
  1226. ELSE
  1227.  
  1228. IF NOT IS_CHAR_HEALTH_GREATER curley_bob_fm2 99
  1229. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  1230. GOTO mission_frankie2_failed
  1231. ENDIF
  1232.  
  1233. ENDIF
  1234.  
  1235. IF IS_CAR_DEAD mission_taxi_fm2
  1236.  
  1237. IF IS_CHAR_DEAD curley_bob_fm2
  1238. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  1239. GOTO mission_frankie2_failed
  1240. ELSE
  1241. PRINT_NOW ( WRECKED ) 5000 1 //The vehicle's wrecked!"
  1242. GOTO mission_frankie2_failed
  1243. ENDIF
  1244.  
  1245. ELSE
  1246.  
  1247. IF IS_CAR_UPSIDEDOWN mission_taxi_fm2
  1248. AND IS_CAR_STOPPED mission_taxi_fm2
  1249. PRINT_NOW ( FM2_7 ) 7000 1 //"Something's spooked Curly, the meeting's off!"
  1250. GOTO mission_frankie2_failed
  1251. ENDIF
  1252.  
  1253. ENDIF
  1254.  
  1255. ENDWHILE
  1256.  
  1257. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 160.0 160.0 160.0 FALSE
  1258. PRINT_NOW ( FM2_12 ) 5000 1 //"You lost him!"
  1259. GOTO mission_frankie2_failed
  1260. ENDIF
  1261.  
  1262. ENDIF
  1263.  
  1264.  
  1265. // ***********************Curley Bob has finally got to the docks***************************
  1266.  
  1267. mission_jump4:
  1268.  
  1269. SWITCH_WIDESCREEN ON
  1270.  
  1271. IF IS_PLAYER_IN_ANY_CAR player
  1272. APPLY_BRAKES_TO_PLAYERS_CAR player ON
  1273. ENDIF
  1274.  
  1275. SET_PLAYER_CONTROL player OFF
  1276.  
  1277. CLEAR_WANTED_LEVEL player // This might have to come out when this bit is an Alex cut-scene
  1278.  
  1279. IF NOT IS_CHAR_DEAD van_driver_fm2
  1280. SET_CHAR_CANT_BE_DRAGGED_OUT van_driver_fm2 FALSE
  1281. ENDIF
  1282.  
  1283. SET_POLICE_IGNORE_PLAYER player ON
  1284.  
  1285. CLEAR_AREA 1546.56 -834.79 12.70 1.0 TRUE
  1286.  
  1287. SET_FIXED_CAMERA_POSITION 1546.56 -834.79 12.70 0.0 0.0 0.0
  1288.  
  1289. POINT_CAMERA_AT_POINT 1545.50 -834.60 12.79 JUMP_CUT
  1290.  
  1291. SET_CHAR_OBJ_RUN_TO_COORD curley_bob_fm2 1532.0 -889.0
  1292.  
  1293. timerb = 0
  1294.  
  1295. WHILE timerb < 1500
  1296.  
  1297. WAIT 0
  1298.  
  1299. CLEAR_AREA 1532.0 -889.0 -100.0 3.0 FALSE // Clears area curly is running to.
  1300.  
  1301. IF IS_CHAR_DEAD curley_bob_fm2
  1302. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  1303. flag_curley_bob_fm2_dead = 1
  1304. GOTO mission_frankie2_failed
  1305. ENDIF
  1306.  
  1307. ENDWHILE
  1308.  
  1309. IF IS_CHAR_DEAD curley_bob_fm2
  1310. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  1311. flag_curley_bob_fm2_dead = 1
  1312. GOTO mission_frankie2_failed
  1313. ENDIF
  1314.  
  1315. // ****************************************START OF CUTSCENE TWO****************************
  1316.  
  1317. GET_GAME_TIMER breakout_timer_start
  1318.  
  1319. breakout_diff = 0
  1320.  
  1321. WHILE NOT CAN_PLAYER_START_MISSION Player
  1322. AND breakout_diff < 5000 // if player is not in control after 5 secs do the cutscene anyway
  1323.  
  1324. WAIT 0
  1325.  
  1326. IF IS_CHAR_DEAD curley_bob_fm2
  1327. PRINT_NOW ( FM2_9 ) 5000 1 //"Curly Bob's dead!"
  1328. flag_curley_bob_fm2_dead = 1
  1329. GOTO mission_frankie2_failed
  1330. ENDIF
  1331.  
  1332. GET_GAME_TIMER breakout_timer
  1333.  
  1334. breakout_diff = breakout_timer - breakout_timer_start
  1335.  
  1336. ENDWHILE
  1337.  
  1338. MAKE_PLAYER_SAFE_FOR_CUTSCENE player
  1339.  
  1340. SET_FADING_COLOUR 0 0 0
  1341.  
  1342. DO_FADE 1500 FADE_OUT
  1343.  
  1344. SWITCH_STREAMING OFF
  1345.  
  1346. LOAD_SPECIAL_CHARACTER 3 miguel
  1347. LOAD_SPECIAL_CHARACTER 4 cat
  1348. LOAD_SPECIAL_MODEL cut_obj1 MIGUELH
  1349. LOAD_SPECIAL_MODEL cut_obj2 CATH
  1350. LOAD_SPECIAL_MODEL cut_obj3 CURLYH
  1351. REQUEST_MODEL CAR_COLUMB
  1352.  
  1353. WHILE GET_FADING_STATUS
  1354.  
  1355. WAIT 0
  1356.  
  1357. ENDWHILE
  1358.  
  1359. IF NOT IS_CHAR_DEAD curley_bob_fm2
  1360. CHAR_SET_IDLE curley_bob_fm2
  1361. ENDIF
  1362.  
  1363. LOAD_ALL_MODELS_NOW
  1364.  
  1365. // Cutscene stuff
  1366. WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 3
  1367. OR NOT HAS_SPECIAL_CHARACTER_LOADED 4
  1368. OR NOT HAS_MODEL_LOADED CAR_COLUMB
  1369. OR NOT HAS_MODEL_LOADED cut_obj1
  1370. OR NOT HAS_MODEL_LOADED cut_obj2
  1371. OR NOT HAS_MODEL_LOADED cut_obj3
  1372.  
  1373. WAIT 0
  1374.  
  1375. ENDWHILE
  1376.  
  1377. // creates car
  1378.  
  1379. CREATE_CAR CAR_COLUMB 1542.9 -896.1975 10.6 baddie_car_fm2
  1380.  
  1381. SET_CAR_HEADING baddie_car_fm2 90.0
  1382.  
  1383. //SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor FALSE
  1384.  
  1385. LOAD_CUTSCENE s2_ctg2
  1386.  
  1387. SET_CUTSCENE_OFFSET 1573.8866 -906.0611 11.1
  1388.  
  1389. CREATE_CUTSCENE_OBJECT PED_SPECIAL2 cs_curly
  1390.  
  1391. SET_CUTSCENE_ANIM cs_curly curly
  1392.  
  1393. CREATE_CUTSCENE_OBJECT PED_SPECIAL3 cs_miguel
  1394.  
  1395. SET_CUTSCENE_ANIM cs_miguel miguel
  1396.  
  1397. CREATE_CUTSCENE_OBJECT PED_SPECIAL4 cs_catalina
  1398.  
  1399. SET_CUTSCENE_ANIM cs_catalina cat
  1400.  
  1401. CREATE_CUTSCENE_HEAD cs_miguel CUT_OBJ1 cs_miguelhead
  1402.  
  1403. SET_CUTSCENE_HEAD_ANIM cs_miguelhead miguel
  1404.  
  1405. CREATE_CUTSCENE_HEAD cs_catalina CUT_OBJ2 cs_catalinahead
  1406.  
  1407. SET_CUTSCENE_HEAD_ANIM cs_catalinahead cat
  1408.  
  1409. CREATE_CUTSCENE_HEAD cs_curly CUT_OBJ3 cs_curlyhead
  1410.  
  1411. SET_CUTSCENE_HEAD_ANIM cs_curlyhead curly
  1412.  
  1413. CLEAR_AREA 898.6 -425.6 13.9 1.0 TRUE
  1414.  
  1415. //SET_PLAYER_COORDINATES player 898.6 -425.6 13.9 // Player is in a taxi so don't comment back in
  1416.  
  1417. DO_FADE 1500 FADE_IN
  1418.  
  1419. DELETE_CHAR curley_bob_fm2
  1420.  
  1421. SWITCH_STREAMING ON
  1422.  
  1423. START_CUTSCENE
  1424.  
  1425. // Displays cutscene text
  1426.  
  1427. GET_CUTSCENE_TIME cs_time
  1428.  
  1429. WHILE cs_time <= 0
  1430. WAIT 0
  1431. GET_CUTSCENE_TIME cs_time
  1432. ENDWHILE
  1433.  
  1434. PRINT_NOW ( FM2_F ) 10000 1 //"Here comes our little friend. Mr. big mouth himself."
  1435.  
  1436. WHILE cs_time < 3225
  1437. WAIT 0
  1438. GET_CUTSCENE_TIME cs_time
  1439. ENDWHILE
  1440.  
  1441. PRINT_NOW ( FM2_G ) 10000 1 //"Were you followed? You know what goes on here is our little secret."
  1442.  
  1443. WHILE cs_time < 7047
  1444. WAIT 0
  1445. GET_CUTSCENE_TIME cs_time
  1446. ENDWHILE
  1447.  
  1448. PRINT_NOW ( FM2_H ) 10000 1 //"No..no, I wasn't followed, You got my stuff?"
  1449.  
  1450. WHILE cs_time < 10272
  1451. WAIT 0
  1452. GET_CUTSCENE_TIME cs_time
  1453. ENDWHILE
  1454.  
  1455. PRINT_NOW ( FM2_I ) 10000 1 //"Here's your SPANK, squealer, now talk."
  1456.  
  1457. WHILE cs_time < 13914
  1458. WAIT 0
  1459. GET_CUTSCENE_TIME cs_time
  1460. ENDWHILE
  1461.  
  1462. PRINT_NOW ( FM2_P ) 10000 1 //"OK, so the Leone's are fighting wars on two fronts."
  1463.  
  1464. WHILE cs_time < 16721
  1465. WAIT 0
  1466. GET_CUTSCENE_TIME cs_time
  1467. ENDWHILE
  1468.  
  1469. PRINT_NOW ( FM2_Q ) 10000 1 //"They're in a turf war with the Triads with no sign of either side giving up."
  1470.  
  1471. WHILE cs_time < 20483
  1472. WAIT 0
  1473. GET_CUTSCENE_TIME cs_time
  1474. ENDWHILE
  1475.  
  1476. PRINT_NOW ( FM2_R ) 10000 1 //"Meanwhile Loey Leone has stirred up some bad blood with the Forellis."
  1477.  
  1478. WHILE cs_time < 24246
  1479. WAIT 0
  1480. GET_CUTSCENE_TIME cs_time
  1481. ENDWHILE
  1482.  
  1483. PRINT_NOW ( FM2_S ) 10000 1 //"Every day they're losing men and influence in the city."
  1484.  
  1485. WHILE cs_time < 26993
  1486. WAIT 0
  1487. GET_CUTSCENE_TIME cs_time
  1488. ENDWHILE
  1489.  
  1490. PRINT_NOW ( FM2_T ) 10000 1 //"Salvatore is becoming dangerous and paranoid. He suspects everybody and everything."
  1491.  
  1492. WHILE cs_time < 31770
  1493. WAIT 0
  1494. GET_CUTSCENE_TIME cs_time
  1495. ENDWHILE
  1496.  
  1497. PRINT_NOW ( FM2_U ) 10000 1 //"With loyalty like yours, what has he possibly got to worry about."
  1498.  
  1499. WHILE cs_time < 35267
  1500. WAIT 0
  1501. GET_CUTSCENE_TIME cs_time
  1502. ENDWHILE
  1503.  
  1504. CLEAR_THIS_PRINT ( FM2_U )
  1505.  
  1506. WHILE cs_time < 37000
  1507. WAIT 0
  1508. GET_CUTSCENE_TIME cs_time
  1509. ENDWHILE
  1510.  
  1511. DO_FADE 1500 FADE_OUT
  1512.  
  1513. WHILE NOT HAS_CUTSCENE_FINISHED
  1514. WAIT 0
  1515. ENDWHILE
  1516.  
  1517. CLEAR_PRINTS
  1518.  
  1519. WHILE GET_FADING_STATUS
  1520. WAIT 0
  1521. ENDWHILE
  1522.  
  1523. CLEAR_CUTSCENE
  1524.  
  1525. IF flag_car_fm2_dead = 0
  1526.  
  1527. IF NOT IS_CAR_DEAD car_fm2
  1528. DELETE_CHAR van_driver_fm2
  1529. DELETE_CAR car_fm2
  1530. flag_car_fm2_dead = 0
  1531. ENDIF
  1532.  
  1533. ENDIF
  1534.  
  1535. DELETE_CAR baddie_car_fm2
  1536.  
  1537. SET_CAMERA_BEHIND_PLAYER
  1538.  
  1539. WAIT 500
  1540.  
  1541. DO_FADE 1500 FADE_IN
  1542.  
  1543. SET_CAMERA_BEHIND_PLAYER
  1544.  
  1545. UNLOAD_SPECIAL_CHARACTER 3
  1546. UNLOAD_SPECIAL_CHARACTER 4
  1547. MARK_MODEL_AS_NO_LONGER_NEEDED CAR_COLUMB
  1548. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1
  1549. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2
  1550. MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ3
  1551.  
  1552.  
  1553. // ******************************************END OF CUTSCENE TWO****************************
  1554.  
  1555.  
  1556.  
  1557. // ********************************Kill Curley Bob Stuff************************************
  1558.  
  1559. SWITCH_WIDESCREEN OFF
  1560.  
  1561. RESTORE_CAMERA
  1562.  
  1563. SET_PLAYER_CONTROL player ON
  1564.  
  1565. SET_POLICE_IGNORE_PLAYER player OFF
  1566.  
  1567. CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL2 1493.7 -886.6 -100.0 curley_bob_fm2
  1568.  
  1569. SET_CHAR_HEADING curley_bob_fm2 90.0
  1570.  
  1571. GIVE_WEAPON_TO_CHAR curley_bob_fm2 WEAPONTYPE_SHOTGUN 30000
  1572.  
  1573. SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS curley_bob_fm2 player
  1574.  
  1575. ADD_BLIP_FOR_CHAR curley_bob_fm2 radar_blip_ped2_fm2
  1576.  
  1577. PRINT_NOW ( FM2_8 ) 7000 1 //"Kill Curley Bob for his treachery!"
  1578.  
  1579. WHILE NOT flag_curley_bob_dead_fm2 = 1
  1580.  
  1581. WAIT 0
  1582.  
  1583. IF flag_curley_bob_dead_fm2 = 0
  1584.  
  1585. IF IS_CHAR_DEAD curley_bob_fm2
  1586. flag_curley_bob_dead_fm2 = 1
  1587. ELSE
  1588.  
  1589. IF LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 25.0 25.0 25.0 FALSE
  1590.  
  1591. IF flag_curly_mad_fm2 = 0
  1592. SET_CHAR_OBJ_KILL_PLAYER_ANY_MEANS curley_bob_fm2 player
  1593. flag_curly_mad_fm2 = 1
  1594. ENDIF
  1595.  
  1596. ELSE
  1597. flag_curly_mad_fm2 = 0
  1598. SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS curley_bob_fm2 player
  1599. ENDIF
  1600.  
  1601.  
  1602. IF NOT IS_CHAR_ON_SCREEN curley_bob_fm2
  1603. AND NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player curley_bob_fm2 160.0 160.0 80.0 FALSE
  1604. PRINT_NOW ( FM2_10 ) 5000 1 //"Curly got away!"
  1605. GOTO mission_frankie2_failed
  1606. ENDIF
  1607.  
  1608. ENDIF
  1609.  
  1610. ENDIF
  1611.  
  1612. ENDWHILE
  1613.  
  1614. REMOVE_BLIP radar_blip_ped2_fm2
  1615.  
  1616. }
  1617.  
  1618. GOTO mission_frankie2_passed
  1619.  
  1620.  
  1621.  
  1622. // Mission Frankie2 failed
  1623.  
  1624. mission_frankie2_failed:
  1625.  
  1626. PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!"
  1627. REMOVE_CHAR_ELEGANTLY curley_bob_fm2
  1628. RETURN
  1629.  
  1630.  
  1631.  
  1632. // mission Frankie2 passed
  1633.  
  1634. mission_frankie2_passed:
  1635.  
  1636. flag_frankie_mission2_passed = 1
  1637. REGISTER_MISSION_PASSED ( FM2 )
  1638. PLAYER_MADE_PROGRESS 1
  1639. PRINT_WITH_NUMBER_BIG ( m_pass ) 15000 5000 1 //"Mission Passed!"
  1640. PLAY_MISSION_PASSED_TUNE 1
  1641. ADD_SCORE player 15000
  1642. CLEAR_WANTED_LEVEL player
  1643. START_NEW_SCRIPT frankie_mission2.1_loop
  1644. START_NEW_SCRIPT toni4_pager_loop
  1645.  
  1646. IF flag_toni_mission5_passed = 0
  1647. flag_frankie_switched_off = 1
  1648. REMOVE_BLIP frankie_contact_blip
  1649. ENDIF
  1650.  
  1651. RETURN
  1652.  
  1653.  
  1654.  
  1655. // mission cleanup
  1656.  
  1657. mission_cleanup_frankie2:
  1658.  
  1659. flag_player_on_mission = 0
  1660. flag_player_on_frankie_mission = 0
  1661.  
  1662. IF flag_car_fm2_dead = 0
  1663.  
  1664. IF NOT IS_CAR_DEAD car_fm2
  1665. CHANGE_CAR_LOCK car_fm2 CARLOCK_UNLOCKED
  1666. SET_CAR_ONLY_DAMAGED_BY_PLAYER car_fm2 FALSE
  1667. ENDIF
  1668.  
  1669. ENDIF
  1670. MARK_MODEL_AS_NO_LONGER_NEEDED CAR_TAXI
  1671. MARK_MODEL_AS_NO_LONGER_NEEDED CAR_COLUMB
  1672. MARK_MODEL_AS_NO_LONGER_NEEDED PED_TAXI_DRIVER
  1673. REMOVE_BLIP radar_blip_club_fm2
  1674. REMOVE_BLIP radar_blip_ped1_fm2
  1675. REMOVE_BLIP radar_blip_coord2_fm2
  1676. REMOVE_BLIP radar_blip_car1_fm2
  1677. REMOVE_BLIP radar_blip_car2_fm2
  1678. REMOVE_BLIP radar_blip_ped2_fm2
  1679. SETUP_ZONE_PED_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0
  1680. SETUP_ZONE_PED_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0
  1681. SETUP_ZONE_CAR_INFO PORT_E DAY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  1682. SETUP_ZONE_CAR_INFO PORT_E NIGHT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  1683. CLEAR_ONSCREEN_COUNTER spooked_counter
  1684. MISSION_HAS_FINISHED
  1685. RETURN
Add Comment
Please, Sign In to add comment