Sometimes, a CE doesn't reveal a contradiction, no matter how much you press. Once all the statements have been pressed, then the next part of the trial goes on. This is what people refer as "press all to continue." Unlike present evidence ends, "press all" ends are on the intermediate level of programming. This involves variables. Now, if you haven't take programming classes (I haven't,) then don't worry. There's an easy way to make sure that the "press all" runs smoothly.
Follow the guidelines for the basic CE guide, but do not add a contradiction. There is an added step before we get into the programming part of the guide. You need to create a blank frame after the last part of the convo on each press convo. This is very important as if this isn't done, then the programming may not work correctly.
There are two main methods: the common way and Enthalpy's way.
The Common Way
- Decide on the name of the variables to use. The best default is where X is the position of the statement in the testimony (press1, press2, press3, etc.).
If you want to be even more precise, or to keep track of certain testimony's variables, I would suggest using this syntax: charnumberpressposition. The syntax goes as following:
- char: character (or shorthand for character) speaking for that CE
- number: if you have multiple testimonies for that character, add a number before "press". Otherwise, skip and enter "press" instead
- position: position of the statement needed to be pressed in that testimony.
An example of a very precise set of variables for Kristoph's 2nd CE would be: kris02press1, kris02press2, kris02press3
- On the first frame of the press conversation, use the action "define new variables". The put your variable "press x" or whatever variable you choose in the box for "name of variable to test." Under the value bar, put 1. Do this for every statement.
One thing to note: All variables are initially set to 0. So you do NOT have to do this Code: Select all
please do not do this
define variable
variable press1
value 0
It's redundant coding, especially when the engine does this for you. So don't waste time setting each variable to 0.
- On the last frame of each of the press convos (or rather, the last frame before the "continue your testimony" frame), use the action "Activate variables..." Under "conditions to test", go to the bar for "expression to test" and enter
using my syntax,Code: Select all
kris02press1= 1 & kris02press2 = 1 & kris02press3 = 1
Then enter your target frame id in the box below. This should be the frame leading out of the CE. Then, go back to "failure frame ID" and enter the frame id number AFTER this one. You should already have a blank frame after this, otherwise make one quickly and set the wait timer to 1.
Okay, I bet you're asking "why are there more press values and ampersands?" Again, this has to do with the programming aspect. The ampersand is required if you are going to check all the statements have been pressed. The Player has to evaluate all the statements have been pressed, so you have to put the number of variables to check in that bar. What that sample syntax is saying is "Is press statement 1 activated? And is press statement 2 activated? And is press statement 3 activated?" In plain English, "Are all the statements activated?" If at least one of the questions is false, i.e. not all the statements have been pressed, then it will continue the CE. If the statement is true, i.e. all press convo have been pressed, then it will direct the player out of the CE.
I'll refer you to
henke's thread for a tutorial about variables. It's not in the nature of the tutorial to show you how to use variables like an expert. If you are aiming to master variables, I suggest you read up on
Enthalpy's Variable Guide for a full tutorial on variables. This guide only aims to help you use variables for CE purposes.
Enthalpy's Way
Enthalpy's Way is a bit more intuitive. Go to the third step of "The common way." Instead of the whole "Variable = 1 & Variable2 = 1", use this expression instead:
using my syntax
Code: Select all
kris02press1*kris02press2*kris02press3=1
This expression uses a multiplier to check each variable. Basically, each variable, when activated, is set to 1. When you multiply 1 many times, the result is always 1. If not, then the expression is false because anything multiplied by 0 is 0.
Writing Notes
In terms of writing, this is best left for exploratory testimonies. Or if you're being von Karma-ish, testimonies that have no direct contradictions. This usually gives players breathing room.