Проблема с атакой(которая на самом деле является проблемой передвижения) решена. Спасибо Lims.
Если кого-нить интересует, могу описать что надо сделать чтобы гом работал.
Бота дисконектит когда хомункул начинает атаковать [error?]
Модератор: 4epT
Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Можно заметить, что если вы вошли в игру и рядом с гомом стоит моб, то гом нормально его атакует, но если надо прощитать путь к мобу, то сразу идёт краш Коры. Значит проблема совсем и вовсе не в атаке, а в передвижении. Если проанализировать соответствующие пакеты Коры и Клиента выловив их wpe, можно заметить что Кора генерирует пакет на 1 байт длиннее.
Решение проблемы:
1. Лезем \src\Utils.pm
Там находим что-то типа:
Вот тут то сцуко лишний байт и прячется.. А если точнее, то вот он:
2. Создаём копию этого участка, но с другим именем и без строчки генерирующей лишний байт:
3. В этом же докупенте находим в самом начале:
и дописываем там наше название:
4. Лезем в \src\Network\Send\ServerType0.pm
Там находим:
И меняем получение координат на наше:
ПС: Спасибо Lims'у за указания..
Решение проблемы:
1. Лезем \src\Utils.pm
Там находим что-то типа:
Код: Выделить всё
sub getCoordString {
my $x = int(shift);
my $y = int(shift);
my $nopadding = shift;
my $coords = "";
shiftPack(\$coords, 0x44, 8)
unless (($config{serverType} == 0) || ($config{serverType} == 3) || ($config{serverType} == 5) || $nopadding);
shiftPack(\$coords, $x, 10);
shiftPack(\$coords, $y, 10);
shiftPack(\$coords, 0, 4);
return $coords;
}
Код: Выделить всё
shiftPack(\$coords, 0x44, 8)
unless (($config{serverType} == 0) || ($config{serverType} == 3) || ($config{serverType} == 5) || $nopadding);
Код: Выделить всё
sub getCoordStringGom {
my $x = int(shift);
my $y = int(shift);
my $nopadding = shift;
my $coords = "";
shiftPack(\$coords, $x, 10);
shiftPack(\$coords, $y, 10);
shiftPack(\$coords, 0, 4);
return $coords;
}
Код: Выделить всё
our @EXPORT = ( ................
Код: Выделить всё
.....
qw(dataWaiting dumpHash formatNumber getCoordString getCoordString2 getCoordStringGom
.......
Там находим:
Код: Выделить всё
sub sendHomunculusMove {
my $self = shift;
my $homunID = shift;
my $x = int scalar shift;
my $y = int scalar shift;
my $msg = pack("C*", 0x32, 0x02) . $homunID . getCoordString($x, $y);
$self->sendToServer($msg);
debug "Sent Homunculus move to: $x, $y\n", "sendPacket", 2;
}
Код: Выделить всё
sub sendHomunculusMove {
my $self = shift;
my $homunID = shift;
my $x = int scalar shift;
my $y = int scalar shift;
my $msg = pack("C*", 0x32, 0x02) . $homunID . getCoordStringGom($x, $y);
$self->sendToServer($msg);
debug "Sent Homunculus move to: $x, $y\n", "sendPacket", 2;
}
ПС: Спасибо Lims'у за указания..
-
- Новичок
- Сообщения: 7
- Зарегистрирован: Ср апр 04, 2007 9:05 pm
- Откуда: Рун-МидГард
- Контактная информация:
Re: Бота дисконектит когда хомункул начинает атаковать [error?]
не помогло бот всё равно виснет =((
з.ы. Заметил, что лока с агриопами (mjolnir_05) не зависает на ней бот. В ОРк дандже, гефе виснет. =\
з.ы. Заметил, что лока с агриопами (mjolnir_05) не зависает на ней бот. В ОРк дандже, гефе виснет. =\
Ecли y вac pyки нe oттyдa pacтyт - знaчит, этo нoги!
ИМХО.....
[quote=СвиноМатка]Опаздавшему порасёнку, сиська возле Жопы!!![/quote]
ИМХО.....
[quote=СвиноМатка]Опаздавшему порасёнку, сиська возле Жопы!!![/quote]
- Kukuruzina
- Новичок
- Сообщения: 3
- Зарегистрирован: Вт июн 16, 2009 6:58 pm
- Сервер RO:: Rusro
Re: Бота дисконектит когда хомункул начинает атаковать [error?]
excellent
чёт не получается, ошибку выдаёт в servertype8. Можешь пожалуйста залить куда-нить свою папку src???
чёт не получается, ошибку выдаёт в servertype8. Можешь пожалуйста залить куда-нить свою папку src???