|
3D-программирование Вопросы, касающиеся программирования 3D мира |
14.11.2007, 02:22
|
#1
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Боты - и всё что с ними связано.
Здарова форумчане!
По совету глянул как импер делал своего бота в фпс.
Ну вот сварганил чёто типа:
v#=0
For a.bot=Each bot
TranslateEntity a\entity,0,-Gravitaciya#,0
If Useru#=1 And EntityDistance(a\entity,bmw)<400 Then
PointEntity a\entity,User
v#=2
End If
If bmwu#=1 And EntityDistance(a\entity,bmw)<400 Then
PointEntity a\entity,bmw
v#=2
End If
If Useru#=1
If EntityDistance(a\entity,User)<40 Then
v#=0
End If
End If
If bmwu#=1
If EntityDistance(a\entity,bmw)<40 Then
v#=0
End If
End If
If Useru#=1
If EntityDistance(a\entity,User)<30 Then
v#=-1
End If
End If
If bmwu#=1
If EntityDistance(a\entity,bmw)<30 Then
v#=-1
End If
End If
MoveEntity a\entity,0,0,v#
Next
Заставляет нашего безмозглово бота двигаться к юзеру и от него
команда PointEntity.
В общем пока не могу придумать как ещё этой командой пользоваться,
да и собственно времени нету даж в блитц залезть.
Мож кто подскажет как можно изменить скорость разворота бота в сторону юзера?
Ато у меня щас бмв бота разворачивается в мою сторону с той же скоростью,
с какой я мимо него пролетаю ))
|
(Offline)
|
|
14.11.2007, 09:41
|
#2
|
Знающий
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений (для 133 пользователей)
|
Re: Боты - и всё что с ними связано.
Вместо PointEntity использовать AlignToVector
|
(Offline)
|
|
14.11.2007, 11:41
|
#3
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Боты - и всё что с ними связано.
Чёто не до конца понял как командой пользоваться ))
Бедный бот при виде меня в страхе едет на всех оборотах в стену дома )
|
(Offline)
|
|
14.11.2007, 13:05
|
#4
|
Знающий
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений (для 133 пользователей)
|
Re: Боты - и всё что с ними связано.
Можно посмотреть
http://damp.ucoz.ru/A_Cars.rar
там все с использованием AlignToVector
|
(Offline)
|
|
14.11.2007, 13:17
|
#5
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Боты - и всё что с ними связано.
Damp, AlignToVector не хорошая комманда, есть с ней немало проблемм.
Советую смешивать углы, и вообще добывать угол поповрота математически, а смешивать не просто а написать функцию, т.к. 0 и 380 это одно и тоже а при простом общем арифметическом выдаст 180, что не правильно
|
(Offline)
|
|
14.11.2007, 13:23
|
#6
|
Знающий
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений (для 133 пользователей)
|
Re: Боты - и всё что с ними связано.
Незнаю... пока с трудностями не сталкивался.
Единственное что не нравится - нельзя задать ускорение поворота.
|
(Offline)
|
|
15.11.2007, 05:12
|
#7
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Боты - и всё что с ними связано.
Задолбался щас с переменными для бота.
У меня должен быть набор разных переменных, сумму которых я буду менять.
Если пишу переменные внутри функции управления ботом, ничего не пашет.
Если пишу снаружи в глобале, всё пашет.
Если делаю её как тип, добавляю в функции создания бота, не пашет.
Как правильно создать переменную с которой будет бот работать?
Чтоб для каждого бота эта переменная была своя.
|
(Offline)
|
|
15.11.2007, 08:44
|
#8
|
|
Re: Боты - и всё что с ними связано.
в тип ее засунуть
|
|
|
15.11.2007, 12:56
|
#9
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Боты - и всё что с ними связано.
Если делаю её как тип, добавляю в функции создания бота, не пашет.
|
Пробовал уже.
Я бота написал который летит к месту добычи,
добывает ресурс, везёт ресурс на склад,
перекачевает ресурс на склад, и летит опять добывать.
Если заношу в тип то после длбычи бот отказывается лететь на склад.
В глобале же всё работает нормально.
|
(Offline)
|
|
15.11.2007, 13:12
|
#10
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Re: Боты - и всё что с ними связано.
я вижу это так, вводишь у бота переменныю состояние(state) в типе, то есть field. это состояние может принимать 3 значения допустим: ИДУ_ДОБЫВАТЬ, ДОБЫВАЮ, ОТВОЖУ_ЧТО_ДОБЫЛ. Прогоняешь в списке все объекты и в зависимости от состояния объекта делаешь то, что необходимо.
|
(Offline)
|
|
15.11.2007, 17:18
|
#11
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Боты - и всё что с ними связано.
У меня пока всё просто.
Global PS#=0
Global T#=23
;--------------------------------------------------- { (F) - Bot Update
Function update_bot()
v#=0
For a.bot=Each bot
;---- Dobicha Polevogo Shpata {
If PS#=0 And T#=23 Then
PointEntity a\entity,Cube7
v#=0.1
End If
If EntityDistance(a\entity,Cube7)<1 And PS#<23 Then
v#=0.0
PS#=PS#+0.1
If PS#>23 Then PS#=23
If PS#=23 Then T#=0
End If
If PS#=23 Then
PointEntity a\entity,Cube4
v#=0.1
End If
If EntityDistance(a\entity,Cube4)<1 And PS#>0 Then
v#=0.0
PS#=0
T2#=1
End If
If EntityDistance(a\entity,Cube4)<1 And PS#=0 Then
T#=T#+0.1
If T#>23 Then T#=23
End If
;---- Dobicha Polevogo Shpata }
MoveEntity a\entity,0,0,v#
Next
End Function
;--------------------------------------------------- } (F) - Bot Update
|
Но ресурс добывает, и возит на склад ))
Щас тут работка привалила, в екселе таблиц наделать, и ещё комп методиста починить, системник себе домой притащил.
Так шо пока бота писать не буду, как освобожусь от всех своих дел, попробую ещё раз с типами поработать.
|
(Offline)
|
|
15.11.2007, 18:03
|
#12
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: Боты - и всё что с ними связано.
Если делаю её как тип, добавляю в функции создания бота, не пашет.
|
и на всякий случай тип переменной укажи !!
это и тебя флоат получается:
field var#
вот так !!
|
(Offline)
|
|
16.11.2007, 15:11
|
#13
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Боты - и всё что с ними связано.
Без глобала работать не хочет!
В чём проблема?
;--------------------------------------------------- { (T) - Bot
Type bot
Field entity
Field PS#
Field T#
End Type
;--------------------------------------------------- } (T) - Bot
; #############
;--------------------------------------------------- { (F) - Bot
Function create_bot(x#,y#,z#)
b.bot=New bot
b\entity=CreateSphere()
EntityColor b\entity,10,50,10
PositionEntity b\entity,x#,y#,z#
ScaleEntity b\entity,0.8,0.8,0.8
RotateMesh b\entity, 0, 180, 0
NameEntity b\entity,Handle(b)
b\PS#=0
b\T#=23
Return True
End Function
;--------------------------------------------------- } (F) - Bot
; #############
;--------------------------------------------------- { (F) - Bot Update
Function update_bot()
v#=0
For a.bot=Each bot
;---- Dobicha Polevogo Shpata {
If PS#=0 And T#=23 Then
PointEntity a\entity,Cube7
v#=0.1
End If
If EntityDistance(a\entity,Cube7)<1 And PS#<23 Then
v#=0.0
PS#=PS#+0.1
If PS#>23 Then PS#=23
If PS#=23 Then T#=0
End If
If PS#=23 Then
PointEntity a\entity,Cube4
v#=0.1
End If
If EntityDistance(a\entity,Cube4)<1 And PS#>0 Then
v#=0.0
PS#=0
T2#=1
End If
If EntityDistance(a\entity,Cube4)<1 And PS#=0 Then
T#=T#+0.1
If T#>23 Then T#=23
End If
;---- Dobicha Polevogo Shpata }
MoveEntity a\entity,0,0,v#
Next
End Function
;--------------------------------------------------- } (F) - Bot Update
|
|
(Offline)
|
|
16.11.2007, 15:32
|
#14
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: Боты - и всё что с ними связано.
If PS#=0 And T#=23 Then
PointEntity a\entity,Cube7
...
|
PS и T нужно через тип вызывать. a\PS a\T
|
(Offline)
|
|
16.11.2007, 15:41
|
#15
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Боты - и всё что с ними связано.
Сообщение от H@NON
PS и T нужно через тип вызывать. a\PS a\T
|
Действительно!
Спасибо!
Чёто я от недосыпания и урабатывания уже торможу,
всё что пишу или моделю я делаю в зомбячем состоянии.
Блин всю ночь комп чинил, сёдня с утра ещё один чинил, потом у двух сеть настраивал, потом схемы делал,
голова раскалывается, спать хочу, чёто уже не в силах сёдня чёто рабочее писать.
Подскажи мне сонной мухе как рандом числа выставить?
вродибы надо типа - переменная#=Rnd(1,10) чёто типа того??
Ато чтёто тут опять попробовал сделать не вышло нифига, засыпаюю...
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:43.
|