После смены героя во время игры все крипы перестают принадлежать игроку. Он как бы может ими управлять, но через Tab их выбрать нельзя. Попробовал получить список всех крипов через FindUnitsInRadius() и назначить им владельца через SetOwner(), но на этом моменте дота просто зависает и приходится её перезагружать. Где я допустил ошибку?
Забавно, но когда я использую старый playerID, ничего не зависает, но игрок всё равно не становится владельцем. Проблема возникает только с актуальным playerID.
Lua:
function createchen ( eventSourceIndex, args )
if chenchoose == 0 then
chenhero = PlayerResource:ReplaceHeroWith(0, "npc_dota_hero_chen", 0, 0)
playerID = chenhero:GetPlayerID()
local hero1 = PlayerResource:GetSelectedHeroEntity(playerID)
creeps = FindUnitsInRadius(DOTA_TEAM_GOODGUYS,
Vector(0, 0, 0),
nil,
FIND_UNITS_EVERYWHERE,
DOTA_UNIT_TARGET_TEAM_FRIENDLY,
DOTA_UNIT_TARGET_ALL,
DOTA_UNIT_TARGET_FLAG_NONE,
FIND_ANY_ORDER,
false)
for _, creeps in pairs(creeps) do
creeps:SetOwner(hero1)
end
end
end
Последнее редактирование: