动画脚本在ReplicatedStorager中不起作用

时间:2018-11-14 04:04:54

标签: roblox

我有一个Gun模型,它使用https://www.youtube.com/watch?v=VDYtZxnz7FI&t=25s youtube视频中的代码显示在屏幕上。但是,当我尝试向其中添加动画时,动画不起作用。我认为正在发生的事情是脚本没有加载,因为它在“复制存储”中。我知道这一点是因为我测试了一个简单的打印命令,并且该脚本在工作空间中但不在复制存储中时才起作用。我无法将模型移至工作区,因为代码取决于复制存储中的模型。如果有人可以帮助我,那将是无可厚非的。谢谢!我对Roblox并不陌生,但我只是以脚本编写者开始,然后是网格建模者。[资源管理器图片] [1]

这是将视图模型显示在我的屏幕上的代码

local cam = workspace.CurrentCamera
local run = game:GetService("RunService")
local reps = game:GetService("ReplicatedStorage")
local model = reps:WaitForChild("Henry Rifle"):Clone()

for i,v in pairs (model:GetChildren()) do
    if v:IsA("BasePart") then
        if v ~= model.PrimaryPart then
            local weld = Instance.new("Weld")
            weld.Part0 = model.PrimaryPart
            weld.Part1 = v
            weld.C0 = model.PrimaryPart.CFrame:inverse()
            weld.C1 = v.CFrame:inverse()
            weld.Name = v.Name
            weld.Parent = model.PrimaryPart
        end
    end
end

model.Parent = cam

run.RenderStepped:connect(function()
    model:SetPrimaryPartCFrame(cam.CFrame *CFrame.new(0,-1.5,1.5)) 
end)

这是在游戏开始时启动动画的简单代码  (用于测试)

local player = game.Players.LocalPlayer
local controller = script.Parent.Humanoid
local inspect = controller:LoadAnimation(script.Parent.Inspect)

inspect.Looped = true

inspect:Play()

1 个答案:

答案 0 :(得分:1)

我非常确定您的脚本不起作用,因为Roblox现在强制启用了过滤功能。

启用过滤(FE)

与非FE和FE游戏的区别

  • 使用FE,客户端/ Roblox Player所做的更改将发送到服务器,但是服务器将永远不会将客户端所做的更改复制到同一游戏服务器中的其他客户端。

  • 该视频是在还可以选择FE的情况下制作的。 Roblox现在强制使用FE,这就是为什么您的脚本不起作用的原因。

对于客户端与其他客户端进行复制的唯一方式,必须使用“远程”。 Roblox Wiki比我对FE和Remotes的解释更好,因此请查看:http://roblox.wikia.com/wiki/Replication_filtering