print("ServerScriptActive")
local rp = game:GetService("ReplicatedStorage")
local summon = rp:WaitForChild("Summon")
local Debris = game:GetService("Debris")
local TweenService = game:GetService("TweenService")
summon.OnServerEvent:Connect(function(Player, isActive)
local Character = Player.Character
local Humanoid = Character.Humanoid
local Humrp = Character.HumanoidRootPart
if isActive then
local Stand = script:WaitForChild("Stand"):Clone()
for _, part in pairs(Stand:GetDescendants()) do
if part:IsA("BasePart") then
part.Transparency = 1
end
end
Stand.Parent = Character
Stand.PrimaryPart.CFrame = Humrp.CFrame
local weld = Instance.new("ManualWeld")
weld.Name = "Controller"
weld.Part0 = Stand.PrimaryPart
weld.Part1 = Humrp
weld.C0 = weld.Part0.CFrame:ToObjectSpace(weld.Part1.CFrame)
weld.Parent = weld.Part0
local AnimControl = Stand:FindFirstChild("AnimControl")
local standHumrp = Stand:FindFirstChild("HumanoidRootPart")
local Idle = AnimControl:LoadAnimation(script.Idle)
local MovingAnim = AnimControl:LoadAnimation(script.MovingAnim)
if Humanoid.MoveDirection.Magnitude > 0 then
MovingAnim:Play()
else
Idle:Play()
end
for _, part in pairs(Stand:GetDescendants()) do
if part:IsA("BasePart") and part ~= standHumrp then
local goal = {}
goal.Transparency = 0
local info = TweenInfo.new(.5)
local tween = TweenService:Create(part,info,goal)
tween:Play()
end
end
local goal = {}
goal.C0 = weld.Part0.CFrame:ToObjectSpace(weld.Part1.CFrame)
goal.C1 = weld.Part0.CFrame:ToObjectSpace(weld.Part1.CFrame * CFrame.new(-3,1,2))
local info = TweenInfo.new(.5)
local tween = TweenService:Create(weld,info,goal)
tween:Play()
else
local Stand = Character:FindFirstChild("Stand")
if Stand then
local Controller = Stand.PrimaryPart:FindFirstChild("Controller")
if Controller then
local standHumrp = Stand:FindFirstChild("HumanoidRootPart")
for _, part in pairs(Stand:GetDescendants()) do
if part:IsA("BasePart") and part ~= standHumrp then
local goal = {}
goal.Transparency = 1
local info = TweenInfo.new(.5)
local tween = TweenService:Create(part,info,goal)
tween:Play()
end
end
local goal = {}
goal.C0 = Controller.Part0.CFrame:ToObjectSpace(Controller.Part1.CFrame)
goal.C1 = Controller.Part0.CFrame:ToObjectSpace(Controller.Part1.CFrame * CFrame.new(0,0,0))
local info = TweenInfo.new(.5)
local tween = TweenService:Create(Controller,info,goal)
tween:Play()
tween.Completed:Connect(function()
Debris:AddItem(Stand,0.1)
end)
end
end
end
end)
Sorry for the big script but at the part where I'm setting the animation I want the stand to change animations when moving only. I think its because this is only called when I summon the stand but I'm not sure how I would go about changing the animation from a separate script
In a nutshell how would I change the animation of the stand from a different script but only when the player moves
