![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Давно хотел написать об инструментах, которые мы используем в разработке Axistown 2. В некоторой степени это промежуточный итог того, чем я занимался в NWN последние несколько лет.
1. NWNX2 Штука, бесценная для любого шарда. С помощью NWNX можно сделать практически всё. Вот список основных плагинов:
Пожалуй, самый главный из них - ODBC, потому что без внешней базы данных невозможно было бы сделать половины вкусностей, о которых я расскажу позже. Кроме перечисленных, мы используем и специфичные:
2. Сборщик хакпака Когда количество единичных хакпаков, из которых собирается общий шардовый хакпак, достигло сотни - возникла необходимость автоматизировать сборку и сделать её более гибкой, чтобы было удобнее изменять содержимое. Информация о каждом хаке занесена в базу: ![]() А все файлы, соответственно, распределены по папкам: ![]() Внутри файлы тоже разложены по категориям для удобства: ![]() Папка 501_master содержит 2da, itp и set файлы, общие для всех. Перед сборкой запускается проверка всех ресурсов на повторения и на превышение ресурсов в файлах (лимит по ресурсам на каждый .hak-файл - 16384). Наконец, все эти файлы из папок компилируются в набор .hak-файлов: один с шаблонами для палитры, остальные - в соответствии с тем, как всё распределено в БД. (IMG:http://img682.imageshack.us/img682/1516/hakcompiler.th.jpg) |
![]()
Сообщение
#2
|
|
Level 2 ![]() Класс: Клерик Характер: Lawful Neutral Раса: Человек ![]() |
Еще бы NWNx 4 все это умел... *Завидует*
Сообщение отредактировал Melshin - Dec 16 2009, 07:49 |
![]()
Сообщение
#3
|
|
Level 5 ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Good Раса: Человек ![]() |
Предпочтение все же в пользу линукса почему то)
|
![]()
Сообщение
#4
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Спроектировал архитектуру системы Axistown Persistency System. Это система, которая дает каждому объекту в модуле (кроме статик плейсов) уникальный идентификатор и возможность сохранять объект и держать на нем переменные в БД. После рестарта все объекты инициализируются информацией из БД, соответственно.
Это дает возможность сохранять изменения, произошедшие с объектами: содержимое магазинов, сундуков, убитые НПС, предметы на земле и лутбэги, которые не пропадают с рестартом и т.д. Единственный минус такой глобальной системы - то, что при полном сохранении объекты уже загружаются из БД, а не из модуля, и традиционное обновление модуля сработает не всегда. Но я думаю это решить автоматической перепаковкой модуля последними объектами из БД. |
![]()
Сообщение
#5
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Не все вспоминают о том, что в кастомную палитру можно добавлять свои разделы, а зря. Это может сильно упростить жизнь мапперам, ДМам и разработчикам.
Прикрепленные файлы
![]() ![]() ![]() |
![]()
Сообщение
#6
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
Привет) Приятно видеть старую гвардию еще при деле)))
Virusman, над чем ныне трудишься? |
![]()
Сообщение
#7
|
|
Level 6 ![]() ![]() Класс: Маг Характер: Lawful Evil Раса: Нежить ![]() |
Цитата Не все вспоминают о том, что в кастомную палитру можно добавлять свои разделы, а зря. Это может сильно упростить жизнь мапперам, ДМам и разработчикам. И в самом деле полезная штука, я как-то увидел в модулях оригинала такое, тоже захотел, но не смог сделать. Наверное, надо бы добавить в FAQ по тулсету ссылку на гайд по этой теме. Сообщение отредактировал Talarasha - Dec 12 2011, 23:06 |
![]() ![]() |
Текстовая версия | Сейчас: 25th April 2025 - 19:52 |