Jump to content

qwertyvabc

Member
  • Content Count

    1
  • Joined

  • Last visited

  • Medals

Posts posted by qwertyvabc


  1. Random Magazine with Random Amount of Ammo Script

    Simply execute the script with the execVM command in the desired units initialization box.

    This script will give the unit a random amount of randomly selected magazines with a random amount of ammo for a random weapon.

    Example

    With the weapon selection containing only an M9 the script can select a random number of magazines that consist of both the regular and SD magazines. The magazines will have anywhere between 1 and 15 bullets per magazine.

    Script

    _unit = _this select 0;// Unit that receives the equipment
    _current=0;
    _weaponselection=[];// Insert the weapons you want to use
    _weapon = _weapons select floor random count _weapons;// This selects a random weapon from the weapons array
    _magazineselection = getArray (configFile >> "CfgWeapons" >> _weapon >> "magazines");// Gets the array of magazines for the weapon
    _magpossibilities = [];// Insert the possible number of magazines ex. [1,2,3,4,5,6,7,8] where 1 is the minimal amount and 8 is the maximum amount
    _magamount = (_magpossibilities select floor random count _magpossibilities);// Gets the magazine ammount
    while {(_current<_magamount)} do {
      _current=_current+1;
      _magazine = (_magazineselection select floor random count _magazineselection);// Selects random magazine
      _munitions = getNumber (configFile >> "CfgMagazines" >> _magazine >> "count");// This retrieves the maximum amount of rounds in the magazine
      _munfin = 1;// This is the minimal amount of rounds per mag
      if (_munitions > 1) then {// This checks if the magazine has more than one round in it
         _munfin = (round(random(_munitions-1)));// This gets a random amount of rounds between 0 and the maximum amount the magazine can hold minus 1
         _munfin = _munfin+1;// This adds one to the random amount
      };
      _unit addMagazine [_magazine,_munfin];// This gives the unit the magazine with the final ammo value
    };

×