Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Реализация продажи в CommunityBoard
#1
Собственно, не получается релизовать фишку продажи итемов через комунити. Сборка лыжеподобная.

В CommunityBoard запилил bypass

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

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

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

Спасибо.Wink
Ответ
#2
Все дело в привязке окна продажи к нпц, смотрите какие пакеты отсылаются при продаже и убирайте там проверку.
Ответ
#3
походу нужно копать пакет 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;

То что красным я добавил, но так понятоное дело пахать оно не будет..
Ответ
#4
Так вам байлист или мультисел? определитесь.
Ответ
#5
SellListSmile я ж выше подробно отписал, что нужно.


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

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

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

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


PHP код:
<?php 
if (!player.isGM() &&
(
player.getTarget != null ||
!(
target instanceof L2MerchantInstance && !(_command.startsWith("_bbssell")) ||
target instanceof L2MercManagerInstance) ||
!
player.isInsideRadius(target, L2NpcInstance.INTERACTION_DISTANCE, false, false)))
return;

Как то так, но получается если игрок во время продажи возьмет таргет то нечего продаваться не будет.
Ответ
#7
В случае с мультиселлом:
Код:
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 мультиселла
Ответ
#8
Причем здесь мультисел если ему нужна продажа через комьюнити ?
Ответ
#9
Снежок Написал:Причем здесь мультисел если ему нужна продажа через комьюнити ?

Идиотизм вешать в комьюнити байлист, если без лишнего геммора можно использовтаь мультиселл. В случае с байлистами и если это лыжа придется пихать костылив виде проверки на приходящий от клиента _listId = readD(); и вводить условие на отсутствие нпц и наличие в базе этого ID в списке его байлистов.
Ответ
#10
Снежок, дело в том, что при такой проверке ругается на !(_command.startsWith("_bbssell"))...как я уже писал, так не пашет.

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


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  одтормаживания во время дропа или продажи итемов iSeeYourBalls 1 1,376 02-21-2017, 01:48 PM
Последний пост: iSeeYourBalls
  Реализация KnownList Alay 38 9,062 02-16-2017, 11:23 PM
Последний пост: Visor
  CommunityBoard + GM Shop реализация michail_ST 5 1,701 04-21-2016, 01:20 PM
Последний пост: flopix
  Доброго времени суток (Команда + реализация) Creat1v 0 1,031 01-11-2015, 11:22 AM
Последний пост: Creat1v
  Реализация инстанса Линдвиора NoizeBD 2 1,453 05-13-2014, 09:13 PM
Последний пост: NoizeBD
  ПА(РЕализация шанса заточки) sakson 14 3,842 04-18-2014, 01:12 AM
Последний пост: Visor
  Реализация La2lucky 13 3,144 07-17-2013, 04:13 PM
Последний пост: helly
  Реализация - Камень Обработки Доспехов Krasavella 37 14,832 02-03-2013, 12:00 PM
Последний пост: helly
  Реализация GVE мода adskih 10 3,496 10-25-2012, 05:08 PM
Последний пост: L2scripts-Guard
  Реализация скилла GOODPower 3 1,513 06-01-2012, 12:06 AM
Последний пост: linliss

Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)