Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
function CAddonTemplateGameMode:CheckForDefeat()
if GameRules:State_Get() ~= DOTA_GAMERULES_STATE_GAME_IN_PROGRESS then
return
end
local bAllPlayersDead = true
for nPlayerID = 0, DOTA_MAX_TEAM_PLAYERS-1 do
if PlayerResource:GetTeam( nPlayerID ) == DOTA_TEAM_GOODGUYS then
if not PlayerResource:HasSelectedHero( nPlayerID ) then
bAllPlayersDead = false
else
local hero = PlayerResource:GetSelectedHeroEntity( nPlayerID )
if hero and hero:IsAlive() then
bAllPlayersDead = false
end
end
end
end
if bAllPlayersDead then
GameRules:SetGameWinner( DOTA_TEAM_BADGUYS )
return
end
end
Lua:
function CAddonTemplateGameMode:OnThink()
if GameRules:State_Get() == DOTA_GAMERULES_STATE_GAME_IN_PROGRESS then
self:CheckForDefeat()
elseif GameRules:State_Get() >= DOTA_GAMERULES_STATE_POST_GAME then
return nil
end
return 1
end
if PlayerResource:HasSelectedHero( nPlayerID ) then
иначе команда, в которой кто-то не взял героя никогда не проиграет.
Еще в начале перебора на всякий случай есть смысл делать проверку на IsValidPlayerID
if PlayerResource:HasSelectedHero( nPlayerID ) then
иначе команда, в которой кто-то не взял героя никогда не проиграет.
Еще в начале перебора на всякий случай есть смысл делать проверку на IsValidPlayerID