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

  • Официальное уведомление администрации CustomGames.RU
    В связи с масштабным техническим сбоем в инфраструктуре прежнего хостинг-провайдера (Beget), работа форума CustomGames.RU была оперативно перенесена на новую серверную площадку и развёрнута из резервной копии базы данных.

    • Безопасность данных: учётные записи и данные пользователей находятся в полной безопасности. Все пароли и защищаемые параметры хранятся исключительно в криптографически зашифрованном (хэшированном) виде — никаких критических инцидентов для аккаунтов пользователей не произошло.
    • Временные технические ограничения: на этапе синхронизации файлового хранилища часть статических материалов (пользовательские аватары и архивные вложения) временно недоступна. По мере получения доступа к файловым архивам все материалы будут восстановлены в полном объёме.

Novichek

Активный
18 Фев 2020
123
15
Проект
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
 
Не уверен, но может быть дело в тумане войны. Если на постройку нет вижена, то юниты будут переагриваться. А вообще можешь снести юнитам радиус агра, но это уже костыль
 
Не уверен, но может быть дело в тумане войны. Если на постройку нет вижена, то юниты будут переагриваться. А вообще можешь снести юнитам радиус агра, но это уже костыль
что отвечает за радиус агра?
 
нашел костыль.
Даю модификатор тому кто должен атаковать параллельно меняю ему же:
"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
Реклама: