Аладон MUD | Помощь Поиск Участники Календарь |
Здравствуйте Гость ( Вход | Регистрация ) | Выслать повторно письмо для активации |
Страницы: (2) [1] 2 ( Перейти к первому непрочитанному сообщению ) |
Калевала |
Отправлено: Sep 13 2012, 12:10
|
||||
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
1. Исправлены баги функций aff_tochar,aff_toobj, aff_toroom,aff_toarea 2. Добавлена функция mobcast. Действие функции аналогично mob cast из OLC Синтаксис: mobcast("строка заклинания и цель",ch) ch - исполнитель
Результат:
Функция сделана именно для кастов, по функции order мобы не кастуют. -------------------- Кодерус Аладонус
|
||||
Калевала |
Отправлено: Sep 14 2012, 16:12
|
||||
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
К нашему Алуа прикручен модуль Pluto. Модуль предназначен для сериализации данных в алуа и последующей загрузки данных из файлов. Для работы с модулем не требуется его загружать в скриптах и прогсах. То есть конструкция require "pluto" не нужна (да и не работает). Вместо этого реализованы три функции для работы с Плуто. 1. pluto_save. Синтаксис: pluto_save(filename,object). Функция сохраняет полностью object в файл с именем filename 2. pluto_load. Синтаксис: object=pluto_load(filename). Функция загружает из filename все в object. 3. pluto_delete. Синтаксис: pluto_delete(filename). Функция удаляет файл с указанным именем. Файлы хранятся в специальной директории. Не сттоит задавать слишком большие имена файлов (максимум 255 символов хотя нафиг такие нужны.) Сервер будет ругаться и писать ошибки. Использовать слэши так же не получится. В файлы сохраняются любые объекты Алуа: переменные, таблицы, функции, потоки, но соблюдается один принцип - один объект в один файл. Ну естественно никто немешает набить таблицу потоками и функциями и сохранить эту таблицу с последующим восстановлением. Простой пример использования:
Результат:
В примере переменной присваивается значение "Проверка1" и выводим на экран. Затем сохраняем переменную в файл kalevala_data.dat После этого меняем значение на "Сохранили" выводим на экран. После чего загружаем данные из файла в переменную и опять выводим на экран. После чего файл удаляем за ненадобностью. -------------------- Кодерус Аладонус
|
||||
Калевала |
Отправлено: Nov 14 2012, 13:41
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлен для работы новый объект КЛАНЫ.
Так же добавлены две функции для работы с кланами и объект кланов и фукнции доступны только в скриптах, но не в прогсах: get_clanlist() - возвращает первый объект клана в списке кланов get_clan(name или id клана) - возвращает первый объект клана в списке кланов Поля доступные для объекта КЛАН: id - (get) номер клана title - (get set) титул клана name - (get ) имя клана master - (get) имя клан мастера desc - (get set) описание клана date_create - (get) дата создания depot - (get) первый объект в списке на складе клана дальше получать через next_content reput - (set get) репутация клана rating - (set get) рейтинг клана recall - (set get) если у клана есть своя комната рекола то она будет тут. cnext - (get) следующий по списку объект клана -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Dec 12 2012, 16:20
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлена функция can_see_obj(obj,ch) в Луа
видит ли ch предмет obj в случае если да возвращает true в противном false -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Dec 18 2012, 16:16
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлены функции:
know_skill - Узнать знает ли умение персонаж и на сколько процентов. Два варианта использования. Синтаксис: know_skill(number,ch) - первым параметром номер умения, вторым объект игрока know_skill(str,ch) - первым параметром имя умения, вторым объект игрока get_variable - функция для связи Алуа скриптового и Алуа прогсов. Поскольку это две разные виртуальные машины Луа пространство имен в них не пересекается и функция призвана служить каналом передачи переменных, таблиц, строк если необходимо. Синтаксис: local varname=get_variable("имя переменной"). В varname будет возвращена перменная с именем "имя переменной" из другой виртуальной машины Луа. Если вы вызвали это функцию из прогсов, то получите переменную из пространства скриптов и наоборот. ВНИМАНИЕ! если вы передаете таблицу и таблица имеет подтаблицы то они не передаются. Реализовать это пока не удалось. -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Dec 21 2012, 16:07
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Отлажена наконец-то работа функций set_bit remove_bit is_set
Использование примеры: Проверка битов: if(tobj.item_type==CONST.ITEM_WEAPON and is_set(tobj.value4,CONST.WEAPON_TWO_HANDS)) then echo("У "..vic.rod.." двуручное оружие - "..tobj.im,ch.room) if(is_set(tobj.value4,CONST.WEAPON_FLAMING)) then echo("Оружие с флагом флэйминг - "..tobj.im,ch.room) end end Установка бита: tobj.value4=set_bit(tobj.value4,CONST.WEAPON_TWO_HANDS) Удаление бита: tobj.value4=remove_bit(tobj.value4,CONST.WEAPON_TWO_HANDS) Добавлены следующие константы для флагов оружия: WEAPON_FLAMING WEAPON_FROST WEAPON_VAMPIRIC WEAPON_SHARP WEAPON_VORPAL WEAPON_TWO_HANDS WEAPON_SHOCKING WEAPON_POISON WEAPON_HOLY -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Jan 29 2013, 14:53
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлена функция damage - наносит дамаг от ch на vic
Синтаксис функции: damage(ch,vic,dam,dt,dam_type,show) ch - объект игрока/моба кто наносит дамаг vic - объкт игрока/моба кто получает дамаг dam - величина дамага dt - номер умения каким наносится дамаг (например как будто выпадом если поставить номер выпада) можно просто оставить 0 dam_type - тип наносимого дамага например укол или негатив. Можно оставить 0 show - или 0 не будет видно сообщения или 1 будет видно сообщение. Функция вызывает системную функцию damage - отсюда вытекает что эта функция не снимает автоматически указанное количестьво в dam количество жизни. В функции идет куча проверок на резисты, иммуны и прочая и прочая, то есть то что проверяется когда вы просто начинаете бой или деретесь в бою. ------------------------------------------------------------------------------------------------- Добавлены следующие флаги-константы для поля структуры эффектов where TO_AFFECTS TO_OBJECT TO_IMMUNE TO_RESIST TO_VULN TO_WEAPON TO_DETECTS TO_PLAYER -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Mar 21 2013, 13:26
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Непосредственно в Аладоне реализовано.
Функции l_setrec(ch,var,varvalue) - устанавливает (или переустанавливает переменную на персонажа) l_getrec(ch,var) - возвращает занчение переменной на персонаже по ее имени. Возвращает nil если персонажа нет в таблица переменных или если переменная с таким именем неопределена l_delrec(ch,var) - удаляет указанную переменную с персонажа. Возвращает nil, если нет такого персонажа в таблице переменных или если переменная неопределена. Где - ch объект игрока, var имя переменной (например: "test"), varvalue - значение переменной (например: "012345") И имя переменной и ее значение задаются в скриптах непосредственно как строки. -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Mar 29 2013, 10:56
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлена функции : look
Синтаксис: look(ch,arg) - где ch объект игрока моба, arg аргумент - что смотрим Примеры: look(ch,"") - игрок осмотрит текущую комнату look(ch,"раук") - игрок попытается посмотреть на моба Раук если он есть в комнате look(ch,"в пояс") - игрок попытается посмотреть в пояс если он у него есть. -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: May 23 2013, 10:54
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлена луашная функция для повышения процентов умения луашных
функция l_check_improve(ch,vic,sn,res,multi,val,name) Где: ch - тот у кого пытаемся повысить умение vic - если в бою или еще как то это цель. Если нет то просто ставим на место vic - ch sn - номер луашного умения res - откуда вызов, если при провале умения то ставим false, если при удачном применении то ставим true multi - модификатор сложности изучения, чем выше тем выше шанс что сработает. Ставится обычно в пределах от 1 до 7,8 val - насколько будет повышено или понижено при удаче либо положительно, либо отрицательно name - имя умения которое проверяем отличие от increase_skill в проверках, рэндоме и прочем. Функция схоже с аналогичной в коде. В случае удачного срабатывания возвращает 1 В случае неудачного срабатываания возвращает 0 В случае неожиданного прерывания возвращает 2 -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: May 24 2013, 14:43
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Функция: l_get_char_room(ch,arg)
Ищет в комнате где находится ch моба или персонажа указанного в arg. Поиск идет по количеству букв указанных в arg. То есть ищутся и сравниваются буквы в имени указанные в arg с 1 буквы имени итд. Если поиск успешный возвращается объект персонажа/моба. Так же можно задавать номер искомого объекта в комнате, то есть если у нас допустим в комнате 5 мобов то можно задавать arg равным 4.<name mob> Пример: Доупустим в комнате 4 командора и нам нужен второй из них l_get_char_room(ch,"2.ком") -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Nov 6 2014, 18:01
|
||||
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
добавлена функция для получения таблиц данных get_globaltables(const) Параметр запрашиваемое имя таблицы. Берется из констант. Таблиц пока две - материалы и жидкости. Константы соответственно: CONST.TABLES_MATERIALS, CONST.TABLES_LIQUIDS Пример:
Вывод:
У каждой таблицы свое количество поле. Посмотреть как в примере можно по key2 -------------------- Кодерус Аладонус
|
||||
Калевала |
Отправлено: Nov 10 2014, 17:42
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Для работы с кастомными эффектами на объектах добавлены поля
c1_aff,c1_prog ................... c5_aff,c5_prog c1_aff - установка номера эффекта из кастомной таблицы внутри пространства имен олц (не скриптов) c1_prog - установка номера обрабатывающего прогса. Поля можно как устанавливать так и получать. -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Feb 4 2015, 13:00
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Добавлены следующие функции:
send_tochar(string,ch) - функция отправляет сообщение персонажу указанному в аргументе. Сообщение посылается даже спящему. Функция не отрабатывается триггерами и прочим. Просто сообщение. string.lower2(string),string.upper2(string) - функции переводят аргумент в верхний или нижний регистр. За функции спасибо Фазеусу. -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Feb 19 2016, 09:38
|
Хозяин Хелльстада Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 |
Кхм, забыл вписать.
Поле morph объекта ch будет возвращать оригинальный объект игрока или моба, если он находится под морфизацией, если нет, то будет возвращен nil. На уровне кода установлен запрет на перемещение игрока средствами lua или mobprogs из комнаты известной как "Хранилище душ". :blink: :D -------------------- Кодерус Аладонус
|
Страницы: (2) [1] 2 |