Гайд по написанию скриптов для гомункулусов
-
@"Aiko-Star":
sepulka, Беда еще может быть связана не с тормозами обработки скрипта, а с лагами на канале до сервера (что более вероятно, т.к. Lua - один из самых быстрых языков для обработки).Что, в данном случае подразумевается под этим? Хотите сказать, что LUA скрипт выполняется клиентом в режиме интерпретации? :shock:
-
LittleHarry, Нет, блин, компилится на сервере. Какие еще могут быть варианты?
Конечно интерпретируемый язык выполняется "в режиме интерпретации" (то бишь на виртуальной машине, встроенной в клиент, в данном случае) -
@"абракадавр":
LittleHarry, Нет, блин, компилится на сервере. Какие еще могут быть варианты?Конечно интерпретируемый язык выполняется "в режиме интерпретации" :shock: (то бишь на виртуальной машине, встроенной в клиент, в данном случае)
А я думал что скрипт компилируется перед выполнением Встроенным в клиент компилятором и т.д...
Разве не так? Интерпретатор, это пошаговое выполнение, если мне память не изменяет.
Какая тут, нафиг, скорость могла бы быть? :shock: -
LittleHarry, Только в промежуточный код, но никак не в машинный.
Не поверишь, любая программа это пошаговое выполнение так или иначе
Любое распараллеливание сводится к нескольким пошагово выполняемым задачам.
Любая "многозадачность" это просто быстрое переключение между несколькими пошагово выполняемыми задачами. -
@"абракадавр":
LittleHarry, Только в промежуточный код, но никак не в машинный.Не поверишь, любая программа это пошаговое выполнение так или иначе
Любое распараллеливание сводится к нескольким пошагово выполняемым задачам.
Любая "многозадачность" это просто быстрое переключение между несколькими пошагово выполняемыми задачами.Не успеваю отвечать Быстро ты посты редактируешь-дополняешь. Спасибо за ликбез, но давай утрировать не будем
@"Aiko-Star":
т.к. Lua - один из самых быстрых языков для обработки.Я хотел понять, что означает это заявление? Что это за "быстрота обработки" и какое отношение она имеет к клиенту?
-
@"LittleHarry":
Я хотел понять, что означает это заявление? Что это за "быстрота обработки" и какое отношение она имеет к клиенту?@"Wikipedia":
Как и многие интерпретируемые языки программирования, реализация Lua имеет отдельно компилятор с исходного языка в исполняемый байт-код и виртуальную машину для исполнения сгенерированного байт-кода. Причём байт-код — это не команды стековой машины, а команды некоего виртуального процессора с несколькими регистрами, что повышает эффективность исполнения. В стандартной виртуальной машине Lua используется распределение памяти со сборкой мусора (аналогично Java или .NET).
К клиенту быстрота обработки имеет отношение тем, что код выполняется процессором клиента, на сервер идут уже конкретные команды действий, однотипные для любого AI. Поэтому, как ни странно, снижение загрузки процессора помогает увеличить скорость выполнения AI хомяков. -
где-то выше в теме писалось что можно удалить из AI неиспользуемые процедуры/функции
вроде АРР, автокаста болтов и т.п.насколько это безопасно делать в MirAI 1.2.2 ?
пока поместив в комментарии пару процедур не заметил ни ускорения работы, ни замедления, ни ошибок
и второй вопрос,
при переключение атаки на другого моба (не добив старого)
начинает атаковать с использованием не того уровня скила, который прописан в конфиге
и наоборот при появлении в поле зрения другого моба меняет уровень скила на того моба,
которого бьёт в данный моментэто как нибудь решается?
-
Озадачу пожалуй здешних обитателей, щитаю их наиболее "шарящими" наверн.
Скачал я допустим МирАи, вот такие файлики :mirai_v1_2_2.zip; control_panel_for_mirai_v1_2_(en_de_it)_R3.zip; auto_shutdown_mod_0_1_1.zip; pvp_mod_sample_v0_1_2.zip. Нужны ли они, или какие нужны(скачивал все из 1 ссылки с Шаронова).
Дальше: папку USER_AI, и заменить той, что появляеца из скачаных файлов, и все что розархивировал туда? Или же ...?
mirai_v1_2_2.zip - это последняя версия?, если нет не могли бы Вы дать ссылочку на последний норм МирАи, пожалуста.@"LisandreL":
- Установка:
а) распаковываете архив с MirAI в X:\Ragnarok\AI\USER_AI, где X:\Ragnarok - папка с РО.
б) скачиваете GUI, распаковываете и устанавливаете в ту же папку
2) Настройка:
<!-- m --><a class="postlink" href="http://www">http://www</a><!-- m -->.реклама.ru/ro/razdel.asp?id=6&news=92#MirAi
Автолечение зельями и Автоатаки алхимика у нас работать не будут.
Upd: уже сам нашел, реклама как всегда :Search:
А по поводу авто лечения и автоатаки на скоко % правдива информация?
Можно ли настраивать автоатаку алхимика(нашел уже), и что еще запрещено(если запрещено) из настроек МирАи?
Ах да и что там по поводу команды /hoai ,вроде так. Ее над вводить каждый раз когда входиш в игру, или мб когда меняеш настройки МирАи на другого моба/просто меняеш настройки?
И если не тут, то где задать вопрос? :Search: -
@"-Юрец-":
mirai_v1_2_2.zip
этого достаточно для управления гомункулом@"-Юрец-":
control_panel_for_mirai_v1_2_(en_de_it)_R3.zip
панель управления удобна, если не хочешь/не умеешь разбираться в скриптах@"-Юрец-":
auto_shutdown_mod_0_1_1.zip; pvp_mod_sample_v0_1_2.zip
моды не обязательны, ставь по своему усмотрению@"-Юрец-":
и все что розархивировал туда?
да, всё туда@"-Юрец-":
mirai_v1_2_2.zip - это последняя версия?
да последняя, сайт автора <!-- m --><a class="postlink" href="http://www.mirandablade.altervista.org/index.php?pg=mirai&lng=en">http://www.mirandablade.altervista.org/ ... rai&lng=en</a><!-- m -->@"-Юрец-":
А по поводу авто лечения и автоатаки на скоко % правдива информация?@"Zeno":
Можно прописать. Но здесь это никогда не работало, не работает и работать не будет.
кросс пост <!-- l --><a class="postlink-local" href="http://forum.motronline.com/viewtopic.php?p=1956885#p1956885">viewtopic.php?p=1956885#p1956885</a><!-- l -->@"-Юрец-":
и что еще запрещено(если запрещено) из настроек МирАи?@"Zeno":
Гомункул может только то, на что способен ваш мозг, или то, на что вам удалось стырить.
в скрипте не должно быть автокача и за киллстил будет отвечать сам владелец
<!-- l --><a class="postlink-local" href="http://forum.motronline.com/viewtopic.php?p=1251709#p1251709">viewtopic.php?p=1251709#p1251709</a><!-- l -->@"-Юрец-":
Ах да и что там по поводу команды /hoai
/hoai переключает интелект гомункула между папкой "./AI" и "./AI/USER_AI"
вводишь её и при следующем входе в РО интелект загрузится из той папки,
которую клиент использовал перед выходом
что бы интелект переключился после ввода /hoai
необходимо перезайти/вингануться/перейти на другую карту -
JdM
спасиба, ток чето всеравно не понял до конца на щет /hoai, тоисть при каждом входе включать я понял. А при переходе с карты на карту, варп, винг - тож надо включать, типа оно так сказать сбиваеца?
auto_shutdown_mod_0_1_1.zip; pvp_mod_sample_v0_1_2.zip
ну а что это за моды, их назначени моно узнать?
И там в папке USER_AI есть уже AI.lua, AI_M.lua, Const.lua, Util.lua, их мы не трогаем, не удаляем?, просто вставляем сверху все что скачали? -
@"JdM":
в скрипте не должно быть автокача и за киллстил будет отвечать сам владелец
<!-- l --><a class="postlink-local" href="http://forum.motronline.com/viewtopic.php?p=1251709#p1251709">viewtopic.php?p=1251709#p1251709</a><!-- l -->Разрешено писать в АИ все на что хватит фантазии, запрещено использование сторонних программ.
<!-- l --><a class="postlink-local" href="http://forum.motronline.com/viewtopic.php?p=2025388#p2025388">viewtopic.php?p=2025388#p2025388</a><!-- l --> -
Merl, спасибо, незнал где искать этот пост :%)
@"-Юрец-":
типа оно так сказать сбиваеца?
наоборот, включил один раз и забыл
только если отключишь, надо будет вингануться/перейти с карты,
а до этого будет "старый" скрипт работать@"-Юрец-":
auto_shutdown_mod_0_1_1.zip; pvp_mod_sample_v0_1_2.zip
первый похож на выключение клиента при смерти гомункула,
второй - какой-то мод для ПвП
там случайно в архиве нет их описания?@"-Юрец-":
просто вставляем сверху все что скачали?
они заменятся файлами MirAI -
Спасиб огромное, так и сделал,недождавшись , на 2-м скопированом "пробном" мотре )) методом проб и ошибок почти во всем разобралса. Правда бывает что тупит гом, ну об этом читал, да. То перестает атаковать вдруг, то добивать :Search: .
:Search:
Aiko Star, не знаю мож я тя не правильно понял, вот: посмотри а потом удалиш, или что там если это реклама :Search:
<!-- m --><a class="postlink" href="http://www.mirandablade.altervista.org/index.php?pg=mirai&lng=en">http://www.mirandablade.altervista.org/ ... rai&lng=en</a><!-- m --> -
Предложенная версия первого мода малореализуема. Скорее всего это выключение компа по таймеру. Но без непосредственно кода ничего не могу сказать.
-
auto_shutdown_mod_0_1_1.zip это автозакрытие клиента (схоже по действию с alt+f4) при определенном времени неактивности (если хим не двигается, не садится/встает и не поднимает предметов). Должно работать, соответствующий мод для RampageAI очень хорошо работает, а этот тоже неплохо выглядит. В принципе может быть полезен как страховка для любителей заснуть у компа. По стандарту 45 минут, но выставляется в строчке
[code:2gc0ovin]SDn_TimeOut = 45 * 60000 -- milliseconds[/code:2gc0ovin]
на любое устраивающее пользователя время.ПвП мод добавляет какие-то ПвП возможности, но тут уж точно не могу ничего определенного сказать без долгого раскуривания кода, что мне сейчас влом.
-
что-то не могу найти скрипт закрытия РО при смерти гомункула
не поделитесь ссылкой? -
JdM, закрытие после смерти невозможно без сторонних программ - при смерти отключается АИ. Возможно отключение при слишком быстрой потере ХП, ХП ниже определенной границы и других веселых вариантах. Готовые скрипты мне не известны, но можно написать свои.
-
Merl, в том то и дело, что такое ощущение, что скрипт продолжает работать
опишу суть проблемы
аи - MirAI
гомункул - филирпосле воскрешения не перекастовывает Fleet Move и Over Speed (внутри скрипта стоит таймер)
только когда подойдёт время по таймеру - перекастовывает,
однако если сделать или Rest-Call, или перейти с карты, или вингануться, или скастовать их вручную
всё нормально кастуеться (то есть задержка после каста - 60 секунд - слетела)
то есть получается, что при смерти скрипт помнит время последнего каста (а так же скорость во время смерти гомункула)
думаю, на какое бы действие прикрепить обнуление таймера скилов -
JdM, хмм обнулится ли таймер при
[code:33tia2hm]if GetV(V_MOTION, MyID) == MOTION_DEAD then
обнуление таймера
end
[/code:33tia2hm]? -
Не знаю, как там в мирке, мб она время кулдаунов пишет в файл?