Лечебная станция: лечение с перезарядкой
Медпункт лечит игроков, но только один раз за несколько секунд.
Станция добавляет 25 здоровья, не превышая MaxHealth.
1. Подготовьте объект
Где разместить: Создайте объекты точно по схеме в инструкции.
Workspace
HealingStation (Part)
HealingScript (Script)
Создайте Anchored Part и обычный Script внутри. Установите CanTouch=true. Встаньте на платформу для лечения.
2. Вставьте код
local Players = game:GetService("Players")
local pad = script.Parent
local HEAL = 25
local COOLDOWN = 5
local nextHeal = {}
pad.Touched:Connect(function(hit)
local character = hit:FindFirstAncestorOfClass("Model")
local player = character and Players:GetPlayerFromCharacter(character)
local humanoid = character and character:FindFirstChildOfClass("Humanoid")
if not player or not humanoid or humanoid.Health <= 0 then return end
local now = os.clock()
if now < (nextHeal[player] or 0) then return end
nextHeal[player] = now + COOLDOWN
humanoid.Health = math.min(humanoid.MaxHealth, humanoid.Health + HEAL)
end)
Players.PlayerRemoving:Connect(function(player) nextHeal[player] = nil end)3. Проверьте в игре
Нажмите Play в Roblox Studio и проверьте действие механики. Если механика не работает, откройте окно Output и проверьте тип скрипта, его расположение и названия объектов.
Когда проверите механику в Roblox Studio, отметьте практику как выполненную. Отметка хранится только в этом браузере, не в личном кабинете.
Добавляйте механики по одной и проверяйте окно Output. Не создавайте несколько одинаковых систем монет или интерфейсов; скрипты, меняющие WalkSpeed, прыжок или освещение, могут влиять друг на друга.
Сделайте лечение равным 40.
Добавьте несколько станций с разной перезарядкой.
Создайте госпиталь в игре-приключении.
4. Проверьте себя
Почему применяется math.min при лечении?
Для лечения нужен Humanoid; станция не возрождает погибших персонажей.