Hallo! ;)
Hier im Forum und auch Anderswo werden häufiger Fragen gestellt, die die Conditional Branches betreffen, wie zum Beispiel:
Wie kann ich etwas machen, wenn ich den Gegenstand X 5 mal besitze?
Wie kann ich etwas machen, wenn eine bestimmte Zeit abgelaufen ist, oder wenn die Zeit X hoch ist?
Wie kann ich etwas machen, wenn ich Skill X erlernt habe, Waffe X ausgerüstet habe und so-und-so heiße?
Wie kann ich etwas machen, wenn ich die Taste X drücke?
Und noch viele andere…
Was ist eine „Conditional Branch“?
Die Conditional Branch lässt etwas unter einer Bedingung geschehen (Engl: Condition = Bedingung).
Das heißt, wenn das-und-das so-und-so ist, passiert das-und-das.
Im Scripten wäre es wie ein If-Befehl.
Beispiel
Sind Conditional Branches wichtig?
Ja. Man muss sie nicht benutzen, aber ohne sie wird ein Spiel - es sei denn, alles ist mit RGSS gemacht worden- wahrscheinlich viel langweiliger.
Es gibt einen Haufen von Sachen, den wir mit Ihr machen können.
Wo finde ich den Befehl?
Geht auf eine Map eurer Wahl und erstellt ein Event. Der Auslöser (Trigger) ist ActionButton, d.h. beim Ansprechen passiert etwas.
Dann klickt ihr in das Event-Befehl-Fenster mit einem Doppelklick. http://i36.tinypic.com/vpyscm.jpg
Die bekannte Liste an Befehlen öffnet sich nun. Conditional Branch findet man auf der Ersten Seite in der ersten Spalte, als 8ten Button. http://i36.tinypic.com/331n71w.jpg
Nun wählen wir Conditional Branch einmal aus, und gucken, was es dort so alles gibt…
http://i34.tinypic.com/11kcswy.jpg
1:
Die typische Switch-Bedinung. Etwas passiert, wenn Switch X aktiviert ist oder nicht aktiviert ist. In der rechten Scrollbox kann man einstellen, ob etwas passieren soll, wenn er aus oder an ist.
2:
Es passiert etwas, wenn die Variable X (Scrollbox 1)einen bestimmten Wert (Scrollbox 2) hat, oder wenn sie kleiner als der Wert ist, wenn sie größer ist, wenn sie genau gleichgroß wie der Wert ist oder größer und wenn sie genau den gleichgroßen Wert hat oder kleiner ist (Scrollbox 3).
Auch kann vergleicht werden, wie sich die Variable X zur Variable Y verhält (größer, kleiner etc., Scrollbox 3).
Falls die Variablen-Kentnisse noch nicht vorhanden sind, besucht mein anderes Tutorial: Variablen
3:
Wie bei den Swtiches, nur mit SelfSwitchen, also nur für diese Event gültige Switches.
4:
Führt etwas aus, wenn der vorher gesetzte Timer eine bestimmte Zeit erreicht hat, z.B. Gameover wenn der Timer 0h:0m:00s ist.
5:
Wie oben schon geschrieben, ist das der Else-Befehl. Macht man einen Haken in diese Checkbox, wird der Conditional Branch ein zweiter Fall hinzugefügt.
Das ist dann der Fall, wenn der erste noch nicht eingetrten ist.
Erster Fall = Potion im Inventar
Zweiter Fall wäre also = keine Potion im Inventar.
http://i37.tinypic.com/6rmuxs.jpg
6:
Die Actor-Bedingung wird dann verwendet, wenn man etwas ablaufen möchte, wenn etwas mit dem Charakter passiert (Character auswählbar bei Scrollbox 1).
Ein Beispiel wäre, wenn der Charakter ein bestimmtes Item im Besitz hat. In the Party
Wenn der ausgewählte Charakter sich im Team befindet.
Name applied
Wenn der ausgewählte Charakter mit einem bestimmen Namen benannt wurde (per Name Input Processing, Seite 3, Erste Spalte 3ter Button). Bsp:
Am Anfang des Spiels kann man den Hauptcharakter benennen.
Wenn man jetzt dies hier nutzt, kann man z.B. bei dem Namen „Ingebork“ sagen: Ein schöner Name!
Skill learned
Wenn der ausgewählte Charakter einen bestimmten Skill beherrscht, also schon erlernt hat (z.B. Cross Cut oder Fire).
Weapon equipped
Wenn der ausgewählte Charakter eine bestimmte Waffe ausgerüstet hat (z.B. Bronze Sword).
Armor equipped
Wenn der ausgewählte Charakter eine bestimmte Rüstung angelegt hat (z.B. Mytrhil Armor, Bronze Shield).
State inflicted
Wenn der ausgewählte Charakter unter einem Status leidet, z.B. vergiftet oder tot ist.
http://i38.tinypic.com/w7g7pe.jpg
7:
Dies ist eine Kampfbedingung. Wenn im Kampf ein Gegner erschienen ist, oder wenn er unter einem bestimmten Status leidet (Gift, Stumm, Tot…)
8:
Wenn der ausgewählte Charakter auf einer Map in eine bestimmte Richtung blickt.
Blickt er z.B. nach links, passiert das-und-das, und dreht er sich nach rechts, passiert etwas anderes.
10:
Wenn man weniger oder mehr (more or less, Scrollbox 1) Gold als der genannte Betrag im Inventar hat.
11:
Wenn man ein bestimmtes Item im Inventar hat (wurde oben bei der Potion angewandt!).
12:
Wenn sich eine ausgewählte Waffe im Inventar befindet.
13:
Wenn man eine bestimmte Rüstung besitzt.
14:
Wenn man einen bestimmten Button drückt.
Hier mal eine Tabelle, welcher Button aus der Scrollbox für welchen TastaturKey steht: http://i37.tinypic.com/2zjl0m8.jpg
Mit diesen Buttons kann man zum Beispiel den Hauptcharakter per WASD steuern.
Hier mal das Event, was euren Charakter WASD-steuerbar macht ( die grünen Comments sind nur zur Hilfe, Übersichtlichkeit und Strukturierung da). http://i37.tinypic.com/2w2hkbq.jpg Probiert es ruhig aus, probieren geht über studieren!
15:
Wenn ein bestimmter Scriptbefehl ausgeführt wurde.
--------------------------------------------------------------------------------------------------------------------------------------------------- So, jetzt wissen wir über Conditional Branches Bescheid.
Wenn man ein Event machen will, bei dem etwas dauernd abgefragt wird, und man sich nebenbei trotzdem noch bewegen kann, verwenden wir immer den Trigger Parallel Process (wie auch beim WASD-Movement).
So lassen sich auch Menus kreieren, indem man einfach ein paar Pictures irgendwo hinsetzt, und dann einen Cursor als Picture setzt. Wenn man dann den Nach-Unten-Button drückt, springt der Cursor nach unten, drückt man die Nach-Oben-Taste, springt er wieder nach oben. Bei der C-Taste (C = Leertaste) bestätigt man dann etwas.
Das mit dem Menu funktioniert dann ungefähr wie das Erstellen eines Titelscreen auf einer Map, wo ich Hüpfende Kokosnuss'Tutorial dazu stark empfehle (Gruß an Kokosnuss :hi: )!
Die Kunst ist es auch, Conditional Branches in einander zu verschachteln, womit man dann zum Beispiel einen Mimentanz machen könnte:
Der Mime macht etwas vor (Linksdrehen, Linksdrehen, Rechtsdrehen), und wenn ihr genau das Gleiche nachmacht, bekommt ihr etwas.
Zuerst müsstet ihr eine Con. B. dafür machen, dass immer, wenn man Links/Rechts/Unten/Oben drückt, sich der Charakter in diese Richtung dreht.
Dann könntet ihr es veschachteln, d.h.
WennLinksgedreht dann
. Wenn Linksgedreht dann
. . Wenn Rechtsgedreht dann
. . . ShowText: "Super gemacht!"
. . . . . BranchEnd
. . . . BranchEnd
. . BranchEnd
Ok… da wird es dann komplizierter.
Am besten probiert ihr es einfach anhand von simplen Beispielen aus und ihr werdet sehen, ihr findet euch da schon rein, eigentlich ist es ganz einfach.
Ich hoffe, ich konnte euch die Conditional Branch näherbringen,
der vom Schreiben fingerverkampfte Final Griever
PS: Ich bin für alle Fragen jederzeit offen, gerne auch per PN.
11.10.2008, 18:15
Varnhagen
Ein Lob an dich. Der Erste Post und dann schon sowas O_o
Super, das du dir Mühe gemacht hast.
11.10.2008, 18:19
Karl
Zitat:
Zitat von Varnhagen
Ein Lob an dich. Der Erste Post und dann schon sowas O_o
Super, das du dir Mühe gemacht hast.
Dito.
Ein fettes Lob an dich, Final Griever!
Ich nutze zwar den XP nicht und ich habe das auch ohne Tutorial kapiert, aber ich hoffe schon jetzt auf weitere tiefer in die Materie gehende Tutorials von dir :)
~Nebary
11.10.2008, 18:29
Don Sella
Zitat:
Zitat von KnightDragon
Großes Lob an dich,bist mir sehr sympathisch.^^
Dito.
Sehr gut und ausführlich erklärt. Bravo :A
11.10.2008, 18:32
Ypsilon
Nettes Tut, und dann noch als 1. Post. :D
Und willkommen im Forum btw.
Y
11.10.2008, 18:34
diäitsch
Yeah, Spammthread^^
Cool, dieses Tutorial könnte vielen Neulingen helfen, danke für deine Bemühungen, auch wenn ich's nicht brauchen werde ;)
Btw. "Now playing Final Fantasy V", yay, sehr gutes Spiel :)
PsOne oder Gba?
Edit: @Nebary (unter mir): Er könnte sie zumindest spoilern.
11.10.2008, 18:40
Karl
Was mir gerade einfällt:
Imo könnten die Screens noch ein wenig verkleinert werden
Die Sprenge den schönen Rahmen
~Nebary
11.10.2008, 18:45
R.D.
nein tun sie nicht
bei mir würden locker 2 von denen nebeneinanderpassen, und das wahrscheinlich auch bei allen andere 18 zöllern.
@Topic
nich übel und so, aber gehört das nich ins Entwicklerforum oO
11.10.2008, 19:22
Final Griever
Zitat:
Zitat von Varnhagen
Ein Lob an dich. Der Erste Post und dann schon sowas O_o
Super, das du dir Mühe gemacht hast.
Danke für das Lob, sowas höre ich immer gerne! ;)
Zitat:
Zitat von Nebary
Dito.
Ein fettes Lob an dich, Final Griever!
Ich nutze zwar den XP nicht und ich habe das auch ohne Tutorial kapiert, aber ich hoffe schon jetzt auf weitere tiefer in die Materie gehende Tutorials von dir :)
~Nebary
Hach… Lob ist immer wieder das, was mich am Meisten motiviert!^^
Freut mich, dass es verständlich war.
Zitat:
Zitat von KnightDragon
OMG!
Seit wann gibt es hier Neulinge,welche eine gute Rechtschreibung haben und dazu noch anderen Neulingen damit helfen.
Großes Lob an dich,bist mir sehr sympathisch.^^
KD
Rechtschreibung… wenn's darum geht, bin ich sehr penibel. ^^
Ich hasse -ebenso wie du- auch falsche „Weil-Sätze“, Deppenapostrophe, Deppenleerzeichen und weitere Fäkalitäten der deutschen Sprache :D.
Ebenso! ;)
Zitat:
Zitat von Don Sella
Dito.
Sehr gut und ausführlich erklärt. Bravo :A
Danke.
Zitat:
Zitat von Ypsilon
Nettes Tut, und dann noch als 1. Post. :D
Und willkommen im Forum btw.
Y
Danke, und auch danke für's Willkommenheißen! :)
Zitat:
Zitat von diäitsch
Yeah, Spammthread^^
Cool, dieses Tutorial könnte vielen Neulingen helfen, danke für deine Bemühungen, auch wenn ich's nicht brauchen werde ;)
Btw. "Now playing Final Fantasy V", yay, sehr gutes Spiel :)
PsOne oder Gba?
Edit: @Nebary (unter mir): Er könnte sie zumindest spoilern.
Danke, ich werde sie spoilern.
Jaah… Final Fantasy ist ein Muß!^^
Leider nur auf'm GBA, habe die PsOne-Version nicht. Habe alle FFs außer 12 (und 11 da Online)und III durch.
Zitat:
Zitat von Nebary
Was mir gerade einfällt:
Imo könnten die Screens noch ein wenig verkleinert werden
Die Sprenge den schönen Rahmen
~Nebary
Siehe oben.
Zitat:
Zitat von R.D.
nein tun sie nicht
bei mir würden locker 2 von denen nebeneinanderpassen, und das wahrscheinlich auch bei allen andere 18 zöllern.
@Topic
nich übel und so, aber gehört das nich ins Entwicklerforum oO
Jaa… ich wusste echt nicht, wo ich es hinstecken sollte :D.
Bei diesem Feedback… glaube ich, ich werde jetzt noch ein Tutorial schreiben…
11.10.2008, 20:05
alpha und beta
@Final Griever
Ich sage nur Wilkommen im Forum!
Naja,geile Hilfe,für die Personen,die den Maker gerade neu sich
geholt haben,sehr ausführlich,leicht zu verstehen und richtig.
Und dazu noch dein erster Beitrag!Ich finde,du sollest weitere von solchen
Hilfen schreiben!Das würden einigen Leuten sehr gut tuen!
Ich finde,auch das mit Bildern ist nicht schlecht geworden und sage deswegen nurnoch eins:
"Super Hilfe;Super Beitrag;Super User!"
12.10.2008, 08:55
Liferipper
Zitat:
bei mir würden locker 2 von denen nebeneinanderpassen, und das wahrscheinlich auch bei allen andere 18 zöllern.
Dir ist aber schon klar, dass die Breite des Fensters vom Format und der Auflösung des Monitors und nicht von seiner Größe abhängt, oder?
16.10.2008, 13:14
Dragenai
ENDLICH jetz hab ich es endlich kapiert -.- !!
danke dir :D