.......................
......................
Fork-Tutorial by Reini 
......................
.......................

Das ist jetzt der Inhalt:

a) Grundwissen und woher man es bekommt

b) Was sind Forks und wie sind sie aufgebaut?

c) Erstes Beispiel: Blumentopf zum Verkauf

d) Zweites Beispiel: Steht der Held auf einem bestimmten Feld?

e) Optionen im Fork-Fenster

f) Schluss


________________________________________________________________________________
a) Grundwissen und woher man es bekommt
Hier schreibe ich mal auf, was in diesem Tutorial alles benutzt wird,ohne es zu erklren. Also:
1. Man soll sich einigermaen mit dem Maker auskennen. Das heisst, die wichtigsten Events kennen usw. Hierzu empfehle ich das "Forgotten E-Book" (so heisst es glaube ich jetzt). Das gibts auf http://www.forgotten.6x.to/. 
2. In einem Beispiel dieses Tutorials werden Variablen benutzt. Wer nicht wei was das ist oder wie es geht dem empfehle ich Seijuros Variablen Tutorial. Das gibts auf www.rpgmaker2000.de unter "Tutorials". 
Ja, das wars eigentlich schon. 



________________________________________________________________________________
b) Was sind Forks und wie sind sie aufgebaut?

Also, die deutsche bersetzung fr "Fork" (heit auch Gabel, aber ich gehe jetzt mal von den Forks im Maker aus ^_^) wre "Bedingung". Wie der Name schon sagt, muss eine Bedingung erfllt sein, damit ein befehl ausgefhrt wird. Den Befehl "Fork Conditions" findet man im 3. Registerreiter von den Event Befehlen, Rechte Spalte, 5. von oben. Der Aufbau einer Fork (oder heisst es eines Forks? Ich wei es nicht :D ) sieht also folgendermaen aus:
-------------------------
<Bedingung>

  <...Befehle...>
  <...Befehle...>
  <...Befehle...>
 
 <Falls nicht erfllt (optional)>
  <...Befehle...>
  <...Befehle...>
  <...Befehle...>

<Ende der Bedingung>
-------------------------
Der "Falls nicht erfllt"-Zwieg kann auch ausgelassen werden. 


________________________________________________________________________________
c) Erstes Beispiel: Blumentopf zum Verkauf
Wir wollen ein Beipspiel machen. Ein Mann verkauft ein Item namens "Blumentopf" (msst ihr erstellen, wozu es gut sein soll, drft ihr euch selbst ausdenken ^_^). Das verkuaft er jedoch nur, wenn ir ihm 10 $ gebt und zustzlich einen Laib Brot (Msst ihr auch ein item erstellen). Das ganze wrde als Skizze so aussehen:
---------------------------------------------------------------------------
<Nachricht: Willst du einen Blumentopf kaufen? Nur 10 taler und ein Brot! >
<Auswahl (Choice): Ja/Nein>

 <Falls Ausgewhlt ja:>
  <Fork: Falls 10 Taler>
    <Falls Item Brot>
      <Item Brot wegnehmen>
      <10 Taler wegnehmen>
      <Item Blumentopf geben>
      <Nachricht: Ein gutes Geschft hast du da gemacht!>
     <Er hat item Brot nicht>
      <Nachricht: Du hast ja kein Brot!>
   <Ende Fork "Falls Item Brot>
  <Falls keine Zehn Taler>
   <Nachricht:Ich will zehn Taler!>  

 <Falls Ausgewhlt nein:>
  <Nachricht: Dann verschwinde!>

<Ende Auswahl>
---------------------------------------------------------------------------
Das "Du hast kein Brot" und das "Du hast keine 10 Taler" knnte man auch weglassen.
Hoffentlich habt ihr die Skizze verstanden. Nun gut. Als erstes machen wir eine nachricht, ob man einen Topf kaufen will. Dann eine Choice mit Auswahloptiionen Ja/Nein. In den "Nein Case" schreiben wir gleich noch den text, wenn man nichts kaufen will:  Der "Code" sieht dann so aus:
---------------------------------------------------------------------------
<>Messg:Willst du einen Blumentopf kaufen? Nur 10 Taler und ein Brot!
<>ShowChoice: Ja/Nein
:[Ja]Case
 
:[Nein]Case
 <>Messg:Nachricht: Dann verschwinde!
:[End]Case
---------------------------------------------------------------------------
Bis jetzt haben wir nur ber Forks gesprochen. Jetzt ist der groe Augenlick da: Wir machen unsere erste Fork!!!!! Und wir machen sie in den "Ja-Case". Dazu klicken wir im 3. Registerreiter der Event-Commands auf "Fork Conditions". Daraufhin erscheint ein Fenster. Das wird in "d) Optionen im Fork-Fenster" nher erklrt. Wir jedenfalls whlen die Option "Money". Hierzu muss man wissen, das "above" heisst, das es ber dem Wert ist, und "below", dass es unter dem Wert ist. (Mein Englisch ist nicht gerade das beste ^_^). Also whlen wir below, da er ja gengend Geld haben soll, wenn er es kaufen darf. Als Wert nehmen wir 10 (es sind ja 10 Taler Preis). In "Add ELSE Case" machen wir einen Haken. Der "Else Case" wird ausgefhrt, wenn die Bedingung nicht erfllt ist. In unserem fall soll er dann sagen, dass man zuwenig Geld hat. Also machen wir in den Else-Case auch gleich eine passende Message. Der Code danach sollte ungefhr so aussehen:
---------------------------------------------------------------------------
<>Messg:Willst du einen Blumentopf kaufen? Nur 10 Taler und ein Brot!
<>ShowChoice: Ja/Nein
:[Ja]Case
 <>FORK Optn: Money  10abov
  <>
 :ELSE Case
  <>Messg:Du hast zuwenig Geld!
 :END Case
:[Nein]Case
  <>Messg:Nachricht: Dann verschwinde!
:[End]Case
<>
---------------------------------------------------------------------------
Nun fehlt nur noch eine berprfung des Brotes. Wieder eine Fork: Diesmal whlen wir jedoch nicht "Money", sondern auf der 2. Seite der "Fork Conditions" die Option "Item". Hiermit kann man berprfen, ob man ein Item hat. Aus der ersten Dropdown Liste whlt man das Item. Aus der Zwieten, ob der Held es haben soll "Has it" oder nicht "Doesnt have it". Ach ja, und wieder ein Hkchen bein "Add ELSE Case". In den Else Case schreiben wir eine Nachricht "Du hast kein Brot". In den anderen Case kommt dann der Code zum Item wegnehmen, Item geben und Geld-Wegnehmen. Der fertige Code:
---------------------------------------------------------------------------
<>Messg:Willst du einen Blumentopf kaufen? Nur 10 Taler und ein Brot!
<>ShowChoice: Ja/Nein
:[Ja]Case
 <>FORK Optn: Money  10abov
  <>FORK Optn: Brot Item Got
   <>Add/Remove Item:Brot -> 1 Decr.
   <>Add/Remove Item:Blumentopf -> 1 Incr.
   <>Change Money: Money 10 Decr.
  :ELSE Case
   <>Messg: Du hast kein Brot!
  :END Case
 :ELSE Case
  <>Messg:Du hast zuwenig Geld!
 :END Case
:[Nein]Case
  <>Messg: Dann verschwinde!
:[End]Case
<>
---------------------------------------------------------------------------
Das ganze sieht jetzt vielleicht ein bisschen verwirrebd aus, aber wenn man mal ein bisschen rumprobiert hat, iast das kein Problem mehr.



________________________________________________________________________________
d) Zweites Beispiel: Steht der Held auf einem bestimmten Feld?
Der Vollstndigheit halber dieses, hufig gefragte, Beispiel:
Steht der Held auf dem Feld mit den Koordinaten X:4; Y:5; und ist er auf einer Map mit der
ID 4? Als erstes speichert man die Positionen in Variablen: 
---------------------------------------------------------------------------
<> Variable Ch:[0001:X-Koordinate] Set, Hero X pos
<> Variable Ch:[0002:Y-Koordinate] Set, Hero Y pos
<> Variable Ch:[0001: Karten - ID] Set, Hero Map ID
---------------------------------------------------------------------------
(Das erkr ich jetzt nicht mehr alles so genau, schaut am besten in einem anderen Tutorial nach, wenn ihr es noch nicht knnt mit den Variablen). Ich mache in diesem Bsp. brigens KEINEN Else-Case, aber ihr knnt das ja (hoffentlich ^_^) selber. Wir machen eine Fork, aber diesmal mit der Option "Variable". Ihr whlt die betreffende Variable mit dem "..." Feld. WIn bisschen wieter unten whlt ihr set. Das heisst, das die Variable einen bestimmten Wert haben muss. Aus der Dropdown_Liste whlt ihr "same". Das heisst, das die Variable den GLEICHEN Wert haben muss wie angegeben. Es gibt neben "above" und "below" auch noch "bigger", "smaller" und "others". Den Else-Case deaktiviere ich wie gesagt. Der Code:
---------------------------------------------------------------------------
<> Variable Ch:[0001:X-Koordinate] Set, Hero X pos
<> Variable Ch:[0002:Y-Koordinate] Set, Hero Y pos
<> Variable Ch:[0001: Karten - ID] Set, Hero Map ID

<>FORK Optn: Varbl[0001:X-Koordinate]-4

:END Case
---------------------------------------------------------------------------
Das gleiche machen wir noch innenrein, mit der Y-Koordinate. Und mit der Map-ID. Man muss einfach verschiedene Variablen und Werte nehmen. Der fertige Code:
---------------------------------------------------------------------------
<> Variable Ch:[0001:X-Koordinate] Set, Hero X pos
<> Variable Ch:[0002:Y-Koordinate] Set, Hero Y pos
<> Variable Ch:[0001: Karten - ID] Set, Hero Map ID

<>FORK Optn: Varbl[0001:X-Koordinate]-4
 <>FORK Optn: Varbl[0002:Y-Koordinate]-5
  <>FORK Optn: Varbl[0003:Karten - ID]-4
    <>Messg: Du stehst drauf!
  :END Case
 :END Case
:END Case
---------------------------------------------------------------------------

________________________________________________________________________________
e) Optionen im Fork-Fenster
Also, Item und Vraiable und Money haben wir ja schon kennengelernt. Auerdem gibt es noch:

Switch: 
Hiermit kann man berprfen, ob ein Switch ON oder OFF ist. Ist relativ einfach. 

Timer:  
Hiermit kann man berprfen, wie der Timer gerade steht (z.B."ist er grer als 11?") 

Hero:   
Hiermit kann man berprfen,ob ein held in der Party ist, ob er eine Fhigkeit schon gelernt hat, ob er einen bestimmten Namen hat, ob er ein bestimmtes Level hat, ob er Vergiftet oder Tot oder sonstwas ist, ob er eine bestimmte Anzahl HP hat usw. Sehr praktisch, diese Funktion.

Event:
Hiermit kann man berprfen, in welche Richtung ein Held oder ein Event gerade schaut. 

Vehicle:
Hiermit kann man berprfen, ob der Held gerade mit einem bestimmten Fahrzeug fhrt. In der Dropdown-Liste kann man dass betreffende Fahrzeug auswhlen.


________________________________________________________________________________
f) Schluss
So, das war jetzt mein Tutorial, ich hoffe, es hat euch gefallen (und geholfen! :D).

Ich geb euch zuletzt noch einen Super-Tipp: 

PROBIEREN GEHT BER STUDIEREN!!!!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nun gut, jetzt bin ich fertig. Ihr seid erlst! ^_^














