Как работать с баффером и делать Премиум баффы

Deazer

Разработчик
Команда форума
#1
Data Location:
NPC id по умолчанию - 40010
Диалоги- gameserver\data\html-en\mods\buffer
XML схема с баффами, уровнями, наборами и стоимостью - gameserver\data\buff_templates.xml

Теперь рассмотрим сам buff_templates.xml формат:

Пример:

Код:
<template menuId="200" target="BUFF_PLAYER">
<consume>
<item id="57" amount="200000" />
</consume>
<produce>
<skill id="1068" level="3" />
<skill id="1040" level="3" />
<skill id="1086" level="2" />
<skill id="1204" level="2" />
<skill id="1077" level="3" />
<skill id="1242" level="2" />
<skill id="1268" level="4" />
</produce>
</template>
menuId - ID on which we address a buffer
target - whom buff, BUFF_PLAYER or BUFF_PET
consume - id and quantity of items.
produce - here is stored buff or schemes of buffs.
Example:
Код:
<consume>
<item id="57" amount="200000" /> снимаем 200000 adena
<item id="4037" amount="0" /> для премиума при 0 просто проверяем наличие предмета в инвентаре
</consume>
Если мы хотим снимать предметы от определенного уровня то:
Код:
<consume>
<item id="57" amount="200000" from_level="20"/> Таким образом чар до 20того будет баффатся бесплатно
</consume>
Если мы хотим баффать сет чарам с минимальным уровнем к примеру от 51:
Код:
<template menuId="126" target="BUFF_PLAYER" minLevel="51">
    <consume>
        <item id="57" amount="200000" />
    </consume>
    <produce>
        <skill id="1068" level="3" />
        <skill id="1040" level="3" />
        <skill id="1086" level="2" />
    </produce>
</template>
Так же вы можете использовать несколько предметов в листе из которых будет вбираться первый из существующих в инвентаре - удобно для премиум аккаунтов с разной длительностью.
Пример:
Код:
  <consume anyFirst="true">
  <item id="6673" amount="0" />
  <item id="4037" amount="0" />
  </consume>
Проверка на наличие премиум аккаунта у игрока:
Код:
<template menuId="124" target="BUFF_PLAYER">
    <consume>
        <item id="57" amount="600000" is_premium_required="true"/>
    </consume>
    <produce>
        <skill id="1068" level="3" />
        <skill id="1040" level="3" />
        <skill id="1086" level="2" />
        <skill id="1204" level="2" />
        <skill id="1077" level="3" />
        <skill id="1242" level="2" />
        <skill id="1268" level="4" />
    </produce>
</template>
produce - здесь указываются сами баффы и их уровни
Example:
Код:
<produce>
<skill id="1068" level="1" />
</produce>
Множество баффов

Код:
<produce>
<skill id="1068" level="3" />
<skill id="1040" level="3" />
<skill id="1086" level="2" />
<skill id="1204" level="2" />
<skill id="1077" level="3" />
<skill id="1242" level="2" />
<skill id="1268" level="4" />
</produce>
Пример для добавления в XML и диалога:

2. Кнопка, с которой мы добавляем диалог
<a action="bypass -h scripts_services.Buffer:act ask=200&reply=1">Fighter 1 lvl</a>

Теперь подробно:
ask=200 - Это menuId к Баффу с XML или сету баффов
&reply=1 - на какую страничку будет возврат. В нашем случаи будет возвращено на 1.htm
_____________________________________________________________
<template menuId="200" target="BUFF_PLAYER">
<consume>
<item id="57" amount="200000" />
</consume>
<produce>
<skill id="1068" level="3" />
<skill id="1040" level="3" />
<skill id="1086" level="2" />
<skill id="1204" level="2" />
<skill id="1077" level="3" />
<skill id="1242" level="2" />
<skill id="1268" level="4" />
</produce>
</template>
 
Последнее редактирование:

Deazer

Разработчик
Команда форума
#2
UP! Обновлен баффер - полностью удален из SQL, перенесен в XML.
Структура по формату и виду аналогична !
Подготовьте свои кастомные баффы и т.д. в XML файле перед обновлением.
 

citadel

Новичок
#7
А возможно настройка таким образом,чтобы бафались определенные наборы при наличии в инвентаре предмета,но с тем учетом ,чтобы он не исчезал.
 

OurLastnight

Новичок
#8
А возможно настройка таким образом,чтобы бафались определенные наборы при наличии в инвентаре предмета,но с тем учетом ,чтобы он не исчезал.
Код:
<consume>
<item id="4037" amount="0" />
</consume>
 

MANUAL

Новичок
#9
Подскажите как увеличить время баффов который дает (ньюби баффер) !?
 

Deazer

Разработчик
Команда форума
#10
или руками в data/skills или конфигом
# Модификатор времени баффов. Пример: 1024-3600;1025-3600 (Время в секундах)
SkillDurationMod =
 

MANUAL

Новичок
#11
или руками в data/skills или конфигом
# Модификатор времени баффов. Пример: 1024-3600;1025-3600 (Время в секундах)
SkillDurationMod =
То есть если в конфиге править, то он не будет влиять на баф дающийся игром (играющим к примеру за сапорта) !?
 

Deazer

Разработчик
Команда форума
#12
по моему там вообще свои ID, так что конечно не будет влиять
 

localhost

Новичок
#13
как сделать так что бы проверяло сначала на премиум затем если премиума нет расходовало итемы?
вот так не работает
Код:
        <consume anyFirst="true">
            <item id="57" amount="1" is_premium_required="true"/>
            <item id="6673" amount="1"/>
        </consume>
 
Вверх