Заголовок. Все найденные мною уроки объясняют только, как создать человеческую модель, а не как сделать ее убиваемой. Я установил здоровье и максимальное здоровье гуманоида на 100, и он показывает полоску здоровья, но не может получать урон. Спасибо!
Как сделать гуманоида убиваемым и заставить его возродиться? (Роблокс)
comment
Хм? По умолчанию игроков / гуманоидов можно убивать автоматически.
- person Lua Tutoring   schedule 12.09.2018
comment
Как вы пытаетесь нанести ему ущерб?
- person NetherGranite   schedule 19.10.2018
Ответы (1)
Это зависит от того, откуда гуманоид получает урон. Если он получает урон от LocalScript, который не поддерживает FE, то Humanoid не получит повреждений.
Если вы хотите заставить гуманоида получить урон или мгновенно убить его, вот несколько методов:
Мгновенное уничтожение (из сценария, отличного от LocalScript)
local character = nil; -- replace nil with the character
character:BreakJoints();
Мгновенное уничтожение (из LocalScript)
В локальном скрипте:
local character = game:service("Players").LocalPlayer.Character -- replace this to the character. if you don't replace it, it will kill your character.
local rep = game:service("ReplicatedStorage");
local event = rep:WaitForChild("killEvent");
event:FireServer(character);
В обычном скрипте:
local rep = game:service("ReplicatedStorage");
local ev = Instance.new("RemoteEvent",rep);
ev.Name = "killEvent";
ev.OnServerEvent:connect(function(plr, char)
if not char then char = plr.Character end;
char:BreakJoints();
end);
Получение ущерба (из-за не-LocalScript)
local character = nil; -- replace nil with the character
local humanoid = character:WaitForChild("Humanoid");
local damage = 50; -- Change this to the damage you want the humanoid to take
humanoid:TakeDamage(damage);
Получение ущерба (из LocalScript)
В локальном скрипте:
local rep = game:service("ReplicatedStorage");
local event = rep:WaitForChild("damageEvent");
local character = game:service("Players").LocalPlayer.Character; -- replace this to the character. if you don't change it, it will automatically damage your character.
local humanoid = character:WaitForChild("Humanoid");
local damage = 50; -- Change this to the damage you want the player to take
event:FireServer(humanoid, damage);
В обычном скрипте:
local rep = game:service("ReplicatedStorage");
local event = Instance.new("RemoteEvent", rep);
event.Name = "damageEvent";
event.OnServerEvent:connect(function(player, hum, damage)
if not hum then hum = player.Character.Humanoid; end;
hum:TakeDamage(damage);
end);
Это должно сделать так, чтобы Гуманоид получил урон или убил его. Вы также можете использовать эти методы для убийства других игроков, поскольку мы используем Remote для местных.
Надеюсь, мой ответ поможет!
person
Community
schedule
11.11.2018