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

mslave1969
Explorer
Explorer
Posts: 27
Joined: Wed Nov 29, 2006 3:51 pm
Location: U.K
Contact:

Re: Tease Ai scripting: The HELP CORNER

Post by mslave1969 »

I was thinking about changing the boxes to days chastity instead of edges, will give your suggestion a try! Where do I find the place to say how many bronze tokens I have, so I can test?
Many thanks for your help :-D
fusiontermite
Explorer
Explorer
Posts: 91
Joined: Thu Feb 01, 2018 7:05 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by fusiontermite »

Hello everybody

I have a couple of questions regarding dates in Tease AI and thought it would make sense to have them answered all in one place (maybe others will find it useful too :-) ):
  • (How) can I set a random date?
  • (How) can I change a date?
  • (How) can I set a date that is e.g. 15 minutes before or after a certain date? (which is the same as changing, I know: @ChangeDate[date2]=[date1]-[15 minutes])
  • (How) can I print the system date? (e.g. so that the domme can say "Today is the 15th September")
  • (How) can I access the system date (e.g. so that the domme would know when it's the first of the month; ideally the values would be accessible as variables, so that you could use them, e.g. to calculate or print them ("It's the #DayOfMonth of the month, that means #DayOfMonth days of chastity" + @SetVar[days]=[#DayOfMonth]; I remember seeing "@DayOfMonth" and similar, but don't remember their exact function)
  • (How) can you use variables when setting a date? (e.g. so that you could have a mechanism that determines the number of days in chastity and then sets a date that is 5 days from then; maybe @SetDate(#var) works, I didn't check; this would of course allow random dates)
  • What commands are there in relation to dates?
    - @SetDate
    - @CheckDate
    - @DateDifference (command filter)
Thanks for your help!

:wave:
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 863
Joined: Tue Nov 18, 2008 11:09 pm

Re: Tease Ai scripting: The HELP CORNER

Post by markus »

OK, let's see...
fusiontermite wrote: Fri Aug 28, 2020 2:04 am
  • (How) can I set a random date?
@SetDate(YourDateVariableName, #Random(60, 85) seconds)
  • (How) can I change a date?
Simply set it anew:
@SetDate(YourDateVariableName, 10 minutes)
  • (How) can I set a date that is e.g. 15 minutes before or after a certain date? (which is the same as changing, I know: @ChangeDate[date2]=[date1]-[15 minutes])
I didn't even knew there is a @ChangeDate command, i guess it's not really needed.

Let's take a look at the @SetDate -command, if you use it, it will set a date which is the date right now plus the given time span,... so:
@SetDate(YourDateVariableName, 2 days)

Let's say right now is 28.08.2020 20:27:58 ... then that command would save the date 30.08.2020 20:27:58
You can give negative values to set the date before now, i.e.:
@SetDate(YourDateVariableName, -2 days)

Would save it as 26.08.2020 20:27:58
(When you create/set a date, it's saved in the system/variables folder of that personality, open it with a text editor to see how it looks)
  • (How) can I print the system date? (e.g. so that the domme can say "Today is the 15th September")
These commands I've found:
#CurrentTime
#CurrentDay
#CurrentMonth
#CurrentYear
#CurrentDate
#CurrentHour

Just give them a try.

  • (How) can I access the system date (e.g. so that the domme would know when it's the first of the month; ideally the values would be accessible as variables, so that you could use them, e.g. to calculate or print them ("It's the #DayOfMonth of the month, that means #DayOfMonth days of chastity" + @SetVar[days]=[#DayOfMonth]; I remember seeing "@DayOfMonth" and similar, but don't remember their exact function)
I think those commands above could simply used as variables
  • (How) can you use variables when setting a date? (e.g. so that you could have a mechanism that determines the number of days in chastity and then sets a date that is 5 days from then; maybe @SetDate(#var) works, I didn't check; this would of course allow random dates)
@SetDate(marCockcageHours,#Var[marCCHours] hours)

  • What commands are there in relation to dates?
    - @SetDate
    - @CheckDate
    - @DateDifference (command filter)
Well, the #DateDifference (not @DateDifference) could be used like this:
@Variable[#DateDifference(mar_LastOrg,hours)]<[28] @NullResponse @Goto(backNextDay)

So, let's say you want to lock up someone for 2 hours, you would use:
@SetDate(marCockcageHours, 2 hours)

Then you can check if right now has reached that set date
@CheckDate(marCockcageHours,PossibleToUnlock)
... If 2 hours are over, it would jump to (PossibleToUnlock)


Some answers are quite short, but maybe it's all you need to get into the right direction,
just experiment with that.
If you need some more help, just ask again! :-)

Btw.: If you not already use the text-editor 'Notepad++', then you should download and use it,... it has the function to find something inside files,... you can serach for i.e.: '@SetDate(' ... select 'find in files', ... select the script folder of your personality and hit 'find all',... that way you will find every '@SetDate(' commands in the whole persoanlity,... that way you can find quite quickly many examples of how a command is used.
(I use this function really often, it's super-useful).

Best greetings,
Markus
fusiontermite
Explorer
Explorer
Posts: 91
Joined: Thu Feb 01, 2018 7:05 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by fusiontermite »

Hey

Thanks a lot for this extensive reply! :-D
markus wrote: Fri Aug 28, 2020 7:09 pm fusiontermite wrote: ↑
Fri Aug 28, 2020 2:04 am

(How) can I set a random date?

@SetDate(YourDateVariableName, #Random(60, 85) seconds)
Thanks!
markus wrote: Fri Aug 28, 2020 7:09 pm (How) can I change a date?

Simply set it anew:
@SetDate(YourDateVariableName, 10 minutes)
What I mean is the ability to change the value of a date variable, so that the new value is based on the current value of the date variable (and not of the current date, which it would be when setting the date anew).

For example, the domme can put the sub in chastity for a certain period of time (random date). When the asks to be unlocked and the date variable is not reached (@CheckDate), the domme would add a couple of hours, i.e. change the value of the date variable. Setting the value anew, wouldn't help here. That's why I wrote, that what would be needed here is something like @ChangeDate[unlockdate]=[unlockdate]+[#Random(2,10) hours] (which to my knowledge doesn't exist). Btw, it's the time with variables: @SetVar for setting the value anew and @ChangeVar for setting the value of the variable based on the existing value of the same or other variable(s).
markus wrote: Fri Aug 28, 2020 7:09 pm (How) can you use variables when setting a date? (e.g. so that you could have a mechanism that determines the number of days in chastity and then sets a date that is 5 days from then; maybe @SetDate(#var) works, I didn't check; this would of course allow random dates)

@SetDate(marCockcageHours,#Var[marCCHours] hours)
Thanks! :-D
markus wrote: Fri Aug 28, 2020 7:09 pm Well, the #DateDifference (not @DateDifference) could be used like this:
@Variable[#DateDifference(mar_LastOrg,hours)]<[28] @NullResponse @Goto(backNextDay)

So, let's say you want to lock up someone for 2 hours, you would use:
@SetDate(marCockcageHours, 2 hours)

Then you can check if right now has reached that set date
@CheckDate(marCockcageHours,PossibleToUnlock)
... If 2 hours are over, it would jump to (PossibleToUnlock)
#DateDifference, right, sorry about that! :lol:

I knew these commands ( :innocent: ), but this is an excellent example of how they work together!
markus wrote: Fri Aug 28, 2020 7:09 pm Some answers are quite short, but maybe it's all you need to get into the right direction,
just experiment with that.
If you need some more help, just ask again!
Thank you!

:wave:
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 863
Joined: Tue Nov 18, 2008 11:09 pm

Re: Tease Ai scripting: The HELP CORNER

Post by markus »

Hi again!
fusiontermite wrote: Mon Sep 28, 2020 6:39 pm What I mean is the ability to change the value of a date variable, so that the new value is based on the current value of the date variable (and not of the current date, which it would be when setting the date anew).

For example, the domme can put the sub in chastity for a certain period of time (random date). When the asks to be unlocked and the date variable is not reached (@CheckDate), the domme would add a couple of hours, i.e. change the value of the date variable. Setting the value anew, wouldn't help here. That's why I wrote, that what would be needed here is something like @ChangeDate[unlockdate]=[unlockdate]+[#Random(2,10) hours] (which to my knowledge doesn't exist). Btw, it's the time with variables: @SetVar for setting the value anew and @ChangeVar for setting the value of the variable based on the existing value of the same or other variable(s).
Can be done already, all it takes is a little bit math:

Code: Select all


Testing dates...
@NullResponse @SetDate(fusionTest01, 6 hours)
#Var[fusionTest01]

Do you ask me to get unlocked?
[yes] Let's see ... @Goto(SubHasAsked)
[no] ok...
@DifferentAnswer Yes or no?
@End

(SubHasAsked)
@NullResponse @CheckDate(fusionTest01)
@NullResponse @SetVar[tempMinutes]=[#DateDifference(fusionTest01,minutes)]
#Var[tempMinutes] 
Now you have negative minutes, turn them to a possitive value:

@NullResponse @ChangeVar[posMinutes]=[tempMinutes]*[2]
@NullResponse @ChangeVar[tempMinutes]=[tempMinutes]-[posMinutes]

#Var[tempMinutes] And this is the positive value

@NullResponse @ChangeVar[tempMinutes]=[tempMinutes]+[#Random(60,240)]
#Var[tempMinutes]
@NullResponse @SetDate(fusionTest01, #Var[tempMinutes] minutes)
@NullResponse @DeleteVar[tempMinutes]
@NullResponse @DeleteVar[posMinutes]
#Var[fusionTest01]
@End

(fusionTest01)
Ok, unlock...
@End
Best greetings,
Markus
fusiontermite
Explorer
Explorer
Posts: 91
Joined: Thu Feb 01, 2018 7:05 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by fusiontermite »

markus wrote: Tue Sep 29, 2020 11:00 am Can be done already, all it takes is a little bit math:
You're right, it can be done. But the amount of work is immense. Just having @ChangeDate[unlockdate]=[unlockdate]+[#Random(2,10) hours] would make things a lot easier (and that is key, because when things are too complicated, people don't use it...).

One of the main restrictions of TAI (and one I really don't understand) is that the start script has to include @StartStroking and the link as well it seems (I tried it with an almost empty link file and it always kept calling the link file until I added the @StartStroking command). @StartStroking should just be a command that plays a metronome and displays taunt lines which CAN be used in EVERY TYPE OF SCRIPT (including modules, called scripts, etc.) but NEVER NEEDS to be used. I really don't see why TAI forces you to have a stroking part after each module. The script writer should be able to decide when and if the sub gets to stroke, so that there could also be a no-stroking session.

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

Re: Tease Ai scripting: The HELP CORNER

Post by avatarbr »

fusiontermite wrote: Fri Jan 01, 2021 9:07 pm One of the main restrictions of TAI (and one I really don't understand) is that the start script has to include @StartStroking and the link as well it seems (I tried it with an almost empty link file and it always kept calling the link file until I added the @StartStroking command). @StartStroking should just be a command that plays a metronome and displays taunt lines which CAN be used in EVERY TYPE OF SCRIPT (including modules, called scripts, etc.) but NEVER NEEDS to be used. I really don't see why TAI forces you to have a stroking part after each module. The script writer should be able to decide when and if the sub gets to stroke, so that there could also be a no-stroking session.

:wave:
I think the idea was really to create that loop format. If you know some od the 1885's webtease, you will recognize the pattern.

But you can skip that, by calling a Module from the Link file. You can even put a @RamdomModule command in all Link files and should fully skip the stroke/taunt part. But I think, sometimes, TAI can be confused a little and do some strange things.

I think one of the alternative versions have a @MetronomeOn command, where you can do what you wanted.
fusiontermite
Explorer
Explorer
Posts: 91
Joined: Thu Feb 01, 2018 7:05 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: Tease Ai scripting: The HELP CORNER

Post by fusiontermite »

Thanks for your reply! :-)
avatarbr wrote: Fri Jan 01, 2021 11:52 pm I think the idea was really to create that loop format. If you know some od the 1885's webtease, you will recognize the pattern.
That could be an explanation. But having the mod-link-mod-link loop cycle wouldn't require to start stroking in between ;-)

The structure I want to have is a completely empty link file and one mod_main file that does everything and is run through again and again until time is up (or the domme decides to end the session, sets a flag and calls end_main). That means that the module file decides about and calls all activities (modules, talk, stroking, etc.).
avatarbr wrote: Fri Jan 01, 2021 11:52 pm But you can skip that, by calling a Module from the Link file. You can even put a @RamdomModule command in all Link files and should fully skip the stroke/taunt part.
If I understand correctly, that means that I can just have 1 link file with "@NullResponse @RapidCodeOn @RandomModule" (never seen this command, only @CallRandom (don't use that one either)), which would then call the 1 mod file, thus in effect skipping the link file? Would be great if that's possible, will try it.
avatarbr wrote: Fri Jan 01, 2021 11:52 pm I think one of the alternative versions have a @MetronomeOn command, where you can do what you wanted.
Yeah, I like that one :-D

Thx again

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

Re: Tease Ai scripting: The HELP CORNER

Post by avatarbr »

fusiontermite wrote: Sat Jan 02, 2021 2:46 am
If I understand correctly, that means that I can just have 1 link file with "@NullResponse @RapidCodeOn @RandomModule" (never seen this command, only @CallRandom (don't use that one either)), which would then call the 1 mod file, thus in effect skipping the link file? Would be great if that's possible, will try it.
Yes, if you want to call the same file every time, you can just use the @Call() command, otherside you can use:

@NullResponse @RapidCodeOn
@NullResponse @RandomModule
#StartStroking @StartStroking
@End

I think you still need to put the @StartStroking to avoid errors. But would never run that part.
User avatar
rayray77
Explorer
Explorer
Posts: 68
Joined: Thu Nov 27, 2014 11:58 am

Re: Tease Ai scripting: The HELP CORNER

Post by rayray77 »

Hi,

quick question:

When I call a custom script with @Call(Custom/blablba.txt) in a module, what happens with Tease AI when blabla.txt reaches an @End? Does it go to a link, a module or someplace else?

Is it the same when I do the above action during a link?

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

Re: Tease Ai scripting: The HELP CORNER

Post by avatarbr »

rayray77 wrote: Mon Aug 15, 2022 4:55 pm Hi,

quick question:

When I call a custom script with @Call(Custom/blablba.txt) in a module, what happens with Tease AI when blabla.txt reaches an @End? Does it go to a link, a module or someplace else?

Is it the same when I do the above action during a link?

:-)
if i remember correctly, if the custom file called don't have a @StartStroking at the end, TAI will consider as a Module, and go to a Link after that.


I am really not sure, but a Link would call a file and then go back to another Link again. But I remember getting crazy with some of the jumps at some time. :lol:


If you want full control, use @CallReturn.
Hermes888
Explorer
Explorer
Posts: 13
Joined: Sat May 16, 2020 9:49 pm
Gender: Male
Location: Netherlands

Re: Tease Ai scripting: The HELP CORNER

Post by Hermes888 »

Hi everyone,

I have some trouble copying a string from one var to another var. I understand it should be possible in Fury. I am running fury Patch 59.0.

So I suspect I am messing up somewhere.

in the next example, I try to copy the content from the variable "TestingLasagna" to the variable "food" using this test script:

Code: Select all

First input testinglasagna Variable @InputVar[TestingLasagna]
Then we show the variable: @ShowVar[testingLasagna]
Now, lets copy the testingLasagna string into the new var called food @SetVar[food]=[testingLasagna]
Now lets show VAR testingLasagna @ShowVar[testingLasagna] en VAR food @ShowVar[food]
I inserted "Coffee"and this was the result:
02:26 PM Eline: First input testinglasagna Variable This icon means your Domme will remember your answer!
02:27 PM Jeff: Coffee
02:27 PM Eline: Then we show the variable: Coffee
02:27 PM Eline: Now, lets copy the testingLasagna string into the new var called food
02:27 PM Eline: Now lets show VAR testingLasagna Coffee en VAR food testingLasagna

So food does not show the content of the variable "testingLasagna" but the name of the variable. Can anyone tell me what I am doing wrong or how i can get the content from one (user inputted) string to another?
User avatar
rayray77
Explorer
Explorer
Posts: 68
Joined: Thu Nov 27, 2014 11:58 am

Re: Tease Ai scripting: The HELP CORNER

Post by rayray77 »

Hermes888 wrote: Sat Aug 20, 2022 12:42 pm So food does not show the content of the variable "testingLasagna" but the name of the variable. Can anyone tell me what I am doing wrong or how i can get the content from one (user inputted) string to another?
My guess:
In line 3 >> @SetVar[food]=Var[testingLasagna] <<
Hermes888
Explorer
Explorer
Posts: 13
Joined: Sat May 16, 2020 9:49 pm
Gender: Male
Location: Netherlands

Re: Tease Ai scripting: The HELP CORNER

Post by Hermes888 »

PtheV wrote: Sat Aug 20, 2022 1:29 pm
rayray77 wrote: Sat Aug 20, 2022 12:53 pm
Hermes888 wrote: Sat Aug 20, 2022 12:42 pm So food does not show the content of the variable "testingLasagna" but the name of the variable. Can anyone tell me what I am doing wrong or how i can get the content from one (user inputted) string to another?
My guess:
In line 3 >> @SetVar[food]=Var[testingLasagna] <<
I think it should be @SetVar[food]=[#Var[testingLasagna]]
Thanks PtheV, that worked great. :yes:
User avatar
rayray77
Explorer
Explorer
Posts: 68
Joined: Thu Nov 27, 2014 11:58 am

Re: Tease Ai scripting: The HELP CORNER

Post by rayray77 »

Can you use commands inside a @RT?

For example: @RT(bla @Wait(10), blabla @Wait(15), blablabla @Wait(20)) :-)

My guess is no, since it only outputs a random text... But I wanna make sure
Post Reply