Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
[Гайд] Скиллы от А до Я и от A до Z
#1
Итак, здравствуйте уважаемые форумчане, админы серверов Aion и те, кто просто фанится над эмулятором.
Сегодня мы с вами будем разбирать скиллы и все что с ними связано, гайд будет сделан на основе сборки X-Emu 287 ревизии.

P.s. скорее всего гайд будет писать не один день, потому как не думаю, что за сегодня осилю весь гайд..

Ну что ж, все пристегнулись? Тогда с богом, перекрестились, и поехали грызть гранит науки.


0. Введение

Весь обзор будет состоять из нескольких частей, так как вся система скиллов состоит из нескольких частей, а именно:
  1. Клиент
  2. Сервер (Датапак)
  3. Сервер (Ядро)

Приступим, и начнем пожалуй с клиента.


1. Клиент


Инструментарий:
  • Распаковщик .pak файлов, лично я использую AionExtract, т.к. помимо распаковки он еще и декриптует имеющиеся там .xml файлы(найти его можно тут)
  • Любой текстовый редактор(лично я использую Notepad ++, найти его можно тут)
  • Приветствуется наличие пытливого ума и прямых рук, желательно растущих из плеч (но это дело наживное, так что немного тепрения и желания и руки скорее всего сами выпрямятся Wink)

Сперва нам надо добраться до цели наших исследований, то есть файлика в котором описаны все скиллы в клиенте. Он запечатан в .pak архив что лежит в папке data, полностью путь до файла выглядит так:
путь до клиента\data\skills\skills.pak. После того как мы его нашли, надо его распаковать. Запускаем AionExtract и указываем нужные нам пути(надеюсь сами разберетесь что к чему, там интерфейс понятный даже детям..).
После распаковки перед нами будет папка с тучей файлов .dds и 5-ю файлами .xml (советую отсортировать по типу, иначе вы месяц будете искать нужный файл). Нам нужен файлик client_skills.xml. Открываем его текстовым редактором и видим перед собой самую обычную XML структуру, её то мы и будем разбирать.
Берем самый первый скилл:
Код:
<skill_base_client>
    <id>1</id>
    <name>P_EQUIP_EnhancedSword_G1</name>
    <desc>STR_SKILL_P_EQUIP_EnhancedSword_G1</desc>
    <desc_long>STR_SKILL_P_EQUIP_EnhancedSword_G1_DESC</desc_long>
    <type>Physical</type>
    <sub_type>None</sub_type>
    <skill_category>SKILLCTG_NONE</skill_category>
    <ultra_skill>0</ultra_skill>
    <ultra_transfer>0</ultra_transfer>
    <skillicon_name>CBT_P_EQUIP_EnhancedSword_G1.dds</skillicon_name>
    <delay_id>1</delay_id>
    <activation_attribute>Passive</activation_attribute>
    <target_slot>NoShow</target_slot>
    <first_target>Me</first_target>
    <target_marker_radius>0</target_marker_radius>
    <effect1_type>Wpn_Mastery</effect1_type>
    <effect1_effectid>101</effect1_effectid>
    <effect1_basiclv>1</effect1_basiclv>
    <effect1_reserved1>0</effect1_reserved1>
    <effect1_reserved2>16</effect1_reserved2>
    <effect1_reserved3>0</effect1_reserved3>
    <effect1_reserved4>0</effect1_reserved4>
    <effect1_reserved5>1h_sword</effect1_reserved5>
    <effect3_hop_a>0</effect3_hop_a>
    <effect3_hop_b>0</effect3_hop_b>
    <effect4_hop_a>0</effect4_hop_a>
    <effect4_hop_b>0</effect4_hop_b>
  </skill_base_client>
Итак, что же означают все эти теги:
  • <id> - Id скилла который используется на сервере.
  • <name> - Имя скилла, используется толко в клиенте.
  • <desc> - Краткое описание скилла, хранится в client_strings.xml
  • <desc_long> - Полное описание скилла, кранится так же в client_strings.xml
  • <type> - Тип скилла, может быть, определяет какого типа атака будет, магического или физического.
  • <sub_type>
  • <skill_category> - Категория в которой находится скилл, большинство скиллов имеют SKILLCTG_NONE, в серверной части не применятеся, скорее всего корейцы сделали этот атрибут для удобства сортировки при редактировании скиллов.
  • <ultra_skill>
  • <ultra_transfer>
  • <skillicon_name> - Путь до иконки скилла, должна лежать в той же папке что и client_skills.xml
  • <delay_id> - скорее всего определяет анимацию отката скилла или что-то в этом роде, в любом случае, на сервере этот параметр не применяется.
  • <activation_attribute> - Опеределяет каким будет скилл, пассивным или активным.
  • <target_slot> - Ячейка в которой будет отображаться эффект скилла, если это бафф или дебафф.
  • <first_target> - Цель на которую должен применяться скилл, т.е. на себя, на противника, на союзника и т.д.
  • <target_marker_radius> - Так же непонятно за что отвечает параметр, у болшинства скиллов это значение равно нулю...
  • <effect1_type> - Отвечает за тип эффекта который будет накладываться
  • <effect1_effectid> - Айди эффекта накладываемого на цель, отвечает за то, какая иконка пойвится в списке баффов\дебаффов и за отображаемое описание эффекта.
  • <effect1_basiclv> - Уровень накладываемого эффекта
  • <effect1_reserved5> - Отвечает за то, на что именно будет накладываться эффект, в данном случае указано что будет накладываться на меч находящийся в руке номер 1(правая)

И это только то, что находится в первом скилле, на самом деле этих параметров многократ больше(за раз их не подготовить, посему по мере готовности описания буду редактировать этот пост и добавлять ниже).
  • <target_range> - количество целей на которые действует скилл, ест например массовые скиллы с ограничением кол-ва целей которым наносится урон.
  • <target_species_restriction> - распределение по расовой принадлежности, то есть может быть что скилл можно применить только по мобу с расой "нага" или только элийцам или только по асмам и т.д.
  • <target_relation_restriction> - на кого по отношению можно применять скилл, то есть если цель - союзник можно применить, а на всех остальных нельзя, или если цель - противник можно применить, а на всех остальных нельзя и т.д.
  • <cancel_rate> - шанс отмены каста скилла
  • <casting_delay> - задержка каста после "нажатия" на скилл
  • <show_weapon> - отображение оружия во время каста 1-да 0-нет
  • <required_sword>, <required_mace>, <required_dagger>, <required_orb>, <required_book>, <required_2hsword>, <required_polearm>, <required_staff>, <required_bow> - требуемое для каста оружие если 0, то с этим оружием каст не будет проводиться, если 1, то будет
  • <cost_parameter> - Стата, которая будет израсходована после каста
  • <cost_end> - в количестве указанном в этом параметре
  • <move_casting> - возможность движения во время каста 1 -да, 0 -нет
  • <auto_attack> - будет ли автоатака после использования скилла

С первой частью пока все, завтра будет часть 2. Сервер (датапак)
To be continued
Bloomers --> ??? --> Profit
Ответ
#2
Цитата:<target_marker_radius> - Так же непонятно за что отвечает параметр, у болшинства скиллов это значение равно нулю...
Это скорее всего радиус действия у массовых скилов
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  [Гайд] GMShop 2.1 Zombie 24 14,523 03-29-2012, 10:53 PM
Последний пост: Anabolik
  Установка 2 гс под 1 лс (Гайд) undertrey 29 15,319 03-15-2012, 09:00 PM
Последний пост: TAG
  [Гайд] Делаем изменяемыми все виды оружия и брони xobotyi 24 22,574 02-01-2012, 01:33 AM
Последний пост: Nehrk
  Xml Скиллы Emu X Sanders 2 2,828 05-13-2011, 07:09 PM
Последний пост: Thieff
  [Гайд] Изменение инвентаря на старте wamper 8 3,955 03-10-2011, 10:44 PM
Последний пост: Thieff
  [Гайд] Написание квестов: от и до. ViAl 17 14,426 12-24-2010, 02:31 PM
Последний пост: aspalt
  [Гайд]Создаём апдейтер DoLoD 12 11,733 01-13-2010, 05:05 AM
Последний пост: GoodShadow

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)