WX-интерфейс: Players,Monster&Items - обновление списка
Модератор: 4epT
Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
WX-интерфейс: Players,Monster&Items - обновление списка
у меня почемуто список необновляется в wx интерфейсе .Обьясняю: были мобы мантис мантис агриопа, передвинулся бот в списке осталось мантис мантис агриопа, а на самом дела там агриопа агриопа агриопа . что можно с этим сделать ? прошу подскажите.
Последний раз редактировалось Вуфв Ср дек 06, 2006 10:47 am, всего редактировалось 2 раза.
Чорт... сегодня среда... чорт... я полчаса пытаюсь бота приконектить к раггейму... чорт...
Старый wx.pm ($Id: Wx.pm 4447 2006-05-26 18:31:05Z hongli $) (взято с свн 1.9.1)
Подозреваю что апдейт итемлиста просто напросто убран.
Проверить немогу, рага не работает из-за профилактики...
Старый wx.pm ($Id: Wx.pm 4447 2006-05-26 18:31:05Z hongli $) (взято с свн 1.9.1)
Новый wx.pm ($Id: Wx.pm 4710 2006-07-08 12:01:48Z hongli $)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});
}
}
Красным подсвечено то что изменено.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
Оффтопик: Хе-хе, если ты уж лезешь в Перл, то тебе просто необходимо иметь тестовый сервер. Я имею в виду эмулятор eAthena (www.eathena.ws) на твоем компутере.
Антиоффтопик: Хм, но ведь список всё-таки изменяется? Косо, криво, но изменяется...
Антиоффтопик: Хм, но ведь список всё-таки изменяется? Косо, криво, но изменяется...
Кроме того что я писал выше, надо добавить в Itemlist.pm, между "sub OnGetItemImage" и "1;" следующее:
Но толку ноль вроде... Новиса в новис граунд пустил, как глючил итем лист, так и глючит вроде.
Проверте пожалуйста кто нибудь... У меня ро на удаленке запущен, через vnc тестить сложно...
Это кусок кода, то что красным выделено, то добавлено.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 тестить сложно...