Перейти к содержимому


Фотография

Вопросы по скриптам осветительных ракет


Лучший Ответ shaman33 , 04 October 2014 - 22:27

SteelRat, да, как то так и сделал. Вот выкладываю скрипт, может кому поможет. Прикрепленный файл  fireGL.sqf   845байт   29 Количество загрузок:

Там нет проверки на вхождение в какой либо тригер, но мне и так сойдет :) . Единственная проблема - бот при выстреле из подствольника смотрит вверх на создаваемую на момент выстрела мишень (поднимающаяся мишень зомби). Нацелить бота на другие (какие либо невидимые) объекты у меня не получилось (hideobject тоже не работает). Если поднять мишень повыше, то её в принципе можно и не заметить.

Вызывать скрипт: scrGL = [grenadeur] execVM "fireGL.sqf" (у гренадера должен быть заряжен соответствующий снаряд)

Перейти к сообщению


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 OFFLINE   shaman33

shaman33

    Ефрейтор

  • Пользователи
  • 81 сообщений
  • Откуда:Владимир

Отправлено 02 October 2014 - 22:13

- Как заставить бота выстрелить осветительной ракетой?

- Как определить была ли запущена в зоне триггера осветительная ракета или дымовая шашка?


  • 0

#2 OFFLINE   foran

foran

    Капитан

  • Пользователи (ВсВт-В)
  • 1757 сообщений
  • Откуда:Россия
  • Отряд:[WTF]

Отправлено 03 October 2014 - 19:10

1 А тебе надо это видеть  ?  осветительная  ракету можно триггером запустить.

2 визуально.


  • 0

#3 OFFLINE   shaman33

shaman33

    Ефрейтор

  • Пользователи
  • 81 сообщений
  • Откуда:Владимир

Отправлено 03 October 2014 - 23:39

1 А тебе надо это видеть  ?  осветительная  ракету можно триггером запустить.

2 визуально.

1 Раз спросил как заставить бота выстрелить ракетой - значит надо именно так, а не иначе

2 Умник, мне ловля события нужна, что бы вызвать какое либо действие по нему


  • 0

#4 OFFLINE   shaman33

shaman33

    Ефрейтор

  • Пользователи
  • 81 сообщений
  • Откуда:Владимир

Отправлено 04 October 2014 - 11:13

Как вариант  - команда unit fire "GL_3GL_F". Бот выстреливает из подствольника, но приэтом он стреляет только тем снарядом, который в подствольнике находится (это ещё можно как то отслеживать), но при этом он стреляет туда, куда направлено его оружее (зачастую прямо перед собой в землю). Можно ли как то заставить бота смотреть вверх?


  • 0

#5 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 04 October 2014 - 20:53

 

 

Можно ли как то заставить бота смотреть вверх?

Не уверен, не пробовал, но попробуйте этой командой задать именно 3-х мерную позицию, куда смотреть, то есть [x,y,z]

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

 

 

 

 Как определить была ли запущена в зоне триггера осветительная ракета или дымовая шашка?

Это событие, могу и ошибаться, вероятно придётся отследить в два этапа

 

Сначала зафиксировать сам момент выстрела, прикрутив к юниту обработчик события

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

или этот, надо пробовать

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

 

А уже из этого обработчика события вызвать проверку, находится ли юнит в зоне триггера.


Сообщение отредактировал SteelRat: 04 October 2014 - 20:57

  • 1

#6 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 04 October 2014 - 21:23

Кстати вот наткнулся на для вас полезное

/*
	File: inTrigger.sqf
	Author: Karel Moricky

	Description:
	Detects whether is position within trigger area.

	Parameter(s):
		_this select 0: OBJECT or ARRAY - Trigger or trigger area
		_this select 1: ARRAY or OBJECT - Position
		_this select 2 (Optional): BOOL - true for scalar result (distance from border)

	Returns:
	Boolean (true when position is in area, false if not).
*/
_inTrigger = [Trigger, Unit] call BIS_fnc_inTrigger;

  • 0

#7 OFFLINE   shaman33

shaman33

    Ефрейтор

  • Пользователи
  • 81 сообщений
  • Откуда:Владимир

Отправлено 04 October 2014 - 22:27   Лучший Ответ

SteelRat, да, как то так и сделал. Вот выкладываю скрипт, может кому поможет. Прикрепленный файл  fireGL.sqf   845байт   29 Количество загрузок:

Там нет проверки на вхождение в какой либо тригер, но мне и так сойдет :) . Единственная проблема - бот при выстреле из подствольника смотрит вверх на создаваемую на момент выстрела мишень (поднимающаяся мишень зомби). Нацелить бота на другие (какие либо невидимые) объекты у меня не получилось (hideobject тоже не работает). Если поднять мишень повыше, то её в принципе можно и не заметить.

Вызывать скрипт: scrGL = [grenadeur] execVM "fireGL.sqf" (у гренадера должен быть заряжен соответствующий снаряд)

Прикрепленные файлы

  • Прикрепленный файл  fireGL.sqf   845байт   29 Количество загрузок:

  • 0

#8 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 04 October 2014 - 23:17

Исправьте эти 2-е строчки на вот так, так будет, скажем правильнее, просто на будущее, лучше делать так, а удалять все события конкретного типа только когда юнит отошёл в небеса)

_EHfiredIdx = _unit addEventHandler ["fired", {hint "Выстрел из подствольника"}];

_unit removeEventHandler ["fired", _EHfiredIdx];

  • 0

#9 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 04 October 2014 - 23:29

Немножечко не правильно

_target = "Zombie_PopUp_Moving_90deg_F" createVehicle (getPos _unit);

//правильно
_target = createVehicle ["Zombie_PopUp_Moving_90deg_F", (getPos _unit), [], 0, "none"];
_unitPos = getPosATL _unit;
_target setPosATL [_unitPos select 0, (_unitPos select 1) - 10, (_unitPos select 2) + 35];

//я думаю что так будет даже лучше, попробуйте
_target = group _unit createUnit ["Logic", (getPos _unit), [], 0, "none"];

Сообщение отредактировал SteelRat: 04 October 2014 - 23:29

  • 1




Яндекс.Метрика