WX-интерфейс: Players,Monster&Items - обновление списка

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

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

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Вуфв
Энтузиаст
Сообщения: 53
Зарегистрирован: Пн ноя 20, 2006 10:42 am

WX-интерфейс: Players,Monster&Items - обновление списка

Сообщение Вуфв »

у меня почемуто список необновляется в wx интерфейсе :( .Обьясняю: были мобы мантис мантис агриопа, передвинулся бот в списке осталось мантис мантис агриопа, а на самом дела там агриопа агриопа агриопа %) . что можно с этим сделать :cry: ? прошу подскажите.
Последний раз редактировалось Вуфв Ср дек 06, 2006 10:47 am, всего редактировалось 2 раза.
demm
Энтузиаст
Сообщения: 63
Зарегистрирован: Ср ноя 22, 2006 1:51 pm

Сообщение demm »

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

Сообщение piroJOKE »

Угу, в 1.9.2 - 1.9.3 там где-то сидит БАГ!
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
demm
Энтузиаст
Сообщения: 63
Зарегистрирован: Ср ноя 22, 2006 1:51 pm

Сообщение demm »

а в более ранних версиях такого не было?
Вуфв
Энтузиаст
Сообщения: 53
Зарегистрирован: Пн ноя 20, 2006 10:42 am

Сообщение Вуфв »

piroJOKE может попробуете поправить :roll: ??
demm
Энтузиаст
Сообщения: 63
Зарегистрирован: Ср ноя 22, 2006 1:51 pm

Сообщение demm »

Чорт... сегодня среда... чорт... я полчаса пытаюсь бота приконектить к раггейму... чорт...

Старый wx.pm ($Id: Wx.pm 4447 2006-05-26 18:31:05Z hongli $) (взято с свн 1.9.1)
sub updateItemList {
my $self = shift;
if ($conState == 5) {
$self->{itemList}->set(\@playersID, \%players, \@monstersID, \%monsters,
\@itemsID, \%items, \@npcsID, \%npcs);

$self->{hpBar}->SetValue($char->{hp} / $char->{hp_max} * 100) if ($char->{hp_max});
$self->{spBar}->SetValue($char->{sp} / $char->{sp_max} * 100) if ($char->{sp_max});
$self->{expBar}->SetValue($char->{exp} / $char->{exp_max} * 100) if ($char->{exp_max});
$self->{jobExpBar}->SetValue($char->{exp_job} / $char->{exp_job_max} * 100) if ($char->{exp_job_max});
$self->{weightBar}->SetValue($char->{weight} / $char->{weight_max} * 100) if ($char->{weight_max});
}
}
Новый wx.pm ($Id: Wx.pm 4710 2006-07-08 12:01:48Z hongli $)
sub updateItemList {
my $self = shift;
if ($conState == 5) {
$self->{hpBar}->SetValue($char->{hp} / $char->{hp_max} * 100) if ($char->{hp_max});
$self->{spBar}->SetValue($char->{sp} / $char->{sp_max} * 100) if ($char->{sp_max});
$self->{expBar}->SetValue($char->{exp} / $char->{exp_max} * 100) if ($char->{exp_max});
$self->{jobExpBar}->SetValue($char->{exp_job} / $char->{exp_job_max} * 100) if ($char->{exp_job_max});
$self->{weightBar}->SetValue($char->{weight} / $char->{weight_max} * 100) if ($char->{weight_max});
}
}
Красным подсвечено то что изменено.
Подозреваю что апдейт итемлиста просто напросто убран.
Проверить немогу, рага не работает из-за профилактики...
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Оффтопик: Хе-хе, если ты уж лезешь в Перл, то тебе просто необходимо иметь тестовый сервер. Я имею в виду эмулятор eAthena (www.eathena.ws) на твоем компутере.

Антиоффтопик: Хм, но ведь список всё-таки изменяется? Косо, криво, но изменяется...
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Вуфв
Энтузиаст
Сообщения: 53
Зарегистрирован: Пн ноя 20, 2006 10:42 am

Сообщение Вуфв »

piroJOKE писал(а):Антиоффтопик: Хм, но ведь список всё-таки изменяется? Косо, криво, но изменяется...

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

Сообщение kLabMouse »

Вуфв
Ну. Что-ж Кто доброволец Испробовать? Возможно они переборщили с ентой строчечкой.
demm
Энтузиаст
Сообщения: 63
Зарегистрирован: Ср ноя 22, 2006 1:51 pm

Сообщение demm »

не пашет. ошибка: не может найти метод set...
попозже посмотрю где этот метод описывался в старом wx-фейсе
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Угу, то же самое.

Я подозреваю, что это было убрано временно, т.к. у них внутреннее представление данных изменилось.
Т.е., хотели вставить "что-то-другое", но не вставили...
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
demm
Энтузиаст
Сообщения: 63
Зарегистрирован: Ср ноя 22, 2006 1:51 pm

Сообщение demm »

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

Сообщение kLabMouse »

demm
Субоект или Субклас.
Вуфв
Энтузиаст
Сообщения: 53
Зарегистрирован: Пн ноя 20, 2006 10:42 am

Сообщение Вуфв »

Тема ещё открыта ? Жду помощи тогда :cry:

___
(piroJOKE: хватит флудить по темам! )
demm
Энтузиаст
Сообщения: 63
Зарегистрирован: Ср ноя 22, 2006 1:51 pm

Сообщение demm »

Кроме того что я писал выше, надо добавить в Itemlist.pm, между "sub OnGetItemImage" и "1;" следующее:
sub OnGetItemImage {
return 0;
}

sub set {
my $self = shift;

my @objectsID;
my %objects;

my $r_playersID = shift;
my $players = shift;
foreach (@{$r_playersID}) {
next if (!$_ || !$players->{$_});
push @objectsID, $_;
$objects{$_} = {%{$players->{$_}}};
$objects{$_}{type} = 'p';
}

my $r_monstersID = shift;
my $monsters = shift;
foreach (@{$r_monstersID}) {
next if (!$_ || !$monsters->{$_});
push @objectsID, $_;
$objects{$_} = {%{$monsters->{$_}}};
$objects{$_}{type} = 'm';
}

my $r_itemsID = shift;
my $items = shift;
foreach (@{$r_itemsID}) {
next if (!$_ || !$items->{$_});
push @objectsID, $_;
$objects{$_} = {%{$items->{$_}}};
$objects{$_}{type} = 'i';
}

my $r_npcsID = shift;
my $npcs = shift;
foreach (@{$r_npcsID}) {
next if (!$_ || !$npcs->{$_});
push @objectsID, $_;
$objects{$_} = {%{$npcs->{$_}}};
$objects{$_}{type} = 'n';
}

$self->{objectsID} = \@objectsID;
$self->{objects} = \%objects;
$self->SetItemCount(scalar(@objectsID)) if (scalar(@objectsID) != $self->GetItemCount);
$self->RefreshItems(0, -1);
}

1;
Это кусок кода, то что красным выделено, то добавлено.

Но толку ноль вроде... Новиса в новис граунд пустил, как глючил итем лист, так и глючит вроде.
Проверте пожалуйста кто нибудь... У меня ро на удаленке запущен, через vnc тестить сложно...
Ответить