Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Пакеты
Войти через OpenID

Пакеты Форум о форматах отдельных пакетов или групп пакетов

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 23.08.2010, 18:31   #1
Новичок
 
Регистрация: 23.08.2010
Сообщений: 20
Сказал Спасибо: 8
Имеет 2 спасибок в 2 сообщенях
HinoRyuu пока неопределено
По умолчанию Продажа через пакет

На сервере gracia final (l2j сборка) хочу сделать покупку и продажи вещи через пакет.Пакет на покупку ловится,посылается и данная вещь покупается.
B0 1E 27 00 00 40 16 40 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00
его расшифровка:
Tип: 0xB0 (MultiSellChoose)
Pазмер: 43+2
Время прихода: 17:25:35:954
0002 d ListID: 10014 (0x0000271E)
0006 d EntryID: 4200000 (0x00401640)
000A q Amount: 1
0012 h Unknown: 0 (0x0000)
0014 d Unknown: 0 (0x00000000)
0018 d Unknown: 0 (0x00000000)
001C h DefAttrFire: 65534 (0xFFFE)
001E h DefAttrWater: 0 (0x0000)
0020 h DefAttrWind: 0 (0x0000)
0022 h DefAttrEarth: 0 (0x0000)
0024 h DefAttrHoly: 0 (0x0000)
0026 h DefAttrDark: 0 (0x0000)
0028 h Enchantment: 0 (0x0000)
002A h EntryID: 0 (0x0000)

так же ловится пакет продажи этой же вещи
37 00 00 00 00 01 00 00 00 03 1B 01 10 D0 19 00 00 01 00 00 00 00 00 00 00
расшифровка:
Tип: 0x37 (RequestSellItem)
Pазмер: 25+2
Время прихода: 17:28:48:572
0002 d ListID: 0 (0x00000000)
0006 d ListSize: 1 (0x00000001)
[Начало повторяющегося блока 1/1]
000A d ObjectID: 268507907 (0x10011B03)
000E d ItemID: Посох Тайн ID:6608 (0x19D0) (0x000019D0)
0012 q Count: 1
[Конец повторяющегося блока 1/1]

но при посылке открывается инвентарь и вещь продаваться не хочет...
Реально ли сделать продажу...и если да...в чем моя ошибка?
HinoRyuu вне форума   Ответить с цитированием
Старый 23.08.2010, 18:35   #2
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

в
000A d ObjectID: 268507907 (0x10011B03)
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился спасибкой от:
Старый 23.08.2010, 18:45   #3
Новичок
 
Регистрация: 23.08.2010
Сообщений: 20
Сказал Спасибо: 8
Имеет 2 спасибок в 2 сообщенях
HinoRyuu пока неопределено
По умолчанию

alexteam, извините...но я не совсем понял...если вам не трудно можете объяснить?заранее спасибо...

Последний раз редактировалось HinoRyuu, 23.08.2010 в 19:05.
HinoRyuu вне форума   Ответить с цитированием
Старый 23.08.2010, 18:45   #4
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

http://coderx.ru/showthread.php?t=5345
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
Старый 23.08.2010, 19:06   #5
Новичок
 
Регистрация: 23.08.2010
Сообщений: 20
Сказал Спасибо: 8
Имеет 2 спасибок в 2 сообщенях
HinoRyuu пока неопределено
По умолчанию

J-Fobos, если я правильно понял...там описан скрипт покупки..а мне нужно как то реализовать через пакет продажу...так как при отправки пакета на продажу ничего не происходит и только инвентарь открывается....

Добавлено через 10 минут
alexteam, и как это можно исправить?...

Последний раз редактировалось HinoRyuu, 23.08.2010 в 19:06. Причина: Добавлено сообщение
HinoRyuu вне форума   Ответить с цитированием
Старый 23.08.2010, 20:14   #6
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Цитата:
Сообщение от HinoRyuu Посмотреть сообщение
J-Fobos, если я правильно понял...там описан скрипт покупки..а мне нужно как то реализовать через пакет продажу...так как при отправки пакета на продажу ничего не происходит и только инвентарь открывается....
Угу, там покупка, у вас продажа, там проблема с ObjectID и здесь проблема с ObjectID
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился спасибкой от:
Старый 23.08.2010, 21:12   #7
Новичок
 
Регистрация: 23.08.2010
Сообщений: 20
Сказал Спасибо: 8
Имеет 2 спасибок в 2 сообщенях
HinoRyuu пока неопределено
По умолчанию

J-Fobos, хм...спасибо буду думать..взял тот скрипт...теперь буду думать как разобраться..спасибо...

Добавлено через 18 минут
я так понимаю тут надо модифицировать пакет RequestSellItem...хм..
тоесть эту строку надо полностью менять
Код:
                If (ConnectName=Nick) and FromServer and (pck[1] = #$11) then begin
                ListID:=ReadD(6);
                SendMsg2('Поймали пакет #$11');
                buf:=#$1F; WriteD(ListID); WriteD(1); WriteD(6599); WriteD(1);
                SendMsg2('Модифицировали пакет RequestBuyItem, ListID= ' + IntToStr(ListID));
                SendToServerEx(Nick);
ListID:=ReadD(6);
SendMsg2('Поймали пакет #$11');
buf:=#$1F; WriteD(ListID); WriteD(1); WriteD(6599); WriteD(1);
сможете мне это объяснить если не сложно?
я так понимаю WriteD(6599) это ид вещи? WriteD(1) а это количество?

Последний раз редактировалось HinoRyuu, 23.08.2010 в 21:15. Причина: Добавлено сообщение
HinoRyuu вне форума   Ответить с цитированием
Старый 23.08.2010, 21:50   #8
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Я так понял вы той темы до конца не просмотрели
Чтоб много не писать и не повторять сказанного в прошлой теме отвечу так:

При покупке в магазине сервер отсылает пакет с списком вещей доступных для покупки. В этом пакете есть такой параметр как ListID. В пакете, которым вы будете покупать предмет (из представленного списке) передается полученный ранее ListID.

При попытке продать предмет учитывается что список доступных для продажи предметов уже у вас имеется (это содержимое сумки), после выбора предмета из этого списка на сервер отправляется пакет с ObjectID предмета и его количеством.

ListID и ObjectID почти всегда разные. Чтобы узнать ListID надо просто считывать его с пакета списка продажи. Чтобы узнать ObjectID надо считывать его либо с пакета в котором передается список купленных вещей, либо в пакета содержимого инвентаря. Лично я предпочитаю использовать список содержимого инвентаря, но оттуда вытащить нужный ObjectID чуть сложнее.
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился спасибкой от:
Старый 23.08.2010, 22:50   #9
Новичок
 
Регистрация: 23.08.2010
Сообщений: 20
Сказал Спасибо: 8
Имеет 2 спасибок в 2 сообщенях
HinoRyuu пока неопределено
По умолчанию

спасибо.
вот у меня что-то типа такого получилось
Код:
const
Nick='HinoRyuu';
var
 ListID:integer;
 Timer01: TTimer;
 TimerCyrcle:integer;

procedure SendMsg2(msg:string);
begin
buf:=#$4A; WriteD(0); WriteD(10); WriteS(''); WriteS(msg);
SendToClientEx(Nick);
end;


procedure Init;
begin
   Timer01:=TTimer.Create(nil); 
   Timer01.OnTimer:=@OnTimer01; 
   Timer01.enabled:=true; 
   Timer01.interval:=1000; 
   TimerCyrcle:=1;
end;

procedure OnTimer01(Sender: TObject);
begin
    case TimerCyrcle of
        1:begin   
            buf:=hstr('B0 1E 27 00 00 40 16 40 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00');
            SendToServerEx(Nick);
            SendMsg2('Отправился пакет 1');
            Inc(TimerCyrcle);
        end;
        2:begin
             buf:=hstr('37 00 00 00 00 01 00 00 00 EC 0E 01 10 D0 19 00 00 01 00 00 00 00 00 00 00');
            SendToServerEx(Nick);
            SendMsg2('Отправился пакет 2 и таймер остановился');
            TimerCyrcle:=1;
            Timer01.enabled:=false;
         end; 
        end;
      
    end;
procedure Free;
begin
  Timer01.free;
end;    
    

  begin    
                If (ConnectName=Nick) and FromServer and (pck[1] = #$11) then 
                begin
                ListID:=ReadD(6);
                buf:=#$1F; WriteD(ListID); WriteD(1); WriteD(6608); WriteD(1); 
                SendToServerEx(Nick);
                SendMsg2('Модифицировали пакет RequestSellItem, ListID= ' + IntToStr(ListID));
                

             end;    
  end.
но все равно идет только покупка арки...а продажу не хочет делать...если вам не трудно скажите в чем у меня ошибка... 6608 ид арки.
HinoRyuu вне форума   Ответить с цитированием
Старый 23.08.2010, 23:28   #10
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Не используйте скрипт с той темы, он в вашем случаи не подходит, свой напишите
У вас проблема та же, но ситуация другая.
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Пакеты



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

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


Часовой пояс GMT +4, время: 04:51.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!