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

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

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

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

Ответ
 
Опции темы
Старый 09.12.2007, 17:37   #1
Maxxx.!!!.
Нуждающийся
 
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Проверка попадания в бота.

Такой вопрос. Есть FPS, есть 10 ботов (Bot1, Bot2... Bot9). Как реализовать попадание из оружия в ботов. А как это сделать? Я пробовал LinePick, но он только изредка выдает вместо "0" какие-то цифры, как я понял, это имя объекта, а как его из цифр преобразовать в имя переменной? А можно сделать вот так? Например, создать бокс, который бы повторял радиус и дальность поражения от оружия, привязать его к стволу. А потом проверять на столкновение с ботами, но чтобы он возвращал имя объекта, с которым столкнулся. Только у меня все боты сидят на одном EntityType.

Как бы это все реализовать по-проще. Заранее благодарен.
(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 17:54   #2
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Re: Проверка попадания в бота.

http://www.boolean.name/showthread.php?t=15
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 18:03   #3
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: Проверка попадания в бота.

чета не понял у тебя боты это перменые?
жуть)
попробуй с типами

простой пример:

Type TBot
field ent ;модель бота
filed hp ; колво жизни
end type

;создаем 10 ботов в случайных позициях:
for i=1 to 10
bt.TBot=new TBot
bt\ent=createcube()
bt\hp=100 ;вначаеле у бото 100 единиц здоровия
entitypickmode bt\ent,2 ;чтобы можно было пикать по ботам
positionentity bt\hp,rnd(-10,10),0,rnd(-10,10)
next


главный цикл:
pick=camerapick(cam,mousex(),mousey())
;перебираем всех ботов
for bt.TBot=each TBot
;если кликнул на мыш и наведена мыш на бота то отнимаем у бота 10 хп
if mousehit(1) and pick=bt\ent then bt\hp=bt\hp-10
;если жизни меньше(равно 0) то уничтожаем бота
if bt\hp<=0 then freeentity bt\ent : delete bt
next


это простой пример и не оч оптимезированный
ну вроде понятный!
ПС писал прям на форуме мог наврать...
(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 18:10   #4
Maxxx.!!!.
Нуждающийся
 
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Проверка попадания в бота.

Сообщение от Horror
чета не понял у тебя боты это перменые?
жуть)
попробуй с типами

простой пример:

...
Ну, так: Bot1=LoadAnimMesh("zzz")

Меня в дрожь берет от этих типов. Ну ладно, попробую с ними. Но можно этот код и без типов сделать?
(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 18:15   #5
Bagration
Знающий
 
Регистрация: 06.10.2007
Сообщений: 225
Написано 15 полезных сообщений
(для 21 пользователей)
Re: Проверка попадания в бота.

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

Скажи если тебе 100 ботов понадобяться ты тоже будеш писать bot1,bot2,..bot99,bot100? ручки не отвадяться?
(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 18:43   #7
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: Проверка попадания в бота.

ну мошь и массивами
ну типы имхо круче!

сделай тутор от импера все поймешь
он очень хороший
(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 18:49   #8
Maxxx.!!!.
Нуждающийся
 
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Проверка попадания в бота.

Сообщение от Horror
простой пример:

главный цикл:
pick=camerapick(cam,mousex(),mousey())
;перебираем всех ботов
for bt.TBot=each TBot
;если кликнул на мыш и наведена мыш на бота то отнимаем у бота 10 хп
if mousehit(1) and pick=bt\ent then bt\hp=bt\hp-10
;если жизни меньше(равно 0) то уничтожаем бота
if bt\hp<=0 then freeentity bt\ent : delete bt
next
Не исчезают боты после того, как у них жизни кончаются. Т.е. pick не работает. Почему?

P.S. Отвечаю всем - ну, у меня не 100 ботов, а 10. Но, спорить не буду, - типы это весело. Только сложно все это.
(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 19:23   #9
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Проверка попадания в бота.

EntityPickMode go to help !!!
__________________
(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 19:25   #10
Maxxx.!!!.
Нуждающийся
 
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Проверка попадания в бота.

Сообщение от tormoz
EntityPickMode go to help !!!
Был я в хелпе, все правильно. Толку то. Может с CameraPick что-нибудь?
(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 21:11   #11
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Проверка попадания в бота.

Блин я тебя не зря в хелп послал
Аниммеш - не меш а контейнер для меша
на него НЕ ставится пицкмоде на полигоны
Нужно перебирать все чайлды и ставить на каждый

а ваще делай обычным радиусом и не мороч голову с полигонами.
пикай по эллипсу (ссответственно и пицкмде на сферу ставь)

Учись работать с типами - это очень просто и эффективно
__________________
(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 21:24   #12
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Re: Проверка попадания в бота.

[blitz]For i= 1 To CountChildren(entity)
Baby = GetChild(entity,i)
EntityPickMode Baby, 2
Next [/blitz]

Меня в дрожь берет от этих типов
Бугага, жжош)) Ты можешь бытро кликами мышки создать 200 врагов? Нет? А я могу) Перебарывай дрожь и кури хелп по типам.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 21:30   #13
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Проверка попадания в бота.

ABTOMAT, может не прокатить
Function AnimEntityPickMode(aent,mode)
EntityPickMode aent,mode,0
For i=1 To CountChildren(aent)
AnimEntityPickMode(GetChild(aent,i),mode)
Next
End Function
вот так идеологически правильнее.
(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 22:41   #14
Maxxx.!!!.
Нуждающийся
 
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Проверка попадания в бота.

У меня боты идут одним чайлдом, насколько я помню. Я пробовал в EntityPickMode ставить сферу, но тоже не работало. Т.е. мне надо создать поверх ботов сферу, скрыть ее и по ней проверять Pick?
(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 22:51   #15
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: Проверка попадания в бота.

ну можно и создать "оболочку"
НО меня напрягли слова
скрыть ее
ты как скрываешь?
Hideentity ))
если да то так не прокатит)
пиши entityalpha obochka,0

выкинь весь код а то трудно понять , что не таке
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка на вшивость SBJoker Болтовня 10 01.02.2010 03:59
Алгоритм поведения бота в гонках PrgMan Алгоритмика 1 18.06.2009 20:47
о движении пули и попадания в врага temned FAQ 4 18.02.2009 08:05
Передвижение бота из пункта А в пункт В по вейпоинтам. Crystal 3D-программирование 17 14.12.2007 21:24
Проверка на столкновение ЛысыЙ_Чук-Иванчук 3D-программирование 8 09.05.2006 10:50


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


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