почему бот отбегает после убийства?

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

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

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Аватара пользователя
Jerry
Профессионал
Сообщения: 1047
Зарегистрирован: Сб ноя 04, 2006 12:26 pm
Контактная информация:

почему бот отбегает после убийства?

Сообщение Jerry »

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

Сообщение kLabMouse »

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

Сообщение piroJOKE »

Что-то у меня такое было... Боюсь, соврать... Ладно, в качестве версии пойдет.
Вроде бы, если из моба вываливается лут, дальше всё идет пучком. А если не падает ничего, вот тогда Kore сначала несется вдаль, а потом разворачивается.

ЗЫ: не относитесь к моему посту серьёзно, я это давно смотрел...
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Equilibrium Keeper
Энтузиаст
Сообщения: 60
Зарегистрирован: Пн ноя 06, 2006 5:14 pm
Контактная информация:

Сообщение Equilibrium Keeper »

Не, не катит. Если бы это был первый мой сервер, я бы еще призадумался. Но начилось то все на Хевенс Анжере, с x100 дропом. И в антхеле из каждого муравьишки что-нибудь до падало. Ан нет - отбегает зараза и все тут!
P.S. В дополнение:
Бывает и по другому. Бот бежит вперед, атакует моба, но не останавливается. Моб дает сдачи. Бот приостанавливается, идет к мобу. "Говорит: а, ладно, живи пока и снова отходит, однако моб тяпнуть его успевает. И так вот бедный чар разрываясь между желанием набить морду мобу и желанием продолжить движение, схлопотал раз 5, но потом все же остановился и добил моба...
Истина там, во тьме, и во тьме ты иди - мыслящий бродит во тьме.
В себя самого загляни, открой свою дорогу в Ничто.
В Ничто ты войди, во тьму, и пойми:
Пока ты во тьме, не может она быть Ничем - ведь там ты.
Вуфв
Энтузиаст
Сообщения: 53
Зарегистрирован: Пн ноя 20, 2006 10:42 am

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

ап ап ПРОШУ решения ЭТО ПЕРВОЕ ЧТО палит БОТА!!!!!!!!!!!!!
yonah
Грамотный
Сообщения: 161
Зарегистрирован: Ср ноя 15, 2006 9:49 pm

Сообщение yonah »

ета хрень появилась в 1.9.х версиях в 1.6.х вроде нет а так viewtopic.php?t=217
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

Нуно Поискать. Де-то кто-то выставил небольшой макрос. Чтоб бот не палился таким макаром!
Там оч просто, если кто-то ударил то СТОП, и давай нарезать виновника торжества!
DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 pm

Сообщение DInvalid »

kLabMouse писал(а):Jerry
Мля ну ты же программер.. росмотри почему у него проверка на мобов стоит пожже чем идти. Пусть сначала заатачит моба а только потом пустится в путь.... если конечно рядом нет других мобов.
Или хотб найди мне где собака зарыта.. исправлю.
Раньше АИ было в функции АИ в файлике functions, и там порядок обрабтки был такой:

##### REAL AI STARTS HERE #####
##### MISC #####
##### CLIENT SUSPEND #####
##### CHECK FOR UPDATES #####
##### AUTOBREAKTIME #####
##### TALK WITH NPC ######
##### WAYPOINT ####
##### DEAD #####
##### STORAGE GET #####
#### CART ADD ####
#### CART Get ####
##### DROPPING #####
##### DELAYED-TELEPORT #####
####### AUTO MAKE ARROW #######
#####AUTO STORAGE#####
#####AUTO SELL#####
#####AUTO BUY#####
##### AUTO-CART ADD/GET ####
##### LOCKMAP #####
##### AUTO STATS #####
##### AUTO SKILLS #####
##### RANDOM WALK #####
##### FOLLOW #####
##### FOLLOW-LOST #####
##### SITAUTO-IDLE #####
##### SITTING #####
##### STANDING #####
##### SIT AUTO #####
##### ATTACK #####
##### AUTO-ITEM USE #####
##### AUTO-SKILL USE #####
##### PARTY-SKILL USE #####
##### MONSTER SKILL USE #####
##### AUTO-EQUIP #####
##### SKILL USE #####
##### AUTO-ATTACK #####
####### ROUTE #######
####### MAPROUTE #######
##### ITEMS TAKE #####
##### ITEMS AUTO-GATHER #####
##### ITEMS GATHER #####
##### TAKE #####

##### MOVE #####

##### AUTO-TELEPORT #####
##### TELEPORT HP #####
##### TELEPORT MONSTER #####
##### TELEPORT IDLE / PORTAL #####
##### ALLOWED MAPS #####
##### AUTO RESPONSE #####
##### AVOID GM OR PLAYERS #####
##### SEND EMOTICON #####
##### AUTO SHOP OPEN #####
##########

Тоесть вроде бы движение обрататывалось позже чем в очередь АИ добавлялась атака от ##### AUTO-ATTACK #####

А сейчас в КореЛоджик идет разделение АИ на авто и мануал, и мануал идет первым, и там обрабатываются перемещения,
а авто-атака идет уже в самом конце, в авто-АИ.

##### MANUAL AI STARTS HERE #####

Plugins::callHook('AI_pre/manual');
Benchmark::begin("AI (part 1)") if DEBUG;
return if processClientSuspend();
Benchmark::begin("AI (part 1.1)") if DEBUG;
processLook();
processNPCTalk();
processDrop();
processEscapeUnknownMaps();
Benchmark::end("AI (part 1.1)") if DEBUG;
Benchmark::begin("AI (part 1.2)") if DEBUG;
processDelayedTeleport();
processSit();
processStand();
AI::Attack::process();
Benchmark::end("AI (part 1.2)") if DEBUG;
Benchmark::begin("AI (part 1.3)") if DEBUG;
processSkillUse();
processRouteAI();
processMapRouteAI();
processTake();
processMove();
Benchmark::end("AI (part 1.3)") if DEBUG;

Benchmark::begin("AI (part 1.4)") if DEBUG;
Benchmark::begin("ai_autoItemUse") if DEBUG;
processAutoItemUse();
Benchmark::end("ai_autoItemUse") if DEBUG;
Benchmark::begin("ai_autoSkillUse") if DEBUG;
processAutoSkillUse();
Benchmark::end("ai_autoSkillUse") if DEBUG;
Benchmark::end("AI (part 1.4)") if DEBUG;

Benchmark::end("AI (part 1)") if DEBUG;



Misc::checkValidity("AI part 1");
return if ($AI != 2);


##### AUTOMATIC AI STARTS HERE #####

Plugins::callHook('AI_pre');
Benchmark::begin("AI (part 2)") if DEBUG;

ChatQueue::processFirst;

processEquip();
processDeal();
processDealAuto();
processPartyAuto();
processGuildAutoDeny();

Misc::checkValidity("AI part 1.1");
processAutoBreakTime();
processWaypoint();
processDead();
processStorageGet();
processCartAdd();
processCartGet();
processAutoMakeArrow();
Benchmark::end("AI (part 2)") if DEBUG;
Misc::checkValidity("AI part 2");


Benchmark::begin("AI (part 3)") if DEBUG;
Benchmark::begin("AI (part 3.1)") if DEBUG;
processAutoStorage();
Misc::checkValidity("AI (autostorage)");
processAutoSell();
Misc::checkValidity("AI (autosell)");
processAutoBuy();
Misc::checkValidity("AI (autobuy)");
processAutoCart();
Misc::checkValidity("AI (autocart)");
Benchmark::end("AI (part 3.1)") if DEBUG;

Benchmark::begin("AI (part 3.2)") if DEBUG;
processLockMap();
processAutoStatsRaise();
processAutoSkillsRaise();
processRandomWalk();
processFollow();
Benchmark::end("AI (part 3.2)") if DEBUG;

Benchmark::begin("AI (part 3.3)") if DEBUG;
processSitAutoIdle();
processSitAuto();


Benchmark::end("AI (part 3.3)") if DEBUG;
Benchmark::end("AI (part 3)") if DEBUG;

Benchmark::begin("AI (part 4)") if DEBUG;
processPartySkillUse();
processMonsterSkillUse();

Misc::checkValidity("AI part 3");
processAutoEquip();
processAutoAttack();
processItemsTake();
processItemsAutoGather();
processItemsGather();
processAutoTeleport();
processAllowedMaps();
processAutoResponse();
processAvoid();
processSendEmotion();
processAutoShopOpen();
Benchmark::end("AI (part 4)") if DEBUG;

##########

Соответсвенно хотелось бы как то перенести АвтоАтаку и ВзятиеЛута выше перемешения, возможно тогда он не бует так дергаться. Но просто пересавить мне кажется нельзя, так как код написан с предположением что соблюдается определенная очередность вызовов (например отмена атаки идет с очисткой очереди АИ)...

Как все это проверить и сделать - не знаю, подскажите =)
Аватара пользователя
Xmpe
Бывалый
Сообщения: 751
Зарегистрирован: Вт ноя 14, 2006 10:12 pm
Discord: Xmpe#6813
Контактная информация:

Сообщение Xmpe »

Была же тема. Бот совершает лишние движения, как раз данный случай.
Мы не умираем тут...и не рождаемся...
Лишь веря в мир, мы делаем его реальным...
....
Изображение
#openkore-ru
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

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

Сообщение piroJOKE »

Блин... а просто переставить местами проверки?... Казалось бы - всё просто, разве нет?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
Xmpe
Бывалый
Сообщения: 751
Зарегистрирован: Вт ноя 14, 2006 10:12 pm
Discord: Xmpe#6813
Контактная информация:

Сообщение Xmpe »

А выложить файликом ? или что править для нубоф ? :(
Мы не умираем тут...и не рождаемся...
Лишь веря в мир, мы делаем его реальным...
....
Изображение
#openkore-ru
DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 pm

Сообщение DInvalid »

piroJOKE писал(а):Блин... а просто переставить местами проверки?... Казалось бы - всё просто, разве нет?
Да пробовал переставить, толку мало... мало того что все рано отбегает, иногда вместо атаки как даст деру куда то... и не атакует никого, идет себе и идет, потом его расклинивает, начинает опять атаковать ))))
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

DInvalid
Тям Явно Баг. Появился в явном виде после ввода Мануального режима.
Ну в Общем. Мы с разработчиками решили зализать и перелизать весь Код Кора, даже новый АИ Встроить вместо старого который более лучше повторяет человека и вообще почти идеален несмотря на некоторые явные отлонения в работе (иногда тупо вызывает ошибку перл енжена из-за галимой оптимизации)
DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 pm

Сообщение DInvalid »

Пытаюсь отловить места в логе где есть эта проблема, что бы понять в чем она...
Вроде нашел:

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

 Monster Exists: Baby Desert Wolf (0)
 Monster Exists: Savage Babe (1)
 Monster Moved: Savage Babe (1) - (362, 94) -> (364, 88)
 Ready to attack target (which is 1.0 blocks away); we're at (350,91)
 Sent attack (hooked):
 Sent get player info: 
 AI: attack route | 2
 Received packet: 008A Handler: actor_action
 [ 31/100] You attack Monster Picky (2) - Dmg: 72 (delay 49.1)
 [ 31/100] Monster Picky (2) attacks you - Dmg: Miss! (delay 28.8)
 Sent attack (hooked): 
 Received packet: 008A Handler: actor_action
 [ 31/100] You attack Monster Picky (2) - Dmg: 63 (delay 49.1)
 Received packet: 0080 Handler: actor_died_or_disappeared
 Monster Died: Picky (2)
 Target died

###УБИЛИ###

 Exp gained: 4/3 (0.02%/0.03%)
 AI: items_take route | 2

###И куда то пошли...###

 Route - next step moving to (342, 88), index 15, 334 steps left
 Sending move from (348,92) to (342,88) - distance 7.21
 Sent move to: 342, 88
 Received packet: 022C Handler: actor_display
 Monster Moved: Savage Babe (3) - (347, 104) -> (340, 99)
 Received packet: 0087 Handler: character_moves
 You're moving from (350, 91) to (342, 88) - distance 8.5, unknown 136
 Received packet: 0080 Handler: actor_died_or_disappeared
 Monster Disappeared: Savage Babe (1)
 Move - moving

####Но передумали####

 Attacking: Monster Baby Desert Wolf (0)
 Target distance 19.4 is >2.5; moving to target: from (350,91) to (361,92)
 On route to: Prontera Field (prt_fild09): 361, 92
 Route Solution Ready
 Route - trimming down solution by 1.5 steps for distFromGoal 1.5
 Route - next step moving to (361, 91), index 12, 13 steps left
 Sending move from (350,91) to (361,91) - distance 11.00
Ответить