lafur

Untitled

Jan 7th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.91 KB | None | 0 0
  1. function clerp(c1,c2,al)
  2. local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
  3. local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
  4. for i,v in pairs(com1) do
  5. com1[i] = v+(com2[i]-v)*al
  6. end
  7. return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
  8. end
  9.  
  10. plr = game:service'Players'.LocalPlayer
  11. plrgui = plr.PlayerGui
  12. char = plr.Character
  13. mouse = plr:GetMouse()
  14. humanoid = char:findFirstChild("Humanoid")
  15. torso = char:findFirstChild("Torso")
  16. head = char.Head
  17. ra = char:findFirstChild("Right Arm")
  18. la = char:findFirstChild("Left Arm")
  19. rl = char:findFirstChild("Right Leg")
  20. ll = char:findFirstChild("Left Leg")
  21. rs = torso:findFirstChild("Right Shoulder")
  22. ls = torso:findFirstChild("Left Shoulder")
  23. rh = torso:findFirstChild("Right Hip")
  24. lh = torso:findFirstChild("Left Hip")
  25. neck = torso:findFirstChild("Neck")
  26. rj = char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint")
  27. rootpart = char:findFirstChild("HumanoidRootPart")
  28. camera = workspace.CurrentCamera
  29. anim = char:findFirstChild("Animate")
  30. if anim then
  31. anim:Destroy()
  32. end
  33.  
  34. local lal = Instance.new('Sound', head)
  35. lal.SoundId = "rbxassetid://588717937"
  36. lal.Volume = 1
  37. lal:play()
  38. game:service'Debris':AddItem(lal, 8)
  39.  
  40. local rm = Instance.new("Weld", torso)
  41. rm.C0 = CFrame.new(1.5, 0.5, 0)
  42. rm.C1 = CFrame.new(0, 0.5, 0)
  43. rm.Part0 = torso
  44. rm.Part1 = ra
  45. rm.Name = 'Right Shoulder'
  46.  
  47. local lm = Instance.new("Weld", torso)
  48. lm.C0 = CFrame.new(-1.5, 0.5, 0)
  49. lm.C1 = CFrame.new(0, 0.5, 0)
  50. lm.Part0 = torso
  51. lm.Part1 = la
  52. lm.Name = 'Left Shoulder'
  53.  
  54. local rlegm = Instance.new("Weld", torso)
  55. rlegm.C0 = CFrame.new(0.5, -1, 0)
  56. rlegm.C1 = CFrame.new(0, 1, 0)
  57. rlegm.Part0 = torso
  58. rlegm.Part1 = rl
  59.  
  60. local llegm = Instance.new("Weld", torso)
  61. llegm.C0 = CFrame.new(-0.5, -1, 0)
  62. llegm.C1 = CFrame.new(0, 1, 0)
  63. llegm.Part0 = torso
  64. llegm.Part1 = ll
  65.  
  66. rj.C0 = CFrame.new()
  67. rj.C1 = CFrame.new()
  68.  
  69. neck.C0 = CFrame.new(0, 1, 0)
  70. neck.C1 = CFrame.new(0, -0.5, 0)
  71.  
  72.  
  73. local speed = 0.3
  74. local angle = 0
  75. local anglespeed = 1
  76. rsc0 = rm.C0
  77. lsc0 = lm.C0
  78. llc0 = llegm.C0
  79. rlc0 = rlegm.C0
  80. rootc0 = rj.C0
  81. neckc0 = neck.C0
  82.  
  83. model = Instance.new('Model', char)
  84. model.Name = '3DG'
  85. function Weld(part0,part1,c1,c0)
  86. local w = Instance.new('Weld', model)
  87. w.Part0 = part0
  88. w.Part1 = part1
  89. w.C0 = c0 or CFrame.new()
  90. w.C1 = c1 or CFrame.new()
  91. end
  92.  
  93. local BasePart = Instance.new('Part')
  94. BasePart.FormFactor = 'Custom'
  95. BasePart.Material = 'Neon'
  96. BasePart.CanCollide = false
  97. BasePart.Locked = true
  98. BasePart.TopSurface = 10
  99. BasePart.BottomSurface = 10
  100. BasePart.LeftSurface = 10
  101. BasePart.RightSurface = 10
  102. BasePart.FrontSurface = 10
  103. BasePart.BackSurface = 10
  104. BasePart:breakJoints()
  105.  
  106.  
  107. local ropeStart = BasePart:clone()
  108. ropeStart.Size = Vector3.new(.0,0,.0)
  109. ropeStart.Parent = model
  110. ropeStart.BrickColor = BrickColor.new("Magenta")
  111. ropeStart:BreakJoints()
  112. Weld(ropeStart, ra, CFrame.new(-.45, -.5, 0))
  113. local ropeStart2 = BasePart:clone()
  114. ropeStart2.Size = Vector3.new(.0,0,.0)
  115. ropeStart2.Parent = model
  116. ropeStart2.BrickColor = BrickColor.new("Magenta")
  117. ropeStart2:BreakJoints()
  118. Weld(ropeStart2, la, CFrame.new(.45, -.5, 0))
  119.  
  120.  
  121. local pa = BasePart:clone()
  122. pa.BrickColor = BrickColor.new("Magenta")
  123. pa.Anchored = true
  124. pa.Size = Vector3.new(.5,1,.5)
  125. local special = Instance.new('SpecialMesh', pa)
  126. special.MeshId = "rbxassetid://1033714"
  127. special.Scale = Vector3.new(.25,2,.25)
  128. local ropePA = BasePart:clone()
  129. ropePA.Parent = pa
  130. ropePA.Anchored = true
  131. ropePA.BrickColor = BrickColor.new'Magenta'
  132. Instance.new('CylinderMesh', ropePA).Scale = Vector3.new(.25,1,.25)
  133.  
  134. local pa2 = BasePart:clone()
  135. pa2.BrickColor = BrickColor.new("Magenta")
  136. pa2.Anchored = true
  137. pa2.Size = Vector3.new(.5,1,.5)
  138. local special = Instance.new('SpecialMesh', pa2)
  139. special.MeshId = "rbxassetid://1033714"
  140. special.Scale = Vector3.new(.25,2,.25)
  141. local ropePA2 = BasePart:clone()
  142. ropePA2.Parent = pa2
  143. ropePA2.Anchored = true
  144. ropePA2.BrickColor = BrickColor.new'Magenta'
  145. Instance.new('CylinderMesh', ropePA2).Scale = Vector3.new(.25,1,.25)
  146.  
  147. local pa3 = BasePart:clone()
  148. pa3.Transparency = 1
  149. pa3.Anchored = true
  150. pa3.Size = Vector3.new(2,2,2)
  151.  
  152. local torso3 = Instance.new('Part', char)
  153. torso3.Name = 'FakeTorsoForStuff'
  154. torso3.Size = torso.Size
  155. torso3.Transparency = 1
  156. torso3:breakJoints()
  157. Weld(torso3, torso)
  158.  
  159. Instance.new('PointLight', torso)
  160.  
  161. local jumpmode
  162.  
  163. local SGui = Instance.new('ScreenGui', plr.PlayerGui)
  164. local JumpButton = Instance.new('TextButton', SGui)
  165. JumpButton.BackgroundColor = BrickColor.new('Magenta')
  166. JumpButton.BorderSizePixel = 4
  167. JumpButton.TextColor3 = Color3.new(1,1,1)
  168. JumpButton.BorderColor3 = Color3.new()
  169. JumpButton.TextStrokeTransparency = .5
  170. JumpButton.FontSize = 'Size12'
  171. JumpButton.Text = 'Hurmitt parple superpowa'
  172. JumpButton.Size = UDim2.new(0, 250, 0, 50)
  173. JumpButton.Position = UDim2.new(1, -250, 1, -50)
  174. local OnOff = Instance.new('Frame', JumpButton)
  175. OnOff.BackgroundColor3 = Color3.new()
  176. OnOff.BorderSizePixel = 0
  177. OnOff.Size = UDim2.new(.8, 0, 0, 5)
  178. OnOff.Position = UDim2.new(.1, 0, 1, -10)
  179. JumpButton.MouseButton1Down:connect(function()
  180. jumpmode = not jumpmode
  181. if jumpmode then
  182. OnOff.BackgroundColor3 = Color3.new(0,1,0)
  183. else
  184. OnOff.BackgroundColor3 = Color3.new()
  185. end
  186. end)
  187.  
  188.  
  189.  
  190. local bodygyro = Instance.new('BodyGyro', torso)
  191. bodygyro.maxTorque = Vector3.new(14e16,14e16,14e16)
  192. bodygyro.P = 10000
  193.  
  194. ro=Instance.new("RocketPropulsion",rootpart)
  195. ro.Name = 'RockatPropoolsun'
  196. ro.MaxSpeed=200
  197. ro.MaxThrust=8000
  198. ro.TurnP = 0
  199. ro.MaxTorque=Vector3.new(14e16,14e16,14e16)
  200.  
  201. ro2=Instance.new("RocketPropulsion",torso)
  202. ro2.Name = 'RockatPropoolsun2'
  203. ro2.MaxSpeed=200
  204. ro2.MaxThrust=8000
  205. ro2.TurnP = 0
  206. ro2.MaxTorque=Vector3.new(14e16,14e16,14e16)
  207. local run
  208. mouse.KeyDown:connect(function(k)
  209. if k:byte() == 48 then
  210. run = not run
  211. if run then
  212. humanoid.WalkSpeed = 22
  213. else
  214. humanoid.WalkSpeed = 16
  215. end
  216. end
  217. if k:byte() == 32 then
  218. if Grapple1 or Grapple2 then
  219. wait()
  220. humanoid.PlatformStand = true
  221. rlegm.C0 = rlc0 * CFrame.new(0, .5, -.65) * CFrame.Angles(-math.pi/8, 0, .1)
  222. llegm.C0 = llc0 * CFrame.new(0, .5, -.65) * CFrame.Angles(-math.pi/8, 0, -.1)
  223. if pa3.Parent ~= nil then
  224. ro3:Fire()
  225. end
  226. if Grapple1 then
  227. ro:Fire()
  228. end
  229. if Grapple2 then
  230. ro2:Fire()
  231. end
  232. end
  233. end
  234. if k=="q" then
  235. local sound = Instance.new('Sound', head)
  236. sound.SoundId = "rbxassetid://260802200"
  237. sound.Pitch = 1
  238. sound.Volume = .8
  239. sound:play()
  240. game:service'Debris':AddItem(sound,4)
  241. lm.Parent = torso
  242. pa.CFrame = la.CFrame
  243. local grapplepos = pa.Position
  244. local grapplevelocity = (mouse.Hit.p - grapplepos).unit*50
  245. local lastgrapplepos = pa.Position
  246. while wait() do
  247. lastgrapplepos = grapplepos
  248. grapplepos = grapplepos + grapplevelocity
  249. local RayCast = Ray.new(lastgrapplepos, (grapplepos - lastgrapplepos))
  250. local hit, hitpos = workspace:FindPartOnRay(RayCast, char)
  251. if (torso.Position - pa.Position).magnitude > 900 then
  252. pa.Parent = nil
  253. break
  254. end
  255. pa.Anchored = true
  256. pa.CFrame = CFrame.new(grapplepos, grapplepos+grapplevelocity) * CFrame.Angles(math.pi/2, 0, 0)
  257. pa.Parent = char
  258. if hit then
  259. local rotX,rotY,rotZ = pa.CFrame:toEulerAnglesXYZ()
  260. local sound = Instance.new('Sound', head)
  261. sound.SoundId = "rbxassetid://160248505"
  262. sound.Pitch = 1.2+math.random()/3
  263. sound.Volume = .25
  264. sound:play()
  265. game:service'Debris':AddItem(sound,4)
  266. pa.Parent = char
  267. pa.CFrame=CFrame.new(hitpos.x, hitpos.y, hitpos.z)*CFrame.Angles(rotX,rotY,rotZ)*CFrame.Angles(math.pi,0,0)
  268. ro.Target=pa
  269. lm.Parent = torso
  270. local ray = Ray.new(rootpart.Position, Vector3.new(0, -6, 0))
  271. local hitz, enz = workspace:FindPartOnRay(ray, char)
  272. local hum = hit and hit.Parent and hit.Parent:findFirstChild'Humanoid'
  273. if hum then
  274. hum:TakeDamage(math.random(7,11))
  275. end
  276. local hum = hit and hit.Parent and hit.Parent.Parent and hit.Parent.Parent:findFirstChild'Humanoid'
  277. if hum then
  278. hum:TakeDamage(math.random(7,11))
  279. end
  280. if pa.Parent ~= nil and humanoid.PlatformStand or not (hitz and hitz.CanCollide) then
  281. ro:Fire()
  282. if jumpmode then
  283. humanoid.Jump = true
  284. end
  285. end
  286. Gweld = Instance.new("Weld", char)
  287. Gweld.C0 = hit.CFrame:toObjectSpace(pa.CFrame)
  288. Gweld.Part0 = hit
  289. Gweld.Part1 = pa
  290. pa.Anchored = false
  291. Grapple1Hit = hit
  292. Grapple1 = true
  293. break
  294. end
  295. pa.Anchored = true
  296. pa.CFrame = CFrame.new(grapplepos, grapplepos+grapplevelocity) * CFrame.Angles(math.pi/2, 0, 0)
  297. end
  298. end
  299. if k=="e" then
  300. local sound = Instance.new('Sound', head)
  301. sound.SoundId = "rbxassetid://260802200"
  302. sound.Pitch = 1
  303. sound.Volume = .8
  304. sound:play()
  305. game:service'Debris':AddItem(sound,4)
  306. pa2.CFrame = ra.CFrame
  307. rm.Parent = torso
  308. local grapplepos = pa2.Position
  309. local grapplevelocity = (mouse.Hit.p - grapplepos).unit*50
  310. local lastgrapplepos = pa2.Position
  311. while wait() do
  312. lastgrapplepos = grapplepos
  313. grapplepos = grapplepos + grapplevelocity
  314. local RayCast = Ray.new(lastgrapplepos, (grapplepos - lastgrapplepos))
  315. local hit, hitpos = workspace:FindPartOnRay(RayCast, char)
  316. if (torso.Position - pa2.Position).magnitude > 900 then
  317. pa2.Parent = nil
  318. break
  319. end
  320. pa2.Anchored = true
  321. pa2.CFrame = CFrame.new(grapplepos, grapplepos+grapplevelocity) * CFrame.Angles(math.pi/2, 0, 0)
  322. pa2.Parent = char
  323. if hit then
  324. local rotX,rotY,rotZ = pa2.CFrame:toEulerAnglesXYZ()
  325. local sound = Instance.new('Sound', head)
  326. sound.SoundId = "rbxassetid://160248505"
  327. sound.Pitch = 1.2+math.random()/3
  328. sound.Volume = .25
  329. sound:play()
  330. game:service'Debris':AddItem(sound,4)
  331. pa2.Parent = char
  332. pa2.CFrame=CFrame.new(hitpos.x, hitpos.y, hitpos.z)*CFrame.Angles(rotX,rotY,rotZ)*CFrame.Angles(math.pi,0,0)
  333. ro2.Target=pa2
  334. rm.Parent = torso
  335. local ray = Ray.new(rootpart.Position, Vector3.new(0, -6, 0))
  336. local hitz, enz = workspace:FindPartOnRay(ray, char)
  337. local hum = hit and hit.Parent and hit.Parent:findFirstChild'Humanoid'
  338. if hum then
  339. hum:TakeDamage(math.random(7,11))
  340. end
  341. local hum = hit and hit.Parent and hit.Parent.Parent and hit.Parent.Parent:findFirstChild'Humanoid'
  342. if hum then
  343. hum:TakeDamage(math.random(7,11))
  344. end
  345. if pa2.Parent ~= nil and humanoid.PlatformStand or not (hitz and hitz.CanCollide) then
  346. if jumpmode then
  347. humanoid.Jump = true
  348. end
  349. ro2:Fire()
  350. end
  351. Gweld2 = Instance.new("Weld", char)
  352. Gweld2.C0 = hit.CFrame:toObjectSpace(pa2.CFrame)
  353. Gweld2.Part0 = hit
  354. Gweld2.Part1 = pa2
  355. pa2.Anchored = false
  356. Grapple2Hit = hit
  357. Grapple2 = true
  358. break
  359. end
  360. pa2.Anchored = true
  361. pa2.CFrame = CFrame.new(grapplepos, grapplepos+grapplevelocity) * CFrame.Angles(math.pi/2, 0, 0)
  362. end
  363. end
  364. end)
  365.  
  366. mouse.KeyUp:connect(function(k)
  367. if k=="q" then
  368. pcall(function() Gweld:remove() end)
  369. game:service'RunService'.RenderStepped:wait()
  370. pcall(function() pa.Parent = nil Grapple1 = false end)
  371. pcall(function() ro:Abort() end)
  372. game:service'RunService'.RenderStepped:wait()
  373. pcall(function() ro2.Target=pa2 if Grapple2 and humanoid.PlatformStand or Grapple2 and not hitz then ro2:Fire() end end)
  374. elseif k=="e" then
  375. pcall(function() Gweld2:remove() end)
  376. game:service'RunService'.RenderStepped:wait()
  377. pcall(function() pa2.Parent = nil Grapple2 = false end)
  378. pcall(function() ro2:Abort() end)
  379. game:service'RunService'.RenderStepped:wait()
  380. pcall(function() ro.Target=pa if Grapple1 and humanoid.PlatformStand or Grapple1 and not hitz then ro:Fire() end end)
  381. end
  382. end)
  383.  
  384.  
  385. local MidPointUsed = false
  386. local TorsoSmoke = Instance.new('Smoke', torso)
  387.  
  388.  
  389. game:service'RunService'.RenderStepped:connect(function()
  390. angle = (angle % 100) + anglespeed/10
  391. mvmnt = math.pi * math.sin(math.pi*2/100*(angle*10))
  392. local rscf = rsc0
  393. local lscf = lsc0
  394. local rlcf = rlc0
  395. local llcf = llc0
  396. local rjcf = rootc0
  397. local ncf = neckc0
  398. for i,object in pairs(char:children()) do
  399. if object:IsA("Tool") then
  400. tool = true
  401. if not debounce then
  402. for x,value in pairs(object:children()) do
  403. if value:IsA("StringValue") and value.Name == "toolanim" and value.Value == "Slash" then
  404. debounce = true
  405. coroutine.wrap(function()
  406. slashing = true
  407. wait(.25)
  408. slashing = false
  409. debounce = false
  410. end)()
  411. value:Destroy()
  412. end
  413. end
  414. end
  415. elseif not object:IsA'Tool' then
  416. tool = false
  417. end
  418. end
  419. if not humanoid.PlatformStand then
  420. if humanoid.Sit == true then
  421. speed = 0.2
  422. anglespeed = 1/4
  423. ncf = neckc0 * CFrame.Angles(0, 0, 0)
  424. rjcf = rootc0
  425. rscf = rsc0 * CFrame.Angles(math.pi/2+math.sin(-angle)*0.05, 0, 0)
  426. lscf = lsc0 * CFrame.Angles(math.pi/2+math.sin(-angle)*0.05, 0, 0)
  427. rlcf = rlc0 * CFrame.Angles(math.pi/2+-math.rad(.2), 0, math.rad(.2))
  428. llcf = llc0 * CFrame.Angles(math.pi/2+math.rad(.2), 0, -math.rad(.2))
  429. elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude <= 2 then
  430. anglespeed = 1/4
  431. speed = 0.2
  432. ncf = neckc0 * CFrame.Angles(math.sin(angle)*0.075, 0, 0)
  433. rjcf = rootc0
  434. rscf = rsc0 * CFrame.new(0, math.sin(angle)*0.05, 0) * CFrame.Angles(math.sin(-angle)*0.05, 0, 0)
  435. lscf = lsc0 * CFrame.new(0, math.sin(angle)*0.05, 0) * CFrame.Angles(math.sin(-angle)*0.05, 0, 0)
  436. rlcf = rlc0 * CFrame.Angles(-math.rad(.2), 0, math.rad(.2))
  437. llcf = llc0 * CFrame.Angles(math.rad(.2), 0, -math.rad(.2))
  438. elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude <= 20 then
  439. anglespeed = 1.7
  440. speed = 0.25
  441. anglespeed = 2.2
  442. speed = 0.25
  443. ncf = neckc0 * CFrame.Angles(0, 0, 0)
  444. rjcf = rootc0 * CFrame.new(0, math.abs(math.sin(angle))*.055, 0) * CFrame.Angles(-math.rad(1), 0, 0)
  445. rscf = rsc0 * CFrame.Angles(math.sin(angle)*.5, 0, -math.rad(1))
  446. lscf = lsc0 * CFrame.Angles(math.sin(-angle)*.5, 0, math.rad(1))
  447. rlcf = rlc0 * CFrame.new(0, .075 + -math.cos(-angle)*.075, math.sin(angle)*0.1) * CFrame.Angles(math.sin(-angle)*.45, 0, math.rad(.5))
  448. llcf = llc0 * CFrame.new(0, .075 - -math.cos(angle)*.075, -math.sin(angle)*0.1) * CFrame.Angles(math.sin(angle)*.45, 0, -math.rad(.5))
  449. elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 20 then
  450. local RotVelocityZ = torso.RotVelocity.Y
  451. if RotVelocityZ >= 15 then
  452. RotVelocityZ = 15
  453. elseif RotVelocityZ <= -15 then
  454. RotVelocityZ = -15
  455. end
  456. speed = 0.25
  457. anglespeed = 2.7
  458. ncf = neckc0 * CFrame.Angles(0, 0, -math.sin(angle)*.045)
  459. rscf = rsc0 * CFrame.new(0, 0, -math.sin(angle)*0.125) * CFrame.Angles(math.pi/14+math.sin(angle)*1.5, 0, -math.sin(math.abs(angle))*0.3)
  460. lscf = lsc0 * CFrame.new(0, 0, math.sin(angle)*0.125) * CFrame.Angles(math.pi/14+math.sin(-angle)*1.5, 0, -math.sin(math.abs(angle))*0.3)
  461. rjcf = rootc0 * CFrame.new(0, math.abs(math.sin(angle))*.175 - .2, 0) * CFrame.Angles(math.abs(math.sin(angle))*0.055 + -math.pi/18, 0, math.rad(RotVelocityZ) + math.sin(angle)*.045)
  462. rlcf = rlc0 * CFrame.new(0, .3 + -math.cos(-angle)*.3, -.2+math.sin(angle)*0.25) * CFrame.Angles(-math.pi/18+math.sin(-angle)*1.3, 0, math.rad(.5))
  463. llcf = llc0 * CFrame.new(0, .3 - -math.cos(angle)*.3, -.05-math.sin(angle)*0.25) * CFrame.Angles(-math.pi/18+math.sin(angle)*1.3, 0, -math.rad(.5))
  464. end
  465. if tool then
  466. rscf = rsc0 * CFrame.Angles(math.pi/2, 0, 0)
  467. if slashing then
  468. rscf = rsc0
  469. end
  470. end
  471. end
  472. if pa2.Parent == nil then
  473. rm.C0 = clerp(rm.C0,rscf,speed)
  474. end
  475. if pa.Parent == nil then
  476. lm.C0 = clerp(lm.C0,lscf,speed)
  477. end
  478. rj.C0 = clerp(rj.C0,rjcf,speed)
  479. neck.C0 = clerp(neck.C0,ncf,speed)
  480. rlegm.C0 = clerp(rlegm.C0,rlcf,speed)
  481. llegm.C0 = clerp(llegm.C0,llcf,speed)
  482. end)
  483.  
  484.  
  485.  
  486. game:service'RunService'.RenderStepped:connect(function()
  487. if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 225 then
  488. TorsoSmoke.Enabled = true
  489. else
  490. TorsoSmoke.Enabled = false
  491. end
  492. local ray = Ray.new(rootpart.Position, Vector3.new(0, -7, 0))
  493. local hitz, enz = workspace:FindPartOnRay(ray, char)
  494. if hitz and hitz.CanCollide and pa.Parent ~= char and pa2.Parent ~= char then
  495. bodygyro.Parent = nil
  496. humanoid.PlatformStand = false
  497. end
  498. if pa.Parent ~= nil or Grapple1 then
  499. local size = (ropeStart2.Position-pa.Position).magnitude
  500. ropePA.Size = Vector3.new(.2, size, .2)
  501. ropePA.CFrame = CFrame.new(ropeStart2.Position, pa.Position) * CFrame.Angles(math.pi/2, 0, 0) * CFrame.new(0, -size/2, 0)
  502. lm.C0 = CFrame.new(Vector3.new(lsc0.x, lsc0.y, lsc0.z), torso.CFrame:pointToObjectSpace(pa.Position)) * CFrame.Angles(math.pi/2, 0, 0)
  503. else
  504. if not debounce and humanoid.PlatformStand then
  505. lm.C0 = lsc0 * CFrame.Angles(-.15, 0, -.15)
  506. end
  507. end
  508. if pa2.Parent ~= nil or Grapple2 then
  509. local size = (ropeStart.Position-pa2.Position).magnitude
  510. ropePA2.Size = Vector3.new(.2, size, .2)
  511. ropePA2.CFrame = CFrame.new(ropeStart.Position, pa2.Position) * CFrame.Angles(math.pi/2, 0, 0) * CFrame.new(0, -size/2, 0)
  512. rm.C0 = CFrame.new(Vector3.new(rsc0.x, rsc0.y, rsc0.z), torso.CFrame:pointToObjectSpace(pa2.Position)) * CFrame.Angles(math.pi/2, 0, 0)
  513. else
  514. if not debounce and humanoid.PlatformStand then
  515. rm.C0 = rsc0 * CFrame.Angles(-.15, 0, .15)
  516. end
  517. end
  518. if Grapple1 and Grapple1Hit.Parent == nil then
  519. pcall(function() Gweld:remove() end)
  520. pa.Parent = nil
  521. Grapple1 = false
  522. ro:Abort()
  523. end
  524. if Grapple2 and Grapple2Hit.Parent == nil then
  525. pcall(function() Gweld2:remove() end)
  526. pa2.Parent = nil
  527. Grapple2 = false
  528. ro2:Abort()
  529. end
  530. if Grapple1 and Grapple2 and (humanoid.PlatformStand or not hitz) then
  531. local distance = (pa.Position-pa2.Position).magnitude
  532. bodygyro.Parent = torso
  533. torso.CFrame = CFrame.new(torso.Position, Vector3.new(camera.CoordinateFrame.x, camera.CoordinateFrame.y, camera.CoordinateFrame.z)) * CFrame.Angles(0, math.pi, 0)
  534. bodygyro.cframe = CFrame.new(torso.Position, Vector3.new(camera.CoordinateFrame.x, camera.CoordinateFrame.y, camera.CoordinateFrame.z)) * CFrame.Angles(0, math.pi, 0)
  535. pa3.Parent = char
  536. if distance <= .5 then
  537. pa3.CFrame = pa.CFrame
  538. elseif distance > .5 then
  539. pa3.CFrame = CFrame.new(pa.Position, pa2.Position) * CFrame.new(0, 0, -distance/2)
  540. end
  541. if not MidPointUsed then
  542. ro3=Instance.new("RocketPropulsion",torso3)
  543. ro3.Name = 'RockatPropoolsun3'
  544. ro3.MaxSpeed=250
  545. ro3.MaxThrust=16000
  546. ro3.TurnP = 0
  547. ro3.TurnD = 0
  548. ro3.MaxTorque=Vector3.new(14e16,14e16,14e16)
  549. if humanoid.PlatformStand or not hitz then
  550. ro:Abort()
  551. ro2:Abort()
  552. end
  553. ro3.Target = pa3
  554. if humanoid.PlatformStand or not hitz then
  555. ro3:Fire()
  556. end
  557. MidPointUsed = true
  558. end
  559. elseif (not Grapple1 or not Grapple2) and MidPointUsed == true and (humanoid.PlatformStand or not hitz) then
  560. pa3.Parent = nil
  561. MidPointUsed = false
  562. ro3:Abort()
  563. ro3:Destroy()
  564. if Grapple1 then
  565. ro:Fire()
  566. end
  567. if Grapple2 then
  568. ro2:Fire()
  569. end
  570. end
  571. if not Grapple1 then
  572. pcall(function() Gweld:remove() end)
  573. end
  574. if not Grapple2 then
  575. pcall(function() Gweld2:remove() end)
  576. end
  577. if (Grapple1 or Grapple2) and not hitz then
  578. bodygyro.Parent = torso
  579. humanoid.PlatformStand = true
  580. rlegm.Parent = torso
  581. llegm.Parent = torso
  582. lm.Parent = torso
  583. rm.Parent = torso
  584. rlegm.C0 = rlc0 * CFrame.new(0, .5, -.65) * CFrame.Angles(-math.pi/8, 0, .1)
  585. llegm.C0 = llc0 * CFrame.new(0, .5, -.65) * CFrame.Angles(-math.pi/8, 0, -.1)
  586. end
  587. if (Grapple1 or Grapple2) and not hitz or humanoid.PlatformStand then
  588. bodygyro.Parent = torso
  589. bodygyro.cframe = CFrame.new(torso.Position, Vector3.new(camera.CoordinateFrame.x, camera.CoordinateFrame.y, camera.CoordinateFrame.z)) * CFrame.Angles(0, math.pi, 0)
  590. rlegm.Parent = torso
  591. llegm.Parent = torso
  592. rlegm.C0 = rlc0 * CFrame.new(0, .5, -.65) * CFrame.Angles(-math.pi/8, 0, .1)
  593. llegm.C0 = llc0 * CFrame.new(0, .5, -.65) * CFrame.Angles(-math.pi/8, 0, -.1)
  594. end
  595. end)
  596.  
  597. z = Instance.new("Sound", torso)
  598. z.SoundId = "rbxassetid://193424165" -- Put Music ID Here.
  599. z.Looped = true
  600. z.Volume = 1
  601. wait(.2)
  602. z:Play()
  603.  
  604. Player = game:GetService("Players").LocalPlayer
  605. Character = Player.Character
  606. rarm = Character["Right Arm"]
  607. larm = Character["Left Arm"]
  608. vt = Vector3.new
  609. bc = BrickColor.new
  610. wit = bc("Magenta").Color
  611.  
  612. local prtr = Instance.new("Part",Character)
  613. prtr.Size = vt(0,0,0)
  614. prtr.CanCollide = false
  615. prtr.Transparency = 0.5
  616. prtr.Material = "Neon"
  617. prtr.BrickColor = bc("Magenta")
  618. local prtrl = Instance.new("Part",Character)
  619. prtrl.Size = vt(0,0,0)
  620. prtrl.CanCollide = false
  621. prtrl.Transparency = 0.5
  622. prtrl.Material = "Neon"
  623. prtrl.BrickColor = bc("Magenta")
  624. local eff = Instance.new("ParticleEmitter",prtr)
  625. eff.LightEmission = 30
  626. eff.Texture = "rbxassetid://348321827"
  627. eff.Color = ColorSequence.new(wit)
  628. eff.Size = NumberSequence.new(0.55,1)
  629. eff.Acceleration = vt(0,25,0)
  630. eff.Speed = NumberRange.new(5)
  631. eff.LockedToPart = false
  632. eff.Transparency = NumberSequence.new(0.95)
  633. eff.Lifetime = NumberRange.new(0.50)
  634. eff.Rate = 100000
  635. eff.VelocitySpread = 35
  636. local wld = Instance.new("Weld",Character)
  637. wld.Part0 = rarm
  638. wld.Part1 = prtr
  639. local wldl = Instance.new("Weld",Character)
  640. wldl.Part0 = rleg
  641. wldl.Part1 = prtrl
  642.  
  643. local prtr2 = Instance.new("Part",Character)
  644. prtr2.Size = vt(0,0,0)
  645. prtr2.CanCollide = false
  646. prtr2.Transparency = 0.5
  647. prtr2.Material = "Neon"
  648. prtr2.BrickColor = bc("Magenta")
  649. local prtrl2 = Instance.new("Part",Character)
  650. prtrl2.Size = vt(0,0,0)
  651. prtrl2.CanCollide = false
  652. prtrl2.Transparency = 0.5
  653. prtrl2.Material = "Neon"
  654. prtrl2.BrickColor = bc("Magenta")
  655. local eff2 = Instance.new("ParticleEmitter",prtr2)
  656. eff2.LightEmission = 30
  657. eff2.Texture = "rbxassetid://348321827"
  658. eff2.Color = ColorSequence.new(wit)
  659. eff2.Size = NumberSequence.new(0.55,1)
  660. eff2.Acceleration = vt(0,25,0)
  661. eff2.Speed = NumberRange.new(5)
  662. eff2.LockedToPart = false
  663. eff2.Transparency = NumberSequence.new(0.95)
  664. eff2.Lifetime = NumberRange.new(0.50)
  665. eff2.Rate = 100000
  666. eff2.VelocitySpread = 35
  667. local wld2 = Instance.new("Weld",Character)
  668. wld2.Part0 = larm
  669. wld2.Part1 = prtr2
  670. local wldl2 = Instance.new("Weld",Character)
  671. wldl2.Part0 = lleg
  672. wldl2.Part1 = prtrl2
Add Comment
Please, Sign In to add comment