Сценарий анимации не работает в ReplicatedStorager - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть модель пистолета, которая появляется на моем экране, используя код из https://www.youtube.com/watch?v=VDYtZxnz7FI&t=25s видео YouTube. Но когда я пытаюсь добавить анимацию, анимация не работает. Я думаю, что происходит, что сценарий не загружается, потому что он находится в реплицированном хранилище. Я знаю это, потому что я тестировал простую команду печати, и она работала, когда скрипт находился в рабочей области, но не в реплицированном хранилище. Я не могу переместить модель в рабочую область, потому что код зависит от того, находится ли она в реплицированном хранилище. Если бы кто-нибудь мог мне помочь, это было бы очень утешительно. Благодарю вас! Я не новичок в сцене Roblox, но я только начинаю как Сценарист, Либо тогда модельер сетки. [Изображение Explorer] [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 голосов
/ 18 ноября 2018

Я почти уверен, что ваш сценарий не работает, потому что теперь Roblox принудительно использует фильтрацию.

Фильтрация включена (FE)

Разница с играми не FE и FE

  • С помощью FE изменения, сделанные клиентом / Roblox Player, отправляются на сервер, но сервер никогда не будет реплицировать изменения, сделанные клиентом, на других клиентов на том же игровом сервере.

  • Это видео было снято, когда FE была еще опцией.Roblox теперь вынуждает FE, поэтому ваш скрипт не работает.

Единственный способ для Клиента реплицироваться с другими Клиентами. Вы должны использовать Remotes.Roblox wiki объясняет лучше, чем я FE и Remotes, так что проверьте это: http://roblox.wikia.com/wiki/Replication_filtering

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...