Re: [Tease Program] Tease-AI Java (1.2)
Posted: Wed Jun 05, 2019 9:09 pm
wow impressive !
... for the explorer at heart!
https://milovana.com/forum/
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);
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 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
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.)ski23 wrote: Thu Jun 06, 2019 3:21 amAs 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 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
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 wrote: Thu Jun 06, 2019 6:16 pmhmmm 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.)ski23 wrote: Thu Jun 06, 2019 3:21 amAs 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 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
am I looking in the wrong place?
Awesome... maybe add a parameter to select it so you can send "narrator" messages without TTS?ski23 wrote: Thu Jun 06, 2019 6:39 pmAh. 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 wrote: Thu Jun 06, 2019 6:16 pmhmmm 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.)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".
am I looking in the wrong place?
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.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);
Well, I guess it might throw an error. I haven't tested that.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.
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();
}
}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 itski23 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.
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();
}
}
}try someMore = someMore.loop()Augustulus wrote: Wed Jul 10, 2019 9:25 pm Hey![]()
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.
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.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(); } }
Can you look into it, please?