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

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

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

Пример:

Code:
<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:
Code:
<consume>
<item id="57" amount="200000" /> снимаем 200000 adena
<item id="4037" amount="0" /> для премиума при 0 просто проверяем наличие предмета в инвентаре
</consume>
Если мы хотим снимать предметы от определенного уровня то:
Code:
<consume>
<item id="57" amount="200000" from_level="20"/> Таким образом чар до 20того будет баффатся бесплатно
</consume>
Если мы хотим баффать сет чарам с минимальным уровнем к примеру от 51:
Code:
<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>

Так же вы можете использовать несколько предметов в листе из которых будет вбираться первый из существующих в инвентаре - удобно для премиум аккаунтов с разной длительностью.
Пример:
Code:
  <consume anyFirst="true">
  <item id="6673" amount="0" />
  <item id="4037" amount="0" />
  </consume>

Проверка на наличие премиум аккаунта у игрока:
Code:
<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:
Code:
<produce>
<skill id="1068" level="1" />
</produce>

Множество баффов

Code:
<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>
 
Last edited:
Такой вопрос. Мне нужно что бы до 75 лвл бафались бесплатно. после 75, лвл идет цена 10к
+ к этому всему, что бы дальше после 74 пользоваться бафером нужно иметь итем.
--------------------------------
Сейчас на 74 без сертификата я бафаюсь. Даю себе 75, даю сертификат, не работает.... бафать не могу.
Итем кста идет квестовый. Есть идеии как пофиксить ?


<template menuId="2" target="BUFF_PLAYER">
<consume anyFirst="true">
<item id="10517" amount="0" from_level="75" />
<item id="10518" amount="0" from_level="75" />
<item id="10519" amount="0" from_level="75" />
<item id="10520" amount="0" from_level="75" />
</consume>
<consume>
<item id="57" amount="10000" from_level="75" />
</consume>
 
Такой вопрос. Мне нужно что бы до 75 лвл бафались бесплатно. после 75, лвл идет цена 10к
+ к этому всему, что бы дальше после 74 пользоваться бафером нужно иметь итем.
--------------------------------
Сейчас на 74 без сертификата я бафаюсь. Даю себе 75, даю сертификат, не работает.... бафать не могу.
Итем кста идет квестовый. Есть идеии как пофиксить ?


<template menuId="2" target="BUFF_PLAYER">
<consume anyFirst="true">
<item id="10517" amount="0" from_level="75" />
<item id="10518" amount="0" from_level="75" />
<item id="10519" amount="0" from_level="75" />
<item id="10520" amount="0" from_level="75" />
</consume>
<consume>
<item id="57" amount="10000" from_level="75" />
</consume>
хелп, апп
 
Такой вопрос. Мне нужно что бы до 75 лвл бафались бесплатно. после 75, лвл идет цена 10к
+ к этому всему, что бы дальше после 74 пользоваться бафером нужно иметь итем.
--------------------------------
Сейчас на 74 без сертификата я бафаюсь. Даю себе 75, даю сертификат, не работает.... бафать не могу.
Итем кста идет квестовый. Есть идеии как пофиксить ?


<template menuId="2" target="BUFF_PLAYER">
<consume anyFirst="true">
<item id="10517" amount="0" from_level="75" />
<item id="10518" amount="0" from_level="75" />
<item id="10519" amount="0" from_level="75" />
<item id="10520" amount="0" from_level="75" />
</consume>
<consume>
<item id="57" amount="10000" from_level="75" />
</consume>
тАк сделай 2 набора бафов. До 75 и после
 
Last edited:
Если у меня универсальный npc возможно ли заставить возвращать на страницу которую я укажу ?
Что бы оно тянуло не от бафера а от гм шопа ( на пример) или любой другой папки.
bypass -h scripts_services.Buffer:act ask=-100&reply=555
Что бы 555.htm он брал откуда я ему укажу. Такое возможно ?
 
If I have a universal npc, is it possible to force it to return to the page I specify?
So that it would pull not from the buffer, but from the GM shop (for example) or any other folder.
bypass -h scripts_services.Buffer:act ask=-100&reply=555
So that he would take 555.htm from where I would show him. Is this possible?
i dont think about capable to link other folders, but if it is UniversalNPC then why would you need another folder?
place all in the same folder and link the htm exactly as you posted.
 
Настроил бафф-ПА, при ПА, баф открывает страницы бафф-па.штмл и все хорошо работает. (также отдельно бафы в бафф-темплес)
НО у меня помимо ПА(VIP) есть ещё сертификаты, которые просто дают возможность бафатся после 74 лвл.

<template menuId="120" target="BUFF_PLAYER"> <!-- Mag Set -->
<consume anyFirst="true">
<item id="10515" amount="0" from_level="75" />
<item id="10516" amount="0" from_level="75" />
<item id="10517" amount="0" from_level="75" />
<item id="10518" amount="0" from_level="75" />
</consume>

но они не работают, не пойму почему. Даже до 75 лвл персонажа не хочет бесплатно бафать.
Мне нужно так что бы бафер до 74 работал бесплатно или же за адену, мин. цена. а после 74 требовал сертификат один из 4 и давал бафф.
Хелпаните плис
 
тАк сделай 2 набора бафов. До 75 и после

копернуть все бафы что идуть в бафере, и сделать в них, что-то типо
<template menuId="120" target="BUFF_PLAYER"> <!-- Mag Set -->
<consume>
<item id="57" amount="200000" from_level="74"/>
</consume>

а другой список бафов

<template menuId="120" target="BUFF_PLAYER"> <!-- Mag Set -->
<consume anyFirst="true">
<item id="10515" amount="0" from_level="75" />
<item id="10516" amount="0" from_level="75" />
<item id="10517" amount="0" from_level="75" />
<item id="10518" amount="0" from_level="75" />
</consume>

тіпа так ?
 
Back
Top