Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Player = game:service("Players").LocalPlayer
- local syne = 0
- local Mouse = Player:GetMouse()
- local Char = Player.Character
- local mouse = Player:GetMouse()
- local Humanoid = Char:findFirstChild("Humanoid")
- local Torso = Char:findFirstChild("Torso")
- local deb = false
- local name = Player.Name
- local Head = Char.Head
- local ra = Char:findFirstChild("Right Arm")
- local la = Char:findFirstChild("Left Arm")
- local rl = Char:findFirstChild("Right Leg")
- local ll = Char:findFirstChild("Left Leg")
- local rs = Torso:findFirstChild("Right Shoulder")
- local ls = Torso:findFirstChild("Left Shoulder")
- local rh = Torso:findFirstChild("Right Hip")
- local lh = Torso:findFirstChild("Left Hip")
- local neck = Torso:findFirstChild("Neck")
- local rp = Char:findFirstChild("HumanoidRootPart")
- rp.Archivable = true
- local rj = rp:findFirstChild("RootJoint")
- rj.Archivable = true
- local animate = Char:findFirstChild("Animate")
- local rootpart = Char:findFirstChild("HumanoidRootPart")
- local Camera = workspace.CurrentCamera
- local CF = CFrame.new
- local components = CF().components
- rootpart.CanCollide = false
- Humanoid:findFirstChild("Animator"):Destroy()
- local plr = game:GetService("Players").LocalPlayer
- local char = plr.Character
- local head = char.Head
- local torso = char.Torso
- local leftarm = char["Left Arm"]
- local rightarm = char["Right Arm"]
- local leftleg = char["Left Leg"]
- local rightleg = char["Right Leg"]
- --Humanoid.CameraOffset = Vector3.new(0,2,0)
- sine = 100
- angle = 100
- anglespeed = 100
- local anim = false
- local walking = false
- Lerp = function(a,b,c)
- return a+(b-a)*c
- end
- function ctlerp(c1,c2,al)
- local com1 = {c1:components()}
- local com2 = {c2:components()}
- for i,v in pairs(com1) do
- com1[i] = Lerp(v,com2[i],al)
- end
- return CF(unpack(com1))
- end
- do
- local 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
- local 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 CF(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
- local 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
- 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
- end
- rm = Instance.new("Weld", Torso)
- rm.C0 = CFrame.new(1.5, 0.5, 0) *CFrame.Angles(0, 0, 0)
- rm.C1 = CFrame.new(0, 0.5, 0)
- rm.Part0 = Torso
- rm.Part1 = ra
- lm = Instance.new("Weld", Torso)
- lm.C0 = CFrame.new(-1.5, 0.5, 0) *CFrame.Angles(0, 0, 0)
- lm.C1 = CFrame.new(0, 0.5, 0)
- lm.Part0 = Torso
- lm.Part1 = la
- rlegm = Instance.new("Weld", Torso)
- rlegm.C0 = CFrame.new(0.5, -1, 0) *CFrame.Angles(0, 0, 0)
- rlegm.C1 = CFrame.new(0, 1, 0)
- rlegm.Part0 = Torso
- rlegm.Part1 = rl
- llegm = Instance.new("Weld", Torso)
- llegm.C0 = CFrame.new(-0.5, -1, 0) *CFrame.Angles(0, 0, 0)
- llegm.C1 = CFrame.new(0, 1, 0)
- llegm.Part0 = Torso
- llegm.Part1 = ll
- neck.C0 = CFrame.new(0,1,0)
- neck.C1 = CFrame.new(0,-0.5,0)
- local an = false
- local attack = false
- local kick = false
- function debounce(func) -- ex: example:Connect(debounce(function() end))
- local isRunning = false
- return function(...)
- if not isRunning then
- isRunning = true
- func(...)
- isRunning = false
- end
- end
- end
- local syne = 0
- local sit = false
- local ang = CFrame.Angles
- local kspin = false
- local kpart = Instance.new("Part",char)
- kpart.Name = "Karambit"
- kpart.CanCollide=false
- kpart.Anchored=false
- kpart.Size=Vector3.new(0,0,0)
- local kuram=Instance.new("SpecialMesh",kpart)
- kuram.MeshId='rbxassetid://534351507'
- kuram.TextureId='rbxassetid://534351514'
- kuram.Scale=Vector3.new( -0.3, 0.35, -0.3)
- local kweld = Instance.new("Weld",kpart)
- kweld.Part1=ra
- kweld.Part0=kpart
- kweld.C0=CFrame.new(0,1.6,0)--*CFrame.Angles(0,math.rad(-90),0)
- function kspina()
- end
- Mouse.KeyDown:Connect(function(key)
- if key == "z" and sit == true then
- sit = false
- animpose = "Idle"
- elseif key == "z" and sit == false then
- sit = true
- animpose = "Sitting"
- end
- if key == "q" then
- --print(neck.C0)
- end
- end)
- Mouse.Button1Down:Connect(function()
- end)
- game:GetService("RunService").Stepped:connect(function()
- syne=syne+1
- angle = (angle % 100) + anglespeed/10
- rootpart.CanCollide = false
- local speed = Vector3.new(rootpart.Velocity.X, 0, rootpart.Velocity.Z).magnitude
- if Torso.Velocity.Y > 1 and sit == false then
- animpose = "Jump"
- elseif speed < 1 and an == false and sit == false then -- idle
- animpose = "Idle"
- elseif speed > 2 and sit == false then -- walking
- walking = true
- animpose = "Moving"
- end
- -- //ANIMS \\ --
- if animpose == "Idle" and kspin == false and attack == false and anim == false then -- idle
- anglespeed = .2
- rm.C0 = clerp(rm.C0, CFrame.new(1, .4, -.4) * CFrame.Angles(math.rad(72.466)+ math.sin(angle) * 0.02, math.rad(0), math.rad(-24)+ math.sin(angle) * 0.02), 0.1)
- lm.C0 = clerp(lm.C0, CFrame.new(-1.4, 0.6, 0.1) * CFrame.Angles(math.rad(-15) + math.sin(angle) * 0.02, math.rad(15), math.rad(-5) + -math.sin(angle) * 0.02), 0.1)
- rlegm.C0 = clerp(rlegm.C0, CFrame.new(0.5, -0.9+ -math.sin(angle) * 0.05, -0.1) * CFrame.Angles(math.rad(8.652), math.rad(0), math.rad(5.844)), 0.3)
- llegm.C0 = clerp(llegm.C0, CFrame.new(-0.5, -0.9+ -math.sin(angle) * 0.05, 0) * CFrame.Angles(math.rad(-6.99), math.rad(1.375), math.rad(-11.085)), 0.3)
- neck.C0 = clerp(neck.C0, CFrame.new(0, 1, 0) * CFrame.Angles(math.rad(-6.245) + math.sin(angle) * 0.05, math.rad(0), math.sin(angle) * 0.01), 0.1)
- rj.C0 = clerp(rj.C0, CFrame.new(0, -0.2 + math.sin(angle) * 0.05, 0) * CFrame.Angles(math.rad(-90), 0, math.rad(180)), 0.3)
- kweld.Part1=ra
- kweld.C0=CFrame.new(0,.45,1)*CFrame.Angles(math.rad(90),math.rad(90),0)
- kuram.Offset = Vector3.new(0,.95,-.25)
- Humanoid.WalkSpeed = 16
- elseif animpose == "Moving" and attack == false and anim == false and walking == true and an == false then -- walk
- anglespeed = 1
- rm.C0 = clerp(rm.C0, CFrame.new(1.5, 0.525, 0) * CFrame.Angles(-math.cos(syne/2.5)/10+math.rad(-55),0,math.rad(12.5)),.1)
- lm.C0 = clerp(lm.C0, CFrame.new(-1.5,0.525, 0) * CFrame.Angles(-math.cos(syne/2.5)/10+math.rad(-55),0,math.rad(-12.5)),.1)
- rlegm.C0 = clerp(rlegm.C0, CFrame.new(0.5, -0.9, 0) * CFrame.Angles(math.rad(30) + -math.sin(-angle*2), math.rad(0), math.rad(0)), 1.5)
- llegm.C0 = clerp(llegm.C0, CFrame.new(-0.5, -0.9, -0.1) * CFrame.Angles(math.rad(30) + math.sin(-angle*2), math.rad(0), math.rad(0)),1.5)
- neck.C0 = clerp(neck.C0, CFrame.new(0, 1, 0) * CFrame.Angles(math.rad(40) + math.sin(angle) * 0.05, math.rad(0), math.sin(angle) * 0.01), 0.1)
- rj.C0 = clerp(rj.C0, CFrame.new(0, -0.2 + math.sin(angle) * 0.05, 0) * CFrame.Angles(math.rad(-140), 0, math.rad(180)), 0.3)
- Humanoid.WalkSpeed = 20
- elseif animpose == "Jump" and attack == false and anim == false then
- anglespeed = 0.3
- rm.C0 = clerp(rm.C0, CFrame.new(1.5, 0.8, 0) * CFrame.Angles(math.rad(-5) + -math.sin(angle) * 0.02, math.rad(-15), math.rad(50) + math.sin(angle) * 0.02), 0.15)
- lm.C0 = clerp(lm.C0, CFrame.new(-1.5, 0.8, 0) * CFrame.Angles(math.rad(5) + math.sin(angle) * 0.02, math.rad(15), math.rad(-50) + -math.sin(angle) * 0.02), 0.15)
- rlegm.C0 = clerp(rlegm.C0, CFrame.new(0.5, -0.9, -0.1) * CFrame.Angles(math.rad(-15), math.rad(0), math.rad(15)), 0.15)
- llegm.C0 = clerp(llegm.C0, CFrame.new(-0.5, -0.9, -0.1) * CFrame.Angles(math.rad(-15), math.rad(0), math.rad(-15)), 0.15)
- neck.C0 = clerp(neck.C0, CFrame.new(0, 1, 0) * CFrame.Angles(math.rad(-10) + math.sin(angle) * 0.05, math.rad(0), math.sin(angle) * 0.01), 0.15)
- rj.C0 = clerp(rj.C0, CFrame.new(0, 0 + math.sin(angle) * 0.05, 0) * CFrame.Angles(math.rad(-80), 0, math.rad(180)), 0.15)
- elseif animpose == "Sitting" and attack == false and anim == false then
- anglespeed = 0.3
- Humanoid.WalkSpeed = 0
- char.Humanoid.Jump = false
- rm.C0 = clerp(rm.C0, CFrame.new(1.44, .46, 0) * CFrame.Angles(math.rad(20), math.rad(0), math.rad(-20)+ math.sin(angle) * 0.02), 0.1)
- lm.C0 = clerp(lm.C0, CFrame.new(-1.34, .66, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-230) + -math.sin(angle) * 0.02), 0.1)
- rlegm.C0 = clerp(rlegm.C0, CFrame.new(0.4, -0.9, -0.6) * CFrame.Angles(math.rad(-25.652), math.rad(0), math.rad(5.844)), 0.3)
- llegm.C0 = clerp(llegm.C0, CFrame.new(-0.5, -0.9, 0) * CFrame.Angles(math.rad(-6.99), math.rad(1.375), math.rad(-11.085)), 0.3)
- neck.C0 = clerp(neck.C0, CFrame.new(0, 1, 0) * CFrame.Angles(math.rad(-40), math.rad(0), math.sin(angle) * 0.1), 0.1)
- rj.C0 = clerp(rj.C0, CFrame.new(0, -3, 0) * CFrame.Angles(math.rad(180*2), 0, math.rad(180)), 0.3)
- kweld.Part1=rp
- kweld.C0=CFrame.new(0,-2.5,-5)*CFrame.Angles(0,math.rad(90),math.rad(180))
- kuram.Offset = Vector3.new(0,0,0)
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement