Аладон MUD | Помощь Поиск Участники Календарь |
Здравствуйте Гость ( Вход | Регистрация ) | Выслать повторно письмо для активации |
Калевала |
Отправлено: Oct 25 2012, 15:51
|
||
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Итак у нас появилась возможность использовать alua не только в прогсах, но так же писать скрипты сиречь дополнительные модули для Аладона. Что для этого нужно: 1. Редактор mpredit версии 1.1. Выложено на румуде и и тут на нашем сайте 2. Секьюрити не менее семи для возможности создания и редактирования скриптов. Теперь как это работает: Непосредственно в Аладоне через команды редактора sedit вы создает шаблон для работы скрипта. В шаблоне вы указываете тип скрипта, имя, место выполнения, имя файла скрипта. Затем через mpredit вы создаете файл скрипта, пишите его код и потом через sedit включаете ваш скрипт. О редакторе sedit: Интерфейс редактора полностью схож с редактором mpedit Команды редактора: create - создает новый пустой шаблон list - выводит список шаблонов name - задает имя текущему шаблону save - сохраняет ВСЕ шаблоны type - тип шаблона site - точка выполнения скрипта шаблона switchkey - включает выключает текущий шаблон. Пример:
Точки проверки на выполнения скриптов с типом common cycle - наиболее общая выполняется при каждом пробеге главного цикла tick - на каждом тике перед апдейтом погоды, чаров, объектов, наказаний, квестов балгоровских, комнат, лимитов, проверки ренегатов, проверки на левел ап или даун чаров start - при старте Аладона сразу после загрузок рынка, шаблонов скриптов, наказания и прочая. Ну как-то так. -------------------- Кодерус Аладонус
|
||
Калевала |
Отправлено: Oct 29 2012, 23:08
|
||
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлена точка - fdam Точка проверки на выполнение скриптов находится в функции damage после всех подсчетов дамага наносимого персонажем или мобом в бою на каждый удар. Получить величину дамага можно через поле .damage (новое поле) у персонажа/моба. И так же ее можно установить обратно то есть:
Кроме этого при запуске скрипта инициализируется два объекта (игрока.моба) ch - тот кто наносит дамаг vic - тот кто получает дамаг -------------------- Кодерус Аладонус
|
||
Калевала |
Отправлено: Oct 31 2012, 14:51
|
||||
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлена точка gexp Скрипты проверяются на запуск в месте начисление игроку опыта за бой. Точка срабатывания находится перед начислением, но после сообщения сколько игрок получил опыта. Добавлены поля в объект игрока/моба gexp - количество опыта получаемого игроком соответствнно:
exp Возвращает количество опыта игрока в текущий момент. А вот с присвоением не все так просто. При присвоении этого поля вызывается функция увеличения опыта для игрока (Аладоновская) в качестве аргумента подается число которое вы присваиваете этому полю ну то есть:
просто прибавит игроку 100 очков опыта, но не установит весь его опыт в 100. -------------------- Кодерус Аладонус
|
||||
Калевала |
Отправлено: Nov 1 2012, 13:18
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
1. Для работы с простраством скриптов Alua добавлена команда slua она похожа на команду lua, но работает как уже говорилось не в пространстве мобпрогсов а в пространстве скриптов и доступна только для иммов. В скриптах ее использовать само собой нельзя.
2. В объект игрока/моба добавлено поле saves поле доступно только для скриптов (не мобпрогсов) и его можно как прочитать так и установить. 3. Добавлен новый тип шаблонов скриптов command Этот тип не имеет точек запуска поскольку всегда запускается в одном месте при проверке ввода команды пользователем. Проверка происходит после проверки всех команд аладона, но до проверок на триггер COMMAND. В шаблон дополнительно нужно ввести имя команды. Делается это через команду comname. Созданная таким образом команда отражается в общем списке команд (для просмотра всех команд - команды) серым цветом. Отображается только если шаблон этой команды включен. При запуске скрипта инициализируется объект ch - тот кто запустил команды и переменная argument в которой содержатся введенные пользователем аргументы. В шаблоне скрипта не задается с какого уровня команда доступна за это отвечает программист скрипта ну если он вообще хочет ограничивать уровень команды. Это не умение или заклинание, а именно команды. -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Nov 1 2012, 14:34
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Хотелось бы еще добавить, хотя уже и писал, что у нас Alua работает в двух местах. То есть запущены две машины lua - одна для мобпрогсов, вторая для скриптов. Некоторые возможности из машины для мобпрогсов недоступны.
-------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Nov 8 2012, 15:28
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлено два новых типа шаблонов скриптов skill и spell
Эти два типа предназначены для создания новых умений и заклинаний для игроков при помощи скриптов. Добавлена новая команда access это аналог команды canwear но применяется к скриптовым скилам и умениям. Процесс создания нового умения или заклинания схож с созданием новой команды, но есть различия. На программиста таких скриптов ложится задача всех проверок и необходимых действий. Код Аладона лишь проверяет может ли быть запущен скрипт (включен или выключен шаблон скрипта, ограничения поля access (раса/профа). Для удобства программиста при старте скрипта умения(заклинания) добавляется объект игрока/моба ch который запустил скрипт. И две переменные argument - строка аргумента команды. percent - процент владения умением(заклинанием) данного игрока. Дальше внутри своегос крипта вы уже сами должны определять сколько вы хотите снять маны/шагов с игрока за умение заклинание, доступность по уровню и.т.д. Определять сработало умение/закл или нет и.т.п. Скриптовые умения и заклинания будут видны игроку по командам "заклинания" или "умения" после строки - Дополнительно:. -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Nov 9 2012, 15:22
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлены функции:
askill_lookup("имя умения или заклинания") - возвращает идентификатор умения написанного на Алуа. increase_skill(sn,percent,ch) - увеличивает умения или заклинания игрока ну или уменьшает если percent в минус. Здесь: sn - номер умения/заклинания Алуа или "старых" умений заклинаний percent - с плюсом или минусом на сколько уменьшаем,увеличиваем умение. ch - объект игрока кому увилчиваем или уменьшаем. Так же при срабатывании скрипта с типами spell и skill кроме переменной percent в Алуа подается константа id - номер умения. В самом алуа минуя функцию increase_skill можно менять переменную percent при применении умения. Она у того кто вызвал скрипт для вызванного умения по окончании работы скрипта переустановится. P.S. Походу надо снова за написание документации садиться (( -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Nov 13 2012, 16:29
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлена точка mhit срабатывание в каждый батлтик до функций удара оружием правым и левым
-------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Nov 15 2012, 09:39
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Изменены и добавлены команды редактора шаблонов sedit
Access заменена на пять команд - race,class,align,clan,level race - доступ по расе class - доступ по классу align - доступ по натуре level - по уровню clan - доступно для кланов,неклановых, всех Так же для описания скриптов добавлена команда desc работает как обычный текстовый редактор. Установка хелпа позволяет смотреть хелп к шаблону с помощью команды ? или help -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Mar 30 2013, 23:42
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлена возможность определить в какой точке сработал данный текущий скрипт с типом COMMON. В скрипт подается глобальный переменная script_site в которой содержится значение точки скрипта. Значение проверять через IS_SET.
В таблицу констант добавлены константы точек соответственно. CONST.TYPE_SITE_CYCLE CONST.TYPE_SITE_TICK CONST.TYPE_SITE_START CONST.TYPE_SITE_FDAM CONST.TYPE_SITE_GEXP CONST.TYPE_SITE_MHIT CONST.TYPE_SITE_BSKILL CONST.TYPE_SITE_ASKILL CONST.TYPE_SITE_KILL CONST.TYPE_SITE_DEATH Пример: if is_set(script_site,CONST.TYPE_SITE_CYCLE) then echo("Скрипт сработал в точке глобального цикла.",ch.room) end -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: May 17 2013, 15:57
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлены команды в шаблоны скриптов для типов шаблонов -умения,заклинания
youdam - Строка которая выдает игроку когда он выполняет скрипт в бою somedam - Тоже самое но окружающим skilltype - тип умения - 0 пассивное 1 активное примеры: youdam Твой могучий удар #0 поражает somedam Могучий удар $n2 #0 поражает разнося череп на куски. удар дворник Твой могучий удар *СОКРУШИТЕЛЬНО* поражает дворника Тем кто в комнате: Могучий удар Калевалы *СОКРУШИТЕЛЬНО* поражает разнося на куски череп дворника. -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: May 21 2013, 15:15
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
В редактор шаблонов sedit добавлено поле price. Поле может иметь значение от 0 и выше. Если в шаблоне (действует только для шаблонов заклинаний или умений) установлено это поле в значение больше нуля, то это значит что умение/заклинание докупное за тренировки. Пользователь сможет докупить это умение/заклинание при создании персонажа или по команде приобрести. Если поле установлено в ноль, то умение/заклинание получается персонажем по умолчанию.
Синтаксис: price <значение> -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Nov 16 2014, 23:47
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлены две новые точки срабатывания скриптов
delaff,addaff константы для проверок в скриптах CONST.TYPE_SITE_ADDAFF CONST.TYPE_SITE_DELAFF При инициализации и запуске скрипта доступны следующие объекта aff - собственно объект самого накладываемого или снимаемого эффекта ch - объект игрока/моба если эффект ставится/снимается на игрока/моба obj - объект предмета если эффект ставится/снимается на предмет. room - объект комнаты если эффект ставится/снимается на комнату. area - объект зоны если эффект ставится/снимается на зону. Объект aff можно модифицировать изменяя его поля. Если объекту присвоить значение nil, то эффект не будет наложен. -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Mar 2 2017, 11:13
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлена новая точка срабатывания скриптов.
input - скрипт будет срабатывать при входе персонажа в мир. Срабатывание после всех проверок, загрузок и прочее и прочее. Константа для проверки внутри скриптов: CONST.TYPE_SITE_INPUT Инициализируемые объекты: ch - объект персонажа. -------------------- Кодерус Аладонус
|