[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

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.2)

Post by ski23 »

Triple Alfa wrote: Wed Jul 01, 2020 10:12 am
GodDragon wrote: Tue Jun 30, 2020 3:47 pm It's not about removing said feature (local images) just not forcing the users to have them. I for myself think that the subreddits have very specific rules and pictures based on those rules but of course you can create your own local listing.
No I understand what you're saying. My point is more that personalities that are based on random images of various levels of quality are much less attractive to me than personalities based around curated images of high quality even if displayed in a random fashion. This because the latter option is not only more stimulating, but also gives the creator far more control as they know exactly what the user is going to see.

Regarding the subreddits, I think the content restrictions vary greatly. Some have pretty generic rules that allow for even vaguely related content to be posted, others have very strict rules but somehow still allow unrelated content to be posted if it gets upvoted enough. So I don't think that as a creator you can actually rely on subreddits to guaranteed give you what you want.

One thing that would at least help increase the average quality of images/videos being pulled would be a filter for upvotes. This would eliminate all the trash that gets posted randomly on subreddits all the time and only leave the stuff that is at least liked by the community of the subreddit.
In my opinion, you are right. Local content is pretty much always better than content pulled from online. However, the issue is that it takes time to download and tag content and it can be user-specific. Personally, if I am using the program, I would use local content though.
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.2)

Post by GodDragon »

Triple Alfa wrote: Wed Jul 01, 2020 10:12 am
GodDragon wrote: Tue Jun 30, 2020 3:47 pm It's not about removing said feature (local images) just not forcing the users to have them. I for myself think that the subreddits have very specific rules and pictures based on those rules but of course you can create your own local listing.
No I understand what you're saying. My point is more that personalities that are based on random images of various levels of quality are much less attractive to me than personalities based around curated images of high quality even if displayed in a random fashion. This because the latter option is not only more stimulating, but also gives the creator far more control as they know exactly what the user is going to see.

Regarding the subreddits, I think the content restrictions vary greatly. Some have pretty generic rules that allow for even vaguely related content to be posted, others have very strict rules but somehow still allow unrelated content to be posted if it gets upvoted enough. So I don't think that as a creator you can actually rely on subreddits to guaranteed give you what you want.

One thing that would at least help increase the average quality of images/videos being pulled would be a filter for upvotes. This would eliminate all the trash that gets posted randomly on subreddits all the time and only leave the stuff that is at least liked by the community of the subreddit.
See this is how the system is supposed to work. You have both URLs to pull images and videos from and local images. It will select media for each category randomly from the pool of those two combined.
Categories can be added on the go. So if you don't want online pictures at all just don't add any URLs and just local folders.
Why am I even talking about that then? Because some current TAI personalities differ between showImage and showLocalImage and because my local image storage is pretty slim it just gets repetitive and if there aren't any images its just awkward or errors out. That's why I want it to not differ between the two content pools.

And yes an upvote filter is actually a nice idea!
Triple Alfa
Explorer At Heart
Explorer At Heart
Posts: 175
Joined: Wed Dec 05, 2007 12:35 pm

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

Post by Triple Alfa »

GodDragon wrote: Wed Jul 01, 2020 1:33 pm See this is how the system is supposed to work. You have both URLs to pull images and videos from and local images. It will select media for each category randomly from the pool of those two combined.
Categories can be added on the go. So if you don't want online pictures at all just don't add any URLs and just local folders.
Why am I even talking about that then? Because some current TAI personalities differ between showImage and showLocalImage and because my local image storage is pretty slim it just gets repetitive and if there aren't any images its just awkward or errors out. That's why I want it to not differ between the two content pools.
For the purpose that you are describing I understand where you are coming from. If things are already random let them be random from whatever source is best.

However I'm thinking about this from a creator's perspective as well. If I have full control over the content that is shown, even if that content is randomized, I can change my interaction with the user to match. That's because I can fully rely on the properties of the content. Once you add an online source that reliability disappears and you have to change your approach to account for that. In my experience this significantly lowers the quality because the connection between text and images/videos becomes much weaker. (It also makes it much harder to write for as you have to write independent of the content being shown.)

Another important element that I must mention is that the quality of the content will also change the effect it has on the user. For example stroking to random online content will usually get a much weaker reaction than stroking to the best content the user has locally saved, because those are their favorites. This creates balance issues that are hard to resolve.

I hope this makes my perspective on the matter clear enough.
Triple Alfa
Explorer At Heart
Explorer At Heart
Posts: 175
Joined: Wed Dec 05, 2007 12:35 pm

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

Post by Triple Alfa »

Since I'm now using lazysub for navigation I'm trying to get it to send a message different from the button name. I know there is variant of addOption() for that as seen here:

Code: Select all

public void addOption(String optionMessage) {
        addOption(optionMessage, optionMessage);
    }

    public static void addOption(String optionName, String optionMessage) {
        TeaseAI.application.runOnUIThread(new Runnable() {
            @Override
            public void run() {
                TeaseAI.application.getController().getLazySubController().addButton(TeaseAI.application.getController().getLazySubController().createSendMessageButton(optionName, optionMessage));
            }
        });
    }
But when I try to implement it like this:

Code: Select all

function createNewLazySubButton(name, text) {
    let button = new AnswerClass().addOption(name, text);
}
I get the following error:

Code: Select all

11:02:55 am SEVERE: Latest loaded file was 'D:\Temp ICO\Teases\Tease AI Java\TeaseAI Java 1.2.2\Personalities\Femdom Resort\Events\Widowmaker\Ass Licking.js' and error was found in line 648
Error: TypeError: Can not invoke method [jdk.dynalink.beans.SimpleDynamicMethod void me.goddragon.teaseai.api.chat.Answer.addOption(String)] with the passed arguments; they do not match any of its method signatures. in <eval> at line number 648
javax.script.ScriptException: TypeError: Can not invoke method [jdk.dynalink.beans.SimpleDynamicMethod void me.goddragon.teaseai.api.chat.Answer.addOption(String)] with the passed arguments; they do not match any of its method signatures. in <eval> at line number 648
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:477)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:461)
	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:191)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:172)
	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$18$277$\^eval\_.RunEventAssLicking(<eval>:12)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$17$\^eval\_/0x00000008011cd440.:program(<eval>:6)
	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:191)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:172)
	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$4$\^eval\_.:scopeCall(<eval>)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$4$\^eval\_.:program(<eval>:25)
	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:191)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:145)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:125)
	at me.goddragon.teaseai.api.session.Session$1.run(Session.java:43)
Caused by: <eval>:648 TypeError: Can not invoke method [jdk.dynalink.beans.SimpleDynamicMethod void me.goddragon.teaseai.api.chat.Answer.addOption(String)] with the passed arguments; they do not match any of its method signatures.
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:213)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:185)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:172)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.NashornBottomLinker.linkBean(NashornBottomLinker.java:120)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.NashornBottomLinker.getGuardedInvocation(NashornBottomLinker.java:78)
	at jdk.dynalink/jdk.dynalink.linker.support.CompositeGuardingDynamicLinker.getGuardedInvocation(CompositeGuardingDynamicLinker.java:109)
	at jdk.dynalink/jdk.dynalink.LinkerServicesImpl.lambda$getGuardedInvocation$0(LinkerServicesImpl.java:137)
	at jdk.dynalink/jdk.dynalink.LinkerServicesImpl.getWithLookupInternal(LinkerServicesImpl.java:168)
	at jdk.dynalink/jdk.dynalink.LinkerServicesImpl.getGuardedInvocation(LinkerServicesImpl.java:135)
	at jdk.dynalink/jdk.dynalink.DynamicLinker.relink(DynamicLinker.java:242)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$23$22768AA$\^eval\_.createNewLazySubButton(<eval>:648)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$19$\^eval\_.:program(<eval>:19)
	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)
	... 36 more
11:02:55 am SEVERE: Latest loaded file was 'D:\Temp ICO\Teases\Tease AI Java\TeaseAI Java 1.2.2\Personalities\Femdom Resort\Events\Widowmaker\Ass Licking.js' and error was found in line 648
Error: TypeError: Can not invoke method [jdk.dynalink.beans.SimpleDynamicMethod void me.goddragon.teaseai.api.chat.Answer.addOption(String)] with the passed arguments; they do not match any of its method signatures. in <eval> at line number 648
javax.script.ScriptException: TypeError: Can not invoke method [jdk.dynalink.beans.SimpleDynamicMethod void me.goddragon.teaseai.api.chat.Answer.addOption(String)] with the passed arguments; they do not match any of its method signatures. in <eval> at line number 648
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:477)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:461)
	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:191)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:172)
	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$4$\^eval\_.:scopeCall(<eval>)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$4$\^eval\_.:program(<eval>:25)
	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:191)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:145)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:125)
	at me.goddragon.teaseai.api.session.Session$1.run(Session.java:43)
Caused by: <eval>:648 TypeError: Can not invoke method [jdk.dynalink.beans.SimpleDynamicMethod void me.goddragon.teaseai.api.chat.Answer.addOption(String)] with the passed arguments; they do not match any of its method signatures.
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:213)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:185)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:172)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.NashornBottomLinker.linkBean(NashornBottomLinker.java:120)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.NashornBottomLinker.getGuardedInvocation(NashornBottomLinker.java:78)
	at jdk.dynalink/jdk.dynalink.linker.support.CompositeGuardingDynamicLinker.getGuardedInvocation(CompositeGuardingDynamicLinker.java:109)
	at jdk.dynalink/jdk.dynalink.LinkerServicesImpl.lambda$getGuardedInvocation$0(LinkerServicesImpl.java:137)
	at jdk.dynalink/jdk.dynalink.LinkerServicesImpl.getWithLookupInternal(LinkerServicesImpl.java:168)
	at jdk.dynalink/jdk.dynalink.LinkerServicesImpl.getGuardedInvocation(LinkerServicesImpl.java:135)
	at jdk.dynalink/jdk.dynalink.DynamicLinker.relink(DynamicLinker.java:242)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$23$22768AA$\^eval\_.createNewLazySubButton(<eval>:648)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$24$\^eval\_.:scopeCall-1(<eval>)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$24$\^eval\_.gotoMainMenu(<eval>:6)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$17$\^eval\_/0x00000008011cd440.:program(<eval>:8)
	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)
	... 22 more
If I'm reading this correctly it seems like "public void addOption(String optionMessage)" is being called rather than "public static void addOption(String optionName, String optionMessage)". I don't understand why that is though. Both variables that are being used are Strings so I thought this approach would work.

Note that the code used to be like this and created buttons just fine:

Code: Select all

function createNewLazySubButton(name) {
    let button = new AnswerClass().addOption(name);
}
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.2)

Post by GodDragon »

Triple Alfa wrote: Thu Jul 02, 2020 7:16 am
GodDragon wrote: Wed Jul 01, 2020 1:33 pm See this is how the system is supposed to work. You have both URLs to pull images and videos from and local images. It will select media for each category randomly from the pool of those two combined.
Categories can be added on the go. So if you don't want online pictures at all just don't add any URLs and just local folders.
Why am I even talking about that then? Because some current TAI personalities differ between showImage and showLocalImage and because my local image storage is pretty slim it just gets repetitive and if there aren't any images its just awkward or errors out. That's why I want it to not differ between the two content pools.
For the purpose that you are describing I understand where you are coming from. If things are already random let them be random from whatever source is best.

However I'm thinking about this from a creator's perspective as well. If I have full control over the content that is shown, even if that content is randomized, I can change my interaction with the user to match. That's because I can fully rely on the properties of the content. Once you add an online source that reliability disappears and you have to change your approach to account for that. In my experience this significantly lowers the quality because the connection between text and images/videos becomes much weaker. (It also makes it much harder to write for as you have to write independent of the content being shown.)

Another important element that I must mention is that the quality of the content will also change the effect it has on the user. For example stroking to random online content will usually get a much weaker reaction than stroking to the best content the user has locally saved, because those are their favorites. This creates balance issues that are hard to resolve.

I hope this makes my perspective on the matter clear enough.
Well but if you rely on using local image functions specifically and don't have any fallback you force users to create collections which for me is not acceptable. It should be working without that if the user doesn't want to. I for example prefer online random images which I haven't seen before for the most cases. My head is the thing that turns me on the most anyway. Whenever I usually jerk off outside of BDSM I don't need any material, I just go for it.
And offering both with fallback should harm any approach you want to take should it?
Triple Alfa wrote: Thu Jul 02, 2020 9:27 am Since I'm now using lazysub for navigation I'm trying to get it to send a message different from the button name. I know there is variant of addOption() for that as seen here:

Code: Select all

public void addOption(String optionMessage) {
        addOption(optionMessage, optionMessage);
    }

    public static void addOption(String optionName, String optionMessage) {
        TeaseAI.application.runOnUIThread(new Runnable() {
            @Override
            public void run() {
                TeaseAI.application.getController().getLazySubController().addButton(TeaseAI.application.getController().getLazySubController().createSendMessageButton(optionName, optionMessage));
            }
        });
    }
But when I try to implement it like this:

Code: Select all

function createNewLazySubButton(name, text) {
    let button = new AnswerClass().addOption(name, text);
}
I get the following error:

Code: Select all

11:02:55 am SEVERE: Latest loaded file was 'D:\Temp ICO\Teases\Tease AI Java\TeaseAI Java 1.2.2\Personalities\Femdom Resort\Events\Widowmaker\Ass Licking.js' and error was found in line 648
Error: TypeError: Can not invoke method [jdk.dynalink.beans.SimpleDynamicMethod void me.goddragon.teaseai.api.chat.Answer.addOption(String)] with the passed arguments; they do not match any of its method signatures. in <eval> at line number 648
javax.script.ScriptException: TypeError: Can not invoke method [jdk.dynalink.beans.SimpleDynamicMethod void me.goddragon.teaseai.api.chat.Answer.addOption(String)] with the passed arguments; they do not match any of its method signatures. in <eval> at line number 648
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:477)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:461)
	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:191)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:172)
	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$18$277$\^eval\_.RunEventAssLicking(<eval>:12)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$17$\^eval\_/0x00000008011cd440.:program(<eval>:6)
	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:191)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:172)
	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$4$\^eval\_.:scopeCall(<eval>)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$4$\^eval\_.:program(<eval>:25)
	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:191)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:145)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:125)
	at me.goddragon.teaseai.api.session.Session$1.run(Session.java:43)
Caused by: <eval>:648 TypeError: Can not invoke method [jdk.dynalink.beans.SimpleDynamicMethod void me.goddragon.teaseai.api.chat.Answer.addOption(String)] with the passed arguments; they do not match any of its method signatures.
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:213)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:185)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:172)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.NashornBottomLinker.linkBean(NashornBottomLinker.java:120)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.NashornBottomLinker.getGuardedInvocation(NashornBottomLinker.java:78)
	at jdk.dynalink/jdk.dynalink.linker.support.CompositeGuardingDynamicLinker.getGuardedInvocation(CompositeGuardingDynamicLinker.java:109)
	at jdk.dynalink/jdk.dynalink.LinkerServicesImpl.lambda$getGuardedInvocation$0(LinkerServicesImpl.java:137)
	at jdk.dynalink/jdk.dynalink.LinkerServicesImpl.getWithLookupInternal(LinkerServicesImpl.java:168)
	at jdk.dynalink/jdk.dynalink.LinkerServicesImpl.getGuardedInvocation(LinkerServicesImpl.java:135)
	at jdk.dynalink/jdk.dynalink.DynamicLinker.relink(DynamicLinker.java:242)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$23$22768AA$\^eval\_.createNewLazySubButton(<eval>:648)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$19$\^eval\_.:program(<eval>:19)
	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)
	... 36 more
11:02:55 am SEVERE: Latest loaded file was 'D:\Temp ICO\Teases\Tease AI Java\TeaseAI Java 1.2.2\Personalities\Femdom Resort\Events\Widowmaker\Ass Licking.js' and error was found in line 648
Error: TypeError: Can not invoke method [jdk.dynalink.beans.SimpleDynamicMethod void me.goddragon.teaseai.api.chat.Answer.addOption(String)] with the passed arguments; they do not match any of its method signatures. in <eval> at line number 648
javax.script.ScriptException: TypeError: Can not invoke method [jdk.dynalink.beans.SimpleDynamicMethod void me.goddragon.teaseai.api.chat.Answer.addOption(String)] with the passed arguments; they do not match any of its method signatures. in <eval> at line number 648
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:477)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:461)
	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:191)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:172)
	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$4$\^eval\_.:scopeCall(<eval>)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$4$\^eval\_.:program(<eval>:25)
	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:191)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:145)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:125)
	at me.goddragon.teaseai.api.session.Session$1.run(Session.java:43)
Caused by: <eval>:648 TypeError: Can not invoke method [jdk.dynalink.beans.SimpleDynamicMethod void me.goddragon.teaseai.api.chat.Answer.addOption(String)] with the passed arguments; they do not match any of its method signatures.
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:213)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:185)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:172)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.NashornBottomLinker.linkBean(NashornBottomLinker.java:120)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.NashornBottomLinker.getGuardedInvocation(NashornBottomLinker.java:78)
	at jdk.dynalink/jdk.dynalink.linker.support.CompositeGuardingDynamicLinker.getGuardedInvocation(CompositeGuardingDynamicLinker.java:109)
	at jdk.dynalink/jdk.dynalink.LinkerServicesImpl.lambda$getGuardedInvocation$0(LinkerServicesImpl.java:137)
	at jdk.dynalink/jdk.dynalink.LinkerServicesImpl.getWithLookupInternal(LinkerServicesImpl.java:168)
	at jdk.dynalink/jdk.dynalink.LinkerServicesImpl.getGuardedInvocation(LinkerServicesImpl.java:135)
	at jdk.dynalink/jdk.dynalink.DynamicLinker.relink(DynamicLinker.java:242)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$23$22768AA$\^eval\_.createNewLazySubButton(<eval>:648)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$24$\^eval\_.:scopeCall-1(<eval>)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$24$\^eval\_.gotoMainMenu(<eval>:6)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$17$\^eval\_/0x00000008011cd440.:program(<eval>:8)
	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)
	... 22 more
If I'm reading this correctly it seems like "public void addOption(String optionMessage)" is being called rather than "public static void addOption(String optionName, String optionMessage)". I don't understand why that is though. Both variables that are being used are Strings so I thought this approach would work.

Note that the code used to be like this and created buttons just fine:

Code: Select all

function createNewLazySubButton(name) {
    let button = new AnswerClass().addOption(name);
}
The function is static. So no "new AnswerClass()" just Java.type("class.path").addOption ;-)
Triple Alfa
Explorer At Heart
Explorer At Heart
Posts: 175
Joined: Wed Dec 05, 2007 12:35 pm

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

Post by Triple Alfa »

GodDragon wrote: Thu Jul 02, 2020 10:34 am Well but if you rely on using local image functions specifically and don't have any fallback you force users to create collections which for me is not acceptable. It should be working without that if the user doesn't want to. I for example prefer online random images which I haven't seen before for the most cases. My head is the thing that turns me on the most anyway. Whenever I usually jerk off outside of BDSM I don't need any material, I just go for it.
And offering both with fallback should harm any approach you want to take should it?
Let me offer you an example to show this doesn't always work.
Say I'm teasing the user with boobs. I'm using local images so I know all the girls are front facing with naked boobs. My text makes references to both these elements. I now add a boobs subreddit as a secondary source. A lot of the images pulled from there do not meet the aforementioned criteria. Now the text no longer makes sense.
If I adjust the text to conform to the subreddit I'm making it more generic and lowering the quality. If I don't I screw up the user experience and might as well not have the reddit functionality in the first place.

Another even simpler problem, what if there is no subreddit for the type of images you're using. Maybe less of an issue for RL porn, but 3D renders and hentai do have this issue a lot.

It's all about the connection between the text and the images. The less control you have the more generic and low quality you have to make your text.

EDIT1:
While I was writing this I looked up some generic hentai subreddits and came across a perfect example of what I was referring to earlier regarding subreddits being unreliable. I got to /r/BigAnimeTiddies/ and already saw that a lot of posts didn't follow rule number 2 "The tiddies must be big.". Searching further I came across this gem: https://www.reddit.com/r/BigAnimeTiddie ... _rosalina/
Technically it's following the rules of the subreddit, but the image isn't about the boobs at all.
The function is static. So no "new AnswerClass()" just Java.type("class.path").addOption ;-)
Ah is that how that works. I guess that makes sense.
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.2)

Post by GodDragon »

Triple Alfa wrote: Fri Jul 03, 2020 8:19 am
GodDragon wrote: Thu Jul 02, 2020 10:34 am Well but if you rely on using local image functions specifically and don't have any fallback you force users to create collections which for me is not acceptable. It should be working without that if the user doesn't want to. I for example prefer online random images which I haven't seen before for the most cases. My head is the thing that turns me on the most anyway. Whenever I usually jerk off outside of BDSM I don't need any material, I just go for it.
And offering both with fallback should harm any approach you want to take should it?
Let me offer you an example to show this doesn't always work.
Say I'm teasing the user with boobs. I'm using local images so I know all the girls are front facing with naked boobs. My text makes references to both these elements. I now add a boobs subreddit as a secondary source. A lot of the images pulled from there do not meet the aforementioned criteria. Now the text no longer makes sense.
If I adjust the text to conform to the subreddit I'm making it more generic and lowering the quality. If I don't I screw up the user experience and might as well not have the reddit functionality in the first place.

Another even simpler problem, what if there is no subreddit for the type of images you're using. Maybe less of an issue for RL porn, but 3D renders and hentai do have this issue a lot.

It's all about the connection between the text and the images. The less control you have the more generic and low quality you have to make your text.

EDIT1:
While I was writing this I looked up some generic hentai subreddits and came across a perfect example of what I was referring to earlier regarding subreddits being unreliable. I got to /r/BigAnimeTiddies/ and already saw that a lot of posts didn't follow rule number 2 "The tiddies must be big.". Searching further I came across this gem: https://www.reddit.com/r/BigAnimeTiddie ... _rosalina/
Technically it's following the rules of the subreddit, but the image isn't about the boobs at all.
The function is static. So no "new AnswerClass()" just Java.type("class.path").addOption ;-)
Ah is that how that works. I guess that makes sense.
I don't see the problem. Of course that's a downgrade but a downgrade for the users who decides against local images only. It's not a downgrade to your personality in general. If you suggest to use local images or even offer pre tagged folders why not let the users decide if they want the full experience or not?
Triple Alfa
Explorer At Heart
Explorer At Heart
Posts: 175
Joined: Wed Dec 05, 2007 12:35 pm

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

Post by Triple Alfa »

GodDragon wrote: Fri Jul 03, 2020 1:34 pm I don't see the problem. Of course that's a downgrade but a downgrade for the users who decides against local images only. It's not a downgrade to your personality in general. If you suggest to use local images or even offer pre tagged folders why not let the users decide if they want the full experience or not?
Say I'm showing a local image of a girl bent over showing her naked ass and accompany it with something like "Look at her all bent over for you. She looks ready to get fucked and all you can do is stroke.". Now replace that image with a random online image displaying a girl showing her clothed ass in a standing position. That to me is unacceptable. It's actually flawed and will probably get complaints/bug reports and rightfully so. It also reflects poorly on the personality and author in general as by releasing that content they give it their seal of "acceptable" at the very least.

Personally I would not feel comfortable releasing something with the message "I know this is shit and broken, but here you go use it if you want to.". That would only reflect poorly on me and my content. And I know from experience that no matter how much you tell people things like "This is unfinished content", "This is an alpha, expect bugs", etc. a lot of them if not most of them will still complain and treat it as if you gave it your final seal of approval. So if you put a feature in you can't just say "Using this feature is not recommended" and expect people to just accept that. Because they won't.
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.2)

Post by GodDragon »

Triple Alfa wrote: Sat Jul 04, 2020 7:34 pm
GodDragon wrote: Fri Jul 03, 2020 1:34 pm I don't see the problem. Of course that's a downgrade but a downgrade for the users who decides against local images only. It's not a downgrade to your personality in general. If you suggest to use local images or even offer pre tagged folders why not let the users decide if they want the full experience or not?
Say I'm showing a local image of a girl bent over showing her naked ass and accompany it with something like "Look at her all bent over for you. She looks ready to get fucked and all you can do is stroke.". Now replace that image with a random online image displaying a girl showing her clothed ass in a standing position. That to me is unacceptable. It's actually flawed and will probably get complaints/bug reports and rightfully so. It also reflects poorly on the personality and author in general as by releasing that content they give it their seal of "acceptable" at the very least.

Personally I would not feel comfortable releasing something with the message "I know this is shit and broken, but here you go use it if you want to.". That would only reflect poorly on me and my content. And I know from experience that no matter how much you tell people things like "This is unfinished content", "This is an alpha, expect bugs", etc. a lot of them if not most of them will still complain and treat it as if you gave it your final seal of approval. So if you put a feature in you can't just say "Using this feature is not recommended" and expect people to just accept that. Because they won't.
Wait why shouldn't you be allowed to show images that come with the personality? I have been talking about category images all the time. Like showCategoryImage("Boobs"); etc. and not showing images from a specific path. That of course will not be generalized.
I said I just don't want personality users to be forced to setup local folders on their own and find pictures themselves.
izura
Curious Newbie
Curious Newbie
Posts: 4
Joined: Mon Jun 10, 2019 7:19 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive
Dom/me(s): looking for

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

Post by izura »

GodDragon wrote: Sat Jul 04, 2020 10:10 pm Wait why shouldn't you be allowed to show images that come with the personality? I have been talking about category images all the time. Like showCategoryImage("Boobs"); etc. and not showing images from a specific path. That of course will not be generalized.
I said I just don't want personality users to be forced to setup local folders on their own and find pictures themselves.
I think he was speaking about specific tags in a generalised folder (for example called boobs).

that said I think you don't have to downgrade because of fallbacks.
You are not responsible if the user was lazy / unable to fulfill the preconditions and the creator did not plan a fallback.
The only important thing (for you) is to make sure that every functions have a return value which makes it possible to determine the success or the failure of the function, allowing error handling and if needed a fallback.
In addition, the more detailed you can be, the more real the personality will appear, wich is why i agree with Triple Alfa
Triple Alfa
Explorer At Heart
Explorer At Heart
Posts: 175
Joined: Wed Dec 05, 2007 12:35 pm

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

Post by Triple Alfa »

GodDragon wrote: Sat Jul 04, 2020 10:10 pm Wait why shouldn't you be allowed to show images that come with the personality? I have been talking about category images all the time. Like showCategoryImage("Boobs"); etc. and not showing images from a specific path. That of course will not be generalized.
I said I just don't want personality users to be forced to setup local folders on their own and find pictures themselves.
I think we've been partially talking past each other. You assume the default currently is generalized local images that in your opinion should be able to be replaced by generalized online images. I did not make the same assumption. I thought you were talking about local images in general since you referred to only very specific local images like Mistress images remaining in your ideal scenario.

Since both my current and past personalities did not use generalized local images as their main source of visual content I did not assume that as the default. What I've been mainly referring to is using local images with more specific requirements than that of very generalized local content that could be replaced with online images. In my experience the more generalized the visual content is the lower the quality of the accompanying text is. That is why I do not view generalized local or online content as a great default option and instead prefer a more controlled and/or curated option.
meaculpa_uk
Explorer
Explorer
Posts: 85
Joined: Mon Jan 11, 2016 9:46 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

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

Post by meaculpa_uk »

From the TAI Java Alpha thread.

"Spicy Java seeming to be the only viable reason for using TAIJava, then a lot of people are wanting to see if it's worth bothering with the port from standard TAI. The original Spicy was a great example of a brilliant idea that was implemented exceedling badly. People just want to know if Java Spicy lives up to the hype and to get a flavour of it. Right now you're blocking development of new personalities for both formats of TAI because no one knows which is better. 1885 effectively killed Miss Blue by releasing Fury but without incorporating the changes from Sweet Patch and making his own changes, so it's now impossible to run both Miss Blue and Fury from the same .exe

This forum is dying and interest is lacking because there's been no communication and developers/scripts writers are just bored of the uncertainty. If you want this place to gather pace, then releasing the Alpha of Spicy Java will at least give folks an idea of where to direct attention to. "
lotar232
Explorer
Explorer
Posts: 76
Joined: Sat Nov 01, 2008 6:34 pm

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

Post by lotar232 »

meaculpa_uk wrote: Sun Aug 02, 2020 1:38 pm From the TAI Java Alpha thread.

"Spicy Java seeming to be the only viable reason for using TAIJava, then a lot of people are wanting to see if it's worth bothering with the port from standard TAI. The original Spicy was a great example of a brilliant idea that was implemented exceedling badly. People just want to know if Java Spicy lives up to the hype and to get a flavour of it. Right now you're blocking development of new personalities for both formats of TAI because no one knows which is better. 1885 effectively killed Miss Blue by releasing Fury but without incorporating the changes from Sweet Patch and making his own changes, so it's now impossible to run both Miss Blue and Fury from the same .exe

This forum is dying and interest is lacking because there's been no communication and developers/scripts writers are just bored of the uncertainty. If you want this place to gather pace, then releasing the Alpha of Spicy Java will at least give folks an idea of where to direct attention to. "
I've been playing a fork of Spicy in TAJ for about a year now, periodically syncing to the main branch and making compatability fixes, but I have a lower bar for Polish than Godragon, and I stopped trying to sync 4-5 months ago. I've also started experimenting with doing toy integrations in some of my spicy scripts (Pishock &lovense have API's you can ping from javascript to issue a shock or control a lovense vibrator)... which work for me, but might make my branch of code clunky if you don't have the same toys as I, (and I would need to write onboarding code to coach users how to set up the toys, where I've just jammed some constants in the code)

One other shadow hanging over TAI Java is the Nashorn warnings I keep seeing... I think at some point someone is going to have to port TAI Java itself to GraalVM (or whatever the new engine is) or else we'll find one day that TAI Java won't run on current Java installs.... I'm a little leery of investing a lot of time polishing my Spicy fork without seeing anyone go after that potential issue.
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.2)

Post by ski23 »

lotar232 wrote: Tue Aug 04, 2020 5:54 am
meaculpa_uk wrote: Sun Aug 02, 2020 1:38 pm From the TAI Java Alpha thread.

"Spicy Java seeming to be the only viable reason for using TAIJava, then a lot of people are wanting to see if it's worth bothering with the port from standard TAI. The original Spicy was a great example of a brilliant idea that was implemented exceedling badly. People just want to know if Java Spicy lives up to the hype and to get a flavour of it. Right now you're blocking development of new personalities for both formats of TAI because no one knows which is better. 1885 effectively killed Miss Blue by releasing Fury but without incorporating the changes from Sweet Patch and making his own changes, so it's now impossible to run both Miss Blue and Fury from the same .exe

This forum is dying and interest is lacking because there's been no communication and developers/scripts writers are just bored of the uncertainty. If you want this place to gather pace, then releasing the Alpha of Spicy Java will at least give folks an idea of where to direct attention to. "
I've been playing a fork of Spicy in TAJ for about a year now, periodically syncing to the main branch and making compatability fixes, but I have a lower bar for Polish than Godragon, and I stopped trying to sync 4-5 months ago. I've also started experimenting with doing toy integrations in some of my spicy scripts (Pishock &lovense have API's you can ping from javascript to issue a shock or control a lovense vibrator)... which work for me, but might make my branch of code clunky if you don't have the same toys as I, (and I would need to write onboarding code to coach users how to set up the toys, where I've just jammed some constants in the code)

One other shadow hanging over TAI Java is the Nashorn warnings I keep seeing... I think at some point someone is going to have to port TAI Java itself to GraalVM (or whatever the new engine is) or else we'll find one day that TAI Java won't run on current Java installs.... I'm a little leery of investing a lot of time polishing my Spicy fork without seeing anyone go after that potential issue.
Regarding spicy, I can't speak for that as I'm not involved in that project. However, there are other personalities for TAJ in the works mainly one that I'm working on and others. You have to understand though that I can't work on this full time and I have a full time job, relationship, and other hobbies. Regarding Nashorn, Tease AI Java will never break one day because of this. All those warnings are saying is that nashorn will be removed in a later version of Java. However, when we upgrade to that version of Java we would have to deal with that so it's not something that would just break because we would have to upgrade to that version anyway. Furthermore, moving to Graal is a priority and is definitely going to happen. On the topic of personalities, I can't give much info on when certain personalities will or won't come out. GodDragon and I have created this platform as a way to make personalities and it has way more possibilities than the original TAI but at the end of the day it can't always just be the 2 of us making both TAJ and every personality. There have been many weeks that I have worked in excess of 40 hours a week on this project and it isn't sustainable to continue at that rate all the time.
lotar232
Explorer
Explorer
Posts: 76
Joined: Sat Nov 01, 2008 6:34 pm

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

Post by lotar232 »

ski23 wrote: Tue Aug 04, 2020 12:54 pm
lotar232 wrote: Tue Aug 04, 2020 5:54 am
meaculpa_uk wrote: Sun Aug 02, 2020 1:38 pm From the TAI Java Alpha thread.

"Spicy Java seeming to be the only viable reason for using TAIJava, then a lot of people are wanting to see if it's worth bothering with the port from standard TAI. The original Spicy was a great example of a brilliant idea that was implemented exceedling badly. People just want to know if Java Spicy lives up to the hype and to get a flavour of it. Right now you're blocking development of new personalities for both formats of TAI because no one knows which is better. 1885 effectively killed Miss Blue by releasing Fury but without incorporating the changes from Sweet Patch and making his own changes, so it's now impossible to run both Miss Blue and Fury from the same .exe

This forum is dying and interest is lacking because there's been no communication and developers/scripts writers are just bored of the uncertainty. If you want this place to gather pace, then releasing the Alpha of Spicy Java will at least give folks an idea of where to direct attention to. "
I've been playing a fork of Spicy in TAJ for about a year now, periodically syncing to the main branch and making compatability fixes, but I have a lower bar for Polish than Godragon, and I stopped trying to sync 4-5 months ago. I've also started experimenting with doing toy integrations in some of my spicy scripts (Pishock &lovense have API's you can ping from javascript to issue a shock or control a lovense vibrator)... which work for me, but might make my branch of code clunky if you don't have the same toys as I, (and I would need to write onboarding code to coach users how to set up the toys, where I've just jammed some constants in the code)

One other shadow hanging over TAI Java is the Nashorn warnings I keep seeing... I think at some point someone is going to have to port TAI Java itself to GraalVM (or whatever the new engine is) or else we'll find one day that TAI Java won't run on current Java installs.... I'm a little leery of investing a lot of time polishing my Spicy fork without seeing anyone go after that potential issue.
Regarding spicy, I can't speak for that as I'm not involved in that project. However, there are other personalities for TAJ in the works mainly one that I'm working on and others. You have to understand though that I can't work on this full time and I have a full time job, relationship, and other hobbies. Regarding Nashorn, Tease AI Java will never break one day because of this. All those warnings are saying is that nashorn will be removed in a later version of Java. However, when we upgrade to that version of Java we would have to deal with that so it's not something that would just break because we would have to upgrade to that version anyway. Furthermore, moving to Graal is a priority and is definitely going to happen. On the topic of personalities, I can't give much info on when certain personalities will or won't come out. GodDragon and I have created this platform as a way to make personalities and it has way more possibilities than the original TAI but at the end of the day it can't always just be the 2 of us making both TAJ and every personality. There have been many weeks that I have worked in excess of 40 hours a week on this project and it isn't sustainable to continue at that rate all the time.
sorry, I think I misspoke about the Nashorn issue... by "current" I meant "current in the future".... i.e. at some point in the future we would need to port to GraalVM or provide hokey install instructions to newcomers to find an old version of Java thats still compatible.... if there's some long period of time where TAJ won't run and people are waiting for TAJ itself to get fixed to match Auto-updated Java installs, that might be a roadblock to developers...
Post Reply

Who is online

Users browsing this forum: No registered users and 9 guests