Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --STARTING VALUES--
- local Player = game.Players.LocalPlayer
- local Character = Player.Character
- local Animate = Character:FindFirstChild("Animate") or Character:WaitForChild("Animate")
- if Animate then
- Animate:Destroy()
- end
- local Humanoid = Character:WaitForChild("Humanoid")
- Humanoid.Animator.Parent = nil
- function GetParts()
- local Table = {}
- --BODY/HEAD--
- local HRP = Character:FindFirstChild("HumanoidRootPart") if HRP then table.insert(Table, HRP) end
- local Torso = Character:FindFirstChild("Torso") if Torso then table.insert(Table, Torso) end
- local Head = Character:FindFirstChild("Head") if Head then table.insert(Table, Head) end
- --LEGS--
- local RLeg = Character:FindFirstChild("Right Leg") if RLeg then table.insert(Table, RLeg) end
- local LLeg = Character:FindFirstChild("Left Leg") if LLeg then table.insert(Table, LLeg) end
- --ARMS--
- local RArm = Character:FindFirstChild("Right Arm") if RArm then table.insert(Table, RArm) end
- local LArm = Character:FindFirstChild("Left Arm") if LArm then table.insert(Table, LArm) end
- if RLeg and LLeg and RArm and LArm and Torso and HRP and Head then
- return Table
- else
- return false
- end
- end
- repeat wait() GetParts() until GetParts() ~= false
- local P = GetParts()
- --MATH VALUES--
- local MR = math.rad
- local Mra = math.random
- local SINE = 0
- local euler = CFrame.fromEulerAnglesXYZ
- local RootCF = euler(-1.57,0,3.14)
- local CF = CFrame.new
- local CFa = CFrame.Angles
- local necko = CF(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- --CREATE FAKE NAIL--
- local FNail = Instance.new("Part", Character)
- FNail.Name = "FNail"
- FNail.Position = P[2].Position
- FNail.Size = Vector3.new(0.832, 4.933, 0.36)
- FNail.CanCollide = false
- local FNailMesh = Instance.new("SpecialMesh", FNail)
- FNailMesh.Name = "FNailMesh"
- FNailMesh.MeshId = "rbxassetid://4462649391"
- FNailMesh.Scale = Vector3.new(2.2,2.5,1.5)
- --WELD FAKE NAIL--
- local BackNailWeld = Instance.new("Weld", FNail)
- BackNailWeld.Part0 = FNail
- BackNailWeld.Part1 = P[2]
- BackNailWeld.C0 = CFrame.new(0, 0, -0.6) * CFrame.Angles(0, 0, MR(205))
- --CREATE REAL NAIL--
- local Nail = Instance.new("Part", Character)
- Nail.Name = "Nail"
- Nail.Transparency = 1
- Nail.Position = P[6].Position
- Nail.Size = Vector3.new(0.832, 4.933, 0.36)
- Nail.CanCollide = false
- local NailMesh = Instance.new("SpecialMesh", Nail)
- NailMesh.Name = "NailMesh"
- NailMesh.MeshId = "rbxassetid://4462649391"
- NailMesh.Scale = Vector3.new(2.2,2.5,1.5)
- --WELD REAL NAIL--
- local NailWeld = Instance.new("Weld", Nail)
- NailWeld.Part0 = Nail
- NailWeld.Part1 = P[6]
- NailWeld.C0 = CFrame.Angles(math.rad(90), math.rad(0), math.rad(90)) * CFrame.new(0, 1, 1.95)
- --CREATE HITBOX--
- local HitBox = Instance.new("Part", Nail)
- HitBox.Name = "HitBox"
- HitBox.Transparency = 1
- HitBox.Position = Nail.Position
- HitBox.Size = Vector3.new(0.832, 4.933, 0.05)
- HitBox.CanCollide = false
- --WELD HITBOX--
- local HitWeld = Instance.new("Weld", HitBox)
- HitWeld.Part0 = HitBox
- HitWeld.Part1 = Nail
- --CREATE TRAIL--
- local Attachment0 = Instance.new("Attachment", HitBox)
- Attachment0.Name = "Attachment0"
- Attachment0.Position = Vector3.new(0, 2.4665, 0)
- local Attachment1 = Instance.new("Attachment", HitBox)
- Attachment1.Name = "Attachment1"
- Attachment1.Position = Vector3.new(0, -2.4665, 0)
- local Trail = Instance.new("Trail", HitBox)
- Trail.Attachment0 = Attachment0
- Trail.Attachment1 = Attachment1
- Trail.Texture = "rbxassetid://1978704853"
- Trail.LightInfluence = 1
- Trail.LightEmission = 1
- Trail.Lifetime = 0.4
- --RAYCAST FUNCTION--
- function RayCast(Position, Direction, Max, Ignore) -- Origin Position , Direction, MaxDistance , IgnoreDescendants
- return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Max or 999.999)), Ignore)
- end
- --CLERP STUFF
- function CLERP(a,b,t)
- local qa = {QuaternionFromCFrame(a)}
- local qb = {QuaternionFromCFrame(b)}
- local ax, ay, az = a.x, a.y, a.z
- local bx, by, bz = b.x, b.y, b.z
- local _t = 1-t
- return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
- end
- function QuaternionFromCFrame(CF)
- local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = CF:components()
- local trace = m00 + m11 + m22
- if trace > 0 then
- local s = math.sqrt(1 + trace)
- local recip = 0.5/s
- return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
- else
- local i = 0
- if m11 > m00 then
- i = 1
- end
- if m22 > (i == 0 and m00 or m11) then
- i = 2
- end
- if i == 0 then
- local s = math.sqrt(m00-m11-m22+1)
- local recip = 0.5/s
- return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
- elseif i == 1 then
- local s = math.sqrt(m11-m22-m00+1)
- local recip = 0.5/s
- return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
- elseif i == 2 then
- local s = math.sqrt(m22-m00-m11+1)
- local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
- end
- end
- end
- function QuaternionToCFrame(px, py, pz, x, y, z, w)
- local xs, ys, zs = x + x, y + y, z + z
- local wx, wy, wz = w*xs, w*ys, w*zs
- local xx = x*xs
- local xy = x*ys
- local xz = x*zs
- local yy = y*ys
- local yz = y*zs
- local zz = z*zs
- 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))
- end
- function QuaternionSlerp(a, b, t)
- local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
- local startInterp, finishInterp;
- if cosTheta >= 0.0001 then
- if (1 - cosTheta) > 0.0001 then
- local theta = math.acos(cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((1-t)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = 1-t
- finishInterp = t
- end
- else
- if (1+cosTheta) > 0.0001 then
- local theta = math.acos(-cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((t-1)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = t-1
- finishInterp = t
- end
- end
- 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
- end
- ---SONG---
- local Music = Instance.new("Sound", P[2])
- Music.Name = "Song"
- Music.SoundId = "rbxassetid://711197488"
- Music.Looped = true
- Music.Volume = 1
- Music:Play()
- Music.EmitterSize = 20
- Music.MaxDistance = 100
- ---JOINTS---
- LeftHip = P[2]["Left Hip"]
- RightHip = P[2]["Right Hip"]
- RootJoint = P[1]["RootJoint"]
- RightShoulder, LeftShoulder=Instance.new("Weld"), Instance.new("Weld")
- RightShoulder.Name="Right Shoulder" LeftShoulder.Name="Left Shoulder"
- RightShoulder.Name="Right Shoulder"
- RightShoulder.Part0=P[2]
- RightShoulder.C0=CF(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5)
- RightShoulder.C1=CF(0, 0.5, 0)
- RightShoulder.Part1=Character["Right Arm"]
- RightShoulder.Parent=P[2]
- --
- LeftShoulder.Name="Left Shoulder"
- LeftShoulder.Part0=P[2]
- LeftShoulder.C0=CF(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
- LeftShoulder.C1=CF(0, 0.5, 0)
- LeftShoulder.Part1=Character["Left Arm"]
- LeftShoulder.Parent=P[2]
- --TWEEN
- function Tween(obj,props,time,easing,direction,repeats,backwards)
- local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
- local tween = game:GetService("TweenService"):Create(obj, info, props)
- tween:Play()
- end
- --ATTACKS
- local Wait = 150
- local A = false
- local J = false
- local AT = true
- function AttackSlash1()
- A = true
- Wait = 0
- Humanoid.WalkSpeed = 8
- Humanoid.JumpPower = 0
- for i = 0, 0.7, 0.1 do
- wait()
- RightHip.C0=CLERP(RightHip.C0,CF(1,-1,0)*CFa(math.rad(0),math.rad(90),math.rad(0))*CFa(math.rad(-3),math.rad(-40),math.rad(0)),.2)
- LeftHip.C0=CLERP(LeftHip.C0,CF(-1,-1,0)*CFa(math.rad(0),math.rad(-90),math.rad(0))*CFa(math.rad(-3),math.rad(1),math.rad(5)),.2)
- RootJoint.C0=CLERP(RootJoint.C0,RootCF*CF(0.1,0.1,0)*CFa(math.rad(0),math.rad(0),math.rad(40)),.3)
- P[2].Neck.C0=CLERP(P[2].Neck.C0,necko*CFa(math.rad(2),math.rad(0),math.rad(-40)),.3)
- RightShoulder.C0=CLERP(RightShoulder.C0,CF(1.25,0.5,-0.65)*CFa(math.rad(90),math.rad(-30),math.rad(-23)),.3)
- LeftShoulder.C0=CLERP(LeftShoulder.C0, CF(-1.45,0.7,0.4) * CFa(math.rad(130),math.rad(-40),math.rad(-15)),.3)
- NailWeld.C0 = CLERP(NailWeld.C0, CFrame.Angles(math.rad(180), math.rad(0), math.rad(90)) * CFrame.new(1.7, 1, 0),0.3)
- end
- AT = false
- local Sound = Instance.new("Sound", HitBox)
- Sound.Name = "Sound"
- Sound.SoundId = "rbxassetid://1409971445"
- Sound.PlaybackSpeed = 1.2
- Sound:Play()
- Sound.EmitterSize = 20
- Sound.MaxDistance = 50
- spawn(function()
- wait(4)
- Sound:Destroy()
- end)
- for i = 0, 0.4, 0.1 do
- wait()
- RightHip.C0=CLERP(RightHip.C0,CF(1,-1,0)*CFa(math.rad(0),math.rad(90),math.rad(0))*CFa(math.rad(-3),math.rad(0),math.rad(-20)),.2)
- LeftHip.C0=CLERP(LeftHip.C0,CF(-1,-1,0)*CFa(math.rad(0),math.rad(-90),math.rad(0))*CFa(math.rad(-3),math.rad(50),math.rad(0)),.2)
- RootJoint.C0=CLERP(RootJoint.C0,RootCF*CF(-0.1,-0.25,0)*CFa(math.rad(10),math.rad(0),math.rad(-50)),.3)
- P[2].Neck.C0=CLERP(P[2].Neck.C0,necko*CFa(math.rad(2),math.rad(0),math.rad(50)),.3)
- RightShoulder.C0=CLERP(RightShoulder.C0,CF(1.45,0.5,0.1)*CFa(math.rad(80),math.rad(-20),math.rad(70)),.3)
- LeftShoulder.C0=CLERP(LeftShoulder.C0,CF(-1.45,0.5,0.1)*CFa(math.rad(100),math.rad(-20),math.rad(-50)),.3)
- end
- A = false
- end
- function AttackSlash2()
- A = true
- Wait = 0
- Humanoid.WalkSpeed = 8
- Humanoid.JumpPower = 0
- for i = 0, 0.7, 0.1 do
- wait()
- RightHip.C0=CLERP(RightHip.C0,CF(1,-1,0)*CFa(math.rad(0),math.rad(90),math.rad(0))*CFa(math.rad(-3),math.rad(0),math.rad(0)),.2)
- LeftHip.C0=CLERP(LeftHip.C0,CF(-1,-1,0)*CFa(math.rad(0),math.rad(-90),math.rad(0))*CFa(math.rad(-3),math.rad(20),math.rad(5)),.2)
- RootJoint.C0=CLERP(RootJoint.C0,RootCF*CF(-0.1,0.1,0)*CFa(math.rad(0),math.rad(0),math.rad(-40)),.3)
- P[2].Neck.C0=CLERP(P[2].Neck.C0,necko*CFa(math.rad(2),math.rad(0),math.rad(40)),.3)
- RightShoulder.C0=CLERP(RightShoulder.C0,CF(1.25,0.5,-0.65)*CFa(math.rad(100),math.rad(0),math.rad(-23)),.3)
- LeftShoulder.C0=CLERP(LeftShoulder.C0,CF(-0.5,0.5,-0.25)*CFa(math.rad(90),math.rad(0),math.rad(40)),.3)
- NailWeld.C0 = CLERP(NailWeld.C0, CFrame.Angles(math.rad(0), math.rad(0), math.rad(90)) * CFrame.new(-1.9, 1, 0),0.3)
- end
- local Sound = Instance.new("Sound", HitBox)
- Sound.Name = "Sound"
- Sound.SoundId = "rbxassetid://1409971445"
- Sound.PlaybackSpeed = 1.2
- Sound:Play()
- Sound.EmitterSize = 20
- Sound.MaxDistance = 50
- spawn(function()
- wait(4)
- Sound:Destroy()
- end)
- AT = false
- for i = 0, 0.4, 0.1 do
- wait()
- RightHip.C0=CLERP(RightHip.C0,CF(1,-1,0)*CFa(math.rad(0),math.rad(90),math.rad(0))*CFa(math.rad(-3),math.rad(-30),math.rad(0)),.2)
- LeftHip.C0=CLERP(LeftHip.C0,CF(-1,-1,0)*CFa(math.rad(0),math.rad(-90),math.rad(0))*CFa(math.rad(-3),math.rad(0),math.rad(20)),.2)
- RootJoint.C0=CLERP(RootJoint.C0,RootCF*CF(0.2,-0.25,0)*CFa(math.rad(10),math.rad(0),math.rad(90)),.3)
- P[2].Neck.C0=CLERP(P[2].Neck.C0,necko*CFa(math.rad(2),math.rad(0),math.rad(-90)),.3)
- RightShoulder.C0=CLERP(RightShoulder.C0,CF(1.45,0.5,0.1)*CFa(math.rad(80),math.rad(0),math.rad(20)),.3)
- LeftShoulder.C0=CLERP(LeftShoulder.C0,CF(-1.45,0.5,0.1)*CFa(math.rad(100),math.rad(0),math.rad(-50)),.3)
- NailWeld.C0 = CLERP(NailWeld.C0, CFrame.Angles(math.rad(0), math.rad(0), math.rad(180)) * CFrame.new(0, 2.75, 0),0.3)
- end
- A = false
- end
- local Combo = 1
- Mouse.Button1Down:Connect(function()
- if Combo == 1 and A == false and J == false then
- Combo = 2
- AttackSlash1()
- elseif Combo == 2 and A == false and J == false then
- Combo = 1
- AttackSlash2()
- end
- end)
- function OnHit(Character)
- local Torso = Character:FindFirstChild("Torso")
- if Torso then
- spawn(function()
- for i = 1,7 do
- wait()
- local Sphere = Instance.new("Part", Torso)
- local Mesh = Instance.new("SpecialMesh", Sphere)
- Mesh.MeshType = Enum.MeshType.Sphere
- Sphere.Anchored = true
- Sphere.CanCollide = false
- Sphere.Material = Enum.Material.Neon
- Sphere.Color = Color3.fromRGB(255,255,255)
- Sphere.Orientation = Vector3.new(math.random(-360, 360), math.random(-360, 360), math.random(-360, 360))
- Sphere.Size = Vector3.new(0.1, 0.1, math.random(3,5))
- Sphere.Position = Torso.Position
- spawn(function()
- Tween(Sphere,{Size = Vector3.new(0.2, 0.2, math.random(7,10))},0.1,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
- Tween(Sphere,{Transparency = 1},0.5,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
- wait(0.15)
- Tween(Sphere,{Size = Vector3.new(0.1, 0.1, math.random(3,5))},1,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
- wait(0.35)
- Sphere:Destroy()
- end)
- end
- end)
- end
- end
- local SoulValue = 0
- function OnDeath(Character)
- local Torso = Character:FindFirstChild("Torso")
- if Torso then
- spawn(function()
- for i = 1,10 do
- wait()
- local Sphere = Instance.new("Part", Torso)
- local Mesh = Instance.new("SpecialMesh", Sphere)
- Mesh.MeshType = Enum.MeshType.Sphere
- Sphere.Anchored = true
- Sphere.CanCollide = false
- Sphere.Material = Enum.Material.Neon
- Sphere.Color = Color3.fromRGB(255,255,255)
- Sphere.Size = Vector3.new(0.45, 0.45, 0.45)
- Sphere.Position = Torso.Position
- spawn(function()
- Tween(Sphere,{Position = Sphere.Position + Vector3.new(math.random(-7, 7), math.random(-7, 7), math.random(-7, 7))},0.7,Enum.EasingStyle.Quint,Enum.EasingDirection.Out)
- wait(0.7)
- for i = 0, 1,0.1 do
- wait()
- Sphere.CFrame = Sphere.CFrame:Lerp(P[2].CFrame, i)
- end
- SoulValue = SoulValue + 1
- Tween(Sphere,{Transparency = 1},0.2,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
- Tween(Sphere,{Size = Vector3.new(0.7, 0.7, 0.7)},0.3,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
- wait(0.35)
- Sphere:Destroy()
- end)
- end
- end)
- end
- end
- HitBox.Touched:Connect(function(Hit)
- if A == true and AT == false then
- local Humanoid = Hit.Parent:FindFirstChild("Humanoid") or Hit.Parent.Parent:FindFirstChild("Humanoid")
- if Humanoid and Humanoid.Health > 0 and Humanoid.Parent ~= Character then
- AT = true
- Humanoid:TakeDamage(35)
- local Sound = Instance.new("Sound", HitBox)
- Sound.Name = "Sound"
- Sound.SoundId = "rbxassetid://2438779398"
- Sound:Play()
- Sound.EmitterSize = 20
- Sound.MaxDistance = 50
- spawn(function()
- wait(4)
- Sound:Destroy()
- end)
- OnHit(Humanoid.Parent)
- if Humanoid.Health <= 0 then
- OnDeath(Humanoid.Parent)
- end
- end
- end
- end)
- function SoulJump()
- if SoulValue >= 5 then
- SoulValue = SoulValue - 5
- J = true
- Nail.Transparency = 0
- FNail.Transparency = 1
- Wait = 150
- Humanoid.WalkSpeed = 0
- Humanoid.JumpPower = 0
- local Sound = Instance.new("Sound", HitBox)
- Sound.Name = "Sound"
- Sound.SoundId = "rbxassetid://3671410369"
- Sound:Play()
- Sound.EmitterSize = 20
- Sound.MaxDistance = 50
- spawn(function()
- wait(4)
- Sound:Destroy()
- end)
- for i = 0, 3, 0.1 do
- wait()
- spawn(function()
- local Sphere = Instance.new("Part", P[1])
- local Mesh = Instance.new("SpecialMesh", Sphere)
- Mesh.MeshType = Enum.MeshType.Sphere
- Sphere.Anchored = true
- Sphere.CanCollide = false
- Sphere.Material = Enum.Material.Neon
- Sphere.Color = Color3.fromRGB(255,255,255)
- Sphere.Size = Vector3.new(0.1, 1, 0.1)
- Sphere.Position = P[1].Position + Vector3.new(math.random(-3, 3), math.random(-3, 3), math.random(-3, 3))
- spawn(function()
- Tween(Sphere,{Position = Sphere.Position + Vector3.new(0, math.random(2, 4), 0)},1,Enum.EasingStyle.Quint,Enum.EasingDirection.Out)
- Tween(Sphere,{Transparency = 1},1,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
- Tween(Sphere,{Size = Vector3.new(0.5, 2, 0.5)},1,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
- wait(2)
- Sphere:Destroy()
- end)
- end)
- RightHip.C0=CLERP(RightHip.C0,CF(1,-0.5 - 0.05 * math.cos(SINE / 25),-0.75)*CFa(math.rad(0),math.rad(90),math.rad(0))*CFa(math.rad(-5),math.rad(0),math.rad(-20)),.1)
- LeftHip.C0=CLERP(LeftHip.C0,CF(-1,-0.5 - 0.05 * math.cos(SINE / 25),-0.75)*CFa(math.rad(0),math.rad(-90),math.rad(0))*CFa(math.rad(-5),math.rad(0),math.rad(20)),.1)
- RootJoint.C0=CLERP(RootJoint.C0,RootCF*CF(0,0,-2 + 0.05 * math.cos(SINE / 25))*CFa(math.rad(10),math.rad(0),math.rad(0)),.1)
- P[2].Neck.C0=CLERP(P[2].Neck.C0,necko*CFa(math.rad(10),math.rad(0),math.rad(0)),.1)
- RightShoulder.C0=CLERP(RightShoulder.C0,CF(1.4,0.4 + 0 * math.cos(SINE / 25),0)*CFa(math.rad(35),math.rad(0),math.rad(-50)),.1)
- LeftShoulder.C0=CLERP(LeftShoulder.C0,CF(-1.4,0.4 + 0 * math.cos(SINE / 25),0)*CFa(math.rad(35),math.rad(0),math.rad(50)),.1)
- end
- local vel = Instance.new("BodyPosition", P[2])
- vel.P = 7500
- vel.D = 1000
- vel.maxForce = Vector3.new(50000000000, 10e10, 50000000000)
- vel.position = P[2].CFrame.p + Vector3.new(0, 100, 0)
- spawn(function()
- wait(1)
- vel:Destroy()
- end)
- local Sound = Instance.new("Sound", HitBox)
- Sound.Name = "Sound"
- Sound.SoundId = "rbxassetid://1295446488"
- Sound:Play()
- Sound.EmitterSize = 20
- Sound.MaxDistance = 50
- spawn(function()
- wait(4)
- Sound:Destroy()
- end)
- spawn(function()
- local A = P[2].Position + Vector3.new(0, -4, 0)
- for i = 1, 15 do
- wait()
- local Part = Instance.new("Part", game.Workspace)
- Part.Anchored = true
- Part.Color = Color3.fromRGB(255, 255, 255)
- Part.Orientation = Vector3.new(0, 0, Vector3.new(math.random(-360, 360)))
- Part.CanCollide = false
- Part.FormFactor = 3
- Part.Name = "Ring"
- Part.Material = "Neon"
- Part.Size = Vector3.new(1, 1, 1)
- Tween(Part,{Orientation = Vector3.new(0, math.random(-360, 360), 0)},2,Enum.EasingStyle.Quint,Enum.EasingDirection.Out)
- Part.Position = A
- Part.Transparency = 0
- local M = Instance.new("SpecialMesh", Part)
- M.MeshId = "rbxassetid://662585058"
- M.Scale = Vector3.new(0.05,0.01,0.05)
- Tween(M,{Scale = Vector3.new(0.5, 0.01, 0.5)},2,Enum.EasingStyle.Quint,Enum.EasingDirection.Out)
- Tween(Part,{Transparency = 1},1,Enum.EasingStyle.Quint,Enum.EasingDirection.Out)
- end
- end)
- for i = 0, 2, 0.1 do
- wait()
- RightHip.C0=CLERP(RightHip.C0,CF(1,-0.35 - 0.05 * math.cos(SINE / 25),-0.75)*CFa(math.rad(0),math.rad(90),math.rad(0))*CFa(math.rad(-5),math.rad(0),math.rad(-20)),.5)
- LeftHip.C0=CLERP(LeftHip.C0,CF(-1,-1 - 0.05 * math.cos(SINE / 25),0)*CFa(math.rad(0),math.rad(-90),math.rad(0))*CFa(math.rad(-5),math.rad(0),math.rad(20)),.5)
- RootJoint.C0=CLERP(RootJoint.C0,RootCF*CF(0,0,0 + 0.05 * math.cos(SINE / 25))*CFa(math.rad(-10),math.rad(0),math.rad(0)),.5)
- P[2].Neck.C0=CLERP(P[2].Neck.C0,necko*CFa(math.rad(-2.5),math.rad(0),math.rad(0)),.5)
- RightShoulder.C0=CLERP(RightShoulder.C0,CF(1.45,0.5 + 0.1 * math.cos(SINE / 25),0)*CFa(math.rad(-5),math.rad(0),math.rad(45)),.5)
- LeftShoulder.C0=CLERP(LeftShoulder.C0,CF(-1.45,0.5 + 0.1 * math.cos(SINE / 25),0)*CFa(math.rad(-5),math.rad(0),math.rad(-45)),.5)
- end
- J = false
- end
- end
- --UIS--
- Mouse.KeyDown:connect(function(k)
- if k == "q" and J == false then
- if Humanoid:GetState() ~= Enum.HumanoidStateType.Freefall and Humanoid:GetState() ~= Enum.HumanoidStateType.Jumping then
- SoulJump()
- end
- elseif k == "v" then
- Music.SoundId = "rbxassetid://711197488"
- Music:Play()
- elseif k == "b" then
- Music.SoundId = "rbxassetid://1525123663"
- Music:Play()
- elseif k == "n" then
- Music.SoundId = "rbxassetid://2156992950"
- Music:Play()
- elseif k == "m" then
- Music.Playing = not Music.Playing
- end
- end)
- local Thing = 0
- ---GUIS
- local ScreenGui = Instance.new("ScreenGui")
- local Frame = Instance.new("Frame")
- local Number = Instance.new("TextLabel")
- ScreenGui.Parent = Player.PlayerGui
- ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
- Frame.Parent = ScreenGui
- Frame.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame.BackgroundTransparency = 1
- Frame.BorderColor3 = Color3.new(0.105882, 0.164706, 0.207843)
- Frame.Size = UDim2.new(1, 0, 1, 0)
- Number.Name = "Number"
- Number.Parent = Frame
- Number.BackgroundColor3 = Color3.new(1, 1, 1)
- Number.BackgroundTransparency = 1
- Number.Position = UDim2.new(0.914270997, 0, 0.872235894, 0)
- Number.Size = UDim2.new(0.0854901969, 0, 0.127764121, 0)
- Number.Font = Enum.Font.SourceSansLight
- Number.Text = "0"
- Number.TextColor3 = Color3.new(1, 1, 1)
- Number.TextScaled = true
- Number.TextSize = 14
- Number.TextWrapped = true
- while wait() do
- Thing = Thing + 1
- if Thing > 10 then
- Thing = 0
- end
- if A == false and J == false then
- Humanoid.WalkSpeed = 18
- Humanoid.JumpPower = 60
- Trail.Enabled = false
- elseif A == true and J == false then
- Trail.Enabled = true
- end
- if Wait >= 150 then
- Nail.Transparency = 1
- FNail.Transparency = 0
- elseif Wait < 150 then
- Nail.Transparency = 0
- FNail.Transparency = 1
- Wait = Wait + 2
- end
- if SoulValue > 20 then
- SoulValue = 20
- end
- if SoulValue > 3 and Thing >= 10 then
- for i = 1,SoulValue/3 do
- spawn(function()
- local Sphere = Instance.new("Part", P[1])
- local Mesh = Instance.new("SpecialMesh", Sphere)
- Mesh.MeshType = Enum.MeshType.Sphere
- Sphere.Anchored = true
- Sphere.CanCollide = false
- Sphere.Material = Enum.Material.Neon
- Sphere.Color = Color3.fromRGB(255,255,255)
- Sphere.Size = Vector3.new(0.2, 0.2, 0.2)
- Sphere.Position = P[1].Position + Vector3.new(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5))
- spawn(function()
- Tween(Sphere,{Position = Sphere.Position + Vector3.new(0, math.random(2, 4), 0)},2,Enum.EasingStyle.Quint,Enum.EasingDirection.Out)
- Tween(Sphere,{Transparency = 1},2,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
- Tween(Sphere,{Size = Vector3.new(0.3, 0.3, 0.3)},2,Enum.EasingStyle.Quint,Enum.EasingDirection.InOut)
- wait(2)
- Sphere:Destroy()
- end)
- end)
- end
- end
- Number.Text = SoulValue
- local Torvel = (P[1].Velocity * Vector3.new(1,0,1)).magnitude
- HF,PF = RayCast(P[1].Position,(CFrame.new(P[1].Position, P[1].Position - Vector3.new(0,1,0))).lookVector, 4 ,Character)
- if A == false and J == false then
- NailWeld.C0 = CLERP(NailWeld.C0, CFrame.Angles(math.rad(90), math.rad(0), math.rad(90)) * CFrame.new(0, 1, 1.95), 0.5)
- if Torvel>2 and Torvel<22 and HF ~= nil then
- SINE = SINE + 2
- Anim="Walk"
- RightHip.C0=CLERP(RightHip.C0,CF(1,-1 + 0.05 * math.cos(SINE / 4),0)*CFa(math.rad(0),math.rad(90),math.rad(0))*CFa(math.rad(0),math.rad(0 + 5 * math.cos(SINE / 2)),math.rad(0 + 55 * math.cos(SINE / 8))),.1)
- LeftHip.C0=CLERP(LeftHip.C0,CF(-1,-1 + 0.05 * math.cos(SINE / 4),0)*CFa(math.rad(0),math.rad(-90),math.rad(0))*CFa(math.rad(0),math.rad(0 + 5 * math.cos(SINE / 2)),math.rad(0 + 55 * math.cos(SINE / 8))),.1)
- RootJoint.C0=CLERP(RootJoint.C0,RootCF*CF(0,-0.05,-0.05 - 0.05 * math.cos(SINE / 4))*CFa(math.rad(5 + 3 * math.cos(SINE / 4)),math.rad(0 + P[1].RotVelocity.Y/1.5),math.rad(0 - P[1].RotVelocity.Y - 5 * math.cos(SINE / 8))),.1)
- P[2].Neck.C0=CLERP(P[2].Neck.C0,necko*CFa(math.rad(-5 + 0.5 * math.cos(SINE / 4)),math.rad(0 + P[1].RotVelocity.Y/1),math.rad(0 - P[3].RotVelocity.Y*1.5 + 5 * math.cos(SINE / 8))),.1)
- RightShoulder.C0=CLERP(RightShoulder.C0,CF(1.5,0.5,0 + 0.25 * math.cos(SINE / 8))*CFa(math.rad(0 - 70 * math.cos(SINE / 8)),math.rad(0),math.rad(5 - 10 * math.cos(SINE / 4))),.1)
- LeftShoulder.C0=CLERP(LeftShoulder.C0,CF(-1.5,0.5,0 - 0.25 * math.cos(SINE / 8))*CFa(math.rad(0 + 70 * math.cos(SINE / 8)),math.rad(0),math.rad(-5 + 10 * math.cos(SINE / 4))),.1)
- elseif Torvel<1 and HF~=nil then
- SINE = SINE + 3
- Anim="Idle"
- RightHip.C0=CLERP(RightHip.C0,CF(1,-1 + 0.05 * math.cos(SINE / 20) - 0.02 * math.cos(SINE / 40),0)*CFa(math.rad(0),math.rad(90),math.rad(0))*CFa(math.rad(-3 + 2 * math.cos(SINE / 40)),math.rad(0 - 6 * math.cos(SINE / 40)),math.rad(-6 + 2 * math.cos(SINE / 20) - 6 * math.cos(SINE / 40))),.1)
- LeftHip.C0=CLERP(LeftHip.C0,CF(-1,-1 + 0.05 * math.cos(SINE / 20) - 0.02 * math.cos(SINE / 40),0)*CFa(math.rad(0),math.rad(-90),math.rad(0))*CFa(math.rad(-3 - 2 * math.cos(SINE / 40)),math.rad(10 - 6 * math.cos(SINE / 40)),math.rad(3 - 2 * math.cos(SINE / 20) - 3 * math.cos(SINE / 40))),.1)
- RootJoint.C0=CLERP(RootJoint.C0,RootCF*CF(0 + 0.02 * math.cos(SINE / 40),0 - 0.06 * math.cos(SINE / 40),-0.05 - 0.05 * math.cos(SINE / 20))*CFa(math.rad(0 + 2 * math.cos(SINE / 20)),math.rad(0 + 2 * math.cos(SINE / 40)),math.rad(-20 + 6 * math.cos(SINE / 40))),.1)
- P[2].Neck.C0=CLERP(P[2].Neck.C0,necko*CFa(math.rad(6),math.rad(0 - 2 * math.cos(SINE / 42)),math.rad(20 - 6 * math.cos(SINE / 40))),.1)
- RightShoulder.C0=CLERP(RightShoulder.C0,CF(1.45,0.5 + 0.05 * math.cos(SINE / 28),0.1)*CFa(math.rad(-13 + 3 * math.cos(SINE / 26)),math.rad(10 - 3 * math.cos(SINE / 24)),math.rad(20 - 5 * math.cos(SINE / 34))),.1)
- LeftShoulder.C0=CLERP(LeftShoulder.C0,CF(-1.45,0.5 + 0.05 * math.cos(SINE / 28),0.1)*CFa(math.rad(-13 - 3 * math.cos(SINE / 25)),math.rad(10 + 3 * math.cos(SINE / 24)),math.rad(-10 + 5 * math.cos(SINE / 34))),.1)
- elseif P[1].Velocity.y > 1 and HF==nil then
- SINE = SINE + 3
- Anim="Jump" -- falling anims
- RightHip.C0=CLERP(RightHip.C0,CF(1,-0.35 - 0.05 * math.cos(SINE / 25),-0.75)*CFa(math.rad(0),math.rad(90),math.rad(0))*CFa(math.rad(-5),math.rad(0),math.rad(-20)),.1)
- LeftHip.C0=CLERP(LeftHip.C0,CF(-1,-1 - 0.05 * math.cos(SINE / 25),0)*CFa(math.rad(0),math.rad(-90),math.rad(0))*CFa(math.rad(-5),math.rad(0),math.rad(20)),.1)
- RootJoint.C0=CLERP(RootJoint.C0,RootCF*CF(0,0,0 + 0.05 * math.cos(SINE / 25))*CFa(math.rad(-10),math.rad(0),math.rad(0)),.1)
- P[2].Neck.C0=CLERP(P[2].Neck.C0,necko*CFa(math.rad(-2.5),math.rad(0),math.rad(0)),.1)
- RightShoulder.C0=CLERP(RightShoulder.C0,CF(1.45,0.5 + 0.1 * math.cos(SINE / 25),0)*CFa(math.rad(-5),math.rad(0),math.rad(25)),.1)
- LeftShoulder.C0=CLERP(LeftShoulder.C0,CF(-1.45,0.5 + 0.1 * math.cos(SINE / 25),0)*CFa(math.rad(-5),math.rad(0),math.rad(-25)),.1)
- elseif P[1].Velocity.y < -1 and HF==nil then
- SINE = SINE + 3
- Anim="Fall" -- falling anims
- RightHip.C0=CLERP(RightHip.C0,CF(1,-0.35 - 0.05 * math.cos(SINE / 25),-0.75)*CFa(math.rad(0),math.rad(90),math.rad(0))*CFa(math.rad(-5),math.rad(0),math.rad(-20)),.1)
- LeftHip.C0=CLERP(LeftHip.C0,CF(-1,-1 - 0.05 * math.cos(SINE / 25),0)*CFa(math.rad(0),math.rad(-90),math.rad(0))*CFa(math.rad(-5),math.rad(0),math.rad(20)),.1)
- RootJoint.C0=CLERP(RootJoint.C0,RootCF*CF(0,0,0 + 0.05 * math.cos(SINE / 25))*CFa(math.rad(10),math.rad(0),math.rad(0)),.1)
- P[2].Neck.C0=CLERP(P[2].Neck.C0,necko*CFa(math.rad(2.5),math.rad(0),math.rad(0)),.1)
- RightShoulder.C0=CLERP(RightShoulder.C0,CF(1.45,0.5 + 0.1 * math.cos(SINE / 25),0)*CFa(math.rad(-15),math.rad(0),math.rad(55)),.1)
- LeftShoulder.C0=CLERP(LeftShoulder.C0,CF(-1.45,0.5 + 0.1 * math.cos(SINE / 25),0)*CFa(math.rad(-15),math.rad(0),math.rad(-55)),.1)
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment