Tease Ai scripting: The HELP CORNER

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

Daragorn
Explorer At Heart
Explorer At Heart
Posts: 556
Joined: Fri Nov 06, 2015 1:16 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by Daragorn »

tigrotto wrote: Fri Oct 27, 2017 8:57 am Sorry but I don't think your solution would work, probably I didn't explained my problem correctly(or I didn't understand your solution... :whistle: ).
The script I'm talking is BlackJerk 6.0. It has a 50% chance to call the 3 Glitter; but it doesn't make sense to call someone who's already present in the chat, so I need something(a flag like you suggested for example...) that tells my script who's present and who's not and then, if necessary, it will call who's missing. So this flag should have already been created before opening BlackJerk.
Ah ok, if you need it for a standalone script, yes my idea won't work. I though you needed it for a personality, so my idea could be useful because you could re-use it in every script you needed to check for the presence of the glitters.

Your idea with the @Group is brilliant, i think it is the only way to achieve that.
But i don't see why you need to also use flags...groups phrases are already filtered depending on who is present, so you can just do a phrase for each possible group and add them in there like this:

@Group(D) @AddContact1 @AddContact2 @AddContact3
@Group(D1) @AddContact2 @AddContact3
@Group(D2) @AddContact1 @AddContact3
@Group(D3) @AddContact1 @AddContact2
@Group(D12) @AddContact3
@Group(D13) @AddContact2
@Group(D23) @AddContact1

I think this already sums up all the possible combinations with no need to do complex stuff with flags that seems to be unnecessary to me (but i don't know your script, so maybe they are needed for something else)
User avatar
tigrotto
Explorer At Heart
Explorer At Heart
Posts: 547
Joined: Sat Jul 15, 2017 5:13 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by tigrotto »

Daragorn wrote: Fri Oct 27, 2017 7:50 pm
tigrotto wrote: Fri Oct 27, 2017 8:57 am Sorry but I don't think your solution would work, probably I didn't explained my problem correctly(or I didn't understand your solution... :whistle: ).
The script I'm talking is BlackJerk 6.0. It has a 50% chance to call the 3 Glitter; but it doesn't make sense to call someone who's already present in the chat, so I need something(a flag like you suggested for example...) that tells my script who's present and who's not and then, if necessary, it will call who's missing. So this flag should have already been created before opening BlackJerk.
Ah ok, if you need it for a standalone script, yes my idea won't work. I though you needed it for a personality, so my idea could be useful because you could re-use it in every script you needed to check for the presence of the glitters.

Your idea with the @Group is brilliant, i think it is the only way to achieve that.
But i don't see why you need to also use flags...groups phrases are already filtered depending on who is present, so you can just do a phrase for each possible group and add them in there like this:

@Group(D) @AddContact1 @AddContact2 @AddContact3
@Group(D1) @AddContact2 @AddContact3
@Group(D2) @AddContact1 @AddContact3
@Group(D3) @AddContact1 @AddContact2
@Group(D12) @AddContact3
@Group(D13) @AddContact2
@Group(D23) @AddContact1

I think this already sums up all the possible combinations with no need to do complex stuff with flags that seems to be unnecessary to me (but i don't know your script, so maybe they are needed for something else)
Thanks!
Daragorn wrote: Fri Oct 27, 2017 7:50 pm But i don't see why you need to also use flags...groups phrases are already filtered depending on who is present, so you can just do a phrase for each possible group and add them in there like this:
Nothing important and probably I will change that. However in the script, right now, you have to wait a couple of minute before the three Glitter join the chat just to simulate the fact that the 3 glitter may have been doing something else when the domme called them so they need time to stop doing what they were doing and join the chat, just like in real life. During that time the domme will make you do something(stroking, edging...). I needed those flags so that later in the script I could call the missing Glitter.
However that part isn't very important and probably I'll change it and I'll use your solution.

Thanks again for your help!

Bye! :wave:

P.S. I'm reading the patch notes you told me...
User avatar
Cian
Explorer
Explorer
Posts: 26
Joined: Thu Oct 30, 2008 1:57 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by Cian »

I'm just starting on my first script, and just getting used to the commands and I have already hit a problem, I'm pretty sure I'm doing something wrong but, I cant figure out what xD What I am trying to do is set up a script that will randomly pick between the 3 contacts, then play the first in a series of 3 tasks, the next time its ran and that contact is chosen, the second part, and every time afterwards the third part. But it will only ever show the message for the first task of the first contact and nothing else :s This is the code i'm using:

Code: Select all

#StopStroking @StopStroking
I've got a few things I need to do again, but don't worry my glitter friends are at hand
@NullResponse @Goto(Mod01Contact1,Mod01Contact2,Mod01Contact3)
(Mod01Contact1)
@NullResponse @CheckFlag(Mod01Contact1Part2,Mod01Contact1Part3)
@NullResponse @CheckFlag(Mod01Contact1Part1,Mod01Contact1Part2)
@NullResponse @Goto(Mod01Contact1Part1)
(Mod01Contact1Part1)
This is the first Contact1 task
@NullResponse @SetFlag(Mod01Contact1Part1)
@End
(Mod01Contact1Part2)
This is the second Contact1 task
@NullResponse @SetFlag(Mod01Contact1Part2)
@End
(Mod01Contact1Part3)
This is the last Contact1 task
@NullResponse @SetFlag(Mod01Contact1Part3)
@End
(Mod01Contact2)
Contact2 tasks
@End
(Mod01Contact3)
Contact3 tasks
@End
The only message I ever see is "This is the first Contact1 task", I have tried with spaces after the "," like in the guides and it doesnt work, and tried without the spaces like ive seen in other scripts and again no change., also tried without the @Goto and it still doesnt work, the flags are being set, but then ignored :s does the @CheckFlag command not work this way? been using the examples in the command guide xD
Wooooooooooooooof
User avatar
genome231
Explorer At Heart
Explorer At Heart
Posts: 683
Joined: Wed Nov 12, 2014 8:35 am

Re: Tease Ai scripting: The HELP CORNER

Post by genome231 »

Fixed

Code: Select all

#StopStroking @StopStroking
I've got a few things I need to do again, but don't worry my glitter friends are at hand
@NullResponse @Goto(Mod01Contact1,Mod01Contact2,Mod01Contact3)
(Mod01Contact1)
@NullResponse @CheckFlag(Mod01Contact1Part3) 
@NullResponse @CheckFlag(Mod01Contact1Part2) 
(Mod01Contact1Part1)
This is the first Contact1 task
@NullResponse @SetFlag(Mod01Contact1Part2) 
@End
(Mod01Contact1Part2)
This is the second Contact1 task
@NullResponse @SetFlag(Mod01Contact1Part3) 
@End
(Mod01Contact1Part3)
This is the last Contact1 task
@End
(Mod01Contact2)
Contact2 tasks
@End
(Mod01Contact3)
Contact3 tasks
@End
Tribute to 1885 & those involved with Tease-AI.
Thank you for spending time on this awesome project! :-)
User avatar
tigrotto
Explorer At Heart
Explorer At Heart
Posts: 547
Joined: Sat Jul 15, 2017 5:13 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by tigrotto »

Cian wrote: Mon Oct 30, 2017 4:09 pm I'm just starting on my first script, and just getting used to the commands and I have already hit a problem, I'm pretty sure I'm doing something wrong but, I cant figure out what xD What I am trying to do is set up a script that will randomly pick between the 3 contacts, then play the first in a series of 3 tasks, the next time its ran and that contact is chosen, the second part, and every time afterwards the third part. But it will only ever show the message for the first task of the first contact and nothing else :s This is the code i'm using:

Code: Select all

#StopStroking @StopStroking
I've got a few things I need to do again, but don't worry my glitter friends are at hand
@NullResponse @Goto(Mod01Contact1,Mod01Contact2,Mod01Contact3)
(Mod01Contact1)
@NullResponse @CheckFlag(Mod01Contact1Part2,Mod01Contact1Part3)
@NullResponse @CheckFlag(Mod01Contact1Part1,Mod01Contact1Part2)
@NullResponse @Goto(Mod01Contact1Part1)
(Mod01Contact1Part1)
This is the first Contact1 task
@NullResponse @SetFlag(Mod01Contact1Part1)
@End
(Mod01Contact1Part2)
This is the second Contact1 task
@NullResponse @SetFlag(Mod01Contact1Part2)
@End
(Mod01Contact1Part3)
This is the last Contact1 task
@NullResponse @SetFlag(Mod01Contact1Part3)
@End
(Mod01Contact2)
Contact2 tasks
@End
(Mod01Contact3)
Contact3 tasks
@End
The only message I ever see is "This is the first Contact1 task", I have tried with spaces after the "," like in the guides and it doesnt work, and tried without the spaces like ive seen in other scripts and again no change., also tried without the @Goto and it still doesnt work, the flags are being set, but then ignored :s does the @CheckFlag command not work this way? been using the examples in the command guide xD
Your code is correct; I tried it 4 time with the following results:

Contact1 - Task1
Contact1 - Task2
Contact2 task
Contact3 task

The @CheckFlag commands works in both ways:

@CheckFlag(flag1, go_to_this_line): the script jump to line go_to_this_line if flag1 has been created

@CheckFlag(flag1): the script will move to line flag1 if flag flag1 has been created

One more advice: if you have multiple @NullResponse lines I would suggest to use the @RapidCodeOn command, like this:

Code: Select all

#StopStroking @StopStroking
I've got a few things I need to do again, but don't worry my glitter friends are at hand
@NullResponse @Goto(Mod01Contact1,Mod01Contact2,Mod01Contact3)
(Mod01Contact1)
@NullResponse @RapidCodeOn
@NullResponse @CheckFlag(Mod01Contact1Part2,Mod01Contact1Part3)
@NullResponse @CheckFlag(Mod01Contact1Part1,Mod01Contact1Part2)
@NullResponse @Goto(Mod01Contact1Part1)
@NullResponse @RapidCodeOff
(Mod01Contact1Part1)
This is the first Contact1 task
@NullResponse @SetFlag(Mod01Contact1Part1)
@End
(Mod01Contact1Part2)
This is the second Contact1 task
@NullResponse @SetFlag(Mod01Contact1Part2)
@End
(Mod01Contact1Part3)
This is the last Contact1 task
@NullResponse @SetFlag(Mod01Contact1Part3)
@End
(Mod01Contact2)
Contact2 tasks
@End
(Mod01Contact3)
Contact3 tasks
@End
This allows you to process instantly all these lines without having to wait for those lines to get processed one by one.

Good luck with your script!
Bye! :wave:
User avatar
Cian
Explorer
Explorer
Posts: 26
Joined: Thu Oct 30, 2008 1:57 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by Cian »

Thanks for your help guys :D no idea why but it still wasn't working for me :( though after I changed the flag names it suddenly works?? xD bizarre but i'm happy its going now xD
Wooooooooooooooof
Daragorn
Explorer At Heart
Explorer At Heart
Posts: 556
Joined: Fri Nov 06, 2015 1:16 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by Daragorn »

Cian wrote: Mon Oct 30, 2017 7:06 pm Thanks for your help guys :D no idea why but it still wasn't working for me :( though after I changed the flag names it suddenly works?? xD bizarre but i'm happy its going now xD
maybe you had some of the flags in your personality/system/flags folder already present (possibly while doing some testing when you were writing the script) and that was messing things up, so now that you changed their names and "started from fresh" it works again.
If you are using flags that are needed just for a single session you have to use @TempFlag() and not @SetFlag().
TempFlags get resetted every time a session ends, while normal flags remain permanently until you @DeleteFlag() so, for example, once you @SetFlag(Mod01Contact1Part1), that will remain forever true until you manually delete it somewhere else with a @DeleteFlag(Mod01Contact1Part1) (or, obviously, if you manually remove the file in the flags folder)
User avatar
tigrotto
Explorer At Heart
Explorer At Heart
Posts: 547
Joined: Sat Jul 15, 2017 5:13 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by tigrotto »

Cian wrote: Mon Oct 30, 2017 7:06 pm Thanks for your help guys :D no idea why but it still wasn't working for me :( though after I changed the flag names it suddenly works?? xD bizarre but i'm happy its going now xD
You're welcome!
As I said your code was correct, it just needed to be optimized. It's your first script you have plenty of time to learn...
There's a Command guide inside TeaseAI(probably you've already found it...): open TeaseAI, on top of the window click on Tools and then on Command guide. You will find a list of command with the description; keep in mind that is outdated and you won't find the latest commands or functionalities that may've been added. That's why I recommend to read also the patch notes.

You're not obliged to do it, but if you want you could share your script when it's finished.

Bye! :wave:
User avatar
tigrotto
Explorer At Heart
Explorer At Heart
Posts: 547
Joined: Sat Jul 15, 2017 5:13 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by tigrotto »

Hi!
I have a question about @MultipleEdges command.

When I use @Edge(Hold) @MultipleEdges(x, y) the user edges x times with y seconds break in between and he will be told to hold the final edge.

The question is: is it possible to use @LongHold(XX) or @ExtremeHold(XX) together with @MultipleEdges(x, y)?

In this case @Edge(Hold) @MultipleEdges(x, y) @ExtremeHold(XX) will I have XX chance to hold an extremely long edge or is not possible to use @LongHold(XX)/@ExtremeHold(XX) this way?

Thanks! :wave:
User avatar
Cian
Explorer
Explorer
Posts: 26
Joined: Thu Oct 30, 2008 1:57 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by Cian »

I've gotten myself stuck again xD i have a section in my script that has the player edge several times in a row, the idea is to not cum. But if they do, instead of it jumping off to the punishment script it would go to a section of my script first. The @CameMode looked perfect for this, but I cant seem to get it to work :(

This is what I am trying to do:

Code: Select all

(Edging)
Edge for me @Edge @CameMode(Goto, UserCame)
Again @Edge
#LetTheEdgeFade
One more time @Edge
Thats Enough @CameMode(Normal)
@Goto(whatever)
(UserCame) 
stuff that never triggers :(
On the plus side I've got a mostly working humiliation module that makes use of an inflatable doll :P hopefully I will be able to release that soon ;)

Edit:
I think ive figured it out, it doesn't look like it works during an edge, but if you say you have edged after you say you have came it triggers fine xD
Last edited by Cian on Wed Nov 01, 2017 12:45 am, edited 1 time in total.
Wooooooooooooooof
User avatar
avatarbr
Experimentor
Experimentor
Posts: 1185
Joined: Fri Aug 18, 2006 3:33 am
Gender: Male
Sexual Orientation: Straight

Re: Tease Ai scripting: The HELP CORNER

Post by avatarbr »

Cian wrote: Wed Nov 01, 2017 12:13 am I've gotten myself stuck again xD i have a section in my script that has the player edge several times in a row, the idea is to not cum. But if they do, instead of it jumping off to the punishment script it would go to a section of my script first. The @CameMode looked perfect for this, but I cant seem to get it to work :(

I think you need to put @CameMode 1 line before, like this:

Code: Select all

@NullResponse @CameMode(Goto, UserCame)
Edge for me @Edge
Again @Edge
#LetTheEdgeFade
Maybe the @Edge command in the same line is preventing the @Camemode to active.
tigrotto wrote: Tue Oct 31, 2017 6:28 pm

When I use @Edge(Hold) @MultipleEdges(x, y) the user edges x times with y seconds break in between and he will be told to hold the final edge.

The question is: is it possible to use @LongHold(XX) or @ExtremeHold(XX) together with @MultipleEdges(x, y)?

In this case @Edge(Hold) @MultipleEdges(x, y) @ExtremeHold(XX) will I have XX chance to hold an extremely long edge or is not possible to use @LongHold(XX)/@ExtremeHold(XX) this way?

Thanks! :wave:
I think will not work, but should be easy to test. Just set a really low time for normal edges and see what happens.
User avatar
tigrotto
Explorer At Heart
Explorer At Heart
Posts: 547
Joined: Sat Jul 15, 2017 5:13 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by tigrotto »

avatarbr wrote: Wed Nov 01, 2017 12:27 am
tigrotto wrote: Tue Oct 31, 2017 6:28 pm

When I use @Edge(Hold) @MultipleEdges(x, y) the user edges x times with y seconds break in between and he will be told to hold the final edge.

The question is: is it possible to use @LongHold(XX) or @ExtremeHold(XX) together with @MultipleEdges(x, y)?

In this case @Edge(Hold) @MultipleEdges(x, y) @ExtremeHold(XX) will I have XX chance to hold an extremely long edge or is not possible to use @LongHold(XX)/@ExtremeHold(XX) this way?

Thanks! :wave:
I think will not work, but should be easy to test. Just set a really low time for normal edges and see what happens.
Why didn't I think about it before, I don't know.
Thanks I'll try that now.

Bye :wave:
User avatar
tigrotto
Explorer At Heart
Explorer At Heart
Posts: 547
Joined: Sat Jul 15, 2017 5:13 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by tigrotto »

tigrotto wrote: Wed Nov 01, 2017 9:55 am
avatarbr wrote: Wed Nov 01, 2017 12:27 am
tigrotto wrote: Tue Oct 31, 2017 6:28 pm

When I use @Edge(Hold) @MultipleEdges(x, y) the user edges x times with y seconds break in between and he will be told to hold the final edge.

The question is: is it possible to use @LongHold(XX) or @ExtremeHold(XX) together with @MultipleEdges(x, y)?

In this case @Edge(Hold) @MultipleEdges(x, y) @ExtremeHold(XX) will I have XX chance to hold an extremely long edge or is not possible to use @LongHold(XX)/@ExtremeHold(XX) this way?

Thanks! :wave:
I think will not work, but should be easy to test. Just set a really low time for normal edges and see what happens.
Why didn't I think about it before, I don't know.
Thanks I'll try that now.

Bye :wave:
Tried your solution and it works! Thanks!
You can also use @LongHold(XX) and @ExtremeHold(XX) on the same line, like this:

#Edge @Edge(Hold) @MultipleEdges(x,y) @LongHold(XX) @ExtremeHold(XX)

:wave:
User avatar
avatarbr
Experimentor
Experimentor
Posts: 1185
Joined: Fri Aug 18, 2006 3:33 am
Gender: Male
Sexual Orientation: Straight

Re: Tease Ai scripting: The HELP CORNER

Post by avatarbr »

Nice. TeaseAI will pick a ramdom edge between normal, long and extreme?
User avatar
tigrotto
Explorer At Heart
Explorer At Heart
Posts: 547
Joined: Sat Jul 15, 2017 5:13 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by tigrotto »

avatarbr wrote: Thu Nov 02, 2017 12:38 am Nice. TeaseAI will pick a ramdom edge between normal, long and extreme?
Yeah. I did as you said changing the length of normal, long and extreme edges so I could recognize them easily.
Then I wrote a simple script with four lines like this

#Edge @Edge(Hold) @MultipleEdges(2,2) @LongHold(XX) @ExtremeHold(XX)

each with different percentages. I tried 50-50, 50-10, 10-50, 10-10.
Then I ran the script a couple of times and the results were:

50-50: 1st extreme - 2nd long
50-10: 1st and 2nd long
10-50: 1st normal - 2nd extreme
10-10: both normal

Try it yourself! Maybe it could be useful for a script in HoT. As for me, I already changed one of my scripts for BlackJerk 6.0 and I'm very happy about it.

I haven't test it, but instead of simple numbers you could use #Random(a,b) inside @Long/ExtremeHold; this way you'll have different chances everytime the script is called

Bye and thanks! :wave:

P.S. This is my hundredth post! :w00t: :yay: :cake:
Post Reply

Who is online

Users browsing this forum: No registered users and 30 guests