вылет при получении приватного чата в 5214B,5275 (((

Общие вопросы по OpenKore обсуждаются здесь. Можно сказать, что это - основной раздел форума.
Возник вопрос? Вам сюда.

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

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Sunlive
Начинающий
Сообщения: 15
Зарегистрирован: Вт ноя 14, 2006 12:59 pm
Контактная информация:

вылет при получении приватного чата в 5214B,5275 (((

Сообщение Sunlive »

OpenKore 1.9.3 beta SVN 5214B
OpenKore 1.9.3 beta SVN 5275
OpenKore version 1.9.3
@ai_seq = follow
Loaded plugins:
plugins/doCommand.pl (doCommand)
plugins/macro.pl (macro)
plugins/ropp.pl (ppengine)

Can't locate object method "sendPartyChat" via package "Network" at D:/bots/support/src/Misc.pm line 2324.
at D:/bots/support/src/Interface/Wx.pm line 130
Interface::Wx::mainLoop('Interface::Wx=HASH(0x262fe94)') called at openkore.pl line 365
main::__start() called at start.pl line 127


Died at this line:
} elsif ($type eq "p") {
* $sender->sendPartyChat($msg);
} elsif ($type eq "pm") {

смысл в чем:

бот вылетает при привате.
сначала думал не катит плагин alertsound
оказалось что нет.

пробывал собирать СВН с опен коры та же фигня.
при привате выбивает ошибку.

помогите поправить пожалуйста

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

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

Сообщение piroJOKE »

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

Сообщение kLabMouse »

Хех. Нуно будет ВСЦ сообщить о баге!
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

viewtopic.php?t=682
wx то он наверное русский пользует
Sunlive
Начинающий
Сообщения: 15
Зарегистрирован: Вт ноя 14, 2006 12:59 pm
Контактная информация:

Сообщение Sunlive »

эмс...

было всяко.
я обычно не пишу о проблеме пока сам все не перепробую.

одна и та же ошибка на чистой коре с wx оригинальным и c твоим, и с консолью тоже самое.

+к выше сказаному. эта ошибка еще возникает при патичате
Vetal
Начинающий
Сообщения: 49
Зарегистрирован: Вт дек 05, 2006 6:22 pm
Откуда: Новосибирск

Сообщение Vetal »

У меня стоит 5275 (сливал 18:53:12, 28 декабря 2006 г.)... нету такой проблемы... приваты нормально работают (на них настроены алерты - правда плагин свой), то есть и сам пишу и мне пишут... wx стандратный из svn (английский)... патичат тоже нормально пашет в обе стороны...
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

5275 вырубается с ошибкой, вродь такая же проблема как и у Sunlive, вроде загвоздка как раз в плагине алерт саунд


Vetal не мог бы ты выложить свой плагин алерт саунда? потестить охото
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

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

Сообщение kLabMouse »

Click
Снеси нах использование decrypt функции.
Или скопируй её прямо в плаг.
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

вот такая хрень при старте коре с уже запущенным клиентом в режиме xkore

Ragnarok Online client found
Waiting for the Ragnarok Online client to connect to X-Kore... ready
You can login with the Ragnarok Online client now.
This program has encountered an unexpected problem. This is probably because
of a bug in this program. Please tell us about this problem.

The error message is:
Undefined subroutine &AI::CoreLogic::injectAdminMessage called at
D:/Games/Ragnarok/193SVN5275/src/AI/CoreLogic.pm line 56.


A more detailed error report is saved to errors.txt. Please include the
contents of this file in your report, or we may not be able to help you!
Press ENTER to exit this program.

причём после этого клиент дисконектит

а 56 строка в корелоджике гласит
injectAdminMessage("Please relogin to enable X-${Settings::NAME}.") if ($config{verbose});
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

в общем да) везде где встречается encrypt кора велетает с ошибкой

Send.pm

sub injectMessage {
my ($self, $message) = @_;
my $name = stringToBytes("|");
my $msg .= $name . stringToBytes(" : $message") . chr(0);
encrypt(\$msg, $msg);
$msg = pack("C*", 0x09, 0x01) . pack("v*", length($name) + length($message) + 12) . pack("C*",0,0,0,0) . $msg;
encrypt(\$msg, $msg);
$self->{net}->clientSend($msg);
}

sub injectAdminMessage {
my ($self, $message) = @_;
$message = stringToBytes($message);
$message = pack("C*",0x9A, 0x00) . pack("v*", length($message)+5) . $message .chr(0);
encrypt(\$message, $message);
$self->{net}->clientSend($message);
}


alertsound.pl

# Private chat message.
my $msg_size = length($msg);
my $newmsg;
Network::Send::decrypt(\$newmsg, substr($msg, 28, length($msg)-28));
$msg = substr($msg, 0, 28).$newmsg;
my ($privMsgUser) = substr($msg, 4, 24) =~ /([\s\S]*?)\000/;
my $privMsg = substr($msg, 28, $msg_size - 29);

if ($privMsgUser =~ /^([a-z]?ro)?-?(Sub)?-?\[?GM\]?/i) {
alertSound("private GM chat");
} else {
alertSound("private chat");
}

сама эта функция в Receive.pm. раньше её там не было)
задачка: как бы её убрать или заменить, но чтоб всё работало)
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

Click
Избавься от функций *crypt вот и всё!
Vetal
Начинающий
Сообщения: 49
Зарегистрирован: Вт дек 05, 2006 6:22 pm
Откуда: Новосибирск

Сообщение Vetal »

Click, сорри что не сразу ответил, праздники и все такое... вот мой плагин для алертов (делал на скорую руку под себя - ногами не бейте)...

package SoundAlert;

# Sound alert plugin by *******

use Plugins;
use Globals;
use Log qw(message warning error);

Plugins::register('soundalert', 'Sound alert plugin', \&Unload);

my $hooks = Plugins::addHooks(
['packet_pubMsg', \&onPublicMsg, undef],
['packet_privMsg', \&onPrivateMsg, undef],
['packet_selfChat', \&onChatMsg, undef],
['packet_partyMsg', \&onPartyMsg, undef],
['packet_guildMsg', \&onGuildMsg, undef],
['packet_skilluse', \&onSkillUse, undef],
['charNameUpdate', \&onPlayer, undef]);

sub Unload {
Plugins::delHooks($hooks);
}

sub onPublicMsg {
Utils::Win32::playSound('plugins\sounds\speak.wav');

}

sub onPrivateMsg {
Utils::Win32::playSound('plugins\sounds\speak.wav');

}

sub onChatMsg {
# Utils::Win32::playSound('plugins\sounds\speak.wav');

}

sub onPartyMsg {
# Utils::Win32::playSound('plugins\sounds\speak.wav');

}

sub onGuildMsg {
# Utils::Win32::playSound('plugins\sounds\speak.wav');

}

sub onSkillUse {
my (undef, $args) = @_;
my $skill = new Skills(id => $args->{skillID});
my $player = $playersList->getByID($args->{sourceID});
my $monster = $monstersList->getByID($args->{targetID});
if ($args->{sourceID} eq $accountID) {
# warning "I'm cast ".$skill->name."\n";
return;
}
if ($player && !($player->{party}{name} eq $char->{party}{name}) && ($args->{targetID} eq $accountID)) {
# warning "$player cast ".$skill->name." on me\n";
Utils::Win32::playSound('plugins\sounds\skill.wav');
return;
}
if ($args->{targetID} eq $monster) {
# warning "$player cast ".$skill->name." on $monster->name\n";
Utils::Win32::playSound('plugins\sounds\steal.wav');
return;
}
}

sub onPlayer {
my (undef, $args) = @_;
if (!($args->{party}{name} eq $char->{party}{name}) && !($args->{guild}{name} eq $char->{guild}{name})) {
Utils::Win32::playSound('plugins\sounds\alert.wav');
}
}

1;
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

kLabMouse писал(а):Click
Избавься от функций *crypt вот и всё!
ну в плагине закоментировал, теперь плагин работатет
Network::Send::decrypt(\$newmsg, substr($msg, 28, length($msg)-2Cool);

а вот с коре лоджик не получается никак всё таже ошибка
Sunlive
Начинающий
Сообщения: 15
Зарегистрирован: Вт ноя 14, 2006 12:59 pm
Контактная информация:

Сообщение Sunlive »

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

- Network::Send::decrypt(\$newmsg, substr($msg, 28, length($msg)-28));


+ Network::Receive->decrypt(\$newmsg, substr($msg, 28, length($msg)-28));
:D
Ответить