Страница 1 из 2

Бежать от моба... но не вингаться

Добавлено: Сб дек 16, 2006 9:01 pm
Женек
Как сделать, чтоб бежать от моба, но не юзать винги.
На карте xmas_fild01 есть снежный человек, он атачит меня и опенкор начинает бить моба, а мне надо чтоб просто прошел мимо к варпу, на расстоянии 2-3 клетки от сн. человека.
В мануале не нашел

Добавлено: Сб дек 16, 2006 9:14 pm
Marker
Бей его, с него панда хет падает!
mon_control.txt
белый медвед 0 0 0

Добавлено: Сб дек 16, 2006 11:18 pm
Xmpe
эм -1 и всё
еси тя ударят, то бот не будет предпринимать что либо а просто пойдёт дальше.
MarkerДе это ты таких мобов видел ? :D

Добавлено: Вс дек 17, 2006 12:31 am
piroJOKE
Кроче того, в конфиге еще есть фенька
"не атачить мобов, пока двигаешься к лок-мап карте".

Добавлено: Пн дек 18, 2006 5:37 am
Серьга
А как бы всё же убегать от определённых мобов, а не портаться от них? То есть не подпускать близко, не позволять себя ударить, а не то, чтобы просто не бить!

Добавлено: Пн дек 18, 2006 7:57 am
Sauron
Сорри за офф-том.. но блин Серьга.. клипса с крими стоит 600к, бот в сутки зарабатывает 1.5кк извини, ну в чем проблема то? юзай телепорт.. Куда ты бежать собрался? и не факт что убежишь.. более того без телепорта ты себе навяливаешь ещё кучу проблем.. например: смытся если хп ниже значения, смыться если демаг больше значения, смыться если суммарный демаг больше значения..

Добавлено: Пн дек 18, 2006 8:27 am
Серьга
не пойдёт
Жду предложений

Добавлено: Пн дек 18, 2006 11:46 am
piroJOKE
Это довольно сложная задача. Насколько я знаю, решения ее нет. Но...?

Добавлено: Пн дек 18, 2006 5:38 pm
Xmpe
Вот скажи как ты коре укажешь куда бежать ? В противоположную сторону?, а там стена, в стену ? и т д

Добавлено: Пн дек 18, 2006 5:41 pm
piroJOKE
Это часть той шутки из Messy, про которую я уже 100 раз рассказывал. Если бы мы могли скорректировать часть маршрута Kore в зоне обзора, можно было бы что-то думать.
Насчет Месси - этот вариант модКоре обходил отдельно стоящих людей, и зоны каста типо СтормГаста. :shock: Блин. Я тоже такое хочу, и чтоб с мобами тоже работало.

Добавлено: Пн дек 18, 2006 5:47 pm
piroJOKE
Вот как нам надо научить Kore чтоб она двигалась:
http://euronetsru.54.com1.ru/euro/uploads/dontstop.htm

(Красный квадрат - это Kore, синий - монстры).

(Ну, это та самая баянистая игра со слоганом
"Говорят, что американские военные пилоты могут ЭТО делать больше 2 минут")

Добавлено: Вт дек 19, 2006 8:51 pm
Sauron
Серьга, это по поводу отбегать.. набросок алгоритма примерно так видется... если монстр такой-то - используя координаты монстра, используя свои координаты - определить направление ...желательно в максимально противоположную сторону (тут можно использовать рандом для получения значений по осям) ну и двигаться к новым координатам. из всего перечисленного, пока я не знаю, как коре определяет допустимость точки на карте для продвижения, то есть в случае недопустимости, требуется расчитать её заново. так-то это не принципиально.. координаты можно задать самостоятельно (куда бот должен побежать), а проверять лишь условие присутствия монстра.. то есть прекратить следование, если оторвались от преследования.. извиняюсь за тофтологию. :)

Добавлено: Ср дек 20, 2006 7:55 pm
Sauron
nikitaaa писал(а):а на хуя? можешь обрисовать для чего, те может быть тут предложут божеский простой вариант решения
злой ты... может людям надоело тупо ботоводить.. может хочется создать папский конфиг, где бот будет жить своей жизнью, при всех допустимых ситуациях неотличимо от человека.. а может это просто игра ума...

Добавлено: Ср янв 24, 2007 3:10 pm
Sauron
Серьга писал(а):не пойдёт
Жду предложений
Xmpe писал(а):Вот скажи как ты коре укажешь куда бежать ? В противоположную сторону?, а там стена, в стену ? и т д
Извиняюсь, что поднял старую тему.. сама идея "убегать от моба", кажется мне довольно забавной.. тем не менее, в качестве задачи как таковой, как я не колдовал, так и не решил.. вот к примеру макрос, который заставит бота побежать в противоположную сторону от моба:

automacro cAway {
monster Caramel # чисто для примера..
run-once 1
call MobAway
}


macro MobAway {
$mobx = @arg ("$.lastMonsterPos", 1)
$moby = @arg ("$.lastMonsterPos", 2)

$posx = @arg ("$.pos", 1)
$posy = @arg ("$.pos", 2)

if ($mobx > $posx) goto m001
$posx = @eval ($posx + 3)
goto m002
:m001
$posx = @eval ($posx - 3)
:m002

if ($moby > $posy) goto m003
$posy = @eval ($posy + 5)
goto m004
:m003
$posy = @eval ($posy - 5)
:m004
log Away from monster!!!
do move $posx $posy
release cAway
}

1. Фатальная бяка: "нет такой точки на карте" - макрос падает.. Как определить "правильность" координат, до исполнения команды движения?
2. Значимая бяка: У бота есть маршрут к выполнению которого он вернется (90% он побежит в ту же сторону из которой отбежал)
3. Малозначимая бяка: Агрессивный моб попытается преследовать бота (по сути - загонять к краю локации)

Добавлено: Чт янв 25, 2007 3:16 am
Antarx
Sauron
Не до конца ясно, что будет, если на бота побегут агры с 2 сторон?.. А с 3? В том смысле, что совсем не ясно, как подобный код доделывать до нормально работающего состояния...

Всё-таки имхо тут ai надо апдейтить, хотя как - не совсем понятно. Грубо говоря, в конечном счёте хочется алгоритмизовать "общение" бота с толпой агров, что вообщем-то даже без бота не всегда тривиально...