Equipment Upgrade system (classic/legacy)

1. Общая информация
Система апгрейдов позволяет игрокам улучшать экипировку, обменивая предмет с определённым уровнем заточки, материалы и адену на новый предмет. Апгрейды настраиваются в двух местах:
  • NPC: Head Blacksmith Ferris (30847)
  • На сервере: Через файл data/equipment_upgrade.xml.
  • В клиенте: Через файл GameClient/system_ru/UpgradeSystem_Classic.dat, который определяет, как апгрейды отображаются в игре.
Каждый апгрейд имеет:
  • Уникальный ID (upgrade_id).
  • Требуемый предмет с уровнем заточки (upgrade_item).
  • Список материалов и их количество (material_items).
  • Стоимость в адене (commission).
  • Шанс успеха в процентах (chance).
  • Результирующий предмет с уровнем заточки (result_item).
  • Страны, где апгрейд доступен (applycountry). Можете ставить что угодно, не имеет значения, значение имеет только какая указан в клиенте.
2. Настройка на сервере (equipment_upgrade.xml)
Файл data/equipment_upgrade.xml.

Формат XML
Каждый апгрейд описывается тегом <upgradesystem_begin> внутри корневого тега <upgrades>. Пример:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE upgrades SYSTEM "equipment_upgrade.dtd">
<upgrades>
    <upgradesystem_begin
        upgrade_id="1"
        upgrade_item="91244;5"
        material_items="1459;200"
        chance="100"
        commission="2000000"
        result_item="91245;0"
        applycountry="all" />
</upgrades>

Описание полей
  • upgrade_id: Уникальный номер апгрейда (например, 1, 10041). Не повторяйте ID!
  • upgrade_item: Предмет, который нужно улучшить. Формат: item_id;enchant_level. Например, 91244;5 - предмет с ID 91244 и заточкой +5.
  • material_items: Список материалов. Формат: item_id;count. Например, 1459;200 - 200 единиц предмета с ID 1459. Если материалов нет, укажите пустую строку: material_items="".
  • chance: Шанс успеха апгрейда в процентах (0–100). Например, 100 - всегда успех, 20 - 20% шанс. Если не указано, по умолчанию 100.
  • commission: Стоимость апгрейда в адене. Например, 2000000 - 2 миллиона адены.
  • result_item: Результирующий предмет. Формат: item_id;enchant_level. Например, 91245;0 - предмет с ID 91245 без заточки.
  • applycountry: Страны, где апгрейд доступен. Укажите all для всех стран или коды стран через точку с запятой, например, kr;j (для Кореи и Японии). Если не указано, по умолчанию all.
3. Настройка в клиенте (UpgradeSystem_Classic.dat)

Файл GameClient/system_ru/UpgradeSystem_Classic.dat отвечает за отображение апгрейдов в игровом клиенте. Его формат отличается от серверного XML, но данные должны соответствовать.

Формат файла
Каждый апгрейд описывается в блоке между upgradesystem_begin и upgradesystem_end. Пример:
Code:
upgradesystem_begin    upgrade_id=10041    upgrade_item={70295;9}    material_items={{71752;70}}    commission=10000    result_item={71746;0}    applycountry={all}    upgradesystem_end
Описание полей
  • upgrade_id: Тот же ID, что в equipment_upgrade.xml. Должен совпадать!
  • upgrade_item: Предмет для улучшения. Формат: {item_id;enchant_level}. Например, {70295;9} - предмет ID 70295 с заточкой +9.
  • material_items: Материалы. Формат: {{item_id;count}}. Например, {{71752;70}} - 70 единиц предмета ID 71752. Для нескольких материалов: {{71752;70}{71753;10}}. Если материалов нет, укажите {}.
  • commission: Стоимость в адене. Например, 10000. Должна совпадать с сервером.
  • result_item: Результирующий предмет. Формат: {item_id;enchant_level}. Например, {71746;0}.
  • applycountry: Страны. Формат: {all} или {kr;j}. Должно совпадать с сервером.
  • chance: В клиентском файле не указывается, так как шанс обрабатывается на сервере.
Как это вышлядит в игре:
 
Last edited:
Поправил залил
Вопрос: Если со стороны клиента указать material_items={{91384;1};{91385;1};{91386;1}}, как это должно быть отображено в XML?
Дополнительный вопрос по адене: Также уточнение по поводу адены — в Legacy-клиенте она не отображается.
Вопрос по параметру chance: Если на сервере изменить значение chance="20" или указать любые другие цифры, рецепт перестаёт работать: после нажатия кнопки "Улучшение" окно закрывается.
 
Last edited:
Вопрос еще такой:
Если со стороны клиента указать material_items={{91384;1};{91385;1};{91386;1}} - как это отобразить в ХМЛьнике?
И уточнение по поводу Адены, в легаси её не отображает, так должно быть?
завтра посмотрю более детально по Легаси, уже собираюсь на отдых.
 
Back
Top