From 5a103da8e1973b46962a8862559fe4234dcc09d9 Mon Sep 17 00:00:00 2001 From: Jessica Pixel Date: Wed, 27 Sep 2017 18:13:09 -0700 Subject: [PATCH] made a ns lightbus sniffer --- {newer => Nanite Systems}/charger.lsl | 6 +- Nanite Systems/readme.txt | 3 + Nanite Systems/sniff.lsl | 74 +++++++++++++++++++ newer/readme.txt | 1 - .../controller.lsl | 0 .../rlv glasses => rlv glasses}/glasses.lsl | 0 {newer/rlv glasses => rlv glasses}/readme.txt | 0 7 files changed, 82 insertions(+), 2 deletions(-) rename {newer => Nanite Systems}/charger.lsl (94%) create mode 100644 Nanite Systems/readme.txt create mode 100644 Nanite Systems/sniff.lsl delete mode 100644 newer/readme.txt rename {newer/rlv glasses => rlv glasses}/controller.lsl (100%) rename {newer/rlv glasses => rlv glasses}/glasses.lsl (100%) rename {newer/rlv glasses => rlv glasses}/readme.txt (100%) diff --git a/newer/charger.lsl b/Nanite Systems/charger.lsl similarity index 94% rename from newer/charger.lsl rename to Nanite Systems/charger.lsl index 1727234..ea29328 100644 --- a/newer/charger.lsl +++ b/Nanite Systems/charger.lsl @@ -1,4 +1,6 @@ //A wireless charger for NS units +//Jessyka Richard - Jessica Pixel +//9/2017 //Particles via http://particles-lsl-generator.bashora.com/index.php string Texture; @@ -113,7 +115,7 @@ turnOn(string message) { turnOff(string message) { running = FALSE; llSetColor(<0.3,0.3,0.3>, ALL_SIDES); - llSetText("disabled", color, 0.2); + llSetText("disabled", <0.3,0.3,0.3>, 0.5); llTargetOmega(<0,0,0>,0,0); llParticleSystem([]); llOwnerSay(message); @@ -136,6 +138,7 @@ default { state_entry() { turnOff("Initializing..."); + llOwnerSay((string)llGetKey()); ownerKey = llGetOwner(); channelLightBus = -1 - (integer)("0x" + llGetSubString( (string) ownerKey, -7, -1) ) + 106; handleLightBus = llListen(channelLightBus, "", NULL_KEY, ""); @@ -150,6 +153,7 @@ default if (m == "probe") { llSay(channelLightBus, "add charger"); } else if (m == "add-confirm") { llSay(channelLightBus, "add-command toggle"); } else if (m == "charge start" || m == "off" ) { turnOff("Charge disabled."); } + //else if (m == "poke " + (string)llGetOwner()) { llDialog(llDetectedKey(0), "The menu will be here soon.", ["OK", "NOT OK"], channelLightBus); } else if (llGetSubString(m,0,9) == "power 0.99") { turnOff("Charge complete!"); } else if (llGetSubString(m,0,8) == "power 0.2") { turnOn("Low power. Charge enabled..."); } else if (m == toggleMessage) { diff --git a/Nanite Systems/readme.txt b/Nanite Systems/readme.txt new file mode 100644 index 0000000..e76e959 --- /dev/null +++ b/Nanite Systems/readme.txt @@ -0,0 +1,3 @@ +scripts to work with Nanite System units in Second Life + +http://develop.nanite-systems.com diff --git a/Nanite Systems/sniff.lsl b/Nanite Systems/sniff.lsl new file mode 100644 index 0000000..f7ba31a --- /dev/null +++ b/Nanite Systems/sniff.lsl @@ -0,0 +1,74 @@ +//A lightbus sniffer for NS units +//Jessyka Richard - Jessica Pixel +//9/2017 + +integer channelLightBus; +integer listenLightBus; +vector color; +integer running = FALSE; + +hoverText(string input) { + llSetText(input, color, 1.0); +} + +messageColor(string input) { + //from SitAnywhere Flicker + list rgb = llParseString2List(input, [" "], []); + color = ; + //hoverText("New color: " + (string)color); +} + +messagePersona(string input) { + if (input == "") { + hoverText("Changing persona..."); + } else { + hoverText("Current persona: " + input); + } +} + +messagePower(string input) { + float powerFloat = (float)input * 100; + integer powerInt = (integer)powerFloat; + hoverText("Current power: " + (string)powerInt + "%"); +} + +messagePoke(string input) { + hoverText("Poked object: " + input); +} + +messageBolts(string input) { + if (input == "off") { + hoverText("Bolts: unlocked"); + } else { + hoverText("Bolts: locked"); + } +} + +processCommand(string input) { + string command = llGetSubString(input, 0, llSubStringIndex(input, " ") - 1); + string params = llGetSubString(input, llSubStringIndex(input, " ") + 1, -1); + //hoverText("Heard: " + command); + //hoverText("Heard: " + params); + if (command == "color") { messageColor(params); } + if (command == "power") { messagePower(params); } + if (command == "persona") { messagePersona(params); } + if (command == "persona-eject") { messagePersona(""); } + //if (command == "poke") { messagePoke(params); } + if (command == "bolts") { messageBolts(params); } +} + +default { + state_entry() { + key ownerKey = llGetOwner(); + channelLightBus = -1 - (integer)("0x" + llGetSubString( (string) ownerKey, -7, -1) ) + 106; + hoverText("Channel: " + (string)channelLightBus); + listenLightBus = llListen(channelLightBus, "", NULL_KEY, ""); + } + + listen(integer c, string n, key k, string m) { + if (c == channelLightBus) { + //llOwnerSay(m); + processCommand(m); + } + } +} diff --git a/newer/readme.txt b/newer/readme.txt deleted file mode 100644 index 10796d6..0000000 --- a/newer/readme.txt +++ /dev/null @@ -1 +0,0 @@ -scripts written more recently, probably mostly related to Nanite Systems until I have enough scripts for it's own folder. diff --git a/newer/rlv glasses/controller.lsl b/rlv glasses/controller.lsl similarity index 100% rename from newer/rlv glasses/controller.lsl rename to rlv glasses/controller.lsl diff --git a/newer/rlv glasses/glasses.lsl b/rlv glasses/glasses.lsl similarity index 100% rename from newer/rlv glasses/glasses.lsl rename to rlv glasses/glasses.lsl diff --git a/newer/rlv glasses/readme.txt b/rlv glasses/readme.txt similarity index 100% rename from newer/rlv glasses/readme.txt rename to rlv glasses/readme.txt