Апдейт rRO от 07.03.2007 - OpenKore..... СНОВА РАБОТАЕТ?!

Официальный сервер Ragnarok On-Line в России - https://ru.4game.com/ro/install/

Модератор: 4epT

Правила форума
ВНИМАНИЕ: реклама сторонних ботов запрещена! Всякие плюшки - можно :)
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

{што мы имеем пока}

Код: Выделить всё


sub sendDrop {
	my ($self, $index, $amount) = @_;
	my $msg;
	$msg = pack("C*", 0x7E, 0x00) . pack("v1", $amount). pack("v1", $index) ;

###7E 00 01 00 02 00 
	$self->sendToServer($msg);
	debug "Sent drop: $index x $amount\n", "sendPacket", 2;
}

sub sendGetPlayerInfo {
	my ($self, $ID) = @_;
	my $msg;
	$msg = pack("C*", 0x93, 0x01) . pack("x3"). $ID ;
	$self->sendToServer($msg);
	debug "Sent get player info: ID - ".getHex($ID)."\n", "sendPacket", 2;
###0>  93 01/31 39 00/6E 70 63    31                         ..19.npc1
}

sub sendMapLogin {
	my $self = shift;
	my $accountID = shift;
	my $charID = shift;
	my $sessionID = shift;
	my $sex = shift;
	my $msg;
	$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");
	$self->sendToServer($msg);

###3  193.0.3.121:1576  81.177.13.23:5000  37  Send  
#0000  F3 00/jj jj jj/ch ch ch ch/ac ac ac ac/jj/ss ss    ..67......g....6
#0010  ss ss/jj jj jj jj jj jj jj jj jj/tt tt tt tt/ee/   ..17cc7411...G..
#0020 /jj jj jj jj jj                                     af0d.

}

sub sendMove {
	my $self = shift;
	my $x = int scalar shift;
	my $y = int scalar shift;
	my $msg;
	$msg = pack("C*", 0x85, 0) . pack("x4") . getCoordString($x, $y, 1) . pack("x3") ;
	$self->sendToServer($msg);
	debug "Sent move to: $x, $y\n", "sendPacket", 2;
###0>  85 00/34 30 63 00/0C 06 F0/31 35 00
}


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*", 0xA7, 0) . pack("x2") . pack("x4") .$syncSync;
	$self->sendToServer($msg);
	debug "Sent Sync\n", "sendPacket", 2;
###A7 00/30 00/34 65 38 00/BF D5 6C 00
}

sub sendTake {
	my $self = shift;
	my $itemID = shift; # $itemID = long
	my $msg;
	$msg = pack("C*", 0x16, 0x01) . $itemID;
	$self->sendToServer($msg);
	debug "Sent take\n", "sendPacket", 2;
### 16 01/69 74 6D 31
}
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

piroJOKE
Айм БЕК. У мня нета не было. Сорри за задержки. Кто подсобит ВМЗ, могу зделать. Тупо чтоб Последний Акк держать, а то щас на оффе у мя ничего нет кроме пары сагов, всё отдал или слил.

Так что господа.... ваши заявки... пересмотрю... и вместе решим судьбу.

А вообще, кому не в лом. Дайте акк с ако(пневма и порталы должны быть) на время, чтоб немного пройтись по пакетикам.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Antarx лично я всё одно через пол-часа сваливаю по важным делам, которых у мну гора, так шо на сегодня я пас в любом случае. Ей-ей, дела.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

kLabMouse, используй силу, Люк. В свежем Посейдоне зайди вторым чаром, поговори нпц, и еще раз зайди. Появятся всевозможные цели и скиллы.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

piroJOKE
ЫЫ. Посейдон... точно....
Просто мне ет... иногда на живом приходится тестить. Ибо посейдон ет одно, живое совсем другое.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

kLabMouse писал(а):Кто подсобит ВМЗ, могу зделать.
ЗЫ: сорри за сверхнаглость, но если там чо-то капнет, и мне немного отстегните, т.к. у меня с деньгами полная лажа, вот сижу, приходиццо подрабатывать всякой х....ней, ппц. Еще раз сорри. :( Нала осталось $10. :( Жопа.
Последний раз редактировалось piroJOKE Ср мар 07, 2007 8:33 pm, всего редактировалось 1 раз.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

piroJOKE
Короче. Посмотрим. Правда у мя нет доступа до общего кошелька розработчиков РОПП, ибо я отказался от него ещё в начале.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

kLabMouse, пару слов насчет П., я распаковал grf (грф-тулзом), грохнул его и подправил xml-ку.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
japplegame
Профессионал
Сообщения: 272
Зарегистрирован: Вс ноя 05, 2006 2:03 pm

Сообщение japplegame »

Я тоже любитель на живом потестить.
Вот еще мой любимый пакет :)

Код: Выделить всё

sub sendLook {
	my ($self, $body, $head) = @_;
	my $msg;
	$msg = pack("C*", 0xF7, 0) . pack("C*", $head, 0, $body);
	$self->sendToServer($msg);
	debug "Sent look: $body $head\n", "sendPacket", 2;
	$char->{look}{head} = $head;
	$char->{look}{body} = $body;
}
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

уупс..... ([я] забыл 0).
Последний раз редактировалось piroJOKE Ср мар 07, 2007 8:40 pm, всего редактировалось 1 раз.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
japplegame
Профессионал
Сообщения: 272
Зарегистрирован: Вс ноя 05, 2006 2:03 pm

Сообщение japplegame »

Чес-говоря задрала эта фихня. Надо писать нормальный сенд и файл-таблицу с закодированными пакетами. Идея стара, но пора бы ее реализовать.
Например для синка

A700 J:2 J:4 SYNC
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

piroJOKE
НЮ. У мя свои методы. Ы.
Ляна. Я иду с подругой погуляю. Прийду всё что осталось склепаю в кучу.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

japplegame писал(а):A700 J:2 J:4 SYNC
Истину глаголишь. Токо кто этим будет занимаццо, не ясно.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Код: Выделить всё

sub sendItemUse {
	my $self = shift;
	my $ID = shift;
	my $targetID = shift;
	my $msg;
	$msg = pack("C*", 0x9F, 0x00)  . pack("v",$ID). $targetID;
###
	$self->sendToServer($msg);
	debug "Item Use: $ID\n", "sendPacket", 2;
}

Код: Выделить всё

sub sendChat {
	my ($self, $message) = @_;
	$message = "|00$message" if ($config{chatLangCode} && $config{chatLangCode} ne "none");
	my ($data, $charName); # Type: Bytes
	$message = stringToBytes($message); # Type: Bytes
	$charName = stringToBytes($char->{name});
###
	$data = pack("C*", 0x8E, 0x00) . pack("v*", length($charName) + length($message) + 8) . $charName . " : " . $message . chr(0);
	$self->sendToServer($data);
	#debug bla-bla-bla not found! ((
}

* * *

Всё, я ушел.
Последний раз редактировалось piroJOKE Ср мар 07, 2007 8:54 pm, всего редактировалось 1 раз.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
japplegame
Профессионал
Сообщения: 272
Зарегистрирован: Вс ноя 05, 2006 2:03 pm

Сообщение japplegame »

Ну мой PacketFinder последний рагекзе успешно расколол, добыл длины пакетов и верно определил синк, хотя я писал его наверное месяца два назад, значит алгоритм патчеустойчивый, в отличие от VCL-евского пакет-экстрактора. К сожалению, он пока ничего кроме длин пакетов и синка не экстрактит ибо забросил его :).
Думаю может продолжить разработку.
Закрыто