Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
FerrariF9000

Как добавить время

Как мне в свой custom monitor добавить время 

 

 

 

 

 


if (isNil "custom_monitor") then {custom_monitor = true;} else {custom_monitor = !custom_monitor;};

while {custom_monitor} do
{
  _nearestCity = nearestLocations [getPos player, ["NameCityCapital","NameCity","NameVillage","NameLocal"],750];
  _textCity = "Wilderness";
  if (count _nearestCity > 0) then {_textCity = text (_nearestCity select 0)};
 
  _timeleft = _combattimeout-time;
  _kills =   player getVariable["zombieKills",0];
  _killsH =   player getVariable["humanKills",0];
  _killsB =   player getVariable["banditKills",0];
  _humanity =  player getVariable["humanity",0];
  _headShots =  player getVariable["headShots",0];
  _zombies =              count entities "zZombie_Base";
  _zombiesA =       {alive _x} count entities "zZombie_Base";
   
hintSilent parseText format ["
<t size='1.15' font='Bitstream' align='center' color='#DDDDDD'>Игроков онлайн: %17</t><br/>
<t size='1' font='Bitstream' align='left' color='#EEC900'>Местоположение:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%11</t><br/>
<t size='1' font='Bitstream' align='left' color='#EEC900'>Кровь:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%1</t><br/>
<t size='1' font='Bitstream' align='left' color='#EEC900'>Человечность:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%2</t><br/>
<t size='1' font='Bitstream' align='left' color='#EEC900'>Убито героев:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%3</t><br/>
<t size='1' font='Bitstream' align='left' color='#EEC900'>Убито бандитов:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%4</t><br/>
<t size='1' font='Bitstream' align='left' color='#EEC900'>Убито зомби:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%5</t><br/>
<t size='1' font='Bitstream' align='left' color='#EEC900'>FPS:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%14</t><br/>
    <t size='1' font='Bitstream' align='center' color='#DDDDDD'>RU32 DayZ Epoch No PVP/(PVE)</t><br/>",

       r_player_blood,           
    round _humanity,          
    _killsH,            
    _killsB,            
    _kills,             
    _headShots,            
    (dayz_Survived),          
    (360-(round(serverTime/60))),       
    _pic,             
    _logo,             
    _textCity,            
    count entities "zZombie_Base",       
    {alive _x} count entities "zZombie_Base",    
    (round diag_FPS),            
        dayz_playerName,
        round(dayz_temperatur),
        (count playableUnits) 
   ];
sleep 2;
};

 

Edited by FerrariF9000 (see edit history)

Share this post


Link to post
Share on other sites

20 answers to this question

Recommended Posts

  • 0

Как мне в свой custom monitor добавить время 

 

 

 

 

 

 

if (isNil "custom_monitor") then {custom_monitor = true;} else {custom_monitor = !custom_monitor;};

while {custom_monitor} do

{

  _nearestCity = nearestLocations [getPos player, ["NameCityCapital","NameCity","NameVillage","NameLocal"],750];

  _textCity = "Wilderness";

  if (count _nearestCity > 0) then {_textCity = text (_nearestCity select 0)};

 

  _timeleft = _combattimeout-time;

  _kills =   player getVariable["zombieKills",0];

  _killsH =   player getVariable["humanKills",0];

  _killsB =   player getVariable["banditKills",0];

  _humanity =  player getVariable["humanity",0];

  _headShots =  player getVariable["headShots",0];

  _zombies =              count entities "zZombie_Base";

  _zombiesA =       {alive _x} count entities "zZombie_Base";

   

hintSilent parseText format ["

<t size='1.15' font='Bitstream' align='center' color='#DDDDDD'>Игроков онлайн: %17</t><br/>

<t size='1' font='Bitstream' align='left' color='#EEC900'>Местоположение:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%11</t><br/>

<t size='1' font='Bitstream' align='left' color='#EEC900'>Кровь:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%1</t><br/>

<t size='1' font='Bitstream' align='left' color='#EEC900'>Человечность:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%2</t><br/>

<t size='1' font='Bitstream' align='left' color='#EEC900'>Убито героев:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%3</t><br/>

<t size='1' font='Bitstream' align='left' color='#EEC900'>Убито бандитов:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%4</t><br/>

<t size='1' font='Bitstream' align='left' color='#EEC900'>Убито зомби:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%5</t><br/>

<t size='1' font='Bitstream' align='left' color='#EEC900'>FPS:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%14</t><br/>

    <t size='1' font='Bitstream' align='center' color='#DDDDDD'>RU32 DayZ Epoch No PVP/(PVE)</t><br/>",

       r_player_blood,           

    round _humanity,          

    _killsH,            

    _killsB,            

    _kills,             

    _headShots,            

    (dayz_Survived),          

    (360-(round(serverTime/60))),       

    _pic,             

    _logo,             

    _textCity,            

    count entities "zZombie_Base",       

    {alive _x} count entities "zZombie_Base",    

    (round diag_FPS),            

        dayz_playerName,

        round(dayz_temperatur),

        (count playableUnits) 

   ];

sleep 2;

};

 

 

Время до рестарта или время от рестарта? или тупо електронные часы?

Edited by Frost (see edit history)

Share this post


Link to post
Share on other sites



  • 0

Время до рестарта или время от рестарта? или тупо електронные часы?

Можешь сказать как сделать время до рестарта?

Share this post


Link to post
Share on other sites
  • 0

 

 

(round(238-(serverTime) / 60))

 

238 - время в минутах между рестартами.

Он не это имел ввиду,а отображение на дебагманеторе

Share this post


Link to post
Share on other sites
  • 0

Он не это имел ввиду,а отображение на дебагманеторе

Он все верно написал. Остается только дополнить в самом дебаге "Рестарт через %(Число позиции (round(238-(serverTime) / 60)))

Share this post


Link to post
Share on other sites
  • 0

Время до рестарта или время от рестарта? или тупо електронные часы?

Вставь это <t size='1' font='Bitstream' align='center' color='#EEC900'>Рестарт через %8 минут!</t><br/> сам на твоём дебаге проверял, все гуд))

Share this post


Link to post
Share on other sites
  • 0

Вставь это <t size='1' font='Bitstream' align='center' color='#EEC900'>Рестарт через %8 минут!</t><br/> сам на твоём дебаге проверял, все гуд))

Ну на каждой версии InfiSTAR по своему настроен Дебаг Меню и %8 может отвечать за кровь например. Там порядок соблюдать надо.

Еще он мог сделать свое дебаг меню и там тоже порядочек иной :)

Share this post


Link to post
Share on other sites
  • 0

Ну на каждой версии InfiSTAR по своему настроен Дебаг Меню и %8 может отвечать за кровь например. Там порядок соблюдать надо.

Еще он мог сделать свое дебаг меню и там тоже порядочек иной :)

смотри на это и ты поймёшь аналогию 

(name player),                    /*1*/
        (dayz_Survived),                /*2*/
        (round diag_fps),                /*3*/
        (r_player_blood),                /*4*/
        (round _humanity),                /*5*/
        (_killsH),                        /*6*/
        (_killsB),                        /*7*/
        (_kills),                        /*8*/
        (_currentclass),                /*9*/
        (server_site),                    /*10*/
        (240-(round(serverTime/60)))    /*11*/
        ];

Share this post


Link to post
Share on other sites
  • 0

 

смотри на это и ты поймёшь аналогию 

(name player),                    /*1*/
        (dayz_Survived),                /*2*/
        (round diag_fps),                /*3*/
        (r_player_blood),                /*4*/
        (round _humanity),                /*5*/
        (_killsH),                        /*6*/
        (_killsB),                        /*7*/
        (_kills),                        /*8*/
        (_currentclass),                /*9*/
        (server_site),                    /*10*/
        (240-(round(serverTime/60)))    /*11*/
        ];

Все верно. Так просто яснее будет Пользователю :P

Share this post


Link to post
Share on other sites
  • 0

Глупая идея вставлять время ДО рестарта.

А если вы ребутнули серв принудительно? Ну скажем отработал он час, вы написали, что необходим рестарт, все в норме, ребутнули...

Предположим рестарт в 14.00(каждые 4 часа). Ребутнули вы его руками в 12.00

т.е. следующий рестарт по планировщику в 14.00 - через 2 часа.

А в дебаге, из расчета АП_ТАЙМа_сервера - 16.00.

 

В арме, я не нашел функцию которая получает локальное время компа.

Так бы можно было прикрутить.

Share this post


Link to post
Share on other sites
  • 0

 

В арме, я не нашел функцию которая получает локальное время компа.

 

Посмотри функцию server_timeSync в server_functions.sqf  она по моему как раз локальное время сервера получает.

Share this post


Link to post
Share on other sites
  • 0

 

Посмотри функцию server_timeSync в server_functions.sqf  она по моему как раз локальное время сервера получает.

 

и как ее грамотно прикрутить в дебаг инфистара? 

 

 

 

            fnc_debugX0 = {
                if !("+str _DMS+") exitWith {};
                if (isNil 'debugMonitorX') then 
                {
                    debugMonitorX = true;
                    [] spawn fnc_debugX;
                }
                else
                {
                    debugMonitorX = !debugMonitorX;
                    hintSilent '';
                    [] spawn fnc_debugX;
                };
            };    
            fnc_debugX = {
                admin_debug_run = false;
                _BottomDebug = "+(str _BottomDebug)+";
                while {debugMonitorX} do
                {
                    _pic = (gettext (configFile >> 'CfgVehicles' >> (typeof vehicle player) >> 'picture'));
                    if (player == vehicle player) then {_pic = (gettext (configFile >> 'cfgWeapons' >> (currentWeapon player) >> 'picture'));
                    }else{_pic = (gettext (configFile >> 'CfgVehicles' >> (typeof vehicle player) >> 'picture'));};
                    
                    _txt = '';
                    _txt = (gettext (configFile >> 'CfgVehicles' >> (typeof vehicle player) >> 'displayName'));
                    
                    _stime = 0;
                    if(serverTime > 36000)then{_stime = time;}else{_stime = serverTime;};
                    _hours = (_stime/60/60);
                    _hours = toArray (str _hours);
                    _hours resize 1;
                    _hours = toString _hours;
                    _hours = compile _hours;
                    _hours = call  _hours;
                    _minutes = floor(_stime/60);
                    _minutes2 = ((_minutes - (_hours*60)) min 60) max 0;if (_minutes2 < 10) then {_minutes2 = format ['0%1',_minutes2];};
                    
                    _players = [];
                    {
                        _y = _x;
                        if (isPlayer _y) then
                        {
                            {_players = _players + [_x];} forEach (crew _y);
                        };
                    } forEach ([0,0,0] nearEntities ['AllVehicles', 10000000]);
                    _pOn = {isPlayer _x} count _players;
                    
                    hintSilent parseText format [""
                    <t size='1' font='Bitstream' align='Center' >[%1]</t><br/>
                    <t size='0.8' font='Bitstream' align='Center' >Players Online: %12</t><br/>
                    <img size='4.75' image='%4'/><br/>
                    <t size='1' font='Bitstream' align='left' color='#CC0000'>Blood: </t><t size='1' font='Bitstream' align='right'>%2</t><br/>
                    <t size='1' font='Bitstream' align='left' color='#0066CC'>Humanity: </t><t size='1' font='Bitstream' align='right'>%3</t><br/>
                    <br/>
                    <t size='1' font='Bitstream' align='left' color='#FFBF00'>Zombie Kills: </t><t size='1' font='Bitstream' align='right'>%9</t><br/>
                    <t size='1' font='Bitstream' align='left' color='#FFBF00'>Murders: </t><t size='1' font='Bitstream' align='right'>%10</t><br/>
                    <t size='1' font='Bitstream' align='left' color='#FFBF00'>Bandits Killed: </t><t size='1' font='Bitstream' align='right'>%11</t><br/>
                    <br/>
                    <t size='1' font='Bitstream' align='left' color='#FFBF00'>UPTIME: </t><t size='1' font='Bitstream' align='right'>%5h %6min</t><br/>
                    <t size='1' font='Bitstream' align='left' color='#FFBF00'>FPS: </t><t size='1' font='Bitstream' align='right'>%8</t><br/>
                    <t size='1' font='Bitstream' align='Center' color='#CC0000'>%7</t>
                    "",
                    _txt,
                    (r_player_blood),
                    round (player getVariable['humanity', 0]),
                    _pic,
                    _hours,
                    _minutes2,
                    _BottomDebug,
                    (round diag_fps),
                    (player getVariable['zombieKills', 0]),
                    (player getVariable['humanKills', 0]),
                    (player getVariable['banditKills', 0]),
                    _pOn
                    ];
                    uiSleep 1;
                };
            };
            [] spawn fnc_debugX0;
        };

 

 

 

 

Share this post


Link to post
Share on other sites
  • 0

Посмотри функцию server_timeSync в server_functions.sqf  она по моему как раз локальное время сервера получает.

Если ты про это -

 

 

 

server_timeSync    =
    {
        private ["_hour","_minute","_date","_key","_result","_outcome"];
        _key            =    "CHILD:307:";
        _result        =    _key call server_hiveReadWrite;
        _outcome    =    _result select 0;
        if(_outcome == "PASS") then
            {
                _date    =    _result select 1;
                if(dayz_fullMoonNights) then
                    {
                        _hour    =    _date select 3;
                        _minute    =    _date select 4;
                        _date    =    [2013,8,3,_hour,_minute];
                    };
                setDate _date;
                PVDZE_plr_SetDate    =    _date;
                publicVariable "PVDZE_plr_SetDate";
                diag_log ("[Сервер]: Синхронизация времени: Установлено локальное время: " + str(_date));    
            };
    };
 

То насколько я вижу -

Читаем что то с БД, получаем время объекта(создания наверное - как в БД прописано), назначаем объекту тоже время, что и прочли, а вместо даты 2013.08.03.

Функция наверное вызывается, периодически для всех объектов в игре, но обновляет им только дату.

Время так и не увидел....

Надо будет покопать другие файлы - сохранение техники в БД и т.п. Хотя я думаю там не надо указывать нихрена, т.к. в HiveExt.dll есть функция которая их там подставляет перед сохранением в БД, или в БД по умолчанию текущая дата проставляется при создании объекта. Надо глянуть свойство поля...

Share this post


Link to post
Share on other sites
  • 0

Функция наверное вызывается, периодически для всех объектов в игре, но обновляет им только дату. Время так и не увидел....

 

Фунция синхронизирует время для сервера и игроков в зависимости от настроек в HiveExt.ini как я понял вызывается при создании персонажа и из сервермонитора.

 

_date = _result select 1;

_hour = _date select 3;

_minute = _date select 4;

_date = [2013,8,3,_hour,_minute];

 

часы и минуты присутствуют)  А эта дата ставится 2013.08.03. соответственно когда нужно полнолуние.

 

надо выводом в  diag_log поиграться, может что стоящее вылезет

Edited by Golgofinyanin (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Часы и минуты берутся из прочитанного в БД значения.

 

_result        =    _key call server_hiveReadWrite; //Прочитали с БД поле date [[2014,10,03,14,48].........]

.....
_date    =    _result select 1;//Положили из массива первую запись в переменную [2014,10,03,14,48]

.......
_hour    =    _date select 3;//Из переменной получили  3 элемент - 14
_minute    =    _date select 4;//Из переменной получили 4 элемент - 48

 

Времени с компа тут нет и не было.

Share this post


Link to post
Share on other sites
  • 0
 

 

Времени с компа тут нет и не было.

 

Вывел в лог дату до изменения.

 

 

19:04:42 "!!!!!!!!!!!!!!!!! [2014,7,20,19,4]"
19:04:42 "TIME SYNC: Local Time set to [2013,8,3,19,4]"

 

 

Получил локальное время компа. 

 

видимо _key = "CHILD:307:";  служит для получения времени через бд или еще как.

 

сабж.

Share this post


Link to post
Share on other sites
  • 0

что значит эта ошибка  в  RTP

 6:36:13   Error Undefined variable in expression: _humanity
 6:36:13 File mpmissions\DayZ_Epoch_11.Chernarus\custom\functions.sqf, line 31
 6:36:15 Wrong color format 
 6:36:15 Wrong text element 'null'
 6:36:15 Wrong text element 'null'
 6:36:15 Wrong text element 'null'
 6:36:15 Error in expression <br/>",
r_player_blood,           
round _humanity,          
_killsH,           >
 6:36:15   Error position: <_humanity,          
_killsH,           >
Вроде все перепробывал и толку 0
 
дебаг взят с этого поста
вот мой
 
 
if (isNil "custom_monitor") then {custom_monitor = true;} else {custom_monitor = !custom_monitor;};
while {custom_monitor} do
{
  _nearestCity = nearestLocations [getPos player, ["NameCityCapital","NameCity","NameVillage","NameLocal"],750];
  _textCity = "Wilderness";
  if (count _nearestCity > 0) then {_textCity = text (_nearestCity select 0)};
 
  _kills =   player getVariable["zombieKills",0];
  _killsH =   player getVariable["humanKills",0];
  _killsB =   player getVariable["banditKills",0];
  _humanity =  player getVariable["humanity",0];
  _headShots =  player getVariable["headShots",0];
  _zombies =              count entities "zZombie_Base";
  _zombiesA =       {alive _x} count entities "zZombie_Base";
   
hintSilent parseText format ["
<img size='4.0' image='debug.paa' /><br/>
<t size='1.10' font='Bitstream' align='center' color='#00ff9c'>Игроков онлайн: %17</t><br/>
<t size='1' font='Bitstream' align='left' color=''>Местоположение:</t><t size='1' font='Bitstream' align='right' color='#FFFAF0'>%11</t><br/>
<t size='1.10' font='Bitstream' align='left' color='#FF3030'>Кровь:</t><t size='1.10' font='Bitstream' align='right' color='#FF3030'>%1</t><br/>
<t size='1' font='Bitstream' align='left' color='#EEC900'>Человечность:</t><t size='1' font='Bitstream' align='right' color='#EEC900'>%2</t><br/>
<t size='1' font='Bitstream' align='left' color='#00ff9c'>Убито героев:</t><t size='1' font='Bitstream' align='right' color='#00ff9c'>%3</t><br/>
<t size='1' font='Bitstream' align='left' color='#00ff9c'>Убито бандитов:</t><t size='1' font='Bitstream' align='right' color='#00ff9c'>%4</t><br/>
<t size='1' font='Bitstream' align='left' color='#00ff9c'>Убито зомби:</t><t size='1' font='Bitstream' align='right' color='#00ff9c'>%5</t><br/>
<t size='0.99' font='Bitstream' align='left' color='#EEC900'>FPS:</t><t size='0.99' font='Bitstream' align='right' color='#EEC900'>%14</t><br/>
<t size='1' font='Bitstream' align='left' color='#32CD32'>Дней выжил:</t><t size='1' font='Bitstream' align='right' color='#32CD32'>%7</t><br/>
<t size='0.99' font='Bitstream' align='center' color='#D4D4D4'>IP:46.48.21.195:2305</t><br/>
<t size='1.10' font='Bitstream' align='center' color='#C71585'>Рестарт через %8 минут!</t><br/>
<t size='0.99' font='Bitstream' align='center' color='#00ff9c'>Группа ВК vk.com/big_dayz</t><br/>",
r_player_blood,           
round _humanity,          
_killsH,            
_killsB,            
_kills,             
_headShots,            
(dayz_Survived),          
(240-(round(serverTime/60))),       
_pic,             
_logo,             
_textCity,            
count entities "zZombie_Base",       
{alive _x} count entities "zZombie_Base",    
(round diag_FPS),            
dayz_playerName,
round(dayz_temperatur),
(count playableUnits)        
];
sleep 2;
};
 
 
 
line 31 round _humanity,
Edited by BIG_MONSTR (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Попробуйте заменить это
 

_killsH,            
_killsB,            
_kills,

На это.

(player getVariable['zombieKills', 0]),
(player getVariable['humanKills', 0]),
(player getVariable['banditKills', 0]),

И это

round _humanity,   

 

На

round (player getVariable['humanity', 0]),
Edited by TheFirstNoob (see edit history)

Share this post


Link to post
Share on other sites
  • 0

 

Попробуйте заменить это

 

_killsH,            
_killsB,            
_kills,

На это.

(player getVariable['zombieKills', 0]),
(player getVariable['humanKills', 0]),
(player getVariable['banditKills', 0]),

И это

round _humanity,   

 

На

round (player getVariable['humanity', 0]),

да помогло но теперь это

 

11:38:34   Error position: <dayz_Survived),                         >
11:38:34   Error Undefined variable in expression: dayz_survived
11:38:34 File mpmissions\DayZ_Epoch_11.Chernarus\custom\functions.sqf, line 35
11:38:36 Wrong color format 
11:38:36 Wrong text element 'null'
11:38:36 Wrong text element 'null'
11:38:36 Wrong text element 'null'
11:38:36 Error in expression <s', 0]),                              
(dayz_Survived),                         >

Share this post


Link to post
Share on other sites
  • 0

Харе тупо копипастить.

Разберись, откуда ты дернул этот кусок, и что за dayz_Survived, и что это за херня - color=''

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.