Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- plr = game.Players.LocalPlayer
- repeat wait() until plr.Character
- char = plr.Character
- local player = game.Players.LocalPlayer
- local chara = workspace:WaitForChild(player.Name)
- local human = chara.Humanoid
- local neck = Instance.new("Weld",char)
- neck.Part0 = char.Torso
- neck.Part1 = char.Head
- neck.C0 = CFrame.new(0, 1.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- local human2 = Instance.new("Weld",char)
- human2.Part0 = char.HumanoidRootPart
- human2.Part1 = char.Torso
- human2co = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- necc = CFrame.new(0, 1.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- local rhandclone = game.Players.LocalPlayer.Character.Torso["Right Shoulder"]:Clone()
- local rhandweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso)
- rhandweld.Part0 = game.Players.LocalPlayer.Character.Torso
- rhandweld.Part1 = game.Players.LocalPlayer.Character["Right Arm"]
- rhandweld.C0 = CFrame.new(1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1)
- local lhandclone = game.Players.LocalPlayer.Character.Torso["Left Shoulder"]:Clone()
- local lhandweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso)
- lhandweld.Part0 = game.Players.LocalPlayer.Character.Torso
- lhandweld.Part1 = game.Players.LocalPlayer.Character["Left Arm"]
- lhandweld.C0 = CFrame.new(-1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1)
- local llegweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso)
- llegweld.Part0 = game.Players.LocalPlayer.Character.Torso
- llegweld.Part1 = game.Players.LocalPlayer.Character["Left Leg"]
- llegweld.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) * CFrame.new(0,-1,0)
- local rlegclone = game.Players.LocalPlayer.Character.Torso["Right Hip"]:Clone()
- game.Players.LocalPlayer.Character.Torso["Right Hip"]:Remove()
- local rlegweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso)
- rlegweld.Part0 = game.Players.LocalPlayer.Character.Torso
- rlegweld.Part1 = game.Players.LocalPlayer.Character["Right Leg"]
- rlegweld.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) * CFrame.new(0,-1,0)
- pose = "Standing"
- cananimate = true
- local speed = 0
- char.Humanoid.Running:connect(function(s)
- speed = s
- end)
- local update = game:GetService("RunService")
- update.RenderStepped:connect(function()
- local ray = Ray.new(chara.Torso.Position, (chara.Torso.Position - Vector3.new(0,9999999,0)).unit * 300)
- local p, position = game.Workspace:FindPartOnRay(ray, char, true, false)
- local dis = (chara.Torso.Position - position).magnitude
- if dis > 3.8 and chara.Torso.Velocity.Y > 0 then
- pose = "Jumping"
- end
- if dis> 3.8 and chara.Torso.Velocity.Y < 0 then
- pose = "Falling"
- end
- if dis < 3.8 and speed == 0 then
- pose = "Standing"
- end
- if dis < 3.8 and speed > 0 then
- pose = "Walking"
- end
- end)
- local Jump = Instance.new("Sound",char)
- Jump.SoundId = "rbxassetid://158309736"
- Jump.Volume = 4
- jumping = false
- sound = Jump
- stage = 1
- hum = char.Humanoid
- function onJump(val)
- jumping = val
- if jumping == true and stage > 1 and stage < 3 then
- --print("Triple jump!")
- stage = 3
- char.Torso.Velocity = char.Torso.Velocity + Vector3.new(0, 125, 0)
- sound:Play()
- wait(1)
- stage = 0
- elseif jumping == true and stage > 0 and stage < 2 then
- --print("Double jump!")
- stage = 2
- char.Torso.Velocity = char.Torso.Velocity + Vector3.new(0, 85, 0)
- sound:Play()
- elseif jumping == true and stage < 1 then
- --print("Normal jump!")
- stage = 1
- sound.Pitch = 1
- sound:Play()
- end
- end
- hum.Jumping:connect(onJump)
- -- Jump Timeout --
- function onFall(val)
- falling = val
- if val == false then --When player lands...
- wait(0.25) --Next jump times out after .2 seconds.
- if stage > 0 and falling == false then
- stage = 0 --Resets jumps.
- end
- end
- end
- hum.FreeFalling:connect(onFall)
- walking = false
- while true do
- wait()
- if pose == "Standing" and cananimate then
- walking = false
- for i = 0,1 , 0.05 do
- lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1),i)
- rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1),i)
- llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.499999523, -2.00000048, -9.53674316e-07, 0.970465422, 0, -0.241240621, 0, 1, 0, 0.241240621, 0, 0.970465422),i)
- rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.499999523, -2.00000048, 0, 0.825716197, -3.35415825e-06, -0.564085841, -0.00202200096, 0.999993622, -0.00296577741, 0.564082265, 0.00358947273, 0.825710893),i)
- human2.C0 = human2.C0:lerp(CFrame.new(0, 0, 0, 0.779511273, 0, 0.626388252, 0, 0.999997616, 0, -0.626388252, 0, 0.779511273):inverse(),i)
- neck.C0 = neck.C0:lerp(CFrame.new(0, 1.5, 0, 0.726146579, 0, 0.687539995, 0, 1, 0, -0.687539995, 0, 0.726146579),i)
- update.RenderStepped:wait()
- end
- end
- if pose == "Walking" and cananimate then
- for i = 0,1 ,0.05 do
- lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.5, 0.168842316, -0.374614239, 1, 0, 0, 0, 0.662306964, -0.74923259, 0, 0.74923259, 0.662307084),i)
- rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.5, 0.12597847, 0.331827164, 1, 0, 0, 0, 0.748035073, 0.663659215, 0, -0.663659275, 0.748035014),i)
- rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.5, -1.67391682, -0.738807678, 0.99999994, 0, 0, 0, 0.673916757, -0.738807261, 0, 0.738807321, 0.673916817),i)
- llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.5, -1.67705727, 0.735931396, 1, 0, 0, 0, 0.677056909, 0.735930681, 0, -0.735930741, 0.677056968),i)
- human2.C0 = human2.C0:lerp(human2co,i)
- neck.C0 = neck.C0:lerp(necc,i)
- game:GetService("RunService").RenderStepped:wait()
- end
- for i = 0,1 ,0.05 do
- rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.5, -1.69855976, 0.715551376, 1, 0, 0, 0, 0.698559642, 0.715551734, 0, -0.715551794, 0.698559701),i)
- llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.5, -1.80723953, -0.590223312, 1, 0, 0, 0, 0.807239354, -0.590224087, 0, 0.590224147, 0.807239413),i)
- lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.5, 0.216003418, 0.411518574, 1, 0, 0, 0, 0.567983389, 0.823040009, 0, -0.823040009, 0.567983389),i)
- rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.5, 0.215018272, -0.41083622, 1, 0, 0, 0, 0.569954693, -0.821676135, 0, 0.821676135, 0.569954753),i)
- human2.C0 = human2.C0:lerp(human2co,i)
- neck.C0 = neck.C0:lerp(necc,i)
- game:GetService("RunService").RenderStepped:wait()
- end
- end
- if pose == "Jumping" and cananimate and stage == 1 then
- for i = 0,1 , 0.03 do
- rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.5, -0.0720152855, 0.193100929, 1, 0, 0, 0, 0.896007597, 0.444038779, 0, -0.444038779, 0.896007597),i)
- lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.49999976, 0.95036602, -0.548690796, 1, 0, 0, 0, -0.866025984, -0.499998987, 0, 0.499998987, -0.866025984),i)
- llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.5, -1.98754525, -0.507376909, 1, 0, 0, 0, 0.878388762, -0.477946907, 0, 0.477946877, 0.878388762),i)
- rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.5, -1.91097617, 0.239589691, 1, 0, 0, 0, 0.93738246, 0.348301798, 0, -0.348301798, 0.93738246),i)
- human2.C0 = human2.C0:lerp(human2co,i)
- neck.C0 = neck.C0:lerp(necc,i)
- update.RenderStepped:wait()
- end
- end
- if pose == "Jumping" and cananimate and stage == 2 then
- for i = 0,1 , 0.03 do
- rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.66472816, 0.166806221, 0, 0.840905726, -0.541181803, 0, 0.541181803, 0.840905726, 0, 0, 0, 1),i)
- lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.69600487, 0.110276461, 0, 0.871529698, 0.490342826, 0, -0.490342826, 0.871529698, 0, 0, 0, 1),i)
- llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.5, -1.3247503, -0.419755459, 1, 0, 0, 0, 0.999999881, 0, 0, 0, 1),i)
- rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.5, -1.99999988, 0, 1, 0, 0, 0, 0.999999881, 0, 0, 0, 1),i)
- human2.C0 = human2.C0:lerp(human2co,i)
- neck.C0 = neck.C0:lerp(CFrame.new(0, 1.5, 0, 1, 0, 0, 0, 0.917574883, -0.397562951, 0, 0.397562951, 0.917574883),i)
- update.RenderStepped:wait()
- end
- end
- if pose == "Jumping" and cananimate and stage == 3 then
- for i = 0,1 ,0.03 do
- llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.499996185, -0.302403927, -1.00209022, 0.998795688, 1.07394217e-05, 0.0490646139, 0.0144870952, 0.955350697, -0.295119137, -0.0468770824, 0.295474499, 0.954199851),i)
- rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(0.999998093, 0.401779056, -0.300704479, 0.995004237, 0.0998337567, 2.21675634e-07, -8.0173304e-05, 0.000801276532, -0.999999762, -0.0998337343, 0.995003879, 0.000805277436),i)
- lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-0.999984741, 0.403417826, -0.400689125, 0.978886008, -0.198669523, -0.0480909608, -0.0489091128, 0.000789985002, -0.99880302, 0.198469713, 0.98006618, -0.00894344598),i)
- rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.499996185, -0.299546242, -1.00121045, 0.999991715, 1.10380352e-05, -3.05008143e-06, -1.13286078e-05, 0.955351293, -0.295472056, -2.51282472e-07, 0.295474589, 0.955343246),i)
- human2.C0 = human2.C0 * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(0))
- neck.C0 = neck.C0:lerp(necc,i)
- game:GetService("RunService").RenderStepped:wait()
- end
- end
- if pose == "Falling" and cananimate then
- for i = 0,1 , 0.05 do
- rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(2.00721169, 0.966965914, 0, -0.554754853, -0.832013845, 0, 0.832013845, -0.554754853, 0, 0, 0, 1),i)
- lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.87815094, 0.913155079, 0, -0.494452, 0.869204998, 0, -0.869204998, -0.494452, 0, 0, 0, 1),i)
- llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.5, -1.99999988, 0, 1, 0, 0, 0, 0.999999881, 0, 0, 0, 1),i)
- rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.5, -1.99999988, 0, 1, 0, 0, 0, 0.999999881, 0, 0, 0, 1),i)
- human2.C0 = human2.C0:lerp(human2co,i)
- neck.C0 = neck.C0:lerp(CFrame.new(0, 1.50154519, -0.248991966, 1, 0, 0, 0, 0.852542579, 0.522657752, 0, -0.522657752, 0.852542579),i)
- update.RenderStepped:wait()
- end
- end
- end
Add Comment
Please, Sign In to add comment