====== How can I get my toy to talk to the LULU uHUD? ====== ==== uHUD Remote ==== The **LULU uHUD (Utility HUD)** allows third-party toys to talk to it and learn various information about the sub: * sub's gender * sub's owner list (name, and avie key) * sub type (e.g. slave, pet, sex-slave, ponygirl, doll, etc.) * is RLV turned on? * what is sub's spacial emote preference? (whisper, say, direct message, none) * ==== Privacy ==== By default, the uHUD will allow any third-party gear to get the above information from it. If privacy is desired, this can be turned off: **uHUD Menu > plugin... >** untick **remote** ==== Sample Script in Third Party gear ==== Here's how: //copy this 'universal' function into your script // LULU uHUD FUNCTION START ====================================== integer uHUDPublicHandle; integer uHUDPublicChannel = -1742387; getUHUD(key avieKey, string param) { string get = "get "; if (param == "ping") get = ""; llSay(uHUDPublicChannel,(string) avieKey + get + param); llListenRemove(uHUDPublicHandle); uHUDPublicHandle = llListen(uHUDPublicChannel,"","",""); //we put this here so we don't have to add this line somewhere else. Simpler to have it all in one drop-in function. } // LULU uHUD FUNCTION END ======================================== //this section shows how you can call the getUHUD() function, and how you can listen to the response and do stuff with it... default { touch_start(integer count) { key subKey = llDetectedKey(0); getUHUD(subKey,"ping"); //pings the uHUD, if present, will reply "pong" getUHUD(subKey,"all"); //will get all available parameters. getUHUD(subKey,"isMale"); //or you can get specific parameters. } listen(integer channel, string name, key id, string msg) { if (channel == uHUDPublicChannel) { //we parse the data, which is in the format: paramName paramVal integer pos = llSubStringIndex(msg," "); string paramName = llGetSubString(msg,0,pos - 1); string paramVal = llStringTrim(llGetSubString(msg,pos + 1, -1),STRING_TRIM_HEAD); //reply to ping if (msg == "pong") llWhisper(0,"Hello, you're wearing a LULU uHUD. Now I can know things about you."); //list of sub's owners. if (paramName == "ownerNameCSV") llWhisper(0,"You are owned by: " + paramVal); //list of sub's owners' avie keys. if (paramName == "ownerKeyCSV") llWhisper(0,"Your owner keys are: " + paramVal); //sub's gender if (paramName == "isMale") { string gender = "female"; if ((integer) paramVal) gender = "male"; llWhisper(0,"You are a sexy " + gender + "."); } //does sub have RLV on? if (paramName == "isRLV") { if ((integer) paramVal) llWhisper(0,"You have RLV turned on."); } //what type of sub? if (paramName == "subType2") llWhisper(0,"You are a " + paramVal + "."); //slave, pet, sex-slave, ponygirl, etc. //what is sub's emote preference? (say, whisper, direct sayTo, or none) if (paramName == "spacial") { integer spacial = (integer) paramName; if (spacial == 0) ; //do nothing else if (spacial == 1) llRegionSayTo(llGetOwnerKey(id),0,"You prefer direct messages."); else if (spacial == 2) llWhisper(0,"You prefer whisper emotes"); else if (spacial == 3) llSay(0,"You prefer 'say' emotes."); } } } } ---- https://lu2.me/uHUDRemote