Page 18 of 31
Re: Tease Ai scripting: The HELP CORNER
Posted: Mon Oct 16, 2017 1:26 pm
by tigrotto
Are commands @Flag and @NotFlag supposed to work also with multiple flags like
@Flag(flag1, flag2) Do this
@NotFlag(flag1, flag2) Do this
I just did a couple of test with both command and they work but could you confirm, just to be sure?
Thanks.
Bye
EDIT
Tried also with 3 flags inside the @Flag(...) command and it worked. So I assume it also works with multiple flags.
Re: Tease Ai scripting: The HELP CORNER
Posted: Thu Oct 26, 2017 9:14 am
by tigrotto
Hi!
I'm working on a script but I found a problem.
In this script the Domme calls the 3 Glitter, tell the user to edge until they arrive. But here's the problem: if the three Glitter are already in the chat how do I know it? Is there a specific command? If not, how can I get around the problem?
Thanks.
Bye!

Re: Tease Ai scripting: The HELP CORNER
Posted: Thu Oct 26, 2017 7:32 pm
by Daragorn
tigrotto wrote: Mon Oct 16, 2017 1:26 pm
Are commands @Flag and @NotFlag supposed to work also with multiple flags like
@Flag(flag1, flag2) Do this
@NotFlag(flag1, flag2) Do this
I just did a couple of test with both command and they work but could you confirm, just to be sure?
Thanks.
Bye
EDIT
Tried also with 3 flags inside the @Flag(...) command and it worked. So I assume it also works with multiple flags.
yes i modified them some patches ago to be able to use them with multiple choices.
There is also another flag command too that you probably are not aware of (if you hadn't read them in the patch notes since they are not in the command guide, which is way older :D):
@FlagOr() - Check multiple flags and will read the line if any of them are present.
For example, @FlagOr(Flag1, Flag2) - If Flag1 or Flag 2 exists, then Tease AI will read the line
So to summarize:
@flag(a,b,c) will read only if a,b and c are all active
@flagor(a,b,c) will read if any of a,b,c are active
@notflag(a,b,c) will read only if a,b and c are all not active
Re: Tease Ai scripting: The HELP CORNER
Posted: Thu Oct 26, 2017 7:36 pm
by Daragorn
tigrotto wrote: Thu Oct 26, 2017 9:14 am
Hi!
I'm working on a script but I found a problem.
In this script the Domme calls the 3 Glitter, tell the user to edge until they arrive. But here's the problem: if the three Glitter are already in the chat how do I know it? Is there a specific command? If not, how can I get around the problem?
nope there is no command to know about it.
The only solution i can think of is to use a vocab to add/remove the contact instead of using the command and, inside the vocab use the command AND add a tempflag that will let you know if the contact is present and that you can check against.
So instead of @AddContact1, for example do #AddContact1
Then create a #Addcontact1 vocab with a single line:
@AddContact1 @TempFlag(1Present)
Now you can check for @Flag(1Present) to know if she is in chat or not (obviously you have to do the same for #Removecontact where you will @RemoveContact @DeleteFlag()
Re: Tease Ai scripting: The HELP CORNER
Posted: Fri Oct 27, 2017 8:26 am
by tigrotto
Daragorn wrote: Thu Oct 26, 2017 7:32 pm
tigrotto wrote: Mon Oct 16, 2017 1:26 pm
Are commands @Flag and @NotFlag supposed to work also with multiple flags like
@Flag(flag1, flag2) Do this
@NotFlag(flag1, flag2) Do this
I just did a couple of test with both command and they work but could you confirm, just to be sure?
Thanks.
Bye
EDIT
Tried also with 3 flags inside the @Flag(...) command and it worked. So I assume it also works with multiple flags.
yes i modified them some patches ago to be able to use them with multiple choices.
There is also another flag command too that you probably are not aware of (if you hadn't read them in the patch notes since they are not in the command guide, which is way older :D):
@FlagOr() - Check multiple flags and will read the line if any of them are present.
For example, @FlagOr(Flag1, Flag2) - If Flag1 or Flag 2 exists, then Tease AI will read the line
So to summarize:
@flag(a,b,c) will read only if a,b and c are all active
@flagor(a,b,c) will read if any of a,b,c are active
@notflag(a,b,c) will read only if a,b and c are all not active
Thanks!
You're right. I hadn't read them, just a quick peek. Now I gave it another quick peek and discovered I can use @If[] together with
and and
or. I needed this kind of solution for BlackJerk but didn't know it was possible, so I must definitely read them carefully!
Re: Tease Ai scripting: The HELP CORNER
Posted: Fri Oct 27, 2017 8:57 am
by tigrotto
Daragorn wrote: Thu Oct 26, 2017 7:36 pm
tigrotto wrote: Thu Oct 26, 2017 9:14 am
Hi!
I'm working on a script but I found a problem.
In this script the Domme calls the 3 Glitter, tell the user to edge until they arrive. But here's the problem: if the three Glitter are already in the chat how do I know it? Is there a specific command? If not, how can I get around the problem?
nope there is no command to know about it.
The only solution i can think of is to use a vocab to add/remove the contact instead of using the command and, inside the vocab use the command AND add a tempflag that will let you know if the contact is present and that you can check against.
So instead of @AddContact1, for example do #AddContact1
Then create a #Addcontact1 vocab with a single line:
@AddContact1 @TempFlag(1Present)
Now you can check for @Flag(1Present) to know if she is in chat or not (obviously you have to do the same for #Removecontact where you will @RemoveContact @DeleteFlag()
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...

).
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.
I hope it's more clear now. Thanks again.
Bye!
EDIT
I think I've found the solution!
...drumroll...
- Spoiler: show
- @Group(...) TADAA!

I could write multiple lines with different combination of @Group(...) like this:
@Group(D123)
@Group(D12)
...
...
@Group(D1)
...
...
@Group(D)
For every line there will be a @TempFlag(ContactX not present) command(except for the first line) and after the @Group() lines other lines to add the missing contact(s), like this:
@Flag(ContactX not present) @AddContactX @DeleteFlag(ContactX not present)
and then continue with the script.
What do you think?
Re: Tease Ai scripting: The HELP CORNER
Posted: Fri Oct 27, 2017 7:50 pm
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...

).
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)
Re: Tease Ai scripting: The HELP CORNER
Posted: Fri Oct 27, 2017 8:47 pm
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...

).
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!
P.S. I'm reading the patch notes you told me...
Re: Tease Ai scripting: The HELP CORNER
Posted: Mon Oct 30, 2017 5:28 pm
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
Re: Tease Ai scripting: The HELP CORNER
Posted: Mon Oct 30, 2017 6:25 pm
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!

Re: Tease Ai scripting: The HELP CORNER
Posted: Mon Oct 30, 2017 7:27 pm
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)
Re: Tease Ai scripting: The HELP CORNER
Posted: Tue Oct 31, 2017 9:12 am
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!

Re: Tease Ai scripting: The HELP CORNER
Posted: Tue Oct 31, 2017 6:28 pm
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!

Re: Tease Ai scripting: The HELP CORNER
Posted: Wed Nov 01, 2017 12:27 am
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!
I think will not work, but should be easy to test. Just set a really low time for normal edges and see what happens.
Re: Tease Ai scripting: The HELP CORNER
Posted: Wed Nov 01, 2017 9:55 am
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!
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
