R4gn0r0k

hj.sc

Feb 4th, 2016
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.69 KB | None | 0 0
  1. MISSION_START
  2.  
  3. // *****************************************************************************************
  4. // ****************************************Stunt Jump***************************************
  5. // *****************************************************************************************
  6.  
  7. // Variables for mission
  8.  
  9. VAR_INT car_player_is_in_hj
  10. VAR_INT flag_takeoff_hj
  11. VAR_INT height_int_hj
  12. VAR_INT flag_wheels_hj
  13. VAR_INT stunt_flags_hj
  14. VAR_INT flag_car_upsidedown_hj
  15. VAR_INT counter_stunt_rolls_hj
  16. VAR_INT height_decimals_int_hj
  17. VAR_INT distance_decimals_int_hj
  18. VAR_INT jumpdistance_int_hj
  19. VAR_INT counter_land_on_wheels_hj
  20. VAR_INT counter_wheels_hj
  21. VAR_INT total_rotation_int
  22. VAR_INT longest_flight_time
  23. VAR_INT got_flight_start
  24. VAR_INT flight_timer_start
  25. VAR_INT flight_timer_end
  26. VAR_INT flight_time flag_flight_hj
  27. VAR_INT collision_counter
  28. VAR_INT cash_reward cash_reward_temp
  29. VAR_FLOAT height_float_hj
  30. VAR_FLOAT x_float_hj
  31. VAR_FLOAT y_float_hj
  32. VAR_FLOAT z_float_hj
  33. VAR_FLOAT takeoff_x_float_hj
  34. VAR_FLOAT takeoff_y_float_hj
  35. VAR_FLOAT takeoff_z_float_hj
  36. VAR_FLOAT jumpend_x_float_hj
  37. VAR_FLOAT jumpend_y_float_hj
  38. VAR_FLOAT difference_x_float_hj
  39. VAR_FLOAT difference_y_float_hj
  40. VAR_FLOAT sum_difference_xy_hj
  41. VAR_FLOAT jumpdistance_float_hj
  42. VAR_FLOAT heading_hj
  43. VAR_FLOAT temp_float
  44. VAR_FLOAT old_heading_hj
  45. VAR_FLOAT heading_difference
  46. VAR_FLOAT heading_difference_temp
  47. VAR_FLOAT total_rotation
  48.  
  49. // ****************************************Mission Start************************************
  50.  
  51. SET_DEATHARREST_STATE OFF
  52. SCRIPT_NAME hj
  53.  
  54. longest_flight_time = 0
  55.  
  56. mission_start_hj:
  57.  
  58. WAIT 0
  59.  
  60. IF NOT IS_PLAYER_PLAYING player
  61. GOTO mission_start_hj
  62. ENDIF
  63.  
  64. IF ARE_ANY_CAR_CHEATS_ACTIVATED
  65. GOTO mission_start_hj
  66. ENDIF
  67.  
  68. IF IS_PLAYER_IN_ANY_CAR player
  69.  
  70. STORE_CAR_PLAYER_IS_IN_NO_SAVE player car_player_is_in_hj
  71.  
  72. IF NOT IS_BOAT car_player_is_in_hj
  73.  
  74. IF IS_CAR_IN_AIR_PROPER car_player_is_in_hj
  75.  
  76. total_rotation_int = 0
  77. heading_hj = 0.0
  78. flag_wheels_hj = 0
  79. counter_land_on_wheels_hj = 0
  80. counter_stunt_rolls_hj = 0
  81. flag_car_upsidedown_hj = 0
  82. counter_wheels_hj = 0
  83. stunt_flags_hj = 0
  84. flag_takeoff_hj = 0
  85. height_int_hj = 0
  86. height_float_hj = -100.0
  87. x_float_hj = 0.0
  88. y_float_hj = 0.0
  89. z_float_hj = 0.0
  90. takeoff_x_float_hj = 0.0
  91. takeoff_y_float_hj = 0.0
  92. takeoff_z_float_hj = 0.0
  93. jumpend_x_float_hj = 0.0
  94. jumpend_y_float_hj = 0.0
  95. difference_x_float_hj = 0.0
  96. difference_y_float_hj = 0.0
  97. sum_difference_xy_hj = 0.0
  98. jumpdistance_float_hj = 0.0
  99. jumpdistance_int_hj = 0
  100. distance_decimals_int_hj = 0
  101. height_decimals_int_hj = 0
  102. temp_float = 0.0
  103. heading_difference = 0.0
  104. total_rotation = 0.0
  105. heading_difference_temp = 0.0
  106. old_heading_hj = 0.0
  107. got_flight_start = 0
  108. flight_timer_start = 0
  109. flight_timer_end = 0
  110. flight_time = 0
  111. flag_flight_hj = 0
  112. collision_counter = 0
  113.  
  114. IF IS_CAR_MODEL car_player_is_in_hj PLANE_DODO
  115. GOTO dodo_flight_time
  116. ENDIF
  117.  
  118. WHILE IS_CAR_IN_AIR_PROPER car_player_is_in_hj
  119. OR collision_counter < 10
  120.  
  121. ++ collision_counter
  122.  
  123. GET_CAR_COORDINATES car_player_is_in_hj x_float_hj y_float_hj z_float_hj
  124.  
  125. old_heading_hj = heading_hj
  126.  
  127. IF flag_takeoff_hj = 0
  128. GET_CAR_HEADING car_player_is_in_hj old_heading_hj
  129. takeoff_x_float_hj = x_float_hj
  130. takeoff_y_float_hj = y_float_hj
  131. takeoff_z_float_hj = z_float_hj
  132. flag_takeoff_hj = 1
  133. ENDIF
  134.  
  135. WAIT 0
  136.  
  137. IF IS_CAR_DEAD car_player_is_in_hj
  138. GOTO mission_start_hj
  139. ENDIF
  140.  
  141. IF NOT IS_PLAYER_PLAYING player
  142. GOTO mission_start_hj
  143. ENDIF
  144.  
  145. IF NOT IS_PLAYER_IN_ANY_CAR player
  146. GOTO mission_start_hj
  147. ENDIF
  148.  
  149. IF NOT IS_CAR_UPRIGHT car_player_is_in_hj
  150. AND flag_car_upsidedown_hj = 0
  151. flag_car_upsidedown_hj = 1
  152. ENDIF
  153.  
  154. IF IS_CAR_UPRIGHT car_player_is_in_hj
  155. AND flag_car_upsidedown_hj = 1
  156. ++ counter_stunt_rolls_hj
  157. flag_car_upsidedown_hj = 0
  158. ENDIF
  159.  
  160. GET_CAR_HEADING car_player_is_in_hj heading_hj
  161.  
  162. heading_difference = heading_hj - old_heading_hj
  163.  
  164. IF heading_difference > 180.0
  165. heading_difference_temp = heading_difference
  166. heading_difference = 360.0 - heading_difference_temp
  167. ELSE
  168. IF heading_difference < -180.0
  169. heading_difference_temp = heading_difference
  170. heading_difference = 360.0 + heading_difference_temp
  171. ENDIF
  172. ENDIF
  173.  
  174. IF heading_difference < 0.0
  175. heading_difference_temp = heading_difference
  176. heading_difference = 0.0 - heading_difference_temp
  177. ENDIF
  178.  
  179. total_rotation = total_rotation + heading_difference
  180.  
  181. total_rotation_int =# total_rotation
  182.  
  183. IF z_float_hj > height_float_hj
  184. height_float_hj = z_float_hj
  185. ENDIF
  186.  
  187. z_float_hj = 0.0
  188.  
  189. ENDWHILE
  190.  
  191. ELSE
  192. GOTO mission_start_hj
  193. ENDIF
  194. ELSE
  195. GOTO mission_start_hj
  196. ENDIF
  197. ELSE
  198. GOTO mission_start_hj
  199. ENDIF
  200.  
  201. IF flag_takeoff_hj = 1
  202. GET_CAR_COORDINATES car_player_is_in_hj jumpend_x_float_hj jumpend_y_float_hj temp_float
  203.  
  204. WHILE counter_land_on_wheels_hj < 90
  205.  
  206. IF IS_CAR_DEAD car_player_is_in_hj
  207. GOTO mission_start_hj
  208. ELSE
  209. IF NOT IS_CAR_IN_AIR car_player_is_in_hj
  210. ++ counter_wheels_hj
  211. ENDIF
  212. ENDIF
  213.  
  214. WAIT 0
  215.  
  216. IF NOT IS_PLAYER_PLAYING player
  217. GOTO mission_start_hj
  218. ENDIF
  219.  
  220. ++ counter_land_on_wheels_hj
  221.  
  222. ENDWHILE
  223.  
  224. counter_land_on_wheels_hj = 0
  225.  
  226. difference_x_float_hj = takeoff_x_float_hj - jumpend_x_float_hj
  227. difference_y_float_hj = takeoff_y_float_hj - jumpend_y_float_hj
  228. difference_x_float_hj = difference_x_float_hj * difference_x_float_hj
  229. difference_y_float_hj = difference_y_float_hj * difference_y_float_hj
  230. sum_difference_xy_hj = difference_x_float_hj + difference_y_float_hj
  231. SQRT sum_difference_xy_hj jumpdistance_float_hj
  232. REGISTER_JUMP_DISTANCE jumpdistance_float_hj
  233. jumpdistance_int_hj =# jumpdistance_float_hj
  234. height_float_hj = height_float_hj - takeoff_z_float_hj
  235. REGISTER_JUMP_HEIGHT height_float_hj
  236. height_int_hj =# height_float_hj
  237. temp_float =# jumpdistance_int_hj
  238. jumpdistance_float_hj = jumpdistance_float_hj - temp_float
  239. temp_float = jumpdistance_float_hj * 100.0
  240. distance_decimals_int_hj =# temp_float
  241. temp_float =# height_int_hj
  242. height_float_hj = height_float_hj - temp_float
  243. temp_float = height_float_hj * 100.0
  244. height_decimals_int_hj =# temp_float
  245. REGISTER_JUMP_FLIPS counter_stunt_rolls_hj
  246. REGISTER_JUMP_SPINS total_rotation_int
  247. ENDIF
  248.  
  249. IF height_float_hj > 4.0 //4 METERS HIGH
  250. ++ stunt_flags_hj
  251. ENDIF
  252.  
  253. IF jumpdistance_int_hj > 30 //30 METERS LONG
  254. ++ stunt_flags_hj
  255. ENDIF
  256.  
  257. IF counter_stunt_rolls_hj > 0 //1 ROLLS/FLIPS IN MID AIR
  258. ++ stunt_flags_hj
  259. ENDIF
  260.  
  261. IF total_rotation_int > 360 //360 SPIN IN MID AIR
  262. ++ stunt_flags_hj
  263. ENDIF
  264.  
  265. IF counter_wheels_hj > 60 //LAND ON WHEELS
  266. flag_wheels_hj = 1
  267. ENDIF
  268.  
  269. IF stunt_flags_hj > 0
  270.  
  271. cash_reward = counter_stunt_rolls_hj * 180
  272. cash_reward += total_rotation_int
  273. cash_reward_temp = jumpdistance_int_hj * 6
  274. cash_reward += cash_reward_temp
  275. cash_reward_temp = height_int_hj * 45
  276. cash_reward += cash_reward_temp
  277. IF flag_wheels_hj = 1
  278. cash_reward *= 2
  279. ENDIF
  280. cash_reward *= stunt_flags_hj
  281. cash_reward /= 3
  282. ADD_SCORE player cash_reward
  283.  
  284. IF stunt_flags_hj = 1
  285. AND flag_wheels_hj = 0
  286. PRINT_WITH_NUMBER HJ_IS cash_reward 2000 1 //"INSANE STUNT BONUS"
  287. REGISTER_JUMP_STUNT 1
  288. ENDIF
  289.  
  290. IF stunt_flags_hj = 1
  291. AND flag_wheels_hj = 1
  292. PRINT_WITH_NUMBER HJ_PIS cash_reward 2000 1 //"PERFECT INSANE STUNT BONUS"
  293. REGISTER_JUMP_STUNT 2
  294. ENDIF
  295.  
  296. IF stunt_flags_hj = 2
  297. AND flag_wheels_hj = 0
  298. PRINT_WITH_NUMBER HJ_DIS cash_reward 2000 1 //"DOUBLE INSANE STUNT BONUS"
  299. REGISTER_JUMP_STUNT 3
  300. ENDIF
  301.  
  302. IF stunt_flags_hj = 2
  303. AND flag_wheels_hj = 1
  304. PRINT_WITH_NUMBER HJ_PDIS cash_reward 2000 1 //"PERFECT DOUBLE INSANE STUNT BONUS"
  305. REGISTER_JUMP_STUNT 4
  306. ENDIF
  307.  
  308. IF stunt_flags_hj = 3
  309. AND flag_wheels_hj = 0
  310. PRINT_WITH_NUMBER HJ_TIS cash_reward 2000 1 //"TRIPLE INSANE STUNT BONUS"
  311. REGISTER_JUMP_STUNT 5
  312. ENDIF
  313.  
  314. IF stunt_flags_hj = 3
  315. AND flag_wheels_hj = 1
  316. PRINT_WITH_NUMBER HJ_PTIS cash_reward 2000 1 //"PERFECT TRIPLE INSANE STUNT BONUS"
  317. REGISTER_JUMP_STUNT 6
  318. ENDIF
  319.  
  320. IF stunt_flags_hj = 4
  321. AND flag_wheels_hj = 0
  322. PRINT_WITH_NUMBER HJ_QIS cash_reward 2000 1 //"QUADRUPLE INSANE STUNT BONUS"
  323. REGISTER_JUMP_STUNT 7
  324. ENDIF
  325.  
  326. IF stunt_flags_hj = 4
  327. AND flag_wheels_hj = 1
  328. PRINT_WITH_NUMBER HJ_PQIS cash_reward 3000 1 //"PERFECT QUADRUPLE INSANE STUNT BONUS"
  329. REGISTER_JUMP_STUNT 8
  330. ENDIF
  331.  
  332. IF ARE_MEASUREMENTS_IN_METRES
  333. IF flag_wheels_hj = 1
  334. PRINT_WITH_6_NUMBERS HJSTATW jumpdistance_int_hj distance_decimals_int_hj height_int_hj height_decimals_int_hj counter_stunt_rolls_hj total_rotation_int 5000 5
  335. ELSE
  336. PRINT_WITH_6_NUMBERS HJSTAT jumpdistance_int_hj distance_decimals_int_hj height_int_hj height_decimals_int_hj counter_stunt_rolls_hj total_rotation_int 5000 5
  337. ENDIF
  338. ELSE
  339. CONVERT_METRES_TO_FEET_INT jumpdistance_int_hj jumpdistance_int_hj
  340. CONVERT_METRES_TO_FEET_INT height_int_hj height_int_hj
  341. IF flag_wheels_hj = 1
  342. PRINT_WITH_4_NUMBERS HJSTAWF jumpdistance_int_hj height_int_hj counter_stunt_rolls_hj total_rotation_int 5000 5
  343. ELSE
  344. PRINT_WITH_4_NUMBERS HJSTATF jumpdistance_int_hj height_int_hj counter_stunt_rolls_hj total_rotation_int 5000 5
  345. ENDIF
  346. ENDIF
  347.  
  348. //ADD_ONE_OFF_SOUND 0.0 0.0 0.0 SOUND_PART_MISSION_COMPLETE
  349.  
  350. ENDIF
  351.  
  352. GOTO mission_start_hj
  353.  
  354. dodo_flight_time:
  355.  
  356. WHILE IS_CAR_IN_AIR_PROPER car_player_is_in_hj
  357.  
  358. IF got_flight_start = 0
  359. GET_GAME_TIMER flight_timer_start
  360. flag_flight_hj = 1
  361. got_flight_start = 1
  362. ENDIF
  363.  
  364. IF IS_CAR_IN_WATER car_player_is_in_hj
  365. GOTO cessna_fight_bit
  366. ENDIF
  367.  
  368. WAIT 0
  369.  
  370. IF IS_CAR_DEAD car_player_is_in_hj
  371. GOTO mission_start_hj
  372. ENDIF
  373.  
  374. IF NOT IS_PLAYER_PLAYING player
  375. GOTO mission_start_hj
  376. ENDIF
  377.  
  378. IF NOT IS_PLAYER_IN_ANY_CAR player
  379. GOTO mission_start_hj
  380. ENDIF
  381.  
  382. ENDWHILE
  383.  
  384. cessna_fight_bit:
  385.  
  386. IF flag_flight_hj = 1
  387. GET_GAME_TIMER flight_timer_end
  388.  
  389. flight_time = flight_timer_end - flight_timer_start
  390.  
  391. flight_time = flight_time / 1000
  392.  
  393. IF flight_time > 1
  394. IF flight_time > longest_flight_time
  395. longest_flight_time = flight_time
  396. ENDIF
  397.  
  398. PRINT_WITH_NUMBER_NOW DODO_FT flight_time 5000 1
  399.  
  400. REGISTER_LONGEST_DODO_FLIGHT flight_time
  401. ENDIF
  402. ENDIF
  403.  
  404. GOTO mission_start_hj
  405.  
  406. MISSION_END
Add Comment
Please, Sign In to add comment