Advertisement
Roblox_Xploits

boop

Nov 5th, 2017
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.18 KB | None | 0 0
  1.  
  2. --Converted with ttyyuu12345's model to script plugin v4
  3. function sandbox(var,func)
  4. local env = getfenv(func)
  5. local newenv = setmetatable({},{
  6. __index = function(self,k)
  7. if k=="script" then
  8. return var
  9. else
  10. return env[k]
  11. end
  12. end,
  13. })
  14. setfenv(func,newenv)
  15. return func
  16. end
  17. cors = {}
  18. mas = Instance.new("Model",game:GetService("Lighting"))
  19. Tool0 = Instance.new("Tool")
  20. SpecialMesh1 = Instance.new("SpecialMesh")
  21. ManualWeld2 = Instance.new("ManualWeld")
  22. ManualWeld3 = Instance.new("ManualWeld")
  23. Part4 = Instance.new("Part")
  24. ManualWeld5 = Instance.new("ManualWeld")
  25. ManualWeld6 = Instance.new("ManualWeld")
  26. Part7 = Instance.new("Part")
  27. SpecialMesh8 = Instance.new("SpecialMesh")
  28. ManualWeld9 = Instance.new("ManualWeld")
  29. Part10 = Instance.new("Part")
  30. ManualWeld11 = Instance.new("ManualWeld")
  31. Part12 = Instance.new("Part")
  32. ManualWeld13 = Instance.new("ManualWeld")
  33. Part14 = Instance.new("Part")
  34. Attachment15 = Instance.new("Attachment")
  35. RopeConstraint16 = Instance.new("RopeConstraint")
  36. ManualWeld17 = Instance.new("ManualWeld")
  37. Part18 = Instance.new("Part")
  38. SpecialMesh19 = Instance.new("SpecialMesh")
  39. ManualWeld20 = Instance.new("ManualWeld")
  40. Part21 = Instance.new("Part")
  41. ManualWeld22 = Instance.new("ManualWeld")
  42. Part23 = Instance.new("Part")
  43. SpecialMesh24 = Instance.new("SpecialMesh")
  44. ManualWeld25 = Instance.new("ManualWeld")
  45. Sound26 = Instance.new("Sound")
  46. Sound27 = Instance.new("Sound")
  47. Attachment28 = Instance.new("Attachment")
  48. Sound29 = Instance.new("Sound")
  49. Script30 = Instance.new("Script")
  50. ObjectValue31 = Instance.new("ObjectValue")
  51. ObjectValue32 = Instance.new("ObjectValue")
  52. CFrameValue33 = Instance.new("CFrameValue")
  53. CFrameValue34 = Instance.new("CFrameValue")
  54. ObjectValue35 = Instance.new("ObjectValue")
  55. CFrameValue36 = Instance.new("CFrameValue")
  56. CFrameValue37 = Instance.new("CFrameValue")
  57. ObjectValue38 = Instance.new("ObjectValue")
  58. CFrameValue39 = Instance.new("CFrameValue")
  59. CFrameValue40 = Instance.new("CFrameValue")
  60. ObjectValue41 = Instance.new("ObjectValue")
  61. CFrameValue42 = Instance.new("CFrameValue")
  62. CFrameValue43 = Instance.new("CFrameValue")
  63. ObjectValue44 = Instance.new("ObjectValue")
  64. CFrameValue45 = Instance.new("CFrameValue")
  65. CFrameValue46 = Instance.new("CFrameValue")
  66. ObjectValue47 = Instance.new("ObjectValue")
  67. CFrameValue48 = Instance.new("CFrameValue")
  68. CFrameValue49 = Instance.new("CFrameValue")
  69. ObjectValue50 = Instance.new("ObjectValue")
  70. CFrameValue51 = Instance.new("CFrameValue")
  71. CFrameValue52 = Instance.new("CFrameValue")
  72. ObjectValue53 = Instance.new("ObjectValue")
  73. CFrameValue54 = Instance.new("CFrameValue")
  74. CFrameValue55 = Instance.new("CFrameValue")
  75. ObjectValue56 = Instance.new("ObjectValue")
  76. CFrameValue57 = Instance.new("CFrameValue")
  77. CFrameValue58 = Instance.new("CFrameValue")
  78. ObjectValue59 = Instance.new("ObjectValue")
  79. CFrameValue60 = Instance.new("CFrameValue")
  80. CFrameValue61 = Instance.new("CFrameValue")
  81. Script62 = Instance.new("Script")
  82. LocalScript63 = Instance.new("LocalScript")
  83. LocalScript64 = Instance.new("LocalScript")
  84. Tool0.Name = "Grapple Gun"
  85. Tool0.Parent = mas
  86. Tool0.GripForward = Vector3.new(0.122276917, -8.67667538e-08, 0.992496014)
  87. Tool0.GripPos = Vector3.new(-0.313411057, -0.00462485058, 0.42207998)
  88. Tool0.GripRight = Vector3.new(-0.0510015152, 0.998678803, 0.00628354633)
  89. Tool0.GripUp = Vector3.new(0.991184711, 0.0513871349, -0.122115359)
  90. SpecialMesh1.Parent = Tool0
  91. SpecialMesh1.Scale = Vector3.new(0.5, 1, 0.5)
  92. SpecialMesh1.Scale = Vector3.new(0.5, 1, 0.5)
  93. ManualWeld2.Name = "Weld"
  94. ManualWeld2.Parent = mas
  95. ManualWeld2.C0 = CFrame.new(0, 0, 0, -0.0580289774, 0.052552972, 0.996931016, 0.998133242, -0.0159979798, 0.0589423366, 0.0190464854, 0.998490155, -0.0515265539)
  96. ManualWeld2.C1 = CFrame.new(0.0863404274, -0.0222563744, -0.987207413, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  97. ManualWeld2.Part0 = nil
  98. ManualWeld2.Part1 = Part23
  99. ManualWeld3.Name = "Weld"
  100. ManualWeld3.Parent = mas
  101. ManualWeld3.C0 = CFrame.new(0, 0, 0, 0.998133242, -0.0159979798, 0.0589423366, 0.0580289774, -0.052552972, -0.996931016, 0.0190464854, 0.998490155, -0.0515265539)
  102. ManualWeld3.C1 = CFrame.new(0.418909073, 9.77516174e-06, -0.323640823, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  103. ManualWeld3.Part0 = nil
  104. ManualWeld3.Part1 = Part23
  105. Part4.Parent = Tool0
  106. Part4.Material = Enum.Material.DiamondPlate
  107. Part4.BrickColor = BrickColor.new("Institutional white")
  108. Part4.Rotation = Vector3.new(89.5999985, -4.00999975, -11.0500002)
  109. Part4.Shape = Enum.PartType.Ball
  110. Part4.Size = Vector3.new(0.19124943, 0.19124943, 0.19124943)
  111. Part4.CFrame = CFrame.new(5.86478138, 1.41457725, 30.1031151, 0.979046404, 0.191265896, -0.0698968023, -0.0699528381, -0.00646771397, -0.997529566, -0.191245452, 0.981517255, 0.00704752654)
  112. Part4.BottomSurface = Enum.SurfaceType.Smooth
  113. Part4.TopSurface = Enum.SurfaceType.Smooth
  114. Part4.Color = Color3.new(0.972549, 0.972549, 0.972549)
  115. Part4.Position = Vector3.new(5.86478138, 1.41457725, 30.1031151)
  116. Part4.Orientation = Vector3.new(85.9700012, -84.2399979, -95.2799988)
  117. Part4.Color = Color3.new(0.972549, 0.972549, 0.972549)
  118. ManualWeld5.Name = "Weld"
  119. ManualWeld5.Parent = Part4
  120. ManualWeld5.C0 = CFrame.new(0, 0, 0, 0.979046404, -0.0699528381, -0.191245452, 0.191265896, -0.00646771397, 0.981517255, -0.0698968023, -0.997529566, 0.00704752654)
  121. ManualWeld5.C1 = CFrame.new(-0.295347691, 0.0125772953, -0.125455856, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  122. ManualWeld5.Part0 = Part4
  123. ManualWeld5.Part1 = Part23
  124. ManualWeld6.Name = "Weld"
  125. ManualWeld6.Parent = mas
  126. ManualWeld6.C0 = CFrame.new(0, 0, 0, 0.188958481, 0.00539868232, 0.9819718, -0.981657386, -0.0247960351, 0.189034268, 0.0253694654, -0.999678135, 0.00061424973)
  127. ManualWeld6.C1 = CFrame.new(0.0582213402, 0.0527820587, 0.654497147, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  128. ManualWeld6.Part0 = nil
  129. ManualWeld6.Part1 = Part23
  130. Part7.Parent = Tool0
  131. Part7.Material = Enum.Material.DiamondPlate
  132. Part7.BrickColor = BrickColor.new("Dark stone grey")
  133. Part7.Rotation = Vector3.new(176.979996, 3.32999992, 91.0899963)
  134. Part7.Size = Vector3.new(0.2249998, 0.445498616, 0.218249291)
  135. Part7.CFrame = CFrame.new(6.25801373, 1.41964054, 29.8813953, -0.0190464854, -0.998133242, 0.0580289774, -0.998490155, 0.0159979798, -0.052552972, 0.0515265539, -0.0589423366, -0.996931016)
  136. Part7.Color = Color3.new(0.388235, 0.372549, 0.384314)
  137. Part7.Position = Vector3.new(6.25801373, 1.41964054, 29.8813953)
  138. Part7.Orientation = Vector3.new(3.00999999, 176.669998, -89.0799942)
  139. Part7.Color = Color3.new(0.388235, 0.372549, 0.384314)
  140. SpecialMesh8.Parent = Part7
  141. SpecialMesh8.MeshType = Enum.MeshType.Wedge
  142. ManualWeld9.Name = "Weld"
  143. ManualWeld9.Parent = Part7
  144. ManualWeld9.C0 = CFrame.new(0, 0, 0, -0.0190464854, -0.998490155, 0.0515265539, -0.998133242, 0.0159979798, -0.0589423366, 0.0580289774, -0.052552972, -0.996931016)
  145. ManualWeld9.C1 = CFrame.new(0.097884655, 0.0176405907, -0.347175598, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  146. ManualWeld9.Part0 = Part7
  147. ManualWeld9.Part1 = Part23
  148. Part10.Parent = Tool0
  149. Part10.Material = Enum.Material.DiamondPlate
  150. Part10.BrickColor = BrickColor.new("Dark stone grey")
  151. Part10.Rotation = Vector3.new(89.9599991, 1.44999993, 0.799999952)
  152. Part10.Shape = Enum.PartType.Cylinder
  153. Part10.Size = Vector3.new(0.786248505, 0.191249445, 0.326248884)
  154. Part10.CFrame = CFrame.new(5.96688366, 1.42890608, 30.7122364, 0.999583006, -0.0138729978, 0.0253687184, 0.0253747851, 0.000262671383, -0.999679565, 0.013861876, 0.999905527, 0.000614587159)
  155. Part10.BottomSurface = Enum.SurfaceType.Smooth
  156. Part10.TopSurface = Enum.SurfaceType.Smooth
  157. Part10.Color = Color3.new(0.388235, 0.372549, 0.384314)
  158. Part10.Position = Vector3.new(5.96688366, 1.42890608, 30.7122364)
  159. Part10.Orientation = Vector3.new(88.5499954, 88.6100006, 89.409996)
  160. Part10.Color = Color3.new(0.388235, 0.372549, 0.384314)
  161. ManualWeld11.Name = "Weld"
  162. ManualWeld11.Parent = Part10
  163. ManualWeld11.C0 = CFrame.new(0, 0, 0, 0.999583006, 0.0253747851, 0.013861876, -0.0138729978, 0.000262671383, 0.999905527, 0.0253687184, -0.999679565, 0.000614587159)
  164. ManualWeld11.C1 = CFrame.new(-0.193245411, 0.0269061327, 0.483665466, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  165. ManualWeld11.Part0 = Part10
  166. ManualWeld11.Part1 = Part23
  167. Part12.Parent = Tool0
  168. Part12.Material = Enum.Material.DiamondPlate
  169. Part12.BrickColor = BrickColor.new("Dark stone grey")
  170. Part12.Rotation = Vector3.new(-92.9499969, 1.09000003, -93.3299942)
  171. Part12.Size = Vector3.new(1.14749682, 0.445498616, 0.218249321)
  172. Part12.CFrame = CFrame.new(6.29801321, 1.3719871, 29.191103, -0.0580289774, 0.998133242, 0.0190464854, 0.052552972, -0.0159979798, 0.998490155, 0.996931016, 0.0589423366, -0.0515265539)
  173. Part12.Color = Color3.new(0.388235, 0.372549, 0.384314)
  174. Part12.Position = Vector3.new(6.29801321, 1.3719871, 29.191103)
  175. Part12.Orientation = Vector3.new(-86.8499985, 159.709991, 106.93)
  176. Part12.Color = Color3.new(0.388235, 0.372549, 0.384314)
  177. ManualWeld13.Name = "Weld"
  178. ManualWeld13.Parent = Part12
  179. ManualWeld13.C0 = CFrame.new(0, 0, 0, -0.0580289774, 0.052552972, 0.996931016, 0.998133242, -0.0159979798, 0.0589423366, 0.0190464854, 0.998490155, -0.0515265539)
  180. ManualWeld13.C1 = CFrame.new(0.13788414, -0.030012846, -1.03746796, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  181. ManualWeld13.Part0 = Part12
  182. ManualWeld13.Part1 = Part23
  183. Part14.Parent = Tool0
  184. Part14.Material = Enum.Material.DiamondPlate
  185. Part14.BrickColor = BrickColor.new("Dark stone grey")
  186. Part14.Rotation = Vector3.new(-92.9499969, 1.09000003, -93.3299942)
  187. Part14.Shape = Enum.PartType.Cylinder
  188. Part14.Size = Vector3.new(2.7449913, 0.224999294, 0.224999294)
  189. Part14.CFrame = CFrame.new(6.45014763, 1.40933704, 29.9992676, -0.0580289848, 0.998133242, 0.0190464798, 0.0525529869, -0.0159979891, 0.998490036, 0.996930778, 0.0589423105, -0.0515265279)
  190. Part14.BottomSurface = Enum.SurfaceType.Smooth
  191. Part14.TopSurface = Enum.SurfaceType.Smooth
  192. Part14.Color = Color3.new(0.388235, 0.372549, 0.384314)
  193. Part14.Position = Vector3.new(6.45014763, 1.40933704, 29.9992676)
  194. Part14.Orientation = Vector3.new(-86.8499985, 159.709991, 106.93)
  195. Part14.Color = Color3.new(0.388235, 0.372549, 0.384314)
  196. Attachment15.Name = "Attachment0"
  197. Attachment15.Parent = Part14
  198. Attachment15.CFrame = CFrame.new(1.37249565, -0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  199. Attachment15.Position = Vector3.new(1.37249565, -0, 0)
  200. RopeConstraint16.Parent = Part14
  201. RopeConstraint16.Color = BrickColor.new("Dirt brown")
  202. RopeConstraint16.Visible = true
  203. RopeConstraint16.Attachment0 = Attachment15
  204. RopeConstraint16.Color = BrickColor.new("Dirt brown")
  205. RopeConstraint16.Length = 1
  206. RopeConstraint16.Thickness = 0.050000000745058
  207. ManualWeld17.Name = "Weld"
  208. ManualWeld17.Parent = Part14
  209. ManualWeld17.C0 = CFrame.new(0, 0, 0, -0.0580289848, 0.0525529869, 0.996930778, 0.998133242, -0.0159979891, 0.0589423105, 0.0190464798, 0.998490036, -0.0515265279)
  210. ManualWeld17.C1 = CFrame.new(0.290018559, 0.00733709335, -0.22930336, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  211. ManualWeld17.Part0 = Part14
  212. ManualWeld17.Part1 = Part23
  213. Part18.Parent = Tool0
  214. Part18.Material = Enum.Material.DiamondPlate
  215. Part18.BrickColor = BrickColor.new("Dark stone grey")
  216. Part18.Rotation = Vector3.new(176.649994, 19.9200001, 91.159996)
  217. Part18.Size = Vector3.new(0.0900001973, 0.310498983, 0.105749637)
  218. Part18.CFrame = CFrame.new(6.22315168, 1.43123496, 30.0931625, -0.0190464854, -0.939994335, 0.340658188, -0.998490155, 0.000323727727, -0.0549331158, 0.0515265539, -0.341190159, -0.938581228)
  219. Part18.Color = Color3.new(0.388235, 0.372549, 0.384314)
  220. Part18.Position = Vector3.new(6.22315168, 1.43123496, 30.0931625)
  221. Part18.Orientation = Vector3.new(3.14999986, 160.050003, -89.9799957)
  222. Part18.Color = Color3.new(0.388235, 0.372549, 0.384314)
  223. SpecialMesh19.Parent = Part18
  224. SpecialMesh19.MeshType = Enum.MeshType.Wedge
  225. ManualWeld20.Name = "Weld"
  226. ManualWeld20.Parent = Part18
  227. ManualWeld20.C0 = CFrame.new(0, 0, 0, -0.0190464854, -0.998490155, 0.0515265539, -0.939994335, 0.000323727727, -0.341190159, 0.340658188, -0.0549331158, -0.938581228)
  228. ManualWeld20.C1 = CFrame.new(0.0630226135, 0.0292350054, -0.135408401, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  229. ManualWeld20.Part0 = Part18
  230. ManualWeld20.Part1 = Part23
  231. Part21.Parent = Tool0
  232. Part21.Material = Enum.Material.DiamondPlate
  233. Part21.BrickColor = BrickColor.new("Institutional white")
  234. Part21.Rotation = Vector3.new(89.5999985, -4.00999975, -11.0500002)
  235. Part21.Shape = Enum.PartType.Ball
  236. Part21.Size = Vector3.new(0.19124943, 0.19124943, 0.19124943)
  237. Part21.CFrame = CFrame.new(6.05067492, 1.42108226, 29.8165855, 0.979046404, 0.191265896, -0.0698968098, -0.0699528381, -0.0064676553, -0.997529447, -0.191245422, 0.981517136, 0.00704746693)
  238. Part21.BottomSurface = Enum.SurfaceType.Smooth
  239. Part21.TopSurface = Enum.SurfaceType.Smooth
  240. Part21.Color = Color3.new(0.972549, 0.972549, 0.972549)
  241. Part21.Position = Vector3.new(6.05067492, 1.42108226, 29.8165855)
  242. Part21.Orientation = Vector3.new(85.9700012, -84.2399979, -95.2799988)
  243. Part21.Color = Color3.new(0.972549, 0.972549, 0.972549)
  244. ManualWeld22.Name = "Weld"
  245. ManualWeld22.Parent = Part21
  246. ManualWeld22.C0 = CFrame.new(0, 0, 0, 0.979046404, -0.0699528381, -0.191245422, 0.191265896, -0.0064676553, 0.981517136, -0.0698968098, -0.997529447, 0.00704746693)
  247. ManualWeld22.C1 = CFrame.new(-0.109454155, 0.0190823078, -0.411985397, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  248. ManualWeld22.Part0 = Part21
  249. ManualWeld22.Part1 = Part23
  250. Part23.Name = "Handle"
  251. Part23.Parent = Tool0
  252. Part23.Size = Vector3.new(0.783999979, 0.230000004, 0.985000014)
  253. Part23.CFrame = CFrame.new(6.16012907, 1.40199995, 30.2285709, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  254. Part23.BottomSurface = Enum.SurfaceType.Smooth
  255. Part23.TopSurface = Enum.SurfaceType.Smooth
  256. Part23.Position = Vector3.new(6.16012907, 1.40199995, 30.2285709)
  257. SpecialMesh24.Parent = Part23
  258. SpecialMesh24.MeshId = "rbxassetid://967574006"
  259. SpecialMesh24.TextureId = "rbxassetid://967578877"
  260. SpecialMesh24.MeshType = Enum.MeshType.FileMesh
  261. ManualWeld25.Name = "Weld"
  262. ManualWeld25.Parent = Part23
  263. ManualWeld25.C0 = CFrame.new(0, 0, 0, 0.170958012, 0.861410141, 0.478274047, 0.274102032, -0.507838607, 0.816681087, 0.946383357, -0.00852229446, -0.322933316)
  264. ManualWeld25.C1 = CFrame.new(0.31759119, 0.243120193, -0.00854682922, -0.0250650086, 0.967065334, -0.2532911, 0.301864862, 0.248865172, 0.920295537, 0.953021228, -0.0533924624, -0.298160821)
  265. Sound26.Name = "ConnectSound"
  266. Sound26.Parent = Part23
  267. Sound26.SoundId = "rbxassetid://138259748"
  268. Sound26.Volume = 1
  269. Sound27.Name = "FireSound"
  270. Sound27.Parent = Part23
  271. Sound27.SoundId = "rbxassetid://659223262"
  272. Sound27.Volume = 1
  273. Attachment28.Name = "RightGripAttachment"
  274. Attachment28.Parent = Part23
  275. Attachment28.Rotation = Vector3.new(-0, -90, 0)
  276. Attachment28.CFrame = CFrame.new(0, 0, 1.14999998, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  277. Attachment28.Position = Vector3.new(0, 0, 1.14999998)
  278. Attachment28.Axis = Vector3.new(0, 0, 1)
  279. Attachment28.Orientation = Vector3.new(-0, -90, 0)
  280. Sound29.Name = "HitSound"
  281. Sound29.Parent = Part23
  282. Sound29.Volume = 1
  283. Script30.Name = "Weld"
  284. Script30.Parent = Tool0
  285. table.insert(cors,sandbox(Script30,function()
  286. tool = script.Parent
  287. while not tool:FindFirstChild("WeldProfile") do wait() end
  288. profile = tool.WeldProfile
  289. function reweld()
  290. for k, v in pairs(profile:GetChildren()) do
  291. local b = v.Value
  292. b:BreakJoints()
  293. local w = Instance.new("ManualWeld")
  294. w.Name = "HandleWeld"
  295. w.Part0 = b
  296. w.Part1 = profile.Value
  297. w.C0 = v.C0.Value
  298. w.C1 = v.C1.Value
  299. w.Parent = game.JointsService
  300. end
  301. end
  302. tool.AncestryChanged:connect(reweld)
  303. reweld()
  304.  
  305. end))
  306. ObjectValue31.Name = "WeldProfile"
  307. ObjectValue31.Parent = Tool0
  308. ObjectValue31.Value = Part23
  309. ObjectValue32.Name = "Profile1"
  310. ObjectValue32.Parent = ObjectValue31
  311. ObjectValue32.Value = Part7
  312. CFrameValue33.Name = "C0"
  313. CFrameValue33.Parent = ObjectValue32
  314. CFrameValue33.Value = CFrame.new(0, 0, 0, -0.0190464854, -0.998490155, 0.0515265539, -0.998133242, 0.0159979798, -0.0589423366, 0.0580289774, -0.052552972, -0.996931016)
  315. CFrameValue34.Name = "C1"
  316. CFrameValue34.Parent = ObjectValue32
  317. CFrameValue34.Value = CFrame.new(0.097884655, 0.0176405907, -0.347175598, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  318. ObjectValue35.Name = "Profile2"
  319. ObjectValue35.Parent = ObjectValue31
  320. ObjectValue35.Value = Part10
  321. CFrameValue36.Name = "C0"
  322. CFrameValue36.Parent = ObjectValue35
  323. CFrameValue36.Value = CFrame.new(0, 0, 0, 0.999583006, 0.0253747851, 0.013861876, -0.0138729978, 0.000262671383, 0.999905527, 0.0253687184, -0.999679565, 0.000614587159)
  324. CFrameValue37.Name = "C1"
  325. CFrameValue37.Parent = ObjectValue35
  326. CFrameValue37.Value = CFrame.new(-0.193245411, 0.0269061327, 0.483665466, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  327. ObjectValue38.Name = "Profile3"
  328. ObjectValue38.Parent = ObjectValue31
  329. ObjectValue38.Value = Part12
  330. CFrameValue39.Name = "C0"
  331. CFrameValue39.Parent = ObjectValue38
  332. CFrameValue39.Value = CFrame.new(0, 0, 0, -0.0580289774, 0.052552972, 0.996931016, 0.998133242, -0.0159979798, 0.0589423366, 0.0190464854, 0.998490155, -0.0515265539)
  333. CFrameValue40.Name = "C1"
  334. CFrameValue40.Parent = ObjectValue38
  335. CFrameValue40.Value = CFrame.new(0.13788414, -0.030012846, -1.03746796, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  336. ObjectValue41.Name = "Profile4"
  337. ObjectValue41.Parent = ObjectValue31
  338. ObjectValue41.Value = Part14
  339. CFrameValue42.Name = "C0"
  340. CFrameValue42.Parent = ObjectValue41
  341. CFrameValue42.Value = CFrame.new(0, 0, 0, -0.0580289848, 0.0525529869, 0.996930778, 0.998133242, -0.0159979891, 0.0589423105, 0.0190464798, 0.998490036, -0.0515265279)
  342. CFrameValue43.Name = "C1"
  343. CFrameValue43.Parent = ObjectValue41
  344. CFrameValue43.Value = CFrame.new(0.290018559, 0.00733709335, -0.22930336, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  345. ObjectValue44.Name = "Profile5"
  346. ObjectValue44.Parent = ObjectValue31
  347. ObjectValue44.Value = Part18
  348. CFrameValue45.Name = "C0"
  349. CFrameValue45.Parent = ObjectValue44
  350. CFrameValue45.Value = CFrame.new(0, 0, 0, -0.0190464854, -0.998490155, 0.0515265539, -0.939994335, 0.000323727727, -0.341190159, 0.340658188, -0.0549331158, -0.938581228)
  351. CFrameValue46.Name = "C1"
  352. CFrameValue46.Parent = ObjectValue44
  353. CFrameValue46.Value = CFrame.new(0.0630226135, 0.0292350054, -0.135408401, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  354. ObjectValue47.Name = "Profile6"
  355. ObjectValue47.Parent = ObjectValue31
  356. ObjectValue47.Value = Part21
  357. CFrameValue48.Name = "C0"
  358. CFrameValue48.Parent = ObjectValue47
  359. CFrameValue48.Value = CFrame.new(0, 0, 0, 0.979046404, -0.0699528381, -0.191245422, 0.191265896, -0.0064676553, 0.981517136, -0.0698968098, -0.997529447, 0.00704746693)
  360. CFrameValue49.Name = "C1"
  361. CFrameValue49.Parent = ObjectValue47
  362. CFrameValue49.Value = CFrame.new(-0.109454155, 0.0190823078, -0.411985397, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  363. ObjectValue50.Name = "Profile7"
  364. ObjectValue50.Parent = ObjectValue31
  365. ObjectValue50.Value = Part4
  366. CFrameValue51.Name = "C0"
  367. CFrameValue51.Parent = ObjectValue50
  368. CFrameValue51.Value = CFrame.new(0, 0, 0, 0.979046404, -0.0699528381, -0.191245452, 0.191265896, -0.00646771397, 0.981517255, -0.0698968023, -0.997529566, 0.00704752654)
  369. CFrameValue52.Name = "C1"
  370. CFrameValue52.Parent = ObjectValue50
  371. CFrameValue52.Value = CFrame.new(-0.295347691, 0.0125772953, -0.125455856, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  372. ObjectValue53.Name = "Profile8"
  373. ObjectValue53.Parent = ObjectValue31
  374. ObjectValue53.Value = nil
  375. CFrameValue54.Name = "C0"
  376. CFrameValue54.Parent = ObjectValue53
  377. CFrameValue54.Value = CFrame.new(0, 0, 0, 0.188958481, 0.00539868232, 0.9819718, -0.981657386, -0.0247960351, 0.189034268, 0.0253694654, -0.999678135, 0.00061424973)
  378. CFrameValue55.Name = "C1"
  379. CFrameValue55.Parent = ObjectValue53
  380. CFrameValue55.Value = CFrame.new(0.0582213402, 0.0527820587, 0.654497147, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  381. ObjectValue56.Name = "Profile9"
  382. ObjectValue56.Parent = ObjectValue31
  383. ObjectValue56.Value = nil
  384. CFrameValue57.Name = "C0"
  385. CFrameValue57.Parent = ObjectValue56
  386. CFrameValue57.Value = CFrame.new(0, 0, 0, -0.0580289774, 0.052552972, 0.996931016, 0.998133242, -0.0159979798, 0.0589423366, 0.0190464854, 0.998490155, -0.0515265539)
  387. CFrameValue58.Name = "C1"
  388. CFrameValue58.Parent = ObjectValue56
  389. CFrameValue58.Value = CFrame.new(0.0863404274, -0.0222563744, -0.987207413, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  390. ObjectValue59.Name = "Profile10"
  391. ObjectValue59.Parent = ObjectValue31
  392. ObjectValue59.Value = nil
  393. CFrameValue60.Name = "C0"
  394. CFrameValue60.Parent = ObjectValue59
  395. CFrameValue60.Value = CFrame.new(0, 0, 0, 0.998133242, -0.0159979798, 0.0589423366, 0.0580289774, -0.052552972, -0.996931016, 0.0190464854, 0.998490155, -0.0515265539)
  396. CFrameValue61.Name = "C1"
  397. CFrameValue61.Parent = ObjectValue59
  398. CFrameValue61.Value = CFrame.new(0.418909073, 9.77516174e-06, -0.323640823, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  399. Script62.Name = "Weld"
  400. Script62.Parent = Tool0
  401. table.insert(cors,sandbox(Script62,function()
  402. tool = script.Parent
  403. while not tool:FindFirstChild("WeldProfile") do wait() end
  404. profile = tool.WeldProfile
  405. function reweld()
  406. for k, v in pairs(profile:GetChildren()) do
  407. local b = v.Value
  408. b:BreakJoints()
  409. local w = Instance.new("ManualWeld")
  410. w.Name = "HandleWeld"
  411. w.Part0 = b
  412. w.Part1 = profile.Value
  413. w.C0 = v.C0.Value
  414. w.C1 = v.C1.Value
  415. w.Parent = game.JointsService
  416. end
  417. end
  418. tool.AncestryChanged:connect(reweld)
  419. reweld()
  420.  
  421. end))
  422. LocalScript63.Name = "WeldBackup"
  423. LocalScript63.Parent = Tool0
  424. table.insert(cors,sandbox(LocalScript63,function()
  425. tool = script.Parent
  426. while not tool:FindFirstChild("WeldProfile") do wait() end
  427. profile = tool.WeldProfile
  428. function reweld()
  429. for k, v in pairs(profile:GetChildren()) do
  430. local b = v.Value
  431. b:BreakJoints()
  432. local w = Instance.new("ManualWeld")
  433. w.Name = "HandleWeld"
  434. w.Part0 = b
  435. w.Part1 = profile.Value
  436. w.C0 = v.C0.Value
  437. w.C1 = v.C1.Value
  438. w.Parent = game.JointsService
  439. end
  440. end
  441. tool.AncestryChanged:connect(reweld)
  442. reweld()
  443.  
  444. end))
  445. LocalScript64.Parent = Tool0
  446. table.insert(cors,sandbox(LocalScript64,function()
  447. local maxDistance = 300
  448. local canFireWhileGrappling = false
  449.  
  450. local Tool = script.Parent;
  451. local torso = nil
  452. local human = nil
  453. local bolt = nil
  454. local targetPos = Vector3.new(0,0,0)
  455. local boltconnect = nil
  456. local holdweld = nil
  457.  
  458. local rope = Instance.new("Part")
  459. --rope.BrickColor = BrickColor.new("Black")
  460. rope.TopSurface = 0
  461. rope.BottomSurface = 0
  462. rope.formFactor = "Symmetric"
  463. rope.Name = "Rope"
  464. rope.CanCollide = false
  465. rope.Anchored = true
  466. local mesh = Instance.new("CylinderMesh")
  467. mesh.Parent = rope
  468. mesh.Scale = Vector3.new(0.1,1,0.1)
  469.  
  470. local RetractionSpeed = 45
  471. local StartDistance = 100
  472.  
  473. local PlayerBodyVelocity = Instance.new("BodyVelocity")
  474. PlayerBodyVelocity.maxForce = Vector3.new(1e+006, 1e+006, 1e+006)
  475. local ObjectBodyVelocity = Instance.new("BodyVelocity")
  476. ObjectBodyVelocity.maxForce = Vector3.new(5000,5000,5000) --force necessary to forcefully grab a player
  477.  
  478. local bodyPos = Instance.new("BodyPosition")
  479. bodyPos.D = 1e+003
  480. bodyPos.P = 3e+003
  481. bodyPos.maxForce = Vector3.new(1e+006, 1e+006, 1e+006)
  482.  
  483. local bodyGyro = Instance.new("BodyGyro")
  484. bodyGyro.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  485.  
  486. function BreakRope()
  487. if human then
  488. human.Sit = false
  489. end
  490. rope.Parent = nil
  491. if PlayerBodyVelocity then PlayerBodyVelocity.Parent = nil end
  492. if ObjectBodyVelocity then ObjectBodyVelocity.Parent = nil end
  493. bodyGyro.Parent = nil
  494. if bolt ~= nil then
  495. bolt.Parent = nil
  496. end
  497. if holdweld ~= nil then
  498. holdweld.Parent = nil
  499. end
  500. holdweld = nil
  501. bolt = nil
  502. Tool.Handle.Mesh.MeshId = "http://www.roblox.com/asset/?id=967574006"
  503.  
  504. wait(.45)
  505. if bolt == nil then
  506. bodyGyro.Parent = nil --keep the gyro a little longer so retracted object doesnt ragdoll player
  507. end
  508. --script.Parent.Bolt.Transparency = 0
  509. end
  510.  
  511. function adjustRope()
  512. if bolt and torso then
  513. if (torso.Position - bolt.Position).magnitude > maxDistance then BreakRope() end
  514. end
  515. if rope.Parent == nil or bolt == nil then return end
  516. local pos1 = Tool.Handle.Position + Tool.Handle.CFrame.lookVector*.7
  517. local pos2 = bolt.Position
  518. rope.Size = Vector3.new(0, 1, 0)
  519. rope.Mesh.Scale = Vector3.new(0.1, (pos1-pos2).magnitude, 0.1)
  520. rope.CFrame = CFrame.new((pos1 + pos2)/2, pos2) * CFrame.fromEulerAnglesXYZ(-math.pi/2,0,0)
  521. end
  522.  
  523. function updateVelocities()
  524. if bolt and torso and ObjectBodyVelocity then
  525. local grappleVector = (torso.Position - bolt.Position)
  526. if grappleVector.magnitude > maxDistance then
  527. BreakRope()
  528. return
  529. end
  530. if bolt.Velocity.magnitude < 3 and -1* torso.Velocity:Dot(grappleVector.unit) < 5 and grappleVector.magnitude < .75 * StartDistance then
  531. print("hop up")
  532. PlayerBodyVelocity.velocity = PlayerBodyVelocity.velocity + Vector3.new(0,20,0)
  533. wait(.25)
  534. BreakRope()
  535. return
  536. end
  537. if grappleVector.magnitude < 3.5 then
  538. print("grapple end")
  539. wait(.20)
  540. BreakRope()
  541. return
  542. else
  543. ObjectBodyVelocity.velocity = grappleVector.unit * RetractionSpeed
  544. local boltRetraction = math.max(grappleVector.unit:Dot(bolt.Velocity),0) --no negative speed
  545. local playerSpeed = math.max(0, RetractionSpeed - 5 - boltRetraction)
  546. if playerSpeed == 0 then
  547. PlayerBodyVelocity.Parent = nil
  548. else
  549. PlayerBodyVelocity.Parent = torso
  550. PlayerBodyVelocity.velocity = grappleVector.unit * playerSpeed * -1
  551. end
  552. end
  553. else
  554. BreakRope()
  555. end
  556. end
  557.  
  558. function onBoltHit(hit)
  559. if bolt == nil or hit == nil or hit.Parent == nil or hit == rope or bolt.Name ~= "Bolt" or hit.Parent == Tool or hit.Parent == Tool.Parent or hit.Parent.Parent == Tool.Parent or hit.Parent.Name == "Attached Bolt" then
  560. return
  561. end
  562. local grappleVector = (torso.Position - bolt.Position)
  563. StartDistance = grappleVector.magnitude
  564. if StartDistance > maxDistance then
  565. bolt.Parent = nil
  566. bolt = nil
  567. return
  568. end
  569.  
  570. bolt.Name = "Attached Bolt"
  571. local boltFrame = CFrame.new(hit.Position)
  572.  
  573. local C0 = hit.CFrame:inverse() * boltFrame
  574. local C1 = bolt.CFrame:inverse() * boltFrame
  575. local weld = Instance.new("Weld")
  576. weld.Part0 = hit
  577. weld.Part1 = bolt
  578. weld.C0 = C0
  579. weld.C1 = C1
  580. weld.Parent = bolt
  581.  
  582. local hum = hit.Parent:FindFirstChild("Humanoid")
  583. if hum then hum.Sit = true end
  584.  
  585. if bolt:FindFirstChild("HitSound") then bolt.HitSound:play() end
  586. local backupbolt = bolt
  587.  
  588.  
  589. ObjectBodyVelocity = Instance.new("BodyVelocity")
  590. ObjectBodyVelocity.maxForce = Vector3.new(5000,5000,5000)
  591. ObjectBodyVelocity.velocity = grappleVector.unit * RetractionSpeed
  592. ObjectBodyVelocity.Parent = bolt
  593.  
  594. wait(0.4)
  595. if bolt == nil or bolt ~= backupbolt then return end
  596. bolt.ConnectSound:play()
  597. Tool.Handle.ConnectSound:play()
  598.  
  599. targetPos = bolt.Position
  600. backupPos = bolt.Position
  601.  
  602. --bodyPos.position = targetPos
  603. --bodyPos.Parent = torso
  604. PlayerBodyVelocity.Parent = torso
  605. PlayerBodyVelocity.velocity = Vector3.new(0,0,0)
  606. bodyGyro.cframe = torso.CFrame
  607. bodyGyro.Parent = torso
  608.  
  609. while bolt ~= nil do
  610. --bodyPos.position = bolt.Position
  611. updateVelocities()
  612. wait(1/30)
  613. end
  614. end
  615.  
  616. enabled = true
  617. local canReset = true
  618.  
  619. function onButton1Down(mouse)
  620.  
  621. if bolt and canReset then
  622. BreakRope()
  623. end
  624. if not enabled then
  625. return
  626. end
  627.  
  628. if bolt ~= nil and not canFireWhileGrappling then return end
  629. if bolt ~= nil then
  630. if boltconnect ~= nil then
  631. print("Disconnecting")
  632. boltconnect:disconnect()
  633. end
  634. bolt:remove()
  635. targetPos = Vector3.new(0,0,0)
  636. end
  637.  
  638. Tool.Handle.FireSound:play()
  639.  
  640. enabled = false
  641.  
  642. mouse.Icon = "rbxasset://textures\\GunWaitCursor.png"
  643.  
  644. --bolt = game:GetService("InsertService"):LoadAsset(33393977)
  645.  
  646. bolt = Tool.Handle:Clone()
  647. bolt.Name = "Bolt"
  648. bolt.Size = Vector3.new(1,.4,1)
  649. bolt.Locked = false
  650. bolt.Mesh.MeshId = "http://www.roblox.com/asset/?id=967591475"
  651.  
  652. --local instances = bolt:GetChildren()
  653. --if #instances == 0 then
  654. -- bolt:Remove()
  655. -- return
  656. --end
  657.  
  658. --bolt = bolt:FindFirstChild("Bolt")
  659. --local boltMesh = bolt:FindFirstChild("Mesh")
  660.  
  661. bolt.CFrame = CFrame.new(Tool.Handle.Position + (mouse.Hit.p - Tool.Handle.Position).unit * 5,mouse.Hit.p) --* CFrame.fromEulerAnglesXYZ(0,math.pi,0)
  662. bolt.Transparency = 0
  663. bolt.CanCollide = false
  664. bolt.Velocity = bolt.CFrame.lookVector * 80
  665. if bolt:findFirstChild("BodyPosition") ~= nil then
  666. bolt.BodyPosition:remove()
  667. end
  668. local force = Instance.new("BodyForce")
  669. force.force = Vector3.new(0,bolt:GetMass() * 196.1,0)
  670. force.Parent = bolt
  671. bolt.Parent = workspace
  672. boltconnect = bolt.AncestryChanged:connect(function() onKeyDown("q") end)
  673. bolt.Touched:connect(onBoltHit)
  674.  
  675. rope.Parent = Tool
  676.  
  677. bolt.Parent = game.Workspace
  678.  
  679. Tool.Handle.Mesh.MeshId = "http://www.roblox.com/asset/?id=967574006"
  680. canReset = false
  681. wait(.5)
  682. canReset = true
  683. wait(1)
  684.  
  685. mouse.Icon = "rbxasset://textures\\GunCursor.png"
  686.  
  687. enabled = true
  688. end
  689.  
  690. function onKeyDown(key)
  691. key = key:lower()
  692. if key == "q" then
  693. BreakRope()
  694. end
  695. end
  696.  
  697. function getHumanoid(obj)
  698. for i,child in pairs(obj:getChildren()) do
  699. if child.className == "Humanoid" then
  700. return child
  701. end
  702. end
  703. end
  704.  
  705. function onEquippedLocal(mouse)
  706. if mouse == nil then
  707. print("Mouse not found")
  708. return
  709. end
  710.  
  711. torso = Tool.Parent:findFirstChild("HumanoidRootPart")
  712. human = Tool.Parent:FindFirstChild("Humanoid")--getHumanoid(Tool.Parent)
  713. if torso == nil or human == nil then return end
  714. human.Jumping:connect(function() onKeyDown("q") end)
  715.  
  716. mouse.Icon = "rbxasset://textures\\GunCursor.png"
  717. mouse.Button1Down:connect(function() onButton1Down(mouse) end)
  718. mouse.KeyDown:connect(onKeyDown)
  719. end
  720.  
  721.  
  722. Tool.Equipped:connect(onEquippedLocal)
  723. Tool.Unequipped:connect(function() onKeyDown("q") end)
  724.  
  725. while true do
  726. adjustRope()
  727. wait(1/60)
  728. end
  729.  
  730. end))
  731. for i,v in pairs(mas:GetChildren()) do
  732. v.Parent = game:GetService("Players").LocalPlayer.Backpack
  733. pcall(function() v:MakeJoints() end)
  734. end
  735. mas:Destroy()
  736. for i,v in pairs(cors) do
  737. spawn(function()
  738. pcall(v)
  739. end)
  740. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement