Как работать с питомцами

Формат: XML
Местонахождение: data/stats/pets/
Файл: pet_data.xml
Схема: pet_data.dtd

Возьмем для примера Wolf пета и разберем его поля:
XML:
<pet id="12077" max_lvl="81"> <!-- Wolf -->
        <set name="control_item_id" value="2375"/>
        <set name="food_item_id" value="2515"/>
        <set name="is_wolf" value="true" />
        <set name="min_level" value="1"/>
        <set name="exp" value="0 636 798 1236 2158 3836 6598 10836 16998 25596 37198 52436 71998 96636 127158 164436 209398 263036 326398 400596 486798 586236 700198 830036 977158 1143036 1329198 1537236 1768798 2025596 2309398 2622036 2965398 3341436 3752158 4199636 4685998 5213436 5784198 6400596 7064998 7779836 8547598 9370836 10252158 11194236 12199798 13271636 14412598 15625596 17557599 19606656 21777399 24074556 26502939 29922294 33529819 37332294 41336619 45549814 52193622 59172334 66497022 74178934 82229502 93470612 105234462 117537012 130394462 143823252 157840062 176117249 198983024 226778887 259859867 298594764 352320714 412836202 480562077 555934039 639402879"/>
        <set name="hp" value="31 37 45 53 63 73 85 98 113 128 146 157 169 182 195 208 223 238 254 270 287 305 324 343 364 385 406 429 453 477 502 528 554 582 610 639 669 700 731 763 796 830 864 899 935 971 1008 1045 1084 1122 1161 1201 1240 1281 1321 1362 1403 1444 1485 1527 1568 1609 1651 1692 1732 1773 1813 1853 1892 1931 1969 2006 2043 2079 2114 2148 2182 2214 2245 2275 2304"/>
        <set name="hp_regen" value="2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9"/>
        <set name="mp" value="25 30 34 39 44 49 54 59 64 69 74 79 84 90 95 100 106 111 117 122 131 139 148 157 165 174 183 192 201 210 220 229 238 248 257 267 276 286 296 306 323 339 356 373 390 408 425 443 460 478 496 514 532 551 569 588 606 625 644 663 682 702 721 741 760 780 800 820 840 861 881 902 923 944 964 986 1007 1028 1050 1071 1073"/>
        <set name="mp_regen" value="1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4"/>
        <set name="p_atk" value="2 2 2 2 3 3 3 4 4 4 5 5 6 6 11 12 12 13 14 15 15 16 17 19 20 21 22 24 25 27 28 30 32 34 36 38 40 43 45 48 50 53 56 59 62 66 69 72 76 80 84 88 92 96 101 105 110 114 119 124 129 134 139 144 149 154 160 165 170 176 181 186 192 197 202 207 212 217 222 227 228"/>
        <set name="p_def" value="11 11 11 12 12 13 13 14 14 15 16 16 17 17 27 28 28 29 30 30 31 32 32 33 34 35 36 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 66 67 68 69 70 72 73 74 75 76 78 79 80 81 82 84 85 86 87 88 89 91 92 93 94 95"/>
        <set name="m_atk" value="1 1 1 1 2 2 2 2 3 3 3 3 4 4 5 5 5 6 6 7 8 8 9 10 11 11 12 13 14 15 16 18 19 20 22 23 25 26 28 30 31 33 35 37 40 42 44 47 49 52 54 57 60 63 66 69 72 75 78 82 85 88 92 95 99 103 106 110 113 117 121 124 128 132 135 139 142 146 149 152 153"/>
        <set name="m_def" value="8 8 8 9 9 9 10 10 10 11 11 12 12 13 13 13 14 14 15 15 16 16 17 18 18 19 19 20 21 21 22 22 23 24 25 25 26 27 27 28 29 30 30 31 32 33 34 34 35 36 37 38 39 40 40 41 42 43 44 45 46 47 47 48 49 50 51 52 53 54 55 55 56 57 58 59 60 60 61 62 63"/>
        <set name="accuracy" value="38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118"/>
        <set name="evasion" value="33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113"/>
        <set name="critical" value="40"/>
        <set name="speed" value="137"/>
        <set name="atk_speed" value="282"/>
        <set name="cast_speed" value="333"/>
        <set name="feed_max" value="248 244 320 400 512 624 704 808 872 948 1160 1168 1160 1160 1160 1148 1140 1132 1124 1116 1480 1512 1468 1552 1572 1604 1616 1644 1664 1684 2116 2172 2236 2288 2348 2408 2464 2520 2580 2636 3168 3236 3308 3380 3452 3524 3592 3668 3740 3596 4244 4364 4484 4600 4532 4672 4804 4932 5060 4928 5716 5892 6064 6228 6176 6368 6556 6740 6924 7108 7388 7688 7956 8196 8428 8704 8916 9124 9340 9552 9552"/>
        <set name="feed_normal" value="2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 6 6 5 7 7 7 7 7 7 8 8 8 8 9 9 10 10 10 10 10 11 11 11 12 12 13 13 14 14 14 15 15 15 15"/>
        <set name="feed_battle" value="2 2 2 3 4 5 5 6 7 7 9 9 9 9 9 9 9 9 9 9 12 12 12 12 13 13 13 13 13 14 17 18 18 19 19 20 20 21 21 21 26 26 27 28 28 29 29 30 31 29 35 36 37 38 37 38 40 41 42 41 47 49 50 51 51 53 54 56 57 59 61 64 66 68 70 72 74 76 77 79 79"/>
        <set name="max_load" value="0"/>
        <set name="add_feed" value="12"/>
        <set name="exp_penalty" value="0.30"/>
        <set name="soulshots" value="2"/>
        <set name="spiritshots" value="2"/>
    </pet>
Заголовок:
<pet id="12077" max_lvl="81"> <!-- Wolf -->
id - ID конкретного питомца который будет призываться
max_lvl - максимальный уровень который может получить питомец. 81 - это 80 уровень и 100% экспы.
Тело:
control_item_id - предмет помощью которого будет призываться питомец
food_item_id - предмет которым будет потреблять в виде еды для данного питомца
is_wolf - к какому типу принадлежит питомец. Набор всех типов: is_baby_pet, is_wolf, is_great_wolf, is_hatchling,is_improved_baby_pet, is_strider, is_wyvern, is_improved_baby_buffalo, is_improved_baby_cougar, is_improved_baby_kookaburra
min_level - минимальный уровень питомца которого он может достичь. По умолчанию минимальный уровень питомца берется из data/npc
exp - таблица опыта для получения следующего уровня питомца
hp - таблица здоровья по уровню питомца
hp_regen - таблица регенерации здоровья по уровню питомца
mp - таблица маны по уровню питомца
mp_regen - таблица регенерации маны по уровню питомца
p_atk - таблица физической атаки по уровню питомца
p_def - таблица физической защиты по уровню питомца
m_atk - таблица магической атаки по уровню питомца
m_def - таблица магической защиты по уровню питомца
accuracy - таблица точности нанесения урона по уровню питомца
evasion - таблица уворота от нанесения урона по уровню питомца
critical - таблица шанса критической атаки по уровню питомца
speed - таблица скорости передвижения по уровню питомца
atk_speed - таблица скорости физической атаки по уровню питомца
cast_speed - таблица скорости машичеслкй атаки по уровню питомца
feed_max - таблица максимального потребления шкалы еды для питомца по уровням
feed_normal - таблица потребления шкалы еды питомцем в нормальном состоянии - бег, афк и так далее
feed_battle - таблица потребления шкалы еды когда питомец находится в боевом состоянии
max_load - модификатор переносимого веса питомцем. По умолчанию калькулируется формулой той же что и у игрока.
add_feed - сколько едениц шкалы еды будет добавлена при использовании food_item_id
exp_penalty - какой процент будет потреблять питомце он полученного опыта игрока. По умолчанию 0.30 что является 30%
soulshots - количество потребляемый физических зарядов духа
spiritshots - количество потребляемый магических зарядов духа

Теперь переходим к умениям питомцев и их action Id который находится в игровом клиенте
Для примера берем Hatchling of Wind
Code:
        <skills>
            <skill id="4710" level="0" min_lvl="1" action_id="1003"/>
            <skill id="4711" level="0" min_lvl="1" action_id="1004"/>
        </skills>
Где id способности (скила) 4710 и уровень level="0" и min_level - минимальный уровень питомца присоединён к action id 1003 который приращен в игровом клиенте в файле actionname-e.dat появляется в панели умений питомца.
Когда вы устанавливаете level="0" сервер автоматически пересчитывает уровень выдаваемого скила из расчета уровня питомца. На каждый 10 уровень если он не достиг 70 уровня выдается 1 уровень умения, после 70 уровня, расчет идет на каждый 5 уровень питомца + 1 уровень умения (по офу).
Но вам не обязательно выставлять уровень 0, вы можете описать всю таблицу умения относительно level="Что то свое" непосредственно питомца.
Видео гайд как добавлять свои действия для Интерлюд:


В данный момент вся система питомцем и призываемых существа максимально вынесена из кода и теперь вы можете добавлять любой тип и вид и их навыки не описывая скриптами или написанием своих экстеншенов.
Если будут вопросы - прошу задавать, если что забыл - буду дополнять.
 
Last edited:
is_improved_baby_buffalo, is_improved_baby_cougar, is_improved_baby_kookaburra

Это все импрувед петы которые баффают. Добавляете своего, ставите ему один из типов
так же не забываете добавить второй парам
is_improved_baby_pet

ВСЕ! За вас уже все сделано
 
is_improved_baby_buffalo, is_improved_baby_cougar, is_improved_baby_kookaburra

Это все импрувед петы которые баффают. Добавляете своего, ставите ему один из типов
так же не забываете добавить второй парам
is_improved_baby_pet

ВСЕ! За вас уже все сделано
Вообщем так я и не смог пета заставить баффы юзать. Можно пример в студию как его собрать.
 
Вообщем так я и не смог пета заставить баффы юзать. Можно пример в студию как его собрать.
На выходных доберусь до петов, буду тестить, скину что-то
 
На выходных доберусь до петов, буду тестить, скину что-то
Скинь, я как не крутил, не с одной стороны не смог достигнуть цели ))))) напиши в ЛС тг свой
 
Вообщем так я и не смог пета заставить баффы юзать. Можно пример в студию как его собрать.
actionname-e.dat не забывай добавлять экшен к нпц
для примера:

tagidtypecategorycat2_cntc[0] cmdiconnamedesc
11041-15140552Сила Агатиона 1 урyorigames.icon1Временно увеличивает статыskill7002


1)1041-Экшен

2)40552-id нпц

3)Сила Агатиона 1 ур- название Экшен

4)yorigames.icon1- Иконка Экшен

5)Временно увеличивает статы- Описание Экшен

6)skill7002- по дефолту

потом делаем все по гайд:
<skills>
<skill id="4710" level="0" min_lvl="1" action_id="1041"/> Привязываем скил к Экшену
</skills>
Готова)
заходим в игру и бафаем через пета скил который привязали


EN:
actionname-e.dat don't forget to add the action to the npc
tagidtypecategorycat2_cntc[0] cmdiconnamedesc
11041-15140552Сила Агатиона 1 урyorigames.icon1Временно увеличивает статыskill7002


for example:

1) 1041-Action

2)40552-id NPC

3) Strength of Agathion 1 lvl - name Action

4)yorigames.icon1 Action Icon

5) Temporarily adding statuses- Description Action

6)skill7002 - by default



then we do everything according to the guide:

<skills>

<skill id="4710" level="0" min_lvl="1" action_id="1041"/> Binding a skill to an Action

</skills>

Ready)

we go into the game and buff through the pet skill that we brought
 
Last edited:
есть успехи?
А то нас двое уже, кто не смог завести этот процесс.
выше описали как бафы добавить, все работает с 1 раза
actionname файл со своим скилом у пета свяжи правильно
 
выше описали как бафы добавить, все работает с 1 раза
actionname файл со своим скилом у пета свяжи правильно
С ним и пробовали запилить, не заработало. Может у тебя получится? Если нет, то Диз что-то упустил.
 
С ним и пробовали запилить, не заработало. Может у тебя получится? Если нет, то Диз что-то упустил.
привязка к сумону скил нефига не работает)

<pet id="40552" max_lvl="81">
<skills>
<skill id="4699" level="1" min_lvl="1" action_id="1041"/>
</skills>
</pet>
не хочет привязывается к экшену
 
С ним и пробовали запилить, не заработало. Может у тебя получится? Если нет, то Диз что-то упустил.
ну скилы атакующие и дебафы нормально привязываются и работают,
вот <skill id="4701" levels="13" name="Cure of Queen">
<skill id="4704" levels="13" name="Cure of Seraphim">
например с ними какой -то баг, не ложатся на группу
 
ну скилы атакующие и дебафы нормально привязываются и работают,
вот <skill id="4701" levels="13" name="Cure of Queen">
<skill id="4704" levels="13" name="Cure of Seraphim">
например с ними какой -то баг, не ложатся на группу
Ждем что скажет Диз
 
Ждем что скажет Диз
Че ждать
Когда рак свиснет?))
проблема со скилами у которых TARGE_PARTY , как я понял
Они юзаются, привязываются, но эфекта не дают даже на хозяина

Прикрутить скил проблем нет
Проблема с эффектом
 
Че ждать
Когда рак свиснет?))
проблема со скилами у которых TARGE_PARTY , как я понял
Они юзаются, привязываются, но эфекта не дают даже на хозяина

Прикрутить скил проблем нет
Проблема с эффектом
соврал, работает все ок) у меня походу баг с отображением анимации просто у этих скилов
<skill id="4701" levels="13" name="Cure of Queen">
<skill id="4704" levels="13" name="Cure of Seraphim">
 
соврал, работает все ок) у меня походу баг с отображением анимации просто у этих скилов
<skill id="4701" levels="13" name="Cure of Queen">
<skill id="4704" levels="13" name="Cure of Seraphim">
Кастомные скилы если создаёшь, пет у тебя на чара бафает?
Не те которые от суммонов
 
Кастомные скилы если создаёшь, пет у тебя на чара бафает?
Не те которые от суммонов
я пока добавлял только скилы которые атакующие и дебафы, они нормально добавились и работаю, это позже проверю
 
я пока добавлял только скилы которые атакующие и дебафы, они нормально добавились и работаю, это позже проверю
ха, добавились почему-то только те которые были уже Actions , т.е. у пета в клиенте был уже скил, но он был не активен, то если связать action id со скилом то все ок
если добавляешь свой action id то клиент не видит его
 
Залил обнову по ипрувед петам и так же залил забытых baby петов
 
привязка к сумону скил нефига не работает)

<pet id="40552" max_lvl="81">
<skills>
<skill id="4699" level="1" min_lvl="1" action_id="1041"/>
</skills>
</pet>
не хочет привязывается к экшену
Постой, он появился в панели или нет ? Насколько я знаю у них разные типы экшенов
 
Back
Top