Скрипт «PlayerAdded» работает даже после смерти игрока. Как исправить? - PullRequest
0 голосов
/ 04 июля 2019

Я попытался создать этот сценарий, в котором я создаю экран загрузки, который должен работать только один раз, как и предназначена функция PlayerAdded. Но когда игрок умирает, экран загрузки возвращается. Что не так?

Я использовал два типа добавленных игроков. Обычный PlayerAdded не работает, когда есть только один игрок, учитывая, что сервер только что запущен и избегает сценариев игрока. Второй дает мне эту проблему.

function onPlayerAdded(Player)
    local PlayerGui = game.Players.LocalPlayer:WaitForChild("PlayerGui") 
    PlayerGui:SetTopbarTransparency(0)
    local LoadingScreen = Player.PlayerGui.LoadingScreen
    ...
end

game.Players.PlayerAdded:Connect(onPlayerAdded)

for _, player in pairs(game.Players:GetPlayers()) do
    onPlayerAdded(player)
end

Ответы [ 2 ]

0 голосов
/ 08 июля 2019

Я предполагаю что-то вроде этого:

local players = game:GetService("Players")

-- Assume the loading GUI is a child of script.
local gui = script:WaitForChild("LoadingGui")

local function onPlayerAdded(player)
    local playerGui = player:WaitForChild("PlayerGui")
    local clone = playerGui:FindFirstChild("LoadingGui")
    if (not clone) then
        clone = gui:Clone()
        clone.Parent = playerGui
    end
    return
end
players.PlayerAdded:Connect(onPlayerAdded)

onPlayerAdded должен запускаться только один раз для каждого клиента, поэтому графический интерфейс должен отображаться только один раз, как и предполагалось.Кроме того, было бы неплохо поместить этот код в Script, а не LocalScript, в ServerScriptStorage.

0 голосов
/ 08 июля 2019

Вы можете использовать ReplicatedFirst:

game.Players.PlayerAdded: Соединить (функция (plr) game.ReplicatedFirst.LoadingScreen: Clone (). Parent = plr.PlayerGui end)

Извинитеесли я допустил какие-либо ошибки, я некоторое время не программировал в roblox, плюс я на телефоне.

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