Скупка итемов у игроков - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.
Описание темы:multisell

Ответ
Опции темы
Непрочитано 18.10.2018, 14:45   #1
Аватар для ntking
Пользователь

Автор темы (Топик Стартер) Скупка итемов у игроков

Собственно решил на сервере поставить скупку определенных итемов (например ресурсов) по определенной цене, а не по той, что предлагают в магазинах. (Как вариант просто изменить базовую цену, и тогда можно будет сдавать эти итемы хоть в магазин по необходимой цене, но я не иду таким путем).
Естественно для этого можно и нужно использовать multisell. Но мне не нравится следующее: в окне мультиселла отображаются "production", т.е. адена, а мне надо, чтобы отображались "ingredient", т.е. то, что покупает (меняет) NPC у игрока, сдаваемые предметы.
Как вариант использовать в "production" нулевое количество сдаваемого ингридиента, но тогда появляется баг: после сдачи всех ингредиентов в сумке он остается с нулевым количеством. Ну вот к примеру, NPC хочет покупать у игроков стебли:
Код:
<!-- Stem -->
<item id="1">
	<ingredient id="1864" count="1"/>
	<production id="57" count="100"/>
</item>
в окне скупки будут отображаться аденки. Если сделать так:
Код:
<item id="1">
	<ingredient id="1864" count="1"/>
	<production id="1864" count="0"/>
	<production id="57" count="100"/>
</item>
В окне скупки будут отображаться стебли, но при полной сдаче стеблей - в сумке останутся стебли с количеством "0". После рестарта персонажа сервер конечно их удалит из сумки, но до этого момента нулевое количество будет в сумке занимать слот.

Теперь собственно сам вопрос: есть ли простое решение, чтобы вместо "production" в окне мультиселла отображался "ingredient", без вмешательства в код сервера (что-то вроде добавить в item флаг "showingredient", по умолчанию "false", но если "true" отображать "ingredient").

P.S. Сборка L2Phoenix.
ntking вне форума Отправить сообщение для ntking с помощью ICQ Ответить с цитированием
Непрочитано 18.10.2018, 19:56   #2
Пользователь

По умолчанию Re: Скупка итемов у игроков

Игроки будут путаться так как все привыкли что в списке отображается получаемый предмет.

Если есть исходники то доработать обработку покупки RequestMultiSellChoose.java
Чтобы при production.count = 0 не выдавать этот предмет.
flopix вне форума Ответить с цитированием
Непрочитано 19.10.2018, 12:27   #3
Аватар для ntking
Пользователь

Автор темы (Топик Стартер) Re: Скупка итемов у игроков

Цитата:
Сообщение от flopix Посмотреть сообщение
Игроки будут путаться так как все привыкли что в списке отображается получаемый предмет.
Не думаю, что будут путаться (хотя сужу по себе). Видеть в окне сдачи кучки аденок на первый взгляд не понятно за что - тоже не вариант.
Цитата:
Сообщение от flopix Посмотреть сообщение
Если есть исходники то доработать обработку покупки RequestMultiSellChoose.java
Чтобы при production.count = 0 не выдавать этот предмет.
Исходники есть, но сервер скомпилирован с огромными изменениями/исправлениями от тех исходников, что у меня. Эти изменения терять нельзя, поэтому по сути у меня нет доступа к текущей версии кода.
Я нашел то, о чем Вы имели ввиду:
Код:
else if(ItemTemplates.getInstance().getTemplate(in.getItemId()).isStackable())
				{
					L2ItemInstance product = ItemTemplates.getInstance().createItem(in.getItemId());
					double total = in.getItemCount() * _amount;

					product.setCount((long) total);
					activeChar.sendPacket(SystemMessage.obtainItems(product));
                    inv.addItem(product);
				}
То бишь выдача стыкуемого товара. Здесь бы и стоило применить условие: не выдавать продукцию с нулевым количеством. Но такой возможности у меня нет(
ntking вне форума Отправить сообщение для ntking с помощью ICQ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IDs Итемов Sojang Point Blank (Piercing Blow) 3 23.03.2016 08:04
ЛК вывод итемов SW 13 L2sidia Движки сайтов (CMS) 23 30.07.2012 21:59
Пропажа итемов ArhiDevil Серверная часть 5 13.11.2010 16:26
[help] Не работает скупка (l2jofficial) [чар не садится покупать] alekFil Lineage II 1 06.08.2009 03:18
EMU проблема с логином игроков. частью игроков Nano Lineage II 4 27.03.2009 22:06


© 2007–2018 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 18:43. Часовой пояс GMT +3.

Вверх