Приветствую всех, подскажите - я создал своего мелее ИИ, поставил галочку (чтобы он иногда отступал).
Но он отступает почти всегда! Даже когда у него оч много армии!
Можно ли как нибудь триггерно посылать в атаку, когда лимит, к примеру, будет 80.

Посылать триггерно можно будет после небольшой правки JASS кода ИИ.
Да, только по лвлу. Если достаточно редактора ИИ, то да подбирать лвл его войск и нужно. Или убрать галочку.
Или же растоптать свою гордость и влезть в код ИИ, вставив эти строки:
    if GetPlayerState(Player(GetAiPlayer()),PLAYER_STATE_RESOURCE_FOOD_USED)> 79 then
        call SetHeroesFlee(false)
        call SetIgnoreInjured(false)
        call SetUnitsFlee(false)
        call SetGroupsFlee(false)
    elseif GetPlayerState(Player(GetAiPlayer()),PLAYER_STATE_RESOURCE_FOOD_USED) < 76 then
        call SetHeroesFlee(true)
        call SetIgnoreInjured(true)
        call SetUnitsFlee(true)
        call SetGroupsFlee(true)
    endif
Где, SetHeroesFlee - разрешает героям уходить из под ассиста. (2 шага назад и снова в бой)
SetIgnoreInjured - убегают домой те и кого здоровья меньше половины.
SetUnitsFlee - разрешает негероям уходить из под ассиста.
SetGroupsFlee - все войска убегают от более сильного врага. Проверяются только уровни.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
20
SamuraiKing:
в итоге у тебя побегут в бой даже рабочие, и триггер сработает только тогда, когда будет меняться потребление пищи
фигню предложил
16
Хм мне вот интересно... А по каким критериям этот комп определяет у кого лучше армия? Может по лвлу?
Тогда я просто могу в редакторе могу сделать лвл его войск высоком, и он меньше будет отступать...
И вот я подумал... У меня же стоит флажек чтобы ИИ помогал своим.
Что если когда комп наберет 80 лимита, то создать невидимую союзную ратушу на базе врага, комп же будет пытаться её защитить и начнет атаковать?
20
есть предла внимательнее пошерстить редактор ИИ, почитать статьи, а не писать костыли)
ну не может быть, чтобы нельзя было нормально сделать
28
ssbbssc, это вар3 так что возможно всё
ну вообще стоит глянуть код твоего AI
но для этого нужно знать джасс
а ты его походу не знаешь
а мне лень копаться в твоём коде
но если всё же выучишь то посмотри common.ai
там все функции по работе с ai
3
Посылать триггерно можно будет после небольшой правки JASS кода ИИ.
Да, только по лвлу. Если достаточно редактора ИИ, то да подбирать лвл его войск и нужно. Или убрать галочку.
Или же растоптать свою гордость и влезть в код ИИ, вставив эти строки:
    if GetPlayerState(Player(GetAiPlayer()),PLAYER_STATE_RESOURCE_FOOD_USED)> 79 then
        call SetHeroesFlee(false)
        call SetIgnoreInjured(false)
        call SetUnitsFlee(false)
        call SetGroupsFlee(false)
    elseif GetPlayerState(Player(GetAiPlayer()),PLAYER_STATE_RESOURCE_FOOD_USED) < 76 then
        call SetHeroesFlee(true)
        call SetIgnoreInjured(true)
        call SetUnitsFlee(true)
        call SetGroupsFlee(true)
    endif
Где, SetHeroesFlee - разрешает героям уходить из под ассиста. (2 шага назад и снова в бой)
SetIgnoreInjured - убегают домой те и кого здоровья меньше половины.
SetUnitsFlee - разрешает негероям уходить из под ассиста.
SetGroupsFlee - все войска убегают от более сильного врага. Проверяются только уровни.
Принятый ответ
16
Themis, хм я вставил это в помощью Notepad++ фаил .ai, просто вставляю это в низ. Но в самой игре AI перестает что либо делать...
Куда именно там это написать?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.