Advertisement
EmeraldIT

Telekenisis strings

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