слетает TwoHand-Quicken найта при смене оружия [решено]
Модератор: 4epT
Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
слетает TwoHand-Quicken найта при смене оружия [решено]
думаю конфиг понятен:
autoSwitch_default_rightHand +5 Fire Claymore
autoSwitch Magnolia {
rightHand +5 Wind Claymore
}
но при смене оружия снимается 2хендквикен - в игре это происходит когда снимаешь меч и потом одеваешь меч, а при смене оружия через слоты клавишами F... Квикен не слетает, как решить эту проблему?
autoSwitch_default_rightHand +5 Fire Claymore
autoSwitch Magnolia {
rightHand +5 Wind Claymore
}
но при смене оружия снимается 2хендквикен - в игре это происходит когда снимаешь меч и потом одеваешь меч, а при смене оружия через слоты клавишами F... Квикен не слетает, как решить эту проблему?
- piroJOKE
- Модератор
- Сообщения: 8205
- Зарегистрирован: Сб ноя 04, 2006 2:20 am
- Сервер RO:: localhost
- Откуда: Molvania
Угу, та же лажа, я просто заремарил посылку пакета "снять оружие".
(Т.е. Коре почему то сначала снимает старое, а потом одевает новое.)
Короче, где то так:
(Т.е. Коре почему то сначала снимает старое, а потом одевает новое.)
Короче, где то так:
Код: Выделить всё
sub sendUnequip { my $self = shift; my $index = shift; my $msg = pack("C*", 0xAB, 0x00) . pack("v*", $index); ###### $self->sendToServer($msg); debug "Sent Unequip: $index\n", "sendPacket", 2; }
Он нужен для того что бы одевать раздельно правую и левую руки (для синов и т.п.)piroJOKE писал(а):Прикол в том, что Kore зачем-то сует unequip туда, где он вообще не нужен по идее... Для надежности, что ли?
Но условие снятия вещи - это отсутствие статусов Twohand Quicken и аналогичных... почему оно выполняется - вот вопрос?
if((!Misc::whenStatusActive("Twohand Quicken, Adrenaline, Spear Quicken") || $config{"autoSwitch_$i"."_rightHand"} eq "[NONE]") && $Rdef ne "" && $Rdef ne $Ldef) {
$net->sendUnequip($chars[$config{'char'}]{'inventory'}[$Rdef]{'index'});
}
Значит так... я проверяю на своей 5180, там это условие есть, но вещь снимается ДО него (гг), и вообще код там запутанный, писали его видимо что бы никто не догадался.
Я закомментил послать снятие - пеерстал снимать вещь перед одеванием, но это грубо...
Хотя менее грубо чем закомментить вообще в Сенде.
Имеет смысл ковырять это что бы понять почему оно снимается и что делать дальше?
Я закомментил послать снятие - пеерстал снимать вещь перед одеванием, но это грубо...
Хотя менее грубо чем закомментить вообще в Сенде.
Имеет смысл ковырять это что бы понять почему оно снимается и что делать дальше?
AI.pm
AUTOEQUIP: {
if ($Req ne "" && !$chars[$config{'char'}]{'inventory'}[$Req]{'equipped'} || $config{"autoSwitch_$i"."_rightHand"} eq "[NONE]") {
$Ldef = findLastIndex(\@{$chars[$config{'char'}]{'inventory'}}, "equipped",32);
message "Ldef1 $Ldef \n",,"autoequip";
if ($Ldef eq "") {
$Ldef = findLastIndex(\@{$chars[$config{'char'}]{'inventory'}}, "equipped",2);
message "Ldef2 $Ldef\n",,"autoequip";
$Ldef = findLastIndex(\@{$chars[$config{'char'}]{'inventory'}}, "equipped",34) if ($Ldef eq "");
message "Ldef3 $Ldef\n",,"autoequip";
warning "Unequip 1 - $chars[$config{'char'}]{'inventory'}[$Ldef]{'index'}","autoequip" if ($Ldef ne "");
#вот тут снимается $net->sendUnequip($chars[$config{'char'}]{'inventory'}[$Ldef]{'index'}) if ($Ldef ne "");
}
$Rdef = findIndex(\@{$chars[$config{'char'}]{'inventory'}}, "equipped",34);
$Rdef = findIndex(\@{$chars[$config{'char'}]{'inventory'}}, "equipped",2) if($Rdef eq "");
#Debug for 2hand Quicken and Bare Hand attack with 2hand weapon
if((!Misc::whenStatusActive("Twohand Quicken, Adrenaline, Spear Quicken") || $config{"autoSwitch_$i"."_rightHand"} eq "[NONE]") && $Rdef ne "" && $Rdef ne $Ldef) {
warning "Unequip 2 ","autoequip";
$net->sendUnequip($chars[$config{'char'}]{'inventory'}[$Rdef]{'index'});
}
....
$Ldef = findLastIndex(\@{$chars[$config{'char'}]{'inventory'}}, "equipped", 32);
if ($Ldef eq "") {
$Ldef = findLastIndex(\@{$chars[$config{'char'}]{'inventory'}}, "equipped",2);
$Ldef = findLastIndex(\@{$chars[$config{'char'}]{'inventory'}}, "equipped",34) if ($Ldef eq "");
if ($Ldef ne "" && $chars[$config{'char'}]{'inventory'}[$Ldef]{'equipped'}) {
warning "Unequip 4 $chars[$config{'char'}]{'inventory'}[$Ldef]{'index'}","autoequip";
### а тут снимается когда возвращаемся к "умолчанию" $net->sendUnequip($chars[$config{'char'}]{'inventory'}[$Ldef]{'index'});
$Lequip = 1;
}
kore 1.9.3 а сборка 5369
- Вложения
-
- console.txt
- вот лог
- (12.75 КБ) 167 скачиваний
Последний раз редактировалось Kaiser Чт фев 01, 2007 6:23 pm, всего редактировалось 1 раз.
читаю мануал тру весчь...
Похоже они об этом прекрсно знают. И не собираются ничего делать, так как ... считают что авто_свитч устарел и не используется.piroJOKE писал(а):Ну....... теоретически можно просто сообщить об этом на форуме O.K., как о баге...
См. http://forums.openkore.com/viewtopic.php?t=11535
Попробуй сделать не через авто_свитч а через equipAutoKaiser писал(а):изменился Send.pm и эта проблема опять
он должен быть лишен этих проблем.
См. http://forums.openkore.com/viewtopic.php?t=11535
ЗЫ: Если надо то будем разбираться и править код авто_свитча,
piroJOKE, нужно твое веское слово =)