From cea9348a6a6c5c94cabd2f74f9b4077742c9aeb0 Mon Sep 17 00:00:00 2001 From: freddii Date: Wed, 22 Dec 2021 20:07:58 +0100 Subject: [PATCH] improvements for lag meter --- .../Object/Open Source Lag meter.lsl | 51 ++++++++++++++++--- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/Lag Meter/Lag Meter/Object/Open Source Lag meter.lsl b/Lag Meter/Lag Meter/Object/Open Source Lag meter.lsl index 9ba925b2..9ffc40ed 100644 --- a/Lag Meter/Lag Meter/Object/Open Source Lag meter.lsl +++ b/Lag Meter/Lag Meter/Object/Open Source Lag meter.lsl @@ -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]);