Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 14.12.2007, 00:23   #1
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Передвижение бота из пункта А в пункт В по вейпоинтам.

Собственно суть вопроса в заголовке.
Как это делать криво через заднее место я знаю,
а как правильно не знаю.
Хотелосьбы увидеть кодом как это делать правильно?
Ещё больше бы хотелось увидеть это кодом дипломата.
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 00:42   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.

пространство перемещения двумерное? допустим да.

Graphics3D 1024,768,32,1

cam=CreateCamera()
point=CreateCube()
EntityColor point,0,255,0
HideEntity point
EntityAlpha point,0.8

ground=CreatePlane()
EntityColor ground,128,64,16

PositionEntity cam,0,10,-50
PointEntity cam,ground

player=CreateSphere(16)
EntityColor player,0,0,255
HideEntity player
EntityBlend player,3

Type TPlayer
	Field ent
	Field curwaypoint
End Type

Const MAX_WAYPOINTS=100

Dim WayPoints(MAX_WAYPOINTS)

Const spiral=1
If spiral
	da#=(360.0/MAX_WAYPOINTS)*5
	dr#=100.0/MAX_WAYPOINTS
	a#=0
	r#=0
	For i=1 To MAX_WAYPOINTS
		a=a+da
		r=r+dr
		WayPoints(i)=CopyEntity(point)
		ShowEntity WayPoints(i)
		PositionEntity WayPoints(i),Sin(a)*r,0.5,Cos(a)*r
	Next	
Else
	For i=1 To MAX_WAYPOINTS
		WayPoints(i)=CopyEntity(point)
		ShowEntity WayPoints(i)
		PositionEntity WayPoints(i),Rnd(-100,100),0.5,Rnd(-100,100)
	Next	
EndIf


For i=1 To 10
	p.TPlayer=New TPlayer
	p\ent=CopyEntity(player)
	ShowEntity p\ent
	PositionEntity p\ent,Rnd(-100,100),0.5,Rnd(-100,100)
	p\curwaypoint=Rand(1,MAX_WAYPOINTS-1)
Next

While Not KeyDown(1)
	TurnEntity cam,MouseYSpeed()*0.5,0,0
	TurnEntity cam,0,-MouseXSpeed()*0.5,0
	RotateEntity cam,EntityPitch(cam),EntityYaw(cam),0
	MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
	
	;Само путешествие по вейпойнтам
	For p.TPlayer=Each TPlayer
		PointEntity p\ent,WayPoints(p\curwaypoint+1)
		MoveEntity p\ent,0,0,0.1
		If EntityDistance(p\ent,WayPoints(p\curwaypoint+1))<2
			p\curwaypoint=p\curwaypoint+1
			If p\curwaypoint=MAX_WAYPOINTS Then p\curwaypoint=0
		EndIf
	Next
	RenderWorld
	Flip
Wend
заметь, что само перемещение занимает всего 8 строчек.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Старый 14.12.2007, 14:09   #3
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.

Я тут мало что понял.
И не понял в коде как создать перемещение из пункта А в пункт Б.
В своём коде я расставлял трианглы как хотел, и писал ботам
как правильно ездить по этим трианглам.
А тут чёто спираль какаято из кубов, и боты тупо ездиют по кругу.
Мне не понятно как на основе этого делать дороги,
и чтобы боты знали когда какую дорогу использовать.

Какаято блин свободная генирация вейпоинтов, а не установка куда нужно.
Вот допустим я ща 10 домов поставлю в разных сторонах,
и как же мне правельно установить вейпоинты, и не так чтоб по прямой,
а чтоб по дорогам на плейне выбитым?
И чтобы бот знал в какой момент и какую дорогу лучше использовать.

Вот в своём жопакоде я могу легко вбить все маршруты,
а тут даже не представляю.


Напишите мне просто перемещение От какогонибудь цилиндра к сфере, а между ними пуст ькубы вейпоинты стоят.
И не как попал по всяким синусам, а чётко собственно вырисованной кривой дороге.
И чтоб боту была команда от цилиндра ехать к сфере, н очерез вейпоинты.
Во тесли такой код будет я пойму.

И ненадо там лишнюю фигню писать типа всяких альф и прочей фигни,
1 бот, 1 плейн, 10 кубов лично расстваленых какнибудь змейкой там или хз, 1 сфера.

Вот такой код я пойму, а щас я даж не представляю что таким кодом сделат ьможно,
во всяком случае сделать то, что я уже могу делат ьв своём коде у меня тут не получится.
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 14:15   #4
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.

PositionEntity WayPoints(i),x,y,z
устанавливает точку i в координаты x,y,z
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 14:22   #5
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.

А как я отдельные вейпоинты установлю как мне надо? Этаж команда все вейпоинты кудато пихает,
у тя там вообще синус - косинус прописано, и он спираль нарисовал.

И вообще мне не надо задачу давать кататься по вейпоинтам туда сюда,
мне надо ехать от дома к дому пользуясь дорогой,
и чтоб бот знал какую именно из дорог надо пользовать в нужный момент.
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 14:27   #6
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.

нет, эта строчка "куда-то" пихает только i-тый вэйпойнт.
пожалуста - будет два вэйпойнта - будет бот ездить туда-сюда.
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 14:37   #7
Damp
Знающий
 
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений
(для 133 пользователей)
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.
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 14:40   #8
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.

Блин еслиб мне написали как я просил я бы понял, а щас я ничё не понимаю.
И ненадо мне его тупо по вейпоинтам гонять, мне надо гонять от дома к дому через эти вейпоинты,
и чтобы он знал когда какую дорогу пользовать потому, что дорога двухполосная.
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 14:44   #9
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.

А! ето меняет дело.
тут все будет чуть сложнее, но в принципе, реализуемо.
пока писать не буду.
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 14:46   #10
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.

Да, сложнее...
Пока такое могу влёгкую делать только своим кодом...
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 16:06   #11
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.

Дипломат - а у тебя какой вариант?
Без проблем! Могу даже рабочий пример написать: делов-то на 15 минут. Только создай нормальный корректный вопрос с описанием проблемы и ТЗ в соответствующем разделе.
Вот вопрос:

Есть 2 дома, между ними в плейне вырублена кривая зигзаговая дорога,
на дороге должно быть 2 ряда вейпоинтов (правая и левая стороны),
должны быть боты.
Как заставить ботов ездить от дома к дому через вейпоинты, выберая правильный путь?
То есть каким образом это можно сделать вместо моего какакода:
If a\d#=1 And a\PS#=0 And a\T#=23 And a\ZPPS#=2 Then
    PointEntity a\entity,PolevoyShpat
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,PolevoyShpat)<1 And a\PS#<23 Then
    a\v#=0.0
    a\PS#=a\PS#+0.1
    If a\PS#>23 Then a\PS#=23
    If a\PS#=23 Then a\T#=0
    End If
    
    
    If a\PS#=23 And a\UPPS#=0 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS1
    a\v#=0.1
    End If    
        
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS1)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=1
    End If
    
    If a\PS#=23 And a\UPPS#=1 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS2
    a\v#=0.1
    End If    
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS2)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=2
    End If
    
    If a\PS#=23 And a\UPPS#=2 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS3
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS3)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=3
    End If
    
    If a\PS#=23 And a\UPPS#=3 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS4
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS4)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=5
    End If
    
    If a\PS#=23 And a\UPPS#=5 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS5
    a\v#=0.1
    End If        
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS5)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=6
    End If
    
    If a\PS#=23 And a\UPPS#=6 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS6
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS6)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=7
    End If
    
    If a\PS#=23 And a\UPPS#=7 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS7
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS7)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=8
    End If
    
    If a\PS#=23 And a\UPPS#=8 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS8
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS8)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=9
    End If
    
    If a\PS#=23 And a\UPPS#=9 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS9
    a\v#=0.1
    End If
    
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS9)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=9
    End If
    
    If a\PS#=23 And a\UPPS#=9 Then
    PointEntity a\entity,ZavodPPS
    a\v#=0.1
    End If
            
    If EntityDistance(a\entity,ZavodPPS)<1 And a\PS#>0 Then
    a\v#=0.0
    a\PS#=0
    a\UPPS#=0
    a\ZPPS#=1
    End If
    
    If EntityDistance(a\entity,ZavodPPS)<1 And a\PS#=0 Then
    a\T#=a\T#+0.1
    If a\T#>23 Then
    a\T#=23
    a\r#=0
    End If
    End If
        
    
    
    
    
    If a\d#=1 And a\PS#=0 And a\T#=23 And a\ZPPS#=1 And a\UPPS#=0 Then
    PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS1
    a\v#=0.1
    End If    
        
    If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS1)<1 And a\T#=23 Then
    a\v#=0.0
    a\UPPS#=1
    End If
    
    If a\T#=23 And a\UPPS#=1 Then
    PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS2
    a\v#=0.1
    End If    
    
    If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS2)<1 And a\T#=23 Then
    a\v#=0.0
    a\UPPS#=2
    End If
    
    If a\T#=23 And a\UPPS#=2 Then
    PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS3
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS3)<1 And a\T#=23 Then
    a\v#=0.0
    a\UPPS#=3
    End If
    
    If a\T#=23 And a\UPPS#=3 Then
    PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS4
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS4)<1 And a\T#=23 Then
    a\v#=0.0
    a\UPPS#=5
    End If
    
    If a\T#=23 And a\UPPS#=5 Then
    PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS5
    a\v#=0.1
    End If        
    
    If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS5)<1 And a\T#=23 Then
    a\v#=0.0
    a\UPPS#=6
    End If
    
    If a\T#=23 And a\UPPS#=6 Then
    PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS6
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS6)<1 And a\T#=23 Then
    a\v#=0.0
    a\UPPS#=7
    End If
    
    If a\T#=23 And a\UPPS#=7 Then
    PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS7
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS7)<1 And a\T#=23 Then
    a\v#=0.0
    a\UPPS#=8
    End If
    
    If a\T#=23 And a\UPPS#=8 Then
    PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS8
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS8)<1 And a\T#=23 Then
    a\v#=0.0
    a\UPPS#=9
    End If
    
    If a\T#=23 And a\UPPS#=9 Then
    PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS9
    a\v#=0.1
    End If
    
    
    If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS9)<1 And a\T#=23 Then
    a\v#=0.0
    a\UPPS#=9
    End If
    
    If a\T#=23 And a\UPPS#=9 Then
    PointEntity a\entity,PolevoyShpat
    a\v#=0.1
    End If
            
            
            
            
    If EntityDistance(a\entity,PolevoyShpat)<1 And a\PS#<23 Then
    a\v#=0.0
    a\PS#=a\PS#+0.1
    If a\PS#>23 Then a\PS#=23
    If a\PS#=23 Then a\T#=0
    a\UPPS#=0
    a\ZPPS#=0
    End If
    
    
    If a\PS#=23 And a\UPPS#=0 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS1
    a\v#=0.1
    End If    
        
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS1)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=1
    End If
    
    If a\PS#=23 And a\UPPS#=1 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS2
    a\v#=0.1
    End If    
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS2)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=2
    End If
    
    If a\PS#=23 And a\UPPS#=2 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS3
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS3)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=3
    End If
    
    If a\PS#=23 And a\UPPS#=3 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS4
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS4)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=5
    End If
    
    If a\PS#=23 And a\UPPS#=5 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS5
    a\v#=0.1
    End If        
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS5)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=6
    End If
    
    If a\PS#=23 And a\UPPS#=6 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS6
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS6)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=7
    End If
    
    If a\PS#=23 And a\UPPS#=7 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS7
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS7)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=8
    End If
    
    If a\PS#=23 And a\UPPS#=8 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS8
    a\v#=0.1
    End If
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS8)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=9
    End If
    
    If a\PS#=23 And a\UPPS#=9 Then
    PointEntity a\entity,UP_PolevoyShpat_ZavodPPS9
    a\v#=0.1
    End If
    
    
    If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS9)<1 And a\PS#=23 Then
    a\v#=0.0
    a\UPPS#=9
    End If
    
    If a\PS#=23 And a\UPPS#=9 Then
    PointEntity a\entity,ZavodPPS
    a\v#=0.1
    End If
            
    If EntityDistance(a\entity,ZavodPPS)<1 And a\PS#>0 Then
    a\v#=0.0
    a\PS#=0
    a\UPPS#=0
    a\ZPPS#=1
    End If
    
    If EntityDistance(a\entity,ZavodPPS)<1 And a\PS#=0 Then
    a\T#=a\T#+0.1
    If a\T#>23 Then
    a\T#=23
    a\r#=0
    End If
    End If
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 16:35   #12
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.

Blitzerg, это можно сделать намного проще. у меня пока нет времени. у Дипломата думаю тоже.
вот приблизительный алгоритм.
1. у вейпойнта должен быть флаг - ведет он к первому дому или ко второму
2. если боту сказано идти, например к первому дому, то он ищет ближайший вейпойнт, ведущий к первому дому и идет к нему. далее просто - как в моем примере.
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 16:59   #13
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
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.
В данном примере для каждого бота может быть своя карта вэйпоинтов. Юзать эти функции легко + они полностью работо способны
__________________

(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 19:41   #14
Trilliput
Знающий
 
Регистрация: 27.07.2006
Сообщений: 250
Написано 6 полезных сообщений
(для 7 пользователей)
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.

эх, если бы мне лет этак пять назат так все расжевывали
(Offline)
 
Ответить с цитированием
Старый 14.12.2007, 19:58   #15
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: Передвижение бота из пункта А в пункт В по вейпоинтам.

Blitzerg, добавляй в тип вэйпоигта еще 1 field:
Type Twp
...
Field flag%
...
End Type

Потом выполняеш проверку на флаг:
if wp\flag% = 1 then
PointEntity Player,wr\ent
...
ну и так дальше

если дорога кривая, то нужно розбить ее на маленькие прямолинейные отрезки в конце которых ставить вэйпоинт !!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм поведения бота в гонках PrgMan Алгоритмика 1 18.06.2009 20:47
Проверка попадания в бота. Maxxx.!!!. 3D-программирование 37 16.12.2007 16:31
ПП по Вейпоинтам Leito 2D-программирование 21 20.04.2007 11:22
Как убрать пункт меню АВТОЗАГРУЗКА NullX Болтовня 4 13.06.2006 23:04


Часовой пояс GMT +4, время: 01:00.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com