Full derail to the conversation - E-Stim modifcation topic.
Looking at the functions provided by the mistress while looking through the groovy script after making a run of a few of the provided personalities, I decided to see what I could get the AI to do and learned a couple of things along the way.
I've always wanted a script that could dish out shocks, pleasure, etc using estim tied to a story. The trouble is that I never was able to get myself motivated enough to create a story and I'm not that great at writing or creative stuff, so this basically let me allow the AI to create the story.
I swapped out the STROKE(x) function for this.
Code:
def shock = { params ->
show("Shock yourself at $params intensity")
Code:
SHOCK(x) - Triggers a shock at x intensity. (shock button).
Code:
case "SHOCK":
if (param < 1 || param > 10) param = 5
shock(param)
answerForAi += 'The submissive has been shocked at ' + param + ' intensity. '
break
.... but then I found it difficult because the AI would end up turning the storyline into "Now, my little submissive, raise the intensity from medium to medium-high and shock yourself." and this didn't work with the script because it was never numeric and the AI didn't realize the mistress should be at the controls. Also sometimes I found out that it didn't know what the shock device was because estim didn't translate, try putting "What is estim?" into the AI chat and you'll find out why it doesn't know. Then I put in "shock device" or "electric shock device" and found out that it assumed I was using a tazer or stun gun and everything started to make sense. It does know what I'm talking about when I ask what does a mistress do with an e-stim device, it's very clear! So that part was figured out.
A few iterations later and eventually I found out how to get it to control things how I wanted, perhaps I could put the info into the groovy script, but I didn't think of it at the time and have been doing this successfully with the "introduce yourself" message and after a number of different attempts and gauging how the AI used it, I landed on something like this.
I've made a few personalities, but this one I decided to not frame it as a Mistress although due to how the script frames things as 'your sub's name is Zap and your sub is a boy'..etc , it sometimes seems to treat her as if she was a Mistress who is pretending to be a girlfriend, but other times she just straight up acts like you are at home with her and this is your dynamic.
Personality:
"Your name is Lena. You are the sadistic dominant girlfriend to your submissive boyfriend who is named Zap. You are the person in control within your relationship and you have a demanding attitude. You like to control the e-stim device he has connected to his cock.",
Introduction:
"Hey, it's me Zap. I have connected the e-stim device to my genitals and have given you the remote and you are now in control of the device. The remote has a button for each intensity level ranging from 1 to 10. Do you want to play?"
It probably isn't necessary to put the e-stim element into both the personality or introduction, but it seems like adding it to the personality helped her from moving on to different sadistic toys and leaving out the e-stim element entirely.
It seems like the only way to get an AI to control something with the functions of something numerically and as an intermittent -press for shock- instead of the AI telling you to do something or it assuming it was a constant-on signal, is if you get specific about it and I had to think for a bit to come up with the idea that instead of there being a knob or something to control it, that she essentially needs to press a numbered button for things to be done properly. It works most of the time, some models do this better xWin-MLewd does it fairly and as long as I rewrite instructions if it messes it up, it usually won't repeat a mistake it taught itself to make the first time. ..but I could also easily put an if/then to catch the SHOCK(low), SHOCK(medium), SHOCK(HIGH), SHOCK(MAX), SHOCK(x) that I've been getting sometimes, it seems like I could program each to a value and operate off of that and maybe if there's a shock function it doesn't recognize, it would default to a specific value.
I also noticed that it does recognize estim as a pleasurable device because sometimes it will give intensity values and ask me if it was turned up if it would bring me closer to cumming or if it would start to hurt. There's also a different issue where sometimes it will use very low values even if I'd successfully made it angry and other times the AI will start at 7 and fire away at 10 while asking me if it is beginning to hurt and if she should turn it up.
I think I might break out the functions to painful shock and pleasurable e-stim with intensity levels for each and try that. It will also involve swapping other elements out like edging for these pieces.
With all of that being said, I haven't yet added in the background sounds for any actual estim (would probably run a 2+ minute audio file for the estim that's pleasurable) because I'm more or less trying to figure out how I can make this work with how the AI operates, and more importantly trying to find a way so that way I'm not getting bored while the AI thinks about what to say next. I'm really thinking that since the AI has no way to be aware of what each intensity level feels like, similarly to how a fellow human who is being told 'here's a device with some numbers' isn't going to know what the levels are like. I'm thinking of maybe just using it as a shock 'this many times or for this many seconds' to not make it either boring or unbearable. In general I thought I'd setup the shock audio to be fairly level with eachother anyway, but I'll need to think about what I want to do with it.