Обменник через скиллы
Описание
Постоянно вижу одни и теже вопросы: "Как сделать скилы из адену в колы" ну и т.д. Давайте узнаем как, что, зачем и почему.
И так начнем. Попробуем вместе сделать скил который делает из 2ккк адены, 1 коин. Чтобы сделать скилл, придется капать как сервер так и клиент. Начнем с серверной части. Для начала сделаем скилл, (сразу предупреждаю, если у скилов 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. смотрим его структуру и разбираемся с ней, описывать смысла нету. И делаем запрос в базу:
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 выбираем эффект который хотим видеть... например я возьму эффект берса. Юзаем поиск по слову берс копируем строчку, вставляем в самый низ и будем править.
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 ищем эффект скила, который хоти: у меня это berserk 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. только поставьте свой ид, больше трогать ничего ненадо. Вот и всё, заходим в игру и радуемся =)
Рекомендуемые комментарии
Комментариев нет