Цена продажи товаров НПС

Металлург1985

Пляшущий с бубном
Пользователь
Сообщения
38
Розыгрыши
0
Репутация
0
Реакции
2
Баллы
235
Хроники
  1. Grand Cursade
Исходники
Присутствуют
Сборка
Mobius
Всем привет.
Кто может подсказать - где зашит коэффициент к цене продажи в магазин НПС предмета в размере 50% от цены, указанной в xml-файле с описанием предмета?
И если где-то это регулируется - то и возможность увеличения этого коэффициента для заточенной вещи, в зависимости от уровня точки.
Например, неточеная вещь продается за 50% стоимости, точеная на +10 - за 70%, на +16 - 100%.
Примерно как при поломке вещи - в зависимости от уровня ее заточки с нее падает больше кристаллов. Можно ли что-то придумать и для поправки на цену продажи в магазин?
Спасибо.
 

RequestSellItem.java


Java:
// line 142~

    long totalPrice = 0;

        for (UniqueItemHolder i : _items)
        {
            final Item item = player.checkItemManipulation(i.getObjectId(), i.getCount(), "sell");
            if ((item == null) || (!item.isSellable()))
            {
                continue;
            }
            
            final long price = item.getReferencePrice() / 2; //50% от цену
            totalPrice += price * i.getCount();

Так оригинал, а в промени:



Java:
    long totalPrice = 0;

        for (UniqueItemHolder i : _items)
        {
            final Item item = player.checkItemManipulation(i.getObjectId(), i.getCount(), "sell");
            if ((item == null) || (!item.isSellable()))
            {
                continue;
            }

            final int itemEnchantLevel = item.getEnchantLevel(); //взять заточка предметов
            final int maxEnchantLevel = 16; //установить лимит заточки серверов

            long price = 0;

            if (itemEnchantLevel > 0)
            {
                price = (item.getReferencePrice() * ((itemEnchantLevel / maxEnchantLevel) * 100L)) / 100;
            }
            else
            {
                price = item.getReferencePrice() / 2;
            }

            totalPrice += price * i.getCount();
 
Java:
        long totalPrice = 0;
        // Proceed the sell
        for (UniqueItemHolder i : _items)
        {
            final Item item = player.checkItemManipulation(i.getObjectId(), i.getCount(), "sell");
            if ((item == null) || (!item.isSellable()))
            {
                continue;
            }

            final int itemEnchantLevel = item.getEnchantLevel();
            final int maxEnchantLevel = 16;
            
            long price = 0;
            
            if (itemEnchantLevel > 0)
            {
                double enchantContribution = (itemEnchantLevel / (double) maxEnchantLevel) * 50;
                double totalPercentage = 50 + enchantContribution;
                price = Math.round(item.getReferencePrice() * (totalPercentage / 100));
            }
            else
            {
                price = item.getReferencePrice() / 2;
            }

            totalPrice += price * i.getCount();

Я забьл цена надо будет 50% все случеи
 
Файл такой в исходниках нашел.
Но видимо надо с учетом этого измененного файла пересобрать сервер. Я просто сервер не сам собирал, а скачивал уже готовую сборку от monche.org.
Подкиньте пжл ссылку на инструментарий, при помощи которого можно собрать сервер из исходников. Если она тут имеется.
 
Назад
Сверху