[сделано] пакет 07F6 (exp) на пиратке

BugTraq: обнаруженные ошибки и обсуждение их устранения.

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

Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

[сделано] пакет 07F6 (exp) на пиратке

Сообщение 4epT »

Почему вот это не внесли в ветку сервертипов kRO??

по моим размышлениям надо в файл Sakexe_0.pm добавить

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

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: %d\n", @{$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: %d\n", @{$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: %d\n", @{$args}{qw(type flag val)}), 'exp2', 2;
		}
	}
}
PS: спёрто с ServerType0.pm
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: пакет 07F6 (exp) на пиратке

Сообщение EternalHarvest »

Да, но не в Sakexe_0, а в RagexeRE_2009_10_27a.pm, где этот пакет появляется.
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Re: пакет 07F6 (exp) на пиратке

Сообщение 4epT »

аха, тогда в файл 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) {
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: пакет 07F6 (exp) на пиратке

Сообщение EternalHarvest »

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

use Translation qw(T TF);
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Re: пакет 07F6 (exp) на пиратке

Сообщение 4epT »

аха ;)
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
manticora
Грамотный
Сообщения: 436
Зарегистрирован: Ср авг 29, 2007 12:45 pm

Re: пакет 07F6 (exp) на пиратке

Сообщение manticora »

Спасибо, прикольно :-)
# Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже.
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Re: пакет 07F6 (exp) на пиратке

Сообщение 4epT »

Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Ответить