[Tease Program] Tease-AI Java (1.4)

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

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

Re: [Tease Program] Tease-AI Java (1.2)

Post by swit69 »

wow impressive !
Sweet Patch : new features for TeaseAI
Sweet Scripts : scripts using new features from Sweet Patch for Miss Blue and Wicked Tease personnalities
lotar232
Explorer
Explorer
Posts: 76
Joined: Sat Nov 01, 2008 6:34 pm

Re: [Tease Program] Tease-AI Java (1.2)

Post by lotar232 »

question on the new TTS functionality....

there are a few places where we create custom messages (to add different characters, etc)… it seems TTS doesn't get applied to the custom messages by default.... is there some additional line that could be added to the typical custom message block:
message = replaceVocab(message);
text = new javafx.scene.text.Text(message);
text.setFill(javafx.scene.paint.Color.ROYALBLUE);
text.setFont(javafx.scene.text.Font.font(null, javafx.scene.text.FontWeight.MEDIUM, 13));

sendCustomMessage(text);

to make it get sent to TTS as well? (and does this follow the enable/disable election in the client?)

cheers!
-Lotar
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java (1.2)

Post by ski23 »

lotar232 wrote: Thu Jun 06, 2019 3:14 am question on the new TTS functionality....

there are a few places where we create custom messages (to add different characters, etc)… it seems TTS doesn't get applied to the custom messages by default.... is there some additional line that could be added to the typical custom message block:
message = replaceVocab(message);
text = new javafx.scene.text.Text(message);
text.setFill(javafx.scene.paint.Color.ROYALBLUE);
text.setFont(javafx.scene.text.Font.font(null, javafx.scene.text.FontWeight.MEDIUM, 13));

sendCustomMessage(text);

to make it get sent to TTS as well? (and does this follow the enable/disable election in the client?)

cheers!
-Lotar
As of a release or two ago, sendMessage() now has all the functionality of CMessage from TAJUTils. So you should be able to do any kind of custom message you can imagine with sendMessage and it will also use TTS. Also, if you want, anywhere where anyone might be using CMessage, can now be replaced with sendMessage or "sm", the new shortcut I added for short. Also debug message was added into TAJ. Use "dm".
lotar232
Explorer
Explorer
Posts: 76
Joined: Sat Nov 01, 2008 6:34 pm

Re: [Tease Program] Tease-AI Java (1.2)

Post by lotar232 »

ski23 wrote: Thu Jun 06, 2019 3:21 am
lotar232 wrote: Thu Jun 06, 2019 3:14 am question on the new TTS functionality....

there are a few places where we create custom messages (to add different characters, etc)… it seems TTS doesn't get applied to the custom messages by default.... is there some additional line that could be added to the typical custom message block:
message = replaceVocab(message);
text = new javafx.scene.text.Text(message);
text.setFill(javafx.scene.paint.Color.ROYALBLUE);
text.setFont(javafx.scene.text.Font.font(null, javafx.scene.text.FontWeight.MEDIUM, 13));

sendCustomMessage(text);

to make it get sent to TTS as well? (and does this follow the enable/disable election in the client?)

cheers!
-Lotar
As of a release or two ago, sendMessage() now has all the functionality of CMessage from TAJUTils. So you should be able to do any kind of custom message you can imagine with sendMessage and it will also use TTS. Also, if you want, anywhere where anyone might be using CMessage, can now be replaced with sendMessage or "sm", the new shortcut I added for short. Also debug message was added into TAJ. Use "dm".
hmmm looking at customizedmessage() in chatutils I'm not sure I can see a way to set the sender name (i.e. not use one of the 4 senders in chat handler) I don't see how to set fill color(i.e. different font for sender name and message), and I don't see how to elect/suppress an image (although I could hack around that with imagelock/unlock.)

am I looking in the wrong place?
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java (1.2)

Post by ski23 »

lotar232 wrote: Thu Jun 06, 2019 6:16 pm
ski23 wrote: Thu Jun 06, 2019 3:21 am
lotar232 wrote: Thu Jun 06, 2019 3:14 am question on the new TTS functionality....

there are a few places where we create custom messages (to add different characters, etc)… it seems TTS doesn't get applied to the custom messages by default.... is there some additional line that could be added to the typical custom message block:




to make it get sent to TTS as well? (and does this follow the enable/disable election in the client?)

cheers!
-Lotar
As of a release or two ago, sendMessage() now has all the functionality of CMessage from TAJUTils. So you should be able to do any kind of custom message you can imagine with sendMessage and it will also use TTS. Also, if you want, anywhere where anyone might be using CMessage, can now be replaced with sendMessage or "sm", the new shortcut I added for short. Also debug message was added into TAJ. Use "dm".
hmmm looking at customizedmessage() in chatutils I'm not sure I can see a way to set the sender name (i.e. not use one of the 4 senders in chat handler) I don't see how to set fill color(i.e. different font for sender name and message), and I don't see how to elect/suppress an image (although I could hack around that with imagelock/unlock.)

am I looking in the wrong place?
Ah. I didnt know you were trying to do those things. In that case, I'll just add TTS to the customMessage thing you're using so it will continue to work how you're doing it.
lotar232
Explorer
Explorer
Posts: 76
Joined: Sat Nov 01, 2008 6:34 pm

Re: [Tease Program] Tease-AI Java (1.2)

Post by lotar232 »

ski23 wrote: Thu Jun 06, 2019 6:39 pm
lotar232 wrote: Thu Jun 06, 2019 6:16 pm
ski23 wrote: Thu Jun 06, 2019 3:21 am

As of a release or two ago, sendMessage() now has all the functionality of CMessage from TAJUTils. So you should be able to do any kind of custom message you can imagine with sendMessage and it will also use TTS. Also, if you want, anywhere where anyone might be using CMessage, can now be replaced with sendMessage or "sm", the new shortcut I added for short. Also debug message was added into TAJ. Use "dm".
hmmm looking at customizedmessage() in chatutils I'm not sure I can see a way to set the sender name (i.e. not use one of the 4 senders in chat handler) I don't see how to set fill color(i.e. different font for sender name and message), and I don't see how to elect/suppress an image (although I could hack around that with imagelock/unlock.)

am I looking in the wrong place?
Ah. I didnt know you were trying to do those things. In that case, I'll just add TTS to the customMessage thing you're using so it will continue to work how you're doing it.
Awesome... maybe add a parameter to select it so you can send "narrator" messages without TTS?
ilikelatex
Explorer
Explorer
Posts: 30
Joined: Sat Aug 26, 2017 4:34 pm

Re: [Tease Program] Tease-AI Java (1.2)

Post by ilikelatex »

In general the updates come with the TAJ updates right? But if there is an update in chatutils..., will it be in the Mischevious personality? I'm a bit confused ;)

Another question, is there a function to flag stroking as active, that isStroking() will recognize it? In HoT you have often stuff like this and responses will not trigger there if i use isStroking in it:

Code: Select all

CMessage(random("Stroke", "Wank", "Masturbate"));
playAudio("Audio" + java.io.File.separator + "tease" + java.io.File.separator + "Tri" + java.io.File.separator + "sound2.mp3");
CMessage("Now the beat gets a tiny bit faster.");
CMessage("Nothing to worry about.");
sleep(20);
CMessage("If you can, make longer, harder strokes.");
sleep(20);
CMessage("You can use this stage to get their PC muscle tensed and that will happen if you push it with the strokes.");
CMessage("Are you a pro? Are you training your PC muscle while stroking already?");
CMessage("That\'s hot.");
sleep(30);
stopAudio();
CMessage("%Stop%", 0);
GodDragon
Explorer At Heart
Explorer At Heart
Posts: 790
Joined: Sun Jun 11, 2017 4:30 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease Program] Tease-AI Java (1.2)

Post by GodDragon »

ilikelatex wrote: Sun Jun 09, 2019 2:14 pm In general the updates come with the TAJ updates right? But if there is an update in chatutils..., will it be in the Mischevious personality? I'm a bit confused ;)

Another question, is there a function to flag stroking as active, that isStroking() will recognize it? In HoT you have often stuff like this and responses will not trigger there if i use isStroking in it:

Code: Select all

CMessage(random("Stroke", "Wank", "Masturbate"));
playAudio("Audio" + java.io.File.separator + "tease" + java.io.File.separator + "Tri" + java.io.File.separator + "sound2.mp3");
CMessage("Now the beat gets a tiny bit faster.");
CMessage("Nothing to worry about.");
sleep(20);
CMessage("If you can, make longer, harder strokes.");
sleep(20);
CMessage("You can use this stage to get their PC muscle tensed and that will happen if you push it with the strokes.");
CMessage("Are you a pro? Are you training your PC muscle while stroking already?");
CMessage("That\'s hot.");
sleep(30);
stopAudio();
CMessage("%Stop%", 0);
The chat util is mainted by ski so he will need to find a way to update and distribute it. It is not included inside TAJ upadtes however Mischevious updates will probably always run the newest chat util version which you can copy over.

Regarding your stroking issue: Well the only thing you can do right now is create your own variable that you will need to check alongside the integrated isStroking.

So you can do: setTempVar('stroking', true/false); and then wherever you are checking isStroking: if(isStroking() || getVar('stroking', false)).....

You can also turn this into a javascript global variable however that might not be that easy to understand. For example you could at the very top of your main.js file put let stroking = false;
and then just use stroking = true and stroking = false when setting it and if(isStroking() || stroking) when checking for it.
ilikelatex
Explorer
Explorer
Posts: 30
Joined: Sat Aug 26, 2017 4:34 pm

Re: [Tease Program] Tease-AI Java (1.2)

Post by ilikelatex »

Thanks for your help, i tried it some time ago with setVar but didn't get it to work correctly. Now with a global variable and a second try, it works like planed.

Next thing some questions about video playback behavior.
Is it correct, that stopVideo() throws an error if no video is playing and you have to test if a video is playing?
Is it correct, that if you use stopVideo() to end the video early, the images are still locked and you have to use unlockImages()?

I also noticed a small gui bug not that it bothers me, but just to mention it, if you resize TAJ to a small width the buttons get cut off.
GodDragon
Explorer At Heart
Explorer At Heart
Posts: 790
Joined: Sun Jun 11, 2017 4:30 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease Program] Tease-AI Java (1.2)

Post by GodDragon »

ilikelatex wrote: Thu Jun 13, 2019 12:23 pm Thanks for your help, i tried it some time ago with setVar but didn't get it to work correctly. Now with a global variable and a second try, it works like planed.

Next thing some questions about video playback behavior.
Is it correct, that stopVideo() throws an error if no video is playing and you have to test if a video is playing?
Is it correct, that if you use stopVideo() to end the video early, the images are still locked and you have to use unlockImages()?

I also noticed a small gui bug not that it bothers me, but just to mention it, if you resize TAJ to a small width the buttons get cut off.
Well, I guess it might throw an error. I haven't tested that.
Dunno about the lockedImages either. Will look into it. Did you lock the images before the video started? I guess then you will have indeed to unlock them again.
User avatar
Augustulus
Explorer At Heart
Explorer At Heart
Posts: 510
Joined: Fri Dec 25, 2015 4:27 pm
Gender: Male
Sexual Orientation: Open to new ideas!
I am a: Switch

Re: [Tease Program] Tease-AI Java (1.2)

Post by Augustulus »

Hey :wave:

I'm experimenting a little bit with this new Tease AI. Building a personality from scratch. Maybe I release it someday, if things work well.
I like this timeout system on input. So you can react if the player is not responding. I've made a little edging module where the player is asked if he wants to edge more following the sample-code in the wiki.

Code: Select all

var someMore = sendInput("But what about some more edging? %emote%", 10);

    var moreEdging = true;
    while(true)
    {
        if(someMore.isTimeout())
        {
            sendMessage("Looks like you need some time to rest");
            break;
        }
        else if(someMore.isLike("yes", "yeah"))
        {
            sendMessage("I knew it");
            sendMessage("You love the feeling, don't you %subname%");
            moreEdging = true;
            break;
        }
        else if(someMore.isLike("no", "not"))
        {
            sendMessage("Okay, let's do something different then");
            break;
        }
        else if(someMore.isLike("what"))
        {
            sendMessage("Do you want to edge more?");
            someMore.loop();
        }
    }
After this while-loop is executed the program does not react to responses any more. After removing the while-loop, the responses will be handled correct, but I can't loop the answer. The log has no error messages. So, I think this is a bug.
Can you look into it, please?
It's time to duel statistics:
Wins: 16
Loses: 12

Offer: (I'm currently not taking any new requests!)
I'm having fun creating custom tasks (jerk off instructions)! Interested in one?
Look here:
Spoiler: show
What you have to do:
1. Write me a PM
2. Be polite! (I don't react to PMs without greeting etc)
3. Tell me something about your fetishes and limits (more details lead to better experiences)
4. Send me a detailed report after playing. I want my fun, too :-) and want to enhance my skills
5. If I don't get a report I will ignore further requests from you!

I will respond to PMs as soon as possible (typically within 24 hours)
Spielers
Explorer At Heart
Explorer At Heart
Posts: 301
Joined: Mon Jan 09, 2017 8:26 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: [Tease Program] Tease-AI Java (1.2)

Post by Spielers »

How can i see in which script i am?
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java (1.2)

Post by ski23 »

Spielers wrote: Fri Jul 12, 2019 7:53 pm How can i see in which script i am?
The best thing to do is turn debug mode on. Most scripts should have a debug message stating the beginning and end of that file in the chat and logs. I will look into the other issue above as well.
User avatar
Augustulus
Explorer At Heart
Explorer At Heart
Posts: 510
Joined: Fri Dec 25, 2015 4:27 pm
Gender: Male
Sexual Orientation: Open to new ideas!
I am a: Switch

Re: [Tease Program] Tease-AI Java (1.2)

Post by Augustulus »

ski23 wrote: Fri Jul 12, 2019 7:56 pm The best thing to do is turn debug mode on. Most scripts should have a debug message stating the beginning and end of that file in the chat and logs. I will look into the other issue above as well.
Thanks for looking into it :-)

After looking through the Tease AI Java code and a lot of testing, I think, that it has something to do with the Answer-object in ChatHandler not setting to null, so the if-statement in this function is not executed:

Code: Select all

public void onSubMessage(String message) {
        if (currentCallback != null && currentCallback.getAnswer() == null) {
            currentCallback.setAnswer(message);

            TeaseAI.application.responsesDisabled = false;
            //Wake the script thread, the user might want some response
            synchronized (TeaseAI.application.getScriptThread()) {
                TeaseAI.application.getScriptThread().notify();
            }
        }
    }
As a temporarily work-around: Setting the Answer-object manually to null after the while-loop enables the responses again.

I hope that helps you to narrow down the problem.
It's time to duel statistics:
Wins: 16
Loses: 12

Offer: (I'm currently not taking any new requests!)
I'm having fun creating custom tasks (jerk off instructions)! Interested in one?
Look here:
Spoiler: show
What you have to do:
1. Write me a PM
2. Be polite! (I don't react to PMs without greeting etc)
3. Tell me something about your fetishes and limits (more details lead to better experiences)
4. Send me a detailed report after playing. I want my fun, too :-) and want to enhance my skills
5. If I don't get a report I will ignore further requests from you!

I will respond to PMs as soon as possible (typically within 24 hours)
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java (1.2)

Post by ski23 »

Augustulus wrote: Wed Jul 10, 2019 9:25 pm Hey :wave:

I'm experimenting a little bit with this new Tease AI. Building a personality from scratch. Maybe I release it someday, if things work well.
I like this timeout system on input. So you can react if the player is not responding. I've made a little edging module where the player is asked if he wants to edge more following the sample-code in the wiki.

Code: Select all

var someMore = sendInput("But what about some more edging? %emote%", 10);

    var moreEdging = true;
    while(true)
    {
        if(someMore.isTimeout())
        {
            sendMessage("Looks like you need some time to rest");
            break;
        }
        else if(someMore.isLike("yes", "yeah"))
        {
            sendMessage("I knew it");
            sendMessage("You love the feeling, don't you %subname%");
            moreEdging = true;
            break;
        }
        else if(someMore.isLike("no", "not"))
        {
            sendMessage("Okay, let's do something different then");
            break;
        }
        else if(someMore.isLike("what"))
        {
            sendMessage("Do you want to edge more?");
            someMore.loop();
        }
    }
After this while-loop is executed the program does not react to responses any more. After removing the while-loop, the responses will be handled correct, but I can't loop the answer. The log has no error messages. So, I think this is a bug.
Can you look into it, please?
try someMore = someMore.loop()
Post Reply

Who is online

Users browsing this forum: No registered users and 40 guests