Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
-1

*Answered* Server sided animations?

Asked by 9 years ago

I believe this should client to the all the players but its like NOPE NOT GONNA HAPPEN! And yet there is no output?!?!!?

(I would have this a moved correctly in the script)

--Question Posted By #Gravity Tech.

Ani=function()
if OldAniAllowed==true then
for _, v in pairs(game.Players:GetPlayers()) do
local an=v:WaitForChild('Animate')
v:remove()
NewAnimations()
end end end

delay(0,function() Ani() end)

NewAnimations = [==[
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
local Figure = script.Parent
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 = waitForChild(Figure, "Humanoid")
local pose = "Standing"
local toolAnim = "None"
local toolAnimTime = 0
local jumpMaxLimbVelocity = 0.75
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" -- e.e 0MG IM G0NN@ DIED!!!1!11!
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
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
local 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    
local animStringValueObject = getToolAnim(tool)
if animStringValueObject then
toolAnim = animStringValueObject.Value
animStringValueObject.Parent = nil
toolAnimTime = time + .3
end
if time > toolAnimTime then
toolAnimTime = 0
toolAnim = "None"
end
animateTool()   
else
toolAnim = "None"
toolAnimTime = 0
end
end
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)
local runService = game:service("RunService");
while Figure.Parent~=nil do
local _, time = wait(0.1)
move(time)
end
]==]

1 answer

Log in to vote
2
Answered by
BlueTaslem 18071 Moderation Voter Administrator Community Moderator Super Administrator
9 years ago

NewAnimations is a string.

You can't call strings, like you are doing in line 6.

If you want, you could use loadstring(NewAnimations)() but why you would do that, I'm not sure.

Just include that code inside the Ani function, if that's what you mean to do.

0
Yes but is Loadstring removed? MessorAdmin 598 — 9y
0
No, just turned off. Loadstring is no longer usable in Local Scripts (Which messed up the Kohl's Admin Fly, Noclip, Crash, and Place commands). You can enable load string for Server-Side scripts in ServerScriptService. M39a9am3R 3210 — 9y
Ad

Answer this question