Как работать с multisell

Шаг 1: Создание XML-файла мультиселла​


  • Создайте XML-файл для мультиселла и разместите его в директории data/multisell.
  • Назовите файл уникально, используя ID мультиселла, например, 1.xml для мультиселла с ID 1.
  • Убедитесь, что ID мультиселла уникален для каждого нового списка обмена.

Шаг 2: Структура файла мультиселла​


В каждом файле мультиселла определите контейнер <list>, в котором будут храниться элементы для обмена. Вот базовая структура файла:

XML:
<list>
    <!-- Настройки контейнера мультиселла -->
    <config showall="true" notax="false" keepenchanted="false" nokey="false" is_chanced="false"/>
 
    <!-- Пример предмета для обмена -->
    <item>
        <ingredient id="57" count="100000"/> <!-- Валюта: адена -->
        <production id="960" count="1"/> <!-- Результат: предмет с ID 960 -->
    </item>
</list>

Описание параметров:

- <config> - блок настроек для всего мультиселла:
- showall: если true, показывает все элементы мультиселла.
- notax: при true отменяет налог на обмен.
- keepenchanted: если true, сохраняет уровень заточки предметов.
- nokey: определяет необходимость ключа.
- is_chanced: указывает, является ли список случайным.
- <item> - определяет один предмет для обмена:
- <ingredient> - входной предмет, указывается id и count.
- <production> - предмет, который получит игрок после обмена.

Шаг 3: Добавление шансов на выпадение предметов! (Classic/Legacy)​

При создании мультиселлов можно задать шанс на получение предмета через атрибут chance. Например:
XML:
<item>
    <ingredient id="57" count="100000"/>
    <production id="960" count="1" chance="50"/> <!-- 50% шанс получить предмет -->
</item>

Шаг 4: Добавление атрибутов к предметам​


Если мультиселл позволяет передавать атрибуты (например, заточку, атрибуты стихии), это можно сделать через дополнительные атрибуты в ingredient или production:

XML:
<item>
    <ingredient id="57" count="100000"/>
    <production id="960" count="1" enchant="5"/> <!-- предмет с заточкой +5 -->
</item>

XML:
<item>
    <ingredient id="57" count="100000"/>
    <production id="960" count="1" enchant="5" fireAttr="10"/> <!-- предмет с заточкой +5 и огненным атрибутом 10 -->
</item>

- enchant - уровень заточки при создании предмета. Применяется только для экиперуемых вещей.

Только в Классик и Легаси!
- fireAttr - атрибут Огня:
- waterAttr - атрибут воды:
- earthAttr - атрибут земли:
- windAttr - атрибут ветра:
- holyAttr - атрибут святости:
- unholyAttr- атрибут нежити:

Шаг 5: Загрузка и перезагрузка мультиселлов​


После создания или изменения XML-файлов мультиселлов вам необходимо перезагрузить данные на сервере, чтобы обновления вступили в силу. Используйте команду админа (в зависимости от сборки сервера) для перезагрузки мультиселлов:

Code:
//reload multisell

Шаг 6: Устранение ошибок​


- Проверьте, что все ID предметов и значения количества корректны.
- В случае ошибки загрузки мультиселла, сервер может записывать их в лог-файлы, чтобы администратор мог просмотреть и устранить их.

Полезные советы​


- Балансировка: настройте цены и шанс выпадения с учетом игровой экономики, чтобы избежать дисбаланса.
- Гибкость использования: используйте разные мультиселлы для редких и стандартных товаров, меняя параметры showall и is_chanced.
- Тестирование: всегда тестируйте новый мультиселл, чтобы убедиться, что игроки могут использовать его корректно.
 
Last edited:
Back
Top