Перейти к содержанию

Дайджесты за январь-февраль

Обновления гайдов и аддонов

Январь Февраль

Мониторинг серверов и редактор аддонов

Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.

Мониторинг серверов Редактор аддонов

Подсказки из игры на вашем сайте

Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.

Подробнее

Апдейтер аддонов

Представляем вам программу для автообновления аддонов и делимся подробностями.

Подробнее Скачать

Инструкция для разработчика аддонов


Рекомендуемые сообщения

Аддоноведение. Вступление.

Собственно, вот текст базового FAQ, как мне видится (R.).

Q: Что такое аддон?

A: Аддоны - это такие штуки, которые призваны добавлять в интерфейс Аллодов Онлайн дополнительные возможности, и тем самым делать игру доступнее и интереснее. Собственно, Аддон - это единица расширения интерфейса Аллодов Онлайн. Благодаря открытому API создание аддонов доступно всем желающим.

Q: Что необходимо знать, чтоб начать делать аддоны?

A: Для успешной работы над аддонами необходимо:

  • Обладать пониманием языков разметки вообще, и XML в частности;
  • Обладать пониманием основ программирования;
  • Иметь представление о том, что такое event-driven programming; (http://en.wikipedia....ven_programming)
  • Быть знакомым со скриптовым языком Lua вообще, и его версии 5.0.3 в частности (http://www.lua.org/);
  • Понимать, что такое и зачем бывает нужен Application Programming Interface (API);
  • Ознакомиться с документацией по Lua API Аллодов; (c:\Allods\data\Mods\Docs\ModdingDocuments.zip)
  • Понимать, что такое и как работает текстовая кодировка;
  • Знать основы цифровой графики, как она устроена, и как с ней работать;
  • Понимать основы интерфейсного дизайна.

* Вместо c:\Allods\, понятное дело, подразумевается место установки клиентской программы Аллодов Онлайн "в компьютере". Для простоты далее это тоже будет C:\Allods\.

Q: Что нужно иметь под рукой, чтобы делать аддоны?

A: Из программ для начала разработки аддона вполне достаточно установить любой текстовый редактор, имеющий расширенные возможности для работы с программным кодом. Используется для редактирования скриптов и ресурсов. Популярным решением является Notepad++ (www.notepadplusplus.org). Он невелик, бесплатен, имеет достаточно богатые возможности для работы с кодом, и располагает широким набором плагинов. Из плагинов стоит установить NPPExec для проверки и исполнения скриптов, и XMLTools для проверки синтаксиса XML.

Также стоит разжиться приличным графическим редактором, чтобы иметь возможность рисовать и редактировать текстуры для своего аддона. Идеальным решением справедливо считается Adobe Photoshop, но он к сожалению стоит много денег. Из бесплатных заменителей подойдет GIMP или Paint.NET.

Для изучения языка Lua крайне желательно заиметь бинарные файлы компилятора и интерпретатора Lua (http://sourceforge.n....3/Executables/). Это даст возможность писать, проверять и исполнять маленькие скриптовые программки для быстрых тестов возможностей и особенностей языка. Компилятор пригодится для проверки скриптов на наличие синтаксических ошибок.

Из внешней документации в первую очередь следует непрерывно курить http://www.lua.org/m...5.0/manual.html (инструкция к Lua) и http://www.lua.org/pil/ (учебник по Lua). И то и то написано создателем Lua, в них есть ответы на все вопросы, читайте внимательно. На русском языке есть http://www.lua.ru/doc/ (перевод инструкции к 5.1). К сожалению по-русски читается хуже.

Q: Так что такое аддон все-таки?

A: Технически, аддон - это вполне определенная куча файлов, помещенная в данные клиента Аллодов Онлайн. Все эти файлы содержат ссылки друг на друга, и тем самым все вместе объединены в древовидную структуру с одним файлом в качестве корня. Кучу файлов делает аддоном этот конкретный файл, и его имя всегда AddonDesc.(UIAddon).xdb. Это корневой описатель всякого аддона, и содержит в себе все ссылки на скрипты и основные ссылки на прочие файлы из кучи. Всякая папка с файлами, содержащая файл с именем AddonDesc.(UIAddon).xdb, и помещенная по адресу c:\Allods\data\Mods\Addons\ будет трактоваться запущенной игрой как аддон, и игра честно попытается его загрузить и подготовить к работе. Если сей процесс пройдет успешно, в игре станет доступен предоставляемый аддоном дополнительный интерфейс.

Q: А как же аддоны работают?

A: Аддоны начинают работать только при непосредственном входе в игру выбранным персонажем. В какой-то момент, пока на экране нам показывают экран с прогрессом загрузки уровня, стартует процесс инициализации аддонов. Прежде всего из файлов читается все дерево ресурсов, начиная с AddonDesc.(UIAddon).xdb и далее по ссылкам, и по мере чтения преобразуется в соответствующее ему дерево разнообразных объектов в памяти игры. Затем происходит чтение и выполнение скриптов аддона, подряд по списку ссылок, каждый скрипт исполняется как отдельный chunk. На иницииализации скрипты подготавливают аддон к работе, в частности на инициализации скрипты объявляют и регистрируют в игре функции-обработчики игровых событий. То есть скрипты объясняют игре, какие скриптовые действия и в ответ на какие события следует предпринимать. После инициализации всех скриптов аддон готов к работе, и начинается инициализация следующего аддона. Вся дальнейшая активность аддона заключается в периодических вызовах игрой зарегистрированных обработчиков событий в моменты, когда эти события происходят.

Q: А подробнее про файлы?

A: Файлы, составляющие аддон, бывают следующих видов:

  • Файлы ресурсов аддона (*.xdb). Это текстовые файлы в формате XML, представленные в кодировке UTF-8 w/o BOM. Они описывают всевозможные логические элементы, кирпичи, из которых строится интерфейс аддона. Файлы *.xdb делятся на виджеты, группы подгружаемых (related) ресурсов, описатели текстур, текстурные слои и корень AddonDesc.(UIAddon).xdb.
  • Файлы скриптов (*.lua), текстовые файлы, содержащие Lua-скрипты аддона, в кодировке ANSI. Эти скрипты полностью управляют поведением аддона в игре.
  • - Файлы текстур (*.bin), упакованные в оригинальный бинарный формат Аллодов Онлайн растровые текстуры. Это кусочки графики, картинки, из которых складывается видимая часть интерфейса. Всегда идут в комплекте с ресурсами-описателями.
  • - Файлы с текстами (*.txt), текстовые файлы, содержащие локализуемые текстовые данные, в кодировке UCS-2 Little Endian (UTF-16). Эти файлы теоретически позволяют хранить и предоставлять аддону тексты на любом национальном языке мира.

Q: Что такое тогда <имя аддона>.pak?

A: Разработчики Аллодов Онлайн предоставили возможность запаковывать любые файлы аддона в zip-архив с расширением .pak. Внутри архива структура папок должна повторять исходную с корнем в папке \data. То есть, при открытии архива внутри будут находиться \Mods\Addons\<папка аддона>\<файлы аддона>. Всякий файл с расширением .pak, будучи помещенным в папку c:\Allods\data\Mods\Addons\, будет трактован игрой как упаковка с аддоном, и на запуске игры будет предпринята попытка его чтения.

Ссылка на комментарий
Поделиться на другие сайты

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...

Важная информация

Пользуясь сайтом, вы принимаете Условия использования