L2-scripts Форум

L2-scripts Форум (http://l2-scripts.ru/forum/index.php)
-   Полезные статьи (http://l2-scripts.ru/forum/forumdisplay.php?f=15)
-   -   как делать скилы, пример: обменник кол (http://l2-scripts.ru/forum/showthread.php?t=75)

Александр 04.10.2009 21:00

как делать скилы, пример: обменник кол
 
Постоянно вижу одни и теже вопросы: "Как сделать скилы из адену в колы" ну и т.д. Давайте узнаем как, что, зачем и почему,
И так начнем. Попробуем вместе сделать скил который делает из 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. только поставьте свой ид, больше трогать ничего ненадо. Вот и всё, заходим в игру и радуемся
Удачи в разработке скилов))


Часовой пояс GMT +4, время: 21:41.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot