Итак, начнем. Попробуем вместе сделать скил, который делает из 2ккк адены 1 кол. Чтобы сделать скил, придется капать как сервер так и клиент. Начнем с серверной части.
Для начала сделаем скилл, (сразу предупреждаю, если у скилов ID>9000, то скилы будут глючить) советую делать скилы с ID 3600-3699, там в конце половина пустая... Идем в /data/stats/skills/3600-3699.xml там крутим в самый низ, у меня последний скил id = 3633. --> создаем скил с id = 3634.
Давайте разберемся что тут:
Со структурой скила мы разабрались. Теперь давайте сделаем авто изучение скила. Идем в MySQL (PhpMyAdmin) ищем столбик skill_trees. смотрим его структуру и разбираемся с ней, описывать смысла нету. Делаем запрос в базу:
Для начала сделаем скилл, (сразу предупреждаю, если у скилов ID>9000, то скилы будут глючить) советую делать скилы с ID 3600-3699, там в конце половина пустая... Идем в /data/stats/skills/3600-3699.xml там крутим в самый низ, у меня последний скил id = 3633. --> создаем скил с id = 3634.
<skill id="3634" levels="1" name="Adena - Coin">
<set name="mpConsume" val="50"/>
<set name="target" val="TARGET_SELF"/>
<set name="hitTime" val="1000"/>
<set name="skillType" val="CREATE_ITEM"/>
<set name="operateType" val="OP_ACTIVE"/>
<set name="castRange" val="-1"/>
<set name="effectRange" val="-1"/>
<set name="itemConsumeId" val="57"/>
<set name="itemConsumeCount" val="2000000000"/>
<set name="create_item_id" val="4037"/>
<set name="create_item_count" val="1"/>
<set name="random_count" val="1"/>
</skill>
Давайте разберемся что тут:
<skill id="3634" levels="1" name="Adena"> - тут пишется ID и название скила (название скила обязательно запомните).
<set name="mpConsume" val="50"/> - потребляемое MP
<set name="itemConsumeId" val="57"/> - это ID предмета, который будет использоваться для получения другого предмета, у нас это 57 - адена
<set name="itemConsumeCount" val="2000000000"/> - это количество забираемого предмета, у нас 2ккк
<set name="create_item_id" val="4037"/> - предмет, который будет вам давать. у нас это 4037 - коин.
<set name="create_item_count" val="1"/> -- это количество даваемого предмета, у нас - 1.
Со структурой скила мы разабрались. Теперь давайте сделаем авто изучение скила. Идем в MySQL (PhpMyAdmin) ищем столбик skill_trees. смотрим его структуру и разбираемся с ней, описывать смысла нету. Делаем запрос в базу:
PHP код:
<?php
INSERT INTO `skill_trees` VALUES ('0', '3634', '1', 'Adena - Coin', '0', '1'),
INSERT INTO `skill_trees` VALUES ('10', '3634', '1', 'Coin', '0', '1'),
INSERT INTO `skill_trees` VALUES ('18', '3634', '1', 'Adena - Coin', '0', '1'),
INSERT INTO `skill_trees` VALUES ('25', '3634', '1', 'Adena - Coin', '0', '1'),
INSERT INTO `skill_trees` VALUES ('31', '3634', '1', 'Adena - Coin', '0', '1'),
INSERT INTO `skill_trees` VALUES ('38', '3634', '1', 'Adena - Coin', '0', '1'),
INSERT INTO `skill_trees` VALUES ('44', '3634', '1', 'Adena - Coin', '0', '1'),
INSERT INTO `skill_trees` VALUES ('49', '3634', '1', 'Adena - Coin', '0', '1'),
INSERT INTO `skill_trees` VALUES ('53', '3634', '1', 'Adena - Coin', '0', '1');
Думаю сами разберетесь, что тут и где. С серверной частью, вроде, разобрались. Идем в клиент...
Берем в руки FileEdit (l2Dat_Endec) и открываем файл skillname-e.dat и в конце добавляем такую строчку:
Код:
3634 1 Adena - Coin Создает Coin. Требуется 2ккк Aden. none none
P.S. моя строка может не подойти... возьмите 1 любую строку и поправьте под себя. Тут я думаю тоже всё понятно... теперь самое сложное... открываем skillgrp.dat выбираем эффект который хотим видеть... например я возьму эффект берса. Юзаем поиск по слову bers копируем строчку, вставляем в самый низ и будем править.
Цитата:3634 1 0 2 50 1 2.000000 0 i skill.bl.1062 icon.icon.etc_adena_i00 0 0 0 0 -1 11
тут надо только эффект скила: skill.bl.1062 и иконку: icon.icon.etc_adena_i00
P.S. как сделать свою иконку. качаем программу L2ViewUTX. Идем в клиент, папка systextures, файл icon.utx и там ищем, чтобы поставить свою иконку прописываете так: icon.name_icon, где icon - это icon.utx и name_icon - название иконки.
Сохраняем это всё. теперь осталось сделать звук нашей анимации) идем в skillsoundgrp.dat ищем эффект скила, который хотим: у меня это berserker spirit... копируем строчку и в самый низ вставляем:
Код:
3634 1 SkillSound3.battle_roar_cast SkillSound3.berserker_spirit_shot 250.000000 40.000000 250.000000 80.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 chrsound.m_hfighter_sub chrsound.f_hfighter_sub chrsound.m_darkelf_sub chrsound.f_darkelf_sub chrsound.m_dwarf_type_c chrsound.f_dwarf_type_c chrsound.m_elf_sub chrsound.f_elf_sub chrsound.m_hmagician_sub chrsound.f_hmagician_sub chrsound.m_orc_fighter_type_c chrsound.f_orc_fighter_type_c chrsound.m_orc_magician_type_c chrsound.f_orc_magician_type_c chrsound.m_hfighter_throw chrsound.f_hfighter_throw chrsound.m_darkelf_throw chrsound.f_darkelf_throw chrsound.m_dwarf_throw chrsound.f_dwarf_throw chrsound.m_elf_throw chrsound.f_elf_throw chrsound.m_hmagician_throw chrsound.f_hmagician_throw chrsound.m_orc_fighter_throw chrsound.f_orc_fighter_throw chrsound.m_orc_magician_throw chrsound.f_orc_magician_throw 250.000000 50.000000
P.S. только поставьте свой ид, больше трогать ничего ненадо. Вот и всё, заходим в игру и радуемся. =)
Автор не извесен