forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Стрельба (http://forum.boolean.name/showthread.php?t=7879)

Nerd 07.11.2011 22:34

Ответ: Стрельба
 
Надо сначала с языком разобраться, а потом уже что-то творить.
Hint: ты делать это абсолютно неправильно

LLI.T.A.L.K.E.R. 07.11.2011 23:15

Ответ: Стрельба
 
А можно пивот запустить по траектории и проверять на радиус расстояния (столкновения). Но тут перебор между всеми пулями и врагами.

dsd 07.11.2011 23:29

Ответ: Стрельба
 
FreeEntity PickedEntity()

PickedEntity() просто возвращает хэндл пикнутой сущности. А вообще ты пытался записать ПикедЕнтити ноль. Очевидно, что даже если бы это получилось, то с самой ентитей ниче не произойдет :)

RBK 08.11.2011 00:12

Ответ: Стрельба
 
Цитата:

Сообщение от dsd (Сообщение 208795)
FreeEntity PickedEntity()

так удалять нельзя, PickedEntity() может вернуть ноль, в результате будет MAV

Результат PickedEntity() нужно сохранить в переменной, и потом уже с ней работать, а после удаления обнулить.

dsd 08.11.2011 00:31

Ответ: Стрельба
 
Ну как бэ, тут у людей есть пуля, которая при попадании в цель, должна цель уничтожить. Как бэ этот код не должен выполниться если пикнутаяентитя ноль, как бэ не должна появиться ошибка даже если оставить как есть :D

DaHuJIbI4 09.11.2011 18:28

Ответ: Стрельба
 
Я наверное плохо описал суть вопроса. Вот:
If PickedEntity()=b\entity Then
b\health = b\health -10
............<---Вот сюдабы хорошо приписать PickedEntity()=0. Чтобы отменить пик. иначе получается что здоровье отнимается всё время. И бот дохнет с одного выстрела.
EndIf

If b\health<1 Then
FreeEntity b\entity
Delete b
EndIf

Markova 09.11.2011 18:46

Ответ: Стрельба
 
Mouse_Hit1=MouseHit(1)
If PickedEntity()=b\entity and Mouse_Hit1

Program23 09.11.2011 19:41

Ответ: Стрельба
 
Цитата:

Сообщение от Markova (Сообщение 209044)
Mouse_Hit1=MouseHit(1)
If PickedEntity()=b\entity and Mouse_Hit1

что за бред?

Цитата:

Я наверное плохо описал суть вопроса. Вот:
If PickedEntity()=b\entity Then
b\health = b\health -10
............<---Вот сюдабы хорошо приписать PickedEntity()=0. Чтобы отменить пик. иначе получается что здоровье отнимается всё время. И бот дохнет с одного выстрела.
EndIf

If b\health<1 Then
FreeEntity b\entity
Delete b
EndIf
Точно не помню,но попробуй PickedEntity записать в переменную.
Вот так:
Код:

PickedEnt=PickedEntity()
 If PickedEnt=b\entity Then

 b\health = b\health -10
PickedEnt=0

 EndIf

 If b\health<1 Then
HideEntity b\entity  ;Лучше скрывать объект
 EndIf


DaHuJIbI4 11.11.2011 20:08

Ответ: Стрельба
 
Спасибо. Всё заработало, только PickedEnt=PickedEntity() перенёс в события мыши.

Артем Валерьевич 21.11.2011 22:03

Ответ: Стрельба
 
Некропостеры атакуют, я сам чуть не отписался, потом на дату посмотрел...


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot