Решено Поведение юнита

Novichek

Активный
18 Фев 2020
90
7
Проект
Evo Land
не могу заставить юнита иди к зданию и атаковать только его. Он сразу же переагривается:


Lua:
function task4()

    print("ПОШЛО ПОЕХАЛО")

    local whiteColor = "#FFD700"

    local redColor = "#FFFFFF"

    local message = "<font color='" .. whiteColor .. "'>СЛУГА БОЖИЙ:</font><font color='" .. redColor .. "'> Вот вам мое благословление)</font>"

    local targetFort = Entities:FindByName(nil, "npc_goodguys_fort")

    if targetFort then

        print("ФОРТ НАЙДЕН")

    end

    Timers:CreateTimer(3, function()

        GameRules:SendCustomMessage(message, 0, 0)

        -----------------------------------------

        spawnedUnitGlobal:RemoveModifierByName( "modifier_invulnerable" )

        spawnedUnitGlobal:SetAttackCapability(DOTA_UNIT_CAP_MELEE_ATTACK)

        -----------------------------------------

        spawnedUnitGlobal:SetForceAttackTarget(targetFort)

        if spawnedUnitGlobal:GetForceAttackTarget() == targetFort then

            print("АТАКУЮ ФОРТ")

        end

    end)

end
 

fabio_longo

Продвинутый
13 Июн 2021
153
19
steamcommunity.com
Проект
Chen's Training, Creep Stacking Training
Не уверен, но может быть дело в тумане войны. Если на постройку нет вижена, то юниты будут переагриваться. А вообще можешь снести юнитам радиус агра, но это уже костыль
 

Novichek

Активный
18 Фев 2020
90
7
Проект
Evo Land
Не уверен, но может быть дело в тумане войны. Если на постройку нет вижена, то юниты будут переагриваться. А вообще можешь снести юнитам радиус агра, но это уже костыль
что отвечает за радиус агра?
 

Novichek

Активный
18 Фев 2020
90
7
Проект
Evo Land
нашел костыль.
Даю модификатор тому кто должен атаковать параллельно меняю ему же:
"VisionDaytimeRange" "0"
"VisionNighttimeRange" "0"
И указываю юнита которого он должен бить. Изи.
Код:
modifier_fow_target = class({})
function modifier_fow_target:IsHidden()
    return false
end
function modifier_fow_target:IsPurgable()
    return false
end
function modifier_fow_target:CheckState()
    local state = {
        [MODIFIER_STATE_PROVIDES_VISION] = true,
    }
    return state
end
function modifier_fow_target:GetPriority()
    return MODIFIER_PRIORITY_HIGH
end
function modifier_fow_target:GetStatusEffectName()
    return "particles/status_fx/status_effect_illusion.vpcf"
end
function modifier_fow_target:StatusEffectPriority()
    return 1000
end
function modifier_fow_target:GetModifierProvidesFOWVision()
    local parent = self:GetParent()
    local fort = Entities:FindByName(nil, "npc_goodguys_fort!!!")
    if parent == fort then
        return 1
    else
        return 0
    end
end
 
  • Нравится
Реакции: fabio_longo
Реклама: