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
//

/* 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

Popular posts from this blog

Play With The Bots Over At The West Mill Store!

Welcome to the AI Animesh Sexbot Party @ Sunset Forest!

TTS2 - New Text to Audio Speech System! Hear What You Type In Media Audio!