Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

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

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

Аватара пользователя
AndreyLun
Грамотный
Сообщения: 280
Зарегистрирован: Пн фев 05, 2007 5:55 pm

Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение AndreyLun »

Собственно в Январе собран ОК с репозитория.
После запуска wxstart в консоли появились новые статусы хД
Вот скрины со стандартным интерфейсом:

Изображение

Скрин с изменённым интерфейсом:

Изображение

На втором скрине видно, что эти "статусы" выводятся как обычные статусы(касты) для персонажа.
Проблема заключается в том, что мне необходимо убрать все эти статусы, чтобы они не выводились ни в консоли ни в строке статусов...
Пожалуйста укажите где и что надо убрать в каких файлах? Если это вообще возможно :(
Святой Инквизитор
Грамотный
Сообщения: 235
Зарегистрирован: Вт сен 07, 2010 2:24 pm
Сервер RO:: Никакого
Discord: Mortimal#5416
Откуда: от верблюда
Контактная информация:

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение Святой Инквизитор »

Как вариант можно написать им имя поменьше в MAPPROPERTY_TYPE(INFO)_id_handle.txtИли тебе нужно их вообще убрать?
Изображение
Ну не работает у тебя бот.... и чё теперь надо всем про это рассказать что ли?
Аватара пользователя
AndreyLun
Грамотный
Сообщения: 280
Зарегистрирован: Пн фев 05, 2007 5:55 pm

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение AndreyLun »

Вообще убрать, зачем они вообще нужны?
По крайней мере если и нужны пусть будут невидимы для глаз...
Святой Инквизитор
Грамотный
Сообщения: 235
Зарегистрирован: Вт сен 07, 2010 2:24 pm
Сервер RO:: Никакого
Discord: Mortimal#5416
Откуда: от верблюда
Контактная информация:

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение Святой Инквизитор »

ServerType0.pm

Закоментируй:

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

$char->setStatus(@$_) for map {[$_->[1], $args->{type} == $_->[0]]}
их там 2ва походу...
Изображение
Ну не работает у тебя бот.... и чё теперь надо всем про это рассказать что ли?
Аватара пользователя
AndreyLun
Грамотный
Сообщения: 280
Зарегистрирован: Пн фев 05, 2007 5:55 pm

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение AndreyLun »

srcNetworkReceiveServerType0.pm
делаю вырезки где возможно причина:
***

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

sub actor_status_active {
	my ($self, $args) = @_;

	return unless changeToInGameState();
	my ($type, $ID, $flag, $tick) = @{$args}{qw(type ID flag tick)};

	my $status = defined $statusHandle{$type} ? $statusHandle{$type} : "UNKNOWN_STATUS_$type";
	
	$args->{skillName} = defined $statusName{$status} ? $statusName{$status} : $status;
	($args->{actor} = Actor::get($ID))->setStatus($status, $flag, $tick);
}
***

***

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

sub map_property {
	my ($self, $args) = @_;
	
	$char->setStatus(@$_) for map {[$_->[1], $args->{type} == $_->[0]]}
	grep { $args->{type} == $_->[0] || $char->{statuses}{$_->[1]} }
	map {[$_, defined $mapPropertyTypeHandle{$_} ? $mapPropertyTypeHandle{$_} : "UNKNOWN_MAPPROPERTY_TYPE_$_"]}
	1 .. List::Util::max $args->{type}, keys %mapPropertyTypeHandle;
	
	if ($args->{info_table}) {
		my @info_table = unpack 'C*', $args->{info_table};
		$char->setStatus(@$_) for map {[
			defined $mapPropertyInfoHandle{$_} ? $mapPropertyInfoHandle{$_} : "UNKNOWN_MAPPROPERTY_INFO_$_",
			$info_table[$_],
		]} 0 .. @info_table-1;
	}
	
	$pvp = {1 => 1, 3 => 2}->{$args->{type}};
	if ($pvp) {
		Plugins::callHook('pvp_mode', {
			pvp => $pvp # 1 PvP, 2 GvG
		});
	}
}

sub map_property2 {
	my ($self, $args) = @_;
	
	$char->setStatus(@$_) for map {[$_->[1], $args->{type} == $_->[0]]}
	grep { $args->{type} == $_->[0] || $char->{statuses}{$_->[1]} }
	map {[$_, defined $mapTypeHandle{$_} ? $mapTypeHandle{$_} : "UNKNOWN_MAPTYPE_$_"]}
	0 .. List::Util::max $args->{type}, keys %mapTypeHandle;
	
	$pvp = {6 => 1, 8 => 2, 19 => 3}->{$args->{type}};
	if ($pvp) {
		Plugins::callHook('pvp_mode', {
			pvp => $pvp # 1 PvP, 2 GvG, 3 Battleground
		});
	}
}
В общем дело в этом файле... как сделать, чтобы эти "статусы" исчезли?))
Как то надо это дело пофиксить...

Добавлено спустя 2 часа 6 минут 35 секунд:
Варварским способом, при помощи # "отключил" некоторые строки...
в блоке

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

sub actor_status_active 

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

[size=85]my $status = defined $statusHandle{$type} ? $statusHandle{$type} : "UNKNOWN_STATUS_$type";
#$args->{skillName} = defined $statusName{$status} ? $statusName{$status} : $status;
#($args->{actor} = Actor::get($ID))->setStatus($status, $flag, $tick);
}[/size]
и в блоках

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

sub map_property    sub map_property2

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

[size=85]sub map_property {
	my ($self, $args) = @_;
	
#	$char->setStatus(@$_) for map {[$_->[1], $args->{type} == $_->[0]]}
#	grep { $args->{type} == $_->[0] || $char->{statuses}{$_->[1]} }
#	map {[$_, defined $mapPropertyTypeHandle{$_} ? $mapPropertyTypeHandle{$_} : "UNKNOWN_MAPPROPERTY_TYPE_$_"]}
#	1 .. List::Util::max $args->{type}, keys %mapPropertyTypeHandle;
	
#	if ($args->{info_table}) {
#		my @info_table = unpack 'C*', $args->{info_table};
#		$char->setStatus(@$_) for map {[
#			defined $mapPropertyInfoHandle{$_} ? $mapPropertyInfoHandle{$_} : "UNKNOWN_MAPPROPERTY_INFO_$_",
#			$info_table[$_],
#		]} 0 .. @info_table-1;
#	}[/size]

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

[size=85]sub map_property2 {
	my ($self, $args) = @_;
	
#	$char->setStatus(@$_) for map {[$_->[1], $args->{type} == $_->[0]]}
#	grep { $args->{type} == $_->[0] || $char->{statuses}{$_->[1]} }
#	map {[$_, defined $mapTypeHandle{$_} ? $mapTypeHandle{$_} : "UNKNOWN_MAPTYPE_$_"]}
#	0 .. List::Util::max $args->{type}, keys %mapTypeHandle;
	[/size]
Добавлено спустя 7 минут 37 секунд:
Исчезли "статусы" при запуске бота, но не все...
вот скрин
Изображение
остался ещё один статус, хз где он находится...
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение EternalHarvest »

AndreyLun писал(а):остался ещё один статус, хз где он находится...
Это обычный статус, вот же он:
Вы получили статус: look: Pecopeco
Интерфейс видимо давно не обновлялся, и все статусы выводит по ключам %{$char->{statuses}}, а не через $char->statusesString.
diazzz
Энтузиаст
Сообщения: 133
Зарегистрирован: Чт июл 16, 2009 10:57 am
Сервер RO:: MOTR

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение diazzz »

Tут кто-нить может добавить статус танцев Braga, Servis, Assassin Cross и Яблочки? Вроде принцип должен быть похож.
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение EternalHarvest »

diazzz писал(а):Tут кто-нить может добавить статус танцев Braga, Servis, Assassin Cross и Яблочки? Вроде принцип должен быть похож.
А где они обычно отображаются? В spells?
Аватара пользователя
AndreyLun
Грамотный
Сообщения: 280
Зарегистрирован: Пн фев 05, 2007 5:55 pm

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение AndreyLun »

EternalHarvest писал(а):
AndreyLun писал(а):остался ещё один статус, хз где он находится...
Это обычный статус, вот же он:
Вы получили статус: look: Pecopeco
разве статус EFFECTSTATE_CHIKEN это Pecopeco?) а почему он не пишется как надо?...
EternalHarvest писал(а): Интерфейс видимо давно не обновлялся, и все статусы выводит по ключам %{$char->{statuses}}, а не через $char->statusesString.
Wx.pm последний(просто я переделал и добавил кнопки) и все остальные файлы ОК скачивал где то 26 января с репозитория.
и файлы wxstart.exe и start.exe тоже новые...
Даже пробовал скачать готовый ОК всё равно все эти статусы появляются...
может была совершена где то ошибка при заливке на репозиторий?
Кто этим занимается... проверьте ОК на работу пожалуйста)
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение EternalHarvest »

Выложи этот Wx.pm или внесённые в него изменения.
diazzz
Энтузиаст
Сообщения: 133
Зарегистрирован: Чт июл 16, 2009 10:57 am
Сервер RO:: MOTR

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение diazzz »

EternalHarvest писал(а):
diazzz писал(а):Tут кто-нить может добавить статус танцев Braga, Servis, Assassin Cross и Яблочки? Вроде принцип должен быть похож.
А где они обычно отображаются? В spells?
ну да они как спелы, а статуса браги не видно в коре.
Аватара пользователя
AndreyLun
Грамотный
Сообщения: 280
Зарегистрирован: Пн фев 05, 2007 5:55 pm

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение AndreyLun »

Выложил.
Вложения
Wx0.zip
Оригинальный WX.pm
(11.67 КБ) 205 скачиваний
Wx.zip
Изменённый WX.pm
(13.08 КБ) 228 скачиваний
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение EternalHarvest »

EternalHarvest писал(а):Интерфейс видимо давно не обновлялся, и все статусы выводит по ключам %{$char->{statuses}}, а не через $char->statusesString.
-

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

	my $statuses = '';
	if ($char) {
		if (defined $char->{statuses} && %{$char->{statuses}}) {
			$statuses = join(", ", keys %{$char->{statuses}});
		}
	}
+

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

	my $statuses = $char->statusesString;
Аватара пользователя
AndreyLun
Грамотный
Сообщения: 280
Зарегистрирован: Пн фев 05, 2007 5:55 pm

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение AndreyLun »

Со оригинальным WX.pm интерфейсом:
Изображение

С изменённым WX.pm интерфейсом:
Изображение

В оригинальном интерфейсе всё осталось как было... изменённый с ошибкой.
Файл ServerType0.pm использовал оригинальный.
Если запускать ОК с ServerType0.pm изменённым как в моём посте
viewtopic.php?p=86863#p86863
То изменённый интерфейс запускается, но EFFECTSTATE_CHIKEN вместо Pecopeco так и выводится...
Видимо не помогло...
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: Новые статусы в ОК (MAPPROPERTY,MAPTYPE), *_id_handle файлы.

Сообщение EternalHarvest »

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

	my $statuses = $char && $char->statusesString;
Ответить