Cum Detection Script for AI System
Script of the day - detect cum events and respond (without spoken input). Good for all animesh, sub controller, and wearable systems with an ai notecard and AI system. Works great with ChatGPT!
// cum detection script, goes in same prim as ai system (same prim as ai notecard)
// designed to detect major cock manufacturers' cum signals
// note that Aeros requires rebroadcast from cock owner's body to local environment as it is sending
// a llSayTo type signal to only the cock owner's stuff
// if you add more cock cum signal (or other signals!) to the ai let me know (other brands, etc) and
// I'll add your work to the distro
//
// designed to detect major cock manufacturers' cum signals
// note that Aeros requires rebroadcast from cock owner's body to local environment as it is sending
// a llSayTo type signal to only the cock owner's stuff
// if you add more cock cum signal (or other signals!) to the ai let me know (other brands, etc) and
// I'll add your work to the distro
//
/* put the following into your ai card to get a response
# MALE CUM INTERFACE FOR ChatGPT (see script cumdet)
cummale|goto %speakername ejaculated, releasing a load of warm delicious sexy semen
As long as there is no match for that ai line (unlikely!), it will end up going to the ChatGPT system
# if you don't use GPT you can use something like the following in your ai card
cummale|Oh, speakername you ejaculated, and released a load of warm delicious sexy semen - yum!
*/
float RANGE = 2; // range at which cumming is detected
list COCKNAMES = ["AEROS","LOTUS","XCITE","LOTUS2","JOHNSON"]; // names of cocks AEROS_PUBLIC_ADDON_CH ,"LOTUS2"
list COCKCHANS = [-727002,9384359,-78523158,9384359,-5483458]; // channels used by cocks Lotus also 9348395?
list CUMSIGNALS = ["|t!|","Come","cumsignal","lotus_coming","cum"]; // signal for cumming
integer TOUCHCHAN = -25625625;
list COCKLISTENS = [];
integer NCOCKS;
integer CUMCHANNEL = -86453251; // if you want to broadcast on a channel
integer MALECODE = 1002; // for FertileTouch API
float LASTCUMTIME;
float DEADTIME = 8; // how long to wait between passing detected cum events to ai (to avoid overloading it)
cum(key id, string cockname, vector rpos)
{ // llOwnerSay(cockname+" cum signal from "+(string)id+" detected at rel pos "+(string)(rpos) );
// llSay(CUMCHANNEL,(string)id+"|"+(string)cockname+"|"+(string)rpos);
// llMessageLinked(LINK_THIS,MALECODE,"cum",llGetOwnerKey(id));
if((llGetTime()-LASTCUMTIME) < DEADTIME) return; // don't overload ai system
llMessageLinked(LINK_THIS,TOUCHCHAN,"%cummale",id);
LASTCUMTIME = llGetTime();
}
default
{
state_entry()
{ NCOCKS = llGetListLength(COCKNAMES);
integer i; for(i=0;i<NCOCKS;i++)
{ COCKLISTENS = COCKLISTENS + [llListen(llList2Integer(COCKCHANS,i),"",NULL_KEY,"")];
}
}
listen(integer chan, string name, key id, string message)
{ // llOwnerSay((string)chan);
integer type = llListFindList(COCKCHANS,[chan]);
// if(type != -1) llOwnerSay(llList2String(COCKNAMES,type)+"|"+name+"|"+(string)id+"|"+message); // listen
if(llSubStringIndex(message,llList2String(CUMSIGNALS,type)) >= 0)
{ vector rpos = (vector)llList2String(llGetObjectDetails(llGetOwnerKey(id),[OBJECT_POS]),0) - llGetPos();
if(llVecMag(rpos) < RANGE)
cum(llGetOwnerKey(id),llList2String(COCKNAMES,type),rpos);
llListenRemove(llList2Integer(COCKLISTENS,type));
llListen(llList2Integer(COCKCHANS,type),"",NULL_KEY,"");
}
}
changed(integer change)
{ llResetScript();
}
}
Comments
Post a Comment