![]() |
Передвижение бота из пункта А в пункт В по вейпоинтам.
Собственно суть вопроса в заголовке.
Как это делать криво через заднее место я знаю, а как правильно не знаю. Хотелосьбы увидеть кодом как это делать правильно? Ещё больше бы хотелось увидеть это кодом дипломата. |
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
пространство перемещения двумерное? допустим да.
Код:
Graphics3D 1024,768,32,1 |
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
Я тут мало что понял.
И не понял в коде как создать перемещение из пункта А в пункт Б. В своём коде я расставлял трианглы как хотел, и писал ботам как правильно ездить по этим трианглам. А тут чёто спираль какаято из кубов, и боты тупо ездиют по кругу. Мне не понятно как на основе этого делать дороги, и чтобы боты знали когда какую дорогу использовать. Какаято блин свободная генирация вейпоинтов, а не установка куда нужно. Вот допустим я ща 10 домов поставлю в разных сторонах, и как же мне правельно установить вейпоинты, и не так чтоб по прямой, а чтоб по дорогам на плейне выбитым? И чтобы бот знал в какой момент и какую дорогу лучше использовать. Вот в своём жопакоде я могу легко вбить все маршруты, а тут даже не представляю. Напишите мне просто перемещение От какогонибудь цилиндра к сфере, а между ними пуст ькубы вейпоинты стоят. И не как попал по всяким синусам, а чётко собственно вырисованной кривой дороге. И чтоб боту была команда от цилиндра ехать к сфере, н очерез вейпоинты. Во тесли такой код будет я пойму. И ненадо там лишнюю фигню писать типа всяких альф и прочей фигни, 1 бот, 1 плейн, 10 кубов лично расстваленых какнибудь змейкой там или хз, 1 сфера. Вот такой код я пойму, а щас я даж не представляю что таким кодом сделат ьможно, во всяком случае сделать то, что я уже могу делат ьв своём коде у меня тут не получится. |
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
PositionEntity WayPoints(i),x,y,z
устанавливает точку i в координаты x,y,z |
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
А как я отдельные вейпоинты установлю как мне надо? Этаж команда все вейпоинты кудато пихает,
у тя там вообще синус - косинус прописано, и он спираль нарисовал. И вообще мне не надо задачу давать кататься по вейпоинтам туда сюда, мне надо ехать от дома к дому пользуясь дорогой, и чтоб бот знал какую именно из дорог надо пользовать в нужный момент. |
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
нет, эта строчка "куда-то" пихает только i-тый вэйпойнт.
пожалуста - будет два вэйпойнта - будет бот ездить туда-сюда. |
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
Чего-то не очень вопрос ясен...
Ну расставь пивоты где нужно, дапустим piv(0), piv(1), piv(2)... ;в цикле PointEntity bot,piv(c) MoveEntity bot,0,0,vz If EntityDistance(bot,piv(c)) < 5 Then c=c+1 ;ну мол на следующий пивот --- Типа так наверно в простейшем случае... Для плавного поворота можно AlignToVector вместо PointEntity. |
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
Блин еслиб мне написали как я просил я бы понял, а щас я ничё не понимаю.
И ненадо мне его тупо по вейпоинтам гонять, мне надо гонять от дома к дому через эти вейпоинты, и чтобы он знал когда какую дорогу пользовать потому, что дорога двухполосная. |
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
А! ето меняет дело.
тут все будет чуть сложнее, но в принципе, реализуемо. пока писать не буду. |
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
Да, сложнее...
Пока такое могу влёгкую делать только своим кодом... |
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
Дипломат - а у тебя какой вариант?
Цитата:
Есть 2 дома, между ними в плейне вырублена кривая зигзаговая дорога, на дороге должно быть 2 ряда вейпоинтов (правая и левая стороны), должны быть боты. Как заставить ботов ездить от дома к дому через вейпоинты, выберая правильный путь? То есть каким образом это можно сделать вместо моего какакода: Код:
If a\d#=1 And a\PS#=0 And a\T#=23 And a\ZPPS#=2 Then |
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
Blitzerg, это можно сделать намного проще. у меня пока нет времени. у Дипломата думаю тоже.
вот приблизительный алгоритм. 1. у вейпойнта должен быть флаг - ведет он к первому дому или ко второму 2. если боту сказано идти, например к первому дому, то он ищет ближайший вейпойнт, ведущий к первому дому и идет к нему. далее просто - как в моем примере. |
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
Я для своей стрелялки ( Razor ) написал сей код:
Type WP Field entity[100] Field wn field cnt End type Function AddWP(w.WP,x#,y#,z#) w\entity[w\cnt]=CreatePivot() PositionEntity w\entity[w\cnt],x#,y#,z# w\cnt=w\cnt+1 end function function AligntObjectToWP(obj, w.wp) pointentity obj,w\entity[w\wn] moveentity obj,0,0,1 if entitydistance(obj,w\entity[w\wn])<5 then if w\wn<w\cnt then w\wn=w\wn+1 if w\wn=w\cnt then w\wn=0 end if end function А теперь как этим всем пользоваться: AddWP(w.wp,x#,y#,z#) - добавляет к массиву Entity еще один элемент, где w.wp это переменная типа WP; х,y,z - это координаты в пространстве AligntObjectToWP(obj, w.wp) - заставляет двигаться определенный объект по определенному массиву вэйпоинтов. где obj это привязываемый к вейпоинтам объект, а w.wp это переменная типа WP. В данном примере для каждого бота может быть своя карта вэйпоинтов. Юзать эти функции легко + они полностью работо способны |
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
эх, если бы мне лет этак пять назат так все расжевывали :)
|
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.
Blitzerg, добавляй в тип вэйпоигта еще 1 field:
Type Twp ... Field flag% ... End Type Потом выполняеш проверку на флаг: if wp\flag% = 1 then PointEntity Player,wr\ent ... ну и так дальше если дорога кривая, то нужно розбить ее на маленькие прямолинейные отрезки в конце которых ставить вэйпоинт !! |
Часовой пояс GMT +4, время: 19:34. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot