- Banner04.jpg (289.72 KiB) Viewed 52575 times
Hi everyone!
Phew, ... so here it is!
Dear community,
this is not the first time I ever released a project, but to be honest, no project before was that important to me, no project I have ever released was that big.
This really is an amazing moment for me, ... this 'baby' of mine which I call Awakening grew for a while now, and now I think it's time to share it with you.
As the title of this thread says, it's the basic version.
If you haven't already / if you don't mind reading it / if you are really interested in Awakening, you might consider to read the announcement thread of it here first:
[Tease AI Awakening] Announcement - A Sharp Awakening
viewtopic.php?t=24827
Some remarks about the development:
Of course I was aware when I started this project that it will be a huge one, the most complex I ever did.
In the beginning I made surprisingly fast and good progress in implementing everything.
At this point I was mostly busy with coding, tested new implemented commands only one by one.
This changed once I was that far that I really could start playing sessions with it, ... so I've started to 'stumble' over situations where commands worked in combinations.
From that point on it was more testing than coding, reproducing bugs, correcting them, sorting out one possible problem after the other.
After a while I've invited 2 people from this community to a closed test forum to help me test this even more deeply, and of course they found this or that which had to be corrected, some things which they have expected a bit differently, they came up with ideas and suggestions and so on... so again it took me a while to work on all that.
Why just 2 testers and not all I could get?
I really was that damn lucky that I have 'won' 2 experts with a huge background when it comes to Tai as testers (see the credits).
And it turned out that it was just the right balance, I have got a lot of feedback and bugreports, sometimes those piled up, but it was always doable, with too much testers I might would have been overwhelmed.
Now I think most major problems are found, solved and out of the way, I can 'risk' to receive more feedback and such without getting 'battered to death' by all of those.
With this release, now every one of you is invited to post feedback, bugreports, input, ideas and so on.
Why it took so long to be released?
The main work/coding on this was done in around 5 months, but I have underestimated the 'after-care' of this.
All those inputs, feature-requests, bug-reports, the finetuning and so on took much more time than the main developing itself.
Why I release such a 'basic version'?
If you take in account the remarks above, ... it simply take a long time until everything which is implemented is also deeply tested back and forth.
So in this 'basic version' there are a lot of features missing (i.e. the tagging of pictures, you would still need the original TAI for that), the support for Fury, a lot of ideas and feature wishes from the announcement thread or from the closed test forum are not implemented yet as well as a lot of ideas and plans I have myself for it for the future.
Now here comes the catch, ... if I really would wait to release something until everything is done (AND tested thoroughly), until I would really call it 'final', until 'everything' is implemented then it might would take another whole year (if not even longer), ... BUT on the other hand, it is already in a state you can play and have fun with it, at least I hope so.
(I call it 'basic beta version', others maybe would call it alpha/beta/whatever - version, ... doesn't matter, it's simply not the 'final' one).
So I think that a release of that 'basic version' doesn't hurt, as long as you understand that this isn't a 'final' version!
Back to the question 'Why I release such a 'basic version'?' ... to summarize:
- As mentioned above, ... it should have reached a state which allows you to have fun with it, I almost felt kinda guilty the last few months playing and having fun with it and not shared it (but as long as there were known (more or less critical) issues, they had to be sorted out first.
- It maybe can help to get personalities updated to a better performance (i.e. using the @RapidCodeOn command on large scripts/a lot of lines), and allows now more complex scripts to run, ... both are points that are related to the 'line-eating-problem' of the original Tai, that problem was the main reason why I have started this project in the first place btw. and should be gone for good with Awakening.
- It has some new commands implemented which hopefully inspires the one or other scripter to play around with these new commands to create new scripts using these new commands.
(Some of these new commands were requested by the testers, I already saw an amazing script which uses the new censor-bars in a very creative and great way
)
- I hope that the better performance leads to more interest in Tai in general, which hopefully leads to more people who get interested in creating scripts on their own.
To the scripters/content creators:
I have so much plans for Awakening, there is so much on my To-Do-List, ... but what's really keep Tai alive is the content for it!
So if anyone of you (especially those who already shared some scripts or a whole personality) ... if you feel the need of a new command or feature which would be needed to realise your ideas, please don't drop such ideas only because they are not possible yet, instead I'd like to invite you to drop me a line so we can see/discuss what could be done!
- And last but not least, I really wanna have this thing running by a lot of people to make sure that the 'base-code' is stable and solid before I move on to expand/enhance this project any further.
Documentation:
As basic as this version is, the documentation is as basic as well.
To get an overview of what is possible and so on you'd have to look up at least 3 resources:
- The guide in the original Tai
- The release notes of the unofficial patch
- The release notes of Awakening
Feedback:
Awakening is (and will ever be!) freeware, no finacial interests behind this.
But if you play with it and you feel like you would want to 'pay' for it, ... well, ... there is actually a currency in which you could 'pay' for it, ... and that currency is feedback, that is activity in the forum, comments, ideas, self-written scripts and so on.
The forum sometimes lacks of activity and feedback in general, but we need to be more active to keep it attractive, interesting and alive, my forum posts and this project is my try to help with that, but everyone of you can help on that matter, ... and I mean not only specifically Awakening, there are a lot of other great projects presented in this forum which lacks of feedback, ... so, if you download and play some of these, please consider to spend at least some minutes to write some lines of feedback, such a few minutes are a very low 'price' compared to the countless hours the developers spend on their projects!
Such a feedback doesn't even have to be positive as long as it's kind of fair/constructive/reasoned.
Bug-Reports:
The most important thing about any bug-report is that I am able to reproduce the bug you have.
So please put some effort in your bug-report, describe the problem as detailed as possible, add the matching log-files to your bug-report (of course for privacy reasons you could send them via PM to me), ... and last but not least, try to reproduce them on your own, ... if you are able to reproduce such bugs/problems and can describe exactly the way I can reproduce them, that would be very helpful.
Exceptions (such typical Windows-Error-Messages):
If you ever get such an error-message, please make a screenshot, copy & paste the text which is given in that error-message, note down time and date, and then send me all that plus the matching log-files so I can investigate.
---> Hint: Usually such an error-message should not break the session, if you are stuck and it doesn't move on, you can try to type something which will cause a response or you could try to use the debug-menu 'skip module'.
So, ... what's left to say:
I am curious about your feedback, comments and so on, ... hopefully you can enjoy and have fun with it!
And as always: Play safe and sane!
Credits:
First I want, ... no, ... I feel like I MUST give credits to those 2 guys helping me testing this in the closed testing.
Huuuuuuuuuge credits and thanks to Daragorn and genome231 (!!!)
Not only that you both found possible problems and bugs, ... not only that you came up with great feature-ideas, ... not only that you gave me so much and useful feedback and input.
No, ... what really impressed me the most is the fun I got along the way, it was just a joy to 'work' with you both on this and have your support all the time!
Hey you both, don't you come to the idea that this is over now (it just has started
... , ... more features, more devolping, more everything, ... more testing is required!
Secondly I want to thank everybody who contributed content to Tai in general, there are the scripters of those well known personalities:
- avatarbr - House of Tease
viewtopic.php?t=16957
- PtheV - Miss Blue
viewtopic.php?t=20069
- 1885 - Fury
viewtopic.php?t=22426&sid=6bca47efc7a0a ... b09260edfe
- genome231 - Masturbatrix
viewtopic.php?t=23629&sid=6bca47efc7a0a ... b09260edfe
- Xero - Bound to her will
viewtopic.php?p=296068&hilit=bound+to+her#p296068
- 1885 - The initial persoanlity 'Wicked Tease'
Third, ... to everybody else who is at least 'somehow' involved in Tai in general, ... may it just a simple, single script which that one has shared, ... or if it's even just feedback or ideas.
Fourth, 1885 for the original Tai, ... (yeah, ... just fourth, ... hey, he get's all the credits in the splash screen already
)
Newest Credits:
Big/Huge/Massive Credits to LostInTheFog3131 who provided the knowlege, the API and the idea about the Remote Toy Control (Buttplug.IO) feature, this would never become reality without him! (!!!)
Release notes:
- Spoiler: show
-
[Tease AI Awakening] - A Sharp Awakening 0.2.56 - Release notes
----------------------------------------------------------------
This version of Awakening is still WiP (work in progress), by far not done, and since it has not everything which is planned included,
I wouldn't even call it an alpha-version (of the final version), for now I call it 'basic-version'.
So be 'warned':
- All contacts videos are muted for now, volume adjustment will come later, but honestly, I would recommend to have them muted anyway
- It hasn't all features you know from the original TAI
- It's not that completly beginner-friendly as the final version is planned to be, if you are new to TAI in general, then it might be a good idea to start getting to know the original TAI first
- It's not compatible to Fury (and to those new commands from the Fury-Patch) ... yet (!)
- It's maybe not totally fail-safe/bullet-proof (not everything which a user could do wrong is handled yet)
How to install (HIGHLY recommended way, if you have a 'Tai-Play-Folder'):
Create a backup of your 'Tai-Play-Folder' and then just unzip the downloads there, so if something doesn't work as expected,
it doesn't do something in your play-folder (Awakening doesn't write anything outside the folder in which the exe is located).
If you don't have a 'Tai-Play-Folder':
Important here is that you'd still need the original Tai in order to create files.
Awakening uses basically the same folder structure as the original Tai, i.e. the path to the URL-files is:
YourTAIfolder/Images/System/URL Files/
That is the same path in the original Tai as well as in Awakening
Here is what you need to do to get it going:
URL-Files
----------------------------------------------------
Path: YourTAIfolder/Images/System/URL Files/
You can either use the original Tai to create those files and then copy them to the according folder in Awakening,
or you could search the Milovana Forum, there were some URL files posted, ... or do both.
Also I've zipped some URL files which can be found in the Awakening main folder 'URL Files Examples.zip' to make it easier, those would have to be placed in the path mentioned above.
Now you have to assign genres to those URL-files:
In the original Tai you have a genre and a URL file to select for that genre.
The downside of that system is, you can only have one url-file per genre, ... my system is more flexible, so you can have as much URL-files as you want assigned to a genre.
Plus you can assign one URL-file to more than just one genre, i.e. you have a really good softcore-url-file, you might wanna assign it to 'general' as well.
The picture 'SettingsURLGenres.jpg' should illustrate that.
LocalImageTags.txt
----------------------------------------------------
Path: YourTAIfolder/Images/System/
Now for this one you'll need definatly the original Tai in order to tag some of your local images, once created, copy it to the according folder in Awakening,
Personalities
----------------------------------------------------
Path: YourTAIfolder/Scripts/
Download the personalities of your choice and install like descriebed in the release threads of those personalities
About the settings (remarks for users who are new to Tai, experiencend users can skip this point and just set the settings):
----------------------------------------------------
Of course you can check out each and every setting, but I've tried to come up with some good default settings.
So, you can for starters ignore the most of them, but here are some you'd definatly need/should set on your own:
'Domme' - Tab:
--------------------
- Domme Media Directory
- Domme Name
'Sub' - Tab:
--------------------
- Sub Names
'Contacts' - Tab:
--------------------
You may read the description of the personality you want to play to find out if the contacts are needed, but the most popular personalities make use of the first 3 contacts.
So I highly recommend to set for the first 3 contacts:
- Name
- Contact Media Directory
'Images' - Tab:
--------------------
This might be the most time-consuming settings, but I highly recommend to take your time set URL-files for all the genres as well as the 'Genre Images'.
As mentioned above, some examples for the URL-files are included (but have to be moved manually to the 'YourTAIfolder/Images/System/URL Files/' folder.
For the 'Genre Images', I would recommend to find at least a handfull, maybe 10 pictures which are matching the genre-description, ... you can always add pictures to those folders later on.
'Video' - Tab:
--------------------
Like for the images:
I would recommend to find at least a handfull, maybe 10 videos which are matching the genre-description, ... you can always add videos to those folders later on.
The 'CHC Player' settings are not used by any other personality than AliceMerged / AliceAwaked.
Keyboard Shortcuts
----------------------------------------------------
F1 - Toggles the Picture / Video Path Display
F2 - Toggles the Content Video time- and position display
F3 - Toggles the Chatbox visible (only in Fullscreen), will automatically displayed again as soon as domme is typing
F4 - Toggles the Stroke Pattern Display
CTRL + L - ContentPlayer Fast Forward
CTRL + K - ContentPlayer Fast Backward
CTRL + N - ContentPlayer / CHCPlayer Toggle Slow Motion
CTRL + A - ContentPlayer / CHCPlayer Switch Aspect Ratio
CTRL + C - Toggle Video Controls On/Off
CTRL + Return - Toggle Pause On/Off
CTRL + Y 'Enjoy the view' ... -> See this as a 'feature-preview / experimental', ... this feature is by far not finished, but for me the interesting part of that was to zoom and move a picture without any performance issues.
CTRL + X Cancel the 'Enjoy the view'
Keyboard Shortcuts - Debug
----------------------------------------------------
CTRL + F9 - Run Script
CTRL + F10 - Start
CTRL + F12 - Reset
CTRL + F11 - Toggle the Script-Debug:
Double-click on a line will set the selected line as the current line of the script.
When you are in Pause (and only then) a single click on a line displays that line in a textbox, here you can edit that line, hit return will save it into memory, but not to your harddisk! (!!!), so even if that script (i.e. a linkfile) will be revisited again, the modified line is still modified.
If you edit a taunt line in the stroke cycle, the difference to the above is that it will not be saved to the taunt-files in memory and you can also not set a line as the current line with a double-click.
Anyway, edits to scripts as well as to taunt-files will be reviewed once you close Awakening.
At this point the changes will be displayed and you can choose to save them to your script-file or not.
It's also possible to edit the made change again, the edited line is displayed in a textbox, what will be saved to the script is what is written in this textbox, so if you decide to 'edit the edit' it's possible here.
A backup of every script will be made in 'YourPersonalityFolder/ScriptsBackup/' with the same folder structure as the original file was in.
The name of the backup file will get a date and time in the beginning, so if the original file is i.e. called 'GeneralMod56.txt', the backup file could
be named i.e. '2022_08_22___13_35_51_GeneralMod56.txt'.
Remark: This feature is meant for on-the-fly script-corrections, mostly like typos in the scripts or other 'small' things, and not for scripting itself, for that a good texteditor (i.e. Notepad++) is much better.
You have the possibility while the 'review' is running to mark a script to be opened in your default text-editor, so if you plan to do some more changes to a script, you might activate that so you can edit the script later on (again, Notepad++ is highly recommended to be used as your default text-editor).
For the @PlayCHC command (until now only used in AliceMerged / AliceAwaked) you'll need Beatmeter-Videofiles.
In Awakening the location of these beatmeter files has to be set in the settings, so there is no copy and paste needed if you have them already, just set the path to them and you are fine.
Can be downloaded here, 191 files, for easier downloading they are seperated in 8 packages, each package can be unzipped individual -> this means if you haven't downloaded them but want to start playing right away, you can just download one package and you are ready to go, but I highly recommend to download them all, the more you have, the more variety you have:
(BeatMeterPack01.zip till BeatMeterPack08.zip are the same as posted in the AliceMerged thread, so if you have them already downloaded there, you can just use them, no need to download them again).
BeatMeterPack01.zip:
https://mega.nz/file/nEgHVAYS#lbgePAj1b ... DDFSkklM0U
BeatMeterPack02.zip
https://mega.nz/file/adwBiKpT#9EULAKU4t ... lVEbg83Bqw
BeatMeterPack03.zip
https://mega.nz/file/nZxnzA7K#S2rM1KPhl ... XMP0InjPHQ
BeatMeterPack04.zip
https://mega.nz/file/6VgRwCyA#_dn7xxN32 ... wSy_Go1UNk
BeatMeterPack05.zip
https://mega.nz/file/PJoRmIIT#z1Z5shsYW ... 4qAVMxFSJE
BeatMeterPack06.zip
https://mega.nz/file/DZoFnQwK#eALFSh1Fm ... LntIWTubtY
BeatMeterPack07.zip
https://mega.nz/file/HIoXRSJC#YpMV8ZOqR ... WknwBZcasU
BeatMeterPack08.zip
https://mega.nz/file/rNwjkaRA#T_vxeiKYE ... K6aPV6cAeE
And here are some new beatmeters (another 92 files, this package can only be unzipped if every file is downloaded):
bms_2019.zip.001:
https://mega.nz/file/vBpRTJoA#AxJpguy5r ... 40Fz4cB1-g
bms_2019.zip.002:
https://mega.nz/file/7FZTEKzA#_gBMJikmJ ... a5U7aLNHHU
bms_2019.zip.003:
https://mega.nz/file/TFIXQSxb#_0jhPT4KA ... ML_5pk6Fz4
bms_2019.zip.004:
https://mega.nz/file/vRJW1BgD#1DXRYiTM6 ... cPHKKADlG0
The next part is more for the scripters or the people who are interested in what is new/changed 'technically' and 'script-wise', ... like new features and commands and such...
New features/commands:
Video categories and their filter:
----------------------------------------------------
Bisexual -> @VideoBisexual
Feet -> @VideoFeet
Gay -> @VideoGay
Shemale -> @VideoShemale
Contacts 4-6
----------------------------------------------------
Works the same as with the other ones, @AddContact4, @Contact4 ...
Stroke cycle
----------------------------------------------------
- I.e. @StrokeFaster will be filtered if you already at max pace
- It's possible to use @Wait(X) commands in the stroke cycle, personally I wouldn't use it in the last line of a set of taunt lines, because there should be enough time till the next set of taunt lines will come up. So my recommendation would be to NOT use it in a one-liner taunt, only in the first line of a two liner, and only in the first and second line of a three liner, ... but it's possible to use it also in the last lines.
- Which one of the 3 Stroke-Taunts files will be choosen for a taunt has a chance given in percent.
This chance was in the original hardcoded to around 77% for choosing the first Taunt-File, you can set that chance now in the settings.
Clear CallReturn-Stack With Calls (Activated Equal To Original TAI)
----------------------------------------------------
I was told that in the original Tease AI the stack of scripts which are called with @CallReturn are cleared when using other call-commands.
In my opinion, when using a @CallReturn it should 'Return' to the point a @CallReturn was used, no matter what.
So this is optional now, uncheck this option only if you know what you are doing, ... mostly interesting for scripters anyway.
Modules Folder
----------------------------------------------------
You can put a script ending with '_HUB.txt' in that folder which would be selected in the situation it would normaly would choose a random module.
Commands - New
----------------------------------------------------
@CensorVideos(X,Y) I.e.: @CensorVideos(Hardcore,Softcore) Y is optional, can be 'bigbar'
@CensorVideosOff
@SlowMotionOn -> To be used in combination with @PlayVideoNoWait(X)
@SlowMotionOff
@PauseVideo -> A running beatmeter will be paused as well
@ContinueVideo -> If a running beatmeter was paused by @PauseVideo it will continue
@CensorBarOn
@CensorBarOff
@Censorbar1On(x_position,y_position,width,height,Text) -> Text is optional, values in percent
@Censorbar1Off
There are 8 of such bars, so from @Censorbar1On till @Censorbar8On
@CensorbarAllOff
@ShowFeetImage
@EdgeTaunts(X) X is the filename of a vocabulary file without the leading # and without .txt ending
I.e.: The vocabulary file is #EdgeTauntsPersona13.txt then the command is @EdgeTaunts(EdgeTauntsPersona13)
@EdgeHoldTaunts(X) X is the filename of a vocabulary file without the leading # and without .txt ending
@AddContact4
@AddContact5
@AddContact6
@RemoveContact4
@RemoveContact5
@RemoveContact6
@SetAdditionalStrokeTime(X) -> I.e.: @SetAdditionalStrokeTime(180 seconds)
The difference between this new command and the old @AddStrokeTime(X) is that the old one can be used only in a running Stroke Cycle,
while the new @SetAdditionalStrokeTime(X) can be used before a Stroke Cycle starts.
It sets the additional stroke time for the next upcoming stroke cycle only.
@StrokeChange
-> If you have selected to use Stroke Patterns in the settings then this command picks a new stroke pattern (to be used in the taunt files only)
The @StrokeChange command also works as a filter in the stroke taunts, so if you provide taunt files which contains @StrokeChange,
those lines will be filtered if the user has not activated in the settings to 'Use Stroke Pattern'.
@MetroPatternOn(X) X -> BPM -> Beats Per Minute, can be max 320
Plays a random picked pattern from the file System/StrokePattern/StrokePattern.txt
You can stop this MetroPattern-Command with the old @MetronomeOff or with the new @MetroPatternOff
@MetroPatternOff
The difference to @MetronomeOff is, @MetronomeOff will stop the playing pattern immediately, while @MetroPatternOff wait until the whole Pattern is played through and stops then.
Also it waits until the Pattern is played through before it moves on to the next script line.
@DisplayPatternOn
@DisplayPatternOff
@JumpDommeSlideshow(X,Y)
X -> 0 till 6, 0 is the domme, 1-6 are the contacts
Y -> 1 till 99 -> the position of the given slideshow in percent
@ShowWait -> Will not work in the Stroke cycle
@WaitAudio -> The script pauses until the given audio file has finished playing
@Worship(Feet)
@ShowNotTaggedImage -> To be used without a @Tag in the same line.
This shows a picture from the file '\Images\System\LocalImageTags.txt' which has no given tag
(See also the @ShowTaggedImage entry in 'Commands - Differences to the Original Tai')
@NullNextDommeImage -> to be used to display the next image of the domme slideshow without any text, to be used (and works only anyway) in a @NullResponse-line, works also with contacts, i.e.:
Worship me, worship my body. @Wait(3)
@NullResponse @NullNextDommeImage @Wait(2)
@NullResponse @NullNextDommeImage @Wait(2)
@Contact2 Now my turn ...
@Contact2 @NullResponse @NullNextDommeImage @Wait(2)
@Contact2 @NullResponse @NullNextDommeImage @Wait(2)
@PermaRapidCodeOn -> Once used, every @NullResponse line will be handled as if you would use a @RapidCodeOn in or before that @NullResponse line
@PermaRapidCodeOff
@ModuleRapidCodeOn -> Same as @PermaRapidCodeOn, but will be reseted once a module/script has ended
@ModuleRapidCodeOff
@SetTeaseTime(X) -> I.e.: @SetTeaseTime(15 minutes)
@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.
@Insert(X)
Attention!!!
Here is a golden rule for using the @Insert(X) - command:
If you use inside of a @Insert - script headlines, like in the @Goto or @Chance command, THEN you should use this @Insert only once per script,
otherwise the inserted headline(s) would be inserted twice (or as often as you use the @Insert).
So you would end up with non-unique headlines.
Even better, don't use headlines at all in a @Insert-script, you could, but then you have to do it with care as described above.
I.e.: @Insert(questions/done)
-> Would insert the content of the file which is located in the personality-folder/Insert/questions/done.txt
Also you could use the wildcard * ... i.e.: @Insert(questions/sure/*)
-> Would insert the content of a random selected file out of the foler personality-folder/Insert/questions/sure/
It's not really a 'command' as you know them from the original Tai, ... it's more of a 'parser-command'.
Those insert-files must be text-files (.txt) located in the folder 'Insert' in your personality folder.
I.e., what I use often is this in many scripts:
@RT(Done?,Are you done?,Tell me when you are done!,Ready?,Are you ready?,Let me know when we can continue)
[done,ready,yes,continue] @RT(Okay,Alright,Ok,Good,Fine,Nice,Sweet,Perfect) ...
@DifferentAnswer Tell me when you are done, #PetName
Now instead of adding this all over the place, you could make a textfile with that content named 'done.txt' inside the 'Insert' folder, and instead of adding the above to your script, you could add the line:
@Insert(done)
instead.
In general this @Insert command makes sense when you use some script-lines more often.
Let's say I want to change/add something to those 3 script lines later on, I would have to replace them in all scripts I have used them in.
The advantage now is that if I used @Insert(done) instead, I just have to edit that insert-file.
Important to know about this, you can only have one of such @Insert per line, ... AND the WHOLE line will be exchanged with the content of that given file.
So this makes no sense:
@NullResponse @RapidCodeOn @CBT @LockImages @Insert(done)
Because that whole line would be replaced by the content of the done.txt file.
All the other commands would be ignored.
You can imagine it as copy & paste, ... where @Insert(done) is used, it's like you mark that line, delete it, and paste a text there, ... also you could think of it as a 'placeholder'.
This replacement of those @Insert - commands happens when the scripts are loading into memory at the startup.
In general (in most cases), you might could gain the same result using a @CallReturn, but the pros on this might be that it is a bit more performant (you skip all that stuff what happens in the background when using a @CallReturn), ... and well, ... the syntax is a bit easier I guess.
Commands - Not new but implemented while not listed in the guide of the original Tai
----------------------------------------------------
@RandomTease -> The main domme will be one from the 'Random Domme' directory.
The folder structure MUST be like this:
general randomdomme directory
-dommename1
--folder1
--folder2
--folderX
-dommename2
--folder1
--folder2
--folderX
... and so on...
The name of the domme will be taken from the folder name.
@DommeTease -> Resets the @RandomTease command and switches back to the 'normal' main domme.
Commands - Differences to the Original Tai
----------------------------------------------------
@RemoveDomme -> If the domme leaves the chat, the contact which has joined last will be set as the main-domme
@PlayCensorshipSucks -> Not hardcoded anymore, Script is in 'Game Modules' Folder
@PlayRedLightGreenLight -> Not hardcoded anymore, Script is in 'Game Modules' Folder
@PlayAvoidTheEdge -> Not hardcoded anymore, Script is in 'Game Modules' Folder
@PlayRiskyPick -> Not hardcoded anymore, Script is in 'Game Modules' Folder
-> RiskyPick will not be implemented, it leads to quite a simple script in the 'Risky Pick Replacement' folder, a better replacement is on the to-do-list, if someone can provide a better replacement I'd be up for it
@ShowTaggedImage -> If used without a @Tag in the same line, the original Tai pulled one path out of the '\Images\System\LocalImageTags.txt' file, doesn't matter if the picture is tagged or not.
In Awakening only one of the actually tagged pictures will be pulled from that file.
To show a not tagged picture from that file there is the new command implemented '@ShowNotTaggedImage'
@EdgingHold -> Renamed to @ScriptHoldingEdge (old name has collided somewhere and has lead to problems, sorry for that)
@DommeTag() -> If ImageTags.txt is not present in the current folder, tagged images from other folder will be taken
---> This one is an important one, now you can tag all your domme images accordingly, but if you only tag one folder of domme images accordingly and leave others out (for maybe tag them later), you will still get some tag domme-pictures from another folder with the matching tag.
@PornAllowedOff -> ToDo, not implemented yet, a different way is planned for this
@PornAllowedOn -> ToDo, not implemented yet, a different way is planned for this
@Wait(X) -> Can be used in the Stroke cycle.
@PlayVideoNoWait(Dropped) -> You can drag and drop videos.
Script-Example:
Drag and Drop a video here now!
@RT(Done?,Are you done?,Tell me when you are done!,Ready?,Are you ready?,Let me know when we can continue) @RapidTextOff
[done,ready,yes,continue] @RT(Okay,Alright,Ok,Good,Fine,Nice,Sweet,Perfect) ...
@DifferentAnswer Tell me when you are done, #PetName
Let's see ...
@NullResponse @RapidCodeOn @PlayVideoNoWait(dropped)
(loopDragAndDrop)
Do something @Wait(#Random(10,20))
@NullResponse @RapidCodeOn @Goto(loopDragAndDrop)
(Video Ended)
Let's continue...
Commands - Differences to the Original Tai -> If 'Show Hint Marks For Interactivity' is activated
----------------------------------------------------
Sometimes as a scripter you want to hide what would have displayed with the 'Show Hint Marks For Interactivity'-option.
In the custom mode i.e. you may use it in a guessing game, displaying the 'answer' would spoil it.
@CustomMode(chemise, Goto, Right, HideAnswer)
-> HideAnswer will hide the custom mode even if 'Show Hint Marks For Interactivity' is activated
@Timeout(10, GotoLine, HideTimeout)
Filter
----------------------------------------------------
@NotWhileLocked
Valid if images are locked
-> To be used i.e. in Edge-Taunt files, example:
@NotWhileLocked Stare at this #Ass and get closer for me @ShowButtImage
Line will be filtered if images are locked.
@StrokeChange -> See the remarks of the @StrokeChange-Command
@GroupContains(
In example:
@NullResponse @AddContact4 @AddContact2
Without contains
@Group(D1) @Contact1 @RT(Can,May) I @RT(borrow, use) #SubName @RT(for a while, a little)?
@Group(D2) @Contact2 @RT(Can,May) I @RT(borrow, use) #SubName @RT(for a while, a little)?
@Group(D3) @Contact3 @RT(Can,May) I @RT(borrow, use) #SubName @RT(for a while, a little)?
#OfCourse
---> Since the group is "D24" no line is valid
With contains
@GroupContains(D1) @Contact1 @RT(Can,May) I @RT(borrow, use) #SubName @RT(for a while, a little)?
@GroupContains(D2) @Contact2 @RT(Can,May) I @RT(borrow, use) #SubName @RT(for a while, a little)?
@GroupContains(D3) @Contact3 @RT(Can,May) I @RT(borrow, use) #SubName @RT(for a while, a little)?
#OfCourse
---> Line with "D2" is valid
@VideoIsPaused
@VideoIsSlowMotion
@VideoIsPlaying
@VideoIsNotPlaying
@PaceSlowest / @Pace1
@PaceFastest / @Pace8
@MetroIsRunning -> Detects if ANY metronome is running or not
@MetroIsNotRunning -> Detects if ANY metronome is running or not
@FeetWorship
@VarExists(X)
System Keywords
----------------------------------------------------
#TeaseTimeMinutes
#VideoGenres
#StrokeCycleTime
#SubBirthdayYear -> Unlike in the Original Tai #SubAge is calculated
#DomBirthdayYear -> Unlike in the Original Tai #DomAge is calculated
#DomHonorifices -> Found in Miss Blue, it's #DomHonorific + "es" i.e. Mistress -> Mistresses
#LastJoined -> Returns the name of the contact who has joined the chat last
Debug menu
----------------------------------------------------
Should be self explaining, except the 'Slow Script'.
This is meant to watch a script with CTRL+F11, if you have in example a part of a script introduced with @NullResponse @RapidCodeOn followed by a lot of commands, then without that
slow script you wouldn't be able to watch since it would be simply too fast.
Support for wrong syntax
----------------------------------------------------
@CustomMode(ModeText, Normal)
-> Clears all active CustomModes
-> This is used in many scripts when the scripter has set a CustomMode with a vocab file as the keyword. i.e:
@CustomMode(#Beg, Goto, Begging)
And then wanted to clear that CustomMode, but this never worked, at least not in the unofficial patch and also not in Fury.
DON'T use this syntax, it's simply wrong!
I have just added this for compatibility reasons since those scripts are out there and in use, ... it's added to repair a mistake from the past so to say.
The correct way to clear that CustomMode is this:
@CustomMode(#Beg, Normal)
I am not sure if that was working in the original Tai, but in Awakening it works.
Settings
----------------------------------------------------
Stroke patterns:
In some Cock-Hero videos there are beatmeters.
They indicate such stroke patterns like '1115' -> would mean 3 slow strokes, then 5 fast ones.
They will be used only in the stroke cycle (using @StartStroking).
In the file System/StrokePattern/StrokePattern.txt you'll find some.
This file can be edited to create your own stroke pattern.
Every time a @StartStroking command is given it selects one of the lines of that pattern file randomly as the stroke pattern to use.
For a little more insight you may check the discussion about it in the announcement thread:
viewtopic.php?p=319135#p319135
What's discussed there is to have the possibilty to have longer pauses.
I.e.: like '113':
That would mean that the random-selected pace if you would run it without stroke-patterns activated is what a '1' represents.
And the '3' represents a longer pause.
While testing I found the downside of this is that you can only create longer pauses, but not shorter pauses.
So I came up with the idea to have another 'base'-value, in my solution '5' represents the random-selected pace instead of '1', ... so:
5 -> the same as the random-selected pace
38 -> One faster than the random-selected pace, one slower than the random-selected pace.
Then I've stumbled about the Technical Froms project in the forum and thougth it would be nice to have the possibility to give Stroke-Patterns the way those technical forms are done.
Now, as some other features in this Basic-Release of Awakening, you might consider this as well as sort of a 'feature-demonstration', ... not implemented in every detail, ... but the technical base of it is there and ready.
So what's already working is to create such patterns in a Masu-way, see the StrokePattern.txt for examples.
In any other projects I saw, such Masu-beats were simply audio files, here you can 'control' the metronome to do this, so you can define 'emphasis' beats, pauses, patterns, speed and also add a description of that 'Masu-Form' which could be displayed.
(Btw.: I am aware that these examples in the StrokePattern.txt are not descriebed the Masu-way, that would be with some AND in between, I just like it better how they are).
If someone would really like to create a whole Technical-Forms-Game with Awakening, then there might have to be some additional commands added to this, ... I'd be open minded.
Update to 0.3.90 - Change Log:
viewtopic.php?p=366663#p366663
Update to 0.3.72 - Change Log:
viewtopic.php?p=362352#p362352
Update to 0.3.70 - Change Log:
viewtopic.php?p=362004#p362004
Update to 0.3.50 - Change Log:
viewtopic.php?p=356321#p356321
Update to 0.3.37 - Change Log:
viewtopic.php?p=353164#p353164
Update to 0.3.33 - Change Log:
viewtopic.php?p=352806#p352806
Update to 0.3.32 - Change Log:
viewtopic.php?p=352583#p352583
Update to 0.3.31 - Change Log:
viewtopic.php?p=352466#p352466
Update to 0.3.17 - Change Log
This post got too big, so I cannot post the changelog in here anymore, it is, as always, part of the download.
And you could find it in the release post in this thread:
viewtopic.php?p=347839#p347839
Update to 0.3.01 - Change Log
- Spoiler: show
-
[Tease AI Awakening] - A Sharp Awakening 0.3.01 - Change Log
----------------------------------------------------------------
Small fix: @CheckDate considers a missing date variable as 'time is up' now
----------------------------------------------------------------
Update to 0.3.00 - Change Log
- Spoiler: show
-
[Tease AI Awakening] - A Sharp Awakening 0.3.00 - Change Log
----------------------------------------------------------------
- EStim support for audio driven EStim-Devices: In the Advanced Settings -> EStim:
- Selectable audio files playing along with the metronome.
- Selectable audio files playing instead of the beatmeter.
- New Commands:
- @PlayEStimAudio[X] -> Same syntax as @PlayAudio[X]
- @StopEStimAudio
On-the-fly volume change for EStim sounds:
CTRL + W - @PlayEStimAudio-Command and when instead of a beatmeter a soundfile is played - Volume Up
CTRL + E - @PlayEStimAudio-Command and when instead of a beatmeter a soundfile is played - Volume Down
CTRL + R - Metronome EStim Audio Up
CTRL + T - Metronome EStim Audio Down
CTRL + U - Metronome Emphasis EStim Audio Up
CTRL + I - Metronome Emphasis EStim Audio Down
Note:
In the main Awakening folder there is now a picture 'Shortcuts.jpg' which shows all the shortcuts for a better overview.
Audio files for EStim are NOT included!
If someone can provide some good metronome-EStim sounds, I'd like to include them.
Soundfiles as Beatmeter replacement will not be included.
You can find a lot in the 'On Video' Section of the Milovana forum:
viewforum.php?f=25&sid=2812eec22e4481a5e9c08a8f08b87503
In example here:
viewtopic.php?t=24722
... and here:
viewtopic.php?p=341861#p341861
- New Filter:
@WhoIsTyping(X) -> X can be D,1,2,3,4,5,6
I.e.:
@WhoIsTyping(1) is valid if Contact1 is typing
- @ImageBar2On( vanished when showing a content picture -> fixed!
New filter:
@NotFullScreen
@FullScreen
I.e.:
@NullResponse @NotFullScreen @ImageBar1On(5,64,15,37) @Wait(3)
@NullResponse @NotFullScreen @ImageBar2On(20,64,15,37) @Wait(5)
@NullResponse @FullScreen @ImageBar1On(5,50,15,37) @Wait(3)
@NullResponse @FullScreen @ImageBar2On(20,50,15,37) @Wait(5)
- New Command:
@NullLine
Usually if in a vocabulary file different filters leading to different results but no condition is valid, then an error message is printed in the chat ' NO_POSSIBLE_LINES: '
But if you want to return 'nothing' from a vocabulary file in special cases, you can add a line with @NullLine, i.e.:
@Flag(MyFlagName) @DommeTag(Face)
@NotFlag(MyFlagName) @NullLine
- New Command:
@HideChatMessage
This hides the chat messages about joining or leaving the chat room when using i.e.: @AddContact1 @RemoveDomme
I.e.:
@NullResponse @AddContact1
@NullResponse @RapidCodeOn @RemoveDomme @HideChatMessage
- Modified random number generation
- Added missing System-Keywords #SubWritingTaskMin and #SubWritingTaskMax
- Added a white background with black text option for the chat, this is a temporary solution until the customizable UI is done.
- Several small fixes and performance-enhancements
----------------------------------------------------------------
Update to 0.2.90 - Change Log
- Spoiler: show
-
[Tease AI Awakening] - A Sharp Awakening 0.2.90 - Change Log
----------------------------------------------------------------
- New Command:
@ExpireFlag(X,Y)
I.e.: @ExpireFlag(MyFlagName,30 seconds)
This sets a Flag which automatically expires after the given time.
You can only set one Flag per command.
You could achieve the same as with a combination of @SetDate and @Variable[#DateDifference(...
So there are no 'new' things you could do with this command, it just makes scripting a bit easier.
- Added TTS - Text To Speech for system- and emote- messages in the Advanced Settings -> Misc -> 'Chat-System-And-Emote-Messages'
- Lazy Sub App - Buttons and Font a bit bigger
- The search for missing folders at startup, the scan for the beatmeter folder was missing, fixed.
- Added the missing command @SendDailyTasks
- Added ClearModes to the Debug -> Commands menu
- @WritingTaskRandom(X)
This command is enhanced with an additional parameter 'Y', so now it's:
@WritingTaskRandom(X,Y) -> With Y you can set the amount of lines to write, use with care, there is a reason why the user can set the boundaries in the settings.
An example could be for tasks OUTSIDE a session.
- @Censorbar1On( -> Added: In the part where you define the text you can also use the dollar-sign '$' to indicate a new line (line break).
Goes for all @CensorbarXOn
- Those Censorbars have now priority over ImageBars, so they can overlay an ImageBar.
----------------------------------------------------------------
Update to 0.2.85 - Change Log
- Spoiler: show
-
[Tease AI Awakening] - A Sharp Awakening 0.2.85 - Change Log
----------------------------------------------------------------
- New Commands:
@SetImageBar1Image[X]
---> The same syntax as in the @ShowImage[X] command. This preload the given image and assign it to the matching picturebox.
@ImageBar1On(x_position,y_position,width,height)
---> Works the same as the @Censorbar1On.
@ImageBar1Off
@ImageBarAllOff
There are 8 of such bars, so from @SetImageBar1Image[X] till @SetImageBar8Image[X] and from @ImageBar1On till @ImageBar8On
- Drag and Drop for dropped videos and @InputVarDroppedFolderPath[X] works now for all the video-views and picture-boxes for the Main Domme, for all Contacts and for Content.
- @PlayCHC
While it switches from one video to the next one, the pause function is deactivated in order to prevent a possible crash if the pause is used in the wrong moment.
- New Commands:
@SubNameTemp(X)
@SubNameReset
@PetNameTemp(X)
@PetNameReset
When ever #SubName / #PetName is used, the given temp-name will be used instead.
- When in fullscreen a censorbar is dislayed over the chatbox, it wasn't visible for a fraction of a second. -> Fixed.
- Introduced in 0.2.77:
- Added RapitTextOff to the debug menu, will also reseted when a script ends.
---> Took back that it automatically will be reseted when a script ends.
Update to 0.2.77 - Change Log
- Spoiler: show
-
[Tease AI Awakening] - A Sharp Awakening 0.2.77 - Change Log
----------------------------------------------------------------
- Fixed @RuinedMode(
- List Subfolders with 'Add Media Directory' for Contacts.
The default (that is how it was before this update) is that this is activated (the hook is set).
To deactivate can make sense if you have picture-sets and videos for one model, to 'balance' the chances.
I.e.: You have one folder with videos, let's call this example model 'Alice', so the video folder could be named 'Alice Videos', in this folder there are videos, but no subfolders.
Then you have a folder called 'Alice Picture Sets' with let's say 50 subfolders, each subfolder with a picture-set.
---> This is btw. the best and recommended way to sort your media.
Now you could add the folder 'Alice Videos' 3 times, since there are no subfolders it doesn't matter if the hook is set or not.
Then deactivate 'List subfolders' and add 'Alice Picture Sets' one time, the list then looks like this:
Alice Videos
Alice Videos
Alice Videos
Alice Picture Sets
---> This means that the chance that one of the picture-sets is picked randomly is 1 out of 4.
If you have 'List subfolders' activated, you still would have 3 times the video folder in the list, but also all the 50 picture folders, then the chance that a video is picked for display would be very low.
- Added RapitTextOff to the debug menu, will also reseted when a script ends.
Update to 0.2.75 - Change Log
- Spoiler: show
-
[Tease AI Awakening] - A Sharp Awakening 0.2.75 - Change Log
----------------------------------------------------------------
- Fixed reported crash problem at startup.
Update to 0.2.74 - Change Log
- Spoiler: show
-
[Tease AI Awakening] - A Sharp Awakening 0.2.74 - Change Log
----------------------------------------------------------------
- New Command: @InputVarDroppedFolderPath[X] -> X -> The name for the variable to save the folder path to.
The user is expected to drag and drop a folder over the part of the program where the domme media is displayed.
That way the user can enter folder-paths without the risk of typos.
I.e.:
Now drag and drop that folder over me! @InputVarDroppedFolderPath[UnseenFolderPath]
Here we go... @PlayVideo[#Var[UnseenFolderPath]*.*]
- Removed some entries which were not needed anymore from the error-log
- Changed priority from @PermaRapidCodeOn and @ModuleRapidCodeOn over @RapidTextOn
Update to 0.2.72 - Change Log
- Spoiler: show
-
[Tease AI Awakening] - A Sharp Awakening 0.2.72 - Change Log
----------------------------------------------------------------
- New Commands: @PlayAudioLoop[X] @AudioLoopPause(Y)
@PlayAudioLoop[X] works the same as the old @PlayAudio[X] but it plays the soundfile in an endless loop until another soundfile is played with @PlayAudio[X]
@AudioLoopPause(Y) is optional, here you can set a pause/delay until the loop plays the soundfile again, the value 'Y' is a value in MILLISECONDS
IMPORTANT NOTE:
@PlayAudioLoop[X] as well as the a while ago implemented command @WaitAudio are working with .mp3 files only, wave-files are not supported with these 2 commands.
- New Commands: @PlaySecondAudio[X] and @StopSecondAudio
@PlaySecondAudio[X] works the same as the old @PlayAudio[X], it plays the soundfile in a second Audio Player, so that you can play 2 different sound-files at the same time.
Use with care and only if you really need 2 sound-files played at the same time!
Hint: @WaitAudio does not wait for sound-files played with this second Audio Player.
- @CensorVideos(X,Y) I.e.: @CensorVideos(Hardcore,Softcore) Y is optional, can be 'bigbar'
This command is enhanced with an additional parameter 'CensorBarText', so now it's:
@CensorVideos(X,Y,Z) I.e.: @CensorVideos(Hardcore,Softcore,bigbar,CensorBarText Censored for bad behaviour)
Besides the video categories you can also add CHCPlayer as a parameter to censor the videos played with the @PlayCHC command.
So the censor label would have written on it 'Censored for bad behaviour' instead of just 'Censored'.
In the part where you define the text with CensorBarText you can also use the dollar-sign '$' to indicate a new line, so this:
@CensorVideos(Hardcore,Softcore,bigbar,CensorBarText Censored $ for $ bad $ behaviour)
Would lead to the label displayed something like this (the forum displays it not centered to the middle exactly, just to give you an idea):
Censored
for
bad
behaviour
- New Settings Tab: Advanced Settings
-- -> Two Dommes At Once (In A Set Of Pictures) -> Exchange Words (i.e. I, me, -> We, us)
The tai2dommesAtOnce.txt Feature was already introduced in the unofficial patch, from the release notes of it:
------------------------------
- Two dommes in one picture
------------------------------
If you use picture sets showing 2 girls at once, now you can add a textfile to the picture set folder:
tai2dommesAtOnce.txt
TAI will check if that textfile is present in the current domme picture set folder,
if it is, it will set a tempflag named 'tai2dommesAtOnce', if not the flag will be deleted.
I.e.:
@Flag(tai2dommesAtOnce) @NullResponse @Chance30(SwitchTheDomme)
...
(SwitchTheDomme)
Hey Marsha, wanna take the keyboard for a while?
@NullResponse @DommeNameTemp(Marsha) @DommeAvatarTemp[rndAva\marsha02.jpg]
------------------------------
Now with the new 'Exchange Words' setting activated some words will be automatically exchanged (if that flag 'tai2dommesAtOnce' is set), 'I' becomes 'We' and so on.
Note: There are exceptions implemented in order to not replace i.e. 'I', such a case is i.e. 'I think', this 'I' in 'I think' will not be
replaced since 'We think' sounds just wrong.
I am already stumble from time to time over new word combination which I will continuously add to this.
- Fixed problems deleting images with the Del-Key
- Fixed a small issue using @StopVideo without a playing video
- Locked Image disappear when playing a video -> Fixed
- Unhandled Exception when you try to display a 'bad' (bad -> like in: corrupt/broken/not valid) picture. -> Fixed
- With the arrow-key 'Down' you can go through your last inputs, arrow-key 'Up' allows to go back to the before shown input.
These inputs are displayed in the chat, so with enter you will send that input.
- Added links to the menu
Update to 0.2.67 - Change Log
- Spoiler: show
-
[Tease AI Awakening] - A Sharp Awakening 0.2.67 - Change Log
----------------------------------------------------------------
- Fix for sound-problem using Bluetooth earphones
- Refresh URL-Files -> Fixed
- Unhandled Exception using @ChatImage[ when the image doesn't exist -> Fixed
- Added Time and Position to Domme Video Path Display (F1)
- Added functionality to #TagGarment
- Added Del-Key (Delete) functionality
---> Deletes/moves the shown picture.
If it's a local file, it will be moved to the folder:
YourAwakeningInstallation/Images/DeletedImages
If it's a blog-image, it will be removed from the url-files as well as from the 'Session Images'.
In both cases the file 'YourAwakeningInstallation/Images/DeletedImages/DeletedImagesLog.txt' holds all the necessary information if you accidentally deleted an image.
Update to 0.2.64 - Change Log
- Spoiler: show
-
[Tease AI Awakening] - A Sharp Awakening 0.2.64 - Change Log
----------------------------------------------------------------
- On some rare occasions TempFlags weren't deleted by using @DeleteFlag(X) -> Fixed
- Cosmetic correction: The Script-Edit-And-View-Window (CTRL+F11) sometime became too big -> Fixed
----------------------------------------------------------------
Update to 0.2.63 - Change Log
- Spoiler: show
-
[Tease AI Awakening] - A Sharp Awakening 0.2.63 - Change Log
----------------------------------------------------------------
- Fixed Lazy Sub App + @Timeout problem
- @CountVar[ can now handle multiple timers at the same time
----------------------------------------------------------------
Update to 0.2.62 - Change Log
- Spoiler: show
-
Update to 0.2.62
----------------------
Contains fixes for:
viewtopic.php?p=337590#p337590
viewtopic.php?p=337912#p337912
[Tease AI Awakening] - A Sharp Awakening 0.2.62 - Change Log
----------------------------------------------------------------
Commands - New (requested)
----------------------------------------------------
@JumpVideoReverse(X) -> X -> Percent
I.e.: Let's say a video has 10 minutes duration, the @JumpVideo(20) command would jump 20% of the video, so you end up at 02:00/10:00.
The @JumpVideoReverse(20) jumps to the percent of what is left from the video, so you end up at 08:00/10:00.
-> So the @JumpVideoReverse(20) does exactly the same as @JumpVideo(80)
----------------------------------------------------
Lazy Sub App
----------------------------------------------------
You will have to set it up in the settings.
It has 24 free definable buttons.
Hint: If you don't need so much buttons, you simply can resize the window of the Lazy Sub App.
See the screenshot to get an idea of that.
And you can move it around to place it where you want to have it placed.
- LazySubExamples.jpg (177.87 KiB) Viewed 50265 times
Download:
https://markusawakening.itch.io/tease-ai-awakening
Best greetings,
Markus