[Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

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
markus
Explorer At Heart
Explorer At Heart
Posts: 863
Joined: Tue Nov 18, 2008 11:09 pm

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by markus »

Hi again!
GodDragon wrote: Tue Aug 24, 2021 9:45 pm Well I hope you have an enjoyable experience :-D May she be as cruel with you as she is with me :whistle:
It was an interesting eve, thx a lot! But I'll have to do the intro once more / start from beginning,... I guess I was too careful at those points where I can choose how she should be. ;-)
I hope I haven't pushed anything to the repo that requires the newest TAJ changes. But well, I can just give you the newest jar for now.
I added the newest private build as an attachement so nothing breaks for you.
Works fine, thx again!

So, here is some feedback...

Not important, but I've noticed it, could be improved, but it wouldn't matter if not (very low priority):

- When pause, the 'domme is typing' timer doesn't stop, as well as the metronome (if that is timer-based which I don't know).
- A nice-to-have would also be a label in the size of the picturebox (sorry, i use .Net-Terms because that's what I know), black label with white text 'Paused' when it's paused, label visible when paused, label not visible when not paused,... quite simple :-D
- While the taunt circle I would prefer the old metronome sound from TAI, ... other metro soundfiles are fine in modules, that brings more variety (if it helps: I've once written a .Net Lib called 'metro', that plays that sound (could also easly adjusted to any other soundfile), it runs async,... just drop me a line if you would like to have the whole project or just the code of the class).
- Genre-Pictures: I saw for a very little moment, that the domme-picture switched to the next picture and then the genre picture showed up, I guess there are like 1000 ways to solve this
- Maybe a chat-log with the @-function in it would be nice so when ever I have an idea popping up I could just easily enter it, with the regarding infos (script and line of script)

A bit more important IMHO:
Focus on the chat textbox... It was in the end when she told me to remove things and that I should tell her when I'm done, before that I've used the edge-button,... so what happend was that I didn't realized that the focus was still on the button,... I've typed 'done' without looking at the chat textbox, hit enter, and the edge button was 'pressed' again because I hit the enter key.
Also in the session this happened that I've typed something and then I saw, ah,... ok,... focus not on the chat textbox, *click there*, type again.
So my suggestion: Putting the focus on the chat-textbox after every buton click (btw. also at the start, I wanted to greet her, but the focus was on the domme-name, ... so the next thing I saw 'Hello princess is typing...' :lol:

More questions than feedback:
- How does the 'Restore session' works?
Do I have to click on start first, then on Restore session or the other way around?
I've used it, but didn't see if it really worked or not since it started like other sessions.
- About tags...
It seems you are using much more tags than those old TAI-scripts did,... that's great,... but I'll have to take another model and tag these pics for spicy so that it matches better, before I do I would like to ask:
Which tags are used?
Are there double-tags used (feet naked, feet halfdresed)?
Should be every pic of a set be tagged (will not tagged pics used at all)?

And finally a little suggestion:
Spoiler: show
In the licking module with those red, yellow and green arrows (and circle and abc),... the arrow pictures could be edited (photoshopped) / blended over a picture of a pussy, so you see the arrow and the pussy (I guess you get what I mean :whistle: ),... and some moaning audios maybe. :-)
That's it so far, will take a while till I have new picture sets tagged and such, but when I will play next time,... I will try to provide more feedback!
(I now see that this is more feedback on TAIJ itself than on Spicy, let me know if I should split my feedback on those 2 topics in the future)

THX again, great project! :wave:

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

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by markus »

A little bit more feedback after I played another session, started anew:

When pause the session while the intro with vivian was running broke it, it didn't resumed.
Spoiler: show
In the intro I said I don't have a cockcage, in the next session (I've edited the date of lastteasesession variable to be able to play a session today), I was asked if I'm OK with cuckolding and said yes.
In the end of the session she said something like 'knowing that you have a chastity cage [...]' -> so I guess when saying yes to cuckolding it's automatically set that I own a cockcage.
If a cockcage is necessary for cuckoling, then there should be a check and something like 'As long as you don't own a cockcage, there will be no cuckolding' .... or if cuckolding would be possible without a cockcage, then it shouldn't be automatically set to that I own one.

Which variables I have to edit to set it back to no cuckolding and that I don't own a cockcage? (Playing the intro twice is Ok, but I don't feel the urge to play it a third time. ;-)
(I could try to look up scripts, but I really don't wanna spoil something for me).

While I am at it,... in the intro there is also that question about how often a 'break' in which I can stroke to keep me horny should happen (taunt-circle),... I answered it's up to her, after that session I feel like to edit this variable as well, ... how that one is called and what values I can enter?
Best greetings,
Markus
bkrop
Explorer
Explorer
Posts: 15
Joined: Sun Feb 28, 2021 1:40 pm

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by bkrop »

is this the latest version or can i get it from somewhere else?
GodDragon
Explorer At Heart
Explorer At Heart
Posts: 795
Joined: Sun Jun 11, 2017 4:30 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by GodDragon »

bkrop wrote: Fri Aug 27, 2021 1:24 pm is this the latest version or can i get it from somewhere else?
The latest version should be downloaded from Github :-D
Ingvald_Alex
Explorer
Explorer
Posts: 70
Joined: Mon Mar 22, 2021 8:02 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by Ingvald_Alex »

Thanks for adding the safeword, which finally works as expected with the answer choices. But unfortunately Domme asks questions too quickly that even using a pause does not help. I do not have time to answer, I want a break, or I can continue or I need to stop. Too quickly she states that since I haven’t selected anything, then the session is terminated. Can you change this somehow?

Log (Fast):
Spoiler: show
03:05:18 AM CHAT: 03:05 AM Justine: Do you want to stop for today?
03:05:19 AM CHAT: 03:05 AM Justine: Do you want to take a break?
03:05:20 AM CHAT: 03:05 AM Justine: Well then do you want to continue?
03:05:21 AM CHAT: 03:05 AM Justine: You'll have to do one of the above
Changing the speed in the settings does nothing. You can, of course, try to put it very slowly, but then Domme will be typing for a very long time during the rest of the session, which in the end will want to stop still at the beginning.

Log (Very Slow):
Spoiler: show
06:10:48 PM CHAT: 06:10 PM Justine: Do you want to stop for today?
06:10:56 PM CHAT: 06:10 PM Justine: Do you want to take a break?
06:11:05 PM CHAT: 06:11 PM Justine: Well then do you want to continue?
06:11:09 PM CHAT: 06:11 PM Alex: Yes Goddess
06:11:14 PM CHAT: 06:11 PM Justine: You'll have to do one of the above
06:11:25 PM CHAT: 06:11 PM Alex: Continue
06:11:33 PM CHAT: 06:11 PM Justine: So I think it's better to stop then if you can't decide for yourself
I have from 1 to 8 seconds to have time to react. During the session and in an aroused state, this is very little.

Also, then the question arises about the advisability of changing the speed in the settings.

Is it possible to make Domme wait for an answer when asking a question about the continuation, break or end of the session?
bkrop
Explorer
Explorer
Posts: 15
Joined: Sun Feb 28, 2021 1:40 pm

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by bkrop »

GodDragon wrote: Fri Aug 27, 2021 2:55 pm
bkrop wrote: Fri Aug 27, 2021 1:24 pm is this the latest version or can i get it from somewhere else?
The latest version should be downloaded from Github :-D
for me a lot of options, such us spankzchoir, academy, list of rules are empty/don't exist that's why i am asking if i should download something else
GodDragon
Explorer At Heart
Explorer At Heart
Posts: 795
Joined: Sun Jun 11, 2017 4:30 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by GodDragon »

bkrop wrote: Sat Aug 28, 2021 8:41 am
GodDragon wrote: Fri Aug 27, 2021 2:55 pm
bkrop wrote: Fri Aug 27, 2021 1:24 pm is this the latest version or can i get it from somewhere else?
The latest version should be downloaded from Github :-D
for me a lot of options, such us spankzchoir, academy, list of rules are empty/don't exist that's why i am asking if i should download something else
Well if you are starting off then it takes some time for them to open/be accumulated :-)
Ingvald_Alex
Explorer
Explorer
Posts: 70
Joined: Mon Mar 22, 2021 8:02 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by Ingvald_Alex »

GodDragon wrote: Tue Aug 03, 2021 5:43 pm
Ingvald_Alex wrote: Tue Aug 03, 2021 10:40 am Can you do anything with edge training session? More then 40 edges... only edges... It is crazy. Safeword can't stop it.
If you don't want the edge training sessions, go into the Session/Special/SessionSpecial.js file and replace daysPassed*10 in line 71 with 0*10.
After the last update, this method stopped working.
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 863
Joined: Tue Nov 18, 2008 11:09 pm

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by markus »

Hi again!

I had a problem, the session didn't continued, after I posted this I will send you the log via PM.

I must say, until now Spicy is really fun, great work! :thumbsup:
And because I've played a little bit more, here is some more feedback:
Spoiler: show
A little suggestion for that Memory-Poker game where you get 12 cards shown out of 13:
It's quite difficult, that's fine.
First set of cards I tried to do it with my memory only, too difficult.
Next time I had a notepad open,... noticed which was shown,... still very difficult because it's so fast (again, that's good!)
So I would guess many users will try to 'cheat' in a way, like note those shown cards down,... maybe oldschool by hand with pen and paper, maybe in a text editor,... or even someone could get the idea to make a program with 13 buttons namend 1 till king and make those buttons not-visible when clicking on it + one reset button. ;-)
Anyway,... after the game the domme could ask if the sub has used any kind of help/cheating.
If so,... there could be 2 branches, one like punishment for cheating (punishment points maybe?!), but also one a bit rewarding for being 'creative' (whatever 'rewarding' could mean when you are dealing with a domme ;) ).

About the pictures removed from Tumblr's (that blue picture 'This content has been removed [...]):
I would have 2 suggestions for that:

1. Save that blue picture somewhere (i.e.: \Images\System\Compare) and before you display a downloaded picture compare it with that (or even all pictures in the compare folder if there will be other 'removed-pictures' in the future), if it's the same, ... well you could display a local picture or try to download another one.
(I have wrote something to compare pictures pixel per pixel a while ago, ... I would recommend to not compare the whole picture (could take a while), but to compare let's say 100 x 100 pixels of a specific coordinate works fine, ... again, ... it's C#, but if it would be of any help to you I could adjust my code to do that comparison, you would just have to 'translate' it somehow to Java).

2. Much more simple, ... the Delete-Key, ... if it's pressed, remove the shown picture-URL from the URL file and display the next picture.
(That way the user could also remove pictures from the URL files when they are i.e. in a bad resolution, or just 'bad' in any other way.

... The perfect solution would be to implement both points I think. :-D


Play videos:
She wanted to show me a video, the problem is my videos are stored on an external HDD which is in a 'pause-/standby- mode' and takes around 10 seconds till it's ready, before it was ready the program reconized the video as already played through.
Simple solution would be to wait a while to make sure the HDD started,... of course there are much more elegant ways to check if the video has played, and to check if maybe the video couldn't be played or such, but IMHO it's not necessary to invest much work in that, just wait for let's say 20 seconds before you check if the video has ended or such.


Best greetings,
Markus
Ingvald_Alex
Explorer
Explorer
Posts: 70
Joined: Mon Mar 22, 2021 8:02 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by Ingvald_Alex »

markus wrote: Sun Aug 29, 2021 6:12 pm A little suggestion for that Memory-Poker game where you get 12 cards shown out of 13:
It's quite difficult, that's fine.
First set of cards I tried to do it with my memory only, too difficult.
Next time I had a notepad open,... noticed which was shown,... still very difficult because it's so fast (again, that's good!)
So I would guess many users will try to 'cheat' in a way, like note those shown cards down,... maybe oldschool by hand with pen and paper, maybe in a text editor,... or even someone could get the idea to make a program with 13 buttons namend 1 till king and make those buttons not-visible when clicking on it + one reset button. ;-)
Anyway,... after the game the domme could ask if the sub has used any kind of help/cheating.
If so,... there could be 2 branches, one like punishment for cheating (punishment points maybe?!), but also one a bit rewarding for being 'creative' (whatever 'rewarding' could mean when you are dealing with a domme ;) ).
Use your fingers for this. On the left hand: pinky - ace, nameless - two, middle - three, index - 4, big - 5, just the same with the right hand: little finger - 6, middle - 7 ... Just bend them when you see the desired card, it will remain remember only if there were King, Queen and Jack. Thanks to this technique, I have had zero mistakes for a very long time.
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 863
Joined: Tue Nov 18, 2008 11:09 pm

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by markus »

Hi Ingvald_Alex!
Ingvald_Alex wrote: Sun Aug 29, 2021 6:21 pm Use your fingers for this. On the left hand: pinky - ace, nameless - two, middle - three, index - 4, big - 5, just the same with the right hand: little finger - 6, middle - 7 ... Just bend them when you see the desired card, it will remain remember only if there were King, Queen and Jack. Thanks to this technique, I have had zero mistakes for a very long time.
But that's exactly what I mean,... if you use such a technique, doesn't it feel like you are cheating a little bit?
I mean, it's meant to use only your memory, if you use your technique, shouldn't the mistress ask if you used such a technique or any other way to help to win the game?
And shouldn't you get punished for that? What do you think?

Btw.: With your technique I would only get knots in my fingers! :lol:
(The little program I wrote with the 13 buttons works better for me, today I won every round :whistle: )

To everyone...
Another thing, ... some posts above I wrote:
Spoiler: show
In the licking module with those red, yellow and green arrows (and circle and abc),... the arrow pictures could be edited (photoshopped) / blended over a picture of a pussy, so you see the arrow and the pussy (I guess you get what I mean :whistle: ),... and some moaning audios maybe. :-)
I've tested to blend such pictures, the result wasn't what I was thinking of.
So I have made a picture set which shows some pussy and a smaller arrow in the top-left corner.

To install these, just copy the zip file into YourSpicyFolder/Images and unzip it there, you'll see if that's the correct location if you get asked to overwrite files, overwrite them.
I also packed the original files the same way, so if you don't like these pictures, just install the backup the same way and you'll have the original files back again.
Btw.: This is a 'hairy-edition', if you don't like hairy pussy, then don't even try it! ;-)

Download:
Spoiler: show
Spicy LickExercises Hairy.zip:
https://mega.nz/file/uYpGDABZ#yUWvadcKJ ... LgaAr66pr0

Spicy LickExercises Backup.zip:
https://mega.nz/file/bcwGXQRT#uizvEPoNJ ... 2J6QY-ktyY
@ GodDragon:
While I was at it, I also made a Cock-Version of those arrow-files, but it doesn't make sense in the script-context (it's about pleasing women),... but if you can think of any use for such a cock-version, just drop me a line.

As always,... best greetings,
Markus
Spielers
Explorer At Heart
Explorer At Heart
Posts: 309
Joined: Mon Jan 09, 2017 8:26 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by Spielers »

In the past my TeaseAIJava freezed allways in the spicy session.
In the Log I found always :
Exception in thread "JavaFX Application Thread" java.lang.OutOfMemoryError: Java heap space
Spoiler: show
at java.desktop/java.awt.image.DataBufferInt.<init>(DataBufferInt.java:75)
at java.desktop/java.awt.image.Raster.createPackedRaster(Raster.java:467)
at java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1032)
at java.desktop/java.awt.image.BufferedImage.<init>(BufferedImage.java:351)
at me.goddragon.teaseai.utils.media.GifDecoder.readImage(GifDecoder.java:701)
at me.goddragon.teaseai.utils.media.GifDecoder.readContents(GifDecoder.java:581)
at me.goddragon.teaseai.utils.media.GifDecoder.read(GifDecoder.java:280)
at me.goddragon.teaseai.utils.media.GifDecoder.read(GifDecoder.java:341)
at me.goddragon.teaseai.utils.media.AnimatedGif.<init>(AnimatedGif.java:16)
at me.goddragon.teaseai.api.media.ImageHandler.lambda$switchToImageView$0(ImageHandler.java:83)
at me.goddragon.teaseai.api.media.ImageHandler$$Lambda$789/0x0000000801154040.run(Unknown Source)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at javafx.graphics/com.sun.javafx.application.PlatformImpl$$Lambda$183/0x0000000800c95c40.run(Unknown Source)
at java.base/java.security.AccessController.executePrivileged(AccessController.java:753)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at javafx.graphics/com.sun.javafx.application.PlatformImpl$$Lambda$182/0x0000000800c95840.run(Unknown Source)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at javafx.graphics/com.sun.glass.ui.win.WinApplication$$Lambda$171/0x0000000800c92440.run(Unknown Source)
at java.base/java.lang.Thread.run(Thread.java:832)
Now I found out, the Problem came because of the sessiontime limit from the settings. If I cross the max teasetime the programm freeze and show in the log the exception OutOfMemoryErrror. Now I set it to 999 min and i can finish my spicy session without any problems :)
mondany
Explorer
Explorer
Posts: 35
Joined: Sat Aug 12, 2017 8:58 pm

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by mondany »

Got this error and the session wouldn't continue:
Spoiler: show
11:57:51 PM INFO: Trying to run module \Session\Modules\Tease\NoChastity\AssWorship.js
11:57:51 PM INFO: Trying to run module AssWorship from category 6 and was in previous module is false
Exception in thread "Thread-7" java.lang.NullPointerException
at me.goddragon.teaseai.api.picture.PictureSet.getRandomPictureForTagStates(PictureSet.java:88)
at me.goddragon.teaseai.api.picture.PictureSet.getRandomPictureForTagStates(PictureSet.java:54)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$449$871AA$\^eval\_.showDommeTaggedImageForPictureTag(<eval>:33)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$444$\^eval\_.:scopeCall(<eval>)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$444$\^eval\_.:program(<eval>:10)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$439$2711A$\^eval\_.runModuleCategory(<eval>:72)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$352$\^eval\_.:scopeCall-9(<eval>)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$352$\^eval\_.:program(<eval>:211)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$324$\^eval\_.:program(<eval>:91)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$321$5149$\^eval\_.startSession(<eval>:131)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$314$\^eval\_.:program(<eval>:38)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$50$\^eval\_.:scopeCall(<eval>)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$50$\^eval\_.:program(<eval>:147)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:144)
at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:126)
at me.goddragon.teaseai.api.session.Session$1.run(Session.java:41)
I can't remember, is there a command or phrase to get things moving again after an error if the domme isn't responding?
GodDragon
Explorer At Heart
Explorer At Heart
Posts: 795
Joined: Sun Jun 11, 2017 4:30 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by GodDragon »

markus wrote: Wed Aug 25, 2021 7:26 pm Hi again!

Not important, but I've noticed it, could be improved, but it wouldn't matter if not (very low priority):

- When pause, the 'domme is typing' timer doesn't stop, as well as the metronome (if that is timer-based which I don't know).

Hey there,

thanks for the feedback.

I sadly cannot easily hold the typing thing. But I don't think that's too much of a problem because it should hold right after.
Metronome should stop in the upcoming builds.
markus wrote: Wed Aug 25, 2021 7:26 pm - A nice-to-have would also be a label in the size of the picturebox (sorry, i use .Net-Terms because that's what I know), black label with white text 'Paused' when it's paused, label visible when paused, label not visible when not paused,... quite simple :-D
Added in upcoming builds.
markus wrote: Wed Aug 25, 2021 7:26 pm
- While the taunt circle I would prefer the old metronome sound from TAI, ... other metro soundfiles are fine in modules, that brings more variety (if it helps: I've once written a .Net Lib called 'metro', that plays that sound (could also easly adjusted to any other soundfile), it runs async,... just drop me a line if you would like to have the whole project or just the code of the class).
Is it an audio file or what sound is used for the original TAI? I'd need that file.
markus wrote: Wed Aug 25, 2021 7:26 pm - Genre-Pictures: I saw for a very little moment, that the domme-picture switched to the next picture and then the genre picture showed up, I guess there are like 1000 ways to solve this
I need the module where this happened because in that case the images aren't correctly locked.
markus wrote: Wed Aug 25, 2021 7:26 pm - Maybe a chat-log with the @-function in it would be nice so when ever I have an idea popping up I could just easily enter it, with the regarding infos (script and line of script)
I don't know what you mean by that. Do you want to log the latest run file and line where it's currently at?
markus wrote: Wed Aug 25, 2021 7:26 pm A bit more important IMHO:
Focus on the chat textbox... It was in the end when she told me to remove things and that I should tell her when I'm done, before that I've used the edge-button,... so what happend was that I didn't realized that the focus was still on the button,... I've typed 'done' without looking at the chat textbox, hit enter, and the edge button was 'pressed' again because I hit the enter key.
Done
markus wrote: Wed Aug 25, 2021 7:26 pm Also in the session this happened that I've typed something and then I saw, ah,... ok,... focus not on the chat textbox, *click there*, type again.
So my suggestion: Putting the focus on the chat-textbox after every buton click (btw. also at the start, I wanted to greet her, but the focus was on the domme-name, ... so the next thing I saw 'Hello princess is typing...' :lol:

Done.
markus wrote: Wed Aug 25, 2021 7:26 pm More questions than feedback:
- How does the 'Restore session' works?
Do I have to click on start first, then on Restore session or the other way around?
I've used it, but didn't see if it really worked or not since it started like other sessions.
Well you need to save a session first (which saves a state of all temporary and permanent variables). After that you have to restore a session by picking a .js file that is supposed to be run with the state of variables restored. If you want to do it properly you have to load up Spicy to the main menu and then restore a session and execute like the decide module js file or something.
markus wrote: Wed Aug 25, 2021 7:26 pm - About tags...
It seems you are using much more tags than those old TAI-scripts did,... that's great,... but I'll have to take another model and tag these pics for spicy so that it matches better, before I do I would like to ask:
Which tags are used?
Are there double-tags used (feet naked, feet halfdresed)?
Should be every pic of a set be tagged (will not tagged pics used at all)?
Untagged pictures are rarely if at all used. No you cannot assign naked and halfdressed to the same picture, but yes it might look for a picture with feet and the naked OR halfdressed tag.
markus wrote: Wed Aug 25, 2021 7:26 pm And finally a little suggestion:
Spoiler: show
In the licking module with those red, yellow and green arrows (and circle and abc),... the arrow pictures could be edited (photoshopped) / blended over a picture of a pussy, so you see the arrow and the pussy (I guess you get what I mean :whistle: ),... and some moaning audios maybe. :-)
That's it so far, will take a while till I have new picture sets tagged and such, but when I will play next time,... I will try to provide more feedback!
(I now see that this is more feedback on TAIJ itself than on Spicy, let me know if I should split my feedback on those 2 topics in the future)

THX again, great project! :wave:

Best greetings,
Markus
I like that idea. I'll see what I can do about it :-)
markus wrote: Thu Aug 26, 2021 6:38 pm A little bit more feedback after I played another session, started anew:

When pause the session while the intro with vivian was running broke it, it didn't resumed.
No idea. Any log?
markus wrote: Thu Aug 26, 2021 6:38 pm
Spoiler: show
In the intro I said I don't have a cockcage, in the next session (I've edited the date of lastteasesession variable to be able to play a session today), I was asked if I'm OK with cuckolding and said yes.
In the end of the session she said something like 'knowing that you have a chastity cage [...]' -> so I guess when saying yes to cuckolding it's automatically set that I own a cockcage.
If a cockcage is necessary for cuckoling, then there should be a check and something like 'As long as you don't own a cockcage, there will be no cuckolding' .... or if cuckolding would be possible without a cockcage, then it shouldn't be automatically set to that I own one.
No I figure this was just a missing check for a cage. I hopefully fixed it.
markus wrote: Thu Aug 26, 2021 6:38 pm Which variables I have to edit to set it back to no cuckolding and that I don't own a cockcage? (Playing the intro twice is Ok, but I don't feel the urge to play it a third time. ;-)
(I could try to look up scripts, but I really don't wanna spoil something for me).
If the hasChastity file does not exist or is set to false you are all good. You can adjust your limits in your settings in the main menu with Vivienne. Just set cuckolding as a hard limit.
markus wrote: Thu Aug 26, 2021 6:38 pm While I am at it,... in the intro there is also that question about how often a 'break' in which I can stroke to keep me horny should happen (taunt-circle),... I answered it's up to her, after that session I feel like to edit this variable as well, ... how that one is called and what values I can enter?
[/spoiler]

Edit: strokeModulePauseFrequency and set it to 0 (domme mode), or 1-5 (5 being the most frequent).
Ingvald_Alex wrote: Fri Aug 27, 2021 3:15 pm Thanks for adding the safeword, which finally works as expected with the answer choices. But unfortunately Domme asks questions too quickly that even using a pause does not help. I do not have time to answer, I want a break, or I can continue or I need to stop. Too quickly she states that since I haven’t selected anything, then the session is terminated. Can you change this somehow?

Log (Fast):
Spoiler: show
03:05:18 AM CHAT: 03:05 AM Justine: Do you want to stop for today?
03:05:19 AM CHAT: 03:05 AM Justine: Do you want to take a break?
03:05:20 AM CHAT: 03:05 AM Justine: Well then do you want to continue?
03:05:21 AM CHAT: 03:05 AM Justine: You'll have to do one of the above
Should be fixed.
markus wrote: Sun Aug 29, 2021 6:12 pm Hi again!

I had a problem, the session didn't continued, after I posted this I will send you the log via PM.
Seems like your images aren't tagged enough. You don't have any ass related images in that set apparently. I fixed this specific error in a new TAJ build and I'll attach it however it won't show you the correct pictures if there are none.
markus wrote: Sun Aug 29, 2021 6:12 pm I must say, until now Spicy is really fun, great work! :thumbsup:
And because I've played a little bit more, here is some more feedback:
Spoiler: show
A little suggestion for that Memory-Poker game where you get 12 cards shown out of 13:
It's quite difficult, that's fine.
First set of cards I tried to do it with my memory only, too difficult.
Next time I had a notepad open,... noticed which was shown,... still very difficult because it's so fast (again, that's good!)
So I would guess many users will try to 'cheat' in a way, like note those shown cards down,... maybe oldschool by hand with pen and paper, maybe in a text editor,... or even someone could get the idea to make a program with 13 buttons namend 1 till king and make those buttons not-visible when clicking on it + one reset button. ;-)
Anyway,... after the game the domme could ask if the sub has used any kind of help/cheating.
If so,... there could be 2 branches, one like punishment for cheating (punishment points maybe?!), but also one a bit rewarding for being 'creative' (whatever 'rewarding' could mean when you are dealing with a domme ;) ).
Thanks. I for myself actually have no problem with the poker game. I sometimes fail, but I usually manage to remember the missing one without any counting. I just say the ones I saw out lout and additionally I keep a list of cards in my head that are remaining. It's easier to keep track of if you group them and are able to eliminate a whole group for example if cards 1-4 where shown you must only remember that like anything up from 5 is remaining.
markus wrote: Sun Aug 29, 2021 6:12 pm About the pictures removed from Tumblr's (that blue picture 'This content has been removed [...]):
I would have 2 suggestions for that:

1. Save that blue picture somewhere (i.e.: \Images\System\Compare) and before you display a downloaded picture compare it with that (or even all pictures in the compare folder if there will be other 'removed-pictures' in the future), if it's the same, ... well you could display a local picture or try to download another one.
(I have wrote something to compare pictures pixel per pixel a while ago, ... I would recommend to not compare the whole picture (could take a while), but to compare let's say 100 x 100 pixels of a specific coordinate works fine, ... again, ... it's C#, but if it would be of any help to you I could adjust my code to do that comparison, you would just have to 'translate' it somehow to Java).

2. Much more simple, ... the Delete-Key, ... if it's pressed, remove the shown picture-URL from the URL file and display the next picture.
(That way the user could also remove pictures from the URL files when they are i.e. in a bad resolution, or just 'bad' in any other way.

... The perfect solution would be to implement both points I think. :-D
I can try to add something like that. But it's of lower priority for now.

markus wrote: Sun Aug 29, 2021 6:12 pm Play videos:
She wanted to show me a video, the problem is my videos are stored on an external HDD which is in a 'pause-/standby- mode' and takes around 10 seconds till it's ready, before it was ready the program reconized the video as already played through.
Simple solution would be to wait a while to make sure the HDD started,... of course there are much more elegant ways to check if the video has played, and to check if maybe the video couldn't be played or such, but IMHO it's not necessary to invest much work in that, just wait for let's say 20 seconds before you check if the video has ended or such.


Best greetings,
Markus
I increased the limit to 15 seconds.
markus wrote: Sun Aug 29, 2021 9:06 pm Hi Ingvald_Alex!


But that's exactly what I mean,... if you use such a technique, doesn't it feel like you are cheating a little bit?
I mean, it's meant to use only your memory, if you use your technique, shouldn't the mistress ask if you used such a technique or any other way to help to win the game?
And shouldn't you get punished for that? What do you think?

Btw.: With your technique I would only get knots in my fingers! :lol:
(The little program I wrote with the 13 buttons works better for me, today I won every round :whistle: )
Well, I mean I can make her punish you but I don't think using your fingers should be considered cheating. Writing it down is :yes:

markus wrote: Sun Aug 29, 2021 9:06 pm To everyone...
Another thing, ... some posts above I wrote:
Spoiler: show
In the licking module with those red, yellow and green arrows (and circle and abc),... the arrow pictures could be edited (photoshopped) / blended over a picture of a pussy, so you see the arrow and the pussy (I guess you get what I mean :whistle: ),... and some moaning audios maybe. :-)
I've tested to blend such pictures, the result wasn't what I was thinking of.
So I have made a picture set which shows some pussy and a smaller arrow in the top-left corner.

To install these, just copy the zip file into YourSpicyFolder/Images and unzip it there, you'll see if that's the correct location if you get asked to overwrite files, overwrite them.
I also packed the original files the same way, so if you don't like these pictures, just install the backup the same way and you'll have the original files back again.
Btw.: This is a 'hairy-edition', if you don't like hairy pussy, then don't even try it! ;-)

Download:
Spoiler: show
Spicy LickExercises Hairy.zip:
https://mega.nz/file/uYpGDABZ#yUWvadcKJ ... LgaAr66pr0

Spicy LickExercises Backup.zip:
https://mega.nz/file/bcwGXQRT#uizvEPoNJ ... 2J6QY-ktyY
@ GodDragon:
While I was at it, I also made a Cock-Version of those arrow-files, but it doesn't make sense in the script-context (it's about pleasing women),... but if you can think of any use for such a cock-version, just drop me a line.

As always,... best greetings,
Markus
Thanks. That is a great idea. I will look into it. Send me those cock files as well please :w00t:
Spielers wrote: Fri Sep 17, 2021 4:04 pm In the past my TeaseAIJava freezed allways in the spicy session.
In the Log I found always :
Exception in thread "JavaFX Application Thread" java.lang.OutOfMemoryError: Java heap space
Spoiler: show
at java.desktop/java.awt.image.DataBufferInt.<init>(DataBufferInt.java:75)
at java.desktop/java.awt.image.Raster.createPackedRaster(Raster.java:467)
at java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1032)
at java.desktop/java.awt.image.BufferedImage.<init>(BufferedImage.java:351)
at me.goddragon.teaseai.utils.media.GifDecoder.readImage(GifDecoder.java:701)
at me.goddragon.teaseai.utils.media.GifDecoder.readContents(GifDecoder.java:581)
at me.goddragon.teaseai.utils.media.GifDecoder.read(GifDecoder.java:280)
at me.goddragon.teaseai.utils.media.GifDecoder.read(GifDecoder.java:341)
at me.goddragon.teaseai.utils.media.AnimatedGif.<init>(AnimatedGif.java:16)
at me.goddragon.teaseai.api.media.ImageHandler.lambda$switchToImageView$0(ImageHandler.java:83)
at me.goddragon.teaseai.api.media.ImageHandler$$Lambda$789/0x0000000801154040.run(Unknown Source)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at javafx.graphics/com.sun.javafx.application.PlatformImpl$$Lambda$183/0x0000000800c95c40.run(Unknown Source)
at java.base/java.security.AccessController.executePrivileged(AccessController.java:753)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at javafx.graphics/com.sun.javafx.application.PlatformImpl$$Lambda$182/0x0000000800c95840.run(Unknown Source)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at javafx.graphics/com.sun.glass.ui.win.WinApplication$$Lambda$171/0x0000000800c92440.run(Unknown Source)
at java.base/java.lang.Thread.run(Thread.java:832)
Now I found out, the Problem came because of the sessiontime limit from the settings. If I cross the max teasetime the programm freeze and show in the log the exception OutOfMemoryErrror. Now I set it to 999 min and i can finish my spicy session without any problems :)
No idea how this should influence the error but if it works I am glad. You should probably assign more memory to java.
mondany wrote: Sat Sep 18, 2021 7:09 am Got this error and the session wouldn't continue:
Spoiler: show
11:57:51 PM INFO: Trying to run module \Session\Modules\Tease\NoChastity\AssWorship.js
11:57:51 PM INFO: Trying to run module AssWorship from category 6 and was in previous module is false
Exception in thread "Thread-7" java.lang.NullPointerException
at me.goddragon.teaseai.api.picture.PictureSet.getRandomPictureForTagStates(PictureSet.java:88)
at me.goddragon.teaseai.api.picture.PictureSet.getRandomPictureForTagStates(PictureSet.java:54)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$449$871AA$\^eval\_.showDommeTaggedImageForPictureTag(<eval>:33)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$444$\^eval\_.:scopeCall(<eval>)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$444$\^eval\_.:program(<eval>:10)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$439$2711A$\^eval\_.runModuleCategory(<eval>:72)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$352$\^eval\_.:scopeCall-9(<eval>)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$352$\^eval\_.:program(<eval>:211)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$324$\^eval\_.:program(<eval>:91)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$321$5149$\^eval\_.startSession(<eval>:131)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$314$\^eval\_.:program(<eval>:38)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$50$\^eval\_.:scopeCall(<eval>)
at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$50$\^eval\_.:program(<eval>:147)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:144)
at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:126)
at me.goddragon.teaseai.api.session.Session$1.run(Session.java:41)
I can't remember, is there a command or phrase to get things moving again after an error if the domme isn't responding?
You are missing ass tagged images in the domme set. Use the build I am providing attached to this post to temporarily bypass the issue.
Attachments
TeaseAi.zip
(951.83 KiB) Downloaded 152 times
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 863
Joined: Tue Nov 18, 2008 11:09 pm

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by markus »

Hi there!
GodDragon wrote: Mon Sep 20, 2021 8:45 pm I sadly cannot easily hold the typing thing. But I don't think that's too much of a problem because it should hold right after.
No, it's not a problem.
Is it an audio file or what sound is used for the original TAI? I'd need that file.
Attached to this post.
markus wrote: Wed Aug 25, 2021 7:26 pm - Genre-Pictures: I saw for a very little moment, that the domme-picture switched to the next picture and then the genre picture showed up, I guess there are like 1000 ways to solve this
I need the module where this happened because in that case the images aren't correctly locked.
Sorry, I didn't played for a while, not sure where that happened.
markus wrote: Wed Aug 25, 2021 7:26 pm - Maybe a chat-log with the @-function in it would be nice so when ever I have an idea popping up I could just easily enter it, with the regarding infos (script and line of script)
I don't know what you mean by that. Do you want to log the latest run file and line where it's currently at?
As I wrote that, I even didn't found the log-files,... log is there, all is fine, sorry for the confusion! :-)

If the hasChastity file does not exist or is set to false you are all good. You can adjust your limits in your settings in the main menu with Vivienne. Just set cuckolding as a hard limit.
The file didn't existed so all was fine and she didn't try to lock me up.


Thanks. That is a great idea. I will look into it. Send me those cock files as well please :w00t:
https://mega.nz/file/3QoBXCBC#LF1JFVLZh ... _Hh10B0zlI

Best greetings,
Markus
Attachments
metronome.zip
(46.44 KiB) Downloaded 147 times
Post Reply