Как добавить предмет всем героям после выбора персонажей?

LOAD

Новичок
15 Июл 2019
2
0
Проект
DOTA EOF
Как добавить предмет всем героям после выбора персонажей?
 

SniperX

Друзья CG
26 Фев 2018
539
100
Проект
Dota 2x4
Как добавить предмет всем героям после выбора персонажей?
Делаешь слушатель на game_rules_state_change, затем проверяешь текущую стадию игры с помощью GameRules:State_Get(), как я полагаю. Если у тебя есть Pre Game стадия, то тебе нужен DOTA_GAMERULES_STATE_PRE_GAME, а если нету Pre Game, то DOTA_GAMERULES_STATE_GAME_IN_PROGRESS, вот список всех стадий игры.

Затем проходишь по всем возможным Player ID, если Player ID действительный, и у него есть герой, то выдаешь герою предмет.
Lua:
function CAddonTemplateGameMode:InitGameMode()
    ListenToGameEvent("game_rules_state_change", Dynamic_Wrap(CAddonTemplateGameMode, "OnStateChanged"), CAddonTemplateGameMode) -- создаем слушатель
end
function CAddonTemplateGameMode:OnStateChanged() -- функция слушателя
    if GameRules:State_Get() == DOTA_GAMERULES_STATE_PRE_GAME then -- если сейчас стадия Pre Game
        for i=0, DOTA_MAX_TEAM_PLAYERS do -- проходимся по всем возможным Player ID
            if PlayerResource:IsValidPlayerID(i) then -- если Player ID действителен
                local hero = PlayerResource:GetSelectedHeroEntity(i) -- находим его героя
                if hero and IsValidEntity(hero) then -- если герой действителен/существует
                    hero:AddItemByName("item_blink") -- выдаем ему блинк
                end
            end
        end
    end
end
 
  • Нравится
Реакции: LuciFerka
Реклама: