Гайд по написанию скриптов для гомункулусов
-
давно уже ищу места более-менее активного обсуждения AI
был приятно удивлен, когда увидел тут вполне живой раздел по данной тематике, хотя даже на иРО вики он практически заброшен...когда-то давно я тоже написал вполне подробный гайд по программированию AI, начиная с описания Lua и заканчивая написанием примитивного скрипта:
<!-- m --><a class="postlink" href="http://www.asgardro.com/forum/showthread.php?11560">http://www.asgardro.com/forum/showthread.php?11560</a><!-- m -->вначале данной темы была ссылка на HAICK, который затем превратился в RAICK, и впоследствии был сильно пересмотрен для второй версии:
<!-- m --><a class="postlink" href="http://code.google.com/p/raick/">http://code.google.com/p/raick/</a><!-- m -->
содержит в себе много полезных фичей, а также готовых решений, что называется- out of the box
смысла всех их описывать тут нету, смотрите, читайте, изучайте, может кому-то и пригодится, всегда готов ответить на любые вопросы -
давно уже ищу места более-менее активного обсуждения AI
был приятно удивлен, когда увидел тут вполне живой раздел по данной тематике, хотя даже на иРО вики он практически заброшен...когда-то давно я тоже написал вполне подробный гайд по программированию AI, начиная с описания Lua и заканчивая написанием примитивного скрипта:
<!-- m --><a class="postlink" href="http://www.asgardro.com/forum/showthread.php?11560">http://www.asgardro.com/forum/showthread.php?11560</a><!-- m -->вначале данной темы была ссылка на HAICK, который затем превратился в RAICK, и впоследствии был сильно пересмотрен для второй версии:
<!-- m --><a class="postlink" href="http://code.google.com/p/raick/">http://code.google.com/p/raick/</a><!-- m -->
содержит в себе много полезных фичей, а также готовых решений, что называется- out of the box
смысла всех их описывать тут нету, смотрите, читайте, изучайте, может кому-то и пригодится, всегда готов ответить на любые вопросы -
Видели, читали, знаем. Имхо - слишком оно... эпично. Можно в учебник по луе переделывать и печатать, на ура пойдет х_х
PS Вообще обычно тут срабатывает фильтр, но что-то сейчас не хочет... Прямого указания в правилах на это нет, но я настоятельно советую перевесить упоминаемый гайд в другое место. Примета плохая - давать ссылки на другие сервера. -
Видели, читали, знаем. Имхо - слишком оно... эпично. Можно в учебник по луе переделывать и печатать, на ура пойдет х_х
PS Вообще обычно тут срабатывает фильтр, но что-то сейчас не хочет... Прямого указания в правилах на это нет, но я настоятельно советую перевесить упоминаемый гайд в другое место. Примета плохая - давать ссылки на другие сервера. -
У меня Филир
Так, вот он когда бьет, поддергивается. Может выдавать стабильно быструю атаку, а может начать менять анимацию удара и скорость атаки падает
На первой странице заметил строчку про разницу анимации атак MOTION_ATTACK и MOTION_ATTACK2
Как то можно прописать так что бы гомункул бил только одной анимацией атаки?Прописал себе данс атаку через код Флоренции
elseif (MyState == ATTACK_ST) then
if GetV(V_SP, MyID) >= 30 then
local zx, zy = GetV( V_POSITION, MyEnemy )
OnATTACK_ST()
Move(MyID,zx+1,zy)
Move(MyID,zx-1,zy)
OnATTACK_ST()
Move(MyID,zx,zy+1)
Move(MyID,zx,zy-1)
else
OnATTACK_ST()
endЭтот код не устарел еще? Может у кого то есть новая версия кода на данс?
-
У меня Филир
Так, вот он когда бьет, поддергивается. Может выдавать стабильно быструю атаку, а может начать менять анимацию удара и скорость атаки падает
На первой странице заметил строчку про разницу анимации атак MOTION_ATTACK и MOTION_ATTACK2
Как то можно прописать так что бы гомункул бил только одной анимацией атаки?Прописал себе данс атаку через код Флоренции
elseif (MyState == ATTACK_ST) then
if GetV(V_SP, MyID) >= 30 then
local zx, zy = GetV( V_POSITION, MyEnemy )
OnATTACK_ST()
Move(MyID,zx+1,zy)
Move(MyID,zx-1,zy)
OnATTACK_ST()
Move(MyID,zx,zy+1)
Move(MyID,zx,zy-1)
else
OnATTACK_ST()
endЭтот код не устарел еще? Может у кого то есть новая версия кода на данс?
-
Анимацию никак нельзя выбрать скриптом, она рандомно выбирается на каждый удар.
-
Анимацию никак нельзя выбрать скриптом, она рандомно выбирается на каждый удар.
-
Aiko
Пока ты тут, не подскажешь заодно как филиру прописать атаку мунлайтом без задержки
Он у меня стоит на full_power в MirAi но всеравно выдает скорость атаки скилом раза в 4 меньше чем я просто рукой тыкаюА с кодом данс атаки у меня все ок?
неделю отсилы играю, вопросов много -_- -
Aiko
Пока ты тут, не подскажешь заодно как филиру прописать атаку мунлайтом без задержки
Он у меня стоит на full_power в MirAi но всеравно выдает скорость атаки скилом раза в 4 меньше чем я просто рукой тыкаюА с кодом данс атаки у меня все ок?
неделю отсилы играю, вопросов много -_- -
у меня данс атака взята отсюда
<!-- l --><a class="postlink-local" href="http://forum.motr-online.com/viewtopic.php?p=2313835#p2313835">viewtopic.php?p=2313835#p2313835</a><!-- l -->
пока всё устраиваетв начале файла AI.lua есть похожие строки[code:176z65l5]-- Filir
AS_FIL_MOON.SkillID = 8009
AS_FIL_MOON.HowLast = 333
AS_FIL_MOON.Engaged = false
AS_FIL_MOON.TimeOut = 2000[/code:176z65l5]насколько они помогут убрать делей не знаю, мой филир давно умер -
у меня данс атака взята отсюда
<!-- l --><a class="postlink-local" href="http://forum.motr-online.com/viewtopic.php?p=2313835#p2313835">viewtopic.php?p=2313835#p2313835</a><!-- l -->
пока всё устраиваетв начале файла AI.lua есть похожие строки[code:176z65l5]-- Filir
AS_FIL_MOON.SkillID = 8009
AS_FIL_MOON.HowLast = 333
AS_FIL_MOON.Engaged = false
AS_FIL_MOON.TimeOut = 2000[/code:176z65l5]насколько они помогут убрать делей не знаю, мой филир давно умер -
Спасибо за ссылки JdM
Поставил этот AI, нашел код Филира и игрался с ним где то около часа
менял значения и на высокие и на 0 ставил
вместо false прописывал true, но у меня ничего не получилосьНе думаю что стоит отметать этот код, может у него есть какие то подкоды или еще что то, которые тоже надо изменять
Или я что то не так менял в немЕще заметил что воробей начинает атаковать скилами после 2ух-3ех секунд обычно. Сходу не бьет
Вот это бы тоже как то изменитьТанцующая атака у меня не работает того AI, хотя может для разных аспд разные коды нужны. У меня Филир достаточно быстро шпарит
С кодом который я использовал он сдвигается на миллиметр при каждой атаке, а с этим вообще не двигается, иногда просто отлетает на клетку рядом и всеВообще не заметил особой прибавки в аспд, я даже не знаю как должна выглядеть данс атака на моторе. Потому что после фикса она явно как то отличается от того что есть на других серверах. Не знаю к чему стремиться вообще, может ролик какой есть на ютубе с моторовской данс атакой или кто то может описать как она должна выглядеть?
-
Спасибо за ссылки JdM
Поставил этот AI, нашел код Филира и игрался с ним где то около часа
менял значения и на высокие и на 0 ставил
вместо false прописывал true, но у меня ничего не получилосьНе думаю что стоит отметать этот код, может у него есть какие то подкоды или еще что то, которые тоже надо изменять
Или я что то не так менял в немЕще заметил что воробей начинает атаковать скилами после 2ух-3ех секунд обычно. Сходу не бьет
Вот это бы тоже как то изменитьТанцующая атака у меня не работает того AI, хотя может для разных аспд разные коды нужны. У меня Филир достаточно быстро шпарит
С кодом который я использовал он сдвигается на миллиметр при каждой атаке, а с этим вообще не двигается, иногда просто отлетает на клетку рядом и всеВообще не заметил особой прибавки в аспд, я даже не знаю как должна выглядеть данс атака на моторе. Потому что после фикса она явно как то отличается от того что есть на других серверах. Не знаю к чему стремиться вообще, может ролик какой есть на ютубе с моторовской данс атакой или кто то может описать как она должна выглядеть?
-
Натрий, могу сказать что при рабочей данс-атаке - дамаги летят по 2 штуки в группе... это хорошо заметно на низких аспд... для филера данс атака вообще жечь должна по идее
[code:2n7ya368]elseif (MyState == ATTACK_ST) then
if GetV(V_SP, MyID) >= 0 then
local zx, zy = GetV( V_POSITION, MyEnemy )
OnATTACK_ST()
Move(MyID,zx+1,zy)
Move(MyID,zx-1,zy)
OnATTACK_ST()
Move(MyID,zx,zy+1)
Move(MyID,zx,zy-1)
else
OnATTACK_ST()
end [/code:2n7ya368] у меня так организована данс-атака -
Натрий, могу сказать что при рабочей данс-атаке - дамаги летят по 2 штуки в группе... это хорошо заметно на низких аспд... для филера данс атака вообще жечь должна по идее
[code:2n7ya368]elseif (MyState == ATTACK_ST) then
if GetV(V_SP, MyID) >= 0 then
local zx, zy = GetV( V_POSITION, MyEnemy )
OnATTACK_ST()
Move(MyID,zx+1,zy)
Move(MyID,zx-1,zy)
OnATTACK_ST()
Move(MyID,zx,zy+1)
Move(MyID,zx,zy-1)
else
OnATTACK_ST()
end [/code:2n7ya368] у меня так организована данс-атака -
<!-- l --><a class="postlink-local" href="http://forum.motr-online.com/viewtopic.php?f=94&t=134122&start=98">viewtopic.php?f=94&t=134122&start=98</a><!-- l --> - вот тут я выкладывал свой АИ целиком - попробуйте
-
<!-- l --><a class="postlink-local" href="http://forum.motr-online.com/viewtopic.php?f=94&t=134122&start=98">viewtopic.php?f=94&t=134122&start=98</a><!-- l --> - вот тут я выкладывал свой АИ целиком - попробуйте
-
Что касается спама мунлайтом - в режим обработки full_power можно прописать ту же самую данс-атаку, заменив OnAttack_ST на использование мунлайта. Ну и не забыть повесить проверку на сп перед этим.
-
Что касается спама мунлайтом - в режим обработки full_power можно прописать ту же самую данс-атаку, заменив OnAttack_ST на использование мунлайта. Ну и не забыть повесить проверку на сп перед этим.