слетает TwoHand-Quicken найта при смене оружия [решено]

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

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

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Zloten
Начинающий
Сообщения: 43
Зарегистрирован: Ср ноя 29, 2006 2:57 pm

слетает TwoHand-Quicken найта при смене оружия [решено]

Сообщение Zloten »

думаю конфиг понятен:

autoSwitch_default_rightHand +5 Fire Claymore
autoSwitch Magnolia {
rightHand +5 Wind Claymore
}

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

Сообщение piroJOKE »

Угу, та же лажа, я просто заремарил посылку пакета "снять оружие". ;)
(Т.е. Коре почему то сначала снимает старое, а потом одевает новое.)

Короче, где то так: :lol:

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

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;
}
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Zloten
Начинающий
Сообщения: 43
Зарегистрирован: Ср ноя 29, 2006 2:57 pm

Сообщение Zloten »

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

Сообщение piroJOKE »

в сенде
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Zloten
Начинающий
Сообщения: 43
Зарегистрирован: Ср ноя 29, 2006 2:57 pm

Сообщение Zloten »

все прекрасно заработало, спасибо большое!!!!!!!!!
Kaiser
Начинающий
Сообщения: 47
Зарегистрирован: Пн ноя 13, 2006 12:09 pm

Сообщение Kaiser »

изменился Send.pm и эта проблема опять :cry:
читаю мануал тру весчь...
DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 pm

Сообщение DInvalid »

Хм, стрранно, надо будет посмотреть.
Вроде бы при авто смене проверяется наличие статусов.
Не могли бы вы выложить кусочек лога где происходит автосмена,
с включенными опциями
showDomain 1
debug 1

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

Сообщение piroJOKE »

Прикол в том, что Kore зачем-то сует unequip туда, где он вообще не нужен по идее... Для надежности, что ли?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 pm

Сообщение DInvalid »

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'});
}
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Zloten
Афтар, а у тебя какая версия ваще Kore?

DInvalid
Кста, я лично с этим сталкивался давно, может этого условия тогда еще и не было?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 pm

Сообщение DInvalid »

Значит так... я проверяю на своей 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;
}

Kaiser
Начинающий
Сообщения: 47
Зарегистрирован: Пн ноя 13, 2006 12:09 pm

Сообщение Kaiser »

kore 1.9.3 а сборка 5369
Вложения
console.txt
вот лог
(12.75 КБ) 166 скачиваний
Последний раз редактировалось Kaiser Чт фев 01, 2007 6:23 pm, всего редактировалось 1 раз.
читаю мануал тру весчь...
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

DInvalid
Ну....... теоретически можно просто сообщить об этом на форуме O.K., как о баге...
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Kaiser
Начинающий
Сообщения: 47
Зарегистрирован: Пн ноя 13, 2006 12:09 pm

Сообщение Kaiser »

появилось это недавно вывесил лог
читаю мануал тру весчь...
DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 pm

Сообщение DInvalid »

piroJOKE писал(а):Ну....... теоретически можно просто сообщить об этом на форуме O.K., как о баге...
Похоже они об этом прекрсно знают. И не собираются ничего делать, так как ... считают что авто_свитч устарел и не используется.
См. http://forums.openkore.com/viewtopic.php?t=11535
Kaiser писал(а):изменился Send.pm и эта проблема опять
Попробуй сделать не через авто_свитч а через equipAuto
он должен быть лишен этих проблем.
См. http://forums.openkore.com/viewtopic.php?t=11535


ЗЫ: Если надо то будем разбираться и править код авто_свитча,
piroJOKE, нужно твое веское слово =)
Ответить