Tease Ai scripting: The HELP CORNER

Webteases are great, but what if you're in the mood for a slightly more immersive experience? Chat about Tease AI and other offline tease software.

Moderator: 1885

User avatar
dix
Experimentor
Experimentor
Posts: 3784
Joined: Sun Aug 10, 2008 4:49 pm
Gender: Male
Sexual Orientation: Straight
I am a: None of the above
Location: North-West England

Re: Tease Ai scripting: The HELP CORNER

Post by dix »

Absolute long shot here but some of the clever people in here may be able to help.

Is it possible to either:

A. call web teases into the tease AI awakened program?

Or

B. Recreate a game similar to this one (https://milovana.com/webteases/showtease.php?id=66909) with in the program. (I'm not very technical so I don't know what the limits of the code it uses are.)

Thanks for any help.
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 863
Joined: Tue Nov 18, 2008 11:09 pm

Re: Tease Ai scripting: The HELP CORNER

Post by markus »

dix wrote: Wed Aug 20, 2025 5:36 pm Is it possible to either:
Do you want the short answer or the long answer? :-D

Short:
Nope to both.

Just ask if there is interest to the long one.

dix wrote: Wed Aug 20, 2025 5:36 pm (I'm not very technical so I don't know what the limits of the code it uses are.)
The logic of such a game can be done, the problem would be the display of the battlefield (btw. very nice tease/game!)



Greetz, :wave:
Markus
User avatar
dix
Experimentor
Experimentor
Posts: 3784
Joined: Sun Aug 10, 2008 4:49 pm
Gender: Male
Sexual Orientation: Straight
I am a: None of the above
Location: North-West England

Re: Tease Ai scripting: The HELP CORNER

Post by dix »

markus wrote: Thu Aug 21, 2025 6:08 pm
dix wrote: Wed Aug 20, 2025 5:36 pm Is it possible to either:
Do you want the short answer or the long answer? :-D

Short:
Nope to both.

Just ask if there is interest to the long one.

dix wrote: Wed Aug 20, 2025 5:36 pm (I'm not very technical so I don't know what the limits of the code it uses are.)
The logic of such a game can be done, the problem would be the display of the battlefield (btw. very nice tease/game!)



Greetz, :wave:
Markus
Unfortunatly I thought that would be the case. Oh well.
fusiontermite
Explorer
Explorer
Posts: 91
Joined: Thu Feb 01, 2018 7:05 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by fusiontermite »

EDIT: looks like my first post didn't get posted. Deleting this, please see my next two posts below.
Last edited by fusiontermite on Mon Sep 08, 2025 10:48 pm, edited 1 time in total.
fusiontermite
Explorer
Explorer
Posts: 91
Joined: Thu Feb 01, 2018 7:05 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by fusiontermite »

Hi Everybody!

Long time no see, hope you're all good.

I have an issue with @PlayAudio. I (still) use the old Tease AI (I prefer the interface), version 55.7.2b.

I want to play an audio file of about five minutes, but the software always just plays a very short portion and then moves on to select a new audio.

This is a portion of the script:

Code: Select all

(tell_connect_headphones)
@RT(Why don't you connect,Connect) your headphones @Wait(#Random(10,15))
I will let you listen to some music ;-) @Wait(#Random(10,15))
Ready?
[yes] @RT(Good,Nice,very good)
@DifferentAnswer @NullResponse
(tell_task)
Why don't you go read a book for a change? @Wait(#Random(3,5))
I will let you know @RT(when to,when I want you to,when it's time for you to) @RT(return,come back) @Wait(#Random(5,10))
Go now, @RT(sweetie,boy,pet,honey,darling,my sweet little slave)
(wait_after_lockup)
@NullResponse @RapidCodeOn @AFKOn
@NullResponse @SetDate(wait_end,#Random(15,30) minutes)
(play_music)
@NullResponse @RapidCodeOn @PlayAudio[CRXX\music_techno\*.*]
@NullResponse @RapidCodeOn @CheckDate(wait_end,play_music_end)
@NullResponse @RapidCodeOn @Chance10(play_gwa)
@NullResponse @RapidCodeOn @Goto(play_music)
(play_gwa)
@NullResponse @RapidCodeOn @PlayAudio[CRXX\gwa_chast_tease\*.*]
@NullResponse @RapidCodeOn @Goto(play_music)
(play_music_end)
(tell_comeback)
@NullResponse @RapidCodeOn @AFKOff
Come here, #SubName @PlayAudio[CRXX\tell_comeback\*.*]
What am I doing wrong? (Am I doing anything wrong?)

I have used @PlayAudio before in older scripts and never had an issue. Not sure if it's the script or the TeaseAI exe.

In my view, Tease AI should play the entire file and ONLY THEN move on to the next line and perform @CheckDate.

Thanks for any help! :love:

:wave:
fusiontermite
Explorer
Explorer
Posts: 91
Joined: Thu Feb 01, 2018 7:05 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by fusiontermite »

I have an issue with @PlayAudio. I (still) use the old Tease AI (I prefer the interface), version 55.7.2b.

I want to play an audio file of about five minutes, but the software always just plays a very short portion and then moves on to select a new audio.
I have used @PlayAudio before in older scripts and never had an issue. Not sure if it's the script or the TeaseAI exe.

In my view, Tease AI should play the entire file and ONLY THEN move on to the next line and perform @CheckDate.
Okay, it seems I MUST USE @Wait(XX) with @PlayAudio.

I thought that @PlayAudio[..] is like @PlayVideo, meaning that it plays the entire file and ONLY THEN moves on to the next line (as is the case with @PlayVideo). But apparently, with @PlayAudio, the script continues even if the file didn't finish playing... What is the difference to @PlayAudioNoWait then??

So I just included a @Wait(300) command, which can be too short or too long depending on the song that gets selected.

I also tried playing the audio files as videos (moved them to the videos folder) by using @PlayVideoNoWait and then @CheckPlayVideo and the (Video Ended) line, but unfortunately it didn't play the audios when using the play video command...

If anybody has any recommendations on how to deal with this issue, I'm all ears.

The idea of the script is that the domme tells the sub to lock it up and then to go do something (e.g. read a book, clean the room, etc) while listening to music on the headphones. She can then also play erotic audios or a bell/gong to tell the sub to come back, maybe tease him (show a censored video, etc) and send him back to work or make him take an anal plug and then go back to work. The idea is to have a multiple hours tease script where the sub is constantly on stand-by and doesn't know what it next and how long he has to wait for it..

:wave:
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 863
Joined: Tue Nov 18, 2008 11:09 pm

Re: Tease Ai scripting: The HELP CORNER

Post by markus »

fusiontermite wrote: Mon Sep 08, 2025 10:47 pm What am I doing wrong? (Am I doing anything wrong?)
--->
I (still) use the old Tease AI
Seriously, get over it, it's like you ask support for RTX 5090 on Windows 95 ("Hey, I want to use multiframe generation but I like the interface of Win95 better"). :-P ;-)
(Ok, ok, that's a little exaggerated, I know)
TAI is hopelessly outdated, don't beat the dead horse :whip: , let it rest in peace. :rip:

In my view, Tease AI should play the entire file and ONLY THEN move on to the next line
Back in the days, TAI had a metronome possible ONLY in the taunts, not in 'normal' scripts.
Often scripter used a audio-beat-file to give a stroking beat/pattern, for that use-case the script has to move on (i.e. to show images).

fusiontermite wrote: Mon Sep 08, 2025 10:47 pm What is the difference to @PlayAudioNoWait then??
'@PlayAudioNoWait' is the worst command naming possible, introduced with the SweetPatch, it leads to exact your assumption.
It uses a second player to play the audio file which was super problematic because most scripts are designed to stop a playing audio by playing another, with this second player you had 2 audios playing at the same time.

So I just included a @Wait(300) command, which can be too short or too long depending on the song that gets selected.
And this is why Awakening has @WaitAudio ;-)


Best greetings, :wave:
Markus
fusiontermite
Explorer
Explorer
Posts: 91
Joined: Thu Feb 01, 2018 7:05 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by fusiontermite »

Hi Markus,

Thank you for your reply.

So, my understanding is correct and I can't do anything about it? (except using TAI Awakening)

Also, have you considered allowing for more customization when it comes to the user interface? I did try and use TAI Awakening for a while, but because I use it in fullscreen mode, there is not chat window and no domme picture, which I care about a lot. For example, having the same interface when in fullscreen allows things like hiding the domme picture or changing it.

If there was an option to also have the domme picture and the same chat window in fullscreen (as an option in the settings, eg. "hide avatar in fullscreen" (y/n option in the settings) and "hide chat window in fullscreen" (y/n option)), I would probably switch to TAI Awakening and write scripts with the newer commands and better performance....

Also, it should be possible to set the font and color in the settings (not sure if that's included in TAI Awakening).

The look and feel is really important because the idea is that you forgot that all of this is just simulated.

:wave:
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 863
Joined: Tue Nov 18, 2008 11:09 pm

Re: Tease Ai scripting: The HELP CORNER

Post by markus »

fusiontermite wrote: Tue Sep 09, 2025 5:22 pm So, my understanding is correct and I can't do anything about it?
Mhhh, ... workarounds maybe, ... using DaVinci (or anything else you can put videos together with, edit them) in example you could create a black video, put the music in it.
Or you just download music videos from youtube and play them.

But for pure audio files, no.

there is not chat window
Hold on, ... there is NO chat?
You don't see any text in fullscreen?
Because, the chat looks different in fullscreen, but it's there.

to also have the domme picture and the same chat window in fullscreen
Isn't that exactly what you get when you maximize the window?


Also, have you considered allowing for more customization when it comes to the user interface?
[...]
Also, it should be possible to set the font and color in the settings

The following is a general statement, don't take it personal!

There is a huge lack of activity, feedback and participation in this forum (well, mostly in general in forums like these).
I've got the impression that it's much easier to get some money from the people than a line of feedback.
It seems people nowadays are used to consume and don't participate, but this is a community, not a company, communities need the participation of it's members or they dry dead sooner or later.
See, there were feature requests but there was nothing in return, no scripts, no feedback, that leads me to question myself for who on earth I've invested work, time, effort.
Because of that lack of activity, I've decided to go for a much more 'selfish' way, features I don't want to use myself will be skipped, will save me time and work, will reduce my to-do-list.

Only exception is for active scripters who actually deliver, and as far as I can see, there is only one left, his requests are still on the list and will be worked on.

So, to your suggestion/request, it was considered and planned, but canceled, sorry.
I'm happy with the GUI, so I won't spend any work on it.

The look and feel is really important because the idea is that you forgot that all of this is just simulated.
I totally agree, but the fullscreen GUI is (in a bit simplified way) based on a popular, real chat with live models, 20 years ago their fullscreen looked more like the original TAI, but even they moved on to something more modern.

(Again, don't take anything personal, it's not meant to sound rude!) :-)

Best greetings, :wave:
Markus
fusiontermite
Explorer
Explorer
Posts: 91
Joined: Thu Feb 01, 2018 7:05 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by fusiontermite »

Hi Markus

Completely understand everything you say.

It's true that the community is kind of dead...

I actually had the intention to write a personality and have invested hundreds of hours in it with faaar too many partial unfinished scripts. I didn't communicate this publicly because it just raises expectations and then in the end you can't deliver.. (like quite a few people who announced their projects - no disrespect to them, it's just how life works). I don't think that I will ever write a personality at this point. What I might do is write a few scripts that I like and share them when finished, but also here, I don't want to promise anything.

To your questions: When I'm in full, the chat window is still there but in a different format (which has its benefits - I remember that when you released TAI Awakening, you pointed out that there's more space for media). I'm really used to the old TeaseAI which I have used for many years (and written a few scripts for it, too (can't use them anymore, because I've read my own lines soo many times already)). The issue for me with TAI Awakening really was the interface in fullscreen that looked too different (what I would have been happy with is the exact same design in fullscreen as you have when in non-fullscreen mode - but I hate non-fullscreen, because then you see all the other windows applications). With the traditional TAI, the issue was that many things just didn't really work and I had to create "test.txt" scripts just to try how certain functions work and to find out what the issues were which was really frustrating.

I completely understand that it's frustrating for you to deliver for the community and implement features that you don't care about if there is nothing in return.

I actually did share at least one script many years ago. I also wanted to share my personality but never finished it.

I'm not sure most people like my scripts because, they too, are specific to what I like and to the toys that I have. In addition, many modules include notes for improvement that I just wrote in the file PLUS extracts from the chat where I wrote down ideas for improvement while using the module and then copied them from the chatlogs (e.g. "domme should answer more quickly, etc").

Anyway, for you, because you deserve it, given all your efforts, here is one of the modules that I used a lot and that I liked a lot:

You can either read it and check if it works OR you can just include it in your modules (so you don't know what is going to happen), with a small risk that it doesn't work (although it should). I will leave my own notes in it ;-)

This is mod5:
Spoiler: show

Code: Select all

@Info Created by: fusiontermite
@Info Checked by: 
@Info Version of Personality: 0.5
@Info Last Update: 2019.12.18
@NullResponse @RapidCodeOn
@Flag(dev_showscriptname) CR/Mod/SCRIPTNAME.txt
@Flag(dev_showscriptfunction) This module
@NullResponse @RapidCodeOn
@NullResponse @Goto(starttemp)

Do you wanna do this again?


----------
START TEMP
----------

(starttemp)
@NullResponse @CheckStrokingState
(Sub Stroking)
#StopStroking @StopStroking
(Sub Not Stroking)
(intro)
@NullResponse @RapidCodeOn
@NullResponse @Flag(mod5_againaskno) @DeleteFlag(mod5_againaskno)
@NullResponse @Flag(mod5_againbtelllater) @DeleteFlag(mod5_againbtelllater)
@NullResponse @Flag(mod5_allthesame) @DeleteFlag(mod5_allthesame)
@NullResponse @Flag(mod5_allthesamehigher) @DeleteFlag(mod5_allthesamehigher)
@NullResponse @Flag(mod5_allthesamethree) @DeleteFlag(mod5_allthesamethree)
@NullResponse @Flag(mod5_allthesamethreerepeat) @DeleteFlag(mod5_allthesamethreerepeat)
@NullResponse @Flag(mod5_allthesamethreebrush) @DeleteFlag(mod5_allthesamethreebrush)
@NullResponse @Flag(mod5_allthesamebrush) @DeleteFlag(mod5_allthesamebrush)
@NullResponse @Flag(mod5_againteaseliked) @DeleteFlag(mod5_againteaseliked)
@NullResponse @Flag(mod5_squeezehard) @DeleteFlag(mod5_squeezehard)
I want you to tie your balls for me, #PetName @Wait(30)
And now....
@RT(I want you to,You are going to) @RT(hit your balls,smack your balls,slap your balls) @RT(50,100,150,200,250,300,350,400,450,500) times in a row
Let me know when you are done
[done,did it,I hit my balls,I hit them] Good
[yes] Just tell me when you're done @LoopAnswer
@DifferentAnswer Just tell me when you're done
I hope you liked it *grin* @Wait(5)
(askagain)
Do you wanna do this again?
[no] @NullResponse @Goto(no)
[yes] Hmmmm... @RT(That's the right choice,I like the sound of that,You know how to make your #DomHonorific happy) @Goto(again)
@DifferentAnswer Yes or no?







::: TYPO :::
::: FileText = Y:\Milovana\Tease AI\Tease AI 0.54.9\Scripts\MissBlue_v1.07\Modules\ft_Mod5.txt ::: LineVal = 96
::: TauntText = ::: LineVal = 0
::: ResponseFile = ::: LineVal = 0
08:18 vorm. Capri: I know you said that you wanted more
08:18 vorm. Capri: But I am wondering...
08:18 vorm. Capri: Do you also think you deserve more?
08:18 vorm. SLAVE: Yes Mistress Capri
08:19 vorm. Capri: I am glad to hear that :-)
08:19 vorm. Capri: It's very important that you know your place, boytoy
08:19 vorm. Capri: And now...
08:19 vorm. Capri: I think you should get your brush for me
08:20 vorm. Capri: And now...
08:20 vorm. SLAVE: and now 2x




05:07 vorm. Capri: Squeeze them harder!
05:08 vorm. Capri: I want you to squeeze them as hard as you can
05:10 vorm. Capri: You can stop
05:10 vorm. Capri: Give your testicles 30 really hard slaps
05:10 vorm. Capri: And now...
05:10 vorm. Capri: Squeeze them one last time
05:11 vorm. Capri: That's enough :-)
05:11 vorm. SLAVE: more time for slaps



(no)
@NullResponse @RapidCodeOn
@NullResponse @Chance25(againallthesame)
@NullResponse @Goto(no1,no2)
(no1)
@RT(Oh... That's a shame,Oh... That's a shame :-() @Wait(10)
@RT(But I will respect your wish this time,But I will be merciful this time) @Wait(5)
@NullResponse @Goto(end)
(no2)
Oh... You don't? @Wait(10)
@RT(I will respect your wish this time,I will be merciful this time) @Wait(5)
@NullResponse @Goto(end)

(againallthesame)
@NullResponse @RapidCodeOn
@NullResponse @Chance35(allthesame1)
@NullResponse @Goto(allthesame2,allthesame3)
(allthesame1)
@NullResponse @Goto(allthesame1a,allthesame1b)
(allthesame1a)
@RT(Oh... That's a shame,Oh... That's a shame :-() @Wait(10)
@RT(But I think,But) you will just <i>have</i> to do it again *grin @Wait(5) @Goto(allthesamecont)
(allthesame1b)
Oh... You don't? @Wait(10)
@RT(I think,Looks like) you will just <i>have</i> to do it again *grin @Wait(5) @Goto(allthesamecont)

(allthesame2)
No? @Wait(5)
@RT(You know that,You should know by now that) this is @RT(not the answer I wanted to hear,not the answer I expect,not the right answer,the wrong answer)  @Wait(5) @Goto(allthesamecont)

(allthesame3)
@NullResponse @RapidCodeOn
@NullResponse @Goto(allthesame3a,allthesame3b)
(allthesame3a)
So you don't think that your #Balls deserve more? @Wait(5)
I am going to teach you just how much more they deserve @Wait(5) @Goto(allthesamecont)
(allthesame3b)
So you think your #Balls have suffered enough already? @Wait(5)
Let me show you how much more I can make them suffer @Wait(5) @Goto(allthesamecont)

(allthesamecont)
@NullResponse @RapidCodeOn
@NullResponse @SetFlag(mod5_allthesame)
@NullResponse @Chance50(again)
(allthesamecont1)
@NullResponse @Goto(allthesamehigher,allthesamethree,allthesamebrush)

(allthesamehigher)
@NotFlag(mod5_againaskno) @RT(And as,As) a punishment for your disobedience... @Wait(10)
@RT(You are going to,You will have to,I decided to make you,I will make you) do it... @Wait(15)
WITH HIGHER NUMBERS! *grin* @Wait(10) @SetFlag(mod5_allthesamehigher) @Goto(againd)

(allthesamethree)
@NotFlag(mod5_againaskno) @RT(And as,As) a punishment for your disobedience... @Wait(10)
@RT(You are going to,You will have to,I decided to make you,I will make you) do it... @Wait(15)
THREE MORE TIMES! *grin* @SetFlag(mod5_allthesamethree) @SetFlag(mod5_allthesamethreerepeat) @Wait(10) @Chance80(againb)
And the last time will be with the brush haha @SetFlag(mod5_allthesamethreebrush) @Goto(againb)

(allthesamebrush)
@NotFlag(mod5_againaskno) @RT(And as,As) a punishment for your disobedience... @Wait(10)
@RT(You are going to,You will have to,I decided to make you,I will make you) do it... @Wait(15)
WITH THE BRUSH! *evil grin* @SetFlag(mod5_allthesamebrush) @Wait(5)
Go get it! @Wait(30)
And now... @Wait(5) @Goto(againc)



(again)
@NullResponse @RapidCodeOn
@NullResponse @Chance15(againask)
(againcall)
@NullResponse @Chance50(againa)
@NullResponse @Chance50(againb)
@NullResponse @Chance70(againc)
@NullResponse @Goto(againd)

(againask)
@NullResponse @Wait(15)
#SubName... @Wait(15)
I know you said that you wanted more @Wait(10)
But I am wondering... @Wait(10)
@RT(Do you also feel like,Do you also think) you <i>deserve</i> more? @Wait(5)
[yes] @NullResponse @Goto(againaskyes)
[no] @NullResponse @Goto(againaskno)
@DifferentAnswer Do you feel like it, #PetName?
(againaskno)
@NullResponse @Wait(5)
I had a suspicion you might @RT(think so,feel like this) @Wait(10)
Not knowing that enduring more pain is what you deserve @Wait(10)
I can't tolerate that, #SubName @Wait(10)
And I am going to show you just how much @RT(more,more pain) @RT(you,your #Balls) deserve @Wait(15)
As a punishment for not knowing your place... @SetFlag(mod5_againaskno) @Wait(10) @Goto(allthesamecont1)
(againaskyes)
@NullResponse @Wait(10)
@NullResponse @Chance70(againaskyesyes)
Are you sure that this is a completely honest answer, #SubName?
[yes] @NullResponse @Goto(againaskyesyes)
[no] @NullResponse @Goto(againaskyesno)
@DifferentAnswer Was it honest or not?
(againaskyesyes)
@NullResponse @Chance20(againaskyesnot)
I am glad to hear that :-) @Wait(10)
It's @RT(important,very important) @RT(that,to me that) you know your place, #PetName @Wait(15)
And now... @Wait(10) @Goto(againcall)
(againaskyesnot)
Hmmm... @Wait(10)
@RT(I find it hard,I somehow find it hard) to believe this @Wait(15)
Therefore... @Wait(5)
Just in case you weren't honest... @Wait(5)
I decided to punish you *evil grin* @Wait(10)
To make sure you won't forget @RT(your place,where you belong)... @SetFlag(mod5_againaskno) @Wait(10) @Goto(allthesamecont1)
(againaskyesno)
Ohhh... @Wait(15)
@RT(So you lied to me?,So you thought you could lie to me?) @Wait(10)
That certainly can't go unpunished...
To make sure this will never happen again... @SetFlag(mod5_againaskno) @Wait(10) @Goto(allthesamecont1)


(againa)
@RT(Hit your balls,Smack your balls,Slap your balls) @RT(100,200,300,400,500,600,700,800,900,1000) times in a row
[done,did it,I hit my balls,I hit them] Hmmm... Those poor #Balls @Goto(againtease)
[thank you] My pleasure ;-) Just tell me when you're done @LoopAnswer
[yes] Just tell me when you're done @LoopAnswer
@DifferentAnswer Just tell me when you're done

(againb)
@NullResponse @RapidCodeOn
@NullResponse @Chance20(againbtelllater)
@NotFlag(mod5_allthesame) Since you seem to like it so much @Wait(10)
@NotFlag(mod5_allthesame) Let's do it two more times ;-) @Wait(5)
(againbtelllater)
@NullResponse @SetFlag(mod5_againbtelllater)
(againb1)
@RT(Hit your balls,Smack your balls,Slap your balls) @RT(100,200,300,400,500,600,700,800,900,1000) times in a row
[done,did it,I hit my balls,I hit them] Hmmm... Those poor #Balls
[thank you] My pleasure ;-) Just tell me when you're done @LoopAnswer
[yes] Just tell me when you're done @LoopAnswer
@DifferentAnswer Just tell me when you're done
@NullResponse @Wait(15)
@Flag(mod5_againbtelllater) I want you to do that again in a second @Wait(10)
@Flag(mod5_againbtelllater) But first, I will give your @RT(sweet,innocent,poor) #Balls some rest
@NotFlag(mod5_againbtelllater) Let's give those @RT(sweet,innocent,poor) #Balls some rest @Wait(10)
@Flag(mod5_allthesame) @NotFlag(mod5_allthesamethree) You're going to do that again soon, did I forget to mention it? *evil grin* @Wait(10)
@Flag(mod5_allthesame) @NotFlag(mod5_allthesamethree) You better enjoy this short pause @Wait(10)
@NullResponse @RapidCodeOn
@NullResponse @NotFlag(mod5_allthesame) @Wait(10)
@NullResponse @NotFlag(mod5_allthesame) @Wait(10)
@NullResponse @NotFlag(mod5_allthesame) @Wait(10)
@NullResponse @Flag(mod5_allthesame) @Wait(10)
@NullResponse @Flag(mod5_allthesame) @Flag(mod5_allthesamethree) @Wait(10)
@NullResponse @Flag(mod5_allthesame) @Flag(mod5_allthesamethree) @Wait(10)
That's enough!
@NullResponse @RapidCodeOn
@NullResponse @Flag(mod5_allthesamethreerepeat) @DeleteFlag(mod5_allthesamethreerepeat) @Goto(againb1)
@NullResponse @Flag(mod5_allthesamethreeebrush) And now for the special last round... @Wait(5)
@NullResponse @Flag(mod5_allthesamethreeebrush) Take your brush and get ready... @Wait(10) @Goto(againc)
@RT(Hit your balls,Smack your balls,Slap your balls) @RT(100,200,300,400,500,600,700,800,900,1000) times in a row
[done,did it,I hit my balls,I hit them] Hmmm... Those poor #Balls @Goto(againtease)
[thank you] My pleasure ;-) Just tell me when you're done @LoopAnswer
[yes] Just tell me when you're done @LoopAnswer
@DifferentAnswer Just tell me when you're done

(againc)
@NotFlag(mod5_allthesame) Since you seem to like it so much @Wait(10)
@NotFlag(mod5_allthesamebrush, mod5_allthesamethreebrush) @RT(I want you to,I think you should) get your brush for me @Wait(20)
@NotFlag(mod5_allthesamebrush, mod5_allthesamethreebrush) And now... @Wait(10)
@RT(Use that brush on your balls,Hurt those #Balls,Hit your #Balls with the brush) @RT(100,200,300,400,500,600,700,800,900,1000) times in a row
[done,did it,I hit my balls,I hit them] Hmmm... Those poor #Balls @Goto(againtease)
[thank you] My pleasure ;-) Just tell me when you're done @LoopAnswer
[yes] Just tell me when you're done @LoopAnswer
@DifferentAnswer Just tell me when you're done

(againd)
@NotFlag(mod5_allthesamehigher) Let's make it a bit more fun this time @Wait(5)
@NotFlag(mod5_allthesamehigher) By increasing the number of hits ;-) @Wait(5)
@RT(Hit your balls,Smack your balls,Slap your balls) @RT(1000,1500,2000,2500,3000,3500,4000,4500,5000) times in a row
[done,did it,I hit my balls,I hit them] Hmmm... Those poor #Balls @Goto(againtease)
[thank you] My pleasure ;-) Just tell me when you're done @LoopAnswer
[yes] Just tell me when you're done @LoopAnswer
@DifferentAnswer Just tell me when you're done


(againtease)
@NullResponse @Goto(againtease1,againtease2)

(againtease1)
I bet you <i>loved</i> this ;-) @Timeout(15,againteasecont)
[yes] @RT(I know you did,So did I *grin*,Maybe you need it harder next time then...,Hmmm... Maybe I should have done it harder) @SetFlag(mod5_againteaseliked) @Goto(againteasecont)
[no] @RT(I find that hard to believe *grin*,Oh I just love how much I can make you suffer,Good... because I want you to suffer,No need to deny it haha,Glad I could make you suffer #SubName) @Goto(againteasecont)
[hurt] Your #Balls are supposed to hurt, #PetName @Goto(againteasecont)
@AcceptAnswer I certainly did haha @Goto(againteasecont)

(againtease2)
I can't imagine how your #Balls must feel right now
But I'm sure @RT(that's exactly how you <i>want</i> them to feel,this is exactly what you need) *grin* @Timeout(15,againteasecont)
[yes] @RT(Glad you liked it,I enjoyed it as well *grin*,Maybe you need it harder next time then...,Hmmm... Maybe I should have done it harder) @SetFlag(mod5_againteaseliked) @Goto(againteasecont)
[no] @RT(I find that hard to believe *grin*,Oh I just love how much I can make you suffer,Good... because I want you to suffer,No need to deny it haha,Glad I could make you suffer #SubName) @Goto(againteasecont)
[hurt] Your #Balls are supposed to hurt, #PetName @Goto(againteasecont)
@AcceptAnswer Well, <i>I</i> certainly liked it *grin* @Goto(againteasecont)

(againteasecont)
@NullResponse @Wait(10)
@NullResponse @RapidCodeOn
@NullResponse @NotFlag(mod5_againteaseliked) @Chance25(squeeze) @Goto(end)
@NullResponse @Flag(mod5_againteaseliked) @Goto(againteaseliked)

(againteaseliked)
@NullResponse @RapidCodeOn
@NullResponse @Chance50(againteaselikedend)
@NullResponse @Chance75(againteaseliked1)
@NullResponse @Goto(againteaseliked2)

(againteaselikedend)
But for now, I am done @RT(hurting,playing with,with) those #Balls @Goto(end)

(againteaseliked1)
I feel like @RT(hurting,playing with) those #Balls some more @Goto(squeeze)

(againteaseliked2)
#SubName... @Wait(10)
I love how much you're willing to suffer for me @Wait(10)
Seeing you in pain is such a wonderful thing @Wait(20)
The more pain you endure, the more pleasure I get to enjoy @Wait(10)
The more you suffer, the hornier I get @Wait(20) @Chance50(againteaseliked2a)
That's why I will soon make you hurt those #Balls again @Goto(end)
(againteaseliked2a)
And right now, I want @RT(my pussy to drip,my pussing dripping) @RT(with juice,) @RT(*horny moan*,) @Wait(5) @SetFlag(mod5_squeezehard) @Goto(squeeze)



(squeeze)
That's why I want you to squeeze your #Balls for me RIGHT NOW! @Wait(20)
Don't stop until I tell you to @Wait(10)
Keep on squeezing your poor #Balls @Wait(10)
I know you need this @Wait(10)
I know you want to be my submissive pain slut @Wait(10)
And I know that hurting your #Balls is what you crave most @Wait(10)
Squeeze them harder! @Wait(60)
(stop)
You can stop @Wait(20)
That was fun, right? haha @Wait(10)
@NullResponse @Flag(mod5_squeezehard) @Goto(squeezeagain)
@NullResponse @Chance50(squeezeagain)
Your poor balls *grin* @Goto(end)
(squeezeagain)
Squeeze them again @Wait(10)
Enjoy the pain filling your #Balls
@NullResponse @Wait(15)
@NullResponse @Wait(15)
It's such a wonderful and intense feeling
@NullResponse @Wait(15)
@NullResponse @Wait(15)
Squeeze them harder!
@NullResponse @Wait(15)
@NullResponse @Wait(15)
@NullResponse @Wait(15)
@NullResponse @Wait(15)
@NullResponse @NotFlag(mod5_squeezehard) @Chance50(squeezeagainstop)
I want you to squeeze them as hard as you can
@NullResponse @Wait(15)
@NullResponse @Wait(15)
(squeezeagainstop)
@NullResponse @Wait(30)
You can stop @Wait(15)
@NotFlag(mod5_squeezehard) Give your #Balls @RT(10,20,30,40,50) <i>really hard</i> slaps @Wait(30)
@Flag(mod5_squeezehard) Give your #Balls @RT(100,200,300) <i>really hard</i> slaps @Wait(90)
And now...
@NotFlag(mod5_squeezehard) Squeeze them one last time @Wait(40) @Goto((squeezeagain1)
@Flag(mod5_squeezehard) Squeeze them one last time @Wait(20)
@Flag(mod5_squeezehard) You're making my pussy so wet, #PetName @Wait(20)
@Flag(mod5_squeezehard) Keep it up! @Wait(30)
@Flag(mod5_squeezehard) I'm getting closer *moaning* @Wait(40)
@Flag(mod5_squeezehard) Just a little longer @Wait(60)
@Flag(mod5_squeezehard) Make me @RT(cum,squirt), #SubName! @Wait(120) @Goto(squeezeagain2)
(squeezeagain1)
That's enough :-) @Wait(20)
Wow... @Wait(5)
That was really intense @Wait(5)
Absolutely @RT(blissful,wonderful)! @Wait(15)
I hope your #Balls have also enjoyed it that much *grin* @Wait(5) @Goto(end)
(squeezeagain2)
Oh fuck!! @Wait(15)
Oh shit, #SubName @Wait(20)
That was an amazing orgasm! @Wait(10)
Just incredible @Wait(20)
I can't stop smiling @Wait(15)
Thank you so much for that *kiss* @Wait(20)
Oh... You can stop squeezing @Wait(5)
I forgot to tell you, sorry #PetName @Wait(15)
I hope you enjoyed this all as much as I did *grin* @Wait(15) @Goto(end)

(end)
@End

- während ballbusting alle 20 sek bild wechseln (falls möglich)

- after "i bet you loved this": möglichkeit "yes" zu sagen --> timeout (domme: i know you did)

- chance: bei two more times (falls sub yes sagt): domme sagt erst nach der 1. zusätzlichen runde, dass noch einmal (chance20)

- chance10 if sub makes domme cum: domme rewards sub with an orgasm or a special orgasm or increases chance of orgasm
--> ebenso: chance play video
--> domme: "Maybe I'll let you cum as well" falls nicht ses_deny

- nach "i will respect your wish": chance dass "no, actually i won't haha"
Best greetings

:wave:
fusiontermite
Explorer
Explorer
Posts: 91
Joined: Thu Feb 01, 2018 7:05 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by fusiontermite »

Since I'm at it, let me share a few more:

mod14:
Spoiler: show

Code: Select all

@Info Created by: fusiontermite
@Info Checked by: 
@Info Version of Personality: 0.5
@Info Last Update: 2019.12.18
@NullResponse @RapidCodeOn
@Flag(dev_showscriptname) CR/Mod/SCRIPTNAME.txt
@Flag(dev_showscriptfunction) This module
@NullResponse @RapidCodeOn
@NullResponse @Goto(starttemp)

Odd or even? Squeeze balls


----------
START TEMP
----------

(starttemp)
@NullResponse @CheckStrokingState
(Sub Stroking)
#StopStroking @StopStroking
(Sub Not Stroking)
@NullResponse @RapidCodeOn
@NullResponse @Goto(resetflagsvars)



05:14 vorm. Capri: In a moment, I am going to throw a die
05:14 vorm. Capri: And you have to guess if I threw an odd or an even number
05:14 vorm. Capri: If you get it right three times in a row, you win and the game is over
05:14 vorm. Capri: If you get it wrong...
05:14 vorm. Capri: Well, as I said, this game is about hurting your aching testicles *grin*
05:14 vorm. Capri: Odd or even?
05:14 vorm. SLAVE: odd
05:14 vorm. Capri: No
05:15 vorm. Capri: Time to squeeze your balls
05:16 vorm. Capri: You can stop
05:16 vorm. Capri: Odd or even?
05:16 vorm. SLAVE: shorter periods


05:19 vorm. Capri: If you get it correctly once more, you win!
05:19 vorm. Capri: Let me throw again
05:19 vorm. Capri: Odd or even?
05:19 vorm. SLAVE: even
05:19 vorm. Capri: Very good
05:19 vorm. SLAVE: chance: just kidding,, it was wrong


05:19 vorm. Capri: Congratulations, boytoy!
05:19 vorm. Capri: You got it right three times in a row!
05:20 vorm. Capri: Now hit your balls 300 hard times in a row!
05:21 vorm. Capri: That was a fun game *grin*
05:21 vorm. Capri: I think that's enough for now *grin*
05:22 vorm. Capri: I hope that was cruel enough for you ;-)
05:22 vorm. SLAVE: No Mistress Capri
05:22 vorm. Capri: No?
05:22 vorm. SLAVE: more time for slapping in module above



(resetflagsvars)
@NullResponse @SetVar[mod14_count]=[0]
@NullResponse @SetVar[mod14_liecount]=[0]
@NullResponse @Goto(intro)

(intro)
#SubName
I want to play a game
It's about you
About your #Balls to be precise *grin*
And of course
@RT(It involves,It's all about) @RT(hurting them,making them suffer)
So, in a way, the game is also about <i>me</i>
Because it's about my pleasure of hurting your #Balls *evil grin* @Wait(10)
@NotFlag(stat_tieballs) First, I want you to tie up your #Balls @Wait(30)
In a moment, I am going to throw a die
And you have to guess if I threw an odd or an even number
If you get it right three times in a row, you win and the game is over
If you get it wrong...
Well, as I said, this game is about hurting your #Balls @RT(haha,lol,*grin*) @Wait(10) @Goto(start)

The die is cast


10:50 nachm. SLAVE: chance make them all long
--> alle squeeze-period länger machen (standard-range rauf, aber nicht auf 5 min)


(start)
(decide)
@NullResponse @RapidCodeOn
@NullResponse @Chance50(decide2)
@NullResponse @NotFlag(mod14_even) @SetFlag(mod14_even)
@NullResponse @Goto(decideend)
(decide2)
@NullResponse @Flag(mod14_even) @DeleteFlag(mod14_even)
(decideend)
@NullResponse @Goto(guess)

(guess)
@NullResponse @Chance80(guessa)
So, #PetName
(guessa)
Odd or even?
[odd] @NullResponse @Goto(guessodd)
[even] @NullResponse @Goto(guesseven)
@DifferentAnswer Odd or even, #SubName?
(guessodd)
@NullResponse @RapidCodeOn
@NullResponse @Flag(mod14_even) @Goto(squeeze)
@NullResponse @NotFlag(mod14_even) @Goto(right)
(guesseven)
@NullResponse @RapidCodeOn
@NullResponse @Flag(mod14_even) @Goto(right)
@NullResponse @NotFlag(mod14_even) @Goto(squeeze)

(right)
@NullResponse @Variable[mod14_count]=[3] @Chance15(lie)
@RT(That's correct!,Good guess!,Absolutely!,Very good) @Wait(5)
@Flag(mod14_lie) I have to confess, #SubName @Wait(10)
@Flag(mod14_lie) You already got it right the last time... @Wait(10)
@Flag(mod14_lie) I just <i>really</i> wanted to keep on playing @Wait(10)
@Flag(mod14_lie) @RT(It's just so much fun,It's such an incredible pleasure) @RT(torturing,tormenting,hurting) you
@NullResponse @ChangeVar[mod14_count]=[mod14_count]+[1]
@NullResponse @Variable[mod14_count]=[3] @Goto(done)
@Variable[mod14_count]=[2] If you get it correctly once more, you win!
Let me throw again @Wait(5) @Goto(start)

(lie)
@NullResponse @SetFlag(mod14_lie)
@NullResponse @ChangeVar[mod14_liecount]=[mod14_liecount]+[1]
@NullResponse @Goto(squeeze)

(squeeze)
@RT(No,I'm afraid you got it wrong,Too bad!,No *grin*) @Wait(7)
@NullResponse @RapidCodeOn
@NullResponse @Flag(mod14_lie) @Goto(squeezetelllie)
@NullResponse @Goto(squeezestart)

(squeezetelllie)
But you got it right last time ;-) @Wait(10)
I know I said you didn't... @Wait(10)
That was a lie, #PetName @Wait(10)
I didn't want to stop yet @Wait(5)
I know that's mean @Wait(20) @Goto(squeezetelllie1,squeezetelllie2)
(squeezetelllie1)
But how about I just count this answer as correct? @SetFlag(mod14_liecountcorrect) @Goto(squeezestart)
(squeezetelllie2)
But I really <i>feel</i> like being mean *smile* @Goto(squeezestart)

(squeezestart)
@RT(Squeeze your #Balls,Squeeze your #Balls for me!,Start squeezing,Time to squeeze your #Balls)
@NullResponse @Goto(squeeze1,squeeze2,squeeze3,squeeze4,squeeze5)
(squeeze1)
@NullResponse @Wait(#Random(10,120)) @Goto(squeezeend)
(squeeze2)
@NullResponse @Wait(#Random(15,90)) @Goto(squeezeend)
(squeeze3)
@NullResponse @Wait(#Random(20,60)) @Goto(squeezeend)
(squeeze4)
@NullResponse @Wait(#Random(25,50)) @Goto(squeezeend)
(squeeze5)
@NullResponse @RapidCodeOn
@NullResponse @Wait(#Random(240,480))
@NullResponse @SetFlag(mod14_long)
@NullResponse @Goto(squeezeend)

(squeezeend)
@RT(That's enough,You can stop,Stop squeezing)
@NullResponse @RapidCodeOn
@NullResponse @SetVar[mod14_count]=[0]
@NullResponse @Flag(mod14_liecountcorrect) @SetVar[mod14_count]=[1]
@NullResponse @Flag(mod14_liecountcorrect) @DeleteFlag(mod14_liecountcorrect)
@NullResponse @Flag(mod14_long) @Goto(waslong)
@NullResponse @Goto(squeezegoback)
(squeezegoback)
@NullResponse @Goto(start)

(waslong)
That was @RT(long,really long), wasn't it? *evil grin*
[yes] Haha
[no] No?
@AcceptAnswer Maybe I should do that again *grin*
@NullResponse @DeleteFlag(mod14_long)
@NullResponse @Goto(squeezegoback)

(done)
Congratulations, #PetName!
You got it right three times in a row! @Wait(10)
@NullResponse @Chance50(hit)
@NullResponse @Chance50(doyouwantmore)

(hit)
@NullResponse @RapidCodeOn
@NullResponse @Goto(hit1,hit2,hit3)
(hit1)
Now hit your balls 100 hard times in a row! @Wait(60) @Goto(end)
(hit2)
Now hit your balls 200 hard times in a row! @Wait(120) @Goto(end)
(hit3)
Now hit your balls 300 hard times in a row! @Wait(100)
Come on, I'm waiting... @Wait(80) @Goto(end)

(doyouwantmore)

(end)
That was a fun game *grin*
@End


xxxx

- wenn zum dritten mal richtig: chance20, dass domme behauptet es sei falsch; dann bei nächstem mal raten: i have to confess / you got it right three times / but i just wanted to keep on playing

@Chance50
I hope you can forgive me




- chance, dass am schluss: "do you want more", bei "no": chance, dass domme sagt: but i do (und chance dass: "And since you didn't think you deserve more, I will make this extra painful", e.g. squeeze AND hit); falls yes bzw. domme will es: more squeezing and or smacking and or hitting with brush (chance, dass alle drei)

- mehr varianten für formulierungen einfügen

--> chance/möglichkeit von sub, dass noch mehr

- evt. ranges oder chances für jeweilige ranges (bzgl. zeitdauer von squeeze) anpassen, chance low dass ca. 3 min lang squeeze

2. mal: i want to play the odd/even game

- falls domme lange range für squeezing aussucht (waren 6 min bei mir): chance, dass sie nachher sagt: "that was long, wasn't it?" und chance dass sie sagt: next time ill make it even longer (oder nochmal gleich lang) / so you better guess right, #PetName

- chance dass domme am ende, nachdem sub gewonnen hat, sagt: to celebrate i this i want you to squeeze your balls again/once more!

- chance dass domme lügt (ist evt. schon drin)

- domme kann während squeezen teasen (z.b. no touching your cock / enjoy the pain filling your balls), alle 20 sekunden chance dass tease

- am schluss falls noch ballbusting: warten bis sub fertig ist, evt. tease --> mit timeout120 (je nach anzahl schläge untercshiedliche zeit nehmen) zu (areyoudone)

----


- that was long, wasnt it? --> yes, no, timout
- chance: do again

mod17:
Spoiler: show

Code: Select all

@Info Created by: fusiontermite
@Info Checked by: 
@Info Version of Personality: 0.5
@Info Last Update: 2019.12.18
@NullResponse @RapidCodeOn
@Flag(dev_showscriptname) CR/Mod/SCRIPTNAME.txt
@Flag(dev_showscriptfunction) This module
@NullResponse @RapidCodeOn
@NullResponse @Goto(starttemp)

hold some positions for me


----------
START TEMP
----------

(starttemp)
@NullResponse @CheckStrokingState
(Sub Stroking)
#StopStroking @StopStroking
@NullResponse @Goto(resetflagsvars)
(Sub Not Stroking)
@NullResponse @Goto(resetflagsvars)



07:06 vorm. Capri: You will get on all four for me
07:06 vorm. Capri: And make sure your back is straight
07:07 vorm. SLAVE: wait ist zu lang hier
07:07 vorm. Capri: Go
07:10 vorm. Capri: You can come back now 



07:10 vorm. Capri: Are you there?
07:10 vorm. SLAVE: Yes Mistress Capri
07:10 vorm. Capri: Good
::: TYPO :::
::: FileText = Y:\Milovana\Tease AI\Tease AI 0.54.9\Scripts\MissBlue_v1.07\Modules\ft_Mod17.txt ::: LineVal = 262
::: TauntText = Y:\Milovana\Tease AI\Tease AI 0.54.9\Scripts\MissBlue_v1.07\\Stroke\StrokeTaunts_2.txt ::: LineVal = 10
::: ResponseFile = ::: LineVal = 0
07:11 vorm. Capri: I hope you enjoyed the humiliation *grin*
07:11 vorm. Capri: Let me give you some rest
07:11 vorm. Capri: We are not done yet *grin*
07:12 vorm. SLAVE: rest eher kürzer



12:53 nachm. Capri: You are going to stand straight with your legs closed and your hands on your head
12:54 nachm. Capri: Get into position
12:58 nachm. Capri: You can come back now
12:58 nachm. Capri: Are you there?
12:58 nachm. SLAVE: Yes Mistress Capri
12:58 nachm. Capri: Good
12:58 nachm. Capri: I'm glad I have such a well-behave slave
12:58 nachm. SLAVE: chance dass weniger als 3 min
12:58 nachm. Capri: Let me give you some rest
12:58 nachm. SLAVE: no rest or very short
12:58 nachm. Capri: No what?
12:59 nachm. SLAVE: chance dass norest
12:59 nachm. Capri:
12:59 nachm. Capri: I haven't see all the positions yet
01:00 nachm. Capri: Go to your position


-------------------------
RESET FLAGS AND VARIABLES
-------------------------

(resetflagsvars)
@NullResponse @RapidCodeOn
@NullResponse @SetVar[mod17_count]=[0]
@NullResponse @SetVar[mod17_req]=[0]
@NullResponse @Flag(mod17_1) @DeleteFlag(mod17_1)
@NullResponse @Flag(mod17_2) @DeleteFlag(mod17_2)
@NullResponse @Flag(mod17_3) @DeleteFlag(mod17_3)
@NullResponse @Flag(mod17_4) @DeleteFlag(mod17_4)
@NullResponse @Flag(mod17_5) @DeleteFlag(mod17_5)
@NullResponse @Flag(mod17_6) @DeleteFlag(mod17_6)
@NullResponse @Flag(mod17_7) @DeleteFlag(mod17_7)
@NullResponse @Flag(mod17_8) @DeleteFlag(mod17_8)
@NullResponse @Flag(mod17_9) @DeleteFlag(mod17_9)
@NullResponse @Flag(mod17_10) @DeleteFlag(mod17_10)
@NullResponse @Flag(mod17_extralong) @DeleteFlag(mod17_extralong)
@NullResponse @Flag(mod17_allpositions) @DeleteFlag(mod17_allpositions)
@NullResponse @Flag(mod17_donttell) @DeleteFlag(mod17_donttell)
@NullResponse @Flag(mod17_tieballs) @DeleteFlag(mod17_tieballs)
@NullResponse @Flag(mod17_pinscock) @DeleteFlag(mod17_pinscock)
@NullResponse @Flag(mod17_pinstongue) @DeleteFlag(mod17_pinstongue)
@NullResponse @Flag(mod17_nomorepinstongue) @DeleteFlag(mod17_nomorepinstongue)
@NullResponse @Goto(intro)


--> add all flags that need to be deleted (toothpaste, ballbusting, etc.)


-----
x - intro

x - decide normal/extralong/allpositions/donttell

- decide tongue --> now, later, none
- decide balls --> now, later, none

- decide pos
- start + wait
- done: check if module is finished
- evt.: add more pins
------


-----
INTRO
-----

(intro)
#SubName @Wait(5)
@RT(You are in for,You are about to experience,I am going to make you endure,I am going to subject you to) some @RT(intense,serious,harsh,strict) slave training and humiliation @Wait(5)
I hope you don't have any plans for today @Wait(3)
@RT(Because im not going to go easy on you,Because I will take my time torturing you,Because I will take my time dominating you,Because I will savour every moment torturing you,Because I will savour every moment dominating you,Because once I start humiliating my slaves I can hardly stop *evil grin*) @Wait(10)
@NullResponse @Goto(decidenumber)



------------------------------
DECIDE THE NUMBER OF POSITIONS
------------------------------

(decidenumber)
@NullResponse @RapidCodeOn
@NullResponse @Chance20(donttell)
@NullResponse @Chance80(notextralong)
@NullResponse @Goto(extralong)

(donttell)
@NullResponse @SetFlag(mod17_donttell)
And you know what? @Wait(5)
I could be merciful... @Wait(3)
Make you hold a few positions and be done with it @Wait(10)
Or I could make you hold every single position that comes to my mind @Wait(15)
But I'm not going to tell you @Wait(5)
After every position I want you to @RT(ask yourself,wonder) if there will be another @Wait(5)
This mind game is going to be more torture than the positions themselves *evil grin*
@NullResponse @Chance60(notextralong)
@NullResponse @Goto(extralong)


--> req. bei allpositions wieder auf 10 erhöhen, wenn 10. pos. erstellt wurde.

(extralong)
@NullResponse @Flag(mod17_donttell) @Goto(extralongdecide)
And you know what? @Wait(5)
I am feeling really @RT(devilish,mean,cruel) right now @Wait(5)
(extralongdecide)
@NullResponse @RapidCodeOn
@NullResponse @Chance25(allpositions)
@NullResponse @SetFlag(mod17_extralong)
@NullResponse @SetVar[mod17_req]=[#Random(5,7)] @Goto(decidenumberdone)
(allpositions)
@NullResponse @Flag(mod17_donttell) @Goto(allpositionsset)
In fact, I am going to make you hold every single @RT(slave position,position) I can think of @Wait(10)
Ohhh... You are so going to @RT(wish,hope) for this be over *evil grin*
(allpositionsset)
@NullResponse @RapidCodeOn
@NullResponse @SetFlag(mod17_allpositions)
@NullResponse @SetVar[mod17_req]=[9] @Goto(decidenumberdone)

(notextralong)
@NullResponse @RapidCodeOn
@NullResponse @Chance10(long)
@NullResponse @Goto(notlong)
(notlong)
@NullResponse @Flag(mod17_donttell) @SetVar[mod17_req]=[#Random(3,5)] @Goto(decidenumberdone)
@NullResponse @SetVar[mod17_req]=[#Random(2,5)] @Goto(decidenumberdone)
(long)
@NullResponse @RapidCodeOn
@NullResponse @SetVar[mod17_req]=[#Random(5,7)] @Goto(decidenumberdone)

(decidenumberdone)
@NullResponse @RapidCodeOn
@NullResponse @Goto(explain)


--> falls really devilish: hold positions for longer period of time VS hold more positions VS both?
--> falls nur anzahl positions höher ist: braucht keine flag, var genügt




-------
EXPLAIN
-------

(explain)
@NullResponse @Wait(15)
@Flag(mod17_notfirst) You know @RT(how this works), @RT(#PetName,#SubName) @Wait(5)
You are going to hold some positions for me @Wait(5)
You are only allowed to come back when you hear this bell
@NullResponse @PlayAudio[MissBlue\bell.mp3]
Did you hear it?
[yes] Good @Goto(explaindone)
[no] Turn up your speakers then
@DifferentAnswer #phr_yesorno
I hope you can hear it now @PlayAudio[MissBlue\bell.mp3]
Otherwise you will just have to guess and hope that you don't come back too early
(explaindone)
@NullResponse @Goto(pinsstart)



(pinsstart)
@NullResponse @RapidCodeOn
@NullResponse @Chance50(notieballs)
@NullResponse @SetFlag(mod17_tieballs)
(notieballs)
@NullResponse @Chance50(nopinscock)
@NullResponse @SetFlag(mod17_pinscock)
(nopinscock)
@NullResponse @Chance50(nopinstongue)
@NullResponse @SetFlag(mod17_pinstongue)
(nopinstongue)
@NullResponse @Goto(tellstart)



(tellstart)
@NullResponse @NotFlag(mod17_tieballs,mod17_pinscock,mod17_pinstongue) @Goto(decideposition)
Before the @RT(start,beginning) of your @RT(suffering,torment) we need to make some adjustments @Wait(10)
(tellstarttieballs)
@NullResponse @RapidCodeOn
@Flag(mod17_tieballs,mod17_pinscock) First of all, I want you to tie up your #Balls for me @Wait(30) @Goto(tellstartpins)
@Flag(mod17_tieballs,mod17_pinstongue) First of all, I want you to tie up your #Balls for me @Wait(30) @Goto(tellstartpins)
@Flag(mod17_tieballs) Tie up your #Balls for me, #PetName @Wait(30) @Goto(askready)
@NullResponse @NotFlag(mod17_tieballs) @Goto(tellstartpins)

(tellstartpins)
@Flag(mod17_tieballs) I also want you @RT(to add some,decorated with) clothespins @Wait(5)
@NotFlag(mod17_tieballs) You are going to @RT(add some,decorate yourself with some) clothespins @Wait(5)
(pinscock)
@NullResponse @NotFlag(mod17_pinscock) @Goto(pinstongue)
Add @RT(2,3,4,5) clothespins to your #Cock @Wait(30)
@NullResponse @Goto(pinstongue)

(pinstongue)
@NullResponse @NotFlag(mod17_pinstongue) @Goto(ready)
@Flag(mod17_pinscock) Not only your #Cock gets to suffer @Wait(5)
@Flag(mod17_pinscock) Your tongue does as well *grin* @Wait(10)
Having clothespins on your tongue makes everything so much more humiliating @Wait(5)
Especially once you start drooling all over your body *grin* @Wait(10) @Chance50(nodrool)
And I think that's exactly what @RT(you need right now,what I want for you right now)
I want you to drool today @Wait(5) @Goto(drool1,drool2)

(drool1)
Put @RT(4,5) clothespins on your tongue @Wait(30) @Goto(droolcont)
(drool2)
Put @RT(3,4,5,6,7) clothespins on your tongue @Wait(30) @Goto(droolcont)
(droolcont)
@NullResponse @SetFlag(mod17_nomorepinstongue)
Oh, you are going to drool so much haha @Wait(10) @Goto(askready)

(nodrool)
But I'm merciful for now @Wait(5)
Put @RT(one clothespin,two clothespins) on your tongue @Wait(20)
After all... @Wait(5)
I can always add some more later *grin* @Goto(askready)

(askready)
Are you ready, #SubName?
[yes, ready, done] Good
[no] Let me know when you are @LoopAnswer
@DifferentAnswer Let me know when you are ready, #PetName
@NullResponse @Wait(5)
@NullResponse @Goto(decideposition)




---------------
DECIDE POSITION
---------------

(decideposition)
@NullResponse @RapidCodeOn
@NullResponse @Goto(pos1,pos2,pos3,pos4,pos5,pos6,pos7,pos8,pos9)


--> nr. 10 fehlt noch, wenn erstellt: Goto anpassen


(pos1)
@NullResponse @Flag(mod17_1) @Goto(decideposition)
@NullResponse @NotFlag(mod17_1) @SetFlag(mod17_1)
@RT(I want you to,You are going to) walk to one of the corners in your room @Wait(5)
I want your face next to the wall and your hands behind your back
@NullResponse @Goto(decidepositiondone)

(pos2)
@NullResponse @Flag(mod17_2) @Goto(decideposition)
@NullResponse @NotFlag(mod17_2) @SetFlag(mod17_2)
@RT(I want you to,You are going to) stand in front of the computer... @Wait(5)
...spread your legs... @Wait(5)
...arch your back... @Wait(5)
...stick your ass out... @Wait(5)
...and lift your heels off the floor, standing only on your toes *grin* @Wait(10)
I'm wondering how long you can keep this up *grin* @Chance30(decidepositiondone)
@NullResponse @SetFlag(mod17_holdshort) @Goto(decidepositiondone)
@NullResponse @Goto(decidepositiondone)

(pos3)
@NullResponse @Flag(mod17_3) @Goto(decideposition)
@NullResponse @NotFlag(mod17_3) @SetFlag(mod17_3)
@RT(Get on your knees,Kneel before me) @Wait(5)
@RT(I want you to,You are going to) crawl to a corner of your room @Wait(5)
Place your head on the floor, slightly spread your legs and stick your ass up in the air @Wait(5)
@NullResponse @Goto(decidepositiondone)

(pos4)
@NullResponse @Flag(mod17_4) @Goto(decideposition)
@NullResponse @NotFlag(mod17_4) @SetFlag(mod17_4)
@RT(I want you to get,You will get) on all @RT(four,four for me) @Wait(5)
And make sure your back is straight @Wait(10) @Wait(5)
@NullResponse @Goto(decidepositiondone)

(pos5)
@NullResponse @Flag(mod17_5) @Goto(decideposition)
@NullResponse @NotFlag(mod17_5) @SetFlag(mod17_5)
@RT(I want you to,You are going to) lay on your back @Wait(5)
You are then going to pull up your legs and spread them @Wait(5)
So that your #Cock and #Balls are nicely exposed @Wait(5)
As if I was going to bust them *grin* @Wait(5)
@NullResponse @Goto(decidepositiondone)

(pos6)
@NullResponse @Flag(mod17_6) @Goto(decideposition)
@NullResponse @NotFlag(mod17_6) @SetFlag(mod17_6)
@RT(I want you to,You are going to) stand in front of the computer @Wait(5)
I want your legs spread @Wait(5)
Your mouth open at all times @Wait(5)
And your hands @RT(behind your back,on your head) @Wait(5)
@NullResponse @Goto(decidepositiondone)

(pos7)
@NullResponse @Flag(mod17_7) @Goto(decideposition)
@NullResponse @NotFlag(mod17_7) @SetFlag(mod17_7)
@RT(I want you to,You are going to) stand straight with your legs closed and your hands @RT(behind your back,on your head)
@NullResponse @Goto(decidepositiondone)

(pos8)
@NullResponse @Flag(mod17_8) @Goto(decideposition)
@NullResponse @NotFlag(mod17_8) @SetFlag(mod17_8)
@RT(I want you to,You are going to) kneel in front of the computer with your hands @RT(behind your back,on your head)
@NullResponse @Goto(decidepositiondone)

(pos9)
@NullResponse @Flag(mod17_9) @Goto(decideposition)
@NullResponse @NotFlag(mod17_9) @SetFlag(mod17_9)
@RT(I want you to,You are going to) sit on your feet @Wait(5)
And I want your hands @RT(behind your back,on your head,on your legs)
@NullResponse @Goto(decidepositiondone)

(pos10)
@NullResponse @Flag(mod17_10) @Goto(decideposition)
@NullResponse @NotFlag(mod17_10) @SetFlag(mod17_10)

xxx
@NullResponse @Goto(decidepositiondone)


(decidepositiondone)
@NullResponse @Goto(start)






(start)
@NullResponse @RapidCodeOn
@NullResponse @Wait(#Random(10,20))
@RT(Go,Go to your position,Get into position)
@NullResponse @RapidCodeOn
@NullResponse @ChangeVar[mod17_count]=[mod17_count]+[1]
@NullResponse @Flag(mod17_holdshort) @Goto(holdshort)
@NullResponse @Goto(holdposition)

(holdposition)
@DommeLevel1 @NullResponse @Wait(180) @Goto(holdposition2)
@DommeLevel2 @NullResponse @Wait(240) @Goto(holdposition2)
@DommeLevel3 @NullResponse @Wait(180) @Goto(holdposition2)
@DommeLevel4 @NullResponse @Wait(360) @Goto(holdposition2)
@DommeLevel5 @NullResponse @Wait(420) @Goto(holdposition2)
(holdshort)
@NullResponse @DeleteFlag(mod17_holdshort)
@DommeLevel1 @NullResponse @Wait(90) @Goto(holdposition2)
@DommeLevel2 @NullResponse @Wait(120) @Goto(holdposition2)
@DommeLevel3 @NullResponse @Wait(150) @Goto(holdposition2)
@DommeLevel4 @NullResponse @Wait(180) @Goto(holdposition2)
@DommeLevel5 @NullResponse @Wait(210) @Goto(holdposition2)
(holdposition2)
@NullResponse @Chance50(comeback)
@NullResponse @Wait(#Random(10,60))
@NullResponse @Chance50(comeback)
@NullResponse @Wait(#Random(10,60))
@NullResponse @Chance50(comeback)
@NullResponse @Wait(#Random(10,60))
@NullResponse @Chance10(comeback)
@NullResponse @Wait(#Random(10,60))
@NullResponse @Chance10(comeback)
@NullResponse @Wait(#Random(10,60))
@NullResponse @Chance10(comeback)
@NullResponse @Wait(#Random(10,60))

(comeback)
@NullResponse @PlayAudio[MissBlue\bell.mp3]
You can come back now @Goto(check)

(check)
Are you there?
[yes] Good
@AcceptAnswer Good
@NullResponse @Variable[mod17_count]=[mod17_req] @Goto(enough)
@NullResponse @Variable[mod17_count]>[mod17_req] @Goto(enough)
@NullResponse @Goto(tease)


(enough)
I think that's enough for now, #PetName @Wait(10)
I hope you feel as humiliated as I intended to *evil grin* @Wait(10)
@End


(tease)
@NullResponse @Goto(decideposition)
(tease1)




(tease)
@NullResponse @Wait(5)
(tease1)
@RT(You are such a good slavetoy *hmmm*,I'm glad I have such a well-behave slave,I love how gladly you take this for me,Good boy,I hope you enjoyed the humiliation *grin*)
Let me give you some rest
@NullResponse @Wait(5) @Goto(decidepins)


@NullResponse @Goto(tease1a)



refer to previous position:


a: compliment dass position gehalten wurde
b: du willst das doch oder? / kurzer talk --> humiliation talk
c: du gehörst dahin/dafür bist du da

That's where you belong
And that's what you're here for


I know how much you love to obey me


(tease1a)
@NullResponse @Wait(10) @Goto(tease1a1,tease1a2,tease1a3,tease1a4,tease1a5,tease1a6,tease1a7,tease1a8,tease1a9,tease1a10)


-----> innerhalb dieser 10 zwischenparts untervarianten bilden: bei dialogen die "fortsetzung" davon; bei einzeilern stattdessen ein anders formulierter einzeiler --> ist u.a. auch nötig, falls mal alle 10 positions gemacht werden müssen (zwischenteil sollte dann nicht immer der gleiche sein)



(tease1a1)
Did you like it? @Wait(5)
Do you want to go back to that position?
[yes] It's good to see you know your place
[no] @RT(Looks like you haven't been humiliated enough)

(tease1a2)
du weisst schon, dass du das alles verdient hast?

You know that you deserve this, @RT(right?,don't you?) @Wait(15)
You deserve all of this
You deserve to be @RT(played with,treated,used) @RT(like this,this way)
You deserve to be humiliated
You deserve to be @RT(tortured,tormented)
You deserve to be treated @RT(relentlessly,remorcelessly)
You deserve to be teased @RT(without mercy,
)

d: du verdienst es, erniedrigt zu werden
e: du verdienst es, gequält zu werden
f: du verdienst es, relentlessly/remorcelessly,mercilessly --> to be teased relentlessly, denied/frustrated..



You deserve to be teased relentlessly

@RT(This is where you belong,This is what you're here for,That's why I will keep on using you as a my toy,So I won't stop abusing you anytime soon,
)


(tease1a3)

You crave being controlled like this, don't you?

Giving up control...

(tease1a4)


Being humiliated... It's want you want, isn't it?

I know how much you want to be humiliated


(tease1a5)


@RT(This is where you belong,This is what you're here for,That's why I will keep on using you as a my toy,So I won't stop abusing you anytime soon,
)

You know that you want this
You deserve to be treated @RT(like this,this way)

(tease1a6)

You are my toy

And I can do with my toy what I want
And I can treat my toy however I feel / as I please

(tease1a7)
No time to lose @Wait(5)
Get into your next position
(tease1a8)

(tease1a9)

(tease1a10)
@NullResponse @RapidCodeOn
@NullResponse @Goto(tease1a10a,tease1a10b,tease1a10c,tease1a10d)
(tease1a10a)
You deserve to be @RT(played with,treated,used) @RT(like this,this way)

(tease1a10b)
You deserve to be humiliated
@RT(This is what you're here for,That's why I have you here,That's why I won't stop abusing you anytime soon)
(tease1a10c)
You deserve to be @RT(tortured)

(tease1a10d)
You deserve to be teased relentlessly
@RT(That's why I will keep on using you as a my toy,So I won't stop abusing you anytime soon)


@RT(This is where you belong,This is what you're here for,That's why I will keep on using you as a my toy,So I won't stop abusing you anytime soon,
)



(decidepins)
@NotFlag(mod17_nomorepinstongue) @Chance10(addpinstongue)
@NullResponse @Goto(decidepins2)
(addpinstongue)
I want you to add another clothespin to your tongue @Wait(30)
(decidepins2)
@NullResponse @Goto(tease2)


(tease2)
@RT(We haven't done all the positions,I haven't see all the positions yet,Don't worry... I know some more positions,We are not done yet *grin*) @Wait(15)
@NullResponse @Goto(start)







zu hum pos-module:

You can't tell me you don't enjoy this / I know how much you enjoy this
You want @RT(to be dominated,me to dominate you)
To put you in your place
And to do with you as I like

..

You want to be humiliated
You want to be trained

..










---------------------


bzgl. pinstongue:
- pinstongue yes/no?
- falls yes: alle jetzt oder in jeder rund 1 dazu?
- falls alle jetzt: drool oder nicht?


--> in zwischenteil: add pins to cock, tongue, balls, body; evt. squeeze/hit balls
--> entscheid1: am anfang tieballs/pins? entscheid1a: wie viele?; entscheid2: später tieballs/pins bzw. mehr pins?



--> wo ist check, ob count=req?
--> in zwischenteil (tease): dort auch add pins (falls jeweils pro runde geaddet wird statt von anfang an -->flag)



-->dauer ist zu lang: eher 3 min basis und 20% dass fertig; dafür aber 10% chance dass stattdessen range von 8-15 min


erniedrigungsmodul
-----------------

viele vers. positionen halten

zuerst z.b. mit gesicht gegen wand in ecke stehen für gewisse zeit, come back, domme: more!

--> position für gewisse zeit halten, klingelton, zurück, neue position

"you need more training", "I want to train you some more"

I want to dominate/humiliate you more

--> auch humiliating talk einbauen

--

decide separat über pinstongue, pinsdick, etc.
--> falls "only on clothespin on your tongue", möglich dass später: i changed my mind / i DO WANT you to drool; add two more pins


--

- klassische positions (vgl. andere personalities):
  - sit
  - stand
  - etc.
- dominante positions, z.b.:
  - hands on head
  - hands behind back
  - kneel
--  


pins on balls wäre auch noch möglich


- ganz am schluss: chance "do you want more" or "that was enough, dont you think so"; sub can say that he wants more --> add 1-3 positions (in case of allpositions: deleteflag for positions, because otherwise all positions would be skipped); ebenso denkbar: domme makes sub do a position he already was in (based on flags): How about repeating some of the positions you were already in?
  
  
 --> untie balls (oder setflag tieballs)

evt. so dass domme zuerst nur 2 pos verlangt und später zunehmend meher

chance. dass domme sagt that's enough and dann chance20: just kidding, we are not done yet


bei hum-hold pos module: chance, dass in chastity (chance20 ca)
--> dort auch checken ob sub chastitydevice hat



nach allen positions (nach "letzter position"): chance10, dass domme sagt sie habe noch nicht genug und wolle noch eine position sehen (chance20 dass danach nochmal eine); dabei wählt sie frei, d.h. die flags ob schon mal verwendet werden nicht gecheckt. nach wahl kann domme dann sagen (basierend auf den gleichen flags): i want to see xxx again ODER "oh, you poor boy / I guess you will just have to do it again" ODER "i know we already did/had this position today / but i want to see it again"
mod22:
Spoiler: show

Code: Select all

@Info Created by: fusiontermite
@Info Checked by: 
@Info Version of Personality: 0.5
@Info Last Update: 2019.12.18
@NullResponse @RapidCodeOn
@Flag(dev_showscriptname) CR/Mod/SCRIPTNAME.txt
@Flag(dev_showscriptfunction) This module
@NullResponse @RapidCodeOn
@NullResponse @Goto(starttemp)

Clothespins on cock: hurt it through the pants


----------
START TEMP
----------

(starttemp)
(aaa)
@NullResponse @CheckStrokingState
(Sub Stroking)
#StopStroking @StopStroking
(Sub Not Stroking)
@NullResponse @Goto(intro)

#SubName @Wait(10)
@NullResponse @Chance90(skip)
@RT(I bet,I'm sure) you love it when I say that @Wait(5)
Because you know that @RT(I'm about to make you suffer)
(skip)
@RT(You are in for a lot of suffering)
Oh, @RT(I am going to enjoy this soo much,this is going to be soooo good,this is going to hurt sooo badly)


tie balls, put pins on top of cock, put pants back on, stroke dick and balls through pants until domme tells you to stop --> make it hurt!


play femsub video during this time


07:29 vorm. Capri: It's time for your torment to start, toy
07:40 vorm. SLAVE: besser statt fix 15 min: 5 ranges, range1.4-6, range2: 5-7, etc.

07:46 vorm. SLAVE: remove pants and pins


04:47 vorm. Capri: You take that so well
04:48 vorm. Capri: With so much endurance
04:48 vorm. SLAVE: Line-Idee: you seem to like this so much

SLAVE: als variante für das mod: walk around statt stand

(intro)
Tie off your balls! @Wait(30)
And put three clothespin on the top of your #Cock @Wait(30)
Now, I want you to put your pants back on @Wait(30)
That's right, boy @Wait(45)
You take that so well @Wait(15)
With so much endurance @Wait(15)
Full @RT(of that wonderful,of agonising,of) desire to please me @Wait(15)
Suffering for your #DomHonorific @Wait(30)
It's only what you deserve #SubName @Wait(15)
And it's what you need @Wait(15)
You know that yourself @Wait(45)
Does it hurt?
[yes,it hurts] Hmmm... That's what I wanted to hear @Chance20(addmore) @Goto(cont)
[no,not] Well, I think that's just a matter of time *grin* @Chance50(addmore) @Chance50(addmoreask) @Goto(cont)
@DifferentAnswer Does it hurt or not?

--> nach does it hurt auch "a bit Mistress Capri"

(addmore)
But just to make sure @Wait(5)
I want you to add @RT(another clothespin,two more clothespins) @Wait(40)

(addmoreask)
Do you think we should add some more?
[yes] That's @RT(a,my) good #PetName @Goto(addmoreaskyes)
[no] @NullResponse @Goto(addmoreaskno)
[maybe] Well, "maybe" really sounds like "yes" to me @Goto(addmoreaskyes)
@DifferentAnswer #phr_yesorno

(addmoreaskyes)
Add another @RT(two,three) clothespins @Wait(30) @Goto(cont)

(addmoreaskno)
@NullResponse @RapidCodeOn
@NullResponse @Chance65(addmoreaskno1)
@NullResponse @Goto(addmoreaskno2)

(addmoreaskno1)
Okay, I will trust your judgement this time @Goto(cont)

(addmoreaskno2)
Just to be sure...
I want you to add @RT(another clothespin,another two clothespins) @Goto(cont)



(cont)
I a moment, I want you to turn your back to the computer and touch your #Cock and #Balls through your pants @Wait(10)
Play with them... @Wait(7)
Tease them... @Wait(7)
And most importantly... @Wait(7)
Hurt them! *grin* @Wait(10)
I don't care how you do it
But your goal is to keep up a constant level of agony for those poor #Balls and #Cock
You are not allowed to stop until you hear this bell
@NullResponse @PlayAudio[MissBlue\bell.mp3]
@NullResponse @Wait(10)
(go)
It's time for your torment to start, #PetName
@DommeLevel1 @NullResponse @Wait(180)
@DommeLevel2 @NullResponse @Wait(240)
@DommeLevel3 @NullResponse @Wait(300)
@DommeLevel4 @NullResponse @Wait(360)
@DommeLevel5 @NullResponse @Wait(420)
@NullResponse @Chance10(saved by the bell)
@NullResponse @Wait(60)
@NullResponse @Chance10(saved by the bell)
@NullResponse @Wait(60)
@NullResponse @Chance10(saved by the bell)
@NullResponse @Wait(60)
@NullResponse @Chance10(saved by the bell)
@NullResponse @Wait(60)
@NullResponse @Chance10(saved by the bell)
@NullResponse @Wait(60)
@NullResponse @Chance10(saved by the bell)
@NullResponse @Wait(60)
@NullResponse @Chance10(saved by the bell)
@NullResponse @Wait(60)
@NullResponse @Chance10(saved by the bell)
@NullResponse @Wait(60)
@NullResponse @Chance10(saved by the bell)
@NullResponse @Wait(60)
@NullResponse @Chance10(saved by the bell)
@NullResponse @Wait(60)
(saved by the bell)
@NullResponse @PlayAudio[MissBlue\bell.mp3]
You can come back now
Are you there?
[yes] Good
@AcceptAnswer Good
I bet you loved it *grin*
I certainly did haha @Wait(15)
@End
(video)
I want you to watch a video now
I will let you suffer together *grin*
@NullResponse @PlayVideo[ft\femsub\*.*,6000] @JumpVideo
@NullResponse @Wait(20)
That was great!
@End


@NullResponse @Flag(mod1_extralong) @DeleteFlag(mod1_extralong)
@RT(I've got,I have got) @RT(good news,bad news,news) for you, @RT(#PetName,#SubName)
@RT(You are in for a harsh treatment,You are about to suffer like never before,In a moment I am going to make you suffer really nicely)
@RT(But that's why you are here isn't it?,But you like that don't you?,But my experience so far tells me that you crave to be tortured)
You just @RT(need,long) to be treated @RT(cruelly,without mercy)
I can't wait to start
Seeing you @RT(suffer,in pain) just makes me @RT(smile,so happy)
Are you looking forward to it as well?
[no] Well, that makes it all the more fun for me *grin* @Goto(start)
[yes] Good...
@DifferentAnswer #YesOrNo
@RT(So does that mean that you would like your torture to be extra long?,Would you like me to make your suffering extra long?)
[no] @RT(I can understand that,That's a pity,I think you would have liked it though), #PetName
[yes] @RT(That's what you deserve,I like the sound of that) ;-) @SetFlag(mod1_extralong)
@DifferentAnswer #YesOrNo
(start)
@NullResponse @Chance50(nopins)
(pins1)
First of all, I want you to put @RT(a clothespin,two clothespins,three clothespins) on your tongue @Wait(10)
Are you ready?
[yes, ready, done] Good
[no] Let me know when you are @LoopAnswer
@DifferentAnswer Let me know when you are ready, #PetName
@NullResponse @SetFlag(stat_pinstongue)
(nopins)
I want to start our little adventure by making you hurt your #Balls
@CBTBalls
Hmmm...
That was fun
We definitely have to do this again later ;-)
@Flag(stat_pinstongue) Since you already have something on your tongue we should add some more decoration
@NotFlag(stat_pinstongue) But for now...
@RT(I want you to tie up your #Balls,Tie up your #Balls) @Wait(20)
This will make the next round of ballbusting <i>so much more intense</i>
I also want you to put at least 5 clothespins to your #Balls and at least 5 to your #Cock @Wait(20)
Ready?
[yes, ready, done] Good... I hope you enjoy the pain *grin*
[no] Afraid? *grin* Tell me when you're ready @LoopAnswer
@DifferentAnswer Let me know when you are
For now, I want to test your submission
@NullResponse @Goto(pos1,pos2,pos3)
(pos1)
When I tell you to, I want you to stand up and turn your back to the computer
You will spread your legs and cross your arms behind your back
As if you were about to receive a thorough ballkicking *grin* @Goto(hold)
(pos2)
Get on your knees @SetFlag(stat_kneel)
When I tell you to, I want you to crawl to a corner of your room
Once there, you will place your head on the floor and spread your legs
Just the perfect position to get a good whipping @Goto(hold)
(pos3)
When I tell you to, I want you to go to a corner of your room
You will stand there only on your toes with your nose almost touching the wall @Goto(hold)
(hold)

[yes] Good @Goto(go)
[no] Turn up your speakers then
@DifferentAnswer #YesOrNo
I hope you can hear it now @PlayAudio[MissBlue\bell.mp3]
Otherwise you will just have to guess and hope that you don't come back too early

You can sit down
@NullResponse @Flag(stat_kneel) @DeleteFlag(stat_kneel)
Take off the clothespins @Wait(15)
@Flag(stat_pinstongue) @NullResponse @DeleteFlag(stat_pinstongue)
This is almost more painful than when they're on
Especially when you had them on for so long *grin*
Now, #PetName
I think we need to make use of these nicely tied up #Balls
And since I have promised you some more ballbusting
That's exactly what we are going to do
@CBTBalls
Hmmm...
I just love to make you bust your #Balls
Let's try your #Cock for a second, shall we? @Timeout(10,cbtcock)
[yes] Of course we shall
[no] That was not actually a question, #PetName
@AcceptAnswer Of course we shall
(cbtcock)
@CBTCock
Yeah...
That was fun too, I guess
@NullResponse @Goto(1,2)
(1)
Making you smack your #Cock is certainly one of my top ten leisure activities
I just love hurting your #Balls more
Torturing these sweet #Balls could even be my number one leisure activity...
On first place together with denying you an orgasm, that is *grin*
#Cock torture and ball torture are both nice in a way @Goto(a)
(2)
I just love hurting your #Balls more
Both is nice in a way
(a)
But balls just seem to be made to be hurt... @Wait(10)
Let's give them some more attention
This time I want you to slide up to the edge of your seat so those #Balls are exposed
Spread your legs apart as far as you can
Here we go
@CBTBalls
Oh, yes!!
Hmmmm....
There is nothing more exciting than seeing you @RT(hurt yourself for me, in so much pain)
This is just sooo sexy
@CBTBalls
Awww...
These poor #Balls must be in quite some pain by now
But I'm sure they can take a bit more
Let's give them a last round
@CBTBalls
@NullResponse @NotFlag(mod1_extralong) @Goto(end)
#SubName ... @Wait(10)
I know I said last round
But I don't think I can let you off the hook this easily
Especially when you asked me for extra much pain
I don't think that would be fair to you
And I @RT(do my best,try really hard) to be a @RT(just,fair) #DomHonorific
I will let your #Balls rest for a short while @Wait(20)
@NullResponse @ShowLocalImage
@NullResponse @ShowLocalImage
@NullResponse @ShowLocalImage
@NullResponse @ShowLocalImage
@NullResponse @ShowLocalImage
@NullResponse @ShowLocalImage
@NullResponse @ShowLocalImage
@NullResponse @ShowLocalImage
@NullResponse @ShowLocalImage
That's enough
Are you ready for the grand finale of ballbusting?
[yes, ready] Good for you
[no] @RT(This won't be easy then, That is just too bad...)
@AcceptAnswer Anyway, here it comes
@CBTBalls
@CBTBalls
@CBTBalls
@CBTBalls
@CBTBalls
@Wait(10)
@NullResponse @Chance50(end)
Now...
Do you want some more?
[yes] @RT(I know you do,Of course you do)
[no] @RT(Of course you do,Of course you do my little pain slut *grin*)
@AcceptAnswer @RT(Of course you do,Of course you do my little pain slut *grin*)
@NullResponse @Goto(b1,b2,b3,b4,b5,b6)
(b1)
@RT(I want you to slap your #Balls 50 times in a row,I want you to hit your #Balls 50 times in a row,I want you to smack your #Balls 50 times in a row,Slap your #Balls 50 times in a row,Hit your #Balls 50 times in a row,Smack your #Balls 50 times in a row) @Goto(c)
(b2)
@RT(I want you to slap your #Balls 100 times in a row,I want you to hit your #Balls 100 times in a row,I want you to smack your #Balls 100 times in a row,Slap your #Balls 100 times in a row,Hit your #Balls 100 times in a row,Smack your #Balls 100 times in a row) @Goto(c)
(b3)
@RT(I want you to slap your #Balls 200 times in a row,I want you to hit your #Balls 200 times in a row,I want you to smack your #Balls 200 times in a row,Slap your #Balls 200 times in a row,Hit your #Balls 200 times in a row,Smack your #Balls 200 times in a row) @Goto(c)
(b4)
@RT(I want you to slap your #Balls 300 times in a row,I want you to hit your #Balls 300 times in a row,I want you to smack your #Balls 300 times in a row,Slap your #Balls 300 times in a row,Hit your #Balls 300 times in a row,Smack your #Balls 300 times in a row) @Goto(c)
(b5)
@RT(I want you to slap your #Balls 400 times in a row,I want you to hit your #Balls 400 times in a row,I want you to smack your #Balls 400 times in a row,Slap your #Balls 400 times in a row,Hit your #Balls 400 times in a row,Smack your #Balls 400 times in a row) @Goto(c)
(b6)
@RT(I want you to slap your #Balls 500 times in a row,I want you to hit your #Balls 500 times in a row,I want you to smack your #Balls 500 times in a row,Slap your #Balls 500 times in a row,Hit your #Balls 500 times in a row,Smack your #Balls 500 times in a row) @Goto(c)
(c)
[yes, ok, done, finished] @NullResponse @Wait(10)
@AcceptAnswer @NullResponse @Wait(10)
@NullResponse @DeleteFlag(mod1_extralong)
(end)
Wow! @Wait(10)
That was @RT(ecstatic,incredible), #SubName
Simply amazing!
Maybe a bit painful for you but you can't tell me that you didn't enjoy every second of it
Well, <i>I</i> did for sure, anyway *grin*@Wait(5)
You can untie your #Balls now, #PetName @Wait(10)
@End


- "looking forward to it?"--Yes: chance dass direkt sagt "ill make it extra long then" (d.h. nicht fragt)

- chance, dass domme sagt "just to make sure add some more" unabhängig davon, ob sub sagt that it hurts
- chance (tief) dass domme fragt "do you think there need to be some more clothespins on your cock?" if yes: good boy, you're such a good slave; evt. check: are you sure? / were you honest?

- nach "does it hurt", falls sub yes sagt: "are you sure? / are you sure that's enough pain already?"

am schluss: i want you naked again

-->allgemein: untieballs nicht vergessen bei modules bzw. chance dass tied bleiben


chance10: and walk around the block once, nächstes mal: 2x, etc. --> gibt viel potential
mod44:
Spoiler: show

Code: Select all

@Info Created by: fusiontermite
@Info Checked by: 
@Info Version of Personality: 0.5
@Info Last Update: 2019.12.18
@NullResponse @RapidCodeOn
@Flag(dev_showscriptname) CR/Mod/SCRIPTNAME.txt
@Flag(dev_showscriptfunction) This module
@NullResponse @RapidCodeOn
@NullResponse @Goto(starttemp)

Did you slap them hard enough?


----------
START TEMP
----------

(starttemp)
@NullResponse @CheckStrokingState
(Sub Stroking)
#StopStroking @StopStroking
@NullResponse @Goto(resetflagsvars)
(Sub Not Stroking)
@NullResponse @Goto(resetflagsvars)



11:10 vorm. Capri: Are you sure you couldn't have hit harder?
11:10 vorm. SLAVE: Yes Mistress Capri
11:10 vorm. Capri: Good
11:10 vorm. Capri: Hit/Slap your balls 100 hard times!
11:11 vorm. Capri: Do you think that was hard enough?
11:11 vorm. Capri: Hmmm... What do you think?
11:11 vorm. SLAVE: Yes Mistress Capri
11:11 vorm. Capri: As hard as your balls deserve?
11:11 vorm. SLAVE: Yes Mistress Capri
11:11 vorm. Capri: Good
11:11 vorm. Capri: That's not good...
11:11 vorm. Capri: Do another 100!
11:11 vorm. SLAVE: done
11:12 vorm. SLAVE: fehler
11:12 vorm. SLAVE: Yes Mistress Capri



-------------------------
RESET FLAGS AND VARIABLES
-------------------------

(resetflagsvars)
@NullResponse @RapidCodeOn
@NullResponse @Goto(tieballs)


module ballbusting: after each slap or series of slaps: "Do you think that was hard enough?" if no: do it again or again twice



-------------
TIE OFF BALLS
-------------

(tieballs)
@Flag(stat_tieballs) I love how nicely you tied off your #b_balls for me
@Flag(stat_tieballs) @RT(We should make use of them,Let's make some good use of them) @Goto(tieballsend)
@NotFlag(stat_tieballs) @RT(Your #b_balls need to be tied off,I want your balls tied off), #SubName @Wait(10)
@NotFlag(stat_tieballs) @RT(Please tie them off for me,Tie them off for me right now!) @Wait(30)
@NotFlag(stat_tieballs) That looks nice *grin* @Wait(10) @SetFlag(stat_tieballs) @Goto(tieballsend)
(tieballsend)
@NullResponse @RapidCodeOn
@NullResponse @Goto(tease)




-----
TEASE
-----

(tease)
You know what's coming, don't you? @Timeout(15,cont)
[yes] Haha @Wait(10) @Goto(yes)
[no] @RT(Are you afraid? Haha,Afraid? I hope so) @Wait(10) @Goto(no)
@AcceptAnswer Something absolutely amazing! @Goto(cont)
(yes)
Then you must know that this is going to be painful @Wait(5)
Because you are about to endure @Wait(10) @Goto(cont)
(no)
Let me tell you what it is... @Wait(10)
(cont)
Some serious ballbusting! *evil grin* @Wait(20)
@NullResponse @Goto(hitballs)




@RT(Do you think that was hard enough?,Did you hit your #b_balls as hard as they deserve?) @Timeout(#Var[rule_respond_time], respond)
[yes] @NullResponse @Goto(hardenough)
[no] @NullResponse @Goto(nothardenough)

---------
HIT BALLS
---------

(hitballs)
Hit/Slap your #b_balls 100 hard times! @Wait(60)
(hitballsask)
@RT(Do you think that was hard enough?,Did you hit your #b_balls as hard as they deserve?)
[yes] @NullResponse @Goto(hardenough)
[no] @NullResponse @Goto(nothardenough)
@DifferentAnswer #phr_yesorno
(respond)
@NullResponse @Flag(rule_respond) @Goto(hitballsrespond)
Hmmm... What do you think?
[yes] @NullResponse @Goto(hardenough)
[no] @NullResponse @Goto(nothardenough)
[#sub_yes] @Goto(hardenough)
[#sub_no] @Goto(nothardenough)
@DifferentAnswer #phr_yesorno
(hitballsrespond)
@NullResponse @Flag(rule_respond) I don't want to wait for your answers, #PetName @Goto(hitballsask)


#rule_respond_ABC --> call script that tells sub that domme is angry, says: i will ask you again and then goto(beforequestion)

--> das Problem ist: was wenn rule nicht eingeführt worden ist.. (ist sprung direkt vor antwort ([]) möglich?)





(hardenough)
@NullResponse @RapidCodeOn
@NullResponse @Chance50(hardenough1)
@NullResponse @Goto(hardenough2,hardenough3,hardenough4)
(hardenough1)
Good @Goto(hardenoughdone)
(hardenough2)
Are you sure you couldn't have hit harder?
[yes] Good @Goto(hardenoughdone)
[no] Oh... @Goto(nothardenough)
@DifferentAnswer #phr_yesorno
(hardenough3)
Hard enough to properly worship me?
[yes] Good @Goto(hardenoughdone)
[no] @NullResponse @Goto(nothardenough)
@DifferentAnswer #phr_yesorno
(hardenough4)
As hard as @RT(they,your #b_balls) deserve?
[yes] Good  @Goto(hardenoughdone)
[no] @NullResponse @Goto(nothardenough)
@DifferentAnswer #phr_yesorno

(hardenoughdone)
@NullResponse @RapidCodeOn
@NullResponse @Chance50(end)
@NullResponse @Goto(hitballs)




(nothardenough)
That's not good... @Wait(10)
Do another 100! @Wait(60)
Hmmm... Poor #b_balls *grin*
@NullResponse @RapidCodeOn
@NullResponse @Chance25(end)
@NullResponse @Goto(hitballs)



hard enough to properly worship me?


too much, set liimit (count max nr of rounds)

09:52 vorm. Capri: Hit/Slap your blue balls 100 hard times!
09:53 vorm. SLAVE: too much, set liimit (count max nr of rounds)
09:53 vorm. Capri: Alright

---
END
---

(end)
@NullResponse @RapidCodeOn
@NullResponse @ChangeVar[mod63_runcount]=[mod63_runcount]+[1]
@End
:-D :-D :-D

Enjoy (if you dare try them) :lol: :lol:

not sure all of them work 100% correctly - just as a warning :\'-(

:wave:
fusiontermite
Explorer
Explorer
Posts: 91
Joined: Thu Feb 01, 2018 7:05 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by fusiontermite »

Just to be clear: I'm not sharing my modules because I expect ANYTHING in return; I'm just sharing it for the purpose of sharing. I wanted to share them anyway, but not with the many notes and ideas for improvement that I never implemented. Now, I just share the modules as they are. But again, NOT because I expect anything in return. If just one person (hopefully you, at least) can have some fun with them, then my work has not only helped me but others as well. That's all, it's not transactional :love:
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 863
Joined: Tue Nov 18, 2008 11:09 pm

Re: Tease Ai scripting: The HELP CORNER

Post by markus »

fusiontermite wrote: Thu Sep 11, 2025 11:18 pm Since I'm at it, let me share a few more:


Enjoy (if you dare try them) :lol: :lol:
Thanks for sharing, ... gave a quick look, ouch! :-O
I surely could use a few lines of them, and some of the ideas (if that's OK for you).

With those notes, looks quite the same as some of my own scripts. ;-)

not sure all of them work 100% correctly - just as a warning :\'-(
Some people sell not working shit on patreon, or stuff that's ridiculously bad, or things I wouldn't even call 'proof-of-concept'.

No problem when free stuff is not 100%, everyone in a community could help with feedback and bugreports, ... but we had this topic already. ;-)

I'm not sure most people like my scripts because, they too, are specific to what I like and to the toys that I have.
Who cares?!
Spicy-Java was highly depending on specific toys and was mostly build around their usage, without any of those toys, there wasn't much content left.
And what I've learned over the years, in order to keep motivation up and projects running, focus on what you like, on the long run it's impossible to create everybody's-darling.
Plus, we are best in creating stuff that we know about, that we like.

I actually had the intention to write a personality and have invested hundreds of hours in it with faaar too many partial unfinished scripts. I didn't communicate this publicly because it just raises expectations and then in the end you can't deliver.. (like quite a few people who announced their projects - no disrespect to them, it's just how life works). I don't think that I will ever write a personality at this point. What I might do is write a few scripts that I like and share them when finished, but also here, I don't want to promise anything.
A whole personality is a huge project, I would like to suggest to start little.
You could (just an idea/example) create a contact, content for that contact, it could be in the link file that domme says sometimes she has to leave, 'my friend take over for a while', make the domme leave, have the contact as the domme, that way you don't have to use those @ContactXY all the time.
And over the time, with more and more content she might 'grow' to enough for a own personality? (Again, just an idea).
Also, with such a system, such a contact could be integrated easily in existing personalities, like an 'AddOn'.
With the traditional TAI, the issue was that many things just didn't really work and I had to create "test.txt" scripts just to try how certain functions work and to find out what the issues were which was really frustrating.
The biggest issue with the traditional TAI is that it eats up script lines randomly (ignores script lines), even if your script is 100% correct, it might sometimes work, sometimes not.

The issue for me with TAI Awakening really was the interface in fullscreen that looked too different
Taste is different, and maybe I am too much of a technical guy, but for me 'fullscreen' means 'no borders for the window', some like it better this way, some not.
If it would be a thing of 15 minutes, I'd consider, but it would be a lot of work for an additional design or even much more for a customizable one, it would affect other features (image zoom or the image- and censor bars i.e.), lot of testing, ... no way, sorry.

Greetz, :wave:
Markus
pepsifreak
Explorer At Heart
Explorer At Heart
Posts: 145
Joined: Fri May 08, 2009 8:50 pm
Gender: Male
Sexual Orientation: Straight

Re: Tease Ai scripting: The HELP CORNER

Post by pepsifreak »

markus wrote: Tue Sep 09, 2025 7:32 am TAI is hopelessly outdated, don't beat the dead horse :whip: , let it rest in peace. :rip:
I don't wanna. That's why I've decompiled Fury and copied its changes back to fix bugs and other things. If you still have the source for 55.7.2b (or want to give the blessing to decompile it) I would love to pull that in as well. That would leave the 56.22 sweet patch update and the handful of Github changes that 1885 didn't sync before working on Fury to create a "definitive" OG version.
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 863
Joined: Tue Nov 18, 2008 11:09 pm

Re: Tease Ai scripting: The HELP CORNER

Post by markus »

pepsifreak wrote: Sat Sep 20, 2025 7:50 am If you still have the source for 55.7.2b (or want to give the blessing to decompile it) I would love to pull that in as well.
I have A version somewhere, (not sure, probably more somewhere else), folder name suggests it's not THE version.
Sorry, no motivation to check any further, in my eyes it's wasted time.
But, I remember there was a back and forth going on (IIRC openly), with some luck there might still be something in this forum somewhere, not sure what version that was.
Post Reply