Страница 1 из 2
БС Лутер (Корысть) / использование скилла Greed
Добавлено: Вс янв 27, 2008 1:38 pm
Apri
Хотелось бы реализовать бота, чистого лутера...
Есть чар - БС. С умением "Корысть"...
Проблема:
Чар покупает поты, варпается в ОД, идет в данж и тупо бегает по мапу! Никакие pickupitems.txt и оные не могут заставить чара поднимать чужой лут... он ходит мимо гор лута и ничего не берет!
Вопрос:
Как его заставить отвлекаться от прогулки и собирать лут?
Просто когда он назначает себе координаты, ничто не может его отвлечь, кроме агрессов... а иногда и агрессы для него ничто...
Добавлено: Вс янв 27, 2008 1:49 pm
piroJOKE
перенесено в "вопросы".
афтар, почитай плз для начала тему "как правильно задавать вопросы", а затем и FAQ по конфигу.
Добавлено спустя 9 минут 10 секунд:
Конкретно под скилл Грид надобен, вероятно, плагин... Я бы сделал так, заходишь в поисковик
Гугль (слышал про такой?) и пишешь там нечто вроде такого:
greed site:openkore.com - глядишь что и найдеццо.

Добавлено: Вс янв 27, 2008 2:46 pm
Apri
Ребят, не держите за лоха... не ребенок вроде...
Спасибо за ответ, openkore.com форумы облазил еще 2 дня назад... по greed'у очень мало всего и никто не может довести до ума макрос...
Все, спасибо... =(
Удаляй сабж, если никто до завтра не ответит...
Добавлено: Пн янв 28, 2008 9:56 am
Kissa2k
Добавлено: Пн янв 28, 2008 10:52 am
piroJOKE
Apri писал(а):Ребят, не держите за лоха... не ребенок вроде...
Спасибо за ответ, openkore.com форумы облазил еще 2 дня назад...
Я когда чего советую, то не треплюсь понапрасну. А ты даже не соизволил готовую строку Гуглю скормить.

Добавлено: Чт янв 31, 2008 9:52 pm
Sergant
А если без грида?
как отрубить no looting?
чтобы он просто подбирал уже валяющийся лут.
В конфиге стоит:
itemsTakeAuto 2
itemsTakeAuto_party 0
itemsGatherAuto 2
(ставил все на 1. все равно не собирает)
в самой консоле пишет к примеру:
Item Exists: Log (8) x 1
Item Exists: Resin (9) x 1
Gathering: Log (8)
Failed to gather Log (8) : No looting!
Добавлено: Чт янв 31, 2008 10:46 pm
Apri
2Sergant
Я уже неделю бьюсь над этим вопросом, просто наизусть практически выучил форум openkore.com
itemsTakeAuto
itemsTakeAuto_party
itemsGatherAuto
пробовал просто по всякому, баловатся с таймаутами, прикрутил Грид плагин... но:
НО выяснил только одно!!! Не собирает он этот лут в ОД2...
И знаете почему??? Потому что этот лут лежит не далее чем в 12-ти клетках от его владельца (замечал наверное, что изредка бот все-таки что-то подбирает?)... 12 клеток как я выяснил вшито в OK специально, чтобы бот был не палевный... А НАМ это как раз и нужно!!! Как же обидно...
Господа разработчики, покажите пожалуйста, гже лежит в исходниках строчка с этим кодом!!! Я сам пересоберу ОК без нее...
Добавлено спустя 12 минут 36 секунд:
Правильно или не правильно я нашел? Вот это:
Код: Выделить всё
##### ITEMS AUTO-GATHER #####
sub processItemsAutoGather {
if ( (AI::isIdle || AI::action eq "follow"
|| ( AI::is("route", "mapRoute") && (!AI::args->{ID} || $config{'itemsGatherAuto'} >= 2) && !$config{itemsTakeAuto_new}))
&& $config{'itemsGatherAuto'}
&& !$ai_v{sitAuto_forcedBySitCommand}
&& ($config{'itemsGatherAuto'} >= 2 || !ai_getAggressives())
&& percent_weight($char) < $config{'itemsMaxWeight'}
&& timeOut($timeout{ai_items_gather_auto}) ) {
foreach my $item (@itemsID) {
next if ($item eq ""
|| !timeOut($items{$item}{appear_time}, $timeout{ai_items_gather_start}{timeout})
|| $items{$item}{take_failed} >= 1
|| pickupitems(lc($items{$item}{name})) eq "0"
|| pickupitems(lc($items{$item}{name})) == -1 );
if (!positionNearPlayer($items{$item}{pos}, 12) &&
!positionNearPortal($items{$item}{pos}, 10)) {
message TF("Gathering: %s (%s)\n", $items{$item}{name}, $items{$item}{binID});
gather($item);
last;
}
}
$timeout{ai_items_gather_auto}{time} = time;
}
}
##### ITEMS GATHER #####
sub processItemsGather {
if (AI::action eq "items_gather" && AI::args->{suspended}) {
AI::args->{ai_items_gather_giveup}{time} += time - AI::args->{suspended};
delete AI::args->{suspended};
}
if (AI::action eq "items_gather" && !($items{AI::args->{ID}} && %{$items{AI::args->{ID}}})) {
my $ID = AI::args->{ID};
message TF("Failed to gather %s (%s) : Lost target\n", $items_old{$ID}{name}, $items_old{$ID}{binID}), "drop";
AI::dequeue;
} elsif (AI::action eq "items_gather") {
my $ID = AI::args->{ID};
my ($dist, $myPos);
if (positionNearPlayer($items{$ID}{pos}, 12)) {
message TF("Failed to gather %s (%s) : No looting!\n", $items{$ID}{name}, $items{$ID}{binID}), undef, 1;
AI::dequeue;
} elsif (timeOut(AI::args->{ai_items_gather_giveup})) {
message TF("Failed to gather %s (%s) : Timeout\n", $items{$ID}{name}, $items{$ID}{binID}), undef, 1;
$items{$ID}{take_failed}++;
AI::dequeue;
} elsif ($char->{sitting}) {
AI::suspend();
stand();
} elsif (( $dist = distance($items{$ID}{pos}, ( $myPos = calcPosition($char) )) > 2 )) {
if (!$config{itemsTakeAuto_new}) {
my (%vec, %pos);
getVector(\%vec, $items{$ID}{pos}, $myPos);
moveAlongVector(\%pos, $myPos, \%vec, $dist - 1);
move($pos{x}, $pos{y});
} else {
my $item = $items{$ID};
my $pos = $item->{pos};
message TF("Routing to (%s, %s) to take %s (%s), distance %s\n", $pos->{x}, $pos->{y}, $item->{name}, $item->{binID}, $dist);
ai_route($field{name}, $pos->{x}, $pos->{y}, maxRouteDistance => $config{'attackMaxRouteDistance'});
}
} else {
AI::dequeue;
take($ID);
}
}
}
Прошу помощи знающих людей, можно ли просто так менять значения 12 или 10 в этом коде? Это возымеет эффект сразу или нужно как-то компилировать?
Добавлено: Пт фев 01, 2008 12:41 pm
Apri
Всем спасибо за участие, я таки сделал то, что мне было нужно. Пришлось эти кусочки кода немного поправить...
Практически я бы сказал хорошо собирает, но конечно требует доработки...
Разработчики, чего молчите? Опубликовать то, что я сделал или это сугубо мое мнение инавязывать его никому не нужно? Заодно может поможете мне подправить код?
Добавлено: Пт фев 01, 2008 4:43 pm
vit
Apri писал(а):Разработчики, чего молчите?
Ты знаешь например, что в коре специально сделано, чтобы бот не килстиллил? И запрещно помогать людям, чтобы убрать это. То, что сделал ты, это очень близко по теме к этому. Поэтому никто ничего публиковать не будет.
Добавлено: Сб фев 02, 2008 6:09 pm
Sergant
vit, ты знаешь... использование бот программ вообще запрещено

поэтому не будем здесь о запретах. Человек в праве менять конфиг и раздичные параметры на свой страх и риск
Apri, поделись наработками. мини гайдиком сюда
Добавлено: Вт мар 04, 2008 10:38 pm
Myrz16
Тоже эксперементировал с этой штуковиной,так в итоге ничего рабочего и не получил,бот тупо ходил ммимо всего и даже ничего не подобрал.в config.txt,timeouts.txt настроено все верно.в чем можетбыть причина,прошу помощи.
Re:
Добавлено: Пн май 03, 2010 10:28 pm
extezi91
Apri писал(а):Всем спасибо за участие, я таки сделал то, что мне было нужно. Пришлось эти кусочки кода немного поправить...
Практически я бы сказал хорошо собирает, но конечно требует доработки...
Разработчики, чего молчите? Опубликовать то, что я сделал или это сугубо мое мнение инавязывать его никому не нужно? Заодно может поможете мне подправить код?
что ты именно сделал?
Re: БС Лутер (Корысть) / использование скилла Greed
Добавлено: Сб май 22, 2010 8:18 pm
extezi91
люди,у кого нибудь остался плагин с openkore.com?
тема там называлась greedPlugin for greed people
Re: БС Лутер (Корысть) / использование скилла Greed
Добавлено: Пн май 24, 2010 6:10 am
chuvachok
Re: БС Лутер (Корысть) / использование скилла Greed
Добавлено: Вс июн 06, 2010 3:18 pm
extezi91
он не работает(
кто может его подделать под современную версию коры?