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:
Возможно ли сделать чтобы при апгрейде предмета заточку которая есть уже на предмете переносило на получаемый предмет?
 
Возможно ли сделать чтобы при апгрейде предмета заточку которая есть уже на предмете переносило на получаемый предмет?
это уже и так сделано, заточка переносится. Или у тебя старая версия
 
это уже и так сделано, заточка переносится. Или у тебя старая версия
Заточка переносится только которую укажу.. Возможно ли сделать чтобы какая у игрока заточка (+2, +5,+7, и т.д.) переносил на апгрейд оружия? То есть чтобы система сама читала какая заточка на предмете такую и переносило.
 
Не знаю может уже пофикшено, но в моей версии не работало много предметов.
Вообщем type=2 заменить на type=1
 
Last edited:
Заточка переносится только которую укажу.. Возможно ли сделать чтобы какая у игрока заточка (+2, +5,+7, и т.д.) переносил на апгрейд оружия? То есть чтобы система сама читала какая заточка на предмете такую и переносило.
Есть же, просто для каждой заточки надо прописывать обмен:
Code:
    <equipment_upgrade upgrade_id="11652" type="1" upgrade_item="288;12" material_items="1461;1000,91547;1" commission="10000000" result_item="7575;0" fail_result_items="91508;1,959;1" chance="50" />
    <equipment_upgrade upgrade_id="11653" type="1" upgrade_item="288;13" material_items="1461;1000,91547;1" commission="10000000" result_item="7575;0" fail_result_items="91508;1,959;2" chance="60" />
    <equipment_upgrade upgrade_id="11654" type="1" upgrade_item="288;14" material_items="1461;1000,91547;1" commission="10000000" result_item="7575;0" fail_result_items="91508;1,959;3" chance="70" />
    <equipment_upgrade upgrade_id="11655" type="1" upgrade_item="288;15" material_items="1461;1000,91547;1" commission="10000000" result_item="7575;0" fail_result_items="91508;1,959;4" chance="80" />
    <equipment_upgrade upgrade_id="11656" type="1" upgrade_item="288;16" material_items="1461;1000,91547;1" commission="10000000" result_item="7575;0" fail_result_items="91508;1,959;4" chance="90" />
тут меняется коряга на +12, +13 и т.д на ДБ +0
 
Code:
    <!-- UpgradeSystem_Normal_Classic.dat -->
    <equipment_upgrade upgrade_id="1" type="1" upgrade_item="2516;12" material_items="1458;11360,91526;9" commission="3692000" result_item="2530;11" chance="100" />
    <equipment_upgrade upgrade_id="2" type="1" upgrade_item="2516;13" material_items="1458;17040,91526;14" commission="5538000" result_item="2530;12" chance="100" />
    <equipment_upgrade upgrade_id="3" type="1" upgrade_item="2516;14" material_items="1458;22720,91526;18" commission="7384000" result_item="2530;13" chance="100" />
    <equipment_upgrade upgrade_id="4" type="1" upgrade_item="2516;15" material_items="1458;28400,91526;23" commission="9230000" result_item="2530;14" chance="100" />
Вопрос, почему эти итемы не появляются в апгрейде в classic? Они и в клиенте и в сервере есть, оригинальные..
итемы с type=0 отображаются, но используются из UpgradeSystem_Classic.dat
репозиторий обновлён 21.10
Спасибо
 
Last edited:
Back
Top