H
HAMburgler
Ok so, here's some basics
1. triggers go inside the quotes. I forgot to put the quotes in my previous post, sorry.
2.
initial_settings:{"currentposition":"Vaginal"}
This is how you declare any custom variables. A more generalized writing of this line would be:
initial_settings:{"varName":<numerical values WITHOUT quotes OR string INSIDE quotes>}
This line should be at the top of your dialogue. Variables can take both numbers and strings as values.
3. When you put variable inside the ** characters Dialogue Actions will return the variable's value.
As such, let say you have a variable: "customVar" and it's value in 1, if you do something like:
linetype:"*customVar*" // when this line is run the dialogue box in the game will show "1"
As such, if you do something like
linetype:"[next_*customVar*]" // this trigger can lead to multiple lines depending on customVar's value.
if it's 1, the line will trigger the "next_1" linetype, if it's 2, the line will trigger the "next_2" linetype and so on.
4. If you make a custom linetype it will never play unless you trigger it directly.
5. A quick tutorial for buttons:
- You open them with triggers: [BUTTON<any number from 1 to 10>_ON]
- You name them using da.button.<any number from 1 to 10>.name
- Either with a trigger SETVARBYNAEM: [SETVARBYNAEM_da.button.<any number from 1 to 10>.name_<any name you want>]
- Or with a "{"set":{}}" instruction placed after the line line where you open the buttons.
- EG: linetype:"[BUTTON1_ON]" {"set":{"da.button1.name":"randomName"}}
Now, back to the point. Lets re-answer you initial questions with a bit more detail.
1. Animtools has a custom variable called "atv_position". which takes values from 1 to 4 (1 - oral, 2 - vaginal, 3 - anal, 4 - other)
Use that for the lines where you want her to react to the current position. // general:"[general*atv_position*]"
Than make a custom variable, something called like "last_atv_position" and before every line you intend to change the position on just copy the value of "atv_position" into your variable with a [SETVARBYNAEM] trigger. As such you will always know what type of position was before and you can have another "general" linetype that looks like this // general:"[general*last_atv_position*]" (If you have more than one linetype with the same name they will all have equal chances to fire when the linetype is called).
3. Create a variable called something like "analCount", and initialise it with 0 and every time you change the position to anal, use a "{"set":{}}" instruction to increase it's value by 1 // lineWhereYouChangePosition:"[ANIMTOOLS_positionName]" {"set":{"analCount":"+1"}}
Or an another way to write the same line would be: lineWhereYouChangePosition:"[ANIMTOOLS_positionName][SETVAR_analCount_+=1]"
PS: you can use whatever methods you like for setting variables, I just showed you both so you can choose, just try to stick to one style for the entire dialogue, it'll make your life a lot easier when debuging.
Also, if you haven't yet try to go through the "variables" and "triggers" files from the documentation file that comes with the DA download.
It has a lot of useful stuff. I think it's called "For dialogue writers"