Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
Тоха

diag_log и список предметов в infi

И снова здравствуйте. Не хотел тему создавать из-за такого глупого вопроса. Но у самого не хватает мозгов. Вообщем Забиваю торговцам таблицы с 0. Не хоу брать готовые. Так как там половина предметов отсутствует. Так вот Стоит инфи. Захожу в тот же раздел спавна техники = отображается весь список доступной на моем серве техники. И далее я в ступоре, как мне этот весь список перевести в текстовый (редактируемый) формат. Сначала (когда делать было нечего) переписывал в ручную. (переписал так все оружие -жесть) повторять такого не хочу. 

Так вот в инфи нашел где вызываются классы в соответсвии с нажатым пунктом в меню инфи. Внимание вопрос.

1) Как можно дополнить скрипт, дабы весь отображаемый список логировался в рпт . (diag_log эт я как вариант придумал)?

2) Кто что может посоветовать попроще?

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

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

 

if (_puid in PV_NormalLevel_List) then
{
if (!isNil 'infiAllowedVehiclesList') then {ALL_VEHS_TO_SEARCH = infiAllowedVehiclesList;};

adminadd = adminadd + [" +Спавн Техники до рестарта","Vehicles","0","0","1","0",[0,0.6,1,1]];
// Бла бла бла, остальные разделы
};

 

Edited by Тоха (see edit history)

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

entities вернёт не доступные классы, и объекты на сервере.

далеко ходить не надо, практика подсказывает, что в инфи уже есть 80% кода которые когда либо придётся писать:

_cfgvehicles = configFile >> "cfgVehicles";
for "_j" from 0 to (count _cfgvehicles)-1 do {
	_vehicle = _cfgvehicles select _j;
	if(isClass _vehicle)then {
		_veh_type = configName _vehicle;
		if((getText(_vehicle >> 'displayName') != '') && {getText(_vehicle >> 'picture') != ''} && {getNumber(_vehicle >> 'scope') in [0,2]} && {((_veh_type isKindOf "Air") || (_veh_type isKindOf "LandVehicle") || (_veh_type isKindOf "Ship"))}) then {
			if !((_veh_type isKindOf "ParachuteBase") || (_veh_type isKindOf "BIS_Steerable_Parachute"))then {
				diag_log(format["Техника наземная: %1", _veh_type]);
			};
		};
	};
};

вставь в конце init.sqf, вернет все класснеймы техники.

Share this post


Link to post
Share on other sites



  • 0

DIMQUEA, да было дело, раньше пользовался этим. Но тут не вся техника, а только армовская. А есть еще из модов техника. Да и в любом случае вбивать поштучно в ручную. Но плюсик все равно поставил за помощь.

Уважаемый NONAMEULTIMA. Огромное спавсибо за вашу активную помощь. Всегда быстро реагируете. 

P.S. Вообщем не вышло у меня по нормальному это заюзать. Используя код в таком виде 

 

 

 {diag_log(format["Техника наземная: %1", _x]);} forEach (entities "LandVehicle"); 

 

 

Арма ругается на то что, ковычки не " " должны быть а ' ', вроде исправил и арма больше не кричит, и админка заработала вновь. Но вот никаких намеко на то что в логах что то появилось - нет( Куда только не сувал эту строку, и даже менял ее

Вот один из примеров, куда я сунул его, Если что палками не бейте) 

 

 

 

    admin_fillveh =
    {
        inSub =                         true;
        isVehicle__i_n_f_i_S_T_A_R =     true;
        _ctrl =                         2 call getControl;
        _ctrl ctrlSetFont "TahomaB";
        lbclear _ctrl;
        _spwx =                         "['%1'] call adminsveh;";
        adminadd =                         [];
        call admin_fillsubsss;
        call admin_fillSpawnMenuFILL;
        adminadd =                         adminadd + ["--- СПАВН ТЕХНИКИ 0_0 ДО РЕСТАРТА","","0","0","0","0",[0,0.8,1,1]];
        adminadd =                         adminadd + ["  НАЧАТЬ ПОИСК  (Используйте чат - Напишите ID техники)","['adminSNV'] spawn fnc_infiSTAR_search","0","0","0","0",[0,0.8,1,1]];
        adminadd =                         adminadd + ["Воздушная техника","","0","1","0","0",[]];
        {
            if (_x isKindOf "Air") then
            {
                adminadd = adminadd + [_x,format[_spwx,_x],"0","0","0","0",[]];
            };
        } forEach ALL_VEHS_TO_SEARCH;
        adminadd = adminadd + ["Наземная техника","","0","1","0","0",[]];
        {
            if (_x isKindOf "LandVehicle") then
            {
                adminadd = adminadd + [_x,format[_spwx,_x],"0","0","0","0",[]];
              {diag_log(format['Техника наземная: %1', _x]);} forEach (entities 'LandVehicle');
            };
        } forEach ALL_VEHS_TO_SEARCH;
            adminadd = adminadd + ["Корабли/Лодки","","0","1","0","0",[]];
        {
            if (_x isKindOf "Ship") then
            {
                adminadd = adminadd + [_x,format[_spwx,_x],"0","0","0","0",[]];
            };
        } forEach ALL_VEHS_TO_SEARCH;
        call admin__FILL_MENUS;
    };

 

 

 

Потом попробовал изменить - так, думал, что forEach уже цикл создает и не нуждаюсь в повторном.

 

 

 

    admin_fillveh =
    {
        inSub =                         true;
        isVehicle__i_n_f_i_S_T_A_R =     true;
        _ctrl =                         2 call getControl;
        _ctrl ctrlSetFont "TahomaB";
        lbclear _ctrl;
        _spwx =                         "['%1'] call adminsveh;";
        adminadd =                         [];
        call admin_fillsubsss;
        call admin_fillSpawnMenuFILL;
        adminadd =                         adminadd + ["--- СПАВН ТЕХНИКИ 0_0 ДО РЕСТАРТА","","0","0","0","0",[0,0.8,1,1]];
        adminadd =                         adminadd + ["  НАЧАТЬ ПОИСК  (Используйте чат - Напишите ID техники)","['adminSNV'] spawn fnc_infiSTAR_search","0","0","0","0",[0,0.8,1,1]];
        adminadd =                         adminadd + ["Воздушная техника","","0","1","0","0",[]];
        {
            if (_x isKindOf "Air") then
            {
                adminadd = adminadd + [_x,format[_spwx,_x],"0","0","0","0",[]];
            };
        } forEach ALL_VEHS_TO_SEARCH;
        adminadd = adminadd + ["Наземная техника","","0","1","0","0",[]];
        {
            if (_x isKindOf "LandVehicle") then
            {
                adminadd = adminadd + [_x,format[_spwx,_x],"0","0","0","0",[]];
           diag_log(format['Техника наземная: %1', _x]);
            };
        } forEach ALL_VEHS_TO_SEARCH;
          adminadd = adminadd + ["Корабли/Лодки","","0","1","0","0",[]];
        {
            if (_x isKindOf "Ship") then
            {
                adminadd = adminadd + [_x,format[_spwx,_x],"0","0","0","0",[]];
            };
        } forEach ALL_VEHS_TO_SEARCH;
        call admin__FILL_MENUS;
    };

 

 

 

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

Edited by Тоха (see edit history)

Share this post


Link to post
Share on other sites
  • 0

DIMQUEA ты гений. Я как раз натыкался на данные строки, понимал, что они мне помогут, но не мог понять как их изменить. И совсем забыл про init.sqf.

Спасибо, теперь хоть работа пойдет быстрее. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.