A lot of work put in today towards stability and getting to bugs as I can. Some of these bigger issues will hopefully solve some smaller and seemingly tangential bugs, but if you keep having issues please keep letting me know
Patch 39
https://mega.co.nz/#!WJMHUBBQ!fdwUFoi1o ... XfYSIDnak4
Patch Notes:
Fixed bug that was causing OutOfRange exceptions when showing blog images. I think I may have finally gotten to the bottom of this one. There was a bit of code that was supposed to check the number of URL Files you have, then for each one it checked to see if it was selected and removed it from the URL File pool if it wasn't. But instead of comparing to the number of URL Files you had, I had the wrong thing in the code and it was comparing to the number of URL Files in the pool. This wouldn't have affected you if you had all URL Files selected, but if you only had some, then it could decrease the number of URL Files in the pool to check without decreasing the number of checks it tried to make, causing the out of range errors. Please let me know if it works smoother now, as this issue has been lingering quite a while
Tracked down yet another bug that was causing the program to Not Responding at times, and this one was actually fairly major involving processes that jumped around in the script without using the @Goto Command, such as the Writing Task function. This is probably responsible for a vast majority of the issues that caused the program to stop responding and the program should be even more stable after this patch in that regard. Please let me know if previously broken features that required line-skipping (like WritingTask and Bookmarks) are working correctly now
IMPORTANT: There is a typo in the Command Guide example for @WritingTask. A WritingTask script needs the line (Failed Writing Task) as indicated by the Command's definition,
NOT (Writing Task Failed) as indicated by the script example provided. If you're getting errors upon failing, please make sure the correct line is being used in the script (Failed Writing Task). I apologize for the error. There are a few such errors in the Command Guide, and they need to be corrected. Please bear with me on that front
Enhanced the Writing Task function of Tease AI. Window has been rearranged for a better appearance and more room for longer Writing Task lines. Also fixed a bug where Keywords did not get processed correctly for Writing Tasks
Fixed bug where asking to stop stroking didn't allow the program to recognize when you had been given permission to stop and were no longer stroking
Fixed bug that prevented @SelfYoung and @SelfOld Command Filters from being used properly
Added Double-Time option to metronome, allowing you to increase the overall tempo of the metronome by a multitude of two
Added new Commands:
@TempFlag() - Works just like @SetFlag() (ie, @TempFlag(FlagName)), but TempFlags will only be valid until you exit the program. @CheckFlag will pick up any TempFlag that has been set (as well as normal Flags of course)
@DeleteFlag() - Searches for the flag named in parentheses and deletes it from Flags and/or TempFlags if it exists (for example, @DeleteFlag(FlagName))
Added new Command Filter:
@Flag() - Only includes this line in List-type scripts if the Flag named in parentheses exists as a Flag or TempFlag (for example, @Flag(Ballbusted_Today) I hope those #Balls are feeling okay after that beating they took earlier #Grin)
Barring any corrections that need to be made for this patch (two steps forward and one step back, always), the build should be getting more and more stable. My main focus going forward now is
- Getting any lingering image issues under control (including GDI errors and problems revolving around the Domme Images Directory)
- Getting System Keywords implemented into the @ChangeVar/@SetVar/@ShowVar/@If Commands
- Finishing updated System Keywords and creating a guide for them
- Fixing errors in the current Command and Keyword Command Guides
If there are any other lingering issues that you consider critical that I haven't listed above or single out in my replies below, please let me know
png wrote:Sadly the bugs for the writing lines and bookmarkModule are still there
Please tell me if they're still there after this patch
png wrote:And a new one : @Info lines are not ignored. I wanted to put my comments at the top of the file but the dom said the comment
Currently they're just ignored in List type scripts, but I can possibly add that in for Linear scripts as well
png wrote:For the metronome I was thinking of creating a "classical" stroke at the rythm module. Things like give me 100 strokes at 180bpm :)
I may enhance the metronome more in the future, I'll add some more control over it if I do
png wrote:And for the @SelfYoung it was a mistake in the post, none of them are showing from your vocabulary files
Should work with this patch now, thanks for catching it
png wrote:After talking with Mat in the custom script thread I m trying to see if I can make my files that relies on chastity work for people who don't have a device but I fear that might be too complex to work. Did you have any idea about that I might have missed ?
The new Commands with this patch might give you a few more options in that regard, I'll also try to add a ChastityCheck routine as soon as I can
Vinc wrote:Hey 1885.
Could you add the stroking bpm to the ranges windows. I dont get hard on these 60-90 bpm stroking so it would be nice to set my minimum to like 120 and my maximum too 300 or 400 bpm. This might be to fast for others so they could arrange it 40 - max 200 or something.
I think you know what I mean.
Thanks!

I'll probably get around to enhancing the metronome at some point. In the meantime I've added the option to put the metronome on double time, which should help a little
Vinc wrote:Another thing came into my mind. I played it 10 times or more now but never played a CH round. Maybe you could split it into long Ch and short CH where long ones are whole videos and short CH rounds are only rounds (5-10 minutes) out of the CH videos. Of course with seperate folders and not program based. ( much easier for you i think)
I don't have a script that runs CH videos. You can look at the PlayJOI Module and adapt a new one pretty easily though, just replace @PlayJOIVideo with @PlayCHVideo. As far as the other suggestions, I'll have to look at that when I set about enhancing the video features
png wrote:And since I'm at it having temporary variables in addition to persistent would be nice because, in that case, I don't care about the value of those I use once the script is done. And it still store it in a file forcing me to use discriminating names

TempFlags are implemented with this patch, and getting System Keywords recognized by various Commands is a priority now
pokopikos wrote:I encountered this issue a few patches back. Not sure if it's been there since Patch 1 or if it came up later but it persists even with Patch 37. Asking the domme to stop stroking, even if she does allow you to stop, doesn't "register". The metronome keeps going and by asking to start stroking again she says I was already supposed to be stroking.
Should be fixed with this patch
marspank wrote:Still errors with writing lines assignments, the box still doesn't resize and you still get an index out of bounds error when you make the final mistake.
Between the code changes and manually correcting for (Failed Writing Task), this should be fixed as of this patch
pissy-boy wrote:Hmm. I'll try it, but I've not installed a new anti-virus system and the program was working fine before. Have no idea why it would flag it now.
Have you also checked your firewall? And are any versions of Tease AI in your AV's quarantine chest (or similar)? Your AV probably looks at each iteration of Tease AI as a new file, so it can act stupid on one version even when it does right by the previous 30 or so. But if something is actively deleting your files it has to be either your AV or your firewall, have you extensively checked both of those?
Mat wrote:I meant that when they ask whether you like an image, there isn't a way to have the image not added to one of the files, there are a lot of images that I don't like but don't dislike either, so often when they try to show a disliked image it shows one that I'm not that bothered about either way, to avoid this I thought you could either add an "unsure" option or add an extra folder for images that the user specifically doesn't like..
If you're talking about my LookAtPictures Module, you can say things like "unsure" or "maybe" or "it's alright" and she'll move on without flagging it either way. In any other script, it would just be up to the scripter to include the multiple choice branch
png wrote:New feature requests :
- a @DelFlag to remove a flag and @CheckRandomFlag that goes to a random flag in the list instead of the last one. In the last version of the stroke or chastity remix I did I have 3 states : "i have a cage", "I'm going to buy a cage" and "I don't have a cage" depending on the stage the script tries to make the sub moves to the next one in that order no cage -> buying -> has a cage. To complement it I wanted to make a start script that keep track to what the sub promised to buy/do for his dom but without the ability to remove and go to a random flag in a list it's just too troublesome
Added in this patch
png wrote:- Changing the @GotoDomApathy (and probably all the tags done on the same model) so it can take an optional parameter corresponding to a prefix and be hable to do something like that :
I'll look into refining this system to make it less cumbersome
q55x8x wrote:Actually this is possible and imo extremly easy if you find out how. The trick is done by something called a generic BinarySerializer. This little class contains about 50 lines and can Serialize every object you mark as Serializable (by simply just putting a [Serializeable] above its constructor). Serialization means it takes the object and stores all its values in its original data type within the file you Serialize it in. So you could simply create your own (as I always done it) singleton settings manager class with all settings publicly accesible write and read all settings from there and save the settings by simply serializing that class into a file. And load settings by deSerializing that file and you direcly have your previous serialized instance of your settings.
Thanks for the info here. I'll look into this stuff when I've taken care of the critical stuff
teasinot wrote:Not sure why, but after installing the latest update, and upon opening the program, it shows an 'Arithmetic operation resulted in an overflow' error. And it wont keep the settings saved after I change them and close the program and reopen it.
If it still does it after this patch, can you post or pm me the crash report?
chris100 wrote:Firstly cracking program with full marks and top dog award going to 1885 !!!!
I get this error after many of the "start" script have ended, any help would be great
I believe the problem causing this has been fixed in this patch, can you try it out and let me know? And if not, please send me another crash report as it will look a little different with the new patch
png wrote:And it works fine but is a bit verbose
So just now I tried :
The script parser doesn't support two of the same Command on the same line. I may refine the @Chance Command for multiple paths, but at the moment I use the verbose method for that
png wrote:One thing I will need soon is a flag filter in the list files (stroke, chastity, cbt, edge, etc.)
Flag filters have been added in this patch
png wrote:And that bring me to another request/question : is it possible to have multiple lines taunt on the cbt and edging files like on the stroking/chastity ones ? if not that would be nice to have more playful dom and cut the previous exemple in 2 lines
It would be kind of tricky but I know it could be done. I'll put it in the suggestion pile, but I don't think I could get to it soon
dukiesnud wrote:Almost every time I can remember, I have opened the program, positioned the windows, opened the metronome, and started the conversation. Then when stroking starts, I get an error:
The program creates a little file called "Metronome" in the System directory any time the domme tells you to start stroking. It has the stroking interval inside of it as a value, and the metronome program reads it and reacts accordingly. Somewhere in your system, something is using that file when the metronome is trying to access it. The metronome is a separate process, can you open your task manager and verify that you don't have any Tease AI Metronome.exe files running? And then if you do, close them out and try running the program again. If you don't, the key is going to be figuring out what has a hold of the file. The metronome accesses it once through a filereader and then disposes the filereader immediately, so I don't think it's that. Let me know if you had other metronome processes going, and if not we'll take it from there to see what's going on
Mat wrote:Another bug,
when you right click and click copy image location it copies the domme image location and not the image being shown,
also the right click options are greyed out on a few images
It should be greyed out on Local Images, I'll look into domme image location thing because it hasn't done that to me. It may be an occasioanl situation where the wires get crossed. I'll get to the bottom of it