Не ресает чела

BaByIIIka

Новичок
6 Ноя 2021
5
0
Проект
BountyArena
Всем привет. После попадания на хук, жертва (и сам пудж) тепается на спавн и ресается, но это работает только с ботом. (команда в консоли: dota_bot_populate). А если вместо бота реальный аккаунт, то это не работает. Жертва получает пуджа, и становится на точку спавна жертвы лол

Вот отрезок кода:
Код:
for nPlayerID = 0, DOTA_MAX_TEAM_PLAYERS-1 do 
            if nPlayerID == 0 then
                print("entered PID = 0")
                countPersons = countPersons + 1
                local hero = PlayerResource:GetSelectedHeroEntity(0)
                if (hero:IsAlive() == 0) then
                    hero:RespawnHero(false,false)
                else
                    if horn == true then
                           hero:EmitSound("DOTA_Item.ClarityPotion.Activate")
                           hero:EmitSound("GameStart.RadiantAncient")
                    end
                end
                local point = Entities:FindByName(nil, "start_good"):GetAbsOrigin()
                FindClearSpaceForUnit(hero, point, false)
                hero:EmitSound("Hero_Antimage.Blink_out")
                PlayerResource:ReplaceHeroWith(nPlayerID, goodHero, 0, 0)
            end
            if nPlayerID == 1 then
                print("entered PID = 1")
                countPersons = countPersons + 1
                local hero = PlayerResource:GetSelectedHeroEntity(1)
                if (hero:IsAlive() == 0) then
                    hero:RespawnHero(false,false)
                else
                    if horn == true then
                           hero:EmitSound("DOTA_Item.ClarityPotion.Activate")
                           hero:EmitSound("GameStart.RadiantAncient")
                    end
                end
                local point = Entities:FindByName(nil, "start_bad"):GetAbsOrigin()
                FindClearSpaceForUnit(hero, point, false)
                hero:EmitSound("Hero_Antimage.Blink_out")
                PlayerResource:ReplaceHeroWith(nPlayerID, badHero, 0, 0)
            end
    end

В коде, start_good и start_bad - точки спавна на карте
goodNum,goodHero,badNum,badHero я получаю после пика героя игроком, являются глобальными переменными
 

BaByIIIka

Новичок
6 Ноя 2021
5
0
Проект
BountyArena
Нашел решение:

Код:
for i=2,3 do
        local Now_Point = Entities:FindByName(nil, Points[i-1]):GetAbsOrigin()
        local Now_PlayerID = PlayerResource:GetNthPlayerIDOnTeam(i, 1)
        local Now_Entity = PlayerResource:GetSelectedHeroEntity(Now_PlayerID)
            if Now_Entity and (not Now_Entity:IsNull()) then
                    if not Now_Entity:IsAlive() then
                       Timers:CreateTimer({ endTime = 0.3,
                    callback = function()
                    Now_Entity:RespawnHero(false, false)
                        PlayerResource:ReplaceHeroWith(Now_PlayerID, H_Hero[i-1], 0, 0)
                end })
             else
                FindClearSpaceForUnit(Now_Entity, Now_Point, false)
                PlayerResource:ReplaceHeroWith(Now_PlayerID, H_Hero[i-1], 0, 0)
            end
        end
    end

i = 2,3 - сила света и тьмы
H_Hero[] и Points[] заданы глобально и определяются после стадии пика
 
Реклама: