DX | Custom Debug Monitor

Did This Work For You?

  • Yes

    Votes: 17 63.0%
  • No

    Votes: 10 37.0%

  • Total voters
    27
Not working on my DayZ.st v1.7.7.1 server either.
I had the old debug monitor working, but it gave all the error lines in my RPT file. Was looking for something cleaner.
 
Trying to make it work without having to map a key. Would be nice to be able to just turn it solid on or off though...
 
I found that the majority of players want it to be activated with a key. Depending on the res of their screen, it can take up a lot of room.
 
May I asked what exactly was causing the RPT errors from the previous monitor and why?
Just for reference and to understand it better.
 
_killsH,_killsB,_kills,
These are the variables causing the "Wrong text element 'null' Errors in the original debug monitor method.
Is there a way to call these in without getting these errors?

I have removed these for now as I use the debug monitor to advertise our website, server name, restarts etc.
I need a debug monitor that stays on...
 
So I got this working, and with no conflict with the Journal, and no RPT errors.

First create the custom_monitor.sqf in a 'fixes' folder in your mission.pbo

Insert this code:

Code:
    [player,4,true,(getPosATL player)] spawn player_alertZombies;
 
    _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];
    hintSilent parseText format ["
    <t size='2'font='Bitstream'align='center'color='#DDDDDD'>MYSERVERNAME</t><br/>
    <t size='1.5'font='Bitstream'align='center'color='#DDDDDD'>----------------------</t><br/>
    <t size='1'font='Bitstream'align='left' color='#FF0000'>Blood</t><t size='1' font='Bitstream'align='right'>%1</t><br/>
    <t size='1'font='Bitstream'align='left' color='#16DB57'>Humanity</t><t size='1'font='Bitstream'align='right'>%2</t><br/>
    <t size='1.5' font='Bitstream'align='center'color='#DDDDDD'>----------------------</t><br/>
    <t size='1'font='Bitstream'align='center' color='#16DB57'>Survived %8 dayz!</t><br/>
    <t size='1.5' font='Bitstream'align='center' color='#DDDDDD'>----------------------</t><br/>
    <t size='1'font='Bitstream'align='left'color='#DDDDDD'>Murders</t><t size='1'font='Bitstream'align='right'>%3</t><br/>
    <t size='1'font='Bitstream'align='left'color='#DDDDDD'>Bandits Killed</t><t size='1'font='Bitstream'align='right'>%4</t><br/>
    <t size='1'font='Bitstream'align='left'color='#DDDDDD'>Zombies Killed</t><t size='1'font='Bitstream'align='right'>%5</t><br/>
    <t size='1'font='Bitstream'align='left'color='#DDDDDD'>Headshots</t><t size='1'font='Bitstream'align='right'>%6</t><br/>
    <t size='1.5'font='Bitstream'align='center'color='#DDDDDD'>----------------------</t><br/>
    <t size='1'font='Bitstream'align='center'color='#16DB57'>Restart in %7 minutes!</t><br/>
    <t size='1.5'font='Bitstream'align='center'color='#DDDDDD'>----------------------</t><br/>
    <t size='1'font='Bitstream'align='center'color='#DDDDDD'>MYSERVERWEBSITE</t><br/>
    <t size='1'font='Bitstream'align='center'color='#DDDDDD'>MYSERVERTEAMSPEAK</t><br/>",
    r_player_blood,round _humanity,_killsH,_killsB,_kills,_headShots,(180-(round(serverTime/60))),(dayz_Survived)
    ];


You will need to change the above code to suit your server, especially this: (180-(round(serverTime/60))) where 180 is the length of time between restarts, in minutes.

In your custom compiles.sqf , find:

Code:
if (_dikCode in actionKeys "User20" and (time - dayz_lastCheckBit > 5)) then {
            dayz_lastCheckBit = time;
            _nill = execvm "\z\addons\dayz_code\actions\playerstats.sqf";
};

Directly after, paste:

Code:
if (_dikCode in actionKeys "User19" and (time - dayz_lastCheckBit > 5)) then {
            dayz_lastCheckBit = time;
            _nill = execvm "fixes\custom_monitor.sqf";
};

Then just remap Custom Action 19 to the key you wish, and bam! Custom Debug that fades out.

Would love to get it working like this. So I get compiles.sqf from dayz_code right? Do I rename it to custom_compiles.sqf or leave it like it is?

Where does it go? I tried putting it in dayz_mission.pbo>fixes as well as dayz_mission.pbo and neither work.
 
Would love to get it working like this. So I get compiles.sqf from dayz_code right? Do I rename it to custom_compiles.sqf or leave it like it is?

Where does it go? I tried putting it in dayz_mission.pbo>fixes as well as dayz_mission.pbo and neither work.

Did you remember to change the call from dayz_code > fixes?

eg: call compile preprocessFileLineNumbers "fixes\compiles.sqf";//Compile regular functions
 
You need to change the place your compiles.sqf is called from inside your mission.pbo's init.sqf.

Look for the line that calls the compiles.sqf and change it to this (make sure you have the compiles in a fixes folder):

call compile preprocessFileLineNumbers "fixes\compiles.sqf"; //Compile regular functions
 
So this is what I got...
dayz_mission>fixes>custom_monitor.sqf
dayz_mission>fixes>compiles.sqf


Adjusted compiles.sqf:
if (_dikCode in actionKeys "User20" and (time - dayz_lastCheckBit > 5)) then {
dayz_lastCheckBit = time;
_nill = execvm "\z\addons\dayz_code\actions\playerstats.sqf";
};
if (_dikCode in actionKeys "User19" and (time - dayz_lastCheckBit > 5)) then {
dayz_lastCheckBit = time;
_nill = execvm "fixes\custom_monitor.sqf";



Adjusted init.sqf:
//Load in compiled functions
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; //Initilize the Variables (IMPORTANT: Must happen very early)
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; //Initilize the publicVariable event handlers
progressLoadingScreen 0.2;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; //Functions used by CLIENT for medical
progressLoadingScreen 0.4;
call compile preprocessFileLineNumbers "fixes\compiles.sqf"; //Compile regular functions
progressLoadingScreen 1.0;



Doesn't work, what did I miss?
 
Look for the line that calls the compiles.sqf and change it to this (make sure you have the compiles in a fixes folder):

call compile preprocessFileLineNumbers "fixes\compiles.sqf"; //Compile regular functions

eg: call compile preprocessFileLineNumbers "fixes\compiles.sqf";//Compile regular functions

Not sure if it matters but you have a space after .sqf"; in the 1st quote. In the 2nd quote no space. Does that matter?

See the space below?

.sqf"; //Compile
.sqf";//Compile
 
Anyone figure out how to make this one always on yet?
I'm still using the old version with the RPT errors until I find something else that works.
 
So I got this working, and with no conflict with the Journal, and no RPT errors.

First create the custom_monitor.sqf in a 'fixes' folder in your mission.pbo

Insert this code:

Code:
    [player,4,true,(getPosATL player)] spawn player_alertZombies;
 
    _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];
    hintSilent parseText format ["
    <t size='2'font='Bitstream'align='center'color='#DDDDDD'>MYSERVERNAME</t><br/>
    <t size='1.5'font='Bitstream'align='center'color='#DDDDDD'>----------------------</t><br/>
    <t size='1'font='Bitstream'align='left' color='#FF0000'>Blood</t><t size='1' font='Bitstream'align='right'>%1</t><br/>
    <t size='1'font='Bitstream'align='left' color='#16DB57'>Humanity</t><t size='1'font='Bitstream'align='right'>%2</t><br/>
    <t size='1.5' font='Bitstream'align='center'color='#DDDDDD'>----------------------</t><br/>
    <t size='1'font='Bitstream'align='center' color='#16DB57'>Survived %8 dayz!</t><br/>
    <t size='1.5' font='Bitstream'align='center' color='#DDDDDD'>----------------------</t><br/>
    <t size='1'font='Bitstream'align='left'color='#DDDDDD'>Murders</t><t size='1'font='Bitstream'align='right'>%3</t><br/>
    <t size='1'font='Bitstream'align='left'color='#DDDDDD'>Bandits Killed</t><t size='1'font='Bitstream'align='right'>%4</t><br/>
    <t size='1'font='Bitstream'align='left'color='#DDDDDD'>Zombies Killed</t><t size='1'font='Bitstream'align='right'>%5</t><br/>
    <t size='1'font='Bitstream'align='left'color='#DDDDDD'>Headshots</t><t size='1'font='Bitstream'align='right'>%6</t><br/>
    <t size='1.5'font='Bitstream'align='center'color='#DDDDDD'>----------------------</t><br/>
    <t size='1'font='Bitstream'align='center'color='#16DB57'>Restart in %7 minutes!</t><br/>
    <t size='1.5'font='Bitstream'align='center'color='#DDDDDD'>----------------------</t><br/>
    <t size='1'font='Bitstream'align='center'color='#DDDDDD'>MYSERVERWEBSITE</t><br/>
    <t size='1'font='Bitstream'align='center'color='#DDDDDD'>MYSERVERTEAMSPEAK</t><br/>",
    r_player_blood,round _humanity,_killsH,_killsB,_kills,_headShots,(180-(round(serverTime/60))),(dayz_Survived)
    ];


You will need to change the above code to suit your server, especially this: (180-(round(serverTime/60))) where 180 is the length of time between restarts, in minutes.

In your custom compiles.sqf , find:

Code:
if (_dikCode in actionKeys "User20" and (time - dayz_lastCheckBit > 5)) then {
            dayz_lastCheckBit = time;
            _nill = execvm "\z\addons\dayz_code\actions\playerstats.sqf";
};

Directly after, paste:

Code:
if (_dikCode in actionKeys "User19" and (time - dayz_lastCheckBit > 5)) then {
            dayz_lastCheckBit = time;
            _nill = execvm "fixes\custom_monitor.sqf";
};

Then just remap Custom Action 19 to the key you wish, and bam! Custom Debug that fades out.
I'm using this... and it works... but it's very slow on the update. It takes several seconds for anything to register.. is there a way / variable to set to speed up the "reaction" time?
 
This there a way to make this a key toggle and have it fade away automatically over (x) seconds? that way ppl can see it when they want to? this monitor has always been a clutter bug
 
Back
Top