| Меню сайта |
|
|
 |
|
 |
|
 |
|
Релиз 0.122 (6 июня 2008)
Долгожданный релиз, большое количество изменений. Собран под 3 операционные системы : Windows, Linux, FreeBSD.
torch_win_0_122.zip - Windows torch_linux_0_122.tar.gz - Linux torch_fbsd_0_122.tar.gz - FreeBSD
Для запуска на Linux и FreeBSD нужно сделать следующее :
1. Распаковать архив командой tar zxpf <имя архива> 2. Войти в каталог torch (cd torch) и задать флаг 'x' исполняемому файлу командой chmod +x torch 3. Запуск осуществляется командой ./torch (допустимо использовать знак '&' для запуска движка в фоновом режиме)
Список исправлений :
[>] arg() теперь вновь может принимать значения от 1. 0 значение недопустимо. В обычных обработчиках arg(1) вернет саму команду (первый аргумент строки, как таковых команд нет). Именно для этого и была попытка ввести значение 0 - получение команды в обработчиках. В игре же arg(1) вернет первый аргумент команды (команда опущена). Возможность получить саму команду нет, т.к. в этом нет смысла (команда уже определена, т.к. уже выполняется ее скрипт, а количество возможных вариантов написания этой команды велико). [>] Исправлена ошибка, которая приводила к подвисанию и падению сервера. Падение происходило, если клиент был настроен на отправку только одной IAC (Single IAC). [+] Изменена механика работы групп. Теперь есть группы типов - member и owner. Каждый моб, объект или персонаж (далее актив) может быть членом группы, при этом он сам может владеть группами. Каждый актив может быть членом только одной группы owner (владелец) или ни одной. Если он не член группы owner, то в этом случае он находится в какой-либо комнате, т.е. комната выступает в качестве владельца. Если актив помещается в другую группу owner, то он убирается из предыдущей группы owner или из комнаты. Количество же групп member, куда может входить актив неограниченно. Группа owner - предназначена для механизмов типа склада, инвентаря, экипировки, когда группа является владельцем актива. Группа member - для механизмов типа клана, группы чармисов, группы самих игроков, когда группа является ссылкой на актив, а актив является только членом этой группы. Подробнее о группах смотрите в справке (topic6_6, topic8_7). [>] Изменились методы скритов по работе с типами сущностей. Из моба (mob), объекта (object) и прототипа (prototype) убраны методы определения типа - IsObject, IsMob (topic8_4, topic8_5). Эти методы теперь стали глобальными, т.е. используются как самостоятельные функции - isMob(parameter), isObject(parameter), где в качестве параметра выступает проверяемая сущность. Также добавлены методы isMobPrototype, isObjectPrototype, isRoom, isArray, isString (topic8). [+] Изменен формат стейтов, в частности для типов switch и group. Изменения коснулись тега name, который хранит строку имя стейта. Теперь для switch есть возможность задать name для каждого из значений (в плюс к общему имени стейта). Для группы только изменилось положение строки имени в хмл - она переехала из поля [TEXT] в атрибут name (topic6_1). [+] К изменению формата имен стейтов (предыдущий пункт), изменился механизм динамического описания, касаемо '(', ')', которые отвечают как раз за работу с именами стейтов. Теперь их можно использовать для работы с окончаниями названий (те же падежи, например). О новом механизме их работы можно прочитать в справке (topic7). [+] Добавлен вывод статус-бара по пустой строке команд(enter) и вывод выходов в статус-баре. [+] Луа-функция вызова метода у персонажей, мобов или акторов (actor|mob|object:RunMethod) теперь умеет принимать параметры и возвращать значение-результат своей работы в вызывающий скрипт - (topic8_2, topic8_4). Для работы в методах с параметрами созданы 2 луа-функции - params, param (topic8). [+] Добавлены: world:FindActor() - (topic8_6), actor:FindGroupActor, actor:FindGroupObject, actor:FindGroupMob, actor:SendError() - (topic8_2), object:FindGroupActor, object:FindGroupObject, object:FindGroupMob, mob:FindGroupActor, mob:FindGroupObject, mob:FindGroupMob - (topic8_4). [+] Добавлены : strstr - поиск строки в заданном списке строк (topic8), casefrom - содержимое строки ввода с заданного индекса (topic8). [>] Изменен алгоритм работы: actor:SendRoomEx() - (topic8_2), room:Add() - (topic8_3). [>] Переименован Lua-метод operand. Теперь его имя - get_active (topic8). [+] Добавлены или расширены игровые команды : 'взять', 'положить', 'бросить', 'открыть', 'закрыть', 'осмотреть', 'одеть', 'снять', 'экипировка'. Замечание: Команды 'одеть', 'снять', 'взять', 'положить', 'бросить' пока что не понимают параметр 'все'. [+] Добавлен контейнер - это сундук в одной из комнат. Он умеет открываться/закрываться. В него можно что-то ложить или брать из него - используются группы и методы, игровые команды - 'взять', 'положить', 'открыть', 'закрыть', 'осмотреть'. [+] В мир добавлен механизм экипировки, игровые команды - 'одеть', 'снять'. Для реализации экипировки используется механизм групп eq_*, wea_*, методы. [+] Добавлена демо экипировка (для новичка) - меч, шлем, плащ, доспех. Их можно одевать и снимать. [>] В мире уже есть следующие команды для работы с банком (с предыдущих билдов движка) : 'вложить', 'погасить', 'кредит', 'получить'. [+] Реализован механизм удаления активных объектов из мира. Подключен скрипт ondelete для прототипов активных объектов. Выполняется при удалении (разрушении) активных объектов из мира. Решена проблема с "подвисшими" мобами и объектами (находятся не в комнате и не в какой-либо группе), т.е. нет местоположения в мире. [+] В группах сделана проверка цикличности активов по их группам, т.е. что один актив не входит по цепочке в другой актив. [+] В демо зоны добавлены порталы (для создания рабочего варианта используются хуки, а также теги '(', ')' динамического описания в описании (команда смотреть). Примечание: телепорты пока не работают. [>] Обновлена и дополнена справка, согласно сделанным изменения в движке. Добавлена таблица цветов (topic7). [>] Подправлен и расширен скриптовый движок. [>] Исправлен недочет в системе форматирования выводимого текста - (макрос $ динамических скриптов). [>] Изменены 'оформление' и функционал уже существовавших игровых команд. [+] Расширена игровая команда типа 'sub' - подкоманда. Используется в справке в маде. [+] В демо-мире добавлена отсутствовшая справка для игровых команд. [+] В генерацию новых персонажей добавлен механизм получения имен в различных падежах.
Релиз 0.121
Очередной релиз. Собран под 3 операционные системы : Windows, Linux, FreeBSD.
torch_win_0_121.zip - Windows torch_linux_0_121.tar.gz - Linux torch_fbsd_0_121.tar.gz - FreeBSD
Для запуска на Linux и FreeBSD нужно сделать следующее :
1. Распаковать архив командой tar zxpf <имя архива> 2. Войти в каталог torch (cd torch) и задать флаг 'x' исполняемому файлу командой chmod +x torch 3. Запуск осуществляется командой ./torch (допустимо использовать знак '&' для запуска движка в фоновом режиме)
Список исправлений :
[+] Добавлена поддержка кодировки UTF8. [+] В систему группировки по прототипу добавлен механизм сравнения 2 сущностей от одного прототипа на равенство по заданному списку стейтов. Используется при группировке одинаковых сущеностей (вывод количества в [] скобках). Список стейтов, которые используются для сравнения задаются в файле прототипа, тег equal (topic6_2). При изменении стейта из числа equal, происходит перегруппировка этого объекта. [+] У прототипа теперь есть скрипт 'oncreate'. Он запускается при создании нового экземпляра сущности (topic6_2). Скрипт 'ondelete' пока что не запускается (нет механизма разрушения сущности). [.] Метод params переименован в args, метод param переименован в arg (для большой наглядности) (topic8). [+] Lua-метод param(), теперь уже arg(), теперь может принимать 0 в качестве параметра. В этом случае возвращается строка команды (topic8). [+] Доработаны Lua-функции room:FindMob,FindObject,FindActor. Теперь они, при использовании индекса(числа) для поиска объекта, моба или персонажа в формате 1.xxx, продолжают поиск по всем сущностям в комнате. Ранее было так: Если лежат в комнате 2 черных + 1 белое яблоко, то поиск по строке 3.я не возвращал белое (3-е) яблоко. Сейчас это исправлено. [.] Различные мелкие исправления в демо-зонах.
Релиз 0.120
Очередной релиз torch_0_120.zip
В связи с большим количеством недочетов, не вся запланированная функциональность была реализована (она перенесена на следующие релизы).
[+] Исправлены найденные ошибки в справке. Для объекта account в справке описаны пропущенные методы : SetRoom, GetRoom, AddGroup, GetGroup. Метод Jump убран, т.к. его функционал выполняет метод SetRoom. [+] Добавлен метод param(index), который возвращает параметр команды по индексу(topic8). [+] В скриптах реализованы массивы (topic8). Поэтому actorslist упразнен. Он заменен массивом [actor]. [+] Методы room:FindObject, room:FindMob теперь принимают на входе строку, по которой надо производить поиск (topic8_3). Аналогично изменены одноименные методы для группы (topic8_7). [+] Теперь распознаются номера(индексы) при обращении к мобам или объектам (если мобов или объектов несколько). Т.е. воспринимаются обращения вида 1.xxx 2.xxx и т.д. [+] Сделана группировка мобов и объектов по прототипу. Это мобы или объекты, которые произошли от одного и того же прототипа. Они отображаются в комнатах с счетчиком количества в квадратных скобках. Например : Зеленое яблоко [2]. [+] В справку добавлена пропущенная информация относительно скриптов динамического описания - круглых скобок - () (topic7). Исправлена ошибка в работе скриптов динамического описания - () - круглых скобок. [+] Мобам и объектам в Lua-скриптах добавлена возможность присваивать значения стейтам на прямую, т.е. mob.state = value. [+] Добавлен Lua-функция actor room:FindActor. Поиск идет по строке(стейтам), описанных в обязательной переменной мира 'ActorsIdentifyString' мира (topic6). Поиск персонажей, мобов и объектов в комнате (room:FindObject, FindMob, FindActor) сделаны регистронезависимыми. [+] Добавлена Lua-функция dice (topic8) - бросок кубиков по правилу xDy. [+] Для персонажей сделаны методы. Методы загружаются из файла, на который указывает переменная 'ActorsMethodsFile' (topic6). [.] В справку вписаны все пропущенные функции (они реализованы, но не отражены были в справке). [.] Исправлена ошибка в механизме форматирования вывода по колонкам (topic7, оператор $). [.] Сделаны кое какие расширения команд, а также их корректировки согласно сделанным изменениям. [+] Расширена система настройки палитры цветов выбором отдельных готовых палитр
Релиз 0.119
Новый, долгожданный релиз: torch_0_119.zip
Задержка была большая из-за отпуска, болезни, да и объема работы. Итак :
[.] Исправлен механизм включения MCCP. Теперь сервер пытается сначала включить только MCCP2. Если это сделать не получилось, то делается попытка включить MCCP1. Раньше отправлялся запрос на включение MCCP2 и MCCP1 одновременно, при этом ожидался ответ по двум протоколам одновременно, что могло приводить к зависанию подключения. [.] Убрана ненужная переменная ObjectStateToFile, т.к. путь к файлу будет определять идентификатор, а переменная ActorStateToFile переименована в CharStateToFile (для лучшего понимания), т.к. приставка Actor подразумевает и персонажа и моба. [.] Исправлена ошибка в подкомандах (команды типа sub, используется справкой), которая приводила к крешам. [+] Написан первый вариант справки к ядру. Справка теперь входит в дистрибьютив ядра. [+] Реализован механизм дампа содержимого мира. Этот механизм позволяет сохранять текущие данные игры, по мере их изменения. Он предназначен для минимизации отката игры, в случае падения/поломки сервера. Дамп мира сохраняется в файле dump в каталоге мира. При нормальной остановке сервера, этот файл удаляется, т.к. при остановке мир сохраняется в формате хмл. В случае падения сервера он остается и загружается при следующем старте сервера. Этот механизм сделан для достижения максимальной производительности сервера, при необходимости минимизации отката. В дамп сохраняются пока только персонажи. [+] Реализован механизм сохранения данных мира, при остановке сервера. В этом случае все игровые данные, местоположение мобов, объектов и прочее сохраняется в отдельных файлах. При запуске сервера эти данные загружаются для восстановления состояния мира на момент остановки сервера. [.] Сделана небольшая реорганизация расположения файлов в каталоге мира. Добавлено несколько обязательных переменных в настройках мира. [+] Комнатам добавлены статсы. Теперь есть возможность в комнатах создавать дополнительные возможности. Статсы комнаты описываются в соответствующем файле. По умолчанию это states/rooms_states.xml [+] Теперь сохраняется местоположение игрока при выходе из игры. Местоположение сохраняется только по спец. команде луа. До ее выполнения ядро помнит последнюю комнату входа в игру. [+] Созданы группы в своем базовом варианте, который позволяет делать простые группы в игре - инвентарь, экипировку и др. Созданы начальные варианты реализаций инвентаря и экипировки. [+] Добавлены новые луа команды - необходимые для работы новых возможностей ядра. Справка обновлена соответствующим образом. [+] Дореализованы точки респауна. Теперь они полностью работают согласно справке (запускается и начальный скрипт и переодический скрипт). [.] Игровой мир наполнен небольшим количеством новых объектов и мобов. [.] Добавлены некоторые новые игровые команды. [.] Сделан первый вариант банка. [.] Исправлены все найденые недочеты и ошибки в коде, произведена оптимизация сети.
|
|
 |
|
 | |
| Вид сайта |
|
|
 |

| Фраза |
| Утром он был как огурчик: такой же зелёный и прыщавый.
|
|
| 
|