Tutorial De Fork Conditions Para O RM2K

17 de junho de 2011

Tutorial De Fork Conditions Para O RM2K

Tutorial em inglês, feito por Ayruline, tirado da antiga página do Don Miguel que explica o que é, o que faz e o que mais pode ser feito com os Fork Conditions do RPG Maker 2000. É dividido em 9 partes, e o texto é bem ilustrativo.

L¬L¬L¬L¬L¬L¬Fork Conditions Tutorial (by Ayruliné)L¬L¬L¬L¬L¬L¬
(note: for rm2k version v1.05)

i. What is a fork condition?

ii. How do fork conditions work? Part 1: The Switch

iii. How do fork conditions work? Part 2: The Variable

iv. How do fork conditions work?  Part 3: The Timer

v. How do fork conditions work?  Part 4: Money

vi. How do fork conditions work?  Part 5: The Item

vii. How do fork conditions work?  Part 6: Hero Options

viii. How do fork conditions work?  Part 7: Direction

ix. How do fork conditions work?  Part 8: The Final Three

x. Conclusion and other stuff

L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬L¬
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
i. What is a fork condition?

    A fork condition is an event that allows you to make the game take a 
different turn depending on what your character (the player) has already 
done.  You can make small changes - such as getting a different item, or 
large changes - such as a character living or dying, if you know how to 
operate fork conditions.  This can be a powerful (and perhaps necessary) tool 
to avoid linearity in your homemade RPG.

    In this tutorial, I will try to explain all the ways that a fork 
condition can be used.  In all, there are 10 main options for fork 
conditions, each of which can be used for a different purpose.  How you use 
them in your game is, obviously, your decision.  I can give you the key, but 
you must open the door.  (Don't take that literally... I'm not giving out 
keys.)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ii. How do fork conditions work?  Part 1: The Switch

    To use a fork condition, you must first decide the 'cause' before 
determining the 'effect'.  The best example is the first option - the switch.
    Open the fork conditions event, and you will see a list of conditions.  
On the first page is:

    O Switch:    _______________[...]- ____[v]
    O Variable:  _______________[...]-
             O Set: _____[v]
             O Variable: ___________[...]
             __________[v]
    O Timer:     ____[v] min ____[v] sec ____[v]
    O Money:     ____[v]  _______[v]

    For now, we will concentrate on 'switch'.  Click the circle for switch, 
then press the [...] button beside the first box.  You will be taken to a 
list of your game's switches.  Choose one, and press 'OK' (for the tutorial, 
we will say you chose the first switch on your list, named 'ThisSwitch').  
Back on the Conditions page, make sure the other switch box says 'ON', and 
make sure 'add ELSE case' is also checked, and press ok.  Back on the 'Events 
Commands' box, you will now see:

    <> FORK Optn:Switch [0001: ThisSwitch] - ON
     <>
    :ELSE Case
     <>
    :END Case
     <>

    Now, you have determined the 'cause'.  The second line down, with the 
'<>', is where you define the 'effects' of what happens if the switch 
conditions are met (In this case, what happens if Switch: ThisSwitch is ON). 
For example, lets say, if ThisSwitch is on, you recieve one of the item named 
'fenix down'.  Go into 'Add Item' and make it happen.  Now, it looks like 
this:

    <> FORK Optn:Switch [0001: ThisSwitch] - ON
     <> Add/Remove Item:Fenix Down-> 1 Incr.
     <>
    :ELSE Case
     <>
    :END Case

    But what happens if Switch: ThisSwitch is not on?  You define that under 
':ELSE Case'.  Lets say a sound effect plays.  You click on the '<>' line 
under ':ELSE Case', and choose a sound effect.  The event should now look 
like this:

    <> FORK Optn:Switch [0001: ThisSwitch] - ON
     <> Add/Remove Item:Fenix Down-> 1 Incr.
     <>
    :ELSE Case
     <> Play SE:  Failure1
     <>
    :END Case
     <>

    You have now completed a simple fork condition.  However, perhaps you 
wish something to happen after the fork, something that happens no matter 
whether Switch: ThisSwitch is on.  That's where ':END Case' comes in.  ':END 
Case' means that is the end of the fork condition.  Anything you plase after 
that will happen if Switch: ThisSwitch is ON or OFF.  For example, you want 
the hero to jump up and down at the end of the event.  Click the '<>' line 
after ':END Case', and make the appropriate move event.  Afterwards, it will 
look something like this:

    <> FORK Optn:Switch [0001: ThisSwitch] - ON
     <> Add/Remove Item:Fenix Down-> 1 Incr.
     <>
    :ELSE Case
     <> Play SE:  Failure1
     <>
    :END Case
     <> Move Event...: Hero, Start Jump, End Jump
     <>

    This is a simple example of a 'Switch' fork condition...  However, 
Remember the 'Add ELSE Case' that was checked on the Conditions list?  Click 
on the '<> FORK Optn:Switch [0001: ThisSwitch] - ON' line, and press the 
space key to edit the event.  Now, uncheck the 'Add ELSE Case' button, and 
press OK.  The event will now look like this:

    <> FORK Optn:Switch [0001: ThisSwitch] - ON
     <> Add/Remove Item:Fenix Down-> 1 Incr.
     <>
    :END Case
     <> Move Event...: Hero, Start Jump, End Jump
     <>

    An event such as this would be useful if something extra happens when the 
switch is on, but without it, only what comes after (in this case, the move 
event) will occur.  This could also be used as a parallel process event, if 
you have nothing after ':End CASE'.  This way, it will not happen UNTIL the 
switch is turned on.  As always, you will need to turn of the event using a 
switch or a variable.

    There is still more that can be done using just the switch option.  For 
example, what would you do if you wanted something to occur if 2 switches are 
on?  Or 3, maybe?  The first thing you do is make a fork condition, as 
before, with 'Add ELSE Case' checked.

    <> FORK Optn:Switch [0001: ThisSwitch] - ON
     <>
    :ELSE Case
     <>
    :END Case
     <>

    Now, you click the first '<>' line, meaning that you choose what happens 
if Switch: ThisSwitch is ON.  This time, however, make another fork 
condition, occuring if a second switch is on (In this case, it is the second 
switch on the list, 'ThatSwitch').  The event will now look like this:

    <> FORK Optn:Switch [0001: ThisSwitch] - ON
     <> FORK Optn:Switch [0002: ThatSwitch] - ON
      <>
     :ELSE Case
      <>
     :END Case
      <>
    :ELSE Case
     <>
    :END Case
     <>

    Here is where it can start to get tricky... listen closely.  The first 
'<>' like is where you decide what happens if both Switch: ThisSwitch and 
Switch: ThatSwitch are on.  The second '<>' line is what happens if only 
Switch: ThisSwitch is on, and Switch: ThatSwitch is off, because it is after 
the Fork determining that ThisSwitch is on, but it is in the else case of the 
fork determining that ThatSwitch is on, therefore meaning in this case, 
ThatSwitch is off.  The third '<>' line is what happens if neither switch is 
on, and the final '<>' is what will happen after the forks no matter what.

    ...But what if you want something to occur when ThatSwitch is ON, but 
ThisSwitch is OFF?  You add another Fork Condition in the ':ELSE Case' of the 
first fork (meaning that it occurs if ThisSwitch is off).  It would look like 
this:

    <> FORK Optn:Switch [0001: ThisSwitch] - ON
     <> FORK Optn:Switch [0002: ThatSwitch] - ON
      <>
     :ELSE Case
      <>
     :END Case
      <>
    :ELSE Case
     <> FORK Optn:Switch [0002: ThatSwitch] - ON
      <>
     :ELSE Case
      <>
     :END Case
      <>
    :END Case
     <>

    Following this pattern, you could make an event look for many, many 
switches, to check which of them are on or off.  As you can no doubt see, you 
can make a game very non-linear with only one option of a fork condition.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
iii. How do fork conditions work?  Part 2: The Variable

    However, there are still many options to explore.  Next on the list is 
the Variable.  Return to the Conditions list, and you will see this page 
again:

    O Switch:    _______________[...]- ____[v]
    O Variable:  _______________[...]-
             O Set: _____[v]
             O Variable: ___________[...]
             __________[v]
    O Timer:     ____[v] min ____[v] sec ____[v]
    O Money:     ____[v]  _______[v]

    This time, click the circle next to the 'Variable' option.  As before, 
Click the [...] button next to the first box to decide which variable you 
will use.  For an example, we'll use the first variable on the list, named 
'ExampleVar'.  Choose the variable, and press 'OK'.  Back on the conditions 
list, you'll notice three sub-options under Variable.

             O Set: _____[v]
             O Variable: ___________[...]
             __________[v]

    (The 'Set' box should say 0, and the third box will most likely say 
'Same' now that you have the Variable option chosen) The 'Set' box is where 
you choose a number for it to relate to (how it is compared to the variable 
is decided by the third box)... for now, we'll make this '2'.  On the other 
hand, you could choose the circle next to the second 'Variable' option.  This 
would mean the number is decided by what that other vairable is at... If you 
used this, you could quite possibly connect all the variables, and form an 
endless circle... but for now, we'll stick with the 'Set' option.  In the 
final box, you will see a list of words: "Same, Above, Below, Bigger, 
Smaller, Others'.  These determine how the fork condition relates the state 
of the variables... Here is what they mean:

    Same: This means the variable must be an exact match of the number 
chosen... so in this case, the fork condition is that the Variable: 
ExampleVar MUST be 2.

    Above: The Variable must be equal to or greater than the chosen number.  
In our example, the condition is if ExampleVar is 2 or above.

    Below: The Variable must be equal to or less than the chosen number.  In 
our example, the condition is if ExampleVar is 2 or below.

    Bigger: If the 'Bigger' option is used, the Variable must be greater than 
the chosen number.  In this case, the variable would have to be more than 2.

    Smaller: This means the Variable must be less than the chosen number.  In 
this case, the variable would have to be less than 2.

    Others: 'Other's means the variable must be anything other than the 
chosen number, in the example, anything as long as it isn't 2.

    For now, choose the 'above' option, make sure 'Add ELSE Case' is checked, 
and click OK.  On the Events Conditions box, it should show:

    <> FORK Optn:Varbl[0001:ExampleVar]-2abov
     <>
    :ELSE Case
     <>
    :END Case
     <>

    This is almost identical to the Fork Condition with the 'Switch' option.  
The first '<>' line is if the Variable: ExampleVar is 2 or more, the second 
'<>' line is if it is not, and the third '<>' line is what happens in the end 
in either case.  Variable Forks are used the same way as Switch forks with 
the addition of the 'Same/Above/Below/Bigger/Smaller/Others' option, so if 
you need further help on how this works, refer back to the Switch section.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
iv. How do fork conditions work?  Part 3: The Timer

    Return to the Conditions screen, and you'll see this page again:

    O Switch:    _______________[...]- ____[v]
    O Variable:  _______________[...]-
             O Set: _____[v]
             O Variable: ___________[...]
             __________[v]
    O Timer:     ____[v] min ____[v] sec ____[v]
    O Money:     ____[v]  _______[v]

    This time, click the circle next to 'Timer'.  In the first box, you 
determine the number of minutes, and in the second, the number of seconds.  
In the third box, you choose whether the it should occur when it is 'above' 
or 'below' the time you determined.  For now, make both minutes and seconds 
set to '0', and the condition 'below' - this will make it so that it will 
occur when the timer runs out.  To make this particular scenario work, 
uncheck 'Add ELSE Case', and press OK.  You will see:

    <> FORK Optn:Timer  0m.00s.less
     <>
    :END Case
     <>

    Make it a parallel process event, and whatever you put within the fork 
option will only occur when the timer runs out.  An example of using a timer 
with an else case is a door that only opens when the timer reaches a certain 
time.  On the first '<>' line, you would put a teleport event, and on the 
second '<>' line, a sound effect such as Failure1, and perhaps a message 
saying the door won't budge.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
v. How do fork conditions work?  Part 4: Money

    O Switch:    _______________[...]- ____[v]
    O Variable:  _______________[...]-
             O Set: _____[v]
             O Variable: ___________[...]
             __________[v]
    O Timer:     ____[v] min ____[v] sec ____[v]
    O Money:     ____[v]  _______[v]

    By now, you probably know the fork conditions screen well.  The final 
option on the first page of conditions is 'money'.  Click the circle next to 
the 'money' option, and then choose an amount... 100 is fine for an example.  
On the second box, you choose whether the player needs to have 'above' that 
amount, or 'below' that amount.  When you press OK, the page will look 
something like this:

    <> FORK Optn:Money  100abov
     <>
    :ELSE Case
     <>
    :END Case
     <>

    As always, the first '<>' line should contain what happens when you DO 
have 100 gold or more, and the second '<>' line is what happens if you don't. 
 The third is what happens at the end, regardless of which option is 
encountered.

    The money fork condition can be used to make your own shop.  You could 
start with a 'Show Choice' event as a list of items, then have fork options 
under each choice to make sure the character has enough money to buy the item.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vi. How do fork conditions work?  Part 5: The Item

    Now, we finally reach the second page of conditions.  Open the Fok 
Condition event, and click on the '2' tab at the top.  You will now see a new 
list of options:

    O Item:    ______________[v]- _______[v]
    O Hero:    ______________[v]
           ___________________________[...]
    O Event:   ______________[v]- ___[v] Face Dir
    O Vehicle: _______[v] Ride
    O Started by Decision Key
    O Play BGM Once

    We'll start at the top: Click the circle next to the 'Item' option.  You 
will see that the first box is where you choose the item in question.  As an 
example, we'll say you choose 'Fenix Down'.  In the second box, you define 
the condition, by choosing 'Has it', or 'Doesn't have it'... I think these 
are pretty much self explanatory.  Choose, 'Has it', and you'll get this:

    <> FORK Optn:Fenix Down Item Got
     <>
    :ELSE Case
     <>
    :END Case
     <>

    The first line is what happens if you have a Fenix Down, the second is if 
you don't, and the third is what happens afterword, as always.  This Fork 
condition is useful in saving yourself from making extra switches or 
variables when you recieve an item.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vii. How do fork conditions work?  Part 6: Hero Options

    Go back to the second page of conditions, and you're faced with this page 
again:

    O Item:    ______________[v]- _______[v]
    O Hero:    ______________[v]
           ___________________________[...]
    O Event:   ______________[v]- ___[v] Face Dir
    O Vehicle: _______[v] Ride
    O Started by Decision Key
    O Play BGM Once

    This time, you click the 'Hero' circle, and you can choose options 
regarding one or more of your heroes (to do more than one, use the same trick 
explained in part ii).  To begin, choose the hero you want from the first 
box.  For the second box, click the [...] button, and you will be taken to a 
list of options:

    Is in hero party: This one is self explanatory.

    Name =: This could be used if you change your hero's name... the fork 
option is if his/her name is what you type, or not.

    Level: If your hero is at or above the level you determine, the fork 
option is recognized.

    HP: If your hero is at or above the HP you determine, the fork option is 
recognized.

    Special Skill:  You choose from the list of skills, and if the hero 
chosen knows the skill, what you choose under the fork option will occur.

    Item: This is a useful option - the only way to check the hero's 
equipment, rather than the items in the inventory.

    Condition: You choose from the list of condition, and the fork condition 
happens if the hero you chose has that condition.

    After choosing one of the above options, something like this will appear 
in the 'Events Conditions' box:

    <> FORK Optn:Alex- Poison is in condition
     <>
    :ELSE Case
     <>
    :END Case
     <>

    The Hero option can be very useful in determining something about your 
characters... for example, if someone is dead, you don't want them to be able 
to talk.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
viii. How do fork conditions work?  Part 7: Direction

    Back on the second make of the conditions:

    O Item:    ______________[v]- _______[v]
    O Hero:    ______________[v]
           ___________________________[...]
    O Event:   ______________[v]- ___[v] Face Dir
    O Vehicle: _______[v] Ride
    O Started by Decision Key
    O Play BGM Once

    Next is the 'Event' option.  From the first box, you can choose any event 
on the current map, including the hero.  In the second are the options Up, 
Right, Down, Left... with this option, you can make a fork depending on which 
direction the hero is facing.  This can be very useful, especially if you 
plan to use real-time battles.  The fork will look something like this on the 
event list:

    <> FORK Optn:Hero- Up Face Direct
     <>
    :ELSE Case
     <>
    :END Case
     <>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ix. How do fork conditions work?  Part 8: The Final Three

    O Item:    ______________[v]- _______[v]
    O Hero:    ______________[v]
           ___________________________[...]
    O Event:   ______________[v]- ___[v] Face Dir
    O Vehicle: _______[v] Ride
    O Started by Decision Key
    O Play BGM Once

    As you can see, there are three final options left for fork conditions: 
Vehicle, Started by Decision Key, and Play BGM Once.  Vehicle is semple 
enough - you choose one, and the fork condition happens if you are riding 
that vehicle.  There is little use I know of for 'Started by decision key'.  
For example, in the following event:

    <> FORK Optn:Start by Decision Key
     <> Messg: bla bla bla
    :ELSE Case
     <> Messg: blee blee blee
    :END Case
     <>

    ...You will only see the message "bla bla bla" if the event is set to 
'push key', and "blee blee blee" if it is anything else.  As for Play BGM 
(BackGround Music) Once, well... it happens if the BGM has played one 
complete round.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
x. Conclusion and other stuff

    After having read this tutorial, you can probably understand fork 
conditions well, and be able to apply them in your RPG.

    I pretty much learned fork conditions on my own, but here are some people 
that deserved to be thanked anyway:

    Momheretic/Wishmoo; Illustrious; QHeretic/DingoKing; Lun Calsuri; Don 
Miguel; DyME; Legynd; all of the other staff at the Overworld; Indiana Jones; 
Tom, who guards the plastic fish on wednesday nights; Jojo the sideshow 
hillbilly circus monkey; Bill-Bob the Filbert; Bayou Richard the Third; Milk 
- it does a body good; The little guy, on... that... show.... he was cool; 
'loo' & ';p;'; That other guy who doesn't really exist, although he provided 
me with hours of entertainment; the guy who was doing what he wasn't doing as 
he was doing something he could have done in the past if he wasn't not doing 
the thing he was and was not doing; and most of all.....

    Ted.

Informações adicionais

Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!

Deixe um comentário

Inscreva-se na nossa newsletter!