Advertisement
Guest User

GTASA Stripped main.scm with Parachute-thread

a guest
May 4th, 2020
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.16 KB | None | 0 0
  1.  
  2. DEFINE OBJECTS 5
  3. DEFINE OBJECT (dummyobject) // This is an unused object. You can put anything here.
  4. DEFINE OBJECT BODYARMOUR // Object number -1
  5. DEFINE OBJECT BRIBE // Object number -2
  6. DEFINE OBJECT PARACHUTE // Object number -3
  7. DEFINE OBJECT PARA_COLLISION // Object number -4
  8.  
  9. DEFINE MISSIONS 0
  10.  
  11. DEFINE EXTERNAL_SCRIPTS -1
  12.  
  13. DEFINE UNKNOWN_EMPTY_SEGMENT 0
  14.  
  15. DEFINE UNKNOWN_THREADS_MEMORY 0
  16.  
  17. //-------------MAIN---------------
  18.  
  19.  
  20. :MAIN_1
  21. 03A4: name_thread 'MAIN'
  22. 016A: fade 0 (in) 0 ms
  23. 042C: set_total_missions_to 0
  24. 030D: set_total_mission_points_to 0
  25. 01F0: set_max_wanted_level_to 6
  26. 0111: set_wasted_busted_check_to 0 (disabled)
  27. 00C0: set_current_time 10 0
  28.  
  29. 04E4: unknown_refresh_game_renderer_at 2494.5 -1668.5
  30. 03CB: set_camera 2494.5 -1668.5 13.4
  31. 0053: $PLAYER_CHAR = create_player #NULL at 2494.5 -1668.5 13.4
  32. 07AF: $PLAYER_GROUP = player $PLAYER_CHAR group
  33. 01F5: $PLAYER_ACTOR = create_emulated_actor_from_player $PLAYER_CHAR
  34. 0173: set_actor $PLAYER_ACTOR z_angle_to 7.0
  35. 0373: set_camera_directly_behind_player
  36. 070D: $PLAYER_CHAR
  37. 0629: change_stat 181 (islands unlocked) to 4 // integer see statdisp.dat
  38. 01B6: set_weather 1
  39. 04BB: select_interior 0 // select render area
  40. 01B4: set_player $PLAYER_CHAR frozen_state 1 (unfrozen)
  41. 01B7: release_weather
  42. 016C: restart_if_wasted at 2494.5 -1668.5 13.4 angle 180.0 unknown 0
  43. 016D: restart_if_busted at 2494.5 -1668.5 13.4 angle 180.0 unknown 0
  44.  
  45.  
  46. 0629: change_stat 181 (islands unlocked) to 4 // integer see statdisp.dat
  47. 0998: add_respect 1000
  48. 062A: change_stat 165 (energy) to 800.0 // float
  49. 062A: change_stat 23 (muscle) to 800.0 // float
  50. 062A: change_stat 21 (fat) to 200.0 // float
  51. 0629: change_stat 225 (lung capasity) to 1000 // integer see statdisp.dat
  52. 0629: change_stat 22 (stamina) to 1000 // integer see statdisp.dat
  53. 0629: change_stat 156 (dance skill) to 1000 // integer see statdisp.dat
  54. 062A: change_stat 81 (gambling skill) to 1000.0 // integer see statdisp.dat
  55. 087B: set_player $PLAYER_CHAR clothes_texture "HAWAIIRED" model "HAWAII" body_part 0
  56. 087B: set_player $PLAYER_CHAR clothes_texture "BASK2HEATBAND" model "BASK1" body_part 3
  57. 087B: set_player $PLAYER_CHAR clothes_texture "GLASSES05DARK" model "GLASSES03" body_part 15
  58. 087B: set_player $PLAYER_CHAR clothes_texture "LEATHERTR" model "LEATHERTR" body_part 2
  59. 070D: rebuild_player $PLAYER_CHAR
  60. 0109: player $PLAYER_CHAR money += 350000
  61.  
  62. 016A: fade 1 (out) 1000 ms
  63. 0001: wait 100 ms
  64. 03E6: remove_text_box
  65. 0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here
  66.  
  67.  
  68. 014B: 0@ = init_parked_car_generator #PCJ600 0 17 1 alarm 0 door_lock 0 0 10000 at 2490.0 -1682.0 13.5 angle 90.0
  69. 014C: set_parked_car_generator 0@ cars_to_generate_to 101
  70. 032B: 1@ = create_weapon_pickup #AK47 15 ammo 3000 at 2490.0 -1662.0 13.5
  71. 032B: 2@ = create_weapon_pickup #JETPACK 15 ammo 0 at 2492.0 -1662.0 13.5
  72. 0213: 3@ = create_pickup #BODYARMOUR type 15 at 2494.0 -1662.0 13.5
  73. 0213: 4@ = create_pickup #GUN_PARA type 15 at 2496.0 -1662.0 13.5
  74. 0213: 5@ = create_pickup #BRIBE type 15 at 2498.0 -1662.0 13.5
  75.  
  76. //0005: $1500 = 65.0
  77. //0005: $1501 = -0.01
  78. 0005: $1500 = 5.0
  79. 0005: $1501 = -5.0
  80. 0005: $1502 = 8.5
  81. 0005: $1503 = -1.5
  82. 0005: $1504 = -30.0
  83. 0005: $1505 = 32.0
  84. 0005: $1506 = 0.0
  85. 0004: $1512 = 0
  86. 0004: $FREEFALL_STAGE = 0
  87. 0004: $PARACHUTE_CREATION_STAGE = 0
  88.  
  89. 004F: create_thread @PLAYER_PARACHUTE
  90.  
  91.  
  92. :MAIN_3
  93. 0001: wait 2500 ms
  94. //end_thread
  95. 0002: jump @MAIN_3
  96.  
  97.  
  98.  
  99.  
  100. //------------- (PLAYER_PARACHUTE)---------------
  101.  
  102. :PLAYER_PARACHUTE
  103. 03A4: name_thread 'PLCHUTE'
  104. wait 1000
  105.  
  106.  
  107. :PLCHUTE_01
  108. wait 0
  109. if
  110. 0256: player $PLAYER_CHAR defined
  111. jf @PLCHUTE_01
  112. if
  113. 0491: actor $PLAYER_ACTOR has_weapon 46
  114. jf @PLCHUTE_01
  115.  
  116. 0247: load_model #GUN_PARA
  117.  
  118. :PLCHUTE_16
  119. 00D6: if
  120. 8248: not model #GUN_PARA available
  121. 004D: jump_if_false @PLCHUTE_43
  122. 0001: wait 0 ms
  123. 0002: jump @PLCHUTE_16
  124.  
  125. :PLCHUTE_43
  126. 00D6: if
  127. 8118: not actor $PLAYER_ACTOR dead
  128. 004D: jump_if_false @PLCHUTE_59
  129.  
  130. :PLCHUTE_59
  131. 0004: $1498 = 0
  132. 0004: $FREEFALL_STAGE = 0
  133. 0004: $PARACHUTE_CREATION_STAGE = 0
  134. 00D6: if
  135. 0038: $1498 == 999
  136. 004D: jump_if_false @PLCHUTE_118
  137. 0213: $PICKUP_PARACHUTE = create_pickup #GUN_PARA type 3 at $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD
  138.  
  139. :PLCHUTE_118
  140. 0001: wait 0 ms
  141. 00D6: if
  142. 8118: not actor $PLAYER_ACTOR dead
  143. 004D: jump_if_false @PLCHUTE_5455
  144. 00D6: if
  145. 8800: not in_two_players_mode
  146. 004D: jump_if_false @PLCHUTE_5455
  147. 00D6: if
  148. 8038: not $FREEFALL_STAGE == 0
  149. 004D: jump_if_false @PLCHUTE_176
  150. 0992: set_player $PLAYER_CHAR weapons_scrollable 0
  151.  
  152. :PLCHUTE_176
  153. 00D6: if
  154. 0018: $PARACHUTE_CREATION_STAGE > 0
  155. 004D: jump_if_false @PLCHUTE_219
  156. 00D6: if
  157. 8491: not actor $PLAYER_ACTOR has_weapon 46
  158. 004D: jump_if_false @PLCHUTE_219
  159. 0050: gosub @PLCHUTE_5521
  160.  
  161. :PLCHUTE_219
  162. 00D6: if
  163. 0038: $PARACHUTE_CREATION_STAGE == 0
  164. 004D: jump_if_false @PLCHUTE_274
  165. 00D6: if
  166. 0491: actor $PLAYER_ACTOR has_weapon 46
  167. 004D: jump_if_false @PLCHUTE_274
  168. 0247: load_model #PARACHUTE
  169. 0004: $PARACHUTE_CREATION_STAGE = 1
  170. 0004: $1498 = 0
  171.  
  172. :PLCHUTE_274
  173. 00D6: if
  174. 0038: $PARACHUTE_CREATION_STAGE == 1
  175. 004D: jump_if_false @PLCHUTE_377
  176. 00D6: if
  177. 0248: model #PARACHUTE available
  178. 004D: jump_if_false @PLCHUTE_377
  179. 0107: 17@ = create_object #PARACHUTE at $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD
  180. 069B: attach_object 17@ to_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 rotation 0.0 0.0 0.0
  181. 0750: set_object 17@ visibility 0
  182. 0004: $PARACHUTE_CREATION_STAGE = 2
  183.  
  184. :PLCHUTE_377
  185. 00D6: if and
  186. 0038: $PARACHUTE_CREATION_STAGE == 2
  187. 0038: $FREEFALL_STAGE == 1
  188. 004D: jump_if_false @PLCHUTE_409
  189. 0004: $PARACHUTE_CREATION_STAGE = 3
  190.  
  191. :PLCHUTE_409
  192. 00D6: if and
  193. 0038: $FREEFALL_STAGE == 0
  194. 0018: $PARACHUTE_CREATION_STAGE > 0
  195. 004D: jump_if_false @PLCHUTE_565
  196. 00D6: if
  197. 0818: actor $PLAYER_ACTOR in_air
  198. 004D: jump_if_false @PLCHUTE_565
  199. 083D: get_actor $PLAYER_ACTOR velocity_in_direction_XYZ $1507 $1508 $1509
  200. 00D6: if
  201. 0022: -10.0 > $1509
  202. 004D: jump_if_false @PLCHUTE_565
  203. 0819: 7@ = actor $PLAYER_ACTOR distance_from_ground
  204. 00D6: if
  205. 0021: 7@ > 20.0
  206. 004D: jump_if_false @PLCHUTE_565
  207. 097A: play_audio_at -1000.0 -1000.0 -1000.0 event 1037
  208. 0004: $FREEFALL_STAGE = 1
  209. 01B9: set_actor $PLAYER_ACTOR armed_weapon_to 46
  210. 0006: 0@ = 0
  211. 0005: $8268 = 0.0
  212.  
  213. :PLCHUTE_565
  214. 00D6: if
  215. 0038: $FREEFALL_STAGE == 1
  216. 004D: jump_if_false @PLCHUTE_2386
  217. 00D6: if
  218. 0039: 0@ == 0
  219. 004D: jump_if_false @PLCHUTE_608
  220. 0006: 0@ = 2
  221.  
  222. :PLCHUTE_608
  223. 00D6: if
  224. 0039: 0@ == 2
  225. 004D: jump_if_false @PLCHUTE_729
  226. 062E: unknown_get_actor $PLAYER_ACTOR task 2066 status_store_to 27@ // ret 7 if not found
  227. 00D6: if
  228. 04A4: 27@ == 7 // @ == any
  229. 004D: jump_if_false @PLCHUTE_729
  230. 0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE" IFP_file "PED" 1.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 // versionB
  231. 04ED: load_animation "PARACHUTE"
  232. 0006: 15@ = 1
  233. 0172: 1@ = actor $PLAYER_ACTOR Z_angle
  234. 0006: 0@ = 3
  235.  
  236. :PLCHUTE_729
  237. 00D6: if
  238. 0039: 0@ == 3
  239. 004D: jump_if_false @PLCHUTE_2386
  240. 062E: unknown_get_actor $PLAYER_ACTOR task 2066 status_store_to 27@ // ret 7 if not found
  241. 00D6: if
  242. 04A4: 27@ == 7 // @ == any
  243. 004D: jump_if_false @PLCHUTE_815
  244. 0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE" IFP_file "PED" 1.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 // versionB
  245.  
  246. :PLCHUTE_815
  247. 0819: 7@ = actor $PLAYER_ACTOR distance_from_ground
  248. 00D6: if and
  249. 0023: 100.0 > 7@
  250. 0021: 7@ > 60.0
  251. 004D: jump_if_false @PLCHUTE_912
  252. 00D6: if
  253. 04EE: animation "PARACHUTE" loaded
  254. 004D: jump_if_false @PLCHUTE_912
  255. 00D6: if
  256. 0038: $ONMISSION == 0
  257. 004D: jump_if_false @PLCHUTE_912
  258. 00BC: show_text_highpriority GXT 'PARA_01' time 1000 flag 1 // ~s~Open your parachute!
  259.  
  260. :PLCHUTE_912
  261. 0494: get_joystick 0 data_to 10@ 11@ 12@ 12@
  262. 00D6: if
  263. 0038: $1511 == 1
  264. 004D: jump_if_false @PLCHUTE_960
  265. 0006: 10@ = 0
  266. 0006: 11@ = 0
  267.  
  268. :PLCHUTE_960
  269. 0093: 21@ = integer 10@ to_float
  270. 0017: 21@ /= 4.267
  271. 0063: 21@ -= 2@ // (float)
  272. 0017: 21@ /= 20.0
  273. 005B: 2@ += 21@ // (float)
  274. 0087: 21@ = 2@ // (float)
  275. 0017: 21@ /= 5.0
  276. 0063: 1@ -= 21@ // (float)
  277. 00D6: if
  278. 0021: 1@ > 180.0
  279. 004D: jump_if_false @PLCHUTE_1061
  280. 000F: 1@ -= 360.0
  281.  
  282. :PLCHUTE_1061
  283. 00D6: if
  284. 0023: -180.0 > 1@
  285. 004D: jump_if_false @PLCHUTE_1092
  286. 000B: 1@ += 360.0
  287.  
  288. :PLCHUTE_1092
  289. 0093: 22@ = integer 11@ to_float
  290. 0017: 22@ /= 4.267
  291. 0063: 22@ -= 3@ // (float)
  292. 0017: 22@ /= 20.0
  293. 005B: 3@ += 22@ // (float)
  294. 083D: get_actor $PLAYER_ACTOR velocity_in_direction_XYZ 8@ 9@ $1509
  295. 00D6: if
  296. 0024: $1504 > $1509 // (float)
  297. 004D: jump_if_false @PLCHUTE_1177
  298. 0086: $1509 = $1504 // (float)
  299.  
  300. :PLCHUTE_1177
  301. 00D6: if
  302. 0024: $8268 > $1509 // (float)
  303. 004D: jump_if_false @PLCHUTE_1204
  304. 0086: $8268 = $1509 // (float)
  305.  
  306. :PLCHUTE_1204
  307. 00D6: if
  308. 0024: $1504 > $8268 // (float)
  309. 004D: jump_if_false @PLCHUTE_1231
  310. 0086: $8268 = $1504 // (float)
  311.  
  312. :PLCHUTE_1231
  313. 00D6: if and
  314. 0024: $1509 > $8268 // (float)
  315. 8038: not $1902 == 1
  316. 004D: jump_if_false @PLCHUTE_1407
  317. 00D6: if
  318. 84AD: not actor $PLAYER_ACTOR in_water
  319. 004D: jump_if_false @PLCHUTE_1361
  320. 00D6: if
  321. 0022: -20.0 > $8268
  322. 004D: jump_if_false @PLCHUTE_1308
  323. 0004: $FREEFALL_STAGE = 2
  324. 0002: jump @PLCHUTE_1354
  325.  
  326. :PLCHUTE_1308
  327. 0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE" IFP_file "PED" 1.0 loopA 1 lockX 0 lockY 0 lockF 0 time 100 // versionB
  328. 0004: $FREEFALL_STAGE = 7
  329.  
  330. :PLCHUTE_1354
  331. 0002: jump @PLCHUTE_1407
  332.  
  333. :PLCHUTE_1361
  334. 0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE" IFP_file "PED" 1.0 loopA 1 lockX 0 lockY 0 lockF 0 time 100 // versionB
  335. 0004: $FREEFALL_STAGE = 7
  336.  
  337. :PLCHUTE_1407
  338. 0087: 4@ = 3@ // (float)
  339. 0017: 4@ /= 30.0
  340. 006F: 4@ *= $1505 // (float)
  341. 02F6: $1507 = sine 1@ // (float)
  342. 02F7: $1508 = cosine 1@ // (float)
  343. 006D: $1507 *= 4@ // (float)
  344. 006D: $1508 *= 4@ // (float)
  345. 0011: $1508 *= -1.0
  346. 0059: $1508 += $1506 // (float)
  347. 0087: 21@ = 8@ // (float)
  348. 0065: 21@ -= $1507 // (float)
  349. 0013: 21@ *= 0.01
  350. 0088: $1507 = 8@ // (float)
  351. 0067: $1507 -= 21@ // (float)
  352. 0087: 21@ = 9@ // (float)
  353. 0065: 21@ -= $1508 // (float)
  354. 0013: 21@ *= 0.01
  355. 0088: $1508 = 9@ // (float)
  356. 0067: $1508 -= 21@ // (float)
  357. 0085: 12@ = 10@ // (int)
  358. 0085: 13@ = 11@ // (int)
  359. 0095: make 12@ absolute_integer
  360. 0095: make 13@ absolute_integer
  361. 00D6: if or
  362. 0019: 12@ > 40
  363. 0019: 13@ > 40
  364. 004D: jump_if_false @PLCHUTE_2109
  365. 00D6: if
  366. 001D: 12@ > 13@ // (int)
  367. 004D: jump_if_false @PLCHUTE_1872
  368. 00D6: if
  369. 0029: 10@ >= 0
  370. 004D: jump_if_false @PLCHUTE_1751
  371. 00D6: if
  372. 8039: not 15@ == 2
  373. 004D: jump_if_false @PLCHUTE_1751
  374. 00D6: if
  375. 04EE: animation "PARACHUTE" loaded
  376. 004D: jump_if_false @PLCHUTE_1744
  377. 0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE_R" IFP_file "PARACHUTE" 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 // versionB
  378.  
  379. :PLCHUTE_1744
  380. 0006: 15@ = 2
  381.  
  382. :PLCHUTE_1751
  383. 00D6: if
  384. 001B: 0 > 10@
  385. 004D: jump_if_false @PLCHUTE_1865
  386. 00D6: if
  387. 8039: not 15@ == 3
  388. 004D: jump_if_false @PLCHUTE_1865
  389. 00D6: if
  390. 04EE: animation "PARACHUTE" loaded
  391. 004D: jump_if_false @PLCHUTE_1858
  392. 0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE_L" IFP_file "PARACHUTE" 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 // versionB
  393.  
  394. :PLCHUTE_1858
  395. 0006: 15@ = 3
  396.  
  397. :PLCHUTE_1865
  398. 0002: jump @PLCHUTE_2102
  399.  
  400. :PLCHUTE_1872
  401. 00D6: if
  402. 0029: 11@ >= 0
  403. 004D: jump_if_false @PLCHUTE_1984
  404. 00D6: if
  405. 8039: not 15@ == 4
  406. 004D: jump_if_false @PLCHUTE_1984
  407. 00D6: if
  408. 04EE: animation "PARACHUTE" loaded
  409. 004D: jump_if_false @PLCHUTE_1977
  410. 0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE" IFP_file "PARACHUTE" 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 // versionB
  411.  
  412. :PLCHUTE_1977
  413. 0006: 15@ = 4
  414.  
  415. :PLCHUTE_1984
  416. 00D6: if
  417. 001B: 0 > 11@
  418. 004D: jump_if_false @PLCHUTE_2102
  419. 00D6: if
  420. 8039: not 15@ == 5
  421. 004D: jump_if_false @PLCHUTE_2102
  422. 00D6: if
  423. 04EE: animation "PARACHUTE" loaded
  424. 004D: jump_if_false @PLCHUTE_2095
  425. 0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE_ACCEL" IFP_file "PARACHUTE" 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 // versionB
  426.  
  427. :PLCHUTE_2095
  428. 0006: 15@ = 5
  429.  
  430. :PLCHUTE_2102
  431. 0002: jump @PLCHUTE_2203
  432.  
  433. :PLCHUTE_2109
  434. 00D6: if
  435. 8039: not 15@ == 1
  436. 004D: jump_if_false @PLCHUTE_2203
  437. 00D6: if
  438. 04EE: animation "PARACHUTE" loaded
  439. 004D: jump_if_false @PLCHUTE_2203
  440. 0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE" IFP_file "PARACHUTE" 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 // versionB
  441. 0006: 15@ = 1
  442.  
  443. :PLCHUTE_2203
  444. 00D6: if or
  445. 00E1: player 0 pressed_key 17
  446. 0038: $1512 == 1
  447. 004D: jump_if_false @PLCHUTE_2386
  448. 00D6: if
  449. 8038: not $1902 == 1
  450. 004D: jump_if_false @PLCHUTE_2386
  451. 00D6: if
  452. 04EE: animation "PARACHUTE" loaded
  453. 004D: jump_if_false @PLCHUTE_2386
  454. 00D6: if and
  455. 0038: $PARACHUTE_CREATION_STAGE == 3
  456. 0038: $1511 == 0
  457. 004D: jump_if_false @PLCHUTE_2386
  458. 0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_OPEN" IFP_file "PARACHUTE" 8.0 loopA 0 lockX 0 lockY 0 lockF 1 time -2 // versionB
  459. 097A: play_audio_at -1000.0 -1000.0 -1000.0 event 1038
  460. 008A: $8270 = 32@ // (int)
  461. 0008: $8270 += 1100
  462. 0004: $FREEFALL_STAGE = 3
  463. 0006: 0@ = 0
  464.  
  465. :PLCHUTE_2386
  466. 00D6: if
  467. 0038: $FREEFALL_STAGE == 2
  468. 004D: jump_if_false @PLCHUTE_2504
  469. 00D6: if
  470. 04EE: animation "PARACHUTE" loaded
  471. 004D: jump_if_false @PLCHUTE_2492
  472. 0173: set_actor $PLAYER_ACTOR Z_angle_to 1@
  473. 0829: actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE_DIE" IFP_file "PARACHUTE" 1000.0 time 0 and_dies
  474. 09F1: play_audio_at_actor $PLAYER_ACTOR event 1189
  475. 0002: jump @PLCHUTE_2497
  476.  
  477. :PLCHUTE_2492
  478. 05BE: AS_kill_actor $PLAYER_ACTOR
  479.  
  480. :PLCHUTE_2497
  481. 0050: gosub @PLCHUTE_5521
  482.  
  483. :PLCHUTE_2504
  484. 00D6: if
  485. 0038: $FREEFALL_STAGE == 3
  486. 004D: jump_if_false @PLCHUTE_4781
  487. 00D6: if
  488. 0018: $8270 > 0
  489. 004D: jump_if_false @PLCHUTE_2586
  490. 00D6: if
  491. 001F: 32@ > $8270 // (int)
  492. 004D: jump_if_false @PLCHUTE_2586
  493. 097A: play_audio_at -1000.0 -1000.0 -1000.0 event 1039
  494. 0004: $8270 = 0
  495.  
  496. :PLCHUTE_2586
  497. 00D6: if
  498. 0039: 0@ == 0
  499. 004D: jump_if_false @PLCHUTE_2689
  500. 0087: 25@ = 3@ // (float)
  501. 0017: 25@ /= 500.0
  502. 0087: 26@ = 2@ // (float)
  503. 0017: 26@ /= 500.0
  504. 0085: 18@ = 32@ // (int)
  505. 0085: 19@ = 32@ // (int)
  506. 0087: 5@ = 4@ // (float)
  507. 0013: 5@ *= -1.0
  508. 0089: 6@ = $1509 // (float)
  509. 0006: 0@ = 1
  510.  
  511. :PLCHUTE_2689
  512. 00D6: if
  513. 0039: 0@ == 1
  514. 004D: jump_if_false @PLCHUTE_2856
  515. 0085: 10@ = 32@ // (int)
  516. 0062: 10@ -= 19@ // (int)
  517. 00D6: if
  518. 001B: 500 > 10@
  519. 004D: jump_if_false @PLCHUTE_2829
  520. 0085: 10@ = 32@ // (int)
  521. 0062: 10@ -= 18@ // (int)
  522. 0085: 18@ = 32@ // (int)
  523. 0093: 21@ = integer 10@ to_float
  524. 0087: 22@ = 25@ // (float)
  525. 006B: 22@ *= 21@ // (float)
  526. 0087: 23@ = 26@ // (float)
  527. 006B: 23@ *= 21@ // (float)
  528. 0063: 3@ -= 22@ // (float)
  529. 0063: 2@ -= 23@ // (float)
  530. 0002: jump @PLCHUTE_2856
  531.  
  532. :PLCHUTE_2829
  533. 0007: 2@ = 0.0
  534. 0007: 3@ = 0.0
  535. 0006: 0@ = 2
  536.  
  537. :PLCHUTE_2856
  538. 00D6: if
  539. 0039: 0@ == 2
  540. 004D: jump_if_false @PLCHUTE_2964
  541. 00D6: if
  542. 03CA: object 17@ exists
  543. 004D: jump_if_false @PLCHUTE_2964
  544. 0750: set_object 17@ visibility 1
  545. 08D2: object 17@ scale_model 0.0
  546. 0085: 19@ = 32@ // (int)
  547. 0001: wait 0 ms
  548. 075A: set_object 17@ animation "PARA_OPEN_O" IFP_file "PARACHUTE" 1000.0 lockF 0 loop 1 // IF AND SET
  549. 0006: 0@ = 3
  550.  
  551. :PLCHUTE_2964
  552. 00D6: if
  553. 0039: 0@ == 3
  554. 004D: jump_if_false @PLCHUTE_3067
  555. 0085: 10@ = 32@ // (int)
  556. 0062: 10@ -= 19@ // (int)
  557. 00D6: if
  558. 001B: 500 > 10@
  559. 004D: jump_if_false @PLCHUTE_3050
  560. 0093: 21@ = integer 10@ to_float
  561. 0017: 21@ /= 500.0
  562. 08D2: object 17@ scale_model 21@
  563. 0002: jump @PLCHUTE_3067
  564.  
  565. :PLCHUTE_3050
  566. 08D2: object 17@ scale_model 1.0
  567. 0006: 0@ = 4
  568.  
  569. :PLCHUTE_3067
  570. 00D6: if
  571. 0039: 0@ == 5
  572. 004D: jump_if_false @PLCHUTE_3136
  573. 0107: 20@ = create_object #PARA_COLLISION at 0.0 0.0 0.0
  574. 0750: set_object 20@ visibility 0
  575. 0392: make_object 20@ moveable 1
  576. 04D9: object 20@ set_scripted_collision_check 1
  577. 0006: 0@ = 6
  578.  
  579. :PLCHUTE_3136
  580. 00D6: if
  581. 0039: 0@ == 6
  582. 004D: jump_if_false @PLCHUTE_4354
  583. 0494: get_joystick 0 data_to 10@ 11@ 12@ 12@
  584. 00D6: if
  585. 0038: $1511 == 1
  586. 004D: jump_if_false @PLCHUTE_3202
  587. 0006: 10@ = 0
  588. 0006: 11@ = 0
  589.  
  590. :PLCHUTE_3202
  591. 0093: 21@ = integer 10@ to_float
  592. 0017: 21@ /= 4.267
  593. 0063: 21@ -= 2@ // (float)
  594. 0017: 21@ /= 20.0
  595. 005B: 2@ += 21@ // (float)
  596. 0087: 21@ = 2@ // (float)
  597. 0017: 21@ /= 15.0
  598. 0063: 1@ -= 21@ // (float)
  599. 00D6: if
  600. 0021: 1@ > 180.0
  601. 004D: jump_if_false @PLCHUTE_3303
  602. 000F: 1@ -= 360.0
  603.  
  604. :PLCHUTE_3303
  605. 00D6: if
  606. 0023: -180.0 > 1@
  607. 004D: jump_if_false @PLCHUTE_3334
  608. 000B: 1@ += 360.0
  609.  
  610. :PLCHUTE_3334
  611. 02F6: $1507 = sine 1@ // (float)
  612. 02F7: $1508 = cosine 1@ // (float)
  613. 0069: $1507 *= $1500 // (float)
  614. 0069: $1508 *= $1500 // (float)
  615. 0011: $1507 *= -1.0
  616. 0085: 12@ = 10@ // (int)
  617. 0085: 13@ = 11@ // (int)
  618. 0095: make 12@ absolute_integer
  619. 0095: make 13@ absolute_integer
  620. 00D6: if or
  621. 0019: 12@ > 40
  622. 0019: 13@ > 40
  623. 004D: jump_if_false @PLCHUTE_4066
  624. 00D6: if
  625. 001D: 12@ > 13@ // (int)
  626. 004D: jump_if_false @PLCHUTE_3741
  627. 0089: 21@ = $1501 // (float)
  628. 0065: 21@ -= $1509 // (float)
  629. 0017: 21@ /= 20.0
  630. 005F: $1509 += 21@ // (float)
  631. 00D6: if
  632. 0029: 10@ >= 0
  633. 004D: jump_if_false @PLCHUTE_3607
  634. 00D6: if
  635. 8039: not 15@ == 2
  636. 004D: jump_if_false @PLCHUTE_3607
  637. 0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_STEERR" IFP_file "PARACHUTE" 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 // versionB
  638. 075A: set_object 17@ animation "PARA_STEERR_O" IFP_file "PARACHUTE" 1.0 lockF 1 loop 1 // IF AND SET
  639. 0006: 15@ = 2
  640.  
  641. :PLCHUTE_3607
  642. 00D6: if
  643. 001B: 0 > 10@
  644. 004D: jump_if_false @PLCHUTE_3734
  645. 00D6: if
  646. 8039: not 15@ == 3
  647. 004D: jump_if_false @PLCHUTE_3734
  648. 0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_STEERL" IFP_file "PARACHUTE" 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 // versionB
  649. 075A: set_object 17@ animation "PARA_STEERL_O" IFP_file "PARACHUTE" 1.0 lockF 1 loop 1 // IF AND SET
  650. 0006: 15@ = 3
  651.  
  652. :PLCHUTE_3734
  653. 0002: jump @PLCHUTE_4059
  654.  
  655. :PLCHUTE_3741
  656. 00D6: if
  657. 0029: 11@ >= 0
  658. 004D: jump_if_false @PLCHUTE_3900
  659. 0089: 21@ = $1503 // (float)
  660. 0065: 21@ -= $1509 // (float)
  661. 0017: 21@ /= 20.0
  662. 005F: $1509 += 21@ // (float)
  663. 00D6: if
  664. 8039: not 15@ == 4
  665. 004D: jump_if_false @PLCHUTE_3900
  666. 0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_DECEL" IFP_file "PARACHUTE" 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 // versionB
  667. 075A: set_object 17@ animation "PARA_DECEL_O" IFP_file "PARACHUTE" 1.0 lockF 1 loop 1 // IF AND SET
  668. 0006: 15@ = 4
  669.  
  670. :PLCHUTE_3900
  671. 00D6: if
  672. 001B: 0 > 11@
  673. 004D: jump_if_false @PLCHUTE_4059
  674. 0089: 21@ = $1501 // (float)
  675. 0065: 21@ -= $1509 // (float)
  676. 0017: 21@ /= 20.0
  677. 005F: $1509 += 21@ // (float)
  678. 00D6: if
  679. 8039: not 15@ == 5
  680. 004D: jump_if_false @PLCHUTE_4059
  681. 0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_FLOAT" IFP_file "PARACHUTE" 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 // versionB
  682. 075A: set_object 17@ animation "PARA_FLOAT_O" IFP_file "PARACHUTE" 1.0 lockF 1 loop 1 // IF AND SET
  683. 0006: 15@ = 5
  684.  
  685. :PLCHUTE_4059
  686. 0002: jump @PLCHUTE_4225
  687.  
  688. :PLCHUTE_4066
  689. 0089: 21@ = $1501 // (float)
  690. 0065: 21@ -= $1509 // (float)
  691. 0017: 21@ /= 20.0
  692. 005F: $1509 += 21@ // (float)
  693. 00D6: if
  694. 8039: not 15@ == 5
  695. 004D: jump_if_false @PLCHUTE_4225
  696. 00D6: if
  697. 8039: not 15@ == 1
  698. 004D: jump_if_false @PLCHUTE_4225
  699. 0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_FLOAT" IFP_file "PARACHUTE" 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 // versionB
  700. 075A: set_object 17@ animation "PARA_FLOAT_O" IFP_file "PARACHUTE" 1.0 lockF 1 loop 1 // IF AND SET
  701. 0006: 15@ = 1
  702.  
  703. :PLCHUTE_4225
  704. 01BB: store_object 17@ position_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3
  705. 0815: put_object 20@ at $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 and_keep_rotation
  706. 00D6: if
  707. 04DA: has_object 20@ collided
  708. 004D: jump_if_false @PLCHUTE_4318
  709. 075A: set_object 17@ animation "PARA_RIP_LOOP_O" IFP_file "PARACHUTE" 8.0 lockF 1 loop 1 // IF AND SET
  710. 0006: 0@ = 7
  711.  
  712. :PLCHUTE_4318
  713. 00D6: if
  714. 00E1: player 0 pressed_key 15
  715. 004D: jump_if_false @PLCHUTE_4354
  716. 0792: disembark_instantly_actor $PLAYER_ACTOR
  717. 0004: $FREEFALL_STAGE = 6
  718. 0004: $1498 = 3
  719.  
  720. :PLCHUTE_4354
  721. 00D6: if
  722. 03CA: object 17@ exists
  723. 004D: jump_if_false @PLCHUTE_4593
  724. 00D6: if
  725. 0837: object 17@ animation == "PARA_OPEN_O"
  726. 004D: jump_if_false @PLCHUTE_4593
  727. 0839: get_object 17@ animation "PARA_OPEN_O" progress_to 21@
  728. 0087: 22@ = 6@ // (float)
  729. 0065: 22@ -= $1501 // (float)
  730. 0087: 23@ = 22@ // (float)
  731. 006B: 23@ *= 21@ // (float)
  732. 0088: $1509 = 6@ // (float)
  733. 0067: $1509 -= 23@ // (float)
  734. 0087: 22@ = 5@ // (float)
  735. 0065: 22@ -= $1500 // (float)
  736. 0087: 23@ = 22@ // (float)
  737. 006B: 23@ *= 21@ // (float)
  738. 0087: 4@ = 5@ // (float)
  739. 0063: 4@ -= 23@ // (float)
  740. 02F6: $1507 = sine 1@ // (float)
  741. 02F7: $1508 = cosine 1@ // (float)
  742. 006D: $1507 *= 4@ // (float)
  743. 006D: $1508 *= 4@ // (float)
  744. 0011: $1507 *= -1.0
  745. 00D6: if and
  746. 0043: 21@ == 1.0
  747. 0039: 0@ == 4
  748. 004D: jump_if_false @PLCHUTE_4593
  749. 0006: 0@ = 5
  750.  
  751. :PLCHUTE_4593
  752. 00D6: if
  753. 8118: not actor $PLAYER_ACTOR dead
  754. 004D: jump_if_false @PLCHUTE_4781
  755. 00D6: if
  756. 04AD: actor $PLAYER_ACTOR in_water
  757. 004D: jump_if_false @PLCHUTE_4732
  758. 0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_LAND_WATER" IFP_file "PARACHUTE" 8.0 loopA 1 lockX 1 lockY 0 lockF 0 time 1000 // versionB
  759. 075A: set_object 17@ animation "PARA_LAND_WATER_O" IFP_file "PARACHUTE" 1000.0 lockF 0 loop 1 // IF AND SET
  760. 0004: $FREEFALL_STAGE = 5
  761. 0006: 0@ = 0
  762.  
  763. :PLCHUTE_4732
  764. 083D: get_actor $PLAYER_ACTOR velocity_in_direction_XYZ 21@ 21@ 23@
  765. 00D6: if
  766. 0021: 23@ > -0.1
  767. 004D: jump_if_false @PLCHUTE_4781
  768. 0004: $FREEFALL_STAGE = 4
  769. 0006: 0@ = 0
  770.  
  771. :PLCHUTE_4781
  772. 00D6: if
  773. 0038: $FREEFALL_STAGE == 4
  774. 004D: jump_if_false @PLCHUTE_5271
  775. 00D6: if
  776. 0039: 0@ == 0
  777. 004D: jump_if_false @PLCHUTE_5168
  778. 0004: $1498 = 1
  779. 00A0: store_actor $PLAYER_ACTOR position_to $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD
  780. 000D: $TEMPVAR_Z_COORD -= 1.0
  781. 00A1: put_actor $PLAYER_ACTOR at $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD
  782. 083E: set_actor $PLAYER_ACTOR rotation 0.0 0.0 1@ while_in_air
  783. 00D6: if
  784. 0022: -10.0 > $1509
  785. 004D: jump_if_false @PLCHUTE_4922
  786. 0004: $FREEFALL_STAGE = 2
  787. 0006: 0@ = 0
  788. 0002: jump @PLCHUTE_5092
  789.  
  790. :PLCHUTE_4922
  791. 00D6: if
  792. 0022: -4.0 > $1509
  793. 004D: jump_if_false @PLCHUTE_5047
  794. 0615: define_AS_pack_begin 14@
  795. 0812: AS_actor -1 perform_animation "FALL_FRONT" IFP_file "PED" 20.0 loopA 0 lockX 0 lockY 0 lockF 1 time 700 // versionB
  796. 0812: AS_actor -1 perform_animation "GETUP_FRONT" IFP_file "PED" 8.0 loopA 0 lockX 1 lockY 0 lockF 0 time -2 // versionB
  797. 0616: define_AS_pack_end 14@
  798. 0618: assign_actor $PLAYER_ACTOR to_AS_pack 14@
  799. 061B: remove_references_to_AS_pack 14@
  800. 0002: jump @PLCHUTE_5085
  801.  
  802. :PLCHUTE_5047
  803. 0812: AS_actor $PLAYER_ACTOR perform_animation "RUN_PLAYER" IFP_file "PED" 8.0 loopA 1 lockX 1 lockY 0 lockF 0 time 1000 // versionB
  804.  
  805. :PLCHUTE_5085
  806. 0006: 0@ = 1
  807.  
  808. :PLCHUTE_5092
  809. 075A: set_object 17@ animation "PARA_LAND_O" IFP_file "PARACHUTE" 1000.0 lockF 0 loop 1 // IF AND SET
  810. 0682: detach_object 17@ 0.0 0.0 0.0 collision_detection 0
  811. 0085: 18@ = 32@ // (int)
  812. 000A: 18@ += 1000
  813.  
  814. :PLCHUTE_5168
  815. 00D6: if
  816. 0039: 0@ == 1
  817. 004D: jump_if_false @PLCHUTE_5271
  818. 00D6: if
  819. 0837: object 17@ animation == "PARA_LAND_O"
  820. 004D: jump_if_false @PLCHUTE_5271
  821. 0839: get_object 17@ animation "PARA_LAND_O" progress_to 21@
  822. 00D6: if
  823. 0043: 21@ == 1.0
  824. 004D: jump_if_false @PLCHUTE_5271
  825. 0004: $1498 = 2
  826. 0050: gosub @PLCHUTE_5521
  827.  
  828. :PLCHUTE_5271
  829. 00D6: if
  830. 0038: $FREEFALL_STAGE == 5
  831. 004D: jump_if_false @PLCHUTE_5328
  832. 0004: $1498 = 1
  833. 00D6: if
  834. 0039: 0@ == 0
  835. 004D: jump_if_false @PLCHUTE_5328
  836. 0004: $1498 = 2
  837. 0050: gosub @PLCHUTE_5521
  838.  
  839. :PLCHUTE_5328
  840. 00D6: if and
  841. 0018: $FREEFALL_STAGE > 0
  842. 001A: 4 > $FREEFALL_STAGE
  843. 004D: jump_if_false @PLCHUTE_5405
  844. 00D6: if
  845. 8118: not actor $PLAYER_ACTOR dead
  846. 004D: jump_if_false @PLCHUTE_5405
  847. 083C: set_actor $PLAYER_ACTOR velocity_in_direction_XYZ $1507 $1508 $1509
  848. 0173: set_actor $PLAYER_ACTOR Z_angle_to 1@
  849. 083E: set_actor $PLAYER_ACTOR rotation 3@ 2@ 1@ while_in_air
  850.  
  851. :PLCHUTE_5405
  852. 00D6: if
  853. 0038: $FREEFALL_STAGE == 6
  854. 004D: jump_if_false @PLCHUTE_5430
  855. 0050: gosub @PLCHUTE_5521
  856.  
  857. :PLCHUTE_5430
  858. 00D6: if
  859. 0038: $FREEFALL_STAGE == 7
  860. 004D: jump_if_false @PLCHUTE_5455
  861. 0050: gosub @PLCHUTE_5462
  862.  
  863. :PLCHUTE_5455
  864. 0002: jump @PLCHUTE_118
  865.  
  866. :PLCHUTE_5462
  867. 0004: $FREEFALL_STAGE = 0
  868. 0006: 0@ = 0
  869. 0249: release_model #PARACHUTE
  870. 04EF: release_animation "PARACHUTE"
  871. 083E: set_actor $PLAYER_ACTOR rotation 0.0 0.0 1@ while_in_air
  872. 0992: set_player $PLAYER_CHAR weapons_scrollable 1
  873. 0051: return
  874.  
  875. :PLCHUTE_5521
  876. 0682: detach_object 17@ 0.0 0.0 0.0 collision_detection 0
  877. 09A2: destroy_object_with_fade 17@
  878. 0108: destroy_object 20@
  879. 0555: remove_weapon 46 from_actor $PLAYER_ACTOR
  880. 0004: $FREEFALL_STAGE = 0
  881. 0004: $PARACHUTE_CREATION_STAGE = 0
  882. 0006: 0@ = 0
  883. 0249: release_model #PARACHUTE
  884. 04EF: release_animation "PARACHUTE"
  885. 0249: release_model #GUN_PARA
  886. 083E: set_actor $PLAYER_ACTOR rotation 0.0 0.0 1@ while_in_air
  887. 0992: set_player $PLAYER_CHAR weapons_scrollable 1
  888. jump @PLCHUTE_01
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement