[Tease AI] Unofficial Patch 55.5

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

Post Reply
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 641
Joined: Tue Nov 18, 2008 11:09 pm

[Tease AI] Unofficial Patch 55.5

Post by markus »

Hi everyone!

Edit: Patch 55.7.0 - Patch notes

This is an overview of those commands and additions which made it to the Fury-Patch.
It's not the complete patch notes from 55.7.0, that is because some of my additions are obsolete since we finally have the official TAI version which includes all the new bugfixes, improvments and additions in one place. :banana:
I just wanted to share the informations about the new commands and features which I made, might be of interest for scripters as well for the 'normal' user.


- Rebuilt metronome for @Metronome commands:
------------------------------
In my past patches the metronome I have used for all those @Metronome commands was not implemented very well,
... mea culpa, ... it could have 'stuttered'.
I have completly reworked that, now it should work at least as good as the original metronome from TAI.
It also respects a pause (when you open the options), let's say you have 20 strokes to do (using the @MetronomeLimit(X) command)
after 5 done you open options,... have the pause,... when you close the options, you still have 15 left to do.




- Rebuilt @PlayAudio[X]
------------------------------
Every audio file is played by a new instance of the windows media player.
So now you have 2 media players, the first (old/original) plays videos and gifs, but not the audio files anymore.
And the second (new one) plays audios only.
This has the effect that you can play a video (or gif) and at the same time an audio.
That is what was done in the sweet-patch with the @PlayAudioNoWait[X], but there was a possible conflict:
Audio file 1 @PlayAudioNoWait[tease\Tri\sound3.mp3]
Audio file 2 @PlayAudio[tease\Tri\sound2.mp3]
---> You would have end up with 2 files playing at the same time, and with some bad luck, it could have happened
that while both playing the stroke-taunts could start. I once had that situation.
Now you have only one media player that plays audios, it cannot happen anymore that 2 files playing at the same time.
Playing one sound stops the sound which was started before (if it's still running).
Another positive effect is that you can change the volume of a video without that it takes effect on the volume the soundfiles are played with.






- The display of .gif files:
------------------------------
Finally, the display of gifs should work perfectly now.
They are displayed streched to fit the screen, they should not stutter or freeze anymore.
Also that jumping back to a previous shown picture (gif), then again forth to the new one (do you know what I mean?)
should be gone for good.






- @DommeNameTemp(X)
------------------------------
I.e.:
@NullResponse @DommeNameTemp(Emma)
This changes ONLY the name of the domme, nothing else. -> This is important, ... you have to deal with the pictures are shown
on your own, ... means you would have to display a picture, lock it, let her type text... unlock it, show the next picture and so on.
That is made with 'Webtease to TAI' in mind.
There you can have the pictures of the webtease be shown all the time, ... here is an example of how it could look like:

@Stroking #StopStroking @StopStroking
(0001)
Well hello there my little strokepets. @ShowImage[wttai\Eat-it-4-Emma\start.jpg] @LockImages
@RapidCodeOn @NullResponse @UnlockImages
(0002)
As a Lady, I would normally introduce myself.@ShowImage[wttai\Eat-it-4-Emma\2.jpg] @LockImages
Bla bla...
@RapidCodeOn @NullResponse @UnlockImages


The pro on this is that you can deliver a script with a 'new' mistress, without that the user has to change any contacts or
other settings or such.
(In the past sometimes even the @SystemMessage command was 'misused' in some scripts to 'implement' a new mistress/contact,
this could be a better alternative to do that).

Adding the @NullResponse @DommeNameTemp(Emma) would make it look like that 'Emma' is the domme now.
(You will have a 'Emma is typing...' output as well).
The name of the original domme will be reseted when you use the '@DommeNameReset' command or when TAI is closing.




- @DommeNameReset
------------------------------
I.e.:
@NullResponse @DommeNameReset
Resets the original domme name when you have used @DommeNameTemp(X).




- @DommeAvatarTemp[X] and @DommeAvatarReset
------------------------------
X = A specific path, the base path is the TAI/Image-folder.
I.e.:
@DommeAvatarTemp[wttai\Eat-it-4-Emma\start.jpg]
It works like the @DommeNameTemp(X) and @DommeNameReset, just for the avatar picture.




- Two dommes in one picture
------------------------------
If you use picture sets showing 2 girls at once, now you can add a textfile to the picture set folder:
tai2dommesAtOnce.txt
TAI will check if that textfile is present in the current domme picture set folder,
if it is, it will set a tempflag named 'tai2dommesAtOnce', if not the flag will be deleted.
I.e.:
@Flag(tai2dommesAtOnce) @NullResponse @Chance30(SwitchTheDomme)
...
(SwitchTheDomme)
Hey Marsha, wanna take the keyboard for a while?
@NullResponse @DommeNameTemp(Marsha) @DommeAvatarTemp[rndAva\marsha02.jpg]






- Random number generator:
------------------------------
I have implemented a new random number generator which now will be re-initialise with a new GUID everytime it's used.
This should make the random numbers even more random.
If the min_value is bigger than max_value, TAI will not crash anymore, but you will get a message box
and the result is 5.




- Images loading from the Web (timeouts):
------------------------------
It sometimes happens to me that the timeout comes too soon, so I have raised the timeout values.
This is somewhat of a compromise, but I guess any timeout-value is one.
I.e. if your INet connection is totally down, then a higher timeout value means that you have to wait longer till an
error message appears and the script continues.
On the other hand, if your INet connection is just slow, you have now a much higher chance that the loading of that picture will succeed, even if it takes a while.




- Pause for metronome, videos and audios:
------------------------------
When you open the options, the standard metronome, my new metronome, and also a video (or audio) which is playing will go into pause,
continues when you close the options.




- Video files:
------------------------------
TAI will find also .mkv videofiles now.




- Focus on the Chat-Textbox:
------------------------------
When you close the options, now the focus will go back to the textbox where you type your chat text in.
So you don't have to click there once before you are able to type text again.
The cursor goes also back to the chat when using the buttons 'Hide/Show Media Panel' and 'Hide/Show Video Controls'.




- Script-Log:
------------------------------
It simply loggs the scripts which are running into the textfile 'scriptlog.txt', made that mostly for myself.
(I have 'merged' HoT and Miss Blue to one personality, this just helps to keep track of the script-flow.)
Will be saved only when TAI was closed (just to prevent unnecessary HDD-access).




- Video-Log:
------------------------------
This will log:
- The video paths of every video which was 'called'
- If the video has started at all
- And if the video height was 0.
In larger video collections you might find here and there a video which has problems to be played, maybe a strange video-codec was used or such.
This log simply helps to identify the videos which has problems to be played.




- #CurrentHour
------------------------------
I.e.:
@NullResponse @If[#CurrentHour]<[17]Then(tooEarly)




- Note down picture paths - PageDown-Key
------------------------------
When the focus is on the chatbox (the cursor is blinking there), you can press the PageDown-Key.
This will write the path of the picture which is shown to the textfile 'picsnoted.txt'.
I use this to track down pictures I would like to delete after the session.



Older patch notes, only the 'Bug in filter @DayOfWeek' is of interesst, you can forget about the other/older entries:





New Update to 55.5:

It is still based on patch 55.3, includes everything from Patch 55.3, 55.3b and 55.4
- Bug in filter @DayOfWeek:
------------------------------

There were 2 different problems with that command, the one day-off problem and the language problem.
Both should be fixed now. In example:

@DayOfWeek(Monday) Today is Monday

Will show that line if it's monday, doesn't matter what language your PC is set to.
If you would need to have days in your own language you would still need to ask the program for the english day, i.e. in german:

@DayOfWeek(Monday) Heute ist Montag

... see, you still have to 'ask' for the english day in the script but can output whatever you like.




Added commands:
----------------

@MetronomeUp(X)

@MetronomeDown(X)

This is made for loops, so that you can de- or increase the bpm of a running metronome by X

(all metronome bpm's are limited now to values between 1 and 360)




- Changed values for:
---------------------

@TnAFastSlides

That was original at 334 miliseconds, in patch 55.4 I changed it to 7000 ms, that was much too slow.
Now it's set at 1000 ms which is still some sort of compromise.
That feature for saying 'stop' while pics displayed fast on the screen would need to be reworked completly anyway.





- Useless additions :-)
---------------------

You could use:
@MetronomeRandom(30, 300) -> new
instead of
@MetronomeOn(#Random(30,300)) -> old
It's up to you what you prefer, it would do exactly the same.

You could write a response file with a @DebugSkipModule command, please keep in mind that is for testing only, it could lead to side-effects.
It does the same as a module (and only a module, not a link file or such) reach a @End.


Download at the end of this post.






Older Patch notes (55.4):
----------------------------------


What I made here is based on the source code from patch 55.3 which I got from here:
https://github.com/TeaseAI/Tease-AI/releases

My focus was on adding 2 new features, so with this version you have the independend metronome and a webcam support.


If you need a full overview of what has happend, what changes are done and so on, please look up the release notes of the last official release of Tease AI and the release thread of patch 55.3 which can be found here:

Tease AI Download - Current Build 0.54.9
viewtopic.php?f=26&t=19518

UNOFFICIAL TeaseAI Patch55.3 [New Release]
viewtopic.php?f=26&t=20047


You still have to download and install the official version 0.54.9 first, then you can download and install this version, you don't have to install version 55.3.

I will send the source code of this patch to Daragorn and Stefaf, if anyone else need it, just drop me a line.

Patch 55.4 - Release notes

- Includes everything from Patch 55.3 and 55.3b

- Changed values for:
---------------------

Command / old value in miliseconds / new value in miliseconds

@TnAFastSlides / 334 / 7000
@TnASlides / 1000 / 10000
@TnASlowSlides/ 5000 / 13000
@Slideshow(slow) / 5000 / 12000
@Slideshow(fast) / 500 / 5000


Added commands:
----------------

+ @MetronomeOn(X)
X stands for bpm, i.e.: @MetronomeOn(120)
This metronome is independent, that command does nothing more than to start the metronome, it will not lead to stroke taunts etc.
Avoid to use @StartStroking together with @MetronomeOn(X), that would lead to 2 metronomes playing at the same time.

+ @MetronomeLimit(Y)
Y is the limit, i.e.: @MetronomeLimit(10) means from that point on the metronome plays 10 times and then stops.

+ @MetronomeOff
This command or @MetronomeLimit(Y) is always needed to stop the metronome, if you forget to use one of them, the metronome will run forever.

+ @WebcamVideo
Shows what the webcam sees in a new window, if you have 2 monitors the new window will be displayed on the second monitor.
There is no connecting to the internet or such, all happens local on your computer.
This feature makes most sense to use for testing if the users webcam works correctly and to adjust the webcam picture.
Don't use it together with @CamSnapFolder or @CamSnapFile, if you want to take a snapshot you would have to close the webcam video window before doing so.

+ @WebcamClose
Close the webcam window.

+ @CamSnapFolder[XXX\YYY\ZZZ]
i.e: @CamSnapFolder[myPersonalityName\camshots\kneeling]
This starts a timer of 10 seconds, this is needed because depending on the different hardware (webcam) it can take a while till a webcam is ready to take pictures.
Once the 10 seconds are over it take a snapshot and saves it to the folder-path specified with [XXX\YYY\ZZZ].
The Images folder of Tease AI is always the base folder, i.e. you have TeaseAI.exe in C:\tai\hot5\TeaseAI.exe then it would be saved in C:\tai\hot5\Images\myPersonalityName\camshots\kneeling\
Non existing folders will be created automatically, also the filename will be created automatically, i.e. Webcamshot_2018_01_17___9_10_56.jpg
So, with @CamSnapFolder pictures will always have a unique name, so they will never be overwritten, the disadvantage is that you could display them only with @ShowImage[myPersonalityName\camshots\kneeling\*.jpg]

+ @CamSnapFile[XXX\YYY\ZZZ\example.jpg]
i.e: @CamSnapFile[myPersonalityName\camshots\toys\mytoy01.jpg]
The same as @CamSnapFolder[XXX\YYY\ZZZ] but you have a specific name for the picture.
Advantage: You can display that specific named picture with @ShowImage[myPersonalityName\camshots\toys\mytoy01.jpg]
Disadvantage: Every time the script with that command in it runs, it will always overwrite the last saved picture with the same name.


For all webcam features:
In case your webcam is working correctly outside of Tease AI but it doesn't work inside, then a possible reason could be that you have more than one video capture devices connected to your computer.
Even then the webcam should be the device with the number 0, but well, ... who knows.
So for that case and that case only there is a file called 'videosource.xml', you can open it up with a simple text-editor and change the number in the line <videosource>0</videosource> to 1, 2, 3 ...

To the Scripters:
Please make always sure the webcam is ready when you use the new webcam features, i.e. asking the user if it's connected, try a @WebcamVideo and ask the user if all is ready ... see also the example script.

A little demonstration script
Spoiler: show
@StopStroking Patch 55.4
Demonstration script
#SubName, Give me 20 very slow strokes @MetronomeOn(30) @MetronomeLimit(20)
I will wait till you are done @Wait(40)
@SystemMessage Easy to calculate the waiting: 1 stroke is 2 seconds per stroke, multiplied with the limit of 20 strokes makes a wait value of 40
Now start stroking @MetronomeOn(80)
Looks nice @ShowImage
Looks also nice @ShowImage
Even better! @ShowImage @MetronomeOn(120)
You have so many pictures ... @ShowImage
Hands off @MetronomeOff
@SystemMessage You can also give a limit to an already running metronome.
Start now @MetronomeOn(60)
Keep on going
Don't stop
Faster @MetronomeOn(120)
Keep going
@MetronomeLimit(20) Ok, 20 more strokes till you are done... @Wait(12)
You've made it.
Do you have a webcam ready?
[yes] Ok, let's check this @Goto(webcam)
[no] Well, then you should consider to get one I guess @Goto(endofdemo)
@DifferentAnswer Yes or no #PetName?
(webcam)
Make sure I have a good sight on you @WebcamVideo
Tell me when you are done adjusting the cam
[done] Ok.
@DifferentAnswer tell me when you are done!
@NullResponse @WebcamClose
Good.
Go down to your knees. @Wait(10)
You should be on your knees now. Keep holding that position untill I tell you otherwise! @CamSnapFolder[taisnaptest\camshots\kneeling] @Wait(10)
@SystemMessage I would recommend a wait command for 10 seconds to be sure the snapshot is taken
That secred crush of yours ...
what if she would see you like this, mhhh?! @ShowImage[taisnaptest\camshots\kneeling\*.jpg]
Ok, stand up and fetch me your favorite toy.
Tell me when you have it
[have] Ok.
@DifferentAnswer tell me when you have it!
Now show it into the cam and hold stil till I tell you otherwise. @CamSnapFile[taisnaptest\camshots\favtoy\toy01.jpg] @Wait(10)
Mhhh, I guess we can make good use of that. @ShowImage[taisnaptest\camshots\favtoy\toy01.jpg]
Ok, thats enough. @Goto(endofdemo)
(endofdemo)
........ End of demo-script ..........
@End

Download patch 55.5

https://mega.nz/#!zI52CBzT!R06cy7hRHnyc ... twRRLgzq4I



For the developers out there, the source code (project):
Spoiler: show
https://mega.nz/#!nAYFRYjT!2ybfuMDu4L2R ... iG2vuFWv4E
Last edited by markus on Fri Feb 14, 2020 8:11 pm, edited 2 times in total.
holaba_be
Explorer
Explorer
Posts: 98
Joined: Thu Feb 16, 2017 5:53 pm

Re: [Tease AI] Unofficial Patch 55.4

Post by holaba_be »

Nice work!
I could still see the @WebcamVideo command be used during teasing. Like showing the slave doing something humiliating with some extra insults by the Domme, having him make specific faces towards the cam ("make your cum/porn/denied face!", making him look at his ass being fucked, having him masturbate/edge/cum while looking at himself instead of the Domme
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 641
Joined: Tue Nov 18, 2008 11:09 pm

Re: [Tease AI] Unofficial Patch 55.4

Post by markus »

holaba_be wrote: Fri Jan 19, 2018 6:43 pm Nice work!
THX! :-)
I could still see the @WebcamVideo command be used during teasing. Like showing the slave doing something humiliating with some extra insults by the Domme, having him make specific faces towards the cam ("make your cum/porn/denied face!", making him look at his ass being fucked, having him masturbate/edge/cum while looking at himself instead of the Domme
Sure, it depends of what the script-writer does with those commands,... I guess as long as the user don't have to type anything in the chat, that webcam - window is the top window and could be used for displaying the sub (maybe in humiliating ways or such).
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 641
Joined: Tue Nov 18, 2008 11:09 pm

Re: [Tease AI] Unofficial Patch 55.5

Post by markus »

Hi everyone!

I've posted an update to 55.5, see first post.

I had some more plans for it, but well, it seems in the near future my free time will be reduced and I have to focus on other things (sadly), ... I will not leave here or such completly, ... but I just will not have the time to work on TAI anymore anytime soon.
You still could give feedback or suggestions, ... it's simply not sure that I will find the time to work on these.

Since I kinda stop working on it right now I also have put the source code in the first post, so every willing developer could take this as a base for further development.

Dear scriptwriters:
Please keep on going,... TAI in the combination with such well written teases and personalities is such an addictive, impressive and mind blowing experience! ... TAI would be nothing without the content written by you guys! :thumbsup:

Best greetings,
markus

:wave:
User avatar
tigrotto
Explorer At Heart
Explorer At Heart
Posts: 547
Joined: Sat Jul 15, 2017 5:13 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: [Tease AI] Unofficial Patch 55.5

Post by tigrotto »

Thanks markus! :happy2:
I've just tested your patch with my latest script and I'm really happy that now everthing work as it should. Thank you very much!

I hope you come back soon!
Bye! :wave:
Harry2stroke
Explorer
Explorer
Posts: 53
Joined: Wed Nov 16, 2011 6:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: [Tease AI] Unofficial Patch 55.5

Post by Harry2stroke »

Hey guys

Is there any command for Random Glitter ?
Something like #RandomGlitter(Contact1, Contact2, Contact3) or something similar ?
To choose the glitters randomly

Thanks
khorne
Explorer
Explorer
Posts: 44
Joined: Fri Feb 01, 2013 9:12 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive
Location: UK

Re: [Tease AI] Unofficial Patch 55.5

Post by khorne »

thanks for continuing the development!
swit69
Explorer
Explorer
Posts: 83
Joined: Sun Sep 02, 2018 2:30 pm
Gender: Male
Dom/me(s): Looking for my domme

Re: [Tease AI] Unofficial Patch 55.5

Post by swit69 »

Is it possible to retrieve the source code of the patch 55.5 ?

I've worked a bit on the source code of 56.0 (from here : https://github.com/TeaseAI )

But it seems 56.0 does not provide features from 55.5 and 55.5 code is not available.

Can you help me some way ?
Sweet Patch : new features for TeaseAI
Sweet Scripts : scripts using new features from Sweet Patch for Miss Blue and Wicked Tease personnalities
Post Reply

Who is online

Users browsing this forum: bethississy, YeonjiMoon and 27 guests