Advertisement
Guest User

Sonic remastered with a new look

a guest
Jun 22nd, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6. print("FE Compatibility code V2 by Mokiros")
  7. local RealPlayer = RealPlayer
  8. script.Parent = RealPlayer.Character
  9.  
  10. --Fake event to make stuff like Mouse.KeyDown work
  11. local Disconnect_Function = function(this)
  12. this[1].Functions[this[2]] = nil
  13. end
  14. local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
  15. local FakeEvent_Metatable = {__index={
  16. Connect = function(this,f)
  17. local i = tostring(math.random(0,10000))
  18. while this.Functions[i] do
  19. i = tostring(math.random(0,10000))
  20. end
  21. this.Functions[i] = f
  22. return setmetatable({this,i},Disconnect_Metatable)
  23. end
  24. }}
  25. FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
  26. local function fakeEvent()
  27. return setmetatable({Functions={}},FakeEvent_Metatable)
  28. end
  29.  
  30. --Creating fake input objects with fake variables
  31. local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  32. FakeMouse.keyUp = FakeMouse.KeyUp
  33. FakeMouse.keyDown = FakeMouse.KeyDown
  34. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  35. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  36. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  37. end}
  38. --Merged 2 functions into one by checking amount of arguments
  39. CAS.UnbindAction = CAS.BindAction
  40.  
  41. --This function will trigger the events that have been :Connect()'ed
  42. local function TriggerEvent(self,ev,...)
  43. for _,f in pairs(self[ev].Functions) do
  44. f(...)
  45. end
  46. end
  47. FakeMouse.TriggerEvent = TriggerEvent
  48. UIS.TriggerEvent = TriggerEvent
  49.  
  50. --Client communication
  51. local Event = Instance.new("RemoteEvent")
  52. Event.Name = "UserInput_Event"
  53. Event.OnServerEvent:Connect(function(plr,io)
  54. if plr~=RealPlayer then return end
  55. FakeMouse.Target = io.Target
  56. FakeMouse.Hit = io.Hit
  57. if not io.isMouse then
  58. local b = io.UserInputState == Enum.UserInputState.Begin
  59. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  60. return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
  61. end
  62. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  63. return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
  64. end
  65. for _,t in pairs(CAS.Actions) do
  66. for _,k in pairs(t.Keys) do
  67. if k==io.KeyCode then
  68. t.Function(t.Name,io.UserInputState,io)
  69. end
  70. end
  71. end
  72. FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  73. UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
  74. end
  75. end)
  76. Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
  77. local Mouse = owner:GetMouse()
  78. local UIS = game:GetService("UserInputService")
  79. local input = function(io,RobloxHandled)
  80. if RobloxHandled then return end
  81. --Since InputObject is a client-side instance, we create and pass table instead
  82. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  83. end
  84. UIS.InputBegan:Connect(input)
  85. UIS.InputEnded:Connect(input)
  86. local h,t
  87. --Give the server mouse data every second frame, but only if the values changed
  88. --If player is not moving their mouse, client won't fire events
  89. local HB = game:GetService("RunService").Heartbeat
  90. while true do
  91. if h~=Mouse.Hit or t~=Mouse.Target then
  92. h,t=Mouse.Hit,Mouse.Target
  93. Event:FireServer({isMouse=true,Target=t,Hit=h})
  94. end
  95. --Wait 2 frames
  96. for i=1,2 do
  97. HB:Wait()
  98. end
  99. end]==],script)
  100.  
  101. ----Sandboxed game object that allows the usage of client-side methods and services
  102. --Real game object
  103. local RealGame = game
  104.  
  105. --Metatable for fake service
  106. local FakeService_Metatable = {
  107. __index = function(self,k)
  108. local s = rawget(self,"_RealService")
  109. if s then
  110. return typeof(s[k])=="function"
  111. and function(_,...)return s[k](s,...)end or s[k]
  112. end
  113. end,
  114. __newindex = function(self,k,v)
  115. local s = rawget(self,"_RealService")
  116. if s then s[k]=v end
  117. end
  118. }
  119. local function FakeService(t,RealService)
  120. t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  121. return setmetatable(t,FakeService_Metatable)
  122. end
  123.  
  124. --Fake game object
  125. local FakeGame = {
  126. GetService = function(self,s)
  127. return rawget(self,s) or RealGame:GetService(s)
  128. end,
  129. Players = FakeService({
  130. LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  131. },"Players"),
  132. UserInputService = FakeService(UIS,"UserInputService"),
  133. ContextActionService = FakeService(CAS,"ContextActionService"),
  134. RunService = FakeService({
  135. _btrs = {},
  136. RenderStepped = RealGame:GetService("RunService").Heartbeat,
  137. BindToRenderStep = function(self,name,_,fun)
  138. self._btrs[name] = self.Heartbeat:Connect(fun)
  139. end,
  140. UnbindFromRenderStep = function(self,name)
  141. self._btrs[name]:Disconnect()
  142. end,
  143. },"RunService")
  144. }
  145. rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  146. FakeGame.service = FakeGame.GetService
  147. FakeService(FakeGame,game)
  148. --Changing owner to fake player object to support owner:GetMouse()
  149. game,owner = FakeGame,FakeGame.Players.LocalPlayer
  150. end
  151.  
  152.  
  153. wait(0.07)
  154. Player=game:GetService("Players").LocalPlayer
  155. Character=Player.Character
  156. PlayerGui=Player.PlayerGui
  157. Backpack=Player.Backpack
  158. Torso=Character.Torso
  159. Head=Character.Head
  160. Humanoid=Character.Humanoid
  161. LeftArm=Character["Left Arm"]
  162. LeftLeg=Character["Left Leg"]
  163. RightArm=Character["Right Arm"]
  164. RightLeg=Character["Right Leg"]
  165. LS=Torso["Left Shoulder"]
  166. LH=Torso["Left Hip"]
  167. RS=Torso["Right Shoulder"]
  168. RH=Torso["Right Hip"]
  169. Face = Head.face
  170. Neck=Torso.Neck
  171. it=Instance.new
  172. attacktype=1
  173. attacktype2=1
  174. vt=Vector3.new
  175. cf=CFrame.new
  176. cn=CFrame.new
  177. euler=CFrame.fromEulerAnglesXYZ
  178. angles=CFrame.Angles
  179. combo = 0
  180. necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  181. necko2=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  182. LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0)
  183. LHC1=cf(-0.5,1,0,-0,-0,-1,0,1,0,1,0,0)
  184. RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0)
  185. RHC1=cf(0.5,1,0,0,0,1,0,1,0,-1,-0,-0)
  186. RootPart=Character.HumanoidRootPart
  187. RootJoint=RootPart.RootJoint
  188. RootCF=euler(-1.57,0,3.14)
  189. attack = false
  190. attackdebounce = false
  191. trispeed=.2
  192. attackmode='none'
  193. local idle=0
  194. local Anim="Idle"
  195. stance = false
  196. local ff = 2
  197. noleg = false
  198. evadecooldown = false
  199. Humanoid.Animator.Parent = nil
  200. equip = false
  201. local Effects = {}
  202. attackspeed = 0.14
  203. df = false
  204. Swing = 1
  205. local sine = 0
  206. local change = 1
  207. local val = 0
  208. local speed = 0
  209. local rs = game:GetService("RunService").Stepped
  210. cam = workspace.CurrentCamera
  211. local RbxUtility = LoadLibrary("RbxUtility")
  212. local Create = RbxUtility.Create
  213. deb = game:GetService("Debris")
  214. Face.Transparency = 0
  215. --Face.Texture = "rbxassetid://176217905" --176217905
  216. Humanoid.WalkSpeed = 64
  217. local freefall = 0
  218. Head.Running.SoundId = "rbxassetid://"
  219. Head.Running.Volume = 2
  220. local boost = false
  221. Humanoid.JumpPower = 88
  222. local musicnum = 1
  223.  
  224. local spd = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).magnitude + 10
  225. local dir = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).unit
  226. local GravPoint = RootPart.Velocity.y
  227. local NV = Vector3.new(0,0,0)
  228. print("Move list")
  229. print("---------")
  230. print("Shift = Boost")
  231. print("Ctrl = Mach Speed Boost")
  232. print("Q = Left QuickStep, E = Right QuickStep")
  233. print("C = Slide, in air to stomp")
  234. print("Jump Then Hold B near a wall to wallrun")
  235. print("M to change music, if you're standing still you'll do a special animation!")
  236. print("Space near a wall to walljump, away from a wall homing attack")
  237. music = Instance.new("Sound",PlayerGui)
  238. music.Volume = 1
  239. music.TimePosition = 0
  240. music.Pitch = 1
  241. music.SoundId = "rbxassetid://1192337951"
  242. music.Looped = true
  243. music:Play()
  244.  
  245.  
  246. boostsound = Instance.new("Sound",PlayerGui)
  247. boostsound.Volume = .6
  248. boostsound.TimePosition = 0
  249. boostsound.Pitch = 1
  250. boostsound.SoundId = "rbxassetid://924922553"
  251. boostsound.Looped = false
  252.  
  253.  
  254.  
  255. stompsound = Instance.new("Sound",PlayerGui)
  256. stompsound.Volume = 2
  257. stompsound.TimePosition = 0
  258. stompsound.Pitch = 1
  259. stompsound.SoundId = "rbxassetid://1295424184"
  260. stompsound.Looped = false
  261.  
  262.  
  263.  
  264. so = function(id,par,vol,pit)
  265. coroutine.resume(coroutine.create(function()
  266. local sou = Instance.new("Sound",par or workspace)
  267. sou.Volume=vol
  268. sou.Pitch=pit or 1
  269. sou.SoundId=id
  270. sou:play()
  271. game:GetService("Debris"):AddItem(sou,8)
  272. end))
  273. end
  274.  
  275. --save shoulders
  276. RSH, LSH=nil, nil
  277. --welds
  278. RW, LW=Instance.new("Weld"), Instance.new("Weld")
  279. RW.Name="Right Shoulder" LW.Name="Left Shoulder"
  280. LH=Torso["Left Hip"]
  281. RH=Torso["Right Hip"]
  282. TorsoColor=Torso.BrickColor
  283. function NoOutline(Part)
  284. Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
  285. end
  286. player=Player
  287. ch=Character
  288. RSH=ch.Torso["Right Shoulder"]
  289. LSH=ch.Torso["Left Shoulder"]
  290. --
  291. RSH.Parent=nil
  292. LSH.Parent=nil
  293. --
  294. RW.Name="Right Shoulder"
  295. RW.Part0=ch.Torso
  296. RW.C0=cf(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5)
  297. RW.C1=cf(0, 0.5, 0)
  298. RW.Part1=ch["Right Arm"]
  299. RW.Parent=ch.Torso
  300. --
  301. LW.Name="Left Shoulder"
  302. LW.Part0=ch.Torso
  303. LW.C0=cf(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
  304. LW.C1=cf(0, 0.5, 0)
  305. LW.Part1=ch["Left Arm"]
  306. LW.Parent=ch.Torso
  307.  
  308.  
  309. newWeld = function(wp0, wp1, wc0x, wc0y, wc0z)
  310. local wld = Instance.new("Weld", wp1)
  311. wld.Part0 = wp0
  312. wld.Part1 = wp1
  313. wld.C0 = CFrame.new(wc0x, wc0y, wc0z)
  314. end
  315. local rs = game:GetService("RunService").Stepped
  316.  
  317. newWeld(RootPart, Torso, 0, -1, 0)
  318. Torso.Weld.C1 = CFrame.new(0, -1, 0)
  319. newWeld(Torso, LeftLeg, -0.5, -1, 0)
  320. LeftLeg.Weld.C1 = CFrame.new(0, 1, 0)
  321. newWeld(Torso, RightLeg, 0.5, -1, 0)
  322. RightLeg.Weld.C1 = CFrame.new(0, 1, 0)
  323.  
  324. Player=game:GetService('Players').LocalPlayer
  325. Character=Player.Character
  326. mouse=Player:GetMouse()
  327. m=Instance.new('Model',Character)
  328.  
  329.  
  330. local function weldBetween(a, b)
  331. local weldd = Instance.new("ManualWeld")
  332. weldd.Part0 = a
  333. weldd.Part1 = b
  334. weldd.C0 = CFrame.new()
  335. weldd.C1 = b.CFrame:inverse() * a.CFrame
  336. weldd.Parent = a
  337. return weldd
  338. end
  339.  
  340. ArtificialHB = Instance.new("BindableEvent", script)
  341. ArtificialHB.Name = "Heartbeat"
  342.  
  343. script:WaitForChild("Heartbeat")
  344.  
  345. frame = 1 / 80
  346. tf = 0
  347. allowframeloss = false
  348. tossremainder = false
  349. lastframe = tick()
  350. script.Heartbeat:Fire()
  351. game:GetService("RunService").Heartbeat:connect(function(s, p)
  352. tf = tf + s
  353. if tf >= frame then
  354. if allowframeloss then
  355. script.Heartbeat:Fire()
  356. lastframe = tick()
  357. else
  358. for i = 1, math.floor(tf / frame) do
  359. script.Heartbeat:Fire()
  360. end
  361. lastframe = tick()
  362. end
  363. if tossremainder then
  364. tf = 0
  365. else
  366. tf = tf - frame * math.floor(tf / frame)
  367. end
  368. end
  369. end)
  370.  
  371. --[[]
  372. function swait(num)
  373. if num == 0 or num == nil then
  374. ArtificialHB.Event:wait()
  375. else
  376. for i = 0, num do
  377. ArtificialHB.Event:wait()
  378. end
  379. end
  380. end
  381.  
  382. ]]
  383.  
  384.  
  385.  
  386.  
  387. function swait(num)
  388. if num == 0 or num == nil then
  389. game:service("RunService").Stepped:wait()
  390. else
  391. for i = 0, num do
  392. game:service("RunService").Stepped:wait()
  393. end
  394. end
  395. end
  396.  
  397. function RemoveOutlines(part)
  398. part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
  399. end
  400.  
  401.  
  402. part = function(formfactor, parent, reflectance, transparency, brickcolor, name, size)
  403. local fp = it("Part")
  404. fp.formFactor = formfactor
  405. fp.Parent = parent
  406. fp.Reflectance = reflectance
  407. fp.Transparency = transparency
  408. fp.CanCollide = false
  409. fp.Locked = true
  410. fp.BrickColor = brickcolor
  411. fp.Name = name
  412. fp.Size = size
  413. fp.Position = Torso.Position
  414. NoOutline(fp)
  415. if fp.BrickColor == BrickColor.new("Dark indigo") then
  416. fp.Material = "Neon"
  417. else
  418. if fp.BrickColor == BrickColor.new("Really black") then
  419. fp.BrickColor = BrickColor.new("Really black")
  420. fp.Material = "Metal"
  421. else
  422. fp.Material = "Neon"
  423. end
  424. end
  425. fp:BreakJoints()
  426. return fp
  427. end
  428.  
  429. mesh = function(Mesh, part, meshtype, meshid, offset, scale)
  430. local mesh = it(Mesh)
  431. mesh.Parent = part
  432. if Mesh == "SpecialMesh" then
  433. mesh.MeshType = meshtype
  434. mesh.MeshId = meshid
  435. end
  436. mesh.Offset = offset
  437. mesh.Scale = scale
  438. return mesh
  439. end
  440.  
  441. weld = function(parent, part0, part1, c0)
  442. local weld = it("Weld")
  443. weld.Parent = parent
  444. weld.Part0 = part0
  445. weld.Part1 = part1
  446. weld.C0 = c0
  447. return weld
  448. end
  449.  
  450. F1 = Instance.new("Folder", Character)
  451. F1.Name = "Effects Folder"
  452. F2 = Instance.new("Folder", F1)
  453. F2.Name = "Effects"
  454. Triangle = function(a, b, c)
  455. end
  456.  
  457. MagicBlock = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  458. local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt())
  459. prt.Anchored = true
  460. prt.CanCollide = false
  461. prt.CFrame = cframe
  462. prt.Name = "prt"
  463. msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
  464. game:GetService("Debris"):AddItem(prt, 5)
  465. table.insert(Effects, {prt, "Block1", delay, x3, y3, z3})
  466. end
  467.  
  468.  
  469.  
  470. MagicCircle = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  471. local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt())
  472. prt.Anchored = true
  473. prt.CanCollide = false
  474. prt.CFrame = cframe
  475. prt.Name = "prt"
  476. local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
  477. game:GetService("Debris"):AddItem(prt, 5)
  478. table.insert(Effects, {prt, "Cylinder", delay, x3, y3, z3})
  479. end
  480.  
  481. MagicWave = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  482. local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt())
  483. prt.Anchored = true
  484. prt.CFrame = cframe
  485. local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=20329976", vt(0, 0, 0), vt(x1, y1, z1))
  486. game:GetService("Debris"):AddItem(prt, 5)
  487. table.insert(Effects, {prt, "Cylinder", delay, x3, y3, z3})
  488. end
  489.  
  490. MagicCylinder = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  491. local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt(0.2, 0.2, 0.2))
  492. prt.Anchored = true
  493. prt.CFrame = cframe
  494. msh = mesh("SpecialMesh", prt, "Head", "", vt(0, 0, 0), vt(x1, y1, z1))
  495. game:GetService("Debris"):AddItem(prt, 5)
  496. Effects[#Effects + 1] = {prt, "Cylinder", delay, x3, y3, z3}
  497. end
  498.  
  499. MagicCylinder2 = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  500. local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt(0.2, 0.2, 0.2))
  501. prt.Anchored = true
  502. prt.CFrame = cframe
  503. msh = mesh("CylinderMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
  504. game:GetService("Debris"):AddItem(prt, 5)
  505. Effects[#Effects + 1] = {prt, "Cylinder", delay, x3, y3, z3}
  506. end
  507.  
  508. MagicBlood = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  509. local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt())
  510. prt.Anchored = true
  511. prt.CFrame = cframe
  512. local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
  513. game:GetService("Debris"):AddItem(prt, 5)
  514. table.insert(Effects, {prt, "Blood", delay, x3, y3, z3})
  515. end
  516.  
  517. ElecEffect = function(cff, x, y, z)
  518. local prt = part(3, F2, 0, 0, BrickColor.new("Dark indigo"), "Part", vt(1, 1, 1))
  519. prt.Anchored = true
  520. prt.CFrame = cff * cf(math.random(-x, x), math.random(-y, y), math.random(-z, z))
  521. prt.CFrame = cf(prt.Position)
  522. game:GetService("Debris"):AddItem(prt, 2)
  523. xval = math.random() / 2
  524. yval = math.random() / 2
  525. zval = math.random() / 2
  526. msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(xval, yval, zval))
  527. Effects[#Effects + 1] = {prt, "Elec", 0.1, x, y, z, xval, yval, zval}
  528. end
  529.  
  530. function FindNearestTorso(Position, Distance, SinglePlayer)
  531. if SinglePlayer then
  532. return (SinglePlayer.Torso.CFrame.p - Position).magnitude < Distance
  533. end
  534. local List = {}
  535. for i, v in pairs(workspace:GetChildren()) do
  536. if v:IsA("Model") then
  537. if v:findFirstChild("Torso") then
  538. if v ~= Character then
  539. if (v.Torso.Position - Position).magnitude <= Distance then
  540. table.insert(List, v)
  541. end
  542. end
  543. end
  544. end
  545. end
  546. return List
  547. end
  548.  
  549.  
  550. function CreatePart(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
  551. local Part = Create("Part"){
  552. Parent = Parent,
  553. Reflectance = Reflectance,
  554. Transparency = Transparency,
  555. CanCollide = false,
  556. Locked = true,
  557. BrickColor = BrickColor.new(tostring(BColor)),
  558. Name = Name,
  559. Size = Size,
  560. Material = Material,
  561. }
  562. RemoveOutlines(Part)
  563. return Part
  564. end
  565.  
  566. function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  567. local Msh = Create(Mesh){
  568. Parent = Part,
  569. Offset = OffSet,
  570. Scale = Scale,
  571. }
  572. if Mesh == "SpecialMesh" then
  573. Msh.MeshType = MeshType
  574. Msh.MeshId = MeshId
  575. end
  576. return Msh
  577. end
  578.  
  579.  
  580.  
  581. function BlockEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
  582. local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  583. prt.Anchored = true
  584. prt.CFrame = cframe
  585. local msh = CreateMesh("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  586. game:GetService("Debris"):AddItem(prt, 10)
  587. if Type == 1 or Type == nil then
  588. table.insert(Effects, {
  589. prt,
  590. "Block1",
  591. delay,
  592. x3,
  593. y3,
  594. z3,
  595. msh
  596. })
  597. elseif Type == 2 then
  598. table.insert(Effects, {
  599. prt,
  600. "Block2",
  601. delay,
  602. x3,
  603. y3,
  604. z3,
  605. msh
  606. })
  607. end
  608. end
  609.  
  610. function SphereEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  611. local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  612. prt.Anchored = true
  613. prt.CFrame = cframe
  614. local msh = CreateMesh("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  615. game:GetService("Debris"):AddItem(prt, 10)
  616. table.insert(Effects, {
  617. prt,
  618. "Cylinder",
  619. delay,
  620. x3,
  621. y3,
  622. z3,
  623. msh
  624. })
  625. end
  626.  
  627. function RingEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay,material)
  628. local prt=CreatePart(workspace,material,0,0,brickcolor,"Effect",vt(.5,.5,.5))--part(3,workspace,"SmoothPlastic",0,0,brickcolor,"Effect",vt(0.5,0.5,0.5))
  629. prt.Anchored=true
  630. prt.CFrame=cframe
  631. msh=CreateMesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=3270017",vt(0,0,0),vt(x1,y1,z1))
  632. game:GetService("Debris"):AddItem(prt,2)
  633. coroutine.resume(coroutine.create(function(Part,Mesh,num)
  634. for i=0,1,delay do
  635. swait()
  636. Part.Transparency=i
  637. Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
  638. end
  639. Part.Parent=nil
  640. end),prt,msh,(math.random(0,1)+math.random())/5)
  641. end
  642.  
  643. function CylinderEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  644. local prt = CreatePart(workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  645. prt.Anchored = true
  646. prt.CFrame = cframe
  647. local msh = CreateMesh("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  648. game:GetService("Debris"):AddItem(prt, 10)
  649. table.insert(Effects, {
  650. prt,
  651. "Cylinder",
  652. delay,
  653. x3,
  654. y3,
  655. z3,
  656. msh
  657. })
  658. end
  659.  
  660. function WaveEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  661. local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  662. prt.Anchored = true
  663. prt.CFrame = cframe
  664. local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  665. game:GetService("Debris"):AddItem(prt, 10)
  666. table.insert(Effects, {
  667. prt,
  668. "Cylinder",
  669. delay,
  670. x3,
  671. y3,
  672. z3,
  673. msh
  674. })
  675. end
  676.  
  677. function SpecialEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  678. local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  679. prt.Anchored = true
  680. prt.CFrame = cframe
  681. local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "rbxassetid://24388358", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  682. game:GetService("Debris"):AddItem(prt, 10)
  683. table.insert(Effects, {
  684. prt,
  685. "Cylinder",
  686. delay,
  687. x3,
  688. y3,
  689. z3,
  690. msh
  691. })
  692. end
  693.  
  694.  
  695. function MoonEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  696. local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  697. prt.Anchored = true
  698. prt.CFrame = cframe
  699. local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "rbxassetid://259403370", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  700. game:GetService("Debris"):AddItem(prt, 10)
  701. table.insert(Effects, {
  702. prt,
  703. "Cylinder",
  704. delay,
  705. x3,
  706. y3,
  707. z3,
  708. msh
  709. })
  710. end
  711.  
  712. function HeadEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  713. local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  714. prt.Anchored = true
  715. prt.CFrame = cframe
  716. local msh = CreateMesh("SpecialMesh", prt, "Head", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  717. game:GetService("Debris"):AddItem(prt, 10)
  718. table.insert(Effects, {
  719. prt,
  720. "Cylinder",
  721. delay,
  722. x3,
  723. y3,
  724. z3,
  725. msh
  726. })
  727. end
  728.  
  729. function BreakEffect(brickcolor, cframe, x1, y1, z1)
  730. local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
  731. prt.Anchored = true
  732. prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  733. local msh = CreateMesh("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  734. local num = math.random(10, 50) / 1000
  735. game:GetService("Debris"):AddItem(prt, 10)
  736. table.insert(Effects, {
  737. prt,
  738. "Shatter",
  739. num,
  740. prt.CFrame,
  741. math.random() - math.random(),
  742. 0,
  743. math.random(50, 100) / 100
  744. })
  745. end
  746.  
  747. local lerp = function(a, b, t)
  748. return a * (1 - t) + b * t
  749. end
  750.  
  751. function clerp(a,b,t)
  752. local qa = {QuaternionFromCFrame(a)}
  753. local qb = {QuaternionFromCFrame(b)}
  754. local ax, ay, az = a.x, a.y, a.z
  755. local bx, by, bz = b.x, b.y, b.z
  756. local _t = 1-t
  757. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  758. end
  759.  
  760. function QuaternionFromCFrame(cf)
  761. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  762. local trace = m00 + m11 + m22
  763. if trace > 0 then
  764. local s = math.sqrt(1 + trace)
  765. local recip = 0.5/s
  766. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  767. else
  768. local i = 0
  769. if m11 > m00 then
  770. i = 1
  771. end
  772. if m22 > (i == 0 and m00 or m11) then
  773. i = 2
  774. end
  775. if i == 0 then
  776. local s = math.sqrt(m00-m11-m22+1)
  777. local recip = 0.5/s
  778. return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  779. elseif i == 1 then
  780. local s = math.sqrt(m11-m22-m00+1)
  781. local recip = 0.5/s
  782. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  783. elseif i == 2 then
  784. local s = math.sqrt(m22-m00-m11+1)
  785. local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  786. end
  787. end
  788. end
  789.  
  790.  
  791. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  792. local xs, ys, zs = x + x, y + y, z + z
  793. local wx, wy, wz = w*xs, w*ys, w*zs
  794. local xx = x*xs
  795. local xy = x*ys
  796. local xz = x*zs
  797. local yy = y*ys
  798. local yz = y*zs
  799. local zz = z*zs
  800. return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy))
  801. end
  802. function QuaternionSlerp(a, b, t)
  803. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  804. local startInterp, finishInterp;
  805. if cosTheta >= 0.0001 then
  806. if (1 - cosTheta) > 0.0001 then
  807. local theta = math.acos(cosTheta)
  808. local invSinTheta = 1/math.sin(theta)
  809. startInterp = math.sin((1-t)*theta)*invSinTheta
  810. finishInterp = math.sin(t*theta)*invSinTheta
  811. else
  812. startInterp = 1-t
  813. finishInterp = t
  814. end
  815. else
  816. if (1+cosTheta) > 0.0001 then
  817. local theta = math.acos(-cosTheta)
  818. local invSinTheta = 1/math.sin(theta)
  819. startInterp = math.sin((t-1)*theta)*invSinTheta
  820. finishInterp = math.sin(t*theta)*invSinTheta
  821. else
  822. startInterp = t-1
  823. finishInterp = t
  824. end
  825. end
  826. return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp
  827. end
  828.  
  829. function weld5(part0, part1, c0, c1)
  830. weeld=Instance.new("Weld", part0)
  831. weeld.Part0=part0
  832. weeld.Part1=part1
  833. weeld.C0=c0
  834. weeld.C1=c1
  835. return weeld
  836. end
  837.  
  838. --Example: Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.4)
  839.  
  840. function rayCast(Pos, Dir, Max, Ignore) -- Origin Position , Direction, MaxDistance , IgnoreDescendants
  841. return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
  842. end
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849. Character.Humanoid.MaxHealth = 120
  850. Character.Humanoid.Health = 120
  851.  
  852. local f = 0
  853. local b = Instance.new("BlurEffect",cam)
  854. local c = Instance.new('PointLight', Torso)
  855. c.Range = 16
  856. c.Color = Color3.new(0, 1,1)
  857. c.Brightness = 1.5
  858. game:GetService("RunService"):BindToRenderStep("W0tT", 0, function()
  859.  
  860. b.Size = b.Size - 4
  861. if boost == true then
  862. c.Enabled = true
  863. cam.FieldOfView = lerp(cam.FieldOfView, 110, 0.5)
  864. -- cam.FieldOfView = 110
  865. freefall = 0
  866. Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,3),0.25)
  867. SphereEffect(BrickColor.new("Cyan"),RightLeg.CFrame*CFrame.new(0,-1,0)*angles(math.random(-180,180),math.random(-180,180),math.random(-180,180)),1.4,12,1.4,2.8,26,2.8,0.07)
  868. SphereEffect(BrickColor.new("Cyan"),LeftLeg.CFrame*CFrame.new(0,-1,0)*angles(math.random(-180,180),math.random(-180,180),math.random(-180,180)),1.4,12,1.4,2.8,26,2.8,0.07)
  869. if hitfloor ~= nil and Anim ~= "runIdle" then
  870. SpecialEffect(BrickColor.new("Cyan"),RootPart.CFrame*CFrame.new(0,-3.4,.78) ,2,2,2, 1.5,1.5,1.5,.09)
  871. end
  872. end
  873. if boost == false then
  874. cam.FieldOfView = lerp(cam.FieldOfView, 70, 0.076)
  875. --cam.FieldOfView = 70
  876. c.Enabled = false
  877. end
  878. end)
  879.  
  880.  
  881.  
  882. mouse.KeyDown:connect(function(key)
  883. if string.byte(key) == 48 then
  884. b.Size = 40
  885. Swing = 2
  886. freefall = 0
  887.  
  888. coroutine.resume(coroutine.create(function()
  889. for i = 0,1,0.1 do
  890. swait()
  891. Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(math.random(-0.35*1.8,0.35*1.8),math.random(-0.35*1.8,0.35*1.8),math.random(-0.35*1.8,0.35*1.8)),0.24)
  892. end
  893. end))
  894. Humanoid.WalkSpeed = 180
  895. RootPart.Velocity = RootPart.CFrame.lookVector*150
  896. RingEffect(BrickColor.new("Cyan"), RootPart.CFrame*CFrame.new(0,0,-9.2) , 1, 1, 1, 8, 8, 8, 0.14,"Neon")
  897. boost = true
  898. boostsound:Play()
  899. end
  900. end)
  901.  
  902. mouse.KeyUp:connect(function(key)
  903. if string.byte(key) == 48 then
  904. Swing = 1
  905. Humanoid.WalkSpeed = 64
  906. boost = false
  907. boostsound:Stop()
  908.  
  909. end
  910. end)
  911.  
  912.  
  913.  
  914.  
  915. mouse.KeyDown:connect(function(key)
  916. if string.byte(key) == 50 then
  917. b.Size = 40
  918. freefall = 0
  919. Swing = 2
  920.  
  921. coroutine.resume(coroutine.create(function()
  922. for i = 0,1,0.1 do
  923. swait()
  924. Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(math.random(-0.35*2.8,0.35*2.8),math.random(-0.35*2.8,0.35*2.8),math.random(-0.35*2.8,0.35*2.8)),0.48)
  925. end
  926. end))
  927.  
  928. Humanoid.WalkSpeed = 320
  929. RootPart.Velocity = RootPart.CFrame.lookVector*550
  930. RingEffect(BrickColor.new("Cyan"), RootPart.CFrame*CFrame.new(0,0,-9.2) , 1, 1, 1, 18, 18, 18, 0.14,"Neon")
  931. RingEffect(BrickColor.new("White"), RootPart.CFrame*CFrame.new(0,0,-11.2) , 1, 1, 1, 18, 18, 18, 0.14,"Neon")
  932. RingEffect(BrickColor.new("Cyan"), RootPart.CFrame*CFrame.new(0,0,-13.2) , 1, 1, 1, 18, 18, 18, 0.14,"Neon")
  933. boost = true
  934. boostsound:Play()
  935. end
  936. end)
  937.  
  938. mouse.KeyUp:connect(function(key)
  939. if string.byte(key) == 50 then
  940. Swing = 1
  941. Humanoid.WalkSpeed = 64
  942. boost = false
  943. boostsound:Stop()
  944.  
  945. end
  946. end)
  947.  
  948.  
  949. local lastwall = nil
  950. local jumped = false
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957. local vwall = false
  958.  
  959. mouse.KeyDown:connect(function(key)
  960. if key == 'b' and hitfloor == nil and attack == false then
  961. vrun()
  962. end
  963. end)
  964.  
  965.  
  966. function vrun()
  967. local ray = Ray.new(
  968. RootPart.CFrame.p, RootPart.CFrame.lookVector *2.5
  969. )
  970. local hit, position, normal = workspace:FindPartOnRay(ray, character)
  971.  
  972. if hit then
  973. if hit.Parent.Parent ~= Character and hit.Parent ~= Character and hit.Name ~= "prt" and hit.CanCollide == true then
  974. vwall = true
  975. local NV = Vector3.new(0,0,0)
  976. local spd = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).magnitude + 10
  977. local dir = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).unit
  978. local GravPoint = RootPart.Velocity.y
  979. local velo = Instance.new("BodyVelocity",Torso)
  980. velo.MaxForce = Vector3.new(400000,400000,400000)
  981.  
  982. attack = true
  983. while vwall == true and ray and hit do
  984. swait()
  985. change = 0.84+ Humanoid.WalkSpeed/132
  986. if Humanoid.WalkSpeed > 40 and Humanoid.WalkSpeed < 70 then
  987. velo.Velocity = Vector3.new(0,40,0)
  988. end
  989. if Humanoid.WalkSpeed > 70 and Humanoid.WalkSpeed < 200 then
  990. velo.Velocity = Vector3.new(0,80,0)
  991. end
  992. if Humanoid.WalkSpeed > 200 then
  993. velo.Velocity = Vector3.new(0,130,0)
  994. end
  995. ray = Ray.new(
  996. RootPart.CFrame.p, RootPart.CFrame.lookVector *2.5
  997. )
  998. hit, position, normal = workspace:FindPartOnRay(ray, character)
  999. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1-0.52*math.cos(sine/2), .6) * angles(math.rad(96), math.rad(0), math.rad(0)+ RootPart.RotVelocity.Y / 26), .1)
  1000. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(-11+20*math.sin(sine/2)),math.rad(0),math.rad(0+5*math.sin(sine/4)) + RootPart.RotVelocity.Y / 13),.1)
  1001. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0.1) * angles(math.rad(-90-7*math.sin(sine/4))+ RootPart.RotVelocity.Y / -34, math.rad(0), math.rad(15+2*math.sin(sine/4))- RootPart.RotVelocity.Y / 34),.15)
  1002. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0.1)*angles(math.rad(-90-7*math.sin(sine/4))+ RootPart.RotVelocity.Y / 34,math.rad(0),math.rad(-15+2*math.sin(sine/4))+ RootPart.RotVelocity.Y / -34),.15)
  1003. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.28*math.cos(sine/4), 0-0.32*math.cos(sine/4)) * CFrame.Angles(math.rad(0+104*math.sin(sine/4)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)+ RootPart.RotVelocity.Y / -54), 0.3+ Humanoid.WalkSpeed/272)
  1004. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1-0.28*math.cos(sine/4),0+0.32*math.cos(sine/4)) * CFrame.Angles(math.rad(0-104*math.sin(sine/4)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)- RootPart.RotVelocity.Y / 54), 0.3+ Humanoid.WalkSpeed/272)
  1005. end
  1006. velo:Destroy()
  1007. wait(0.07)
  1008.  
  1009. if vwall == false then
  1010.  
  1011. RootPart.Velocity = -RootPart.CFrame.lookVector*68 + Vector3.new(0,86,0)
  1012.  
  1013. --[[]
  1014. for i = 0,5,0.2 do
  1015. rs:wait()
  1016. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -0.79, 0) * CFrame.Angles(math.rad(0+100*i), math.rad(0), math.rad(0)), 0.2)
  1017. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(20),math.rad(0),math.rad(0)),.2)
  1018. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(180), math.rad(-60), math.rad(40)),.2)
  1019. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(180), math.rad(60), math.rad(-40)),.2)
  1020. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.2)
  1021. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.2)
  1022. end
  1023. ]]
  1024.  
  1025.  
  1026. for i = 0,4,0.1 do
  1027. swait()
  1028. Humanoid.CameraOffset = Vector3.new(0,0,0)
  1029. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0+260*i), math.rad(0), math.rad(0)), 0.6)
  1030. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(70),math.rad(0),math.rad(0)),.1)
  1031. RW.C0 = clerp(RW.C0, CFrame.new(.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(-90)), 0.1)
  1032. LW.C0 = clerp(LW.C0, CFrame.new(-.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.1)
  1033. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
  1034. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
  1035. end
  1036.  
  1037. attack = false
  1038.  
  1039.  
  1040. end
  1041.  
  1042.  
  1043. if vwall == true then
  1044. RootPart.Velocity = RootPart.CFrame.lookVector*38 + Vector3.new(0,86,0)
  1045.  
  1046. --[[]
  1047. for i = 0,5,0.2 do
  1048. rs:wait()
  1049. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -0.79, 0) * CFrame.Angles(math.rad(0+100*i), math.rad(0), math.rad(0)), 0.2)
  1050. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(20),math.rad(0),math.rad(0)),.2)
  1051. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(180), math.rad(-60), math.rad(40)),.2)
  1052. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(180), math.rad(60), math.rad(-40)),.2)
  1053. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.2)
  1054. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.2)
  1055. end
  1056. ]]
  1057.  
  1058.  
  1059. for i = 0,4,0.15 do
  1060. swait()
  1061. Humanoid.CameraOffset = Vector3.new(0,0,0)
  1062. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0-260*i), math.rad(0), math.rad(0)), 0.6)
  1063. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(70),math.rad(0),math.rad(0)),.1)
  1064. RW.C0 = clerp(RW.C0, CFrame.new(.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(-90)), 0.1)
  1065. LW.C0 = clerp(LW.C0, CFrame.new(-.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.1)
  1066. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
  1067. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
  1068. end
  1069.  
  1070. attack = false
  1071.  
  1072. end
  1073.  
  1074.  
  1075. end
  1076. end
  1077. end
  1078.  
  1079.  
  1080.  
  1081.  
  1082. mouse.KeyUp:connect(function(key)
  1083. if key == 'b' and vwall == true then
  1084. vwall = false
  1085. end
  1086. end)
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092. function Ldash()
  1093.  
  1094.  
  1095.  
  1096. evadecooldown = true
  1097. attack = true
  1098. k = math.random(1,2)
  1099. if k == 1 then
  1100. so("http://www.roblox.com/asset/?id=807766310", Head, 2.5, 1)
  1101. else
  1102. so("http://www.roblox.com/asset/?id=807768137", Head, 2.5, 1)
  1103. end
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109. --+173.8*i
  1110. for i = 0,.7,0.1 do
  1111. swait()
  1112. Head.Velocity = Head.CFrame.rightVector * -135
  1113. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(32)), 0.2)
  1114. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(0),math.rad(-9),math.rad(-14)),.2)
  1115. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -0.2) * angles(math.rad(27), math.rad(0), math.rad(30)),.2)
  1116. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(30), math.rad(0), math.rad(30)),.2)
  1117. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(12)), 0.2)
  1118. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(8)), 0.2)
  1119. end
  1120.  
  1121. attack = false
  1122. wait(0.08)
  1123. evadecooldown = false
  1124.  
  1125.  
  1126. end
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132. function Rdash()
  1133.  
  1134.  
  1135.  
  1136. evadecooldown = true
  1137. attack = true
  1138. k = math.random(1,2)
  1139. if k == 1 then
  1140. so("http://www.roblox.com/asset/?id=807766310", Head, 2.5, 1)
  1141. else
  1142. so("http://www.roblox.com/asset/?id=807768137", Head, 2.5, 1)
  1143. end
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149. --+173.8*i
  1150. for i = 0,.7,0.1 do
  1151. swait()
  1152. Head.Velocity = Head.CFrame.rightVector * 135
  1153. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-32)), 0.2)
  1154. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(0),math.rad(9),math.rad(14)),.2)
  1155. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(30), math.rad(0), math.rad(-30)),.2)
  1156. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, -0.2) * angles(math.rad(27), math.rad(0), math.rad(-30)),.2)
  1157. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-8)), 0.2)
  1158. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-12)), 0.2)
  1159. end
  1160.  
  1161. attack = false
  1162. wait(0.08)
  1163. evadecooldown = false
  1164.  
  1165.  
  1166. end
  1167. local sliding = false
  1168.  
  1169.  
  1170. function Slide()
  1171.  
  1172. local spd = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).magnitude + 10
  1173. spd = spd + 30
  1174. local dir = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).unit
  1175. local GravPoint = RootPart.Velocity.y
  1176. if spd > 40 and hitfloor ~= nil then
  1177. noleg = true
  1178.  
  1179. attack = true
  1180. k = math.random(1,2)
  1181. if k == 1 then
  1182. so("http://www.roblox.com/asset/?id=807766310", Head, 2.5, 1)
  1183. else
  1184. so("http://www.roblox.com/asset/?id=807768137", Head, 2.5, 1)
  1185. end
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196. local NV = Vector3.new(0,0,0)
  1197. local bv = Instance.new("BodyVelocity", Torso)
  1198. bv.maxForce = Vector3.new(1/0,1/0,1/0)
  1199. bv.velocity = dir*spd
  1200. local bg = Instance.new("BodyGyro", Torso)
  1201. bg.maxTorque = Vector3.new(1/0,1/0,1/0)
  1202. bg.cframe = CFrame.new(NV, dir) * CFrame.Angles(math.pi/2.2,0.24,0)
  1203. Head.Running.SoundId = "rbxassetid://1295468446"
  1204. Head.Running.TimePosition = 0
  1205.  
  1206. Humanoid.PlatformStand = true
  1207. while spd > 2 and hitfloor ~= nil and sliding == true do
  1208. swait()
  1209. spd = spd - 0.95
  1210. bv.velocity = dir*spd + Vector3.new(0,0,0)
  1211. bg.cframe = CFrame.new(NV, dir) * CFrame.Angles(math.pi/2.2,0.24,0)
  1212. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -2.3, 0) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(12)), 0.2)
  1213. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(34),math.rad(0),math.rad(12)),.2)
  1214. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(110), math.rad(0), math.rad(70)),.2)
  1215. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, -0.2) * angles(math.rad(0), math.rad(0), math.rad(-60)),.2)
  1216. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.2)
  1217. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -0.56, -0.2) * CFrame.Angles(math.rad(-24), math.rad(0), math.rad(0)), 0.2)
  1218. end
  1219. bv:Destroy()
  1220. bg:Destroy()
  1221. Head.Running.SoundId = "rbxassetid://758199523"
  1222. Head.Running.TimePosition = 0
  1223. Humanoid.PlatformStand = false
  1224. attack = false
  1225. sliding = false
  1226. wait(0.05)
  1227. evadecooldown = false
  1228.  
  1229.  
  1230. end
  1231. end
  1232.  
  1233. function land()
  1234. attack = true
  1235. RootPart.Velocity = Vector3.new(0,0,0)
  1236. WaveEffect(BrickColor.new("Cyan"), RootPart.CFrame*CFrame.new(0,-1,0) , 1, 1, 1, 3, 0.8, 3, 0.06)
  1237. so("http://www.roblox.com/asset/?id=1295424585", Torso, 3.5, 1)
  1238.  
  1239. coroutine.resume(coroutine.create(function()
  1240. for i = 0,1,0.1 do
  1241. swait()
  1242. Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(math.random(-0.55*2.8,0.55*2.8),math.random(-0.55*2.8,0.55*2.8),math.random(-0.55*2.8,0.55*2.8)),0.44)
  1243. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -2, 0) * CFrame.Angles(math.rad(-16), math.rad(0), math.rad(0)), 0.5)
  1244. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(7),math.rad(0),math.rad(0)),.5)
  1245. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(87)),.5)
  1246. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, -0) * angles(math.rad(0), math.rad(0), math.rad(-87)),.5)
  1247. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, 0, -0.5) * CFrame.Angles(math.rad(16), math.rad(0), math.rad(0)), 0.5)
  1248. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1.14, 0.2) * CFrame.Angles(math.rad(-17), math.rad(0), math.rad(0)), 0.5)
  1249.  
  1250. end
  1251. attack = false
  1252.  
  1253.  
  1254. end))
  1255.  
  1256.  
  1257.  
  1258. end
  1259.  
  1260.  
  1261.  
  1262.  
  1263. function stomp()
  1264. attack = true
  1265. stompsound:Play()
  1266.  
  1267. while hitfloor == nil do
  1268. swait()
  1269. b.Size = 12
  1270. WaveEffect(BrickColor.new("Cyan"), LeftLeg.CFrame*CFrame.new(0,-2.4,0) , 1, 1, 1, 0.8, 0.8, 0.8, 0.14)
  1271. RootPart.Velocity = Vector3.new(0,RootPart.Velocity.y/1.6,0) +Vector3.new(0,-150,0)
  1272. Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
  1273. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0.2) * CFrame.Angles(math.rad(0+4*math.sin(sine/1.3)), math.rad(0), math.rad(0)),0.07)
  1274. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.65, 0) * angles(math.rad(0), math.rad(0), math.rad(140+12*math.cos(sine/1.3))), 0.07)
  1275. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.65, 0) * angles(math.rad(0), math.rad(0), math.rad(-140+12*math.cos(sine/1.3))), 0.07)
  1276. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(60+7*math.sin(sine/1.3)),math.rad(0),math.rad(0)),0.07)
  1277. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.17*math.cos(sine/1.3), -0.13) * CFrame.Angles(math.rad(0+4*math.cos(sine/1.3)), math.rad(3), math.rad(0)), 0.1)
  1278. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, .27+0.17*math.cos(sine/1.3), -0.56) * CFrame.Angles(math.rad(-12+4*math.cos(sine/1.3)), math.rad(0), math.rad(0)), 0.1)
  1279.  
  1280. end
  1281. stompsound:Stop()
  1282. land()
  1283.  
  1284.  
  1285. end
  1286.  
  1287.  
  1288. function changemusic()
  1289. musicnum = musicnum + 1
  1290. music.TimePosition = 0
  1291. local osix = false
  1292. local spd = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).magnitude
  1293. if musicnum > 14 then
  1294. musicnum = 1
  1295. end
  1296. if musicnum == 1 then
  1297. music.SoundId = "rbxassetid://572361913"
  1298. end
  1299. if musicnum == 2 then
  1300. music.SoundId = "rbxassetid://146443855"
  1301. end
  1302. if musicnum == 3 then
  1303. music.SoundId = "rbxassetid://1342408291"
  1304. end
  1305. if musicnum == 4 then
  1306. music.SoundId = "rbxassetid://201219416"
  1307. end
  1308. if musicnum == 5 then
  1309. music.SoundId = "rbxassetid://1390472571"
  1310. end
  1311. if musicnum == 6 then
  1312. osix = true
  1313. music.SoundId = "rbxassetid://249974783"
  1314. end
  1315. if musicnum == 7 then
  1316. music.SoundId = "rbxassetid://1851880603"
  1317. end
  1318. if musicnum == 8 then
  1319. music.SoundId = "rbxassetid://412034984"
  1320. end
  1321. if musicnum == 9 then
  1322. music.SoundId = "rbxassetid://536915629"
  1323. end
  1324. if musicnum == 10 then
  1325. music.SoundId = "rbxassetid://1200005861"
  1326. end
  1327. if musicnum == 11 then
  1328. music.SoundId = "rbxassetid://1055930631"
  1329. end
  1330. if musicnum == 12 then
  1331. music.SoundId = "rbxassetid://300269553"
  1332. end
  1333. if musicnum == 13 then
  1334. music.SoundId = "rbxassetid://199897052"
  1335. end
  1336. if musicnum == 14 then
  1337. music.SoundId = "rbxassetid://638115895"
  1338. end
  1339.  
  1340. if spd < 14 then
  1341. Humanoid.Jump = true
  1342.  
  1343. if osix == false then
  1344. so("rbxassetid://537371462",PlayerGui,2,1)
  1345. end
  1346.  
  1347.  
  1348. RootPart.Velocity = Vector3.new(0,102,0)
  1349. attack = true
  1350. wait(0.08)
  1351. for i = 0,7,0.1 do
  1352. swait()
  1353. RootPart.Velocity = Vector3.new(0,2,0)
  1354. Humanoid.CameraOffset = Vector3.new(0,0,0)
  1355. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0-260*i), math.rad(0), math.rad(0)), 0.6)
  1356. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(70),math.rad(0),math.rad(0)),.1)
  1357. RW.C0 = clerp(RW.C0, CFrame.new(.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(-90)), 0.1)
  1358. LW.C0 = clerp(LW.C0, CFrame.new(-.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.1)
  1359. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
  1360. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
  1361.  
  1362. end
  1363. b.Size = 40
  1364. MoonEffect(BrickColor.new("Cyan"), RootPart.CFrame*CFrame.new(0,0,0) , 1, 1, 1, 8, 8, 8, 0.06)
  1365.  
  1366. if osix == true then
  1367. osix = false
  1368. so("rbxassetid://156821036",PlayerGui,2,1)
  1369. end
  1370.  
  1371. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -3, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 1)
  1372. for i = 0,5,0.1 do
  1373. swait()
  1374. RootPart.Velocity = Vector3.new(0,3.5,0)
  1375. Humanoid.CameraOffset = Vector3.new(0,0,0)
  1376. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1+0.1*i, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.21)
  1377. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(22-2*i),math.rad(0),math.rad(0)),.21)
  1378. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5+0.09*i, 0) * angles(math.rad(20-6*i), math.rad(0), math.rad(90+13*i)), 0.21)
  1379. LW.C0 = clerp(LW.C0, CFrame.new(-1.0-0.12*i, 0.5, -0.4+0.05*i) * angles(math.rad(20+13*i), math.rad(0), math.rad(20-13*i)), 0.21)
  1380. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(45+6*i), math.rad(0), math.rad(-22-4*i)), 0.21)
  1381. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(45+6*i), math.rad(0), math.rad(22+4*i)), 0.21)
  1382. end
  1383. attack = false
  1384. end
  1385. end
  1386.  
  1387.  
  1388. mouse.KeyDown:connect(function(key)
  1389. if key == 'q' and attack == false and evadecooldown == false then
  1390. Ldash()
  1391. end
  1392. end)
  1393.  
  1394.  
  1395.  
  1396. mouse.KeyDown:connect(function(key)
  1397. if key == 'e' and attack == false and evadecooldown == false then
  1398. Rdash()
  1399. end
  1400. end)
  1401.  
  1402. mouse.KeyDown:connect(function(key)
  1403. if key == 'c' and attack == false and evadecooldown == false and hitfloor ~= nil then
  1404. sliding = true
  1405. Slide()
  1406. end
  1407. end)
  1408.  
  1409. mouse.KeyDown:connect(function(key)
  1410. if key == 'c' and attack == false and hitfloor == nil then
  1411. stomp()
  1412. end
  1413. end)
  1414.  
  1415.  
  1416. local walljump = false
  1417.  
  1418.  
  1419. function walljumpp()
  1420. local ray = Ray.new(
  1421. Torso.CFrame.p, RootPart.CFrame.lookVector *5
  1422. )
  1423. local hit, position, normal = workspace:FindPartOnRay(ray, character)
  1424.  
  1425. if hit then
  1426. if hit.Parent.Parent ~= Character and hit.Parent ~= Character then
  1427. local dir = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).unit
  1428. GravPoint = 0
  1429. freefall = 0
  1430. walljump = true
  1431. Humanoid.AutoRotate = false
  1432. local velo = Instance.new("BodyVelocity",Torso)
  1433. velo.MaxForce = Vector3.new(400000,400000,400000)
  1434. --game.Debris:AddItem(velo,0.1)
  1435. attack = true
  1436. while hitfloor == nil and walljump == true and ray and hit do
  1437. swait()
  1438. freefall = 0
  1439. GravPoint = GravPoint - 0.36
  1440. ray = Ray.new(
  1441. RootPart.CFrame.p, RootPart.CFrame.lookVector *2.5
  1442. )
  1443. hit, position, normal = workspace:FindPartOnRay(ray, character)
  1444. velo.Velocity = vt(0,GravPoint,0)
  1445. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0.9) * CFrame.Angles(math.rad(5), math.rad(90), math.rad(8)), 0.2)
  1446. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(7),math.rad(0),math.rad(86)),.2)
  1447. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(120)),.2)
  1448. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-60)),.2)
  1449. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-6), math.rad(14), math.rad(-12)), 0.2)
  1450. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(23)), 0.2)
  1451. end
  1452. if walljump == false then
  1453. k = math.random(1,3)
  1454. if k == 1 then
  1455. so("http://www.roblox.com/asset/?id=800121776", Head, 2.5, 1)
  1456. else if k == 2 then
  1457. so("http://www.roblox.com/asset/?id=804889329", Head, 2.5, 1)
  1458. else if k == 3 then
  1459. so("http://www.roblox.com/asset/?id=804907617", Head, 2.5, 1)
  1460. end
  1461. end
  1462. end
  1463.  
  1464. velo:Destroy()
  1465. attack = false
  1466. coroutine.resume(coroutine.create(function()
  1467. for i = 0,1,0.1 do
  1468. swait()
  1469. Humanoid.CameraOffset = Vector3.new(0,0,0)
  1470. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0+260*i), math.rad(0), math.rad(0)), 0.6)
  1471. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(70),math.rad(0),math.rad(0)),.1)
  1472. RW.C0 = clerp(RW.C0, CFrame.new(.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(-90)), 0.1)
  1473. LW.C0 = clerp(LW.C0, CFrame.new(-.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.1)
  1474. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
  1475. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
  1476. end
  1477. end))
  1478.  
  1479. Humanoid.AutoRotate = true
  1480. RootPart.Velocity = RootPart.CFrame.lookVector * -137 + Vector3.new(0,136,0)
  1481. wait(0.07)
  1482. RootPart.CFrame = CFrame.new(RootPart.CFrame.p,-RootPart.CFrame.lookVector)
  1483. end
  1484. if walljump == true then
  1485. attack = false
  1486. walljump = false
  1487. Humanoid.AutoRotate = true
  1488. velo:Destroy()
  1489. end
  1490. end
  1491. end
  1492. end
  1493.  
  1494.  
  1495. local homed = nil
  1496. function home()
  1497. if walljump ~= true then
  1498. for i, v in pairs(FindNearestTorso(Torso.CFrame.p, 80)) do
  1499. if v:FindFirstChild('Head') then
  1500. Grabbed = true
  1501. homed = v
  1502. end
  1503. end
  1504.  
  1505. if homed ~= nil and homed:FindFirstChildOfClass("Humanoid").Health > 1 and walljump == false then
  1506. so("http://www.roblox.com/asset/?id=162460823", Head, 1, .8)
  1507. local SBall = Instance.new("Part",Character)
  1508. SBall.Name = "Homing Ball"
  1509. SBall.CanCollide = false
  1510. SBall.Anchored = false
  1511. SBall.Transparency = 0.64
  1512. SBall.CFrame = CFrame.new(RootPart.CFrame.p)
  1513. SBall.BrickColor = BrickColor.new("Toothpaste")
  1514. SBall.Size = Vector3.new(1,1,1)
  1515. SBall.Material = "Neon"
  1516. SBallweld = Instance.new("Weld")
  1517. SBallweld.Parent = SBall
  1518. SBallweld.Part0 = RootPart
  1519. SBallweld.Part1 = SBall
  1520. SBallweld.C1 = CFrame.new(0, 1, 0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  1521. SBallweld.Part0 = RootPart
  1522. local SBallmesh = Instance.new("SpecialMesh",SBall)
  1523. SBallmesh.MeshType = "Sphere"
  1524. SBallmesh.Scale = Vector3.new(6,6,6)
  1525. trail = Instance.new("Trail", Character)
  1526. a2 = Instance.new("Attachment", Torso) a2.Position = Vector3.new(0,2,0)
  1527. a3 = Instance.new("Attachment", Torso)a3.Position = Vector3.new(0,-2.5,0)
  1528. trail.Texture = "rbxassetid://0"
  1529. trail.Attachment0 = a2
  1530. trail.Attachment1 = a3
  1531. trail.Lifetime = 0.353
  1532. trail.MinLength = 0.03
  1533. trail.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(1,1,1)})
  1534. trail.Color = ColorSequence.new(Color3.new(0,1,1), Color3.new(0, 0,0))
  1535. trail.LightEmission = 4.8
  1536. trail.TextureLength = 0.034
  1537. trail.Enabled = true
  1538. attack = true
  1539. local position = Instance.new("BodyPosition",Torso)
  1540. position.P = 68350
  1541. position.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1542.  
  1543. while homed ~= nil and (homed.Torso.Position-RootPart.Position).magnitude > 8 do
  1544. swait()
  1545. SBall.CFrame = CFrame.new(RootPart.CFrame.p)
  1546. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0+420*math.abs(sine/3.2)), math.rad(0), math.rad(0)), 0.6)
  1547. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(70),math.rad(0),math.rad(0)),.1)
  1548. RW.C0 = clerp(RW.C0, CFrame.new(.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(-90)), 0.1)
  1549. LW.C0 = clerp(LW.C0, CFrame.new(-.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.1)
  1550. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
  1551. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
  1552. position.Position = homed.Torso.Position + Vector3.new(0,2,0)
  1553. end
  1554. local bodvol=Instance.new("BodyVelocity")
  1555. bodvol.velocity= RootPart.CFrame.lookVector*240 + Vector3.new(0,30,0)
  1556. bodvol.P= 35200
  1557. bodvol.maxForce=Vector3.new(8e+003, 8e+003, 8e+003)
  1558. bodvol.Parent=homed.Head
  1559. game:GetService("Debris"):AddItem(bodvol, 0.2)
  1560. homed:FindFirstChildOfClass("Humanoid"):TakeDamage(math.random(10,30))
  1561.  
  1562. position:Destroy()
  1563. trail.Enabled = false
  1564. SBall:Destroy()
  1565. RootPart.Velocity = Vector3.new(0,93.5,0)
  1566. coroutine.resume(coroutine.create(function()
  1567. for i = 0,5,0.26 do
  1568. swait()
  1569. Humanoid.CameraOffset = Vector3.new(0,0,0)
  1570. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1+0.1*i, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.21)
  1571. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(22-2*i),math.rad(0),math.rad(0)),.21)
  1572. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5+0.09*i, 0) * angles(math.rad(20-6*i), math.rad(0), math.rad(90+13*i)), 0.21)
  1573. LW.C0 = clerp(LW.C0, CFrame.new(-1.0-0.12*i, 0.5, -0.4+0.05*i) * angles(math.rad(20+13*i), math.rad(0), math.rad(20-13*i)), 0.21)
  1574. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(45+6*i), math.rad(0), math.rad(-22-4*i)), 0.21)
  1575. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(45+6*i), math.rad(0), math.rad(22+4*i)), 0.21)
  1576. end
  1577. homed = nil
  1578. attack = false
  1579. end))
  1580.  
  1581. end
  1582.  
  1583. end
  1584.  
  1585.  
  1586. end
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610. mouse.KeyDown:connect(function(key)
  1611. wait(0.16)
  1612. if string.byte(key) == 32 and hitfloor == nil and attack == false and walljump == false and Humanoid.Jump == true then
  1613. walljumpp()
  1614. end
  1615. if string.byte(key) == 32 and hitfloor == nil and attack == false and walljump == false and Humanoid.Jump == true then
  1616. home()
  1617. end
  1618.  
  1619. if string.byte(key) == 32 and hitfloor == nil and attack == true and walljump == true then
  1620. walljump = false
  1621. end
  1622. end)
  1623.  
  1624.  
  1625.  
  1626.  
  1627. mouse.KeyDown:connect(function(key)
  1628. if key == 'm' and attack == false then
  1629. changemusic()
  1630. end
  1631. end)
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638. mouse.KeyUp:connect(function(key)
  1639. wait(0.05)
  1640. if key == 'c' and sliding == true then
  1641. sliding = false
  1642. end
  1643. end)
  1644. local look = 0
  1645.  
  1646.  
  1647.  
  1648. while true do
  1649. swait()
  1650. sine = sine + change
  1651. --speed = speed + music.PlaybackLoudness/90
  1652. local torvel=(RootPart.Velocity*Vector3.new(1,0,1)).magnitude
  1653. local velderp=RootPart.Velocity.y
  1654. hitfloor,posfloor=rayCast(RootPart.Position,(CFrame.new(RootPart.Position,RootPart.Position - Vector3.new(0,1,0))).lookVector,4,Character)
  1655.  
  1656. local TiltVelocity = CFrame.new(RootPart.CFrame:vectorToObjectSpace(RootPart.Velocity))
  1657.  
  1658. local rlegray = Ray.new(RightLeg.Position+Vector3.new(0,0.54,0),Vector3.new(0, -1.75, 0))
  1659. local rlegpart, rlegendPoint = workspace:FindPartOnRay(rlegray, Character)
  1660.  
  1661. local llegray = Ray.new(LeftLeg.Position+Vector3.new(0,0.54,0),Vector3.new(0, -1.75, 0))
  1662. local llegpart, llegendPoint = workspace:FindPartOnRay(llegray, Character)
  1663.  
  1664. local waterthing = Ray.new(RootPart.CFrame.p,Vector3.new(0,-1,0))
  1665. local start, position = workspace:FindPartOnRay(waterthing, character)
  1666.  
  1667. if start ~= nil and start.Material == "Water" then
  1668.  
  1669. RootPart.Velocity = RootPart.Velocity + Vector3.new(0,6,0)
  1670.  
  1671. end
  1672.  
  1673. Head.Running.Pitch = 0.76 + Humanoid.WalkSpeed/124
  1674. if torvel<1 and Swing == 2 then
  1675. boost = false
  1676. elseif torvel>1 and Swing == 2 then
  1677. boost = true
  1678. freefall = 0
  1679. end
  1680. if hitfloor ~= nil and freefall < 150 then
  1681. freefall = 0
  1682. end
  1683. if freefall > 150 and hitfloor ~= nil then
  1684. land()
  1685. freefall = 0
  1686. end
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694. if RootPart.Velocity.y > 1 and hitfloor==nil then
  1695. Anim="Jump"
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701. if attack==false then
  1702. change = 1
  1703. look = 0
  1704. Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
  1705. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(4), math.rad(0), math.rad(0)), 0.07)
  1706. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(-10+2.05*math.cos(sine/5)),math.rad(0),math.rad(0)),0.07)
  1707. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-20+2.05*math.cos(sine/5)), math.rad(-10), math.rad(50-2.05*math.cos(sine/5))), 0.07)
  1708. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20+2.05*math.cos(sine/5)), math.rad(-10), math.rad(-50+2.05*math.cos(sine/5))), 0.07)
  1709. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, -0.6) * CFrame.Angles(math.rad(-25+3.05*math.cos(sine/5)), math.rad(-3), math.rad(0)), 0.1)
  1710. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -.47, -0.7) * CFrame.Angles(math.rad(-12+3.05*math.cos(sine/5)), math.rad(0), math.rad(0)), 0.1)
  1711. end
  1712.  
  1713. elseif RootPart.Velocity.y < -1 and freefall <150 and hitfloor==nil then
  1714. Anim="Fall"
  1715. change = 1
  1716. freefall = freefall +0.77
  1717.  
  1718.  
  1719. if attack==false then
  1720. Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
  1721. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0.2) * CFrame.Angles(math.rad(7+4*math.sin(sine/1.3)), math.rad(0), math.rad(0)),0.07)
  1722. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.65, 0) * angles(math.rad(0), math.rad(0), math.rad(140+12*math.cos(sine/1.3))), 0.07)
  1723. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.65, 0) * angles(math.rad(0), math.rad(0), math.rad(-140+12*math.cos(sine/1.3))), 0.07)
  1724. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(40+7*math.sin(sine/1.3)),math.rad(0),math.rad(0)),0.07)
  1725. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.17*math.cos(sine/1.3), -0.13) * CFrame.Angles(math.rad(18+7*math.cos(sine/1.3)), math.rad(3), math.rad(0)), 0.1)
  1726. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -.37+0.17*math.cos(sine/1.3), -0.2) * CFrame.Angles(math.rad(32+7*math.cos(sine/1.3)), math.rad(0), math.rad(0)), 0.1)
  1727. end
  1728.  
  1729.  
  1730.  
  1731. elseif RootPart.Velocity.y < -1 and freefall > 150 and hitfloor==nil then
  1732. Anim="FreeFall"
  1733. change = 1
  1734.  
  1735.  
  1736. if attack==false then
  1737. Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
  1738. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0.2) * CFrame.Angles(math.rad(-90+3*math.sin(sine/1.3)), math.rad(0), math.rad(0)),0.07)
  1739. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(14+12*math.cos(sine/1.3)), math.rad(0), math.rad(110)), 0.07)
  1740. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(14+12*math.cos(sine/1.3)), math.rad(0), math.rad(-110)), 0.07)
  1741. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(-12+7*math.sin(sine/1.3)),math.rad(0),math.rad(0)),0.07)
  1742. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.17*math.cos(sine/1.3),0.2) * CFrame.Angles(math.rad(-12+4*math.cos(sine/1.3)), math.rad(3), math.rad(-46)), 0.1)
  1743. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1+0.17*math.cos(sine/1.3), 0.2) * CFrame.Angles(math.rad(-12+4*math.cos(sine/1.3)), math.rad(0), math.rad(46)), 0.1)
  1744. end
  1745.  
  1746. elseif torvel<1 and hitfloor~=nil then
  1747. Anim="Idle"
  1748. change = 1
  1749. if attack==false and equip == false then
  1750.  
  1751. Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
  1752. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1-0.04*math.cos(sine/40), -0) * CFrame.Angles(math.rad(0-0.81*math.cos(sine/40)), math.rad(-40), math.rad(0)), 0.1)
  1753. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(0+2.6*math.sin(sine/40)),math.rad(0),math.rad(40)),0.1)
  1754. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.55+0.04*math.sin(sine/40), 0-0.04*math.cos(sine/40)) * angles(math.rad(-2+1.3*math.cos(sine/40)), math.rad(0+4*math.sin(sine/40)), math.rad(6.3+2.2*math.cos(sine/40))),0.1)
  1755. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.55+0.04*math.sin(sine/40), 0-0.04*math.cos(sine/40)) * angles(math.rad(2+1.3*math.cos(sine/40)), math.rad(0-4*math.sin(sine/40)), math.rad(-6.3-2.2*math.cos(sine/40))),0.1)
  1756. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, llegendPoint.Y-LeftLeg.Position.Y+0.04*math.cos(sine/40), 0) * CFrame.Angles(math.rad(0+0.81*math.cos(sine/40)), math.rad(18+0.81*math.cos(sine/40)), math.rad(-2-0.81*math.cos(sine/40))),0.1)
  1757. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.57, rlegendPoint.Y-RightLeg.Position.Y+0.04*math.cos(sine/40), 0) * CFrame.Angles(math.rad(0+0.81*math.cos(sine/40)), math.rad(-2+0.81*math.cos(sine/40)), math.rad(3-0.81*math.cos(sine/40))),0.1)
  1758. end
  1759.  
  1760.  
  1761.  
  1762. elseif torvel>1.5 and torvel<70 and hitfloor~=nil then
  1763. Anim="Walk"
  1764. change = 0.84+ Character.Humanoid.WalkSpeed/132
  1765. look = 0
  1766. if attack==false and equip == false then
  1767. Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.02)
  1768. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1-0.52*math.cos(sine/2), -.8) * angles(math.rad(-26), math.rad(0), math.rad(0)+ RootPart.RotVelocity.Y / 26), .1)
  1769. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(-11+20*math.sin(sine/2)),math.rad(0),math.rad(0+5*math.sin(sine/4)) + RootPart.RotVelocity.Y / 13),.1)
  1770. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0.1) * angles(math.rad(-60-7*math.sin(sine/4))+ RootPart.RotVelocity.Y / -34, math.rad(0), math.rad(15+2*math.sin(sine/4))- RootPart.RotVelocity.Y / 34),.15)
  1771. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0.1)*angles(math.rad(-60-7*math.sin(sine/4))+ RootPart.RotVelocity.Y / 34,math.rad(0),math.rad(-15+2*math.sin(sine/4))+ RootPart.RotVelocity.Y / -34),.15)
  1772. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.28*math.cos(sine/4), 0-0.32*math.cos(sine/4)) * CFrame.Angles(math.rad(0+104*math.sin(sine/4)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)+ RootPart.RotVelocity.Y / -54), 0.3)
  1773. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1-0.28*math.cos(sine/4),0+0.32*math.cos(sine/4)) * CFrame.Angles(math.rad(0-104*math.sin(sine/4)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)- RootPart.RotVelocity.Y / 54), 0.3)
  1774. end
  1775.  
  1776.  
  1777. elseif torvel>=70 and torvel<200 and hitfloor~=nil then
  1778. Anim="Run"
  1779. change = 0.84+ Character.Humanoid.WalkSpeed/142
  1780. if attack==false and equip == false then
  1781. Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.02)
  1782. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1-0.52*math.cos(sine/1.5), -.8) * angles(math.rad(-37), math.rad(0), math.rad(0)+ RootPart.RotVelocity.Y / 26), .1)
  1783. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(-11+25*math.sin(sine/1.5)),math.rad(0),math.rad(0+5*math.sin(sine/3)) + RootPart.RotVelocity.Y / 13),.1)
  1784. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0.3) * angles(math.rad(-72-8*math.sin(sine/1.5))+ RootPart.RotVelocity.Y / -34, math.rad(0), math.rad(1+0*math.cos(sine/3))- RootPart.RotVelocity.Y / 34),.25)
  1785. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0.3)*angles(math.rad(-72-8*math.sin(sine/1.5))+ RootPart.RotVelocity.Y / 34,math.rad(0),math.rad(-1+0*math.cos(sine/3))+ RootPart.RotVelocity.Y / -34),.25)
  1786. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.32*math.cos(sine/3), 0-0.42*math.cos(sine/3)) * CFrame.Angles(math.rad(0+134*math.sin(sine/3)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)+ RootPart.RotVelocity.Y / -54), 0.44)
  1787. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1-0.32*math.cos(sine/3),0+0.42*math.cos(sine/3)) * CFrame.Angles(math.rad(0-134*math.sin(sine/3)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)- RootPart.RotVelocity.Y / 54), 0.44)
  1788. end
  1789.  
  1790. --[[
  1791. if attack==false then
  1792. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1-0.4*math.cos(sine/5.5)/2, 0 *math.sin(sine/6.6)/2) * CFrame.Angles(math.rad(0) + -math.sin(sine/5.5)/1.2, math.rad(0), 0), .8)
  1793. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1+0.4*math.cos(sine/5.5)/2,0 *-math.sin(sine/6.6)/2) * CFrame.Angles(math.rad(0) + math.sin(sine/5.5)/1.2, math.rad(0), 0), .8)
  1794. end
  1795. ]]
  1796. if attack==true and noleg == false then
  1797. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1-0.24*math.cos(sine/5), 0.+0.24*math.cos(sine/5)) * CFrame.Angles(math.rad(0-74*math.sin(sine/5)), math.rad(0), math.rad(0)), 0.3)
  1798. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1+0.24*math.cos(sine/5),0.-0.24*math.cos(sine/5)) * CFrame.Angles(math.rad(0+74*math.sin(sine/5)), math.rad(0), math.rad(0)), 0.3)
  1799. end
  1800.  
  1801.  
  1802.  
  1803. elseif torvel>=200 and hitfloor~=nil then
  1804. Anim="MachRun"
  1805. change = 0.84+ Character.Humanoid.WalkSpeed/182
  1806. if attack==false and equip == false then
  1807. Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.02)
  1808. Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1-0.52*math.cos(sine/1), -3.8) * angles(math.rad(-44), math.rad(0), math.rad(0)+ RootPart.RotVelocity.Y / 26), .2)
  1809. Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(-11+25*math.sin(sine/1)),math.rad(0),math.rad(0+5*math.sin(sine/2)) + RootPart.RotVelocity.Y / 13),.2)
  1810. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0.5) * angles(math.rad(-78-12*math.sin(sine/1))+ RootPart.RotVelocity.Y / -34, math.rad(0), math.rad(-24+0*math.cos(sine/2))- RootPart.RotVelocity.Y / 34),.35)
  1811. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0.5)*angles(math.rad(-78-12*math.sin(sine/1))+ RootPart.RotVelocity.Y / 34,math.rad(0),math.rad(24+0*math.cos(sine/2))+ RootPart.RotVelocity.Y / -34),.35)
  1812. LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.42*math.cos(sine/2), 0-0.62*math.cos(sine/2)) * CFrame.Angles(math.rad(0+134*math.sin(sine/2)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)+ RootPart.RotVelocity.Y / -54), 0.52)
  1813. RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1-0.42*math.cos(sine/2),0+0.62*math.cos(sine/2)) * CFrame.Angles(math.rad(0-134*math.sin(sine/2)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)- RootPart.RotVelocity.Y / 54), 0.52)
  1814. end
  1815.  
  1816.  
  1817.  
  1818. end
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828. if 0 < #Effects then
  1829. for e = 1, #Effects do
  1830. if Effects[e] ~= nil then
  1831. local Thing = Effects[e]
  1832. if Thing ~= nil then
  1833. local Part = Thing[1]
  1834. local Mode = Thing[2]
  1835. local Delay = Thing[3]
  1836. local IncX = Thing[4]
  1837. local IncY = Thing[5]
  1838. local IncZ = Thing[6]
  1839. if Thing[1].Transparency <= 1 then
  1840. if Thing[2] == "Block1" then
  1841. Thing[1].CFrame = Thing[1].CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  1842. Mesh = Thing[1]:FindFirstChild("Mesh")
  1843. if not Mesh then
  1844. Mesh = Instance.new("BlockMesh")
  1845. end
  1846. Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  1847. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1848. elseif Thing[2] == "Cylinder" then
  1849. Mesh = Thing[1]:FindFirstChild("Mesh")
  1850. if not Mesh then
  1851. Mesh = Instance.new("BlockMesh")
  1852. end
  1853. Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  1854. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1855. elseif Thing[2] == "Blood" then
  1856. Mesh = Thing[1]:FindFirstChild("Mesh")
  1857. if not Mesh then
  1858. Mesh = Instance.new("BlockMesh")
  1859. end
  1860. Thing[1].CFrame = Thing[1].CFrame * cf(0, 0.5, 0)
  1861. Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  1862. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1863. elseif Thing[2] == "Elec" then
  1864. Mesh = Thing[1]:FindFirstChild("Mesh")
  1865. if not Mesh then
  1866. Mesh = Instance.new("BlockMesh")
  1867. end
  1868. Mesh.Scale = Mesh.Scale + vt(Thing[7], Thing[8], Thing[9])
  1869. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1870. elseif Thing[2] == "Disappear" then
  1871. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1872. end
  1873. else
  1874. Part.Parent = nil
  1875. game:GetService("Debris"):AddItem(Part, 0)
  1876. table.remove(Effects, e)
  1877. end
  1878. end
  1879. end
  1880. end
  1881. end
  1882.  
  1883. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement