Главний вопрос, кто может поделится своим опытом и рассказать о самом приемлимом методе, по какому вычисляется попала ли пуля в нужную нам цель?
И одновременно выставляю на критику свою мыслю, которая может пригодится при особых случаях, когда скорость пули больше толщины игрока...
Бегают игроки, они все маленькие размером, и по сравнению со скоростю пуль, метод колизии пули с игроком в некоторых случаях просто безнадежен ибо пуля просто может протлитеть сквозь персонажа и даже его незаметить. Будит ли глючным способом решить ету проблему так:
В каждую пулю вставляем припаренченую к ним камеру
Local TempPivot=CreatePivot()
If EntityDistance(Пуля,Игрок)<5 -Ето условие только для того чтоб лишний раз не юзать CameraPick(), и значение может быть не 5 а любое зависящее примерно от размера игрока, чтоб его пуля случайно не пролетела.
Hit=CameraPick(Камера та что в пуле, центр екрана)-Переверяем есть ли перед нами игрок?
If Hit<>0 PositionEntity TempPivot,PickedX#(),PickedY#(),PickedZ#(),1-Если он есть, ставим в точку попадания пивот, для вычислений.
If EntityDistance(TempPivot,Пуля)<Cкорость пули Then Пуля попала в цель -Если расстояние до игрока достаточное, убираем игроку хелсы.
EndIf
EndIf
FreeEntity TempPivot
Будет ли ето слишком тормозить систему, если у меня способных стрелять будет максимум 4 игрока?
п.с. Надеюсь я пояснил доступно, если кто нипонял могу нарисовать...