J16D

Test Rope

May 26th, 2020
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.42 KB | None | 0 0
  1. //by J16D
  2. //Main swing script - Rope TEST
  3.  
  4. //-+---CONSTANTS--------------------
  5. //Size
  6. CONST_INT BYTE 1
  7. CONST_INT WORD 2
  8. CONST_INT DWORD 4
  9. CONST_INT SIZE_RWMEMORY 8
  10. CONST_INT SIZE_VECTOR 12
  11. CONST_INT SIZE_QUAT 16
  12. CONST_INT SIZE_COLPOINT_DATA 44
  13. CONST_INT SIZE_MATRIX 64
  14.  
  15. SCRIPT_START
  16. {
  17. SCRIPT_NAME rp_sw
  18. LVAR_INT player_actor
  19. GET_PLAYER_CHAR 0 player_actor
  20. CONST_INT player 0
  21.  
  22. LVAR_INT toggleSpiderMod isFuncEnabled
  23. LVAR_INT baseObject
  24. LVAR_INT LRStick UDStick
  25.  
  26. LVAR_FLOAT x y z
  27. LVAR_INT randomVal
  28. LVAR_FLOAT fRandomVal fZAnglePlayerAir
  29. LVAR_FLOAT fVelX fVelY fVelZ
  30.  
  31. main_loop:
  32. IF IS_PLAYER_PLAYING player
  33. AND NOT IS_CHAR_SITTING_IN_ANY_CAR player_actor
  34.  
  35. IF IS_BUTTON_PRESSED PAD1 CROSS // ~k~~PED_SPRINT~
  36. AND NOT IS_BUTTON_PRESSED PAD1 SQUARE // ~k~~PED_JUMPING~
  37. AND NOT IS_BUTTON_PRESSED PAD1 CIRCLE // ~k~~PED_FIREWEAPON~
  38. AND NOT IS_BUTTON_PRESSED PAD1 RIGHTSHOULDER1 // ~k~~PED_LOCK_TARGET~
  39. //IF GOSUB isNotCharPlayingAnim
  40. WHILE IS_BUTTON_PRESSED PAD1 CROSS // ~k~~PED_SPRINT~
  41. WAIT 0
  42. ENDWHILE
  43. GOSUB destroyWeb
  44. GOSUB createWeb
  45.  
  46. LVAR_FLOAT xA yA zA
  47. GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS player_actor (0.0 10.0 10.0) (xA yA zA)
  48. SET_CAR_COORDINATES iVehA (xA yA zA)
  49. SET_CAR_COLLISION iVehA FALSE
  50. //FREEZE_CAR_POSITION_AND_DONT_LOAD_COLLISION iVehA TRUE
  51.  
  52. LVAR_INT ptr
  53. ptr = 0xB77874
  54. timera = 0
  55. fRandomVal = 0.25
  56. WRITE_MEMORY ptr DWORD fRandomVal FALSE
  57. ENABLE_CRANE_CONTROLS TRUE TRUE TRUE
  58.  
  59. WHILE TRUE
  60. SET_CAR_COORDINATES iVehA (xA yA zA)
  61.  
  62. IF IS_KEY_PRESSED VK_KEY_8
  63. fRandomVal -=@ 0.001
  64. IF DOES_OBJECT_EXIST iHandObj
  65. GET_OBJECT_VELOCITY iHandObj (fVelX fVelY fVelZ)
  66. fVelZ +=@ 0.5
  67. SET_OBJECT_VELOCITY iHandObj (fVelX fVelY fVelZ)
  68. ENDIF
  69. ENDIF
  70. IF IS_KEY_PRESSED VK_KEY_2
  71. fRandomVal +=@ 0.001
  72. IF DOES_OBJECT_EXIST iHandObj
  73. GET_OBJECT_VELOCITY iHandObj (fVelX fVelY fVelZ)
  74. fVelZ -=@ 0.5
  75. SET_OBJECT_VELOCITY iHandObj (fVelX fVelY fVelZ)
  76. ENDIF
  77. ENDIF
  78.  
  79. IF 0.25 > fRandomVal
  80. fRandomVal = 0.25
  81. ENDIF
  82. IF fRandomVal > 0.96
  83. fRandomVal = 0.96
  84. ENDIF
  85.  
  86. WRITE_MEMORY ptr DWORD fRandomVal FALSE
  87. PRINT_FORMATTED_NOW "float:%.2f" 500 fRandomVal //debug
  88.  
  89. IF IS_KEY_PRESSED VK_KEY_4
  90. GET_OFFSET_FROM_CAR_IN_WORLD_COORDS iVehA (0.0 0.0 0.0) (x y z)
  91. GET_OFFSET_FROM_CAR_IN_WORLD_COORDS iVehA (0.0 0.005 0.0) (fVelX fVelY fVelZ)
  92. fVelX -= x
  93. fVelY -= y
  94. fVelZ -= z
  95. //SET_OBJECT_VELOCITY iHandObj (fVelX fVelY fVelZ)
  96. APPLY_FORCE_TO_CAR iVehB (fVelX fVelY fVelZ) (0.0 0.0 0.0)
  97. ENDIF
  98.  
  99. IF IS_BUTTON_PRESSED PAD1 CROSS // ~k~~PED_SPRINT~
  100. WHILE IS_BUTTON_PRESSED PAD1 CROSS // ~k~~PED_SPRINT~
  101. WAIT 0
  102. ENDWHILE
  103. BREAK
  104. ENDIF
  105.  
  106. WAIT 0
  107. ENDWHILE
  108. GOSUB destroyWeb
  109. PRINT_FORMATTED_NOW "KILLED" 500
  110. WAIT 500
  111. //ENDIF
  112. ENDIF
  113.  
  114. ENDIF
  115. WAIT 0
  116. GOTO main_loop
  117.  
  118. destroyWeb:
  119. IF DOES_VEHICLE_EXIST iVehA
  120. OR DOES_VEHICLE_EXIST iVehB
  121. DELETE_CAR iVehA
  122. DELETE_CAR iVehB
  123. ENDIF
  124. RETURN
  125.  
  126. createWeb:
  127. LVAR_INT iVehA iVehB iHandObj
  128. REQUEST_MODEL 501 //#RCGOBLIN
  129. REQUEST_MODEL 441 //#RCBANDIT
  130. LOAD_ALL_MODELS_NOW
  131. IF NOT DOES_VEHICLE_EXIST iVehA
  132. AND NOT DOES_VEHICLE_EXIST iVehB
  133. GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS player_actor (0.0 3.0 10.0) (x y z)
  134. CREATE_CAR 501 (x y z) (iVehA) //#RCGOBLIN
  135. SET_CAR_PROOFS iVehA TRUE TRUE TRUE TRUE TRUE
  136. SET_CAR_VISIBLE iVehA TRUE
  137. SET_CAR_COLLISION iVehA FALSE
  138. ATTACH_WINCH_TO_HELI iVehA TRUE
  139. GET_CAR_COORDINATES iVehA (x y z)
  140. WAIT 0
  141. GOSUB findModel
  142. SET_CURRENT_CHAR_WEAPON player_actor WEAPONTYPE_UNARMED
  143. IF DOES_OBJECT_EXIST iHandObj
  144. GET_OFFSET_FROM_OBJECT_IN_WORLD_COORDS iHandObj (0.0 0.0 -1.0) (x y z)
  145. CREATE_CAR 441 (x y z) (iVehB) //#RCBANDIT
  146. WINCH_CAN_PICK_VEHICLE_UP iVehB TRUE
  147. SET_CAR_PROOFS iVehB TRUE TRUE TRUE TRUE TRUE
  148. SET_CAR_VISIBLE iVehB TRUE
  149. SET_CAR_COLLISION iVehB TRUE
  150. ENDIF
  151. WAIT 0
  152. //PRINT_FORMATTED_NOW "created" 500
  153. ENDIF
  154. MARK_MODEL_AS_NO_LONGER_NEEDED 501
  155. MARK_MODEL_AS_NO_LONGER_NEEDED 441
  156. RETURN
  157.  
  158. findModel:
  159. LVAR_INT p i obj
  160. //For all Objects
  161. READ_MEMORY 0xB7449C 4 FALSE (p)
  162. p += 0x4
  163. READ_MEMORY p 4 FALSE p
  164. i = 0
  165. WHILE i <= 89344
  166. READ_MEMORY p 1 FALSE (obj)
  167. p += 0x1
  168. IF obj >= 0x00
  169. AND 0x80 > obj
  170. obj += i
  171. IF DOES_OBJECT_EXIST obj
  172. IF DOES_OBJECT_HAVE_THIS_MODEL obj 3053 //#INDUS_MAGNET
  173. AND LOCATE_OBJECT_3D obj (x y z) (7.5 7.5 7.5) FALSE
  174. iHandObj = obj
  175. SET_OBJECT_SCALE iHandObj 0.5
  176. PRINT_FORMATTED_NOW "FOUND!" 1000
  177. GOTO findModelEnd
  178. ENDIF
  179. ENDIF
  180. ENDIF
  181. i += 0x100
  182. ENDWHILE
  183.  
  184. findModelEnd:
  185. RETURN
  186.  
  187. }
  188. SCRIPT_END
Advertisement
Add Comment
Please, Sign In to add comment