Решено Как сделать респавн игрока в 5 секунд(не через settings.lua), чтобы независимо от лвла был респавн.

  • Автор темы Автор темы Setinder
  • Дата начала Дата начала

Setinder

Пользователь
23 Авг 2022
28
1


Пытался сделать фиксированный респавн игрока, но получилось только сделать так, чтобы респавн был всегда 26 секунд. Как сделать меньше?
 
Lua:
GameRules:GetGameModeEntity():SetFixedRespawnTime(10) -- 10 секунд
Подключаешь слушатель к ивенту entity_killed, затем делаешь нужные проверки и через CDOTA_BaseNPC_Hero:SetTimeUntilRespawn(time: float) задаешь время
Lua:
function CAddonTemplateGameMode:InitGameMode()
    ListenToGameEvent("entity_killed", Dynamic_Wrap(self, "OnEntityKilled"), self)
end

function CAddonTemplateGameMode:OnEntityKilled(event)
    local killedUnit = EntIndexToHScript(event.entindex_killed)
    if killedUnit:IsRealHero() and killedUnit:GetLevel() < 10 then -- юнит герой и у него < 10 лвл
        killedUnit:SetTimeUntilRespawn(10) -- 10 секунд
    end
end
 
Реклама: