Jump to content


Photo

Подскажите скрипт на принудительный выход из транспорта.


Best Answer SteelRat , 09 October 2014 - 16:25

Белый Клык

I Вариант:

...crew имя_второй_машины;

_car = vehicle _x;

{if (!((driver _car == _x) or (gunner _car == _x))) then {_x action["Eject", _car];};} foraEach...

 

Вот так, человеку будет проще ориентироваться), я так думаю)

{
	{
		if !((driver _car == _x) or (gunner _car == _x)) then
			_x action ["Eject", vehicle _x];
		};
	} forEach (crew _x);	
} forEach [car_1, car_2, car_3];
Go to the full post


  • Please log in to reply
9 replies to this topic

#1 OFFLINE   Белый Клык

Белый Клык

    Рядовой

  • Пользователи
  • 23 posts

Posted 08 October 2014 - 10:33

Всем доброго времени суток.Подскажите пожалуйста.

Столкнулся недавно с такой проблемой.Хочу создать миссию,по сценарию которой, автоколонна с солдатами на борту должна по пути из точки "А" в точку "В" попасть в засаду,отбиться и продолжить свой путь.

Суть проблемы такова: есть транспорт,заранее объединенный  в группу.В каждую машину посажены отдельные группы бойцов,сделал я это примерно так, по примеру из просторов интернета:

"В инициализации командира пропишем GrupaDES = group this; {_x moveincargo TRANSPORT} foreach units this .

GrupaDES это имя всей группы десанта, а TRANSPORT имя транспорта/судна. Вся группа будет уже сидеть в кузове. "

Все укомплектовано,колонна двинулась к точке "В" но на месте попадания засаду (по задумке ведущая машина выводится из строя) ии болванчики не выходят из транспорта,а спокойно встречают смерть находясь в машине. Боты выходят и вступают в бой только из первой(поврежденной) и второй машин, т.к. они ближе всех к противнику.

Помогите разобраться:

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

После успешной обороны вернулись по машинам и двинулись дальше?

Спасибо.


  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 08 October 2014 - 10:57

Примитивный способ:
Триггер одноразовый с условием !alive имя_первой_машины
А в активации:
_cargoUnits =

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

имя_второй_машины;
{_x action ["Eject", vehicle _x];} foraEach _cargoUnits;
Результат: как только взорвется первая машины, все кто находятся во второй машине сразу выпрыгнут (водители, пассажиры, стрелки)

PS для третьей, четвертой... машины просто еще раз вставьте этот код после первой части (осле forEach _cargoUnits;) и замените имя машины на нужное
  • 0

#3 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 08 October 2014 - 17:14

 

 

PS для третьей, четвертой... машины просто еще раз вставьте этот код после первой части (осле forEach _cargoUnits;) и замените имя машины на нужное 
_vehicles = [car_1, car_2, car_3];	// И так далее

{
	_car		= _x;
	_cargoUnits	= crew _car;
	
	{_x action ["Eject", vehicle _x];} forEach _cargoUnits;	
} forEach _vehicles;

Вариант 2

{
	{_x action ["Eject", vehicle _x]} forEach (crew _x);	
} forEach [car_1, car_2, car_3];

Edited by SteelRat, 08 October 2014 - 17:16.

  • 1

#4 OFFLINE   Белый Клык

Белый Клык

    Рядовой

  • Пользователи
  • 23 posts

Posted 08 October 2014 - 23:44

Примитивный способ:
Триггер одноразовый с условием !alive имя_первой_машины
А в активации:
_cargoUnits =

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

имя_второй_машины;
{_x action ["Eject", vehicle _x];} foraEach _cargoUnits;
Результат: как только взорвется первая машины, все кто находятся во второй машине сразу выпрыгнут (водители, пассажиры, стрелки)

PS для третьей, четвертой... машины просто еще раз вставьте этот код после первой части (осле forEach _cargoUnits;) и замените имя машины на нужное

Стало конечно повеселей,но теперь  другая проблема. :)  Я бы хотел, что бы стрелки и водители оставались на своих местах,так сказать вели прикрывающий огонь.А выходит, что техника имеющая вооружение- простаивает. Не хочу показаться наглым или неблагодарным,но может знаете еще какие-либо решения?) 


  • 0

#5 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 09 October 2014 - 08:36

Белый Клык

I Вариант:

...crew имя_второй_машины;

_car = vehicle _x;

{if (!((driver _car == _x) or (gunner _car == _x))) then {_x action["Eject", _car];};} foraEach...


Edited by vlad333000, 09 October 2014 - 08:37.

  • 0

#6 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 09 October 2014 - 16:25   Best Answer

Белый Клык

I Вариант:

...crew имя_второй_машины;

_car = vehicle _x;

{if (!((driver _car == _x) or (gunner _car == _x))) then {_x action["Eject", _car];};} foraEach...

 

Вот так, человеку будет проще ориентироваться), я так думаю)

{
	{
		if !((driver _car == _x) or (gunner _car == _x)) then
			_x action ["Eject", vehicle _x];
		};
	} forEach (crew _x);	
} forEach [car_1, car_2, car_3];

  • 1

#7 OFFLINE   TankiSD

TankiSD

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

  • Пользователи
  • 680 posts

Posted 09 October 2014 - 16:44

я бы сделал по другому.

 

Группа экипажей отдельно и группы сопровождения конвоя отдельно.

При атаке, высаживаются только группы сопровождения.

 

Можно даже поиграться до такой степени, что если просто обстрел - колонна продолжает движение.

Если кто-то подорвался или обездвижен - колонна останавливается и занимает оборону.

 

Также советую прописать каждой технике 

this allowcrewinmobile false - вроде так.

 

Ну и если это сингл, то можно обойтись триггером на обнаружение колонной противника. 

Хотя как я понимаю, у автора первая машина взрывается по сюжету.

 

Тут даже скриптом можно машину подбросить или перевернуть, а остальные машины чтобы разошлись ёлочкой, боты заняли позиции эффектно так, их кстати можно расставить во время затемнения игрока, мол оглушили.

 

А если игрок в засаде, то камерой всё запилить!

 

ух что-то меня понесло!

 

В общем юзай 

 

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

 

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

 

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

 

всё же миссии делать у меня получается лучше, чем аддоны. 


Edited by TankiSD, 09 October 2014 - 17:07.

  • 1

#8 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 09 October 2014 - 17:50

SteelRat, открывающую скобку для if забыл :)

{ 
     { 
         if !((driver _car == _x) or (gunner _car == _x)) then {
             _x action ["Eject", vehicle _x]; 
         }; 
     } forEach (crew _x);
 } forEach [car_1, car_2, car_3];

  • 1

#9 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 12 October 2014 - 18:18

 

SteelRat, открывающую скобку для if забыл :)

{ 
     { 
         if !((driver _car == _x) or (gunner _car == _x)) then {
             _x action ["Eject", vehicle _x]; 
         }; 
     } forEach (crew _x);
 } forEach [car_1, car_2, car_3];

Точно забыл? На сколько вы в этом уверенны?)

 

ЗЫ)

Точно забыл)


Edited by SteelRat, 12 October 2014 - 18:27.

  • 1

#10 OFFLINE   Белый Клык

Белый Клык

    Рядовой

  • Пользователи
  • 23 posts

Posted 14 October 2014 - 22:08

Ого-го!Сколько способов "поиграться" :)   Спасибо за помощь,мужики. Экспериментировать стало заметно веселей!


  • 0




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