Страница 5 из 15

Добавлено: Ср мар 21, 2007 8:01 pm
piroJOKE
zasada, все правильно, это я ошипся, ибо уставший слегона. (

Добавлено: Ср мар 21, 2007 8:02 pm
zasada
ничего главное вовремя найти ошибку)

Добавлено: Ср мар 21, 2007 8:20 pm
piroJOKE
Что, всё? Ау, любой другой пакет из списка КМ?
( viewtopic.php?p=19714#19714 )

Добавлено: Ср мар 21, 2007 8:28 pm
Lims
Синк сделан)
sub sendSync {
my ($self, $initialSync) = @_;
my $msg;
# XKore mode 1 lets the client take care of syncing.
return if ($self->{net}->version == 1);

$syncSync = pack("V", getTickCount());
$msg = pack("C*", 0x16, 01) . pack("x7") . $syncSync . pack("x1");
$self->sendToServer($msg);
debug "Sent Sync\n", "sendPacket", 2;
}
Пирожок проверь) а тоя не уверен))

Добавлено: Ср мар 21, 2007 8:29 pm
darzanebor
Lims выложи пакеты отпарсеные плз которые новый ехе шлет, если не сложно

Добавлено: Ср мар 21, 2007 8:32 pm
piroJOKE
Lims, нисагласен. Посмотри в конец внимательно.
ЗЫ: В ихнем синтаксисе "V" = 4 байта, "v" = 2 байта.

Добавлено: Ср мар 21, 2007 8:36 pm
darzanebor
Так на синк он у меня не ругается вроде...
sub sendSync {
my ($self, $initialSync) = @_;
my $msg;
# XKore mode 1 lets the client take care of syncing.
return if ($self->{net}->version == 1);
$syncSync = pack("V", getTickCount());
$msg = pack("C*", 0x16, 01).pack("x4") .$syncSync.pack("x4");
$self->sendToServer($msg);
debug "Sent Sync\n", "sendPacket", 2;
}

Добавлено: Ср мар 21, 2007 8:37 pm
Lims
piroJOKE

угу. похоже перед $снк надо еще поставить1 байт. но чето он не пустышачный похоже. и я не знаю как сделать((
darzanebor
http://webfile.ru/placed.php?id=1354453

Добавлено: Ср мар 21, 2007 8:38 pm
darzanebor
У меня клиент к посейдону коннектится, а потом еррор вылетает, сделал все как сказали, запаковал в грф xml прописал его в батничек при старте, все стартует но потом клиент виснет и вылетает серенькое окошко с ошибкой =((

Добавлено: Ср мар 21, 2007 8:39 pm
Lims
darzanebor
Круть!) твой синк нормально пашет. но только всеравно шлется 14 байт. а клиент шлет 15. чет не то...
Все проще. есть тема гдето "хочу узнать про посейдон." вот там КлабМАус и Пирожок общались про xml. глянь там

Добавлено: Ср мар 21, 2007 8:41 pm
darzanebor
я хз но он пахает =))

Добавлено: Ср мар 21, 2007 8:52 pm
piroJOKE
Всё, парни, бросаю вас на произвол, так сказать! :(
Мне уже надо убягать.
Вот что я успел накропать (Часть тут вообще лишняя, так что не смущайтесь) (Лимс, зацени мой вариант синка):
acc-login


char-select

1 127.0.0.1:3473 127.0.0.1:6900 17 Send
0000 65 00 61 63 63 74 73 65 73 73 FF 00 00 00 00 00 e.acctsess......
0010 01 .

[65 00][4:acct][4:sess][00 00 00 00 00 01]




map-login

захваченный пакет:
7 127.0.0.1:3474 127.0.0.1:6900 33 Send
0000 93 01 34 31 00 61 63 63 74 63 68 61 72 62 37 34 ..41.acctcharb74
0010 61 00 73 65 73 73 CD 56 1E 0B 65 00 01 31 61 33 a.sess.V..e..1a3
0020 00 .

начинаем расписывать что где:
7 127.0.0.1:3474 127.0.0.1:6900 33 Send
0000 93 01 jj jj jj aa aa aa aa cc cc cc cc jj jj jj ..41.acctcharb74
0010 jj jj ss ss ss ss tt tt tt tt jj jj ff jj jj jj a.sess.V..e..1a3
0020 jj .

[94 01][j:3][4:acct][4:char][5:j][4:sess][4:time][2:j][1:?][j:4] -?

Копия.
0010 61 00 73 65 73 73 CD 56 1E 0B 65 00 01 31 61 33 a.sess.V..e..1a3
Фрагмет еще одного захваченного пакеты, чтобы проверить спорные места:
#### ## ## ## ## ## ## 3F 78 27 0B 30 00 01 ## ## ##
#### ## ## ## ## ## ##|3F 78 27 0B|jj jj|01 ## ## ##


Вспоминаем, какие поля вообще учавствуют:
sub sendMapLogin {
...
$sex = 0 if ($sex > 1 || $sex < 0); # Sex can only be 0 (female) or 1 (male)
$msg = pack("C*", 0xF3, 0) . pack("x3") . $charID . $accountID . pack("x1") . $sessionID . pack("x9") . pack("V", getTickCount()) . pack("C*", $sex) . pack("x5");
...
}

Всё:
[94 01][j:3][4:acct][4:char][5:j][4:sess][4:timer][2:j][1:sex][j:4]

---------------------------
sendlook

9F 00 01 00 06
9F 00 00 00 05
9F 00 00 00 05
[9F 00] [00] [00] [05]


[9F 00][head:1][junk:1][body:1]

---------------------------

sendtake
94 00 69 74 6D 31

[94 00][item:4]

----------

senddrop
F3 00 04 00 05 00

[F3 00][index:2][amount:2]
----------

walk

F5 00 00 0D 06 80 34 64 37 65 38 34 62 34 00
F5 00 00 0D 06 70 35 35 66 65 38 34 62 35 00
F5 00|00 0D 06|60 37 66 38 65 38 34 62 37 00

[F5 00][xy:3][junk:10]

--------


getplinfo:
1 127.0.0.1:3828 127.0.0.1:6900 7 Send
0000 72 00 00 6E 70 63 31 r..npc1

[72 00][junk:1][id:4]

-------------

chat

3 127.0.0.1:3828 127.0.0.1:6900 29 Send
0000 A7 00 1D 00 50 6F 73 65 69 64 6F 6E 20 44 65 76 ....Poseidon Dev
0010 20 3A 20 68 65 6C 6C 6F 20 62 72 6F 00 : hello bro.

[A7 00][len:2][msg:....]

-------------
sync

1 127.0.0.1:3828 127.0.0.1:6900 15 Send
0000 16 01/34 33 36 34 34 37 00/32 83 62 0B/65 00 ..436447.2.b.e.
...
0000 16 01/34 35 63 30 35 37 00/C3 CB 63 0B/33 00

[16 01][junk:7][timer:4][junk:2]

--------------
use item

1 127.0.0.1:3828 127.0.0.1:6900 8 Send
0000 89 00 61 63 63 74 03 00 ..acct..

[89 00][acct:4][id:2]
-----

storage add
$msg = pack("C*", 0xA2, 0x00) . pack("v", $index) . pack("V", $amount) . pack("x8") ;

9B 00 31 00 03 00 09 00 00 00

[9B 00][junk:2][index:2][amount:4]

-------
storage get

8C 00/00/10 00 00 00/03 00

[8C 00][junk:1][amount:4][index:2]
-----------

storage close

[85 00]

--------------

skill-location

13 01/6F 00/19 00/35 00/01 00/63 00 (skill lv 1)
13 01 6F 00 19 00 36 00 01 00 32 00 (x+1)
13 01 6D 00 19 00 34 00 01 00 35 00 (y+1)
13 01 6F 00 1B 00 36 00 04 00 65 00 (another skill, another level)

[13 01][y:2][skill:2][x:2][lv:2][junk:2]

------------

getcharname - ?
00F7 9 : sendGetCharacterName



---------

Добавлено: Ср мар 21, 2007 9:04 pm
darzanebor
Lims, ты незнаеш что он передает в sendMove карту и координаты???

Добавлено: Ср мар 21, 2007 9:07 pm
Lims
darzanebor
да вот сам сейчас маюсь) не знаю.
похоже координаты F5 00 00 0D 06 70 35 35 66 65 38 34 62 35 00
вот 38 34 62 00 смахивает на карту.
предыдущее видимо координаты. хотя хз.. у тебя аська есть?)

Добавлено: Ср мар 21, 2007 9:09 pm
darzanebor
Хоть бы кто написал как это все происходит, а то мы мучались минут 40 над sendMove не сделав гет плеер инфо :Yahoo!: