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

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 27.10.2011, 00:49   #1
Пользователь

Автор темы (Топик Стартер) Реализация продажи в CommunityBoard

Собственно, не получается релизовать фишку продажи итемов через комунити. Сборка лыжеподобная.

В CommunityBoard запилил bypass

PHP код:
else if(command.equalsIgnoreCase("_bbssell"))
{
   
activeChar.sendPacket(new SellList(activeChar));
   return;

Пакетик посылает, окошко открывается, выбераю какую шмотку продать, нажимаю ОК (подтверждаю продажу). Потом окошко закрывается. Смотрю инвентарь: вещь, которую хотел продать, осталась лежать в инвентаре + денег не прибавилось. Т.е окошко открывается, но "вещь не продается".

Мб нужно где-то отвязать? Если есть какие-то соображения пишите.

Спасибо.
cokol вне форума Ответить с цитированием
Непрочитано 27.10.2011, 01:45   #2
Аватар для Снежок
Пользователь

По умолчанию Re: Реализация продажи в CommunityBoard

Все дело в привязке окна продажи к нпц, смотрите какие пакеты отсылаются при продаже и убирайте там проверку.
Снежок вне форума Ответить с цитированием
Непрочитано 27.10.2011, 16:42   #3
Пользователь

Автор темы (Топик Стартер) Re: Реализация продажи в CommunityBoard

походу нужно копать пакет RequestSellItem...но а как правильно проверить, чтоб когда мерчант не в таргете и когда идёт использование команды _bbssell вещи продавались?

Цитата:
if (!player.isGM() &&
(target == null ||
!(target instanceof L2MerchantInstance && !(_command.startsWith("_bbssell")) ||
target instanceof L2MercManagerInstance) ||
!player.isInsideRadius(target, L2NpcInstance.INTERACTION_DISTANCE, false, false)))
return;
То что красным я добавил, но так понятоное дело пахать оно не будет..
cokol вне форума Ответить с цитированием
Непрочитано 27.10.2011, 17:03   #4
Аватар для ANZO
Разработчик BDO Emu

По умолчанию Re: Реализация продажи в CommunityBoard

Так вам байлист или мультисел? определитесь.
ANZO вне форума Отправить сообщение для ANZO с помощью ICQ Отправить сообщение для ANZO с помощью Skype™ Ответить с цитированием
Непрочитано 27.10.2011, 17:09   #5
Пользователь

Автор темы (Топик Стартер) Re: Реализация продажи в CommunityBoard

SellList я ж выше подробно отписал, что нужно.


Если убрать проверку

PHP код:
if (!player.isGM() && 
 (
target == null || 
 !(
target instanceof L2MerchantInstance && !(_command.startsWith("_bbssell")) ||
 
target instanceof L2MercManagerInstance) || 
 !
player.isInsideRadius(targetL2NpcInstance.INTERACTION_DISTANCEfalsefalse)))
 return; 
то все пашет, но тогда можно будет продавать вещи не беря в таргет нпс и на большом растоянии, что не есть гуд..

Мне нужно проверить типо если таргета нету и используется команда "_bbssell", то продать вещь.

Доступно обьяснил или нет?
cokol вне форума Ответить с цитированием
Непрочитано 27.10.2011, 17:09   #6
Аватар для Снежок
Пользователь

По умолчанию Re: Реализация продажи в CommunityBoard

Проще всего убрать всю проверку полностью, на фениксе можно было бы сделать проверку на открываемый байлист, так как сам метод отличается.


PHP код:
if (!player.isGM() &&  
                 (
player.getTarget != null ||  
                 !(
target instanceof L2MerchantInstance && !(_command.startsWith("_bbssell")) || 
                 
target instanceof L2MercManagerInstance) ||  
                 !
player.isInsideRadius(targetL2NpcInstance.INTERACTION_DISTANCEfalsefalse))) 
                 return; 
Как то так, но получается если игрок во время продажи возьмет таргет то нечего продаваться не будет.
Снежок вне форума Ответить с цитированием
Непрочитано 27.10.2011, 17:13   #7
Аватар для ANZO
Разработчик BDO Emu

По умолчанию Re: Реализация продажи в CommunityBoard

В случае с мультиселлом:
Код:
if (command.startsWith("_bbsmultisell;"))
{
        StringTokenizer st = new StringTokenizer(command, ";");
        int multisell = Integer.parseInt(st.nextToken());
        MultiSell.getInstance().separateAndSend(multisell, activeChar, null, false);
}
где байпас в метод будет:
Код:
<button value="блаблабла" action="bypass _bbsmultisell;9999" width=90 height=26 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df">
где значение 999 - id мультиселла
ANZO вне форума Отправить сообщение для ANZO с помощью ICQ Отправить сообщение для ANZO с помощью Skype™ Ответить с цитированием
Непрочитано 27.10.2011, 17:16   #8
Аватар для Снежок
Пользователь

По умолчанию Re: Реализация продажи в CommunityBoard

Причем здесь мультисел если ему нужна продажа через комьюнити ?
Снежок вне форума Ответить с цитированием
Непрочитано 27.10.2011, 17:20   #9
Аватар для ANZO
Разработчик BDO Emu

По умолчанию Re: Реализация продажи в CommunityBoard

Цитата:
Сообщение от Снежок Посмотреть сообщение
Причем здесь мультисел если ему нужна продажа через комьюнити ?
Идиотизм вешать в комьюнити байлист, если без лишнего геммора можно использовтаь мультиселл. В случае с байлистами и если это лыжа придется пихать костылив виде проверки на приходящий от клиента _listId = readD(); и вводить условие на отсутствие нпц и наличие в базе этого ID в списке его байлистов.
ANZO вне форума Отправить сообщение для ANZO с помощью ICQ Отправить сообщение для ANZO с помощью Skype™ Ответить с цитированием
Непрочитано 27.10.2011, 17:21   #10
Пользователь

Автор темы (Топик Стартер) Re: Реализация продажи в CommunityBoard

Снежок, дело в том, что при такой проверке ругается на !(_command.startsWith("_bbssell"))...как я уже писал, так не пашет.

ANZO, вы немного не поняли.. Мне нужна не реализация поддержки мултиселов комунити, мне нужно реализацияя функции продажи в комунити
(т.е
PHP код:
<button value="Продать" action="bypass -h _bbssell;" width=200 height=21 back="sek.cbui75" fore="sek.cbui75"
)
cokol вне форума Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация скриптов MegaPvP Lineage II 0 25.09.2011 19:38
Цена для продажи в магзаин stopsay Lineage II 12 01.03.2011 18:43
Реализация сайтов на PHP. Asuma Рынок / Marketplace 10 15.11.2010 14:03
NPC Продажи скилов Owned Работа со скриптами 1 05.09.2010 23:25
цены продажи предметов выше чем сама цена FriZak Lineage II 1 11.02.2010 18:53


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

Вверх