Стрелянные магазины. У игрока, в ящиках (в т.ч. технике), и на земле.

Сразу спасибо Dusin и JTS (участники нашего Discord) за ответы на пару моих вопросов.

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

Пригодится для кастомизации миссии. Например:

  • Ящики с припасами «всё что осталось после боя».
  • Солдаты после боя (сюжет) с недострелянными магазинами.
  • Тела солдат с недострелянными магазинами.
  • Разбросанные недостреленные магазины лежащие на земле.

Добавить в ящик:


Добавляем 2 магазина с 5 патронами в ящик.
Аналогичным методом добавляется в технику (clearMagazineCargoGlobal используется по вкусу).

// Создаём ящик
_box = "Box_IND_Grenades_F" createVehicle position player;
// Убираем из него все магазины что там были
clearMagazineCargoGlobal _box;
// Добавляем нужные нам стрелянные магазины
_box addMagazineAmmoCargo ["30Rnd_65x39_caseless_mag", 2, 5];


Добавить на землю:


Добавляем 2 магазина с 5 патронами на землю.

// Создаём невидимый контейнер для того, чтобы положить в него магазин (так требует движок игры)
private _weaponHolder = createVehicle ["Weapon_Empty", getPosATL player, [], 0, "CAN_COLLIDE"]; 
// Добавляем в невидимый контейнер нужные нам стрелянные магазины
_weaponHolder addMagazineAmmoCargo ["30Rnd_65x39_caseless_mag", 2, 5];


Добавление игроку в карманы:


Добавляем 5 магазинов с 15 патронами в карманы (добавляется в любое свободное место в инвентаре игрока).

// Создаём цикл, задавая его количество равным 5 и в нём добавляем 1 нужный нам недострелянный магазин. Выполнится 5 раз. Получится 5 недострелянных магазинов.
_count = 5;//Количество магазинов в итоге 
for "_i" from 1 to _count do 
{ 
  player addMagazine ["30Rnd_65x39_caseless_mag",15]; 
};

 

 

Альтернативный синтаксис:
Добавит в униформу (или куда укажете, переделав код).
Но только если этот элемент экипировки есть на игроке и там есть место.

(uniformContainer player) addMagazineAmmoCargo ["30Rnd_65x39_caseless_mag", 2, 5];

 


Использованные материалы:


 

Обсудить этот метод можно в нашем Discord канале