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


Фотография

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


Лучший Ответ 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];
Перейти к сообщению


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

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

Белый Клык

    Рядовой

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

Отправлено 08 October 2014 - 10:33

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

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

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

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

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

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

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

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

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

Спасибо.


  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 08 October 2014 - 10:57

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

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

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

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

#3 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 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];

Сообщение отредактировал SteelRat: 08 October 2014 - 17:16

  • 1

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

Белый Клык

    Рядовой

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

Отправлено 08 October 2014 - 23:44

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

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

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

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

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


  • 0

#5 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 09 October 2014 - 08:36

Белый Клык

I Вариант:

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

_car = vehicle _x;

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


Сообщение отредактировал vlad333000: 09 October 2014 - 08:37

  • 0

#6 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 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];

  • 1

#7 OFFLINE   TankiSD

TankiSD

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

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

Отправлено 09 October 2014 - 16:44

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

 

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

 

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

 

В общем юзай 

 

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

 

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

 

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

 

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


Сообщение отредактировал TankiSD: 09 October 2014 - 17:07

  • 1

#8 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 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 сообщений
  • Откуда:РФ

Отправлено 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];

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

 

ЗЫ)

Точно забыл)


Сообщение отредактировал SteelRat: 12 October 2014 - 18:27

  • 1

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

Белый Клык

    Рядовой

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

Отправлено 14 October 2014 - 22:08

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


  • 0




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