Догон

тут можно задать вопрос по скриптингу
Hedake
Posts: 8
Joined: 16.03.2014 17:11

Re: Догон

Post by Hedake »

drabadan wrote:
Hedake wrote:за целью, в данном случае за тем, на ком висит атака. Тоесть скрипт в первом посте ходит по следам цели, меня интересует вопрос какую процедуру надо использовать, чтобы вычислялся оптимальный путь. Например, когда цель свернула на 90 градусов, а потом еще на 90, чтобы скрипт бежал не по следам, а по оптимальному пути, то есть срезал угол.
а почему ты думаешь, что чар бежит "по следам"? Догоняющий с учетом того как меняется местоположение убегающего определяет себе конечную точку своего движения и движется к ней. Если убегающий будет менять очень часто направление движения - будет казаться, что догоняющий бежит "по следам".
по тестам видно, что бежит по следам, углы не срезает, если убегающий бежит буквой "П", то догоняющий также повторяет эту траеткторию, но можно было бы срезать углы.
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: Догон

Post by drabadan »

Hedake wrote:
drabadan wrote:
Hedake wrote:за целью, в данном случае за тем, на ком висит атака. Тоесть скрипт в первом посте ходит по следам цели, меня интересует вопрос какую процедуру надо использовать, чтобы вычислялся оптимальный путь. Например, когда цель свернула на 90 градусов, а потом еще на 90, чтобы скрипт бежал не по следам, а по оптимальному пути, то есть срезал угол.
а почему ты думаешь, что чар бежит "по следам"? Догоняющий с учетом того как меняется местоположение убегающего определяет себе конечную точку своего движения и движется к ней. Если убегающий будет менять очень часто направление движения - будет казаться, что догоняющий бежит "по следам".
по тестам видно, что бежит по следам, углы не срезает, если убегающий бежит буквой "П", то догоняющий также повторяет эту траеткторию, но можно было бы срезать углы.
то-есть нужно подождать пока чар добежит до нижней вершины буквы "П" а потом начать движение, или предсказать, что чар будет в точке относительно своей позиции, скажем х+3 у+3 и начать движение в туда?(*сарказм)...
Ну или пораскинуть мозгами и двигаться не в чара а за него, но если промахнулся - побежишь дальше от необходимого направления.
А хотя если на лету подхватывать направления движения, а не двигаться непосредственно то можно попробовать...
короче, все ето еффекта скорее всего никакого не даст, так шта не выноси себе мозги - пвпшь на асисте\инжекте.
Hedake
Posts: 8
Joined: 16.03.2014 17:11

Re: Догон

Post by Hedake »

на асисте вообще догона не встречал ))) а на инже возникла загвоздка со скриптом на абилы, который я выше выкладывал
User avatar
Vizit0r
Developer
Developer
Posts: 3948
Joined: 24.03.2005 17:05
Contact:

Re: Догон

Post by Vizit0r »

двух чаров давай и параметры шарда.

Если шард будет украинский, чтоб пинг поменьше - вообще отлично. Но русский тоже пойдет.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
untoha
Novice
Novice
Posts: 51
Joined: 16.03.2013 17:21

Re: Догон

Post by untoha »

о, оказывается не только у меня на стелсе догон медленный. жаль это никак не решилось.
спасибо создатель, я твой должник!
User avatar
Vizit0r
Developer
Developer
Posts: 3948
Joined: 24.03.2005 17:05
Contact:

Re: Догон

Post by Vizit0r »

странно, много раз слышал обратное.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
untoha
Novice
Novice
Posts: 51
Joined: 16.03.2013 17:21

Re: Догон

Post by untoha »

свежим взглядом пересмотрел алгоритм.
предполагаю что моем случае причина была в использовании *moveXY*() , не в самой функции, а частом ее использовании, так как pathfinding дело не тривиальное.
попробовал Step(в_нужном_направлении), ситуация не изменилась, видимо, потому что Step() ждет ответ от сервера, а вот со StepQ() бот начал очень резво бегать и задержки пропали.
видимо потому что она не ждет ответа сервера, но изза этого StepQ() срабатывает на несколько шагов больше.

Конечно *moveXY*() удобнее в плане патфайндинга, бот застревает по минимуму, а со step() он застревает почти везде. может я moveXY както не правильно использую, хз
боту нужно бежать за мной и мои Х У меняются быстро, если ждать окончания moveXY, то бот прибежит туда, где меня уже нет. дилемма.
спасибо создатель, я твой должник!
User avatar
Vizit0r
Developer
Developer
Posts: 3948
Joined: 24.03.2005 17:05
Contact:

Re: Догон

Post by Vizit0r »

ты выбирай, тебе "удобнее" или "лучше".
GetPathArray + идешь по массиву точек, после каждого 1-2 шагов пересчитываешь маршрут и т.д.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
untoha
Novice
Novice
Posts: 51
Joined: 16.03.2013 17:21

Re: Догон

Post by untoha »

Vizit0r wrote:ты выбирай, тебе "удобнее" или "лучше".
GetPathArray + идешь по массиву точек, после каждого 1-2 шагов пересчитываешь маршрут и т.д.
с языка снял, уже доделываю
спасибо создатель, я твой должник!
Tomers
Novice
Novice
Posts: 99
Joined: 06.08.2009 11:51

Re: Догон

Post by Tomers »

Народ, попробуйте поюзать:

SetRunMountTimer(0);
SetRunUnmountTimer(0);
MoveThroughNPC:=0;

были похожие проблемы, решил таким способом
Post Reply