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

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 »

Manolas Smith wrote: Mon Nov 21, 2022 12:48 pm I'm afraid this is not working for me. This is what I've included in the script
Spoiler: show
Today is @DayOfWeek(Monday)
You have to do the following @Goto(Monday)
When I start the script it simply answers:

"Today is
You have to do the following"


What i need is that TAI detects what day of the week is today, and that having that in mind identify what set of "tasks" is required to do that particular day of the week.

Is that possible to do?

What am I doing wrong for the script not to indicate that is Monday?
Hi!

Yes, this is possible, ... I know that in the beginning it might seem a bit complicated, ... just let me explain:

In general everything starts with '@' is a command (i.e. @Wait(10) ) or a filter like this is ( @DayOfWeek(Monday) ).
A filter always checks if a condition is valid, in this case it checks if it's monday.
If it's valid (if it's monday), then the script line with this filter will be 'used', if it's not monday, the whole script line with that filter will be filtered out (not used/ignored).

Both, filters and commands will not print anything in the chat.

So if you want to print something in the chat, there are those vocabs (vovabulary-files), i.e. #StartStroking and the System-Keywords, like, and that is what you need in this case: #CurrentDay.
The vocabs are in the folder:
YourTaiInstallation\Scripts\YourPersonality\Vocabulary

The System-Keywords are hardcoded in the program, both vocabs and System-Keywords always start with the '#'.

So, back to your example:
Spoiler: show
Today is @DayOfWeek(Monday)
You have to do the following @Goto(Monday)
It could be something like:

@DayOfWeek(Monday) Today is #CurrentDay
@DayOfWeek(Monday) You have to do the following @Goto(Monday)

---> In this specific case you check the day already with the filter, so you wouldn't need the #CurrentDay, you may use it that way like above or simply:

@DayOfWeek(Monday) Today is monday
@DayOfWeek(Monday) You have to do the following @Goto(Monday)

---> The result should be the same.


Good luck, happy scripting and best greetings,
Markus
Manolas Smith
Explorer
Explorer
Posts: 56
Joined: Sat Feb 25, 2017 5:16 pm
Gender: Male
Sexual Orientation: Straight
I am a: Slave

Re: Tease Ai scripting: The HELP CORNER

Post by Manolas Smith »

oh! That clarifies!!
Let me test it, but I assume that'll work perfectly :-)
Thanks a lot!!
Manolas Smith
Explorer
Explorer
Posts: 56
Joined: Sat Feb 25, 2017 5:16 pm
Gender: Male
Sexual Orientation: Straight
I am a: Slave

Re: Tease Ai scripting: The HELP CORNER

Post by Manolas Smith »

Hello!

I continue doing my own thing with Miss Blue and Ive been working on a Maid script and a Sissy script. For both of them, I want to make a system in which she asks you to make a photo of the lock number, then upload the image to an emlalock session and then she will delete the image herself.

So the script looks like this:
Spoiler: show
Now we need to take a photo of that lock
to be able to be sure that you are not cheating
Set the number and don't look at it
Are you ready?
[Yes] Good
[No] What are you waiting for?
@DifferentAnswer #YesOrNo
@AcceptAnswer
Can you see yourself now? @WebcamVideo
[Yes] Good
@AcceptAnswer
Put that lock in front of the camera and stay for 10 seconds @WebcamClose
@NullResponse @CamSnapFile[MissBlue\Camera\ChastityNumber.jpg] @Wait(10)
Upload the image to emlalock and let me know when you are ready
[ready,back,done] Good!
@AcceptAnswer
Now I'm going to delete it
so that I'm sure you are not trying to trick me
Say good bye to this image! @ShowImage[MissBlue\Camera\ChastityNumber.jpg]
@NullResponse @DeleteLocalImage(MissBlue\Camera\ChastityNumber.jpg)
Now everything is how it should!
When the moment of deleting the image arrives the system says that there's some other process using it (which is not true, as far as I know)

I don't know what I'm doing wrong.

I know there's several issues as "showing the picture to me would involve knowing the lock number", but it's something I'm working on too. Which leads me to another question.
Is there a way to control the Censor bar from censorshipsucks? I've looked through the script and found nothing...

The idea is to make it appear in the webcam image when Miss Blue takes the photo, and also when it shows it to me, so that I cannot see the lock number (but i can see that is not blurry)

Btw, I had to install the Unofficial patch to be able to make photos.

thanks a lot and sorry for asking so much!
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 »

Manolas Smith wrote: Sat Dec 03, 2022 11:57 am When the moment of deleting the image arrives the system says that there's some other process using it (which is not true, as far as I know)
Hi! :-)

Code: Select all

Say good bye to this image! @ShowImage[MissBlue\Camera\ChastityNumber.jpg]
@NullResponse @DeleteLocalImage(MissBlue\Camera\ChastityNumber.jpg) 

Just an idea, ... maybe show a different picture in between those 2 lines, like:

Code: Select all

Say good bye to this image! @ShowImage[MissBlue\Camera\ChastityNumber.jpg]
@NullResponse @ShowImage[MissBlue\black.jpg]
@NullResponse @DeleteLocalImage(MissBlue\Camera\ChastityNumber.jpg) 
Which leads me to another question.
Is there a way to control the Censor bar from censorshipsucks?
Not in the original Tai, in Awakening you have custom censor bars which can be placed over the screen with coordinates.
Btw, I had to install the Unofficial patch to be able to make photos.
I remember, I have implemented that in the unofficial patch, but got none feedback on that ever, ... that's one reason why it's not implemented yet in Awakening (and will not be anytime soon, sorry), also it wasn't implemented very well, ... yeah, it works but causes a high CPU usage, so if I implement that in Awakening, then a whole new approach would be needed.
and sorry for asking so much
There is really no need to say sorry to ask questions, especially not in a topic which is called 'help-corner'! ;-)


Best greetings,
Markus
Manolas Smith
Explorer
Explorer
Posts: 56
Joined: Sat Feb 25, 2017 5:16 pm
Gender: Male
Sexual Orientation: Straight
I am a: Slave

Re: Tease Ai scripting: The HELP CORNER

Post by Manolas Smith »

Hello

I've developed a system to be a maid for my Mistress. When that happens, several variables are created like

MaidStartDate (Sets the date when the service starts)
MaidStartingTime (the number of days that the maid service will last)
MaidMaximumTime (the maximum amount of days that maid service will last)
MaidMinimumTime (The minimum amount of days that maid service must last)

MaidStartingTime variable can be modified depending on penalties or acomplishments

The problem is that I don't know how to create a script that checks how if the service time is over (when the session starts), or if it must go on, or if it has reached the maximum days.

I've checked the Chastity sentence on Miss Blue, getting to ChastityDecissionOff script that checks when the chastity sentence ends, but I simply can't understand how that works...

Can anyone help me with this? I know it's not a simply script to do but it would be amazing to have it

Thanks!!
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!
Manolas Smith wrote: Fri Dec 09, 2022 12:14 pm MaidStartingTime (the number of days that the maid service will last)
Just a small little general hint, ... I am a fan of (and I know from my own experience) that good-describing-identifiers (Variabel-Names) will do you a favor, ... so I would suggest a Variable-Name like 'MaidServiceDurationDays'.

For the questions, ... for me personally it's always easier to help when I actually see the script you are talking about instead of just describing it, ... I'll try anyway ...

From your post it looks like there is a missing start date, ... so when that maid service starts, you would need something like:

Code: Select all

@NullResponse @SetDate(MaidServiceHasStartedAt,1 second)
I would also add a Flag, I guess that could be useful anyway around other scripts, like the Flag 'MaidServiceIsActive', so the line above added with the flag:

Code: Select all

@NullResponse @SetDate(MaidServiceHasStartedAt,1 second) @SetFlag(MaidServiceIsActive)

---> That will write the date and time into the variable when that command was executed.
The Variable 'MaidServiceHasStartedAt' would look like (in example):
09.12.2022 19:03:17

Now you have a date and time to compare the amount of days with of how long it should last and so on.

Let's say it should last 3 days, maybe can be raised because of your actions, but it has a maximum of 7 days
Now all you have to do is to compare the noted date/time with the given variables, i.e.:

Code: Select all

@NullResponse @Flag(MaidServiceIsActive) @Variable[#DateDifference(MaidServiceHasStartedAt,days)]>=[MaidStartingTime] @Goto(ResetMaidService) 
---> Let's say MaidStartingTime was modifed and is now at 20, but you want the maximum of 7 days, then the line above wouldn't jump to the (ResetMaidService) after 7 days, so to catch the maximum you'll need the second line:

Code: Select all

@NullResponse @Flag(MaidServiceIsActive) @Variable[#DateDifference(MaidServiceHasStartedAt,days)]>=[MaidMaximumTime] @Goto(ResetMaidService) 

I must say that in the beginning I had some problems understanding the #DateDifference thing myself, to get a feeling of that, you might try these script lines:

Code: Select all

Set date now @SetDate(TheNotedDateAndTime,1 second)
The difference is: #DateDifference(TheNotedDateAndTime,second) seconds
(loop)
Now the difference is: #DateDifference(TheNotedDateAndTime,second) seconds @Goto(loop)

Best greetings and happy scripting,
Markus

(And btw.: Don't forget to share your scripts once they are in shape to be shared! ;-) )
Manolas Smith
Explorer
Explorer
Posts: 56
Joined: Sat Feb 25, 2017 5:16 pm
Gender: Male
Sexual Orientation: Straight
I am a: Slave

Re: Tease Ai scripting: The HELP CORNER

Post by Manolas Smith »

Hi Markus!

Thanks a lot for your help!

Indeed, the datedifference command is complicated to understand if you are trying to learn by yourself. Luckily we have this forum!

I've tried and the script works perfectly!

To share the Maid script I would need to revisit it a little bit as it's created in an awfully personal way, but I guess other people can enjoy it with some tweaks here and there!

I'll see what I can do

THanks a lot!
User avatar
dix
Experimentor
Experimentor
Posts: 3784
Joined: Sun Aug 10, 2008 4:49 pm
Gender: Male
Sexual Orientation: Straight
I am a: None of the above
Location: North-West England

Re: Tease Ai scripting: The HELP CORNER

Post by dix »

Quick question - Is there a way to test scripts that you've edited without loading up the personality and forcing it to use that script?

Thanks for any help.
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 »

dix wrote: Wed Dec 28, 2022 9:48 pm Quick question - Is there a way to test scripts that you've edited without loading up the personality and forcing it to use that script?

Thanks for any help.
Hi!

About the loaded personality, in Awakening you must have a personality selected, so that the program knows where to look for flags, variabels and vocabs, not sure how that is handled in the original Tai.

For both:
Debug-Menu -> Run Script

Best greetings,
Markus
User avatar
dix
Experimentor
Experimentor
Posts: 3784
Joined: Sun Aug 10, 2008 4:49 pm
Gender: Male
Sexual Orientation: Straight
I am a: None of the above
Location: North-West England

Re: Tease Ai scripting: The HELP CORNER

Post by dix »

markus wrote: Thu Dec 29, 2022 12:49 pm
dix wrote: Wed Dec 28, 2022 9:48 pm Quick question - Is there a way to test scripts that you've edited without loading up the personality and forcing it to use that script?

Thanks for any help.
Hi!

About the loaded personality, in Awakening you must have a personality selected, so that the program knows where to look for flags, variabels and vocabs, not sure how that is handled in the original Tai.

For both:
Debug-Menu -> Run Script

Best greetings,
Markus
Ah, I thought that may be the case.

Thanks for confirming though. :-)
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 »

I've got the feeling we are hijacking the Miss Blue Thread a little too much, so I continue in here...
TanyaHumble wrote: Sun Jun 18, 2023 11:57 am and that it would be as independent from engine as possible. Maybe it's a silly idea with the way superior version in the works.
I don't understand that part of your post, sorry, ... so I can only guess (And PLEASE correct me if I'm guessing wrong!), ...
So, as long as you don't use the new commands from Awakening, it doesn't matter if you play/test/modify a script in a installation of the original Tai or Awakening, you can move the script files back and forth, they are simple text-files anyway.


a test-installation

At the moment I just fix the bugs as I encounter them. I've tried going file by file but it gets really hard for me and I loose focus. My process is , do session -> encounter bug -> depending what bug I either paus the program and look at the script or make a mental note of it. And at the end of the session I read though the log and try to understrand how certain events came to be, look through the moduls and scripts that where used , check if any of them needs any cleaning/bug fixing and then I'm done.
Oh, how much I hear you!
I was there, did kinda the same!
At the moment I just fix the bugs as I encounter them.
This is basically how I work on new scripts, ... I encounter the old version of them, I make notes (or simply a screenshot with the script displayed (CTRL+F11)), and the next day I start to rework/rewrite/correct/rephrase/enlarge/shorten them.
The pro on this is, since you have really played that specific script, you have a much better feeling of what you like to have changed, ... that 'feeling' of that script is 'fresh' in your mind, ... if you 'just' read it while not really playing it isn't enough (for me), you get much better ideas and such if it's played and not only read.
I've tried going file by file but it gets really hard for me and I loose focus.
Exactly!
Have it played -> have a feeling for it!

My process is , do session -> encounter bug -> depending what bug I either paus the program and look at the script or make a mental note of it.
I try to not get too distracted WHILE a session is running.
As I said, I make screenshots, those work as a 'mental note' when I look them up the next day, I don't look up scripts while a session is running.

Oh, ... btw.:
If you hunting down just typos in a script, a simple / small change, you can do this in Awakening 'On-The-Fly', you must have pause activated! (!!!) and then hit CTRL+F11, click on the line you want to change, change it, hit return (!!!) , ... and when you close the program (after the session is done) a window pops up and let you save/reedit such changes you did 'On-The-Fly', ... for small changes like typos and such, this feature can safe you a lot of time!


I'm slowly learning and it will take some time. The heat will 100% slow down my work as it slowly erodes my sleep , kills my mood and destroys me as a human being. So expect to hear less from me over the summer.
Work in the pace you are most comfortable with, make pauses, make sure you don't get a Tai-'burn-out', enjoy the summer, ... I don't 'expect' anything, ... if it ever starts to feel like 'work' then just stop it, ... the best results are done by people who really enjoy what they are doing!
( I do the same, I don't make any pressure on myself, ... I work on it when I have the time for it and when I'm in the mood for it! )



TanyaHumble wrote: Mon Jun 19, 2023 11:38 am I was running MB on the open beta version and I remember it having some problem with certain variable lines. Later switched to Fury due to another bug and the variable problem seems solved so my guess is that is somehow engine related?
A while ago I did some testing about this, this is from the Awakening Release Notes:
@SetVarString[]
-> I.e.:
@NullResponse @SetVar[Strokes]=[#Random(10,30)]
@NullResponse @SetVar[Speed]=[#Random(60,100)]
@NullResponse @SetVar[Timer]=[Strokes]

The problem is this line:
@NullResponse @SetVar[Timer]=[Strokes]

Correct would be:
@NullResponse @SetVar[Timer]=[#Var[Strokes]]

This line is from the original Tai command guide:
"You can also set string Variables this way, such as @SetVar[MyString]=[lasagna]"

Now different versions of Tai give different results, ... when we take the example from the guide '@SetVar[MyString]=[lasagna]'
In the before-Fury-original-Tai-versions the value of the variable is: '0' (if the variable 'lasagna' doesn't exist)... so it didn't worked as it was explained in the guide, but that way it's used by some personalities.
Also it's impossible to assign a string to a variable with @SetVar[], it ONLY reads it's value if it's exist.

But in Fury, the value of the variable is: 'lasagna' ---> like described in the guide.

That means, using different versions of Tai leads to different results, ... which could lead to incompatibility.

I've thought a while about it and implemented this compromise to be as much compatible as possible to existing scripts/personalities AND to be able to assign a string to a variable:
Let's say the variable 'Strokes' exists, THEN @SetVar will read it's value, if the variable does not exists, the value would be the given string.

The downside of this compromise is that if you would want to assign at another place of the personality the word 'Strokes' to any other variable, it would not be possible since the variable 'Strokes' exists and the value of it would be taken instead the word 'Strokes'. (This is only for @SetVar, @InputVar would work).
To bypass this problem I've added the command @SetVarString[], so even if the variable 'Strokes' exists, with @SetVarString[Whatever]=[Strokes] would work.


Best greetings,
Markus
TanyaHumble
Explorer
Explorer
Posts: 94
Joined: Fri Dec 10, 2021 9:09 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Contact:

Re: Tease Ai scripting: The HELP CORNER

Post by TanyaHumble »

markus wrote: Mon Jun 19, 2023 6:59 pm
I don't understand that part of your post, sorry, ... so I can only guess (And PLEASE correct me if I'm guessing wrong!), ...
So, as long as you don't use the new commands from Awakening, it doesn't matter if you play/test/modify a script in a installation of the original Tai or Awakening, you can move the script files back and forth, they are simple text-files anyway.
Just talking about an issue that is engine related. If I was running Awakening I would encounter less bugs or to be specific bugs related to that version. So the idea was to have the personality work on Sweet Patch/Fury/Awakening but it's just a dream of mine. :\'-( Yes once I'm done with MB on Fury I would switch to a different engine and work from there , was the plan anyways.
This is basically how I work on new scripts, ... I encounter the old version of them, I make notes (or simply a screenshot with the script displayed (CTRL+F11)), and the next day I start to rework/rewrite/correct/rephrase/enlarge/shorten them.
The pro on this is, since you have really played that specific script, you have a much better feeling of what you like to have changed, ... that 'feeling' of that script is 'fresh' in your mind, ... if you 'just' read it while not really playing it isn't enough (for me), you get much better ideas and such if it's played and not only read.
hm I might "borrow" the screenshot idea from you :whistle:
Oh, ... btw.:
If you hunting down just typos in a script, a simple / small change, you can do this in Awakening 'On-The-Fly', you must have pause activated! (!!!) and then hit CTRL+F11, click on the line you want to change, change it, hit return (!!!) , ... and when you close the program (after the session is done) a window pops up and let you save/reedit such changes you did 'On-The-Fly', ... for small changes like typos and such, this feature can safe you a lot of time!
wat... that sounds so good that it would be a crime not to use it!
Work in the pace you are most comfortable with, make pauses, make sure you don't get a Tai-'burn-out', enjoy the summer, ... I don't 'expect' anything, ... if it ever starts to feel like 'work' then just stop it, ... the best results are done by people who really enjoy what they are doing!
( I do the same, I don't make any pressure on myself, ... I work on it when I have the time for it and when I'm in the mood for it! )
Well, I know people doesn't expect anything from me. Poor wording from my part. But thank you for the sound advice. :love: I DO really love TAI and all it's versions and the scripts/personalities that come with it.
@SetVarString[]
-> I.e.:
@NullResponse @SetVar[Strokes]=[#Random(10,30)]
@NullResponse @SetVar[Speed]=[#Random(60,100)]
@NullResponse @SetVar[Timer]=[Strokes]

The problem is this line:
@NullResponse @SetVar[Timer]=[Strokes]

Correct would be:
@NullResponse @SetVar[Timer]=[#Var[Strokes]]

This line is from the original Tai command guide:
"You can also set string Variables this way, such as @SetVar[MyString]=[lasagna]"

Now different versions of Tai give different results, ... when we take the example from the guide '@SetVar[MyString]=[lasagna]'
In the before-Fury-original-Tai-versions the value of the variable is: '0' (if the variable 'lasagna' doesn't exist)... so it didn't worked as it was explained in the guide, but that way it's used by some personalities.
Also it's impossible to assign a string to a variable with @SetVar[], it ONLY reads it's value if it's exist.

But in Fury, the value of the variable is: 'lasagna' ---> like described in the guide.

That means, using different versions of Tai leads to different results, ... which could lead to incompatibility.

I've thought a while about it and implemented this compromise to be as much compatible as possible to existing scripts/personalities AND to be able to assign a string to a variable:
Let's say the variable 'Strokes' exists, THEN @SetVar will read it's value, if the variable does not exists, the value would be the given string.

The downside of this compromise is that if you would want to assign at another place of the personality the word 'Strokes' to any other variable, it would not be possible since the variable 'Strokes' exists and the value of it would be taken instead the word 'Strokes'. (This is only for @SetVar, @InputVar would work).
To bypass this problem I've added the command @SetVarString[], so even if the variable 'Strokes' exists, with @SetVarString[Whatever]=[Strokes] would work.
ok I read the last part 3 times and I vaguely understand it...

Ok since we are in the help corner I have a question, Does it matter if I say run a script from the debug menu or is it better to run said script by starting TAI? i.e having a diet startup script run the script you want.

I had a few more questions but I forgot... I really need to start writing down all my ideas and questions. oh well, you'll hear from me when I do remember them :yes:

Thank you for your patience and understanding!
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 »

TanyaHumble wrote: Tue Jun 20, 2023 10:02 am If I was running Awakening I would encounter less bugs
Ehm, ... yepp, that was the idea, new/rewritten Tai -> less bugs. :-D

ok I read the last part 3 times and I vaguely understand it...
If it becomes necessary, I could try to write a demo-script for that (if I find the time for that), ... in the meantime, just test around, set those variables and print the values of it:

@NullResponse @SetVar[MyString]=[lasagna]
MyString: #Var[MyString]

---> Test this with the sweet-patch and with Fury and you'll see the difference.

(Sorry, today, short on time, short answers)
Ok since we are in the help corner I have a question, Does it matter if I say run a script from the debug menu or is it better to run said script by starting TAI? i.e having a diet startup script run the script you want.
Personally I put everything I wanna test in my start script and just start Tai instead of using the debug menu, in theory, both ways should be the same.

Best greetings,
Markus
TanyaHumble
Explorer
Explorer
Posts: 94
Joined: Fri Dec 10, 2021 9:09 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Contact:

Re: Tease Ai scripting: The HELP CORNER

Post by TanyaHumble »

I've started to "mod" my MB installation and started using triggers that uses Dom mood during the taunts and a thought occurred to me.

1. I have no reliable way to improve the mood. But that is less of an issue atm.

2.I would like to have some sort of safe guard against a bad mood streak. And I am not sure how to do it. My thinking is some counter that checks if her mood is below 3 and if after 3 days at the end still rolls low it set's the mood to an average 5 ( I use 1-10 for mood ) She can be mad/pissed but after a few days it always settles down so to speak.

Any help is appreciated :wave:
Daragorn
Explorer At Heart
Explorer At Heart
Posts: 587
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 »

TanyaHumble wrote: Thu Jan 04, 2024 10:07 am 1. I have no reliable way to improve the mood. But that is less of an issue atm.
In old TAI there were the commands @MoodUp and @MoodDown to raise/lower the mood by 1 point (and also other to set her to specific values (@MoodBest, @MoodWorst, for example, if i remember correctly, and maybe there were few more, don't remember all)
There are also @ApathyLevelUp and @ApathyLevelDown for apathy; i think they are present and working also in Awakening, not 100% sure, though.
2.I would like to have some sort of safe guard against a bad mood streak. And I am not sure how to do it. My thinking is some counter that checks if her mood is below 3 and if after 3 days at the end still rolls low it set's the mood to an average 5 ( I use 1-10 for mood ) She can be mad/pissed but after a few days it always settles down so to speak.
You could put some check in the startscript and endscript:
endscript: trigger a flag/variable if she is under a certain mood. Something like:
@BadMood @NullResponse @ChangeVar[badmoodDays]=[badmoodDays]+[1]

startscript: check wheter the number of times she ended in badmood was over a certain threshold and eventually change her mood (and reset the variable to 0)
@Variable[badmoodDays]>=[3] @NullResponse @MoodUp (repeat this line as many times as you feel like to rise her mood enough for your tastes)
@Variable[badmoodDays]>=[3] @NullResponse @SetVar[badmoodDays]=[0] (reset the variable to 0 to restart the cycle)
Post Reply