PDA

Просмотр полной версии : [Вопрос] зеленые зоны



surface
19.07.2014, 17:04
Пишу мод с 0. Сделал оружейку но надо зделать ЗЗ. Как сделать зеленую зону?
http://ihost.pro-pawn.ru/image.php?di=0QUN

wAx
19.07.2014, 17:31
Привет!

Существует много способов создания так называемых "Зеленых зон". Опишу основные из этих способов (на мой взгляд):

- В стримере есть такая замечательная функция как CreateDynamicRectangle, она позволяет создать прямоугольник. Необходимо найти координаты твоей зеленой зоны, затем создать этот прямоугольник. Далее с помощью функции IsPlayerInDynamicArea, мы проверяем присутствие игрока в "ЗЗ". Проверять думаю стоит во время срабатывания колбэка OnPlayerWeaponShot.

- Обычный "дедовский" метод, вычисление позиции игрока и проверка по радиусу. Ищем условный центр около нашего магазина, далее сохраняем эту позицию. После чего с помощью IsPlayerInRangeOfPoint, проверяем нахождение игрока в радиусе отметки и решаем что нам с ним делать. Проверять думаю стоит во время срабатывания колбэка OnPlayerWeaponShot.

underwoker
19.07.2014, 17:34
Привет!

Существует много способов создания так называемых "Зеленых зон". Опишу основные из этих способов (на мой взгляд):

- В стримере есть такая замечательная функция как CreateDynamicRectangle, она позволяет создать прямоугольник. Необходимо найти координаты твоей зеленой зоны, затем создать этот прямоугольник. Далее с помощью функции IsPlayerInDynamicArea, мы проверяем присутствие игрока в "ЗЗ". Проверять думаю стоит во время срабатывания колбэка OnPlayerWeaponShot.

- Обычный "дедовский" метод, вычисление позиции игрока и проверка по радиусу. Ищем условный центр около нашего магазина, далее сохраняем эту позицию. После чего с помощью IsPlayerInRangeOfPoint, проверяем нахождение игрока в радиусе отметки и решаем что нам с ним делать. Проверять думаю стоит во время срабатывания колбэка OnPlayerWeaponShot.
Еще более "дедовский" метод, фризить каждый раз при нажатии на ЛКМ. :grin:

Spectrum
19.07.2014, 19:39
DynamicArea + фриз

surface
21.07.2014, 09:21
Спасибо закрывайте