![]() |
Проверка попадания в бота.
Такой вопрос. Есть FPS, есть 10 ботов (Bot1, Bot2... Bot9). Как реализовать попадание из оружия в ботов. А как это сделать? Я пробовал LinePick, но он только изредка выдает вместо "0" какие-то цифры, как я понял, это имя объекта, а как его из цифр преобразовать в имя переменной? А можно сделать вот так? Например, создать бокс, который бы повторял радиус и дальность поражения от оружия, привязать его к стволу. А потом проверять на столкновение с ботами, но чтобы он возвращал имя объекта, с которым столкнулся. Только у меня все боты сидят на одном EntityType.
Как бы это все реализовать по-проще. Заранее благодарен. |
Re: Проверка попадания в бота.
|
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 это простой пример и не оч оптимезированный ну вроде понятный! ПС писал прям на форуме мог наврать... |
Re: Проверка попадания в бота.
Цитата:
Меня в дрожь берет от этих типов. Ну ладно, попробую с ними. Но можно этот код и без типов сделать? |
Re: Проверка попадания в бота.
Куда ж ты без типов-то... все равно придется их использовать.
|
Re: Проверка попадания в бота.
Скажи если тебе 100 ботов понадобяться ты тоже будеш писать bot1,bot2,..bot99,bot100? ручки не отвадяться?
|
Re: Проверка попадания в бота.
ну мошь и массивами
ну типы имхо круче! сделай тутор от импера все поймешь он очень хороший |
Re: Проверка попадания в бота.
Цитата:
P.S. Отвечаю всем - ну, у меня не 100 ботов, а 10. Но, спорить не буду, - типы это весело. Только сложно все это. |
Re: Проверка попадания в бота.
EntityPickMode go to help !!!
|
Re: Проверка попадания в бота.
Цитата:
|
Re: Проверка попадания в бота.
Блин я тебя не зря в хелп послал
Аниммеш - не меш а контейнер для меша на него НЕ ставится пицкмоде на полигоны Нужно перебирать все чайлды и ставить на каждый а ваще делай обычным радиусом и не мороч голову с полигонами. пикай по эллипсу (ссответственно и пицкмде на сферу ставь) Учись работать с типами - это очень просто и эффективно |
Re: Проверка попадания в бота.
[blitz]For i= 1 To CountChildren(entity)
Baby = GetChild(entity,i) EntityPickMode Baby, 2 Next [/blitz] Цитата:
|
Re: Проверка попадания в бота.
ABTOMAT, может не прокатить
Function AnimEntityPickMode(aent,mode) EntityPickMode aent,mode,0 For i=1 To CountChildren(aent) AnimEntityPickMode(GetChild(aent,i),mode) Next End Function вот так идеологически правильнее. |
Re: Проверка попадания в бота.
У меня боты идут одним чайлдом, насколько я помню. Я пробовал в EntityPickMode ставить сферу, но тоже не работало. Т.е. мне надо создать поверх ботов сферу, скрыть ее и по ней проверять Pick?
|
Re: Проверка попадания в бота.
ну можно и создать "оболочку"
НО меня напрягли слова Цитата:
Hideentity )) если да то так не прокатит) пиши entityalpha obochka,0 выкинь весь код а то трудно понять , что не таке |
Часовой пояс GMT +4, время: 00:17. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot