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


Фотография

Вопрос по редактору Arma 3 (Бесконечные патроны)


Лучший Ответ SteelRat , 05 April 2014 - 21:57

Блин! Вообще, чем я занимаюсь). Берите.

_EHFiredIdx = _this addEventHandler ["Fired", {
   
   if ((_this select 5) == currentMagazine(_this select 0)) then {
	if (((_this select 0) ammo (currentWeapon (_this select 0))) == 0) then {
	     (_this select 0) setAmmo [currentWeapon (_this select 0), 1000000]; 
	};
   } else {
	(_this select 0) addMagazine (_this select 5);
   };
	
}];
Перейти к сообщению


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

#1 OFFLINE   halloweenxmas

halloweenxmas

    Рядовой

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

Отправлено 05 April 2014 - 17:04

Товарищи, скажите мне пожалуйста, есть ли какая либа команда для редактора Arma 3 что бы сделать бесконечный боезапас для оружия и для техники?

Знаю то что в Arma 2 это было, а вот на счет 3, перерыл весь интернет, и увы, ничего не нашел.


  • 0

#2 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 05 April 2014 - 18:42

Интересный у вас геймплей !)

 

Создаёте в папке с миссией файл terminatorMode.sqf и копируете в него код ниже

_EHFiredIdx = _this addEventHandler ["Fired", {
   _vehicle = _this select 0;
   if ((_vehicle ammo (currentWeapon _vehicle)) == 0) then {
      _vehicle setAmmo [currentWeapon _vehicle, 1000000]; 
   };
}];

Далее в редакторе, в ините юнитов , которые будут выступать в роли терминаторов прописать

this call {_this execVM "terminatorMode.sqf"}

  • 2

#3 OFFLINE   halloweenxmas

halloweenxmas

    Рядовой

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

Отправлено 05 April 2014 - 19:04

Большое спасибо, добрый человек :)


Только еще вопрос, как тоже самое сделать с гранатами, ХИС, т.д.?


  • 0

#4 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 05 April 2014 - 21:27

Большое спасибо, добрый человек :)


Только еще вопрос, как тоже самое сделать с гранатами, ХИС, т.д.?

Это уже надо инвентарь мониторить


  • 1

#5 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 05 April 2014 - 21:57   Лучший Ответ

Блин! Вообще, чем я занимаюсь). Берите.

_EHFiredIdx = _this addEventHandler ["Fired", {
   
   if ((_this select 5) == currentMagazine(_this select 0)) then {
	if (((_this select 0) ammo (currentWeapon (_this select 0))) == 0) then {
	     (_this select 0) setAmmo [currentWeapon (_this select 0), 1000000]; 
	};
   } else {
	(_this select 0) addMagazine (_this select 5);
   };
	
}];

Сообщение отредактировал SteelRat: 05 April 2014 - 22:00

  • 2

#6 OFFLINE   halloweenxmas

halloweenxmas

    Рядовой

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

Отправлено 06 April 2014 - 00:40

Спасибо огромное!
Лучи добра вам :)


  • 0

#7 OFFLINE   DmitRich

DmitRich

    Прапорщик

  • Пользователи
  • 562 сообщений
  • Откуда:Санкт-Петербург

Отправлено 06 April 2014 - 13:45

SteelRat, спасибо, теперь юзаю скрипт для тренировок :clapping:

Сообщение отредактировал DmitRich: 06 April 2014 - 13:45

  • 0

#8 OFFLINE   DEMENTOR

DEMENTOR

    Рядовой

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

Отправлено 24 May 2014 - 18:17

Вот еще короче (в инит, разумеется  :P ):

this addEventHandler ["fired",{(_this select 0) setvehicleammo 1}]

Сообщение отредактировал DEMENTOR: 24 May 2014 - 18:18

  • 0

#9 OFFLINE   Zlobot

Zlobot

    Мл.сержант

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

Отправлено 21 July 2017 - 11:58

Еще один способ пополнения боезапаса юнитам через эвентхандлер "Reloaded". 

_unit addEventHandler ["Reloaded", {(_this select 0) addMagazine ((_this select 3) select 0);}];

Это самый простой вариант вызова, если поковырять, то можно и посложнее сделать.

Пополнение происходит магазином которым юнит перезаряжается в текущем событии. Отсюда прикол - ему нужно в инвентаре иметь хотя бы 1 резервный магазин, если оружие уже заряжено. Способ работает для любых боеприпасов и выглядит более естественно)) И срабатывает, как я подозреваю, не так часто как "fired".


  • 1




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