Прочитал серию статей xgm.guru/p/wc3/melee_ai_creating
Но такое ощущение, что функция SetProduce не компилируется.
Как это выглядит:
Но такое ощущение, что функция SetProduce не компилируется.
Как это выглядит:
- Запускаю код из примера без попытки построить что-то
function main takes nothing returns nothing
call Sleep( 1.0 ) // ждать одну секунду
call DisplayTextToPlayer( GetLocalPlayer(), 0.0, 0.0, "Script started" )
loop // начало вечного цикла
call ClearHarvestAI() // Сначала восстанавливаем то, что было сделано менеджером сбора и
call HarvestGold( 0, 4 ) // затем говорим ему иместь 4 работника, собирающих золото
call HarvestWood( 0, 1 ) // и 1 работника, собирающего дерево.
call DisplayTextToPlayer( GetLocalPlayer(), 0.0, 0.0, "Harvesting" )
call Sleep( 1.0 ) // Если мы никогда не будем спать, то движок убьёт нас.
endloop
call DisplayTextToPlayer( GetLocalPlayer(), 0.0, 0.0, "Script exiting" )
endfunction
Всё замечательно работает. Пеоны добывают золото и дерево. Регулярные тестовые сообщения на экран приходят. Улыбаемся и машем.
- Улучшаем код добавлением функции SetProduce
function main takes nothing returns nothing
call Sleep( 1.0 ) // Ждать 1 секунду
call DisplayTextToPlayer( GetLocalPlayer(), 0.0, 0.0, "Script started" )
loop // начало вечного цикла
call ClearHarvestAI() // Сначала восстанавливаем то, что было сделано менеджером сбора и
call HarvestGold( 0, 4 ) // затем говорим ему иместь 4 работника, собирающих золото
call HarvestWood( 0, 1 ) // и 1 работника, собирающего дерево.
call DisplayTextToPlayer( GetLocalPlayer(), 0.0, 0.0, "Harvesting" )
call SetProduce(1, 'hpea', 0) // Попытаться начать тренировку крестьянина
call Sleep( 3.0 ) // Если мы никогда не будем спать, то движок убьёт нас.
endloop
call DisplayTextToPlayer( GetLocalPlayer(), 0.0, 0.0, "Script exiting" )
endfunction
Результат: Тестовые сообщения на экран не приходят. А пеоны по умолчанию начинают просто добывать золото. То есть ИИ-скрипт не включается.
Что же делать?
Поправка: Решил обновиться до версии 1.27. Результат использования функции SetProduce более жёсткий, чем просто невключение скрипта, а fatal error.
Принятый ответ
Итак. Комментарии на кириллице убраны, и всё заработало. Но потом я всё же переименовал файл скрипта)
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
попробуй во 2 варианте закоментить SetProduce (не удалить а именно закоментить)
а то у тебя call Sleep( 3.0 ) тут и везде пробелы есть, а тут call SetProduce(1, 'hpea', 0) - нет
Отредактирован igor_razor