[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Наполнитель ящиков
Chief Дата: Среда, 22.10.2014, 13:56 | Сообщение # 1
Администраторы
Данный скрипт позволяет автоматически заполнить ящик с боеприпасами всем что только доступно в игре, т.е винтовками, пистолетами, гранатами, минами, предметами снаряжения и т.д.

Применение: Просто разместите ящик с боеприпасами на карте через игровой редактор и поместите следующее в поле инициализации:

    nul = [this] execVM "fillCrate.sqf";


Создаем выше указанный файл, задаем ему аналогичное имя и вставляем следующий код:

    /*
    @file Version: v0.1
    @file name: fillCrate.sqf
    @file Author: TAW_Tonic
    @file edit: 3/5/2013
    @file Description: Автоматически заполняет ящик всем доступным вооружением в игре.
    @usage: скопировать в поле инициализации ящика: nul = [this] execVM "fillCrate.sqf";
    */

    if(!isServer) exitWith {};
    private["_box","_CfgWeapons","_weapons","_items","_wep","_wep_type","_mags","_misc","_mag"];
    _box = _this select 0;

    clearWeaponCargoGlobal _box;
    clearMagazineCargoGlobal _box;
    clearItemCargoGlobal _box;
    clearBackpackCargoGlobal _box;

    _CfgWeapons = configFile >> "cfgWeapons";
    _weapons = [];
    _items = [];
    _misc = [];

    for "_i" from 0 to (count _Cfgweapons)-1 do
    {
    _weapon = _CfgWeapons select _i;

    if(isClass _weapon) then
    {
    _wep = configName _weapon;
    _wep_type = getNumber(_weapon >> "type");
    _scope = getNumber(_weapon >> "scope");

    if(_scope == 2 && _wep_type != 65536) then
    {
    if(_wep_type in [1,2,4,5,4096] && _wep != "NVGoggles") then
    {
    _weapons set[count _weapons,_wep];
    }
    else
    {
    _items set[count _items,_wep];
    };
    };
    };
    };

    //Создает массив для Гранат/Мин
    {_misc=_misc+getArray (configFile/"CfgWeapons"/"Throw"/_x/"magazines")} forEach getArray (configFile/"CfgWeapons"/"Throw"/"muzzles");
    {_misc=_misc+getArray (configFile/"CfgWeapons"/"Put"/_x/"magazines")} forEach getArray (configFile/"CfgWeapons"/"Put"/"muzzles");

    {
    _box addMagazineCargoGlobal [_x,100];
    } foreach _misc;

    //Добавляет оружие & патроны
    {
    _box addWeaponCargoGlobal [_x,100];
    diag_log format["Weapon %1 added", _x];

    _mags = getArray(configFile >> "CfgWeapons" >> _x >> "magazines");

    if(count _mags > 0) then
    {
    {
    if(!(_x in ((getMagazineCargo _box) select 0))) then
    {
    _box addMagazineCargoGlobal [_x,100];
    diag_log format["Magazine %1 added", _x];
    };
    } foreach _mags;
    };
    } foreach _weapons;

    //Добавляет предметы
    {
    _box addItemCargoGlobal [_x,100];
    } foreach _items;
 
  • Страница 1 из 1
  • 1
Поиск: