Advertisement
Guest User

NoClip Module Script v1.1.3 | D562H

a guest
Jul 4th, 2019
640
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.74 KB | None | 0 0
  1.  
  2. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
  3. NoClip Module Script v1.1.3
  4. D562H
  5. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
  6.  
  7. ------------------------------------------------------------------------------------------------------------------------------------------------------
  8.  
  9. G.Var N - Global NoClip Properties
  10. [0] Vector<
  11. [X] Default NoClip Access (Can be later given/taken from specific players)
  12. 0 = Players need permission to toggle NoClip by default.
  13. 1 = Everyone has access to NoClip by default.
  14.  
  15. [Y] Position Tag Visibility
  16. 0 = The positions of NoClip users are hidden from everyone.
  17. 1 = Everyone can see the position of a NoClip user.
  18. 2 = Only those with permission can see the position of a NoClip user.
  19. 3 = Only when using NoClip can you see the position of another NoClip user.
  20.  
  21. [Z] *NOT USED*
  22. >
  23.  
  24. [1] Vector<
  25. [X] The normal move speed of the NoClip camera.
  26. [Y] The speed of the no clip camera when boosting.
  27. [Z] The camera smoothing. The higher the value, the faster the transition is but 0 is instant.
  28. >
  29.  
  30. ------------------------------------------------------------------------------------------------------------------------------------------------------
  31.  
  32. P.Var N - Player NoClip Flags & Temp data
  33. [0] Has Permission (false,true)
  34. [1] NoClip Toggled (false,true)
  35. [2] Player Input Flag
  36. [3] Last Facing Direction
  37. [4] Name Tag TextID
  38. [5] Last Invincibility State
  39. [6] Bug Work-around
  40.  
  41. ------------------------------------------------------------------------------------------------------------------------------------------------------
  42.  
  43. P.Var P - Player NoClip Camera Position
  44.  
  45. ------------------------------------------------------------------------------------------------------------------------------------------------------
  46. ------------------------------------------------------------------------------------------------------------------------------------------------------
  47.  
  48. Features:
  49. Allow/disallow specific players to use NoClip.
  50. Show name tags of the positions of players using NoClip
  51. Very easy to set/change the activation method. (Keybinds)
  52. Fly in the direction your're facing, and even pass through walls into out-of-bounds areas.
  53. As you'd expect, you go back to regular form once you exit NoClip, continuing from that position.
  54. Easy to configure, allowing you to change the global properties such as permissions, name-tag visibility, default speed, boost speed and camera smoothing.
  55.  
  56. Controls & Properties:
  57. Controls:
  58. Toggle NoClip (configurable): Q/Ultimate
  59. Up: Space/Jump
  60. Down: Ctrl/Crouch
  61. Shift/Ability 2: Speed Boost
  62. Forwards
  63. Backwards
  64. Left
  65. Right
  66.  
  67. Default Properties (All Configurable)
  68. Access: 1 - Everyone has the ability to use NoClip
  69. Name-Tag Visibility: 1 - Everyone can see the position of a NoClip user.
  70. Normal flight speed (Meters/s): 10
  71. Boosted flight speed (Meters/s): 20
  72. Camera Smoothing: 25
  73.  
  74. Configurable Properties:
  75. In rule {1/4}, the first 2 actions are vector values with each component being used as a property. You can change these values to better suit your preferences.
  76.  
  77. Action 1:
  78. [X]: Default NoClip Access - This determines if by default, players will be able to use NoClip or not. (Default: 1)
  79. 0 = False
  80. 1 = True
  81. [Y]: Name-tag Visibility - When someone is using NoClip, their name can be placed above their head to show others where they are. (Default: 1)
  82. 0 = The positions of NoClip users are hidden from everyone. (A text entity will not be created.)
  83. 1 = Everyone can see the position of a NoClip user.
  84. 2 = Only those with permission can see the position of a NoClip user.
  85. 3 = Only when using NoClip can you see the position of another NoClip user.
  86. [Z]: *Not Used*
  87.  
  88. Action 2:
  89. [X]: The default move speed of the NoClip camera in Meters/s. (Default: 10)
  90. [Y]: The boost move speed of the NoClip camera in Meters/s. This is when the player is holding Shift/Ability1 (Default: 20)
  91. [Z]: NoClip Camera Smoothing - The higher the value, the faster the transition speed but 0 is instant. I recommend using between 10-60. (Default: 25)
  92.  
  93. Useful Information & Tricks:
  94. To get the current position of a player using NoClip, it's stored in Player Variable P.
  95. To give/take permission from a player, set the value at P.Var N[0] to true or false. A few examples of how this can be used:
  96. If there were some kind of currency/shop in your game, you should set this to true when a player purchases it.
  97. Having set boundaries where NoClip is/isn't allowed. You could give/take permission once a player enters/exits these bounds.
  98. Enabling NoClip for players that have been eliminated from the gamemode - kind of like an alternate spectate mode.
  99. To check if a specific player is currently using NoClip, the value is stored at P.Var N[1] (true/false).
  100.  
  101. ------------------------------------------------------------------------------------------------------------------------------------------------------
  102.  
  103. ------------------------------------------------------------------------------------------------------------------------------------------------------
  104. ###----------------------------------------------------------------- SCRIPT START -----------------------------------------------------------------###
  105.  
  106. rule("{1/4} § NOCLIP § Init Props | Modify NoClip here | <default_access,name_tag_visibility> | <move_speed,boost_speed,cam_smoothing>")
  107. {
  108. event
  109. {
  110. Ongoing - Each Player;
  111. All;
  112. All;
  113. }
  114.  
  115. actions
  116. {
  117. Set Global Variable At Index(N, 0, Vector(1, 1, 0));
  118. Set Global Variable At Index(N, 1, Vector(10, 20, 25));
  119. Set Player Variable At Index(Event Player, N, 0, Compare(X Component Of(Value In Array(Global Variable(N), 0)), ==, 1));
  120. }
  121. }
  122.  
  123. rule("{2/4} § NOCLIP § Activator - Setup your activation method here - Don't delete the first condition or the action | Default = Q")
  124. {
  125. event
  126. {
  127. Ongoing - Each Player;
  128. All;
  129. All;
  130. }
  131.  
  132. conditions
  133. {
  134. Value In Array(Player Variable(Event Player, N), 0) == True;
  135. Is Button Held(Event Player, Ultimate) == True;
  136. }
  137.  
  138. actions
  139. {
  140. Set Player Variable At Index(Event Player, N, 2, True);
  141. }
  142. }
  143.  
  144. rule("{3/4} § NOCLIP § Toggle Controller | Nothing in here for you to edit")
  145. {
  146. event
  147. {
  148. Ongoing - Each Player;
  149. All;
  150. All;
  151. }
  152.  
  153. conditions
  154. {
  155. Or(Value In Array(Player Variable(Event Player, N), 2), And(Compare(Value In Array(Player Variable(Event Player, N), 0), ==,
  156. False), Value In Array(Player Variable(Event Player, N), 1))) == True;
  157. }
  158.  
  159. actions
  160. {
  161. Set Player Variable At Index(Event Player, N, 1, Compare(Value In Array(Player Variable(Event Player, N), 1), ==, False));
  162. Skip If(Compare(Value In Array(Player Variable(Event Player, N), 1), ==, False), 21);
  163. Skip If(Compare(Y Component Of(Value In Array(Global Variable(N), 0)), ==, 0), 2);
  164. Create In-World Text(Remove From Array(Filtered Array(All Players(All Teams), Or(Compare(Y Component Of(Value In Array(
  165. Global Variable(N), 0)), ==, 1), Or(And(Compare(Y Component Of(Value In Array(Global Variable(N), 0)), ==, 2), Value In Array(
  166. Player Variable(Current Array Element, N), 0)), And(Compare(Y Component Of(Value In Array(Global Variable(N), 0)), ==, 3),
  167. Value In Array(Player Variable(Current Array Element, N), 1))))), Event Player), String("{0} {1}", Hero Icon String(Hero Of(
  168. Event Player)), Event Player, Null), Player Variable(Event Player, P), 1, Do Not Clip, Visible To Position and String);
  169. Set Player Variable At Index(Event Player, N, 4, Last Text ID);
  170. Set Player Variable(Event Player, P, Eye Position(Event Player));
  171. Start Camera(Event Player, Player Variable(Event Player, P), Add(Player Variable(Event Player, P), Facing Direction Of(
  172. Event Player)), Z Component Of(Value In Array(Global Variable(N), 1)));
  173. Set Player Variable At Index(Event Player, N, 3, Facing Direction Of(Event Player));
  174. Teleport(Event Player, Vector(Multiply(Index Of Array Value(All Players(All Teams), Event Player), 25), 500, 0));
  175. Set Facing(Event Player, Value In Array(Player Variable(Event Player, N), 3), To World);
  176. Start Accelerating(Event Player, Subtract(Vector(Multiply(Index Of Array Value(All Players(All Teams), Event Player), 25), 500, 0),
  177. Position Of(Event Player)), 10000, 12.800, To World, Direction Rate and Max Speed);
  178. Disallow Button(Event Player, Primary Fire);
  179. Disallow Button(Event Player, Secondary Fire);
  180. Disallow Button(Event Player, Ability 1);
  181. Disallow Button(Event Player, Ability 2);
  182. Disallow Button(Event Player, Ultimate);
  183. Disallow Button(Event Player, Interact);
  184. Disallow Button(Event Player, Jump);
  185. Disallow Button(Event Player, Crouch);
  186. Set Player Variable At Index(Event Player, N, 5, Has Status(Event Player, Invincible));
  187. Set Status(Event Player, Null, Invincible, 9999);
  188. Chase Player Variable At Rate(Event Player, P, Add(Player Variable(Event Player, P), Add(Multiply(Multiply(Facing Direction Of(
  189. Event Player), 1000), Z Component Of(Throttle Of(Event Player))), Multiply(Add(Multiply(World Vector Of(Left, Event Player,
  190. Rotation), X Component Of(Throttle Of(Event Player))), Vector(0, Add(Multiply(Is Button Held(Event Player, Jump), 1), Multiply(
  191. Is Button Held(Event Player, Crouch), -1.000)), 0)), 1000))), Add(Multiply(X Component Of(Value In Array(Global Variable(N),
  192. 1)), Compare(Is Button Held(Event Player, Ability 1), ==, False)), Multiply(Y Component Of(Value In Array(Global Variable(N),
  193. 1)), Compare(Is Button Held(Event Player, Ability 1), ==, True))), Destination and Rate);
  194. Small Message(Event Player, String("{0} {1}", String("Started", Null, Null, Null), String("Flying", Null, Null, Null), Null));
  195. Skip If(Compare(Value In Array(Player Variable(Event Player, N), 1), ==, True), 20);
  196. Stop Accelerating(Event Player);
  197. Apply Impulse(Event Player, Multiply(Velocity Of(Event Player), -1.000), 1, To World, Incorporate Contrary Motion);
  198. Set Player Variable At Index(Event Player, N, 3, Facing Direction Of(Event Player));
  199. Teleport(Event Player, Subtract(Player Variable(Event Player, P), Subtract(Eye Position(Event Player), Position Of(
  200. Event Player))));
  201. Destroy In-World Text(Value In Array(Player Variable(Event Player, N), 4));
  202. Stop Chasing Player Variable(Event Player, P);
  203. Set Facing(Event Player, Value In Array(Player Variable(Event Player, N), 3), To World);
  204. Allow Button(Event Player, Primary Fire);
  205. Allow Button(Event Player, Secondary Fire);
  206. Allow Button(Event Player, Ability 1);
  207. Allow Button(Event Player, Ability 2);
  208. Allow Button(Event Player, Ultimate);
  209. Allow Button(Event Player, Interact);
  210. Allow Button(Event Player, Jump);
  211. Allow Button(Event Player, Crouch);
  212. Skip If(Value In Array(Player Variable(Event Player, N), 5), 1);
  213. Clear Status(Event Player, Invincible);
  214. Wait(0.030, Ignore Condition);
  215. Stop Camera(Event Player);
  216. Small Message(Event Player, String("{0} {1}", String("Stopped", Null, Null, Null), String("Flying", Null, Null, Null), Null));
  217. Set Player Variable At Index(Event Player, N, 2, False);
  218. }
  219. }
  220.  
  221. rule("{4/4} § NOCLIP § Workshop bug work-around :(")
  222. {
  223. event
  224. {
  225. Ongoing - Each Player;
  226. All;
  227. All;
  228. }
  229.  
  230. conditions
  231. {
  232. Value In Array(Player Variable(Event Player, N), 1) == True;
  233. Or(Compare(Throttle Of(Event Player), !=, Vector(0, 0, 0)), Or(Is Button Held(Event Player, Jump), Is Button Held(Event Player,
  234. Crouch))) == True;
  235. }
  236.  
  237. actions
  238. {
  239. Wait(0.100, Abort When False);
  240. Set Player Variable At Index(Event Player, N, 6, Throttle Of(Event Player));
  241. Loop;
  242. }
  243. }
  244.  
  245. ###------------------------------------------------------------------ SCRIPT END ------------------------------------------------------------------###
  246. ------------------------------------------------------------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement