Всем при старте выдаешь виспа с помощью CDOTABaseGameMode:SetOverrideSelectionEntity(overrideEntity: CDOTA_BaseNPC), при спавне юнита, проверяешь команду, если он за дайр, то меняешь ему героя на акса с помощью CDOTA_PlayerResource:ReplaceHeroWith(playerId: PlayerID, heroClass: string, gold: int, xp: int)Добрый день, подскажите пожалуйста, как сделать так, чтобы за силы светы все спавнились, к примеру, за виспа, а за силы тьмы все спавнились за акса?
Спасибо большое, но я не совсем понимаю что это и куда, можно, пожалуйста, чуть больше разьяснить?Всем при старте выдаешь виспа с помощью CDOTABaseGameMode:SetOverrideSelectionEntity(overrideEntity: CDOTA_BaseNPC), при спавне юнита, проверяешь команду, если он за дайр, то меняешь ему героя на акса с помощью CDOTA_PlayerResource:ReplaceHeroWith(playerId: PlayerID, heroClass: string, gold: int, xp: int)
Помоги пожалуйста, вообще не понимаю что не так, проблема именно замены героя, хочу чтобы когда игрок выбирает виспа, то ему давалась урса, написано это:Всем при старте выдаешь виспа с помощью CDOTABaseGameMode:SetOverrideSelectionEntity(overrideEntity: CDOTA_BaseNPC), при спавне юнита, проверяешь команду, если он за дайр, то меняешь ему героя на акса с помощью CDOTA_PlayerResource:ReplaceHeroWith(playerId: PlayerID, heroClass: string, gold: int, xp: int)
Timers:CreateTimer(0.1, function()
if npc:GetUnitName() == "npc_dota_hero_wisp" and npc:GetTeamNumber() == DOTA_TEAM_GOODGUYS then
PlayerResource:ReplaceHeroWith(id, "npc_dota_hero_ursa", 0, 0)
end
return nil
end)
все сработало, но выдало кучу ошибок, с чем может быть связано? я это написал в barebones в function GameMode:OnNPCSpawnedвыдавай героя с задержкой
например так (должны быть подключены таймеры от BMD)
Lua:Timers:CreateTimer(0.1, function() if npc:GetUnitName() == "npc_dota_hero_wisp" and npc:GetTeamNumber() == DOTA_TEAM_GOODGUYS then PlayerResource:ReplaceHeroWith(id, "npc_dota_hero_ursa", 0, 0) end return nil end)
