аха, тогда в файл
RagexeRE_2009_10_27a.pm добавляем:
Код: Выделить всё
use Globals qw($char);
use Log qw(message);
use constant {
EXP_FROM_BATTLE => 0x0,
EXP_FROM_QUEST => 0x1,
VAR_EXP => 0x1,
VAR_JOBEXP => 0x2,
};
# 07F6 (exp) doesn't change any exp information because 00B1 (exp_zeny_info) is always sent with it
sub exp {
my ($self, $args) = @_;
my $max = {VAR_EXP, $char->{exp_max}, VAR_JOBEXP, $char->{exp_job_max}}->{$args->{type}};
$args->{percent} = $max ? $args->{val} / $max * 100 : 0;
if ($args->{flag} == EXP_FROM_BATTLE) {
if ($args->{type} == VAR_EXP) {
message TF("Base Exp gained: %d (%.2f%%)n", @{$args}{qw(val percent)}), 'exp2', 2;
} elsif ($args->{type} == VAR_JOBEXP) {
message TF("Job Exp gained: %d (%.2f%%)n", @{$args}{qw(val percent)}), 'exp2', 2;
} else {
message TF("Unknown (type=%d) Exp gained: %dn", @{$args}{qw(type val)}), 'exp2', 2;
}
} elsif ($args->{flag} == EXP_FROM_QUEST) {
if ($args->{type} == VAR_EXP) {
message TF("Base Quest Exp gained: %d (%.2f%%)n", @{$args}{qw(val percent)}), 'exp2', 2;
} elsif ($args->{type} == VAR_JOBEXP) {
message TF("Job Quest Exp gained: %d (%.2f%%)n", @{$args}{qw(val percent)}), 'exp2', 2;
} else {
message TF("Unknown (type=%d) Quest Exp gained: %dn", @{$args}{qw(type val)}), 'exp2', 2;
}
} else {
if ($args->{type} == VAR_EXP) {
message TF("Base Unknown (flag=%d) Exp gained: %d (%.2f%%)n", @{$args}{qw(flag val percent)}), 'exp2', 2;
} elsif ($args->{type} == VAR_JOBEXP) {
message TF("Job Unknown (flag=%d) Exp gained: %d (%.2f%%)n", @{$args}{qw(flag val percent)}), 'exp2', 2;
} else {
message TF("Unknown (type=%d) Unknown (flag=%d) Exp gained: %dn", @{$args}{qw(type flag val)}), 'exp2', 2;
}
}
}
Добавлено спустя 1 час 52 минуты 9 секунд:
нет СТОП, возникает ошибка:
Ваш персонаж стал 4-го уровня!
Вы - получение уровня!
Данная программа, OpenKore, столкнулась с неожиданной проблемой. Это могло
произойти из-за недавнего обновления на сервере, ошибки в самой программе или
же в одном из её плагинов. Мы приносим извинения за эту проблему. Вы можете
обратиться за помощью в IRC или на форум.
Подробный отчёт об ошибке записан в файле errors.txt. Прежде, чем сообщать
о найденной ошибке в OpenKore:
1. Обновитесь до свежей версии при помощи SVN. Если это действительно ошибка,
возможно, она уже устранена.
2. Поищите на форуме. Возможно, эта проблема уже решена, Может быть данная
проблема уже была решена,
или же о ней уже хотя бы сообщили. В данном случае используйте существующие
темы, если у вас есть новая информация.
Если же вы искренне уверены, что столкнулись с новой ошибкой в программе, тогда
приложите файл errors.txt к вашему сообщению на форуме, иначе мы не сможем вам
помочь!
Сообщение об ошибке:
Undefined subroutine &Network::Receive::kRO::RagexeRE_2009_10_27a::TF called at
src/Network/Receive/kRO/RagexeRE_2009_10_27a.pm line 62.
Нажмите ENTER для завершения программы.
Вот errors.txt:
Код: Выделить всё
OpenKore version what-will-become-2.1
@ai_seq =
Network state = 5
Network handler = Network::XKore
SVN revision: unknown
Loaded plugins:
plugins/macro.pl (macro)
Error message:
Undefined subroutine &Network::Receive::kRO::RagexeRE_2009_10_27a::TF called at src/Network/Receive/kRO/RagexeRE_2009_10_27a.pm line 62.
Stack trace:
Undefined subroutine &Network::Receive::kRO::RagexeRE_2009_10_27a::TF called at src/Network/Receive/kRO/RagexeRE_2009_10_27a.pm line 62.
at src/Network/Receive/kRO/RagexeRE_2009_10_27a.pm line 61
Network::Receive::kRO::RagexeRE_2009_10_27a::exp('Network::Receive::kRO::RagexeRE_2010_07_01a=HASH(0x4c628a4)', 'HASH(0x52f205c)') called at src/Network/Receive.pm line 193
Network::Receive::parse('Network::Receive::kRO::RagexeRE_2010_07_01a=HASH(0x4c628a4)', '\x{f6}\x{7}\x{b3}\x{85}\x{1e}\x{0}?\x{0}\x{0}\x{0}\x{1}\x{0}\x{1}\x{0}') called at src/functions.pl line 1329
main::parseIncomingMessage('\x{f6}\x{7}\x{b3}\x{85}\x{1e}\x{0}?\x{0}\x{0}\x{0}\x{1}\x{0}\x{1}\x{0}') called at src/functions.pl line 690
main::mainLoop_initialized() called at src/functions.pl line 69
main::mainLoop() called at src/Interface.pm line 75
Interface::mainLoop('Interface::Console::Win32=HASH(0x34b28c4)') called at openkore.pl line 97
main::__start() called at start.pl line 136
Выполнение прервано на строке:
if ($args->{type} == VAR_EXP) {
* message TF("Base Quest Exp gained: %d (%.2f%%)\n", @{$args}{qw(val percent)}), 'exp2', 2;
} elsif ($args->{type} == VAR_JOBEXP) {