Miduznya

iD всех предметов в Arma3 и EpochMod ?

Вопрос

Перерыл весь гугл но так и не нашел, только техника из армы3 и epochmod

А где все остальное искать, такое как например - скины, еда, медикаменты, инструменты и т.д. и т.п.

есть конечно инфистар, но хотелось бы все быстро копировать и вставлять в миссии

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

7 ответов на этот вопрос

Забронировать это рекламное место


Если понадобится:

Техника - http://wiki.7thcavalry.us/wiki/ARMA_3_Vehicles

Оружие - https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Weapons

И если там порыться, можно ещё интересные предметы накавырять  :wink:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Делал по разному:
- распознавал в FineReader скрины из инфи со списком объектов :)
- засовывал все нужные объекты в палатку и выдёргивал список содержимого палатки из БД
А всё потому что готового списка (особенно с обновленными данными по новым объектам) нигде нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Делал по разному:

- распознавал в FineReader скрины из инфи со списком объектов :)

- засовывал все нужные объекты в палатку и выдёргивал список содержимого палатки из БД

А всё потому что готового списка (особенно с обновленными данными по новым объектам) нигде нет.

А вывод в RPT сделать религия не позволяет?

Можно и в цикле, перебирая все записи из cfgMagazines\cfgWeapons и т.д.

 

Скрипт для получения информации об объекте:

 

VAS_fnc_fetchCfgDetails =
{
    /*
        @version: 1.3
        @file_name: fn_fetchCfgDetails.sqf
        @file_author: TAW_Tonic
        @file_edit: 6/22/2013
        @file_description: Fetch information about the entities config
        
        USAGE:
        [Classname,Cfg* (Optional)] call VAS_fnc_fetchCfgDetails;
        
        Return:
        0: classname
        1: displayname
        2: picture
        3: scope
        4: type
        5: itemInfo Type (if any)
        6: Cfg Location i.e CfgWeapons
        7: Magazines
        8: Muzzles
        9: Short Description
        10: acc_Pointers
        11: acc_Optics
        12: acc_Muzzles
    */
    private["_entity","_cfg","_ret","_type","_acc_p","_acc_o","_acc_m","_scope","_displayName","_picture","_config","_itemInfo","_muzzles","_magazines","_desc"];
    _entity = _this select 0;
    if(_entity == "") exitWith {[]};
    _cfg = if(isNil {_this select 1}) then
    {
        switch (true) do
        {
            case (isClass (configFile >> "CfgMagazines" >> _entity)) : {"CfgMagazines";};
            case (isClass (configFile >> "CfgWeapons" >> _entity)) : {"CfgWeapons";};
            case (isClass (configFile >> "CfgVehicles" >> _entity)) : {"CfgVehicles";};
            case (isClass (configFile >> "CfgGlasses" >> _entity)) : {"CfgGlasses";};
        };
    }
        else
    {
        _this select 1
    };

    //Final Check

    _ret = [];
    if(typeName _cfg != "STRING") exitWith {[]}; //Not a config
    if(!isClass (configFile >> _cfg >> _entity)) exitWith {[]};
    if(_cfg == "") exitWith {[]}; //Not a config, who is passing bad data?

    _config = configFile >> _cfg >> _entity;
    _displayName = getText(_config >> "displayName");
    _picture = getText(_config >> "picture");
    _desc = getText(_config >> "descriptionshort");

    switch (_cfg) do
    {
        case "CfgVehicles":
        {
            _type = getText(_config >> "vehicleClass");
            _scope = getNumber(_config >> "scope");
        };
        
        case "CfgWeapons":
        {
            _scope = getNumber(_config >> "scope");
            _type = getNumber(_config >> "type");
            _desc = getText(_config >> "descriptionshort");
            
            //Compatible attachments
            if(isClass (_config >> "WeaponSlotsInfo")) then
            {
                if(isClass (_config >> "WeaponSlotsInfo")) then
                {
                    _acc_p = getArray(_config >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems");
                    _acc_o = getArray(_config >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems");
                    _acc_m = getArray(_config >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems");
                };
            };
            
            if(isClass (_config >> "ItemInfo")) then
            {
                _itemInfo = getNumber(_config >> "ItemInfo" >> "Type");
            };
            _muzzles = getArray(_config >> "muzzles");
            _magazines = getArray(_config >> "magazines");
            if(!isNil {_muzzles}) then
            {
                private["_tmp","_base"];
                _base = inheritsFrom (configFile >> "CfgWeapons" >> _entity);
                {
                    if(_x != "this") then
                    {
                        _tmp = getArray(_base >> _x >> "magazines");
                        {
                            _magazines set[count _magazines, _x];
                        } foreach (_tmp);
                    };
                } foreach _muzzles;
            };
        };
        
        case "CfgMagazines":
        {
            _scope = getNumber(_config >> "scope");
        };
    };

    _ret = [_entity,_displayName,_picture,_scope,_type,_itemInfo,_cfg,_magazines,_muzzles,_desc,_acc_p,_acc_o,_acc_m];
    _ret
};
 

Пример использования, для вывода в RPT всех объектов конфига cfgWeapons:

 

Private ["_cfg", "_i", "_object", "_details"];
_cfg            =    configFile >> "CfgWeapons";      
for "_i" from 0 to (count _cfg) - 1 do
            {
                _object    =    _cfg select _i;
                if (isClass _object) then
                    {
                        _details    =    [configName(_object)] call VAS_fnc_fetchCfgDetails;
                        diag_log(format["%1", _details]);
                    };
            };
 
Изменено пользователем NoNameUltima (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если кто снимет конфиги в РПТ, с помощью вышеприведенной функции - выложите на форум результат.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: Vitalik123
      Привет всем! Могли бы вы
       мне помочь советом? Такая ситуация,
      играем на сервере Day Z Epoh, нас в данный момент 3 игрока, решили проголосовать за день, проголосовали ,
      и в верху как обычно пишет, что проголосовало  3 из 4 и тут я удивился, а где четвертый?
      Смотрю  через дарт , показывает, только 3
      игрока. Через админку смотрю  и вижу, что
      есть четвертый с нулевым ID. Я решил посмотреть  где он находится и два раза кликнул по нему
      лкм, но попал к другому игроку, затем еще раз попробовал, думаю, может мышку
      навел криво и опять кликнул лкм, но попал на того что и в первый раз. Поискал
      этого игрока на карте, нет его нигде!  Я
      выбираю его чтобы кикнуть, он не кикается и не банится. Как Вы думаете, что
      это? В RPT ничего нет кроме того, что я пытался забанить (больше ничего, только забанить, даже ник игрока не был написан), в  HackLog тоже ничего нет , но зато сервер периодический  стал  запускаться с ошибками после рестарта (ошибка - это я имею в виду, что сервер работает, программа пишет сообщения о работе сервера, а зайти не получается, пишет что сессия прервана), только очередная перезагрузка запускает сервер в нормальный режим. Нужна ваша помощь и совет!

       
      Да, потом я кикнул того
      игрока на которого попадал через четвертого, и четвертый исчез. Да и еще, ники
      были совсем разные.

       
      Подскажите, пожалуйста,
       думаю, что у Вас на много больше опыта в
      работе с читаками. 
    • Автор: kommymist173
      Недавно столкнулся с проблемой добавления техники в продажу...
      Думал где же взять id техники...Долго мучался искал, и вот, нашел)
      Держите не мучайтесь)
       
      https://community.bistudio.com/wiki/Arma_3_CfgPatches_CfgVehicles
    • Автор: Gromillla
      Есть такой код
      BankDialogWithdrawAmount = { private ["_obj","_amount","_bank","_wealth"]; _obj = _this select 1; _objectID = _obj getVariable['ObjectID', '0']; _amount = parseNumber (_this select 0); _bank = ZSC_CurrentStorage getVariable ["bankMoney", 0]; _wealth = player getVariable["cashMoney",0]; _vehicleType = typeOf ZSC_CurrentStorage; _displayName = getText (configFile >> "CfgVehicles" >> _vehicleType >> "displayName"); if (!isNull ZSC_CurrentStorage) then { if (_amount < 1 or _amount > _bank) exitWith { cutText [format["Вы не можете снять больше, чем %1.",_displayName], "PLAIN DOWN"]; }; player setVariable["cashMoney",(_wealth + _amount),true]; ZSC_CurrentStorage setVariable["bankMoney",(_bank - _amount),true]; // логи передачи PVDZE_atp = format["[Лог передачи денег]:%1 забрал %2 %3 в %4(Тип:%5 ID:%9) Координаты объекта:[%6,%7] GPS:(%8)", name player, [_amount] call BIS_fnc_numberText, CurrencyName, _displayName, _vehicleType, getDir ZSC_CurrentStorage, getPosATL ZSC_CurrentStorage, mapGridPosition (getPosATL ZSC_CurrentStorage), _objectID]; Вот что выдает лог:
      "[Лог передачи денег]:Gromillla забрал 1 Рублей в Safe(Тип:VaultStorage ID:any) Координаты объекта:[245.308,[331.555,15210.4,0.0390015]] GPS:(003001)" Но нужно чтоб ID был id сейфа
       
      Что я сделал не так?
    • Автор: Gromillla
      Доброго времени суток господа.
      Установлен скрипт по отображению логов операций с сейфами, но в rpt вместо id сейфа пишет просто "из Safe(Ид:VaultStorage)" в коде скрипта стоит 
      %1 положил %2 %3 из %4(Ид:%5) Откуда берутся эти "%1, %2, %5 и т.д."?
      Видимо %5 неверное значение, хотелось бы узнать весь список этих %.
      Спасибо.
    • Автор: Ramhha
      Где можно узнать ID всех предметов, техники и прочего для DayZ Mod?