improvements for lag meter

This commit is contained in:
freddii
2021-12-22 20:07:58 +01:00
committed by GitHub
parent 3530540b2d
commit cea9348a6a

View File

@@ -20,6 +20,7 @@
//Configuration:
integer MeasureNonParcelPrims=FALSE;
//Variables, these are dynamically set, don't bother with them.
float timertime=0.5;
string region;
string sim;
vector color;
@@ -31,30 +32,58 @@ integer minutes;
integer seconds;
integer lastrestartedcalc;
list same_params =[PRIM_SLICE, <0.5, 1.0, 0.0>,PRIM_FULLBRIGHT,ALL_SIDES,TRUE,PRIM_TEXTURE,ALL_SIDES,TEXTURE_BLANK,ZERO_VECTOR,ZERO_VECTOR,0];
integer toggle=1;
default
{
state_entry()
{
llSetObjectName("Open Source Lag Meter v3");
llSetObjectName("Open Source Lag Meter v12.1");
llSetLinkPrimitiveParams(1,same_params+[PRIM_COLOR,ALL_SIDES,<0,0,0>,.4,PRIM_SIZE,<.5,.5,4>]);
llSetLinkPrimitiveParams(2,same_params+[PRIM_COLOR,ALL_SIDES,<0,1,0>,1.,PRIM_SIZE,<.4,.4,3.8>,PRIM_POS_LOCAL,<0,0,.04>]);
llSetLinkPrimitiveParams(2,same_params+[PRIM_COLOR,ALL_SIDES,<0,1,0>,1.,PRIM_SIZE,<.4,.4,3.8>,PRIM_POS_LOCAL,<0,0,.04>,PRIM_GLOW,ALL_SIDES,0.1]);
llSetText("Initalizing...",<1,1,0>, 1.0);
//First start, Set some stuff.
lastrestart = llGetUnixTime();
llSetTimerEvent(0.5); //One second is too much checking. Let's not be a resource hog.
llSetTimerEvent(timertime); //One second is too much checking. Let's not be a resource hog.
}
on_rez(integer start_param)
{
llSetPos(llGetPos()+<0,0,-2.>);
}
changed(integer change)
{
if(change & CHANGED_REGION_START)
lastrestart = llGetUnixTime();
}
touch_start(integer num_detected)
{
key avatarKey = llDetectedKey(0);
if (avatarKey==llGetOwner())
{
toggle=!toggle;
if(toggle==0)
{
llSetTimerEvent(0);
llSetLinkColor(2,<0.5,0.5,0.5>,ALL_SIDES);
llSetText("deactivated.\nTouch to activate.",<1,0.5,0>, 1.0);
}
else
{
llSetLinkColor(2,<0,1,0>,ALL_SIDES);
llSetTimerEvent(timertime);
}
}
}
timer(){
region = llGetRegionName();
avatars = llGetListLength(llGetAgentList(AGENT_LIST_REGION, []));
//Restart time
lastrestartedcalc = llGetUnixTime()-lastrestart;
lastrestartedcalc = llGetUnixTime()-(integer)llGetEnv("region_start_time");//-lastrestart;
days=0;
hours=0;
minutes=0;
@@ -83,13 +112,21 @@ default
color=<1,0,0>;
integer primsused=llGetParcelPrimCount(llGetPos(), PARCEL_COUNT_TOTAL, MeasureNonParcelPrims);
integer maxprims=llGetParcelMaxPrims(llGetPos(), MeasureNonParcelPrims);
string sim_version=llGetEnv("sim_version");
list lsim_version=llParseString2List(sim_version,[" "],[]);
string sim_version_clean=llList2String(lsim_version,0)+" "+llList2String(lsim_version,1);
llSetText(
"Region: "+region+
"\nAvatars: "+(string)avatars+
//"\nSimChan: "+llGetEnv("sim_channel")+
"\nSimHostn: "+llGetEnv("simulator_hostname")+
"\nSimVrsn: "+sim_version_clean+
// "\nProdn: "+llGetEnv("region_product_name")+
"\nAvatars: "+(string)avatars+"/"+llGetEnv("agent_limit")+
"\nPrims left: "+(string)(maxprims-primsused)+" ("+(string)primsused+"/"+(string)maxprims+")"+
"\nTemp on rez: "+(string)llGetParcelPrimCount(llGetPos(),PARCEL_COUNT_TEMP, FALSE)+
"\nDilation: "+llGetSubString((string)((1.-region_time_dilation)*100.), 0, 3)+"%"+
"\nFPS: "+llGetSubString((string)llGetRegionFPS(), 0, 5)+
"\nLast restart:\n"+(string)days+" Days, "+(string)hours+" Hours, "+(string)minutes+" Minutes, and "+(string)seconds+" Seconds ago.",
"\nLast restart:\n"+(string)days+" days, "+(string)hours+" hrs, "+(string)minutes+" min, and "+(string)seconds+" sec ago.",
//"\nLast restart:\n"+(string)days+":"+(string)hours+":"+(string)minutes+":"+(string)seconds,
color, 1.0);
//llSetLinkPrimitiveParamsFast(2,[PRIM_SLICE,<0,(region_time_dilation),0>,PRIM_COLOR,ALL_SIDES,color,1]);