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

Тема в разделе "[RU] Руководства", создана пользователем Deazer, 29 мар 2017.

  1. Deazer

    Deazer Разработчик Команда форума

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

    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>
    Последнее редактирование: 22 авг 2017
  2. Deazer

    Deazer Разработчик Команда форума

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