Редактировать код ИИ
Хочу отредактировать код своего ИИ(нужно что бы после того, как он построил много войск - что бы он больше не отступал), вставив эти строки:
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
Однако я не понимаю куда именно их вставлять, с помощью Notepad++ я редактирую фаил .ai, и вставляю это вниз эти строки.
Но после этого в самой игре AI перестает что либо делать... Подскажите как правильно это настроить плз.

Лучший ответ:
Последние две строки должны быть такие:
    call PlayGame()
endfunction
Замени их на:
    call StartBuildLoop()
    loop
        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
        call Sleep(2.0)
    endloop
endfunction
Эти строки предполагалось вставлять в любой из бесконечных циклов


Views: 808

Themis #1 - 5 years ago 2
Голосов: +2 / -0

Последние две строки должны быть такие:
    call PlayGame()
endfunction
Замени их на:
    call StartBuildLoop()
    loop
        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
        call Sleep(2.0)
    endloop
endfunction
Эти строки предполагалось вставлять в любой из бесконечных циклов