Просмотр полной версии : Двигаться в свободную клетку
NewBotie123
01.04.2013, 07:56
Нашел плагин http://www.rofan.ru/viewtopic.php?t=6450
позволяет определить свободную точку вокруг чара (полезно для варпа)
Задача стоит немного другая:
На бг толпы народу нужно подойти к неписи (в зону видимости) на свободную клетку
Через обычный move быстро палят, занимая клетку где ты был в прошлый раз. Вот если бы можно было сначала проверить свободная ли клетка на которую хочешь встать, а потом уже move...(определить свободную не вокруг чара, а вокруг точки назначения, если она занята)
http://i047.radikal.ru/1304/6d/8fbc2ccbb542.jpg
Может не этим плагином, а просто вставать "на рандомную в зоне" есть способ?
можно конечно..
там расчёт отталкивается от координат чара ($x = $char->{pos}{x}) их надо заменить на произвольные координаты (которые вводятся с клавиатуры)
NewBotie123
01.04.2013, 09:54
Если я правильно понял, то для 120 70 будет так:
for ($x = 120 -$spread; $x <= 120 + $spread; $x++) {
for ($y = 70 -$spread; $y <= 70 + $spread; $y++) {
потом в макросе do free move ~
Поправь если не так))
но для этого бот должен видеть клетку вокруг которой он ищет свободную?
поэтому придется макросом move ~ только после поякления конечной точки в зоне видимости?
ну да, придётся сначала подойти на безопасное расстояние (чтобы увидеть нужное нам поле) и потом уже запускать работу плагина..
1. а вас там чё, так прям палят?
2. что если сделать тупой рандом?
3. если бот встанет на клетку с другим чуваком, то он не отойдёт в сторонку? (как это сделано на офе)
NewBotie123
01.04.2013, 11:58
1. Есть народ принципиальный на иРО)))
2. Подскажи как заменить тупой move в макросе))
3. В том-то и дело, что бот пытается влезть в клетку и несколько раз бегает туда-сюда: иногда 1-2 раза, но бывает что секунд 30 так бегает палится))и пока бегает не переходит на выполнение следующей строки макроса.
PS по картинке видно, что область видимости неписи напоминает букву Ш
её можно разбить на прямоугольники, только не придумаю как бы это использовать... с lockmap`ом разве что заморочиться.
ps боты в автоматической режиме делают все, но проблему "никуда не бегать" решил через follow 1 за несуществующим ником.
2. Подскажи как заменить тупой move в макросе))
это будет тот же move, только с рандомными координатами, типа:
do move @rand(x1,x2) @rand(y1,y2) (в синтаксисе могу напутать, пишу на память (http://ragbot.ru/wiki/%D0%9C%D0%B0%D0%BA%D1%80%D0%BE-%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD))
ps боты в автоматической режиме делают все, но проблему "никуда не бегать" решил через follow 1 за несуществующим ником.
можно же просто отключить ему "route randomWalk" или "route randomWalk inTown"
Как тебе такой вариант:
automacro move1 {
условия при который надо топать к НПЦ
call {
do move 120 70 bat_room
}
}
automacro move2 {
location bat_room 118 72 122 68
timeout 1
call {
тут запускаем плагин поиска свободных координат
}
}
общая идея такая:
1. мы идём на координаты в bat_room на координаты 120 70
2. как только мы оказываемся где-то рядом с этими координатами (в данном случае на расстоянии двух клеток), то срабатывает наш плагин по поиску свободной клетки.
3. благополучно переходим на свободную клетку
vBulletin® v3.8.11, Copyright ©2000-2024, vBulletin Solutions Inc. Перевод: zCarot