Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --hi
- Player = game:GetService("Players").LocalPlayer
- PlayerGui = Player.PlayerGui
- Cam = workspace.CurrentCamera
- Backpack = Player.Backpack
- Character = Player.Character
- Humanoid = Character.Humanoid
- Mouse = Player:GetMouse()
- RootPart = Character["HumanoidRootPart"]
- Torso = Character["Torso"]
- Head = Character["Head"]
- RightArm = Character["Right Arm"]
- LeftArm = Character["Left Arm"]
- RightLeg = Character["Right Leg"]
- LeftLeg = Character["Left Leg"]
- RootJoint = RootPart["RootJoint"]
- Neck = Torso["Neck"]
- RightShoulder = Torso["Right Shoulder"]
- LeftShoulder = Torso["Left Shoulder"]
- RightHip = Torso["Right Hip"]
- LeftHip = Torso["Left Hip"]
- local sick = Instance.new("Sound",Character)
- sick.SoundId = "rbxassetid://531711813"
- sick.Looped = true
- sick.Pitch = 1
- sick.Volume = 1
- Head:ClearAllChildren()
- local tor = Instance.new("CharacterMesh")
- tor.Parent = Character
- tor.Name = "Bones"
- tor.BodyPart = "Torso"
- tor.MeshId = "42587319"
- tor.OverlayTextureId = "42587579"
- local tor = Instance.new("CharacterMesh")
- tor.Parent = Character
- tor.Name = "Bones"
- tor.BodyPart = "LeftLeg"
- tor.MeshId = "42587271"
- tor.OverlayTextureId = "42587579"
- local tor = Instance.new("CharacterMesh")
- tor.Parent = Character
- tor.Name = "Bones"
- tor.BodyPart = "RightLeg"
- tor.MeshId = "42587421"
- tor.OverlayTextureId = "42587579"
- local tor = Instance.new("CharacterMesh")
- tor.Parent = Character
- tor.Name = "Bones"
- tor.BodyPart = "RightArm"
- tor.MeshId = "42587369"
- tor.OverlayTextureId = "42587579"
- local tor = Instance.new("CharacterMesh")
- tor.Parent = Character
- tor.Name = "Bones"
- tor.BodyPart = "LeftArm"
- tor.MeshId = "42587103"
- tor.OverlayTextureId = "42587579"
- local tor = Instance.new("SpecialMesh")
- tor.Scale = Vector3.new(1,1,1)
- tor.MeshType = "FileMesh"
- tor.MeshId = "http://www.roblox.com/asset/?id=41752768"
- tor.TextureId = "rbxassetid://41752747"
- tor.Parent = Head
- function onChatted(msg, recipient, speaker)
- local source = string.lower(speaker.Name)
- if (string.sub(msg,1,5) == "name/") then
- speaker.CharacterAppearance = "http://www.roblox.com/user.aspx?id="..string.sub(msg,5)
- speaker.Character:BreakJoints()
- end
- end
- function onPlayerEntered(newPlayer)
- newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
- end
- game.Players.ChildAdded:connect(onPlayerEntered)
- local Animate4 = game:GetService("Players").LocalPlayer.Character:WaitForChild("Animate")
- Animate4:Destroy()
- script.Parent = game:GetService("Players").LocalPlayer
- function waitForChild(parent, childName)
- local child = parent:findFirstChild(childName)
- if child then return child end
- while true do
- child = parent.ChildAdded:wait()
- if child.Name==childName then return child end
- end
- end
- -- ANIMATION
- -- declarations
- local Figure = workspace:WaitForChild(game:GetService("Players").LocalPlayer.Name)
- if Figure then
- print("You became a dummy!")
- end
- local Torso = waitForChild(Figure, "Torso")
- local RightShoulder = waitForChild(Torso, "Right Shoulder")
- local LeftShoulder = waitForChild(Torso, "Left Shoulder")
- local RightHip = waitForChild(Torso, "Right Hip")
- local LeftHip = waitForChild(Torso, "Left Hip")
- local Neck = waitForChild(Torso, "Neck")
- local Humanoid = Figure:FindFirstChildOfClass("Humanoid")
- local pose = "Standing"
- local toolAnim = "None"
- local toolAnimTime = 0
- local jumpMaxLimbVelocity = 0.75
- -- functions
- function onRunning(speed)
- if speed>0 then
- pose = "Running"
- else
- pose = "Standing"
- end
- end
- function onDied()
- pose = "Dead"
- end
- function onJumping()
- pose = "Jumping"
- end
- function onClimbing()
- pose = "Climbing"
- end
- function onGettingUp()
- pose = "GettingUp"
- end
- function onFreeFall()
- pose = "FreeFall"
- end
- function onFallingDown()
- pose = "FallingDown"
- end
- function onSeated()
- pose = "Seated"
- end
- function onPlatformStanding()
- pose = "PlatformStanding"
- end
- function onSwimming(speed)
- if speed>0 then
- pose = "Running"
- else
- pose = "Standing"
- end
- end
- function moveJump()
- RightShoulder.MaxVelocity = jumpMaxLimbVelocity
- LeftShoulder.MaxVelocity = jumpMaxLimbVelocity
- RightShoulder:SetDesiredAngle(3.14)
- LeftShoulder:SetDesiredAngle(-3.14)
- RightHip:SetDesiredAngle(0)
- LeftHip:SetDesiredAngle(0)
- end
- -- same as jump for now
- function moveFreeFall()
- RightShoulder.MaxVelocity = jumpMaxLimbVelocity
- LeftShoulder.MaxVelocity = jumpMaxLimbVelocity
- RightShoulder:SetDesiredAngle(3.14)
- LeftShoulder:SetDesiredAngle(-3.14)
- RightHip:SetDesiredAngle(0)
- LeftHip:SetDesiredAngle(0)
- end
- function moveSit()
- RightShoulder.MaxVelocity = 0.15
- LeftShoulder.MaxVelocity = 0.15
- RightShoulder:SetDesiredAngle(3.14 /2)
- LeftShoulder:SetDesiredAngle(-3.14 /2)
- RightHip:SetDesiredAngle(3.14 /2)
- LeftHip:SetDesiredAngle(-3.14 /2)
- end
- function getTool()
- for _, kid in ipairs(Figure:GetChildren()) do
- if kid.className == "Tool" then return kid end
- end
- return nil
- end
- function getToolAnim(tool)
- for _, c in ipairs(tool:GetChildren()) do
- if c.Name == "toolanim" and c.className == "StringValue" then
- return c
- end
- end
- return nil
- end
- function animateTool()
- if (toolAnim == "None") then
- RightShoulder:SetDesiredAngle(1.57)
- return
- end
- if (toolAnim == "Slash") then
- RightShoulder.MaxVelocity = 0.5
- RightShoulder:SetDesiredAngle(0)
- return
- end
- if (toolAnim == "Lunge") then
- RightShoulder.MaxVelocity = 0.5
- LeftShoulder.MaxVelocity = 0.5
- RightHip.MaxVelocity = 0.5
- LeftHip.MaxVelocity = 0.5
- RightShoulder:SetDesiredAngle(1.57)
- LeftShoulder:SetDesiredAngle(1.0)
- RightHip:SetDesiredAngle(1.57)
- LeftHip:SetDesiredAngle(1.0)
- return
- end
- end
- function move(time)
- local amplitude
- local frequency
- if (pose == "Jumping") then
- moveJump()
- return
- end
- if (pose == "FreeFall") then
- moveFreeFall()
- return
- end
- if (pose == "Seated") then
- moveSit()
- return
- end
- local climbFudge = 0
- if (pose == "Running") then
- if (RightShoulder.CurrentAngle > 1.5 or RightShoulder.CurrentAngle < -1.5) then
- RightShoulder.MaxVelocity = jumpMaxLimbVelocity
- else
- RightShoulder.MaxVelocity = 0.15
- end
- if (LeftShoulder.CurrentAngle > 1.5 or LeftShoulder.CurrentAngle < -1.5) then
- LeftShoulder.MaxVelocity = jumpMaxLimbVelocity
- else
- LeftShoulder.MaxVelocity = 0.15
- end
- amplitude = 1
- frequency = 9
- elseif (pose == "Climbing") then
- RightShoulder.MaxVelocity = 0.5
- LeftShoulder.MaxVelocity = 0.5
- amplitude = 1
- frequency = 9
- climbFudge = 3.14
- else
- amplitude = 0.1
- frequency = 1
- end
- desiredAngle = amplitude * math.sin(time*frequency)
- RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
- LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
- RightHip:SetDesiredAngle(-desiredAngle)
- LeftHip:SetDesiredAngle(-desiredAngle)
- local tool = getTool()
- if tool then
- animStringValueObject = getToolAnim(tool)
- if animStringValueObject then
- toolAnim = animStringValueObject.Value
- -- message recieved, delete StringValue
- animStringValueObject.Parent = nil
- toolAnimTime = time + .3
- end
- if time > toolAnimTime then
- toolAnimTime = 0
- toolAnim = "None"
- end
- animateTool()
- else
- toolAnim = "None"
- toolAnimTime = 0
- end
- end
- -- connect events
- Humanoid.Died:connect(onDied)
- Humanoid.Running:connect(onRunning)
- Humanoid.Jumping:connect(onJumping)
- Humanoid.Climbing:connect(onClimbing)
- Humanoid.GettingUp:connect(onGettingUp)
- Humanoid.FreeFalling:connect(onFreeFall)
- Humanoid.FallingDown:connect(onFallingDown)
- Humanoid.Seated:connect(onSeated)
- Humanoid.PlatformStanding:connect(onPlatformStanding)
- Humanoid.Swimming:connect(onSwimming)
- -- main program
- local runService = game:service("RunService");
- game:GetService("Players").LocalPlayer.CharacterAdded:connect(function()
- print("Respawning with old anims")
- Figure = game:GetService("Players").LocalPlayer.Character
- Animate4 = Figure:WaitForChild("Animate")
- Animate4:Destroy()
- Humanoid = Figure:FindFirstChildOfClass("Humanoid")
- Torso = waitForChild(Figure, "Torso")
- RightShoulder = waitForChild(Torso, "Right Shoulder")
- LeftShoulder = waitForChild(Torso, "Left Shoulder")
- RightHip = waitForChild(Torso, "Right Hip")
- LeftHip = waitForChild(Torso, "Left Hip")
- Neck = waitForChild(Torso, "Neck")
- end)
- while Figure.Parent~=nil do
- local _, time = wait(0.1)
- move(time)
- end
- --bye
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement