Guest User

Untitled

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