Add final version of FFF Board scripts
This commit is contained in:
commit
b1fc57b931
13 changed files with 1539 additions and 0 deletions
109
LSL/raw/KVPDailyBkpTesting.lsl
Executable file
109
LSL/raw/KVPDailyBkpTesting.lsl
Executable file
|
@ -0,0 +1,109 @@
|
|||
#include "MasterFile.lsl"
|
||||
integer g_iTotalKeys;
|
||||
integer g_iProcessedKeys;
|
||||
|
||||
integer Percent(integer I, integer M)
|
||||
{
|
||||
return I*100/M;
|
||||
}
|
||||
|
||||
string Progress(integer iProg){
|
||||
// 64 chars max, must account for the brackets, percent sign, and the numbers.
|
||||
integer iMax = 32;
|
||||
iMax -= 2; // Brackets
|
||||
iMax -= 6; // Numbers, spaces, % sign
|
||||
|
||||
integer i=0;
|
||||
string sFinal = "[";
|
||||
|
||||
float fProg = (float)("0."+(string)iProg);
|
||||
if(iProg>=100)fProg=1.0;
|
||||
if(iProg<10)fProg=(float)("0.0"+(string)iProg);
|
||||
|
||||
integer pos = llFloor(iMax * fProg);
|
||||
for(i=0;i<=iMax;i++){
|
||||
if(i < pos) sFinal += "█";
|
||||
else if(i == pos)sFinal += ">";
|
||||
else sFinal += "░";
|
||||
}
|
||||
sFinal += "] "+(string)iProg+"%";
|
||||
return sFinal;
|
||||
}
|
||||
|
||||
SET_HOVER()
|
||||
{
|
||||
|
||||
llSetText("* BACKING UP TEST *\n"+(string)g_iProcessedKeys+"/"+(string)g_iTotalKeys+"\n"+Progress(Percent(g_iProcessedKeys, g_iTotalKeys)), <1,0,0>,1);
|
||||
}
|
||||
|
||||
string g_sLastDate;
|
||||
default
|
||||
{
|
||||
state_entry()
|
||||
{
|
||||
llSetTimerEvent(60);
|
||||
}
|
||||
dataserver(key kID, string sData)
|
||||
{
|
||||
if(HasDSRequest(kID)!=-1)
|
||||
{
|
||||
list lMeta = GetMetaList(kID);
|
||||
if(llList2String(lMeta,0) == "count")
|
||||
{
|
||||
g_iTotalKeys = (integer)llGetSubString(sData,2,-1);
|
||||
g_iProcessedKeys = 0;
|
||||
SET_HOVER();
|
||||
|
||||
llSleep(0.25);
|
||||
UpdateDSRequest(kID, llKeysKeyValue(g_iProcessedKeys, 1), "get_key_name");
|
||||
}else if(llList2String(lMeta,0) == "get_key_name")
|
||||
{
|
||||
llSleep(0.25);
|
||||
UpdateDSRequest(kID, llReadKeyValue(llGetSubString(sData,2,-1)), SetDSMeta(["read_value", llGetSubString(sData,2,-1)]));
|
||||
} else if(llList2String(lMeta,0) == "read_value"){
|
||||
string sKey = llList2String(lMeta,1);
|
||||
string sValue = llStringToBase64(llGetSubString(sData,2,-1));
|
||||
DeleteDSReq(kID);
|
||||
|
||||
llSleep(0.5);
|
||||
UpdateDSRequest(NULL, llHTTPRequest("https://api.zontreck.dev/zni/SLKVPStoreTesting.php", [HTTP_METHOD, "POST", HTTP_MIMETYPE, "application/json"], llList2Json(JSON_OBJECT,["op","set", "id", sKey, "val", sValue])), "sv");
|
||||
g_iProcessedKeys++;
|
||||
SET_HOVER();
|
||||
llSleep(0.5);
|
||||
if(g_iProcessedKeys <= g_iTotalKeys-1)
|
||||
UpdateDSRequest(NULL, llKeysKeyValue(g_iProcessedKeys,1), "get_key_name");
|
||||
else {
|
||||
llSleep(10);
|
||||
//DeleteDSReq(kID);
|
||||
llSetText("** Daily Backup Testing **\nLast Completed: "+g_sLastDate, <0,1,0>, 0.5);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
timer()
|
||||
{
|
||||
if(llGetDate()!=g_sLastDate)
|
||||
{
|
||||
g_sLastDate = llGetDate();
|
||||
llRegionSay(5, "backup");
|
||||
llSleep(30);
|
||||
llRegionSay(5, "restore9f");
|
||||
|
||||
llSetText("Please Stand By\nPerforming daily KVP store backup",<1,0,0>,1);
|
||||
UpdateDSRequest(NULL, llHTTPRequest("https://api.zontreck.dev/zni/SLKVPStoreTesting.php", [HTTP_METHOD, "POST", HTTP_MIMETYPE, "application/json"], llList2Json(JSON_OBJECT,["op","clear"])), "sv");
|
||||
|
||||
llSleep(10);
|
||||
UpdateDSRequest(NULL, llKeyCountKeyValue(), "count");
|
||||
}
|
||||
}
|
||||
http_response(key k,integer s,list m,string b)
|
||||
{
|
||||
if(HasDSRequest(k)!=-1){
|
||||
DeleteDSReq(k);
|
||||
list lTmp = llParseString2List(b,[";;",";"],[]);
|
||||
if(llList2String(lTmp,1) != "OK"){
|
||||
llSay(0, "ERROR ("+(string)s+"): "+b);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue