Какой файл за что отвечает lineage 2
Описание: Редактирование XML поможет Вам в изменении "статов" скилов, брони, разного вида оружия и прочего.
Так-же она пригодиться тем, кто занимается созданием магазинов и их редактированием.
Для начала напишем небольшой пример XML кода + комментарии к нему. ( Данные строчки можете использовать при редактировании своих xml файлов. )
1. Введение
Что такое XML?
Этот формат, предназначенный для хранения структурированных данных, для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями. Первая строка XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), также здесь может быть указана кодировка символов и внешние зависимости.
Спецификация требует, чтобы процессоры XML обязательно поддерживали Юникод-кодировки UTF-8 и UTF-16. Но признаются допустимыми, поддерживаются и широко используются и другие кодировки. Так же в XML есть возможность добавления комментария. Комментарий может быть размещен в любом месте дерева. XML комментарии размещаются внутри пары тегов <!-- и -->. Два знака дефис (--) не могут быть применены ни в какой части внутр. комментария. Вот пример комментария:
Не будем углубляться во все особенности XML, нас интересует только часть, которая касается Lineage 2.
XML в сервере Lineage применяется для описания статов оружия, брони, скилов, аргументов, зон, магазинов, зон рестарта чаров и много другого. Для оружия это например параметры физ. и маг. атаки, для брони - защиты, для скилов - продолжительность действия, сила, эффект и т.д. А например в файле "servername.xml" хранятся имена серверов по умолчанию. Эти имена когут быть легко изменены. Но помимо изменений на серверной части необходимы и изменения со стороны клиента (со стороны клиента необходимо изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут с помощью специальных программ. В XML файлах зон хранятся параметры этих зон. Есть и XML файлы где к определенному предмету приписывается определенный скил(например ошейнику волка привязывается скилы вызова волка).
Что нужно знать как основу для редактирования?
1) XML файлы по умолчанию хранятся в папках gameserverdata и открываются любым текстовым редактором что работыет с UTF кодировками.
2) Имена *.xml файлов даются по диапазону id статов, Например в файле с именем 0800-0899.xml будут статы от до Для быстродействия желательно (но не обязательно) в одном файле хранить не больше ста id. Надо сказать что в названиях могут быть исключения, файлы могут называться и без указания диапазона id которые в нем хранятся. Такое характерно для аргументов и зон и файла с итемами петов.
3) При использовании текста рекомендовано (но не обезательно) использовать латинские символы.
4) Параметр ID должен быть в диапазоне от 1 до 2ккк
3. Редактирование статов и скилов.
В папке stats можно найти несколько папок которые отвечают за параметры брони, оружия, аргументов, скилов и некоторых других предметов (например банок для востоновления хп/цп/мп или свитков с бафовами).
Формат записи одного стата следующий:
Все изменения в стате должны находится между тегами
Теперь рассмотрим главные операции со статами.
- добавление статов. Стат увеличится на указаную величину.
- умножение статов. То есть если вы оденете вещь или используете скил, ваши статы умножатся. Например если
- вычетание. То есть если вы оденете вещь(или заюзатете скил), ваши статы (или статы цели) уменьшатся.
- увеличение/снижение при заточке. Роказывает, на сколько увеличится/уменшится стат при заточке еще на +1
- задание строгого значения. То есть если вы оденете вещь со значением 20, то тот стат, но который это значение влияет будет равен 20. Со скилами также.
Главными параметрами этих операций являются:
val="" - значение
order="" - приоритет в формуле (подробно о приоритетах писать в этой статье не буду, это отдельная и сложна тема)
stat="" - что собственно изменять
Значения order могут быть следущие:
0x08 - set
0x10 - add/sub (оружие, броня, бижутерия) и (STR, CON, DEX, INT, WIT ,MEN)
0x20 - не используется (опционально)
0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)
0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))
0x50,0x60 - не используется (опционально)
0x0C - enchant
Списки статов доступных для изминения:
Этот список в разных сборках разный, но в большинстве случаев принято использовать следующие названия.
Изменение максимального количества HP - maxHp
Изменение максимального количества CP - maxCp
Изменение максимального количества MP - maxMp
Регенерация НР - regHp
Регенерация СР - regCp
Регенерация МР - regMp
Эффективность хила - gainHp
Умение хила - giveHp
Бонус хила - bonusHp
Физическая защита - pDef
Магическая защита - mDef
Физическая атака - pAtk
Магическая атака - mAtk
Скорость физической атаки - pAtkSpd
Скорость магической атаки - mAtkSpd
Скорость отката - mReuse
Защита щитом- sDef
Угол защиты щитом - shieldDefAngle
Критический удар - cAtk
Прибавка к критическому удару - cAtkAdd
Физ. урон в пвп (например для Duel Might) - pvpPhysDmg
Маг. урон - pvpMagicalDmg
Урон скилом - pvpPhysSkillsDmg
Уворот - rEvas
Уворот от скилов- pSkillEvas
Шанс блокировки щитом - rShld
Шанс крита - rCrit
Шанс Blow - blowRate
Шанс Lethal - lethalRate
Маг. крит. шанс - mCritRate (mCrit doesn't work!!)
EXP,SP шанс - rExp
Cancel - cancel
Точность - accCombat
Зона покрытия физ. атаки - pAtkRange (for fighters)
Зона покрытия маг. атаки- mAtkRange (for mages)
Угол атаки (только для воинов) - pAtkAngle
Количество атакуемых - atkCountMax
Откат физ. скилов - atkReuse
Скорость бега - runSpd
Скорость ходьбы - walkSpd
STR - STR
DEX - DEX
WIT - WIT
INT - INT
MEN - MEN
Агрессия - aggressionVuln
Кровотечение - bleedVuln
Яд - poisonVuln
Стан - stunVuln
Парализация - paralyzeVuln
Удерживающие заклинания - rootVuln
Сон - sleepVuln
"Перекидывание" таргета - confusionVuln
Движение - movementVuln
Огонь - fireVuln
Ветер - windVuln
Вода - waterVuln
Земля - earthVuln
Святые атаки - holyVuln
Темные атаки - darkVuln
Резист к cancel - cancelVuln
Дебаффы - debuffVuln
Резист к криту - critVuln
Резисты против оружия (тут думаю описание не нужно)
Процент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)
Процент рассеиваемого урона - absorbDam
Процент переносимого урона- transDam
Отражение маг. скилов - reflectSkillMagic
Отражение физ. скилов - reflectSkillPhysic
Другое (для примера):
Атака на гигантов - pAtk-giants
Защита на нежить - pDef-undead
Атака на животных - pAtk-animals
Защита на монстрах - pDef-monsters
Лимит инвентаря - inventoryLimit
Лимит ВХ - whLimit
Freight лимит - FreightLimit
Лимит продажи. - PrivateSellLimit
Лимит покупки - PrivateBuyLimit
Лимит гномьего крафта - DwarfRecipeLimit
Лимит common крафта - CommonRecipeLimit
Потребление МР физ. скилами - PhysicalMpConsumeRate
Потребление МР маг. скилами - MagicalMpConsumeRate
Потребление МР дансами - DanceMpConsumeRate
Потребление НР - HpConsumeRate
Потребление МР - MpConsume
Потребление соулшотов - soulShotCount
Skill Мastery - skillMastery
Время пребывания под водой - breath
Дополнения для редактирования статов скилов
Важно знать что любой скилл начинается с открывающего тега и заканчивается закрывающим тегом. В скилах есть 3 обязательных тега, без которых он не будет работать - это target, skilltype и operatetype.
1. target - тег, который показывает на кого будет браться таргет, что видно из названия. Принимает следующие значения:
TARGET_SELF - обозначает, что скилл будет использоватся исключительно на его владельца (селф бафф типа Battle Roar или War Cry)
TARGET_NONE - цель неопределена
TARGET_ONE - обозначает, что цель вашего скилла - тот кто в таргете.
TARGET_AREA - обозначает, что скилл будет массовым
TARGET_AGGREMENT - обозначает, что целью будет тот, кто вас атакует
2. skilltype - тег, указывающий на тип скилла (бафф, дебафф)
Принимает следующие значения:
BUFF - бафф (оказывает положительное воздействие)
DEBUFF - дебафф (оказывает негативное воздействие)
3. operatetype - этот тег служит для определения типа скилла (активный либо пассивный)
OP_ACTIVE - активный скилл, может быть использован игроком
OP_PASSIVE - пассивный скилл, скилл с таким operateType не может быть использован (действует всегда)
Это были обязательные переменные, используемые в скилах. Теперь перейдем к остальным:
-power - сила скилла
-hitTime - скорость. Для баффа это скорость чтения заклинания, для физ. скилла - скорость атаки
-reuseDelay - откат скилла
-hpconsume , mpconsume - потребление МР, НР
-castRange - это дальность использования того или иного скилла (дистанция)
-isMagic, isDebuff, isBuff - это наводящие теги, могут иметь значение "true" и "false". К примеру, isBuff = true (это значит что скилл является баффом)
-effectRange - радиус действия (для массовых скиллов)
-agro - что такое агр, и что такое сила агра думаю объяснять не нужно.
Надо сказать что в зависимости от сборки могут использоваться и другие теги, но так как этот мануал общий для всех сборок их приводить не будем.
Тег effect в скиллах Lineage 2 встречается очень часто. Обычно тег используется для "добавления сложных действий" к скиллу. Если скилл имеет сложный вариант реализации то обычно в тег добавляют некоторые отдельные значения, которые реализованы в ядре сервера Lineage. Это самый важный тег для использования в скилах. Приведем пример использования тега :
Что это значит?
name - это тип эффекта
val - значение эффекта. Для дебаффов - шанс прохождения, для боевых скилов - сила.
time - время действия эффекта
StackOrder и stackType - это значения уже описаные в данном скиле и заданы в ядре сервера и в разных сборках могут называться по разному (или даже отсутствовать).
Довольно важным в игровом мире есть понятие зон. Например в городах мирные зоны в которых запрещены атаки других игроков (и иногда нпц). Или зоны арен где не насчитывается пвп/пк счетчик. Зоны, также как и статы/скилы принято задавать в xml файлах.
Рассмотрим структуру описания зоны:
Параметры что используются при создании заны:
id - идентификатор зоны.
type - тип зоны (town, arena, jailzone, Boss). Например: Town - мирная зона (город), Arena - боевая зона (PVP). Также могут быть другие типы зон которые описаны в ядре сервера.
shape type - это форма или вид зоны. Может быть двух типов: Poly(многоугольные зоны) и Rect(прямоугольные зоны). В разных сборках названия типов могут отличатся (напрмиер nPoly и Cupoid). Также в некоторых сборках может использоваться и тип Circle (круг), для задания этого типа указываются координаты центра и радиус.
minZ - это минимально допустимая координата высоты (z) в данной зоне .
maxZ - это максимально допустимая координата высоты (z) в зоне.
minZ и maxZ используются для избежания прохождения через текстуры, провалов под них и т.д.
name - зоне можно задать любое имя, но только из допустимых символов, используется для удобства работы с большим количеством зон
point - задает координаты границ зоны.
settings - дополнительные параметры зоны. В большинстве случаев не используются, хотя и делают игру чуть интересней. Подробное описание тега settings приводить не буду из за того что в разных сборках довольно большие различия при его использовании. В приведенном примере описания зоны в теге settings указано что после смерти игрок может покинуть зону и что в зоне на всех чаров что находятся без пати накладывается баф applyEnter указанного уровня и при выходе с зоны убирается. Повторюсь еще раз, в разных сборках это реализация этого тега происходит по разному.
Так же внутри тегов можно использовать описание точек "респавна" чара в них. При указании нескольких точек "респавна" чар будет появляться в них рандомно.
В линейдж есть особенный тип магазинов под названием multisell, изначально он был задуман для обмена вещей на вещи (впервые использоваться у рыбаков). В наше время этот магазин широко используется в на пвп серверах для создания ГМ шопов, хотя этом круг его использования не ограничивается.
Названия XML файлов для магазинов такие как ID этих магазинов (но тут также есть небольшие исключения, есть магазины где название и id разные). Формат данных в магазине следующий:
item id - номер предмета в ячейка магазина, используется для задания порядка отображения предметов в магазине. Обратите внимание что этот номер НЕ должен повтояться и для каждого предмета должен быть уникален в рамках одного магазина.
production - предмет который покупается в магазине. в этом теге указывается id предмета и его количество.
ingredient - предмет за который можно купить production в магазине. в этом теге указывается id предмета и его количество. В большинстве случаев используют адену, древнюю адену или колы, но предметом для покупки может быть любая вещь.
Надо знать что в одном теге item может быть несколько тегов ingredient, это будет значить что при покупку production вам надо будет несколько указанных предметов. Напримиер при покупке заточек у мамона надо иметь древнюю адену и чистые скролы. Использование нескольких production также возможно, но крайне не рекомендовано создателями сборок.
Также можно указывать дополнительные параметры покупки, например часто используется параметр enchant, который позволит покупать уже заточенную вещь. Например
- будет куплен драк лук +10. Еще довольно интересно: при задании параметра enchant у ошейников для вызова питомцев питомец будет уже прокачан до указанного в параметре enchant уровня. Кроме enchant можно использовать и параметры для камней стихий и т.п.
6. Заключение
В заключении хотелось бы первым делом извинится перед людьми, чьи материалы были использованы при написании этой статьи, за не указание их ников. Материалов было много и просто запутался с какого ресурса какой был взят.
Также следует сказать что в сборках серверов XML файлы используются очень широко не только в описанных выше случаях. Например dimensionalRift.xml описывает параметры рифта, а recipes.xml параметры изучения и использования рецептов, также есть summon_items.xml в котором хранятся параметры ошейников для петов. Круг использования XML довольно широк и в рамках этой статьи описан не полностью.
Существует много споров на тему стоит ли использовать xml или же все таки стоит в полную использовать базы данных. Это связано с тем что размер XML-документа существенно больше бинарного представления тех же параметров в базе данных, что влияет на большую потребность в ресурсах и увеличении времени обработки информации. Хотя не смотря на это полностью отказывается от XML разработчики серверов не собираются в связи с универсальностью этого формата.
Если ссылка на файл уже не работает нажмите на кнопку Нужно Авторизоватся и напишите в окне для жалобы "битая ссылка".
После этого файл будет перезалит в течении суток.
Создаем Апдейтер для сервера L2
3. В папке Сервер лежит то что будет у Вас отображаться в окне апдейтера - веб для апдейтера, и сам Билдер Апдейтов!
Поэтому всю папку WebNews кладем в корень сайта, ну или куда нибудь где эта папка будет доступна из интернета, а Билдер куда угодно, он будет просто создавать список файлов для апдейта клиента и запаковывать сами файлы.
4. Далее в папке Client лежит сам Автоапдейтер, который мы размещаем в корневой папке клиента Lineage. Апдейтер состоит из 2-х файлов exe и updater.ini. Чтобы наш Апдейтер коннектился к нужному серверу изменяем в нем следующее:
5. Создаем патч.
Открываем Билдер - upBuilder.exe и указываем там папку в которой находятся те файлы которые входят в патч вашего сервера и нажимаем кнопку Build.
Важно!В папке с файлами который упаковываем должны быть еще и файлы Автоапдейтера (2 файла из пункта 4!)
Далее когда Билдер все упакует он вам сообщит об этом, закрываем и видем что рядом с Билдером появилась папка Upload содержимое которой надо разместить в папке из пункта 4 для которой мы указывали второй путь!
6. Теперь пробуем запустить Апдейтер из папки Lineage и проверяем что бы у нас:
а) отображалась страничка апдейтера а не писало что страница не найдена
б) при нажатии на кнопку Проверка в апдейтере пошло автоматическое обновление клиента!
Вот пожалуй и все, Если что пишите на каком пункте и что не получается!
Мог что то упустить.
Если ссылка на файл уже не работает нажмите на кнопку Нужно Авторизоватся и напишите в окне для жалобы "битая ссылка".
После этого файл будет перезалит в течении суток.
Описание файлов из папки system клиента Lineage 2
Информация из клиента игры Lineage 2 хранится в папке system. Многие файлы закодированы, и в них хранятся названия, описание предметов, умений, квестов, настройки. Открыть их можно с помощью программы File Editor.
actionname-ru.dat
Названия+Описания действий + имя текстуры для отображения (Alt+C)
armorgrp.dat
Внешний вид Брони + отображение оконки в сумке и т.д.
britemgrp.dat
какие-то циферки, пока не знаю зачем они
castlename-ru.dat
названия замков и описание принадлежности территорий замков
charcreategrp.dat
какие-то циферки, пока не знаю зачем они
chargrp.dat
Текстуры персонажа (Крылья, прически, одежда и пр.)
classinfo-ru.dat
Описание расс при создании персонажа
commandname-ru.dat
Список команд. Например: /loc, /delay, /block и т.д.
creditgrp-ru.dat
Какие Текст (l2text) и текстуры отображать при нажатии кнопки [Создатели], на окне ввода логин\пароля
entereventgrp.dat
Озвучка и анимация событий
etcitemgrp.dat
Внешний вид вещей и отображение оконки в сумке и т.д.
eula-ru.dat
Пользовательское соглшение (при входе на сервер)
hairaccessorylocgrp.dat
Прически и все остальное что можно одеть на голову персонажу
hennagrp-ru.dat
Названия и описания татуировок
huntingzone-ru.dat
Координаты и названия зон
instantzonedata-ru.dat
ID и названия зон инстанса (камалоки и пр.)
itemname-ru.dat
Названия + Описания вещей
ItemPrime.dat
Вещи из "Магазин'а" используется на РуОффе, если играете на фри сервере без магазина, то можно удалять
logongrp.dat
Какие-то координаты, похоже это координаты положения персонажей при выборе (когда входите в игру)
musicinfo.dat
Какой файл из папки music воспроизвести в определенной зоне
npcgrp.dat
Отображение полоски HP, иконок скилов в "таргет окошке" (при выделении)
npcname-ru.dat
Названия мобов и NPC, текст титула и цвет
optiondata_client-ru.dat
Аугментация (добавляется к описаниям вещей)
productname-ru.dat
ID, названия и имя текстуры для отображения в сумке вещей из "магазина"
questname-ru.dat
Названия и описания квестов (Alt+U)
raiddata-ru.dat
ID, координаты и описания Рейд-Боссов
recipe-c.dat
Рецепты, список ID вещей и ID вещей необходимых для крафта
ridedata.dat
Какие-то циферки.
sceneplayerdata.dat
Какие-то циферки.
servername-ru.dat
Список и названия серверов
shortcutalias.dat
Похоже на описания кнопок клавиатуры
skillgrp.dat
ID и названия текстур скилов
skillname-ru.dat
Названия и описания скилов
skillsoundgrp.dat
ID скила + лвл + какой звук вопроизводить
symbolname-ru.dat
Похоже на отображение каких-то иконок, Адена и иконки грейда вещей
sysstring-ru.dat
Строчки из интерфейса игры
transformdata.dat
Анимации трансформаций
variationeffectgrp-ru.dat
Похоже на Анимации атрибутов
vehiclepartsgrp.dat
ID, названия текстур и звуков машин
weapongrp.dat
Внешний вид Оружия + отображение оконки в сумке и т.д.
zonename-ru.dat
Названия зон, их координаты и название текстуры для отображения карты (Alt+M)
Если ссылка на файл уже не работает нажмите на кнопку Нужно Авторизоватся и напишите в окне для жалобы "битая ссылка".
После этого файл будет перезалит в течении суток.
Описание файлов клиента
Int файлы:
bighead.int - настройка и описание классов
env.int - свечение заточенного оружия
Ini файлы:
chatfilter.ini - тут хранятся настройки наших окошек чата (общий, торговый, клановый, пати и алли). Лично я советую, чтоб клановый, алли и пати чат обязательно отображался на всех окошках, а то можно пропустить что-то важное
l2.ini - содержит основные настройки клиента. И лишь малая часть из них может быть изменена непосредственно через опции клиента
Localization.ini - локация шрифт и текст
option.ini - Все те параметры, которые мы задаем в настройках игры, хранятся здесь. Если игра запускается, но разрешение экрана не то, что нужно (все необходимые менюшки-окошки за границей видимости и нельзя даже произвести сброс параметров по-умолчанию) - удалить файл Option.ini перед запуском игры.
user.ini - содержит информацию о сервере и настройках клиента. В файле реализованы: оконный режим без рамки, увеличина дистанция отображения ников
Dll файлы:
binkw32.dll - поддержка видео bink-энкода
nwindow.dll - UI клиента
Utx файлы:
help-r.utx - отвечает за встроенную базу знаний в игру
elp-r.utx - Интерактивный помощник. Замена англоязычной версии меню Справка.
L2Font-e.utx - Текстуры основные игры, экран загрузки, карты.
L2UI_CH3.utx - фаил отвечающий за вид оформления игрового меню
fdarkelf.utx - Текстуры женских моделей Тёмных эльфов
fdwarf.utx - Текстуры женских моделей Гномов
felf.utx - Текстуры женских моделей Светлых эльфов
FFighter.utx - Текстуры женских моделей Людей бойцов
FMagic.utx - Текстуры женских моделей Людей магов
FOrc.utx - Текстуры женских моделей Орков бойцов
FShaman.utx - Текстуры женских моделей Орков шаманов
fkamael.utx - Текстуры женских моделей Камаель
mdarkelf.utx - Текстуры мужских моделей Тёмных эльфов
mdwarf.utx - Текстуры мужских моделей Гномов
melf.utx - Текстуры мужских моделей Светлых эльфов
MFighter.utx - Текстуры мужских моделей Людей бойцов
MMagic.utx - Текстуры мужских моделей Людей магов
MOrc.utx - Текстуры мужских моделей Орков бойцов
MShaman.utx - Текстуры мужских моделей Орков шаманов
mkamael.utx - Текстуры мужских моделей Камаель
Gly файлы:
largefont-e.gly, LargeFont-r.gly, LargeFont.gly, smallfont-e.gly, SmallFont-r.gly, smallfont.gly
Это все нужно для поддержки шрифтов.
Папки:
L2Text - папка в которой полная русификация хелпа+некоторые квесты на русском.
GameGuard - Каталог (ГГ), с набором фиалов, для защиты клиента от хакеров и чичеров,
Animations - содержит текстуру все классов а так же эффектов действий
Music - все мелодии игры
Sounds - музыка и звуки в игре: движений, нажатий, действий и т.д.
StaticMeshes - текстура всех материалов (одежда, оружие, города) Вообщем то что мы видим 3D объекты
SysTextures - текстура : карт, кнопок, иконок, меню. 2D
System - главная папка. все настройки по отображение, движение, визуализации игры
Voice - озвучивание действий при начале игре. (например: для создание чара. )
Читайте также: