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


Фотография

Воздушный десант!


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

#1 OFFLINE   Mrandry26

Mrandry26

    Ефрейтор

  • Пользователи
  • 41 сообщений

Отправлено 24 April 2014 - 00:41

Ставим вертолёт, присваиваем ему имя heli. в строке особое ставим "в полёте"!

Ставим группу, в ините(описание) командира пишем rus=group this;{_x moveInCargo heli} forEach units rus

 

rus=group this - этим самым присвоили имя группе (Rus)! 

{_x moveInCargo heli} forEach units rus - этим самым мы посадили нашу группу в вертолёт.

 

создаём текстовый документ в формате SQS  даём ему имя Out

копируем в него нижеуказаное

 

 

; out
 
_aunits = units rus
_i = 0
_j = count _aunits
#Here
(_aunits select _i) action ["eject",HELI]
unassignvehicle (_aunits select _i)
_i=_i+1
~0.4
?_j>_i:goto "Here"
"unassignvehicle _x" forEach _aunits
vyhozeno = true
exit
 
Сохраняем, закидываем в папку с вашей миссией.
 
Создаём триггер,  в Активации пишем следущее leader rus exec "Out.sqs"
 
нажимаем F2 и перетягиваем синюю линию от триггера на вертолёт, тем самым триггер сработает только на этот вертолёт.
как только вертолёт залетит в зону действия триггера, начнётся  выброска десанта с частотой в 0.4 секунды!  этого вполне достаточно, чтобы не было контакта с другим десантником. По умолчанию высота у вертолёта 50 метров. этого мало, что бы раскрыться. поэтому можно задать любую высоту вертолёту.
в ините (описании) вертолёта пишем следущее:
 
heli flyInHeight 1000;this setPos [getPos this select 0, getPos this select 1, (getPos this select 2) + 1000];
 
где - heli flyInHeight 1000; высота вертолёта 1 км 

где - this setPos [getPos this select 0, getPos this select 1, (getPos this select 2) + 1000]; это, вертолёт сохраняет свою высоту и не начнёт  снижаться на высоту по умолчанию на 50м. 

можете побаловаться выставляя разные высоты.

надеюсь я вам понятно разжевал)))

 

Автор: Mr.Andry26

 

пример прикреплён.

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

  • Прикрепленный файл  Desant.pbo   3.9К   203 Количество загрузок:

Сообщение отредактировал Mrandry26: 24 April 2014 - 01:30

  • 5

#2 OFFLINE   Sandefend

Sandefend

    Ефрейтор

  • Пользователи
  • 40 сообщений

Отправлено 08 December 2014 - 21:07

 Что бы не было такой ситуации как под спойлером , в инит солдатов пишем this addBackpack "B_Parachute"; 


Сообщение отредактировал Sandefend: 08 December 2014 - 22:18

  • 1

#3 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 09 December 2014 - 17:21

 

Что бы не было такой ситуации как под спойлером , в инит солдатов пишем this addBackpack "B_Parachute"; 

 

А что! Прикольно!

Я бы ещё, вместо парашютов, обвешал их взрывчаткой! И замутил триггер на взрыв.

И обозвал бы новый класс бойцов "Архангелы".


Сообщение отредактировал SteelRat: 09 December 2014 - 17:22

  • 4

#4 OFFLINE   Mrandry26

Mrandry26

    Ефрейтор

  • Пользователи
  • 41 сообщений

Отправлено 21 December 2014 - 13:46

 Что бы не было такой ситуации как под спойлером , в инит солдатов пишем this addBackpack "B_Parachute"; 

XD чтож ты им сразу то не поставил парашютистов)?


  • 0

#5 OFFLINE   AZIMUT

AZIMUT

    Рядовой

  • Пользователи
  • 4 сообщений

Отправлено 22 December 2014 - 23:15

А, может кто подсказать, как скриптом заспавнить вертолет, с командой в грузовом отсеке, и пилотами, на определенной высоте?


  • 0

#6 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 сообщений

Отправлено 23 December 2014 - 12:27

AZIMUT,

 

Вот вам пример

vert = createVehicle ["I_Heli_Transport_02_F", position player, [], 0, "FLY"];// вертуха в полете, вместо position player можете писать позицию маркера или координаты

_group = createGroup east; 
     u1 = _group createUnit ["C_Nikos_aged",position player,[],0,"FORM"];
	 u1 moveInAny vert;
	 
	 u2 = _group createUnit ["C_Nikos_aged",position player,[],0,"FORM"];
	 u2 moveInAny vert;
	
	 u3 = _group createUnit ["C_Nikos_aged",position player,[],0,"FORM"];
	 u3 moveInAny vert;
	 
	 u4 = _group createUnit ["C_Nikos_aged",position player,[],0,"FORM"];
	 u4 moveInAny vert;
	 
	 u5 = _group createUnit ["C_Nikos_aged",position player,[],0,"FORM"];
	 u5 moveInAny vert;
	 
	 u6 = _group createUnit ["C_Nikos_aged",position player,[],0,"FORM"];
	 u6 moveInAny vert;
	 
	 u7 = _group createUnit ["C_Nikos_aged",position player,[],0,"FORM"];
	 u7 moveInAny vert;
	 
	 u8 = _group createUnit ["C_Nikos_aged",position player,[],0,"FORM"];
	 u8 moveInAny vert;
	 
	 u9 = _group createUnit ["C_Nikos_aged",position player,[],0,"FORM"];
	 u9 moveInAny vert;

	 u10 = _group createUnit ["C_Nikos_aged",position player,[],0,"FORM"];
	 u10 moveInAny vert;

	 u11 = _group createUnit ["C_Nikos_aged",position player,[],0,"FORM"];
	 u11 moveInAny vert; 

Тут для посадки в вертуху использую команду moveInAny так как мне безразлично какой бот будет седеть на каком месте.

Если вам хочется рассадить ботов по местам то нужно использовать такие команды как moveIndriver, moveingunner и тому подобные.

При использовании moveInAny распределение мест автоматическое и начинается оно с приоритетных мест. Например: пилот, стрелок борта пилота, второй пилот, стрелок борта второго пилота, пассажиры. В примере 11 ботов, вы можете делать сколько угодно, в зависимости от вместительности техники.

 

Если в конце вы добавите 

  [_group, getMarkerPos "m1", 1000 ] call BIS_fnc_taskPatrol; // m1 это имя маркера поставленного вами на карту

То данный вертолет и его экипаж соответственно, будут нести службу патрулируя территорию с радиусом 1000 метров от маркера.


Сообщение отредактировал Djon: 23 December 2014 - 12:30

  • 1

#7 OFFLINE   AZIMUT

AZIMUT

    Рядовой

  • Пользователи
  • 4 сообщений

Отправлено 23 December 2014 - 23:49

AZIMUT,

 

Вот вам пример


Большущее тебе спасибо.


Сообщение отредактировал AZIMUT: 23 December 2014 - 23:49

  • 0

#8 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 сообщений

Отправлено 24 December 2014 - 06:46

AZIMUT, Пользуйся на здоровье. 


  • 0

#9 OFFLINE   AZIMUT

AZIMUT

    Рядовой

  • Пользователи
  • 4 сообщений

Отправлено 25 December 2014 - 18:50

AZIMUT, Пользуйся на здоровье. 

Сори за беспокойство, а ты не мог бы рассказать про функцию (если знаешь конечно, и не затрудняет) BIS_fnc_enemyDetected, пытался понять как оно работает. короче нифига непонял :( может есть где подробное описание, или примеры? второе конечно приветствуется. Зарание спасибо.


  • 0

#10 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 25 December 2014 - 20:16

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

- функция вернет true, если юнит (которого ты передал) знает что то о рядом стоящих врагах. Тоесть, если перед ним будет кучка врагов, то функция вернет true


Example:
	_unitKnowsAboutEnemy = unit666 call BIS_fnc_enemyDetected;

Сообщение отредактировал vlad333000: 25 December 2014 - 20:17

  • 1

#11 OFFLINE   AZIMUT

AZIMUT

    Рядовой

  • Пользователи
  • 4 сообщений

Отправлено 26 December 2014 - 06:39

 

 

Спасибо, очень помог. 


  • 0

#12 OFFLINE   Arbalest

Arbalest

    Рядовой

  • Пользователи
  • 7 сообщений

Отправлено 16 January 2015 - 16:41

 Что бы не было такой ситуации как под спойлером , в инит солдатов пишем this addBackpack "B_Parachute"; 

а что нормальное ковровое бомбометание :rofl:


Ставим вертолёт, присваиваем ему имя heli. в строке особое ставим "в полёте"!

Ставим группу, в ините(описание) командира пишем rus=group this;{_x moveInCargo heli} forEach units rus

 

rus=group this - этим самым присвоили имя группе (Rus)! 

{_x moveInCargo heli} forEach units rus - этим самым мы посадили нашу группу в вертолёт.

 

создаём текстовый документ в формате SQS  даём ему имя Out

копируем в него нижеуказаное

 

 

; out
 
_aunits = units rus
_i = 0
_j = count _aunits
#Here
(_aunits select _i) action ["eject",HELI]
unassignvehicle (_aunits select _i)
_i=_i+1
~0.4
?_j>_i:goto "Here"
"unassignvehicle _x" forEach _aunits
vyhozeno = true
exit
 
Сохраняем, закидываем в папку с вашей миссией.
 
Создаём триггер,  в Активации пишем следущее leader rus exec "Out.sqs"
 
нажимаем F2 и перетягиваем синюю линию от триггера на вертолёт, тем самым триггер сработает только на этот вертолёт.
как только вертолёт залетит в зону действия триггера, начнётся  выброска десанта с частотой в 0.4 секунды!  этого вполне достаточно, чтобы не было контакта с другим десантником. По умолчанию высота у вертолёта 50 метров. этого мало, что бы раскрыться. поэтому можно задать любую высоту вертолёту.
в ините (описании) вертолёта пишем следущее:
 
heli flyInHeight 1000;this setPos [getPos this select 0, getPos this select 1, (getPos this select 2) + 1000];
 
где - heli flyInHeight 1000; высота вертолёта 1 км 

где - this setPos [getPos this select 0, getPos this select 1, (getPos this select 2) + 1000]; это, вертолёт сохраняет свою высоту и не начнёт  снижаться на высоту по умолчанию на 50м. 

можете побаловаться выставляя разные высоты.

надеюсь я вам понятно разжевал)))

 

Автор: Mr.Andry26

 

пример прикреплён.

о великий мегамозг(никакого сарказма) подскажи как сделать так что бы водолазы не убивались об воду


  • 0

#13 OFFLINE   Serega9017

Serega9017

    Рядовой

  • Пользователи
  • 4 сообщений

Отправлено 29 May 2015 - 00:04

А как сделать так чтоб после десантирования остался рюкзак с экипировкой, ведь из-за прописанного парашюта исчезает рюкзак ( а как бойцу на войне без рюкзака с патронами то ?? )


  • 0

#14 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 29 May 2015 - 01:03

А как сделать так чтоб после десантирования остался рюкзак с экипировкой, ведь из-за прописанного парашюта исчезает рюкзак ( а как бойцу на войне без рюкзака с патронами то ?? )

В след бойцам сбросить и контейнер с экипировкой, что, БИСы зря старались? Выписывая вязью классы контейнеров с барахлом.


  • 0

#15 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 сообщений

Отправлено 29 May 2015 - 01:05

Serega9017, Или выкинуть товарища с рюкзаком и приземлиться на парашюте к месту его падения))


  • 0

#16 OFFLINE   foran

foran

    Капитан

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

Отправлено 29 May 2015 - 02:51

А как сделать так чтоб после десантирования остался рюкзак с экипировкой, ведь из-за прописанного парашюта исчезает рюкзак ( а как бойцу на войне без рюкзака с патронами то ?? )

Если на базе  ХМГ там можно сделать так что бы  парашют одеть на грудь.


  • 0

#17 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 11 October 2015 - 23:27


По умолчанию высота у вертолёта 50 метров. этого мало, что бы раскрыться. поэтому можно задать любую высоту вертолёту. в ините (описании) вертолёта пишем следущее:   heli flyInHeight 1000;this setPos [getPos this select 0, getPos this select 1, (getPos this select 2) + 1000];   где - heli flyInHeight 1000; высота вертолёта 1 км  где - this setPos [getPos this select 0, getPos this select 1, (getPos this select 2) + 1000]; это, вертолёт сохраняет свою высоту и не начнёт  снижаться на высоту по умолчанию на 50м.  можете побаловаться выставляя разные высоты. надеюсь я вам понятно разжевал)))

не работает.  вертолет не двигается вообще и даже не поддерживает заданную высоту.

Он тупо висит в одном месте снижаясь до стандартной высоты полета - 50 м


  • 0

#18 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1791 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 11 October 2015 - 23:56

вертолет не двигается вообще и даже не поддерживает заданную высоту.
Он тупо висит в одном месте снижаясь до стандартной высоты полета - 50 м

А если ввести это:

this setPos [(getPos this) select 0, (getPos this) select 1, ((getPos this) select 2) + 1000]; this flyInHeight 1000;

?

"Висит" в одном месте скорее всего из-за того, что не дана команда куда-то лететь.


  • 0

#19 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 12 October 2015 - 13:02


"Висит" в одном месте скорее всего из-за того, что не дана команда куда-то лететь.
нет, команда дана. У меня Вейпоинт перемещение, в сторону триггера.

Вашу скриптовую линию попробую позже, сейчас нет возможности


  • 0

#20 OFFLINE   PIONEER

PIONEER

    Мл.сержант

  • Пользователи
  • 129 сообщений
  • Откуда:Симферополь
  • Отряд:[IMB]

Отправлено 12 October 2015 - 13:48

Используйте норм скрипт и не парьтесь 

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


  • 0




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