- sweet patch Tease AI v2.png (90.92 KiB) Viewed 42923 times
It's based on the version 56.0 available on GitHub (thanks much to 1885 for letting code available and thanks to all the helpers)
Tease AI is a teasing software. You can find information about it there with many ressources to make it work well.
Installation instructions :
Install the last stable version from there (54.9), then click here to download the sweet patch zip (56.3) and unzip it in the root directory of Tease AI.
New features included in the 56.3.0 version of the sweet patch (2026-01)
- Spoiler: show
- ___________________________________________________
New Commands
- @MergeImage[girl1.jpg,girl2.jpg,,girl3.jpg.girl4.jpg] : generate a picture with merging those specified and show the result (min : 2 pictures,max : 5 pictures, the third one is merging into the center of the result to provide details about the context)- @MergeImageNoCut[girl1.jpg,girl2.jpg,storm.jpg] : same as @MergeImage but do not crop the pictures to make them have the same width (result can be slightly different from @MergeImage)Code: Select all
Today, I’m gonna call many girls to get you crazy Here they are ! @MergeImage[girl1.jpg,girl2.jpg,,girl3.jpg.girl4.jpg]
- @CheckStrokesCount(50,strokes done):
TeaseAI will count your strokes until it reachs the total specified then the script goes to the flag specified (like @CheckFlag)- @TauntEdge(xxx) - to be used with @Edge commandCode: Select all
I want you to do 30 strokes now #PetName @MetronomeOn(#StrokePace) (Loop) @NullResponse @Wait(1) @NullResponse @CheckStrokesCount(30,strokes done) @NullResponse @Goto(Loop) (Strokes done) #StopStroking @StopStroking Good boy, you’ve just done #StrokesCount strokes
You can trigger others text files for the taunts during the edging or holding parts (xxx is the suffix used)“[Personnality]/Stroke/Edge/EdgeVideo.txt” instead of Edge.txtCode: Select all
#Edge @Edge @TauntEdge(Video) @Info TauntEdge is triggered here to use taunts that start playing movies randomly
“[Personnality]/Stroke/HoldTheEdge/HoldTheEdgeVideo.txt” instead of HoldTheEdge.txt
Optionnal : @TauntEdge will use specific vocabulary files if exist :
#HoldTheEdgeXXX (instead of #HoldTheEdge)
#SYS_MultipleEdgesStart (instead of #SYS_MultipleEdgesStart)
#CumForMeXXX (instead of #CumForMe)
- @LikeBlogImageRemove : if the current image is a liked one, it removes the image of the liked pictures list
- @DislikeBlogImageRemove : same but for disliked pictures
- @PauseVideo and @UnpauseVideo : commands that can be used to pause or unpause the video that is currently playing (started with @PlayVideoNoWait in previous lines)
- @CheckPlayVideo(XXX) : command that check if a video is currently playing or not : if not , the script goes to XXX flag______________________________________________________Code: Select all
Watch this and start stroking #PetName @MetronomeOn(#StrokePace) @PlayVideoNoWait (Loop) @NullResponse @Wait(1) @NullResponse @CheckPlayVideo(Video Ended) @NullResponse @Goto(Loop) (Video Ended) #StopStroking @StopStroking Too bad, the movie is already ended I hope you have enjoyed yourself #Grin
Updated Commands
- @ShowImage can be used now to show a picture among some with a specific pattern (optional : in a specific directory)- @PlayVideoNoWait and @PlayVideo can be used as well to play a video with a specific patternCode: Select all
@ShowImage[*,C:\RandomPics\,*nurse*] @Info this command will show any picture from the randompics directory with “nurse” in the filename- @Slideshow(softcore,very slow) : “very slow” parameter added , can replace “fast” or “slow” (as you can guess, slideshow will go forward very slowly with this parameter)Code: Select all
@PlayVideoNoWait(*Sasha*) @Info it’s going to play a video named with the word “sasha”
- @MoodUpXX , @MoodDownXX : just like @FollowUp, you can specify a XX chance to be triggered for the command that changes the domme's mood (can be used to add some random behaviour)
- @MetronomeOn(#StrokePace) : @MetronomeOn can be used now with using the normal pace defined in the software thanks to #StrokePace (NB : @MetronomeOn is also starting the strokes counting used for the new @CheckStrokesCount command)
New features included since 56.2.0 version of the sweet patch (2019-08) :
- Spoiler: show
-
- New feature "Automatic Domme Profil Picture" available in Settings
If checked, the profil picture will be automatically randomly picked up from the current set of the domme.
NB1 : if there is pictures which name start by "avatar" in the domme directory, the domme picture will be randomly picked between them instead of a picture from the current set
NB2 : if there is pictures which name start by "glitter" in the domme directory, the domme picture for glitter will be randomly picked between them instead of a picture from the current set
If unchecked, the profil picture you have set won't change anymore (unless if the domme is a random domme)
- New feature "Always start with Random Glitter" : if checked, your glitter contacts will be selected randomly between domme available in the random domme directory. You must have at least 4 domme available to check this option (if not, the option will be unavailable).
- New feature "Set Domme Random Images Directory" : you can set this directory to allow the domme show you random pictures of her. This can be used with the function @ShowDomRandomImage
- New functions @DomTagFirst and @ImageTagFirst : these functions will show images with the first tag at least, then try to find the others tags if existI've made some good photos these holidays slave
Look at that @ShowDomRandomImage @LockImages
Do you think I'm sexy on this picture ?
Whatever ...
Because now...
#Edge @Edge
I bet you find me sexy now lol @UnlockImages
- Fix problem with specials text tags for domme pictures : #TagGarment , #TagUnderwear, #TagTatoo, #TagSexToy, #TagFurniture will be correctly replaced by the text set in tags when usedHi slave
@DomTagFirst(Face,CloseUp) Come close to my face, right now
This will try to show a tagged picture of domme with Face and CloseUp tags but it will show a Face tagged picture even there is not any CloseUp tag set@DomTag(Boobs,GarmentCovering) I guess you'd love I remove this #TagGarment for you slave
- Fix function @SetDomme for scripts : this function won't reload anymore a new domme slideshow each time is used (problem that occurs with tigrotto script "Edge for us")
- Spoiler: show
-
- Major fix for pictures loading freezing : when TeaseAI is trying to show a picture that doesn't exist anymore (or moved), TeaseAI won't freeze anymore => it will now show another picture as soon as possible. The error "Timeout while waiting for the Backgroundworker to Finish" will be much more rarer now.
- Improved gif rendering : until now, TeaseAI resized gifs to fit the window. Gifs then were often too big so TeaseAI stopped the animation to prevent the software freezing. With the patch, gifs won't resized to fit entirely the window. They are now just upscaled a bit but reasonably, so the animation will now keep going (it's ok for me)
- New function @PlayVideoNoWait : major feature
. With that function in a script, TeaseAI will play a video but it will keep going through the script without waiting the end of the video. Very interesting to make the domme play with the sub during the video. That function can be used the same way as @PlayVideo
Example :
- New function @StopVideo : since there is now a function to play video with script going forward , we need a function to stop a video which is currently playing if needed in the script. @StopVideo does it .I want you to get horny for me #PetName @PlayVideoNoWait(softcore)
@Wait(10)
Do you like that ?
Maybe we can stop it now... or not...
@Wait(20)
Are you getting aroused now ?
I think so :)
Example :
- New Function @PlayAudioNoWait : another major feature => same function as PlayVideoNoWait but with audio (it's smartI think you've seen enough of that hottie #PetName @StopVideo
). the difference is that the function uses another new media player so you can play audio files during a video called by @PlayVideoNoWait in the same time ! It could be very useful to make the domme taunt the sub during a video.
- New Function @CheckPlayVideo : if @PlayVideoNoWait is used, sometimes you need to know during the script if the video keeps playing or not. When you called this function, if the video is ended, the script goes to the Goto tag (Video Ended) you must have inserted in the script. If not ended, the scripts keeps going normally
- fix for @PlayVideo : the function can call now JOI and CH videos genre . It works for @PlayVideoNoWait too.
- New features for @JumpVideo :
1) You can specify a percent jump instead of random jump used by TeaseAI. Example :
2) You can use @JumpVideo alone in line. If a video is currenlty playing, it will do a jump. If not, nothing happens. Usefull if you call @PlayVideoNoWait or in a taunt file during a game. Example :This video is going to tease you a bit #PetName... @PlayVideo(softcore,30) @JumpVideo(10)
Omg that's escalated quickly @PlayVideo(hardcore,30) @JumpVideo(80)
- New functions @JumpVideoUp and @JumpVideoDown : you can use these function if you've called @PlayVideoNoWait before. It will go forward (if @JumpVideoUp) or backward (if @JumpVideoDown) in the clip currently playing depending on the number put between parenthesis (number = % length). Example :Let's look at some movie together #SubName @PlayVideoNoWait
It's too slow... I want some action @JumpVideo(60)
- features added for games @PlayRedLightGreenLight and @PlayAvoidTheEdge => it is possible to give a genre and a duration with parenthesis like @PlayVideo . Very usefull if there are long videos in the library. Nobody wants to play avoid the edge during 5 hoursI've a clip for you #PetName @PlayVideoNoWait(hardcore) @JumpVideo
I bet you like it #Grin @Wait(20)
Well you seem to love this action much, let's see it again lol @JumpVideoDown(10)
(... do they ?). Example :
- added feature for @Contact function in Glitter parts : you can use parenthesis to make TeaseAI pick a random contact between several contacts who are there in the chat . Example :I have a call, wait.
Just play avoid the edge until I come back @PlayAvoidTheEdge(femdom,400)
Ok call ended, let's take care of you again #PetName #Grin
- added feature for @LockImages : if used, new images can't be shown until @UnlockImage is called. Now, same for videos, they can't be played anymore.Do you want to play with #SubName girls ?
@Contact1 oh yes !
@Contact2 me too !
@Contact3 of course... can I begin ?
As you wish #Contact3
@Contact(1,2) Why does #Contact3 start alone ? we want to play now too !
- new function @Force : although @LockImages is used, you may need to force a video to play or a image to be displayed once without using @UnlockImages. @Force allows it. @LockImages will still apply for next lines of the script
- feature added for @CheckVideo : it can be used now for checking video by genre. Depending if you have the video or not, @CheckVideo will do a Goto to ([Video Genre] Videos Found) if you have the genre being checked or to (No [Video Genre] Videos Found) if you haven't. Example :
- added @MetronomeOn,@MetronomeUp,@MetronomeDown,@MetronomeOff functions from unofficial patch 55.5 :Have you some hardcore movies #PetName ? @CheckVideo(hardcore)
(HARDCORE Videos Found)
Nice we will have some fun !
(No HARDCORE Videos Found)
Too bad...
@MetronomeOn(x) where x is the pace you want to use
You can use the number you want for x but just to give an indication , note that :
x = 50 , slow pace
x = 100 , medium pace
x = 150 , fast pace
A tip : use the #Random to define a random pace for your metronome. Example : @MetronomeOn(#Random(50,100)) which selects randomly a speed between 50 and 100
It works like @StartStroking except it doesn't launch a random stroking session. You can keep going with the text you want in the script.
You can even change the pace as you want with derivated functions :
@MetronomeUp(x) where x means how fast you want to accelerate the pace
@MetronomeDown(x) where x menas how slow you want to deccelerate the pace
@MetronomeOff which stops the metronome
Example :Time to go back to stroking #PetName @MetronomeOn(60)
Nice, I enjoy when you obey my command and follow the pace I give you
But you are too slow... go faster @MetronomeUp(40)
It's better now
Well stop it, I want you to be frustrated @MetronomeOff
Here is a page showing some scripts using Sweet Patch : check it here


