Advertisement
R4gn0r0k

kenji5.sc

Oct 11th, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 50.72 KB | None | 0 0
  1. MISSION_START
  2. // *****************************************************************************************
  3. // ******************************* Kenji Mission 5 *************************************
  4. // ******************************* Smack Down *************************************
  5. // *****************************************************************************************
  6. // *** Kenji wants you to hit the Yardies pushing Spank for the Cartel. They're dotted ***
  7. // *** about Liberty dealing in gangs or from vehicles. The player must race round the ***
  8. // *** city splattering and killing all the dealers within a time limit. Occasionally ***
  9. // *** they may have a 'backup vehicle' that will give chase to make the mission harder. ***
  10. // *****************************************************************************************
  11.  
  12. // Mission start stuff
  13.  
  14. GOSUB mission_start_kenji5
  15.  
  16. IF HAS_DEATHARREST_BEEN_EXECUTED
  17. GOSUB mission_kenji5_failed
  18. ENDIF
  19.  
  20. GOSUB mission_cleanup_kenji5
  21.  
  22. MISSION_END
  23.  
  24. // Variables For Mission
  25.  
  26. VAR_INT number_of_peds ped_2_exists ped_2_blip ped_2 delete_oldest_ped_time on_screen_counter_flag
  27. VAR_INT ped_3_exists ped_3_blip ped_3 ped_4_exists ped_4_blip ped_4 dead_peds minimum_kills reward_kills
  28. VAR_INT ped_1_time ped_2_time ped_3_time ped_4_time oldest_ped_time oldest_ped random_direction
  29. VAR_INT ped_1_blip ped_1_exists ped_1
  30. VAR_INT ped_5_blip ped_5_exists ped_5 ped_5_time
  31. VAR_INT ped_6_blip ped_6_exists ped_6 ped_6_time
  32. VAR_INT ped_7_blip ped_7_exists ped_7 ped_7_time cs_yakuza2
  33. VAR_INT ped_8_blip ped_8_exists ped_8 ped_8_time
  34. VAR_INT ped_9_blip ped_9_exists ped_9 ped_9_time
  35. VAR_INT ped_10_blip ped_10_exists ped_10 ped_10_time
  36. VAR_INT ped_11_blip ped_11_exists ped_11 ped_11_time
  37. VAR_INT ped_12_blip ped_12_exists ped_12 ped_12_time
  38. VAR_INT ped_13_blip ped_13_exists ped_13 ped_13_time
  39. VAR_INT ped_14_blip ped_14_exists ped_14 ped_14_time
  40. VAR_INT ped_15_blip ped_15_exists ped_15 ped_15_time
  41.  
  42. VAR_FLOAT ped_15_x ped_15_y ped_15_z
  43. VAR_FLOAT ped_14_x ped_14_y ped_14_z
  44. VAR_FLOAT ped_13_x ped_13_y ped_13_z
  45. VAR_FLOAT ped_12_x ped_12_y ped_12_z
  46. VAR_FLOAT ped_11_x ped_11_y ped_11_z
  47. VAR_FLOAT ped_10_x ped_10_y ped_10_z
  48. VAR_FLOAT ped_9_x ped_9_y ped_9_z
  49. VAR_FLOAT ped_8_x ped_8_y ped_8_z
  50. VAR_FLOAT ped_7_x ped_7_y ped_7_z
  51. VAR_FLOAT ped_6_x ped_6_y ped_6_z
  52. VAR_FLOAT ped_5_x ped_5_y ped_5_z
  53. VAR_FLOAT ped_1_x ped_1_y ped_1_z
  54. VAR_FLOAT ped_2_x ped_2_y ped_2_z ped_3_x ped_3_y ped_3_z
  55. VAR_FLOAT ped_4_x ped_4_y ped_4_z random_commercial_x random_commercial_y garbage_x garbage_y garbage_z
  56. VAR_FLOAT difference_x difference_y sum_diff distance
  57.  
  58. // ****************************************Mission Start************************************
  59.  
  60. mission_start_kenji5:
  61.  
  62. flag_player_on_mission = 1
  63. flag_player_on_kenji_mission = 1
  64.  
  65. REGISTER_MISSION_GIVEN
  66.  
  67. WAIT 0
  68.  
  69. SCRIPT_NAME kenji5
  70.  
  71. number_of_peds = 0
  72. ped_2_exists = 0
  73. delete_oldest_ped_time = 0
  74. on_screen_counter_flag = 0
  75. ped_3_exists = 0
  76. ped_4_exists = 0
  77. dead_peds = 0
  78. minimum_kills = 0
  79. ped_1_time = 0
  80. ped_2_time = 0
  81. ped_3_time = 0
  82. ped_4_time = 0
  83. oldest_ped_time = 0
  84. oldest_ped = 0
  85. random_direction = 0
  86. ped_1_exists = 0
  87. ped_5_exists = 0
  88. ped_5_time = 0
  89. ped_6_exists = 0
  90. ped_6_time = 0
  91. ped_7_exists = 0
  92. ped_7_time = 0
  93. ped_8_exists = 0
  94. ped_8_time = 0
  95. ped_9_exists = 0
  96. ped_9_time = 0
  97. ped_10_exists = 0
  98. ped_10_time = 0
  99. ped_11_exists = 0
  100. ped_11_time = 0
  101. ped_12_exists = 0
  102. ped_12_time = 0
  103. ped_13_exists = 0
  104. ped_13_time = 0
  105. ped_14_exists = 0
  106. ped_14_time = 0
  107. ped_15_exists = 0
  108. ped_15_time = 0
  109.  
  110. minimum_kills = 8
  111. {
  112. // ****************************************START OF CUTSCENE********************************
  113.  
  114. /*
  115. SET_FADING_COLOUR 0 0 0
  116.  
  117. DO_FADE 1500 FADE_OUT
  118.  
  119. IF CAN_PLAYER_START_MISSION player
  120. MAKE_PLAYER_SAFE_FOR_CUTSCENE player
  121. ELSE
  122. GOTO mission_kenji5_failed
  123. ENDIF
  124.  
  125. SWITCH_STREAMING OFF
  126.  
  127. PRINT_BIG KM5 15000 2 // "SMACK DOWN"
  128. */
  129.  
  130. LOAD_SPECIAL_CHARACTER 1 KENJI
  131. REQUEST_MODEL PED_GANG_YAKUZA_A
  132. REQUEST_MODEL PED_GANG_YAKUZA_B
  133. REQUEST_MODEL PED_GANG_YARDIE_A
  134. LOAD_SPECIAL_MODEL cut_obj1 KENJIH
  135. REQUEST_MODEL casino_garden
  136.  
  137. /*
  138. WHILE GET_FADING_STATUS
  139. WAIT 0
  140. ENDWHILE
  141. */
  142.  
  143. LOAD_ALL_MODELS_NOW
  144.  
  145. WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1
  146. OR NOT HAS_MODEL_LOADED PED_GANG_YAKUZA_A
  147. OR NOT HAS_MODEL_LOADED PED_GANG_YAKUZA_B
  148. OR NOT HAS_MODEL_LOADED cut_obj1
  149. OR NOT HAS_MODEL_LOADED casino_garden
  150. WAIT 0
  151. ENDWHILE
  152.  
  153. LOAD_CUTSCENE K5_SD
  154.  
  155. SET_CUTSCENE_OFFSET 476.380 -1382.168 67.347
  156.  
  157. CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player
  158. SET_CUTSCENE_ANIM cs_player player
  159.  
  160. CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_kenji
  161. SET_CUTSCENE_ANIM cs_kenji kenji
  162.  
  163. CREATE_CUTSCENE_OBJECT PED_GANG_YAKUZA_A cs_yakuza
  164. SET_CUTSCENE_ANIM cs_yakuza gang07
  165.  
  166. CREATE_CUTSCENE_OBJECT PED_GANG_YAKUZA_B cs_yakuza2
  167. SET_CUTSCENE_ANIM cs_yakuza2 gang08
  168.  
  169. CREATE_CUTSCENE_HEAD cs_kenji cut_obj1 cs_kenjihead
  170. SET_CUTSCENE_HEAD_ANIM cs_kenjihead kenji
  171.  
  172. //CREATE_CUTSCENE_HEAD cs_player cut_obj2 cs_playerhead
  173. //SET_CUTSCENE_HEAD_ANIM cs_playerhead player
  174.  
  175. CLEAR_AREA 459.1 -1413.0 25.11 1.0 TRUE
  176. SET_PLAYER_COORDINATES player 459.1 -1413.0 25.11
  177. SET_PLAYER_HEADING player 132.0
  178.  
  179. DO_FADE 1500 FADE_IN
  180.  
  181. SWITCH_RUBBISH OFF
  182.  
  183. START_CUTSCENE
  184.  
  185. // Displays cutscene text
  186.  
  187. GET_CUTSCENE_TIME cs_time
  188.  
  189. WHILE cs_time < 6121
  190. WAIT 0
  191. GET_CUTSCENE_TIME cs_time
  192. ENDWHILE
  193.  
  194. PRINT_NOW KM5_A 7000 1 //"YOU! How fitting you should choose this moment to show your worthless face!"
  195.  
  196. WHILE cs_time < 11088
  197. WAIT 0
  198. GET_CUTSCENE_TIME cs_time
  199. ENDWHILE
  200.  
  201. PRINT_NOW KM5_B 7000 1 //"It would appear your attempts to dissuade the Jamaicans"
  202.  
  203. WHILE cs_time < 13770
  204. WAIT 0
  205. GET_CUTSCENE_TIME cs_time
  206. ENDWHILE
  207.  
  208. PRINT_NOW KM5_B1 7000 1 //"from becoming bed fellows with the Cartel were wholly inadequate!"
  209.  
  210. WHILE cs_time < 17324
  211. WAIT 0
  212. GET_CUTSCENE_TIME cs_time
  213. ENDWHILE
  214.  
  215. PRINT_NOW KM5_C 7000 1 //"Yardie pushers line Liberty's streets selling packets of SPANK like they were selling hotdogs!"
  216.  
  217. WHILE cs_time < 22060
  218. WAIT 0
  219. GET_CUTSCENE_TIME cs_time
  220. ENDWHILE
  221.  
  222. PRINT_NOW KM5_D 7000 1 //"Those Cartel pigs are laughing at us, at me!"
  223.  
  224. WHILE cs_time < 24716
  225. WAIT 0
  226. GET_CUTSCENE_TIME cs_time
  227. ENDWHILE
  228.  
  229. PRINT_NOW KM5_E 7000 1 //"I will give you one last chance to prove my sister's faith in you to be well founded!"
  230.  
  231. WHILE cs_time < 29220
  232. WAIT 0
  233. GET_CUTSCENE_TIME cs_time
  234. ENDWHILE
  235.  
  236. PRINT_NOW KM5_F 7000 1 //"Run these scumbags into the ground and wash your shame in rivers of our enemies' blood!!!"
  237.  
  238. WHILE cs_time < 33666
  239. WAIT 0
  240. GET_CUTSCENE_TIME cs_time
  241. ENDWHILE
  242.  
  243. DO_FADE 1500 FADE_OUT
  244.  
  245. WHILE NOT HAS_CUTSCENE_FINISHED
  246. WAIT 0
  247. ENDWHILE
  248.  
  249. CLEAR_PRINTS
  250.  
  251. WHILE GET_FADING_STATUS
  252. WAIT 0
  253. ENDWHILE
  254.  
  255. CLEAR_CUTSCENE
  256.  
  257. SWITCH_STREAMING ON
  258.  
  259. SWITCH_RUBBISH ON
  260.  
  261. DO_FADE 1500 FADE_IN
  262.  
  263. SET_CAMERA_IN_FRONT_OF_PLAYER
  264.  
  265. //SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor TRUE
  266.  
  267. UNLOAD_SPECIAL_CHARACTER 1
  268. MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_YAKUZA_A
  269. MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_YAKUZA_B
  270. MARK_MODEL_AS_NO_LONGER_NEEDED cut_obj1
  271. MARK_MODEL_AS_NO_LONGER_NEEDED casino_garden
  272.  
  273. // *******************************************END OF CUTSCENE*******************************
  274.  
  275.  
  276. WHILE NOT HAS_MODEL_LOADED PED_GANG_YARDIE_A
  277. WAIT 0
  278. ENDWHILE
  279.  
  280. GOTO main_part_of_script
  281.  
  282. create_random_ped://///////////////////////////////////////////////////////////////////////////
  283.  
  284. IF delete_oldest_ped_time > 10000
  285. delete_oldest_ped_time = delete_oldest_ped_time - 5000
  286. ENDIF
  287.  
  288. IF ped_1_exists = 0
  289. generate_coord_ped_1:
  290. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  291. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  292. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  293. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_1_x ped_1_y ped_1_z
  294. difference_x = garbage_x - ped_1_x
  295. difference_y = garbage_y - ped_1_y
  296. difference_x = difference_x * difference_x
  297. difference_y = difference_y * difference_y
  298. sum_diff = difference_x + difference_y
  299. SQRT sum_diff distance
  300. IF distance < 110.0
  301. GOTO generate_coord_ped_1
  302. ENDIF
  303. ADD_BLIP_FOR_COORD_OLD ped_1_x ped_1_y ped_1_z GREEN BLIP_ONLY ped_1_blip
  304. CHANGE_BLIP_SCALE ped_1_blip 3
  305. ped_1_exists = 1
  306. GET_GAME_TIMER ped_1_time
  307. ++ number_of_peds
  308. RETURN
  309. ENDIF
  310.  
  311. IF ped_2_exists = 0
  312. generate_coord_ped_2:
  313. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  314. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  315. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  316. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_2_x ped_2_y ped_2_z
  317. difference_x = garbage_x - ped_2_x
  318. difference_y = garbage_y - ped_2_y
  319. difference_x = difference_x * difference_x
  320. difference_y = difference_y * difference_y
  321. sum_diff = difference_x + difference_y
  322. SQRT sum_diff distance
  323. IF distance < 110.0
  324. GOTO generate_coord_ped_2
  325. ENDIF
  326. ADD_BLIP_FOR_COORD_OLD ped_2_x ped_2_y ped_2_z GREEN BLIP_ONLY ped_2_blip
  327. CHANGE_BLIP_SCALE ped_2_blip 3
  328. ped_2_exists = 1
  329. GET_GAME_TIMER ped_2_time
  330. ++ number_of_peds
  331. RETURN
  332. ENDIF
  333.  
  334. IF ped_3_exists = 0
  335. generate_coord_ped_3:
  336. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  337. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  338. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  339. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_3_x ped_3_y ped_3_z
  340. difference_x = garbage_x - ped_3_x
  341. difference_y = garbage_y - ped_3_y
  342. difference_x = difference_x * difference_x
  343. difference_y = difference_y * difference_y
  344. sum_diff = difference_x + difference_y
  345. SQRT sum_diff distance
  346. IF distance < 110.0
  347. GOTO generate_coord_ped_3
  348. ENDIF
  349. ADD_BLIP_FOR_COORD_OLD ped_3_x ped_3_y ped_3_z GREEN BLIP_ONLY ped_3_blip
  350. CHANGE_BLIP_SCALE ped_3_blip 3
  351. ped_3_exists = 1
  352. GET_GAME_TIMER ped_3_time
  353. ++ number_of_peds
  354. RETURN
  355. ENDIF
  356.  
  357. IF ped_4_exists = 0
  358. generate_coord_ped_4:
  359. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  360. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  361. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  362. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_4_x ped_4_y ped_4_z
  363. difference_x = garbage_x - ped_4_x
  364. difference_y = garbage_y - ped_4_y
  365. difference_x = difference_x * difference_x
  366. difference_y = difference_y * difference_y
  367. sum_diff = difference_x + difference_y
  368. SQRT sum_diff distance
  369. IF distance < 110.0
  370. GOTO generate_coord_ped_4
  371. ENDIF
  372. ADD_BLIP_FOR_COORD_OLD ped_4_x ped_4_y ped_4_z GREEN BLIP_ONLY ped_4_blip
  373. CHANGE_BLIP_SCALE ped_4_blip 3
  374. ped_4_exists = 1
  375. GET_GAME_TIMER ped_4_time
  376. ++ number_of_peds
  377. RETURN
  378. ENDIF
  379.  
  380. IF ped_5_exists = 0
  381. generate_coord_ped_5:
  382. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  383. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  384. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  385. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_5_x ped_5_y ped_5_z
  386. difference_x = garbage_x - ped_5_x
  387. difference_y = garbage_y - ped_5_y
  388. difference_x = difference_x * difference_x
  389. difference_y = difference_y * difference_y
  390. sum_diff = difference_x + difference_y
  391. SQRT sum_diff distance
  392. IF distance < 110.0
  393. GOTO generate_coord_ped_5
  394. ENDIF
  395. ADD_BLIP_FOR_COORD_OLD ped_5_x ped_5_y ped_5_z GREEN BLIP_ONLY ped_5_blip
  396. CHANGE_BLIP_SCALE ped_5_blip 3
  397. ped_5_exists = 1
  398. GET_GAME_TIMER ped_5_time
  399. ++ number_of_peds
  400. RETURN
  401. ENDIF
  402.  
  403. IF ped_6_exists = 0
  404. generate_coord_ped_6:
  405. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  406. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  407. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  408. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_6_x ped_6_y ped_6_z
  409. difference_x = garbage_x - ped_6_x
  410. difference_y = garbage_y - ped_6_y
  411. difference_x = difference_x * difference_x
  412. difference_y = difference_y * difference_y
  413. sum_diff = difference_x + difference_y
  414. SQRT sum_diff distance
  415. IF distance < 110.0
  416. GOTO generate_coord_ped_6
  417. ENDIF
  418. ADD_BLIP_FOR_COORD_OLD ped_6_x ped_6_y ped_6_z GREEN BLIP_ONLY ped_6_blip
  419. CHANGE_BLIP_SCALE ped_6_blip 3
  420. ped_6_exists = 1
  421. GET_GAME_TIMER ped_6_time
  422. ++ number_of_peds
  423. RETURN
  424. ENDIF
  425.  
  426. IF ped_7_exists = 0
  427. generate_coord_ped_7:
  428. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  429. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  430. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  431. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_7_x ped_7_y ped_7_z
  432. difference_x = garbage_x - ped_7_x
  433. difference_y = garbage_y - ped_7_y
  434. difference_x = difference_x * difference_x
  435. difference_y = difference_y * difference_y
  436. sum_diff = difference_x + difference_y
  437. SQRT sum_diff distance
  438. IF distance < 110.0
  439. GOTO generate_coord_ped_7
  440. ENDIF
  441. ADD_BLIP_FOR_COORD_OLD ped_7_x ped_7_y ped_7_z GREEN BLIP_ONLY ped_7_blip
  442. CHANGE_BLIP_SCALE ped_7_blip 3
  443. ped_7_exists = 1
  444. GET_GAME_TIMER ped_7_time
  445. ++ number_of_peds
  446. RETURN
  447. ENDIF
  448.  
  449. IF ped_8_exists = 0
  450. generate_coord_ped_8:
  451. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  452. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  453. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  454. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_8_x ped_8_y ped_8_z
  455. difference_x = garbage_x - ped_8_x
  456. difference_y = garbage_y - ped_8_y
  457. difference_x = difference_x * difference_x
  458. difference_y = difference_y * difference_y
  459. sum_diff = difference_x + difference_y
  460. SQRT sum_diff distance
  461. IF distance < 110.0
  462. GOTO generate_coord_ped_8
  463. ENDIF
  464. ADD_BLIP_FOR_COORD_OLD ped_8_x ped_8_y ped_8_z GREEN BLIP_ONLY ped_8_blip
  465. CHANGE_BLIP_SCALE ped_8_blip 3
  466. ped_8_exists = 1
  467. GET_GAME_TIMER ped_8_time
  468. ++ number_of_peds
  469. RETURN
  470. ENDIF
  471.  
  472. IF ped_9_exists = 0
  473. generate_coord_ped_9:
  474. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  475. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  476. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  477. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_9_x ped_9_y ped_9_z
  478. difference_x = garbage_x - ped_9_x
  479. difference_y = garbage_y - ped_9_y
  480. difference_x = difference_x * difference_x
  481. difference_y = difference_y * difference_y
  482. sum_diff = difference_x + difference_y
  483. SQRT sum_diff distance
  484. IF distance < 110.0
  485. GOTO generate_coord_ped_9
  486. ENDIF
  487. ADD_BLIP_FOR_COORD_OLD ped_9_x ped_9_y ped_9_z GREEN BLIP_ONLY ped_9_blip
  488. CHANGE_BLIP_SCALE ped_9_blip 3
  489. ped_9_exists = 1
  490. GET_GAME_TIMER ped_9_time
  491. ++ number_of_peds
  492. RETURN
  493. ENDIF
  494.  
  495. IF ped_10_exists = 0
  496. generate_coord_ped_10:
  497. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  498. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  499. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  500. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_10_x ped_10_y ped_10_z
  501. difference_x = garbage_x - ped_10_x
  502. difference_y = garbage_y - ped_10_y
  503. difference_x = difference_x * difference_x
  504. difference_y = difference_y * difference_y
  505. sum_diff = difference_x + difference_y
  506. SQRT sum_diff distance
  507. IF distance < 110.0
  508. GOTO generate_coord_ped_10
  509. ENDIF
  510. ADD_BLIP_FOR_COORD_OLD ped_10_x ped_10_y ped_10_z GREEN BLIP_ONLY ped_10_blip
  511. CHANGE_BLIP_SCALE ped_10_blip 3
  512. ped_10_exists = 1
  513. GET_GAME_TIMER ped_10_time
  514. ++ number_of_peds
  515. RETURN
  516. ENDIF
  517.  
  518. IF ped_11_exists = 0
  519. generate_coord_ped_11:
  520. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  521. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  522. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  523. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_11_x ped_11_y ped_11_z
  524. difference_x = garbage_x - ped_11_x
  525. difference_y = garbage_y - ped_11_y
  526. difference_x = difference_x * difference_x
  527. difference_y = difference_y * difference_y
  528. sum_diff = difference_x + difference_y
  529. SQRT sum_diff distance
  530. IF distance < 110.0
  531. GOTO generate_coord_ped_11
  532. ENDIF
  533. ADD_BLIP_FOR_COORD_OLD ped_11_x ped_11_y ped_11_z GREEN BLIP_ONLY ped_11_blip
  534. CHANGE_BLIP_SCALE ped_11_blip 3
  535. ped_11_exists = 1
  536. GET_GAME_TIMER ped_11_time
  537. ++ number_of_peds
  538. RETURN
  539. ENDIF
  540.  
  541. IF ped_12_exists = 0
  542. generate_coord_ped_12:
  543. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  544. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  545. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  546. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_12_x ped_12_y ped_12_z
  547. difference_x = garbage_x - ped_12_x
  548. difference_y = garbage_y - ped_12_y
  549. difference_x = difference_x * difference_x
  550. difference_y = difference_y * difference_y
  551. sum_diff = difference_x + difference_y
  552. SQRT sum_diff distance
  553. IF distance < 110.0
  554. GOTO generate_coord_ped_12
  555. ENDIF
  556. ADD_BLIP_FOR_COORD_OLD ped_12_x ped_12_y ped_12_z GREEN BLIP_ONLY ped_12_blip
  557. CHANGE_BLIP_SCALE ped_12_blip 3
  558. ped_12_exists = 1
  559. GET_GAME_TIMER ped_12_time
  560. ++ number_of_peds
  561. RETURN
  562. ENDIF
  563.  
  564. IF ped_13_exists = 0
  565. generate_coord_ped_13:
  566. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  567. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  568. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  569. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_13_x ped_13_y ped_13_z
  570. difference_x = garbage_x - ped_13_x
  571. difference_y = garbage_y - ped_13_y
  572. difference_x = difference_x * difference_x
  573. difference_y = difference_y * difference_y
  574. sum_diff = difference_x + difference_y
  575. SQRT sum_diff distance
  576. IF distance < 110.0
  577. GOTO generate_coord_ped_13
  578. ENDIF
  579. ADD_BLIP_FOR_COORD_OLD ped_13_x ped_13_y ped_13_z GREEN BLIP_ONLY ped_13_blip
  580. CHANGE_BLIP_SCALE ped_13_blip 3
  581. ped_13_exists = 1
  582. GET_GAME_TIMER ped_13_time
  583. ++ number_of_peds
  584. RETURN
  585. ENDIF
  586.  
  587. IF ped_14_exists = 0
  588. generate_coord_ped_14:
  589. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  590. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  591. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  592. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_14_x ped_14_y ped_14_z
  593. difference_x = garbage_x - ped_14_x
  594. difference_y = garbage_y - ped_14_y
  595. difference_x = difference_x * difference_x
  596. difference_y = difference_y * difference_y
  597. sum_diff = difference_x + difference_y
  598. SQRT sum_diff distance
  599. IF distance < 110.0
  600. GOTO generate_coord_ped_14
  601. ENDIF
  602. ADD_BLIP_FOR_COORD_OLD ped_14_x ped_14_y ped_14_z GREEN BLIP_ONLY ped_14_blip
  603. CHANGE_BLIP_SCALE ped_14_blip 3
  604. ped_14_exists = 1
  605. GET_GAME_TIMER ped_14_time
  606. ++ number_of_peds
  607. RETURN
  608. ENDIF
  609.  
  610. IF ped_15_exists = 0
  611. generate_coord_ped_15:
  612. GENERATE_RANDOM_FLOAT_IN_RANGE -173.0 460.0 random_commercial_x
  613. GENERATE_RANDOM_FLOAT_IN_RANGE -1627.0 100.0 random_commercial_y
  614. GET_PLAYER_COORDINATES player garbage_x garbage_y garbage_z
  615. GET_CLOSEST_CHAR_NODE random_commercial_x random_commercial_y garbage_z ped_15_x ped_15_y ped_15_z
  616. difference_x = garbage_x - ped_15_x
  617. difference_y = garbage_y - ped_15_y
  618. difference_x = difference_x * difference_x
  619. difference_y = difference_y * difference_y
  620. sum_diff = difference_x + difference_y
  621. SQRT sum_diff distance
  622. IF distance < 110.0
  623. GOTO generate_coord_ped_15
  624. ENDIF
  625. ADD_BLIP_FOR_COORD_OLD ped_15_x ped_15_y ped_15_z GREEN BLIP_ONLY ped_15_blip
  626. CHANGE_BLIP_SCALE ped_15_blip 3
  627. ped_15_exists = 1
  628. GET_GAME_TIMER ped_15_time
  629. ++ number_of_peds
  630. RETURN
  631. ENDIF
  632.  
  633. RETURN
  634.  
  635.  
  636. main_part_of_script:///////////////////////////////////////////////////////////////////////////
  637.  
  638. ped_1_x = 39.3
  639. ped_1_y = -880.6
  640. ped_1_z = 34.0
  641.  
  642. ped_2_x = -55.4331
  643. ped_2_y = -974.3467
  644. ped_2_z = 25.4
  645.  
  646. delete_oldest_ped_time = 80000
  647.  
  648. ADD_BLIP_FOR_COORD_OLD ped_1_x ped_1_y ped_1_z GREEN BLIP_ONLY ped_1_blip
  649. CHANGE_BLIP_SCALE ped_1_blip 3
  650.  
  651. ADD_BLIP_FOR_COORD_OLD ped_2_x ped_2_y ped_2_z GREEN BLIP_ONLY ped_2_blip
  652. CHANGE_BLIP_SCALE ped_2_blip 3
  653.  
  654. PRINT_NOW KM5_6 5000 1 //"You must murder at least 8 Yardie dealers."
  655. PRINT_SOON KM5_7 6000 1 //"Kill them quickly! Once they've pushed their SPANK they're off the streets."
  656.  
  657. DISPLAY_ONSCREEN_COUNTER_WITH_STRING dead_peds COUNTER_DISPLAY_NUMBER KILLS
  658.  
  659. ped_1_exists = 1
  660. ped_2_exists = 1
  661. number_of_peds = 2
  662. TIMERA = 0
  663.  
  664. WHILE number_of_peds > 0
  665.  
  666. WAIT 0
  667.  
  668. IF dead_peds > 0
  669. IF TIMERA > delete_oldest_ped_time
  670. TIMERA = 0
  671. GOSUB delete_oldest_ped
  672. ENDIF
  673. ENDIF
  674.  
  675. IF ped_1_exists > 0
  676. IF ped_1_exists = 1
  677. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_1_x ped_1_y 90.0 90.0 0
  678. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_1_x ped_1_y ped_1_z ped_1
  679. GIVE_WEAPON_TO_CHAR ped_1 WEAPONTYPE_UZI 999
  680. SET_CHAR_PERSONALITY ped_1 PEDSTAT_TOUGH_GUY
  681. SET_CHAR_THREAT_SEARCH ped_1 THREAT_GUN
  682. SET_CHAR_THREAT_SEARCH ped_1 THREAT_FAST_CAR
  683. SET_CHAR_THREAT_SEARCH ped_1 THREAT_PLAYER1
  684. SET_CHAR_THREAT_SEARCH ped_1 THREAT_PLAYER2
  685. SET_CHAR_THREAT_SEARCH ped_1 THREAT_PLAYER3
  686. SET_CHAR_THREAT_SEARCH ped_1 THREAT_PLAYER4
  687. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_1 TRUE
  688. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  689. CHAR_WANDER_DIR ped_1 random_direction
  690. REMOVE_BLIP ped_1_blip
  691. ADD_BLIP_FOR_CHAR_OLD ped_1 GREEN BOTH ped_1_blip
  692. CHANGE_BLIP_SCALE ped_1_blip 3
  693. ped_1_exists = 2
  694. ENDIF
  695. ENDIF
  696. IF ped_1_exists = 2
  697. IF IS_CHAR_DEAD ped_1
  698. REMOVE_BLIP ped_1_blip
  699. MARK_CHAR_AS_NO_LONGER_NEEDED ped_1
  700. ped_1_exists = 0
  701. ++ dead_peds
  702. -- number_of_peds
  703. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  704. IF on_screen_counter_flag = 0
  705. PRINT_SOON KM5_7 6000 1 //"Kill them quickly! Once they've pushed their SPANK they're off the streets."
  706. TIMERA = 0
  707. on_screen_counter_flag = 1
  708. ENDIF
  709. GOSUB create_random_ped
  710. GOSUB create_random_ped
  711. ENDIF
  712. IF ped_1_exists = 2
  713. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_1 90.0 90.0 0
  714. GET_CHAR_COORDINATES ped_1 ped_1_x ped_1_y ped_1_z
  715. REMOVE_BLIP ped_1_blip
  716. ADD_BLIP_FOR_COORD_OLD ped_1_x ped_1_y ped_1_z GREEN BLIP_ONLY ped_1_blip
  717. CHANGE_BLIP_SCALE ped_1_blip 3
  718. DELETE_CHAR ped_1
  719. ped_1_exists = 1
  720. ENDIF
  721. ENDIF
  722. ENDIF
  723. ENDIF
  724.  
  725. IF ped_2_exists > 0
  726. IF ped_2_exists = 1
  727. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_2_x ped_2_y 90.0 90.0 0
  728. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_2_x ped_2_y ped_2_z ped_2
  729. GIVE_WEAPON_TO_CHAR ped_2 WEAPONTYPE_UZI 999
  730. SET_CHAR_PERSONALITY ped_2 PEDSTAT_TOUGH_GUY
  731. SET_CHAR_THREAT_SEARCH ped_2 THREAT_GUN
  732. SET_CHAR_THREAT_SEARCH ped_2 THREAT_FAST_CAR
  733. SET_CHAR_THREAT_SEARCH ped_2 THREAT_PLAYER1
  734. SET_CHAR_THREAT_SEARCH ped_2 THREAT_PLAYER2
  735. SET_CHAR_THREAT_SEARCH ped_2 THREAT_PLAYER3
  736. SET_CHAR_THREAT_SEARCH ped_2 THREAT_PLAYER4
  737. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_2 TRUE
  738. REMOVE_BLIP ped_2_blip
  739. ADD_BLIP_FOR_CHAR_OLD ped_2 GREEN BOTH ped_2_blip
  740. CHANGE_BLIP_SCALE ped_2_blip 3
  741. ped_2_exists = 2
  742. ENDIF
  743. ENDIF
  744. IF ped_2_exists = 2
  745. IF IS_CHAR_DEAD ped_2
  746. REMOVE_BLIP ped_2_blip
  747. MARK_CHAR_AS_NO_LONGER_NEEDED ped_2
  748. ped_2_exists = 0
  749. ++ dead_peds
  750. -- number_of_peds
  751. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  752. IF on_screen_counter_flag = 0
  753. PRINT_SOON KM5_7 6000 1 //"Kill them quickly! Once they've pushed their SPANK they're off the streets."
  754. TIMERA = 0
  755. on_screen_counter_flag = 1
  756. ENDIF
  757. GOSUB create_random_ped
  758. GOSUB create_random_ped
  759. ENDIF
  760. IF ped_2_exists = 2
  761. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_2 90.0 90.0 0
  762. GET_CHAR_COORDINATES ped_2 ped_2_x ped_2_y ped_2_z
  763. REMOVE_BLIP ped_2_blip
  764. ADD_BLIP_FOR_COORD_OLD ped_2_x ped_2_y ped_2_z GREEN BLIP_ONLY ped_2_blip
  765. CHANGE_BLIP_SCALE ped_2_blip 3
  766. DELETE_CHAR ped_2
  767. ped_2_exists = 1
  768. ENDIF
  769. ENDIF
  770. ENDIF
  771. ENDIF
  772.  
  773. IF ped_3_exists > 0
  774. IF ped_3_exists = 1
  775. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_3_x ped_3_y 90.0 90.0 0
  776. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_3_x ped_3_y ped_3_z ped_3
  777. GIVE_WEAPON_TO_CHAR ped_3 WEAPONTYPE_UZI 999
  778. SET_CHAR_PERSONALITY ped_3 PEDSTAT_TOUGH_GUY
  779. SET_CHAR_THREAT_SEARCH ped_3 THREAT_GUN
  780. SET_CHAR_THREAT_SEARCH ped_3 THREAT_FAST_CAR
  781. SET_CHAR_THREAT_SEARCH ped_3 THREAT_PLAYER1
  782. SET_CHAR_THREAT_SEARCH ped_3 THREAT_PLAYER2
  783. SET_CHAR_THREAT_SEARCH ped_3 THREAT_PLAYER3
  784. SET_CHAR_THREAT_SEARCH ped_3 THREAT_PLAYER4
  785. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_3 TRUE
  786. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  787. CHAR_WANDER_DIR ped_3 random_direction
  788. REMOVE_BLIP ped_3_blip
  789. ADD_BLIP_FOR_CHAR_OLD ped_3 GREEN BOTH ped_3_blip
  790. CHANGE_BLIP_SCALE ped_3_blip 3
  791. ped_3_exists = 2
  792. ENDIF
  793. ENDIF
  794. IF ped_3_exists = 2
  795. IF IS_CHAR_DEAD ped_3
  796. REMOVE_BLIP ped_3_blip
  797. MARK_CHAR_AS_NO_LONGER_NEEDED ped_3
  798. ped_3_exists = 0
  799. ++ dead_peds
  800. -- number_of_peds
  801. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  802. GOSUB create_random_ped
  803. GOSUB create_random_ped
  804. ENDIF
  805. IF ped_3_exists = 2
  806. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_3 90.0 90.0 0
  807. GET_CHAR_COORDINATES ped_3 ped_3_x ped_3_y ped_3_z
  808. REMOVE_BLIP ped_3_blip
  809. ADD_BLIP_FOR_COORD_OLD ped_3_x ped_3_y ped_3_z GREEN BLIP_ONLY ped_3_blip
  810. CHANGE_BLIP_SCALE ped_3_blip 3
  811. DELETE_CHAR ped_3
  812. ped_3_exists = 1
  813. ENDIF
  814. ENDIF
  815. ENDIF
  816. ENDIF
  817.  
  818. IF ped_4_exists > 0
  819. IF ped_4_exists = 1
  820. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_4_x ped_4_y 90.0 90.0 0
  821. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_4_x ped_4_y ped_4_z ped_4
  822. GIVE_WEAPON_TO_CHAR ped_4 WEAPONTYPE_UZI 999
  823. SET_CHAR_PERSONALITY ped_4 PEDSTAT_TOUGH_GUY
  824. SET_CHAR_THREAT_SEARCH ped_4 THREAT_GUN
  825. SET_CHAR_THREAT_SEARCH ped_4 THREAT_FAST_CAR
  826. SET_CHAR_THREAT_SEARCH ped_4 THREAT_PLAYER1
  827. SET_CHAR_THREAT_SEARCH ped_4 THREAT_PLAYER2
  828. SET_CHAR_THREAT_SEARCH ped_4 THREAT_PLAYER3
  829. SET_CHAR_THREAT_SEARCH ped_4 THREAT_PLAYER4
  830. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_4 TRUE
  831. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  832. CHAR_WANDER_DIR ped_4 random_direction
  833. REMOVE_BLIP ped_4_blip
  834. ADD_BLIP_FOR_CHAR_OLD ped_4 GREEN BOTH ped_4_blip
  835. CHANGE_BLIP_SCALE ped_4_blip 3
  836. ped_4_exists = 2
  837. ENDIF
  838. ENDIF
  839. IF ped_4_exists = 2
  840. IF IS_CHAR_DEAD ped_4
  841. REMOVE_BLIP ped_4_blip
  842. MARK_CHAR_AS_NO_LONGER_NEEDED ped_4
  843. ped_4_exists = 0
  844. ++ dead_peds
  845. -- number_of_peds
  846. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  847. GOSUB create_random_ped
  848. GOSUB create_random_ped
  849. ENDIF
  850. IF ped_4_exists = 2
  851. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_4 90.0 90.0 0
  852. GET_CHAR_COORDINATES ped_4 ped_4_x ped_4_y ped_4_z
  853. REMOVE_BLIP ped_4_blip
  854. ADD_BLIP_FOR_COORD_OLD ped_4_x ped_4_y ped_4_z GREEN BLIP_ONLY ped_4_blip
  855. CHANGE_BLIP_SCALE ped_4_blip 3
  856. DELETE_CHAR ped_4
  857. ped_4_exists = 1
  858. ENDIF
  859. ENDIF
  860. ENDIF
  861. ENDIF
  862.  
  863. IF ped_5_exists > 0
  864. IF ped_5_exists = 1
  865. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_5_x ped_5_y 90.0 90.0 0
  866. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_5_x ped_5_y ped_5_z ped_5
  867. GIVE_WEAPON_TO_CHAR ped_5 WEAPONTYPE_UZI 999
  868. SET_CHAR_PERSONALITY ped_5 PEDSTAT_TOUGH_GUY
  869. SET_CHAR_THREAT_SEARCH ped_5 THREAT_GUN
  870. SET_CHAR_THREAT_SEARCH ped_5 THREAT_FAST_CAR
  871. SET_CHAR_THREAT_SEARCH ped_5 THREAT_PLAYER1
  872. SET_CHAR_THREAT_SEARCH ped_5 THREAT_PLAYER2
  873. SET_CHAR_THREAT_SEARCH ped_5 THREAT_PLAYER3
  874. SET_CHAR_THREAT_SEARCH ped_5 THREAT_PLAYER4
  875. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_5 TRUE
  876. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  877. CHAR_WANDER_DIR ped_5 random_direction
  878. REMOVE_BLIP ped_5_blip
  879. ADD_BLIP_FOR_CHAR_OLD ped_5 GREEN BOTH ped_5_blip
  880. CHANGE_BLIP_SCALE ped_5_blip 3
  881. ped_5_exists = 2
  882. ENDIF
  883. ENDIF
  884. IF ped_5_exists = 2
  885. IF IS_CHAR_DEAD ped_5
  886. REMOVE_BLIP ped_5_blip
  887. MARK_CHAR_AS_NO_LONGER_NEEDED ped_5
  888. ped_5_exists = 0
  889. ++ dead_peds
  890. -- number_of_peds
  891. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  892. GOSUB create_random_ped
  893. GOSUB create_random_ped
  894. ENDIF
  895. IF ped_5_exists = 2
  896. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_5 90.0 90.0 0
  897. GET_CHAR_COORDINATES ped_5 ped_5_x ped_5_y ped_5_z
  898. REMOVE_BLIP ped_5_blip
  899. ADD_BLIP_FOR_COORD_OLD ped_5_x ped_5_y ped_5_z GREEN BLIP_ONLY ped_5_blip
  900. CHANGE_BLIP_SCALE ped_5_blip 3
  901. DELETE_CHAR ped_5
  902. ped_5_exists = 1
  903. ENDIF
  904. ENDIF
  905. ENDIF
  906. ENDIF
  907.  
  908. IF ped_6_exists > 0
  909. IF ped_6_exists = 1
  910. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_6_x ped_6_y 90.0 90.0 0
  911. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_6_x ped_6_y ped_6_z ped_6
  912. GIVE_WEAPON_TO_CHAR ped_6 WEAPONTYPE_UZI 999
  913. SET_CHAR_PERSONALITY ped_6 PEDSTAT_TOUGH_GUY
  914. SET_CHAR_THREAT_SEARCH ped_6 THREAT_GUN
  915. SET_CHAR_THREAT_SEARCH ped_6 THREAT_FAST_CAR
  916. SET_CHAR_THREAT_SEARCH ped_6 THREAT_PLAYER1
  917. SET_CHAR_THREAT_SEARCH ped_6 THREAT_PLAYER2
  918. SET_CHAR_THREAT_SEARCH ped_6 THREAT_PLAYER3
  919. SET_CHAR_THREAT_SEARCH ped_6 THREAT_PLAYER4
  920. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_6 TRUE
  921. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  922. CHAR_WANDER_DIR ped_6 random_direction
  923. REMOVE_BLIP ped_6_blip
  924. ADD_BLIP_FOR_CHAR_OLD ped_6 GREEN BOTH ped_6_blip
  925. CHANGE_BLIP_SCALE ped_6_blip 3
  926. ped_6_exists = 2
  927. ENDIF
  928. ENDIF
  929. IF ped_6_exists = 2
  930. IF IS_CHAR_DEAD ped_6
  931. REMOVE_BLIP ped_6_blip
  932. MARK_CHAR_AS_NO_LONGER_NEEDED ped_6
  933. ped_6_exists = 0
  934. ++ dead_peds
  935. -- number_of_peds
  936. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  937. GOSUB create_random_ped
  938. GOSUB create_random_ped
  939. ENDIF
  940. IF ped_6_exists = 2
  941. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_6 90.0 90.0 0
  942. GET_CHAR_COORDINATES ped_6 ped_6_x ped_6_y ped_6_z
  943. REMOVE_BLIP ped_6_blip
  944. ADD_BLIP_FOR_COORD_OLD ped_6_x ped_6_y ped_6_z GREEN BLIP_ONLY ped_6_blip
  945. CHANGE_BLIP_SCALE ped_6_blip 3
  946. DELETE_CHAR ped_6
  947. ped_6_exists = 1
  948. ENDIF
  949. ENDIF
  950. ENDIF
  951. ENDIF
  952.  
  953. IF ped_7_exists > 0
  954. IF ped_7_exists = 1
  955. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_7_x ped_7_y 90.0 90.0 0
  956. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_7_x ped_7_y ped_7_z ped_7
  957. GIVE_WEAPON_TO_CHAR ped_7 WEAPONTYPE_UZI 999
  958. SET_CHAR_PERSONALITY ped_7 PEDSTAT_TOUGH_GUY
  959. SET_CHAR_THREAT_SEARCH ped_7 THREAT_GUN
  960. SET_CHAR_THREAT_SEARCH ped_7 THREAT_FAST_CAR
  961. SET_CHAR_THREAT_SEARCH ped_7 THREAT_PLAYER1
  962. SET_CHAR_THREAT_SEARCH ped_7 THREAT_PLAYER2
  963. SET_CHAR_THREAT_SEARCH ped_7 THREAT_PLAYER3
  964. SET_CHAR_THREAT_SEARCH ped_7 THREAT_PLAYER4
  965. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_7 TRUE
  966. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  967. CHAR_WANDER_DIR ped_7 random_direction
  968. REMOVE_BLIP ped_7_blip
  969. ADD_BLIP_FOR_CHAR_OLD ped_7 GREEN BOTH ped_7_blip
  970. CHANGE_BLIP_SCALE ped_7_blip 3
  971. ped_7_exists = 2
  972. ENDIF
  973. ENDIF
  974. IF ped_7_exists = 2
  975. IF IS_CHAR_DEAD ped_7
  976. REMOVE_BLIP ped_7_blip
  977. MARK_CHAR_AS_NO_LONGER_NEEDED ped_7
  978. ped_7_exists = 0
  979. ++ dead_peds
  980. -- number_of_peds
  981. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  982. GOSUB create_random_ped
  983. GOSUB create_random_ped
  984. ENDIF
  985. IF ped_7_exists = 2
  986. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_7 90.0 90.0 0
  987. GET_CHAR_COORDINATES ped_7 ped_7_x ped_7_y ped_7_z
  988. REMOVE_BLIP ped_7_blip
  989. ADD_BLIP_FOR_COORD_OLD ped_7_x ped_7_y ped_7_z GREEN BLIP_ONLY ped_7_blip
  990. CHANGE_BLIP_SCALE ped_7_blip 3
  991. DELETE_CHAR ped_7
  992. ped_7_exists = 1
  993. ENDIF
  994. ENDIF
  995. ENDIF
  996. ENDIF
  997.  
  998. IF ped_8_exists > 0
  999. IF ped_8_exists = 1
  1000. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_8_x ped_8_y 90.0 90.0 0
  1001. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_8_x ped_8_y ped_8_z ped_8
  1002. GIVE_WEAPON_TO_CHAR ped_8 WEAPONTYPE_UZI 999
  1003. SET_CHAR_PERSONALITY ped_8 PEDSTAT_TOUGH_GUY
  1004. SET_CHAR_THREAT_SEARCH ped_8 THREAT_GUN
  1005. SET_CHAR_THREAT_SEARCH ped_8 THREAT_FAST_CAR
  1006. SET_CHAR_THREAT_SEARCH ped_8 THREAT_PLAYER1
  1007. SET_CHAR_THREAT_SEARCH ped_8 THREAT_PLAYER2
  1008. SET_CHAR_THREAT_SEARCH ped_8 THREAT_PLAYER3
  1009. SET_CHAR_THREAT_SEARCH ped_8 THREAT_PLAYER4
  1010. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_8 TRUE
  1011. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  1012. CHAR_WANDER_DIR ped_8 random_direction
  1013. REMOVE_BLIP ped_8_blip
  1014. ADD_BLIP_FOR_CHAR_OLD ped_8 GREEN BOTH ped_8_blip
  1015. CHANGE_BLIP_SCALE ped_8_blip 3
  1016. ped_8_exists = 2
  1017. ENDIF
  1018. ENDIF
  1019. IF ped_8_exists = 2
  1020. IF IS_CHAR_DEAD ped_8
  1021. REMOVE_BLIP ped_8_blip
  1022. MARK_CHAR_AS_NO_LONGER_NEEDED ped_8
  1023. ped_8_exists = 0
  1024. ++ dead_peds
  1025. -- number_of_peds
  1026. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  1027. GOSUB create_random_ped
  1028. GOSUB create_random_ped
  1029. ENDIF
  1030. IF ped_8_exists = 2
  1031. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_8 90.0 90.0 0
  1032. GET_CHAR_COORDINATES ped_8 ped_8_x ped_8_y ped_8_z
  1033. REMOVE_BLIP ped_8_blip
  1034. ADD_BLIP_FOR_COORD_OLD ped_8_x ped_8_y ped_8_z GREEN BLIP_ONLY ped_8_blip
  1035. CHANGE_BLIP_SCALE ped_8_blip 3
  1036. DELETE_CHAR ped_8
  1037. ped_8_exists = 1
  1038. ENDIF
  1039. ENDIF
  1040. ENDIF
  1041. ENDIF
  1042.  
  1043. IF ped_9_exists > 0
  1044. IF ped_9_exists = 1
  1045. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_9_x ped_9_y 90.0 90.0 0
  1046. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_9_x ped_9_y ped_9_z ped_9
  1047. GIVE_WEAPON_TO_CHAR ped_9 WEAPONTYPE_UZI 999
  1048. SET_CHAR_PERSONALITY ped_9 PEDSTAT_TOUGH_GUY
  1049. SET_CHAR_THREAT_SEARCH ped_9 THREAT_GUN
  1050. SET_CHAR_THREAT_SEARCH ped_9 THREAT_FAST_CAR
  1051. SET_CHAR_THREAT_SEARCH ped_9 THREAT_PLAYER1
  1052. SET_CHAR_THREAT_SEARCH ped_9 THREAT_PLAYER2
  1053. SET_CHAR_THREAT_SEARCH ped_9 THREAT_PLAYER3
  1054. SET_CHAR_THREAT_SEARCH ped_9 THREAT_PLAYER4
  1055. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_9 TRUE
  1056. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  1057. CHAR_WANDER_DIR ped_9 random_direction
  1058. REMOVE_BLIP ped_9_blip
  1059. ADD_BLIP_FOR_CHAR_OLD ped_9 GREEN BOTH ped_9_blip
  1060. CHANGE_BLIP_SCALE ped_9_blip 3
  1061. ped_9_exists = 2
  1062. ENDIF
  1063. ENDIF
  1064. IF ped_9_exists = 2
  1065. IF IS_CHAR_DEAD ped_9
  1066. REMOVE_BLIP ped_9_blip
  1067. MARK_CHAR_AS_NO_LONGER_NEEDED ped_9
  1068. ped_9_exists = 0
  1069. ++ dead_peds
  1070. -- number_of_peds
  1071. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  1072. GOSUB create_random_ped
  1073. GOSUB create_random_ped
  1074. ENDIF
  1075. IF ped_9_exists = 2
  1076. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_9 90.0 90.0 0
  1077. GET_CHAR_COORDINATES ped_9 ped_9_x ped_9_y ped_9_z
  1078. REMOVE_BLIP ped_9_blip
  1079. ADD_BLIP_FOR_COORD_OLD ped_9_x ped_9_y ped_9_z GREEN BLIP_ONLY ped_9_blip
  1080. CHANGE_BLIP_SCALE ped_9_blip 3
  1081. DELETE_CHAR ped_9
  1082. ped_9_exists = 1
  1083. ENDIF
  1084. ENDIF
  1085. ENDIF
  1086. ENDIF
  1087.  
  1088. IF ped_10_exists > 0
  1089. IF ped_10_exists = 1
  1090. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_10_x ped_10_y 90.0 90.0 0
  1091. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_10_x ped_10_y ped_10_z ped_10
  1092. GIVE_WEAPON_TO_CHAR ped_10 WEAPONTYPE_UZI 999
  1093. SET_CHAR_PERSONALITY ped_10 PEDSTAT_TOUGH_GUY
  1094. SET_CHAR_THREAT_SEARCH ped_10 THREAT_GUN
  1095. SET_CHAR_THREAT_SEARCH ped_10 THREAT_FAST_CAR
  1096. SET_CHAR_THREAT_SEARCH ped_10 THREAT_PLAYER1
  1097. SET_CHAR_THREAT_SEARCH ped_10 THREAT_PLAYER2
  1098. SET_CHAR_THREAT_SEARCH ped_10 THREAT_PLAYER3
  1099. SET_CHAR_THREAT_SEARCH ped_10 THREAT_PLAYER4
  1100. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_10 TRUE
  1101. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  1102. CHAR_WANDER_DIR ped_10 random_direction
  1103. REMOVE_BLIP ped_10_blip
  1104. ADD_BLIP_FOR_CHAR_OLD ped_10 GREEN BOTH ped_10_blip
  1105. CHANGE_BLIP_SCALE ped_10_blip 3
  1106. ped_10_exists = 2
  1107. ENDIF
  1108. ENDIF
  1109. IF ped_10_exists = 2
  1110. IF IS_CHAR_DEAD ped_10
  1111. REMOVE_BLIP ped_10_blip
  1112. MARK_CHAR_AS_NO_LONGER_NEEDED ped_10
  1113. ped_10_exists = 0
  1114. ++ dead_peds
  1115. -- number_of_peds
  1116. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  1117. GOSUB create_random_ped
  1118. GOSUB create_random_ped
  1119. ENDIF
  1120. IF ped_10_exists = 2
  1121. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_10 90.0 90.0 0
  1122. GET_CHAR_COORDINATES ped_10 ped_10_x ped_10_y ped_10_z
  1123. REMOVE_BLIP ped_10_blip
  1124. ADD_BLIP_FOR_COORD_OLD ped_10_x ped_10_y ped_10_z GREEN BLIP_ONLY ped_10_blip
  1125. CHANGE_BLIP_SCALE ped_10_blip 3
  1126. DELETE_CHAR ped_10
  1127. ped_10_exists = 1
  1128. ENDIF
  1129. ENDIF
  1130. ENDIF
  1131. ENDIF
  1132.  
  1133. IF ped_11_exists > 0
  1134. IF ped_11_exists = 1
  1135. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_11_x ped_11_y 90.0 90.0 0
  1136. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_11_x ped_11_y ped_11_z ped_11
  1137. GIVE_WEAPON_TO_CHAR ped_11 WEAPONTYPE_UZI 999
  1138. SET_CHAR_PERSONALITY ped_11 PEDSTAT_TOUGH_GUY
  1139. SET_CHAR_THREAT_SEARCH ped_11 THREAT_GUN
  1140. SET_CHAR_THREAT_SEARCH ped_11 THREAT_FAST_CAR
  1141. SET_CHAR_THREAT_SEARCH ped_11 THREAT_PLAYER1
  1142. SET_CHAR_THREAT_SEARCH ped_11 THREAT_PLAYER2
  1143. SET_CHAR_THREAT_SEARCH ped_11 THREAT_PLAYER3
  1144. SET_CHAR_THREAT_SEARCH ped_11 THREAT_PLAYER4
  1145. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_11 TRUE
  1146. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  1147. CHAR_WANDER_DIR ped_11 random_direction
  1148. REMOVE_BLIP ped_11_blip
  1149. ADD_BLIP_FOR_CHAR_OLD ped_11 GREEN BOTH ped_11_blip
  1150. CHANGE_BLIP_SCALE ped_11_blip 3
  1151. ped_11_exists = 2
  1152. ENDIF
  1153. ENDIF
  1154. IF ped_11_exists = 2
  1155. IF IS_CHAR_DEAD ped_11
  1156. REMOVE_BLIP ped_11_blip
  1157. MARK_CHAR_AS_NO_LONGER_NEEDED ped_11
  1158. ped_11_exists = 0
  1159. ++ dead_peds
  1160. -- number_of_peds
  1161. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  1162. GOSUB create_random_ped
  1163. GOSUB create_random_ped
  1164. ENDIF
  1165. IF ped_11_exists = 2
  1166. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_11 90.0 90.0 0
  1167. GET_CHAR_COORDINATES ped_11 ped_11_x ped_11_y ped_11_z
  1168. REMOVE_BLIP ped_11_blip
  1169. ADD_BLIP_FOR_COORD_OLD ped_11_x ped_11_y ped_11_z GREEN BLIP_ONLY ped_11_blip
  1170. CHANGE_BLIP_SCALE ped_11_blip 3
  1171. DELETE_CHAR ped_11
  1172. ped_11_exists = 1
  1173. ENDIF
  1174. ENDIF
  1175. ENDIF
  1176. ENDIF
  1177.  
  1178. IF ped_12_exists > 0
  1179. IF ped_12_exists = 1
  1180. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_12_x ped_12_y 90.0 90.0 0
  1181. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_12_x ped_12_y ped_12_z ped_12
  1182. GIVE_WEAPON_TO_CHAR ped_12 WEAPONTYPE_UZI 999
  1183. SET_CHAR_PERSONALITY ped_12 PEDSTAT_TOUGH_GUY
  1184. SET_CHAR_THREAT_SEARCH ped_12 THREAT_GUN
  1185. SET_CHAR_THREAT_SEARCH ped_12 THREAT_FAST_CAR
  1186. SET_CHAR_THREAT_SEARCH ped_12 THREAT_PLAYER1
  1187. SET_CHAR_THREAT_SEARCH ped_12 THREAT_PLAYER2
  1188. SET_CHAR_THREAT_SEARCH ped_12 THREAT_PLAYER3
  1189. SET_CHAR_THREAT_SEARCH ped_12 THREAT_PLAYER4
  1190. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_12 TRUE
  1191. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  1192. CHAR_WANDER_DIR ped_12 random_direction
  1193. REMOVE_BLIP ped_12_blip
  1194. ADD_BLIP_FOR_CHAR_OLD ped_12 GREEN BOTH ped_12_blip
  1195. CHANGE_BLIP_SCALE ped_12_blip 3
  1196. ped_12_exists = 2
  1197. ENDIF
  1198. ENDIF
  1199. IF ped_12_exists = 2
  1200. IF IS_CHAR_DEAD ped_12
  1201. REMOVE_BLIP ped_12_blip
  1202. MARK_CHAR_AS_NO_LONGER_NEEDED ped_12
  1203. ped_12_exists = 0
  1204. ++ dead_peds
  1205. -- number_of_peds
  1206. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  1207. GOSUB create_random_ped
  1208. GOSUB create_random_ped
  1209. ENDIF
  1210. IF ped_12_exists = 2
  1211. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_12 90.0 90.0 0
  1212. GET_CHAR_COORDINATES ped_12 ped_12_x ped_12_y ped_12_z
  1213. REMOVE_BLIP ped_12_blip
  1214. ADD_BLIP_FOR_COORD_OLD ped_12_x ped_12_y ped_12_z GREEN BLIP_ONLY ped_12_blip
  1215. CHANGE_BLIP_SCALE ped_12_blip 3
  1216. DELETE_CHAR ped_12
  1217. ped_12_exists = 1
  1218. ENDIF
  1219. ENDIF
  1220. ENDIF
  1221. ENDIF
  1222.  
  1223. IF ped_13_exists > 0
  1224. IF ped_13_exists = 1
  1225. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_13_x ped_13_y 90.0 90.0 0
  1226. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_13_x ped_13_y ped_13_z ped_13
  1227. GIVE_WEAPON_TO_CHAR ped_13 WEAPONTYPE_UZI 999
  1228. SET_CHAR_PERSONALITY ped_13 PEDSTAT_TOUGH_GUY
  1229. SET_CHAR_THREAT_SEARCH ped_13 THREAT_GUN
  1230. SET_CHAR_THREAT_SEARCH ped_13 THREAT_FAST_CAR
  1231. SET_CHAR_THREAT_SEARCH ped_13 THREAT_PLAYER1
  1232. SET_CHAR_THREAT_SEARCH ped_13 THREAT_PLAYER2
  1233. SET_CHAR_THREAT_SEARCH ped_13 THREAT_PLAYER3
  1234. SET_CHAR_THREAT_SEARCH ped_13 THREAT_PLAYER4
  1235. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_13 TRUE
  1236. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  1237. CHAR_WANDER_DIR ped_13 random_direction
  1238. REMOVE_BLIP ped_13_blip
  1239. ADD_BLIP_FOR_CHAR_OLD ped_13 GREEN BOTH ped_13_blip
  1240. CHANGE_BLIP_SCALE ped_13_blip 3
  1241. ped_13_exists = 2
  1242. ENDIF
  1243. ENDIF
  1244. IF ped_13_exists = 2
  1245. IF IS_CHAR_DEAD ped_13
  1246. REMOVE_BLIP ped_13_blip
  1247. MARK_CHAR_AS_NO_LONGER_NEEDED ped_13
  1248. ped_13_exists = 0
  1249. ++ dead_peds
  1250. -- number_of_peds
  1251. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  1252. GOSUB create_random_ped
  1253. GOSUB create_random_ped
  1254. ENDIF
  1255. IF ped_13_exists = 2
  1256. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_13 90.0 90.0 0
  1257. GET_CHAR_COORDINATES ped_13 ped_13_x ped_13_y ped_13_z
  1258. REMOVE_BLIP ped_13_blip
  1259. ADD_BLIP_FOR_COORD_OLD ped_13_x ped_13_y ped_13_z GREEN BLIP_ONLY ped_13_blip
  1260. CHANGE_BLIP_SCALE ped_13_blip 3
  1261. DELETE_CHAR ped_13
  1262. ped_13_exists = 1
  1263. ENDIF
  1264. ENDIF
  1265. ENDIF
  1266. ENDIF
  1267.  
  1268. IF ped_14_exists > 0
  1269. IF ped_14_exists = 1
  1270. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_14_x ped_14_y 90.0 90.0 0
  1271. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_14_x ped_14_y ped_14_z ped_14
  1272. GIVE_WEAPON_TO_CHAR ped_14 WEAPONTYPE_UZI 999
  1273. SET_CHAR_PERSONALITY ped_14 PEDSTAT_TOUGH_GUY
  1274. SET_CHAR_THREAT_SEARCH ped_14 THREAT_GUN
  1275. SET_CHAR_THREAT_SEARCH ped_14 THREAT_FAST_CAR
  1276. SET_CHAR_THREAT_SEARCH ped_14 THREAT_PLAYER1
  1277. SET_CHAR_THREAT_SEARCH ped_14 THREAT_PLAYER2
  1278. SET_CHAR_THREAT_SEARCH ped_14 THREAT_PLAYER3
  1279. SET_CHAR_THREAT_SEARCH ped_14 THREAT_PLAYER4
  1280. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_14 TRUE
  1281. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  1282. CHAR_WANDER_DIR ped_14 random_direction
  1283. REMOVE_BLIP ped_14_blip
  1284. ADD_BLIP_FOR_CHAR_OLD ped_14 GREEN BOTH ped_14_blip
  1285. CHANGE_BLIP_SCALE ped_14_blip 3
  1286. ped_14_exists = 2
  1287. ENDIF
  1288. ENDIF
  1289. IF ped_14_exists = 2
  1290. IF IS_CHAR_DEAD ped_14
  1291. REMOVE_BLIP ped_14_blip
  1292. MARK_CHAR_AS_NO_LONGER_NEEDED ped_14
  1293. ped_14_exists = 0
  1294. ++ dead_peds
  1295. -- number_of_peds
  1296. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  1297. GOSUB create_random_ped
  1298. GOSUB create_random_ped
  1299. ENDIF
  1300. IF ped_14_exists = 2
  1301. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_14 90.0 90.0 0
  1302. GET_CHAR_COORDINATES ped_14 ped_14_x ped_14_y ped_14_z
  1303. REMOVE_BLIP ped_14_blip
  1304. ADD_BLIP_FOR_COORD_OLD ped_14_x ped_14_y ped_14_z GREEN BLIP_ONLY ped_14_blip
  1305. CHANGE_BLIP_SCALE ped_14_blip 3
  1306. DELETE_CHAR ped_14
  1307. ped_14_exists = 1
  1308. ENDIF
  1309. ENDIF
  1310. ENDIF
  1311. ENDIF
  1312.  
  1313. IF ped_15_exists > 0
  1314. IF ped_15_exists = 1
  1315. IF LOCATE_PLAYER_ANY_MEANS_2D player ped_15_x ped_15_y 90.0 90.0 0
  1316. CREATE_CHAR PEDTYPE_GANG_YARDIE PED_GANG_YARDIE_A ped_15_x ped_15_y ped_15_z ped_15
  1317. GIVE_WEAPON_TO_CHAR ped_15 WEAPONTYPE_UZI 999
  1318. SET_CHAR_PERSONALITY ped_15 PEDSTAT_TOUGH_GUY
  1319. SET_CHAR_THREAT_SEARCH ped_15 THREAT_GUN
  1320. SET_CHAR_THREAT_SEARCH ped_15 THREAT_FAST_CAR
  1321. SET_CHAR_THREAT_SEARCH ped_15 THREAT_PLAYER1
  1322. SET_CHAR_THREAT_SEARCH ped_15 THREAT_PLAYER2
  1323. SET_CHAR_THREAT_SEARCH ped_15 THREAT_PLAYER3
  1324. SET_CHAR_THREAT_SEARCH ped_15 THREAT_PLAYER4
  1325. SET_CHAR_ONLY_DAMAGED_BY_PLAYER ped_15 TRUE
  1326. GENERATE_RANDOM_INT_IN_RANGE 0 8 random_direction
  1327. CHAR_WANDER_DIR ped_15 random_direction
  1328. REMOVE_BLIP ped_15_blip
  1329. ADD_BLIP_FOR_CHAR_OLD ped_15 GREEN BOTH ped_15_blip
  1330. CHANGE_BLIP_SCALE ped_15_blip 3
  1331. ped_15_exists = 2
  1332. ENDIF
  1333. ENDIF
  1334. IF ped_15_exists = 2
  1335. IF IS_CHAR_DEAD ped_15
  1336. REMOVE_BLIP ped_15_blip
  1337. MARK_CHAR_AS_NO_LONGER_NEEDED ped_15
  1338. ped_15_exists = 0
  1339. ++ dead_peds
  1340. -- number_of_peds
  1341. PRINT_NOW KM5_1 2000 1 // "One down, two more to kill."
  1342. GOSUB create_random_ped
  1343. GOSUB create_random_ped
  1344. ENDIF
  1345. IF ped_15_exists = 2
  1346. IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_2D player ped_15 90.0 90.0 0
  1347. GET_CHAR_COORDINATES ped_15 ped_15_x ped_15_y ped_15_z
  1348. REMOVE_BLIP ped_15_blip
  1349. ADD_BLIP_FOR_COORD_OLD ped_15_x ped_15_y ped_15_z GREEN BLIP_ONLY ped_15_blip
  1350. CHANGE_BLIP_SCALE ped_15_blip 3
  1351. DELETE_CHAR ped_15
  1352. ped_15_exists = 1
  1353. ENDIF
  1354. ENDIF
  1355. ENDIF
  1356. ENDIF
  1357.  
  1358. ENDWHILE
  1359.  
  1360. IF dead_peds > minimum_kills
  1361. OR dead_peds = minimum_kills
  1362. GOTO mission_kenji5_passed
  1363. ELSE
  1364. GOTO mission_kenji5_failed
  1365. ENDIF
  1366.  
  1367.  
  1368. delete_oldest_ped://///////////////////////////////////////////////////////////////////////////
  1369.  
  1370. oldest_ped = 0
  1371.  
  1372. GET_GAME_TIMER oldest_ped_time
  1373.  
  1374. IF ped_1_exists = 1
  1375. AND ped_1_time < oldest_ped_time
  1376. oldest_ped = 1
  1377. oldest_ped_time = ped_1_time
  1378. ENDIF
  1379.  
  1380. IF ped_2_exists = 1
  1381. AND ped_2_time < oldest_ped_time
  1382. oldest_ped = 2
  1383. oldest_ped_time = ped_2_time
  1384. ENDIF
  1385.  
  1386. IF ped_3_exists = 1
  1387. AND ped_3_time < oldest_ped_time
  1388. oldest_ped = 3
  1389. oldest_ped_time = ped_3_time
  1390. ENDIF
  1391.  
  1392. IF ped_4_exists = 1
  1393. AND ped_4_time < oldest_ped_time
  1394. oldest_ped = 4
  1395. oldest_ped_time = ped_4_time
  1396. ENDIF
  1397.  
  1398. IF ped_5_exists = 1
  1399. AND ped_5_time < oldest_ped_time
  1400. oldest_ped = 5
  1401. oldest_ped_time = ped_5_time
  1402. ENDIF
  1403.  
  1404. IF ped_6_exists = 1
  1405. AND ped_6_time < oldest_ped_time
  1406. oldest_ped = 6
  1407. oldest_ped_time = ped_6_time
  1408. ENDIF
  1409.  
  1410. IF ped_7_exists = 1
  1411. AND ped_7_time < oldest_ped_time
  1412. oldest_ped = 7
  1413. oldest_ped_time = ped_7_time
  1414. ENDIF
  1415.  
  1416. IF ped_8_exists = 1
  1417. AND ped_8_time < oldest_ped_time
  1418. oldest_ped = 8
  1419. oldest_ped_time = ped_8_time
  1420. ENDIF
  1421.  
  1422. IF ped_9_exists = 1
  1423. AND ped_9_time < oldest_ped_time
  1424. oldest_ped = 9
  1425. oldest_ped_time = ped_9_time
  1426. ENDIF
  1427.  
  1428. IF ped_10_exists = 1
  1429. AND ped_10_time < oldest_ped_time
  1430. oldest_ped = 10
  1431. oldest_ped_time = ped_10_time
  1432. ENDIF
  1433.  
  1434. IF ped_11_exists = 1
  1435. AND ped_11_time < oldest_ped_time
  1436. oldest_ped = 11
  1437. oldest_ped_time = ped_11_time
  1438. ENDIF
  1439.  
  1440. IF ped_12_exists = 1
  1441. AND ped_12_time < oldest_ped_time
  1442. oldest_ped = 12
  1443. oldest_ped_time = ped_12_time
  1444. ENDIF
  1445.  
  1446. IF ped_13_exists = 1
  1447. AND ped_13_time < oldest_ped_time
  1448. oldest_ped = 13
  1449. oldest_ped_time = ped_13_time
  1450. ENDIF
  1451.  
  1452. IF ped_14_exists = 1
  1453. AND ped_14_time < oldest_ped_time
  1454. oldest_ped = 14
  1455. oldest_ped_time = ped_14_time
  1456. ENDIF
  1457.  
  1458. IF ped_15_exists = 1
  1459. AND ped_15_time < oldest_ped_time
  1460. oldest_ped = 15
  1461. oldest_ped_time = ped_15_time
  1462. ENDIF
  1463.  
  1464. ///////////////////////////////////////
  1465.  
  1466. IF oldest_ped = 1
  1467. REMOVE_BLIP ped_1_blip
  1468. MARK_CHAR_AS_NO_LONGER_NEEDED ped_1
  1469. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1470. ped_1_exists = 0
  1471. -- number_of_peds
  1472. ENDIF
  1473.  
  1474. IF oldest_ped = 2
  1475. REMOVE_BLIP ped_2_blip
  1476. MARK_CHAR_AS_NO_LONGER_NEEDED ped_2
  1477. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1478. ped_2_exists = 0
  1479. -- number_of_peds
  1480. ENDIF
  1481.  
  1482. IF oldest_ped = 3
  1483. REMOVE_BLIP ped_3_blip
  1484. MARK_CHAR_AS_NO_LONGER_NEEDED ped_3
  1485. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1486. ped_3_exists = 0
  1487. -- number_of_peds
  1488. ENDIF
  1489.  
  1490. IF oldest_ped = 4
  1491. REMOVE_BLIP ped_4_blip
  1492. MARK_CHAR_AS_NO_LONGER_NEEDED ped_4
  1493. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1494. ped_4_exists = 0
  1495. -- number_of_peds
  1496. ENDIF
  1497.  
  1498. IF oldest_ped = 5
  1499. REMOVE_BLIP ped_5_blip
  1500. MARK_CHAR_AS_NO_LONGER_NEEDED ped_5
  1501. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1502. ped_5_exists = 0
  1503. -- number_of_peds
  1504. ENDIF
  1505.  
  1506. IF oldest_ped = 6
  1507. REMOVE_BLIP ped_6_blip
  1508. MARK_CHAR_AS_NO_LONGER_NEEDED ped_6
  1509. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1510. ped_6_exists = 0
  1511. -- number_of_peds
  1512. ENDIF
  1513.  
  1514. IF oldest_ped = 7
  1515. REMOVE_BLIP ped_7_blip
  1516. MARK_CHAR_AS_NO_LONGER_NEEDED ped_7
  1517. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1518. ped_7_exists = 0
  1519. -- number_of_peds
  1520. ENDIF
  1521.  
  1522. IF oldest_ped = 8
  1523. REMOVE_BLIP ped_8_blip
  1524. MARK_CHAR_AS_NO_LONGER_NEEDED ped_8
  1525. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1526. ped_8_exists = 0
  1527. -- number_of_peds
  1528. ENDIF
  1529.  
  1530. IF oldest_ped = 9
  1531. REMOVE_BLIP ped_9_blip
  1532. MARK_CHAR_AS_NO_LONGER_NEEDED ped_9
  1533. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1534. ped_9_exists = 0
  1535. -- number_of_peds
  1536. ENDIF
  1537.  
  1538. IF oldest_ped = 10
  1539. REMOVE_BLIP ped_10_blip
  1540. MARK_CHAR_AS_NO_LONGER_NEEDED ped_10
  1541. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1542. ped_10_exists = 0
  1543. -- number_of_peds
  1544. ENDIF
  1545.  
  1546. IF oldest_ped = 11
  1547. REMOVE_BLIP ped_11_blip
  1548. MARK_CHAR_AS_NO_LONGER_NEEDED ped_11
  1549. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1550. ped_11_exists = 0
  1551. -- number_of_peds
  1552. ENDIF
  1553.  
  1554. IF oldest_ped = 12
  1555. REMOVE_BLIP ped_12_blip
  1556. MARK_CHAR_AS_NO_LONGER_NEEDED ped_12
  1557. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1558. ped_12_exists = 0
  1559. -- number_of_peds
  1560. ENDIF
  1561.  
  1562. IF oldest_ped = 13
  1563. REMOVE_BLIP ped_13_blip
  1564. MARK_CHAR_AS_NO_LONGER_NEEDED ped_13
  1565. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1566. ped_13_exists = 0
  1567. -- number_of_peds
  1568. ENDIF
  1569.  
  1570. IF oldest_ped = 14
  1571. REMOVE_BLIP ped_14_blip
  1572. MARK_CHAR_AS_NO_LONGER_NEEDED ped_14
  1573. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1574. ped_14_exists = 0
  1575. -- number_of_peds
  1576. ENDIF
  1577.  
  1578. IF oldest_ped = 15
  1579. REMOVE_BLIP ped_15_blip
  1580. MARK_CHAR_AS_NO_LONGER_NEEDED ped_15
  1581. PRINT_NOW KM5_2 2000 1 // "A Yardie has gone to ground."
  1582. ped_15_exists = 0
  1583. -- number_of_peds
  1584. ENDIF
  1585.  
  1586. RETURN
  1587.  
  1588. }
  1589.  
  1590. // Mission Kenji5 failed
  1591.  
  1592. mission_kenji5_failed:
  1593. PRINT_BIG ( M_FAIL ) 5000 1
  1594. PRINT_WITH_NUMBER_NOW KM5_3 minimum_kills 3000 1 // "You failed to kill at least ~1~ yardies."
  1595. RETURN
  1596.  
  1597.  
  1598.  
  1599. // mission Kenji5 passed
  1600.  
  1601. mission_kenji5_passed:
  1602.  
  1603. flag_kenji_mission5_passed = 1
  1604. PRINT_WITH_NUMBER_BIG m_pass 10000 5000 1
  1605. ADD_SCORE player 10000
  1606. IF dead_peds = 8
  1607. PRINT_WITH_NUMBER_NOW KM5_4 dead_peds 3000 1 // "Congratulations you killed ~1~ Yardies."
  1608. ELSE
  1609. reward_kills = dead_peds - minimum_kills
  1610. reward_kills = reward_kills * 1000
  1611. PRINT_WITH_2_NUMBERS_NOW KM5_5 dead_peds reward_kills 3000 1 // "Congratulations you killed ~1~ Yardies."
  1612. ENDIF
  1613. CLEAR_WANTED_LEVEL player
  1614. REGISTER_MISSION_PASSED KM5
  1615. PLAY_MISSION_PASSED_TUNE 1
  1616. PLAYER_MADE_PROGRESS 1
  1617. REMOVE_BLIP kenji_contact_blip
  1618. RETURN
  1619.  
  1620.  
  1621.  
  1622. // mission cleanup
  1623.  
  1624. mission_cleanup_kenji5:
  1625.  
  1626. flag_player_on_mission = 0
  1627. flag_player_on_kenji_mission = 0
  1628.  
  1629. REMOVE_BLIP ped_1_blip
  1630. REMOVE_BLIP ped_2_blip
  1631. REMOVE_BLIP ped_3_blip
  1632. REMOVE_BLIP ped_4_blip
  1633. REMOVE_BLIP ped_5_blip
  1634. REMOVE_BLIP ped_6_blip
  1635. REMOVE_BLIP ped_7_blip
  1636. REMOVE_BLIP ped_8_blip
  1637.  
  1638. REMOVE_BLIP ped_9_blip
  1639. REMOVE_BLIP ped_10_blip
  1640. REMOVE_BLIP ped_11_blip
  1641. REMOVE_BLIP ped_12_blip
  1642. REMOVE_BLIP ped_13_blip
  1643. REMOVE_BLIP ped_14_blip
  1644. REMOVE_BLIP ped_15_blip
  1645.  
  1646. CLEAR_ONSCREEN_COUNTER dead_peds
  1647.  
  1648. MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_YARDIE_A
  1649.  
  1650. MISSION_HAS_FINISHED
  1651.  
  1652. RETURN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement