Lua Roblox Как установить spicifi c здоровье игроков на 0 - PullRequest
2 голосов
/ 07 января 2020

Я пытаюсь создать в Роблоксе игру, в которой каждый игрок появляется на карте, и им приходится пытаться убивать друг друга. Однако моя проблема в том, что когда ушел последний игрок, я не знаю, как его вернуть в лобби. У меня все игроки в игре хранятся в массиве, и когда человек умирает, он удаляется из массива. Я попытался установить здоровье последних игроков равным 0, но как бы он ни хранился в массиве, он не будет работать с получением гуманоида.

Пока мой код:

if #plrs == 1 then
    plrs[1].Character.Humanoid.Health = 0
end

Я делаю свой массив plrs следующим образом:

local plrs = {}

for i, player in pairs(game.Players:GetPlayers()) do
    if player then
        table.insert(plrs,player) --Add each player to the Player array
    end
end

Спасибо за любую помощь.

Ответы [ 3 ]

2 голосов
/ 08 января 2020

Я бы рекомендовал использовать player:LoadCharacter(), чтобы вызвать нового персонажа. Этот метод имеет то преимущество, что не показывает экран смерти, вместо этого он уничтожает старого персонажа и порождает нового сразу после него.

Вы должны заметить, что этот метод также очистит их рюкзак, а игрок Gui просто зарежет все это важно для вашей игры.


В качестве примечания, нет необходимости использовать для l oop, чтобы получить игроков в качестве функции game.Players:GetPlayers() возвращает массив как есть. Если вы не делаете дополнительные проверки для игроков в этом l oop, все, что вам нужно, это:

local plrs = game.Players:GetPlayers()
0 голосов
/ 12 января 2020

Спасибо всем, кто пытался помочь.

Я разобрался с собственной проблемой после долгих исследований и прочтения моего кода.

if #plrs == 1 then
    player.Character.Humanoid.Health = 0
end
0 голосов
/ 08 января 2020

У вас есть стандартная ошибка индексации здесь. В коде вы всегда начинаете считать с 0, и вы фактически запрашиваете (plrs[1]) второй элемент в вашем массиве. Просто измените свой код на это:

if #plrs == 1 then
    plrs[0].Character.Humanoid.Health = 0
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...