Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 20 von 60

Thema: Variablen, Forcs, Labels, und deren Nutzung von A-Z

  1. #1

    Variablen, Forcs, Labels, und deren Nutzung von A-Z

    So, ich hatte es euch schon lange versprochen, und nun hab ich endlich mal Zeit gehabt, wieder mal einen etwas längeren Treat in diesem Forum zu verfassen. Ich habe ja schon öfters gerne geholfen. Die meisten von euch werden mich noch aus Treats kennen wie "Wie mache ich ein Intro?" oder "Ringmenü ohne Variablen" (Das klang jetzt irgendwie nach dem einen Kerl aus den Simpsons )

    Aber das ist gar nichts im Gegensatz zu dem Thema, das wohl für viele Newbies und auch noch von angehenden RPGCreators wohl die meisten Fragen und Probleme aufwirft. Die "Variablen", "Labels" und die "Force Conditions" In diesem Treat werde ich meine Zeit opfern um euch möglichst viel von den 3 Kategorien beizubringen, wenn möglich werd ich mich wie immer bemühen es möglichst ausführlich zu tun, so das keine Fragen offenbleiben. Falls doch, wisst ihr ja wie ihr mich erreichen könnt

    PS: Die Moderatoren dieses Forums möchte ich bitten diesen Beitrag als "aktuell" einzustufen, da ich doch denke das der Beitrag wie meine beiden vorherigen, für viele Newbies sehr wichtig sein wird. So, nun spannt eure Ohren, denn es geht los

    LEKTION.1)Definition von Variablen, Forces und LABELS

    Was sind Variablen?

    Variablen sind nichts weiter als Events die man als Switch benutzen kann, aber das allerwichtigste: Man kann mit ihnen rechnen (wer mehr über die Definition von Variablen wissen will, sollte sich einfach mal den schon oft zitierten Treat von Cold Mephisto reinziehen )

    Die Verwendungszwecke von Variablen!

    Variablen kann man für viele Dinge gebrauchen. Z.b, wenn man möchte das sich eine Tür öffnet, wenn man eine bestimmte Anzahl von Gegnern besiegt hat!

    Beispiel.1:

    Ihr wollt das die Tür nach 3 besiegten Gegnern aufschwingt. Macht zuerst ein Türevent[Push Key]. Definiert in der Event Conditon "Change Variable" eine Variable die ihr z.b "0001:MONSTER" nennt. Dort setzt ihr außerdem noch das SET auf 0 (Set hat die Bedeutung für einen Festgelegten Zahlenwert, in diesem Fall 0, da ja erst 3 Monster angreifen sollen) Klickt nun erneut auf das Türevent und macht eine NEUE Seite(auf das Event draufklicken und eine neue Page machen), geht dann auf Seite 2, dort macht ihr links oben einen Hacken auf das Feld Variable und wählt eure Selbstgenerierte Variable (0001:MONSTER)
    und klickt außerdem noch das Feld darunter auf "above" (das bedeutet X mal ÜBER dem Wert von SET also bei uns 0)dann noch die Zahl richtig einstellen,in meinem Beispiel wäre das die 3(ensprechende für die Anzahl von besiegten Gegnern die nötig sind damit die Tür aufschwingt..)Nun macht man noch auf der rechten Seite von Page 2 einen Switch (Change Swich) und macht eine letzte 3 Seite (New Page) wo man Links oben einen Hacken auf den Button Switch ankreuzt und den Rest freilässt. So schwer war das doch gar nicht oder?

    PS: für die Verständnis. Seite 1 des Türevents ist ein Push Key, Seite 2 und 3 sind beide Autostart Conditions

    Das wars zu den Variablen, ich werde später noch genauer darauf eingehen, jetzt kommen die Fork Conditions!

    Was ist eine Fork Condition? (FC)

    Eine Forc Condition ist nichts weiteres als eine WENN- DANN Abfrage (das könnte man noch besser formulieren, für die das noch immer nicht verstehen^^ angenommen ich sage: "WENN du NICHT dein Zimmer aufräumst, dann darfst du zur Strafe eine Woche lang nicht vor den PC!!" Das klingt zwar jetzt vielleicht blöd, hat aber Sinn.

    Bei den Force Conditions gibt es nämlich den TEIL der BEDINGUNG den der RPGk2 von euch eingegeben bekommt, und das führt er auch aus, oder mit einem ELSE CASE (ADD CASE) eben den TEIL den er nur dann ausführt wenn die BEDINGUNG nicht erfüllt wurde(z.b will man in einem Hotel schlafen, wenn man genug Geld hat, kann man nächtigen, wenn nicht wird man rausgeworfen, das sind also zwei Alternativen wie ihr sehen könnt )

    Die Verwendungszwecke von Force Conditions! (FC)

    Viele von euch werden jetzt den Unterschied zu einem Switch nicht in Frage stellen, aber ich sage euch, mit einer Force Condition kann man sehr viel mehr anstellen, als mit einem simplen Schalter (Switch) z.b Geld berechnen, Variablen positionieren, Timer (Zeitschaltung) anwenden etc...

    Beispiel.1:

    Ihr wollt ein Move Event machen, bei dem euer Charakter auf einem Felsen springt, wenn ihr jedoch nur das Move Event mit der Condition One Hero Touch dazu benutzt, hüpft der Held zwar auf die gewünschte Stelle, aber das kann öfters aus dem falschen Blickwinkel passieren (z.b kommt der Hero von rechts, drückt den Auslößer (ENTER) und springt beim RECHTSGUCKEN noch nach oben. Damit ist zwar das gewünschte Ziel erreicht, es schaut aber ziemlich Stümpferhaft aus, damit das nicht passiert sollte man folgendes machen:

    1) Macht eine Force Condition in das Move Event (Push Key) und sucht bei den conditions auf Seite 2 von den Forcs nach Event [Face Direktion] Hier könnt ihr nun einstellen in welche Richtung euer Hero gucken soll, damit das EVENT ausgelößt wird. Es gibt hierbei jetzt zwei Mögliche Lösungen wie man zum Ziel kommt.

    1-Lösung-

    Man aktiviert unter Force Condition noch das Feld Add "ELSE CASE" (links unten). Nun schreibt man in das Feld der Force-Bedingung sein Move Event hinein und lässt das ELSE CASE vollkommen leer. Der Held wird jetzt nur springen, wenn er nach oben schaut (angenommen ihr habt es so bei Force Condition eingestellt mit der Face Direktion) und wird sich nicht von der Stelle rühren wenn ihr von anderen Seiten kommt.

    2-Lösung-

    Ihr deaktivert unter Force Condition das Feld Add "ELSE Case" und macht 1 Force Condition mit der gewünschten Richtung. Nun macht ihr bei END CASE einen LABEL (dazu komme ich noch später, vielleicht solltet ihr euch dieses Beispiel deshalb erst angucken wenn wir gemeinsam die Labels studiert haben!) und hinter der Bedingung bei Force Condition noch ein Go to Label (mit der jeweiligen Nummer, sagen wir jetzt mal 1) Das erfüllt den selben Zweck!

    Was ist ein LABEL?

    Es ist schwer den Begriff "LABEL" zu definieren. Sagen wir mal so. Ein LABEL ist ein Wegpunkt innerhalb eines Events(Beispielsweise ein PUNKT zu dem man Immer hin springen kann, so wie eine Markierung) Labels benutzt man vorallem dazu um Entscheidungen/BEDINGUNGEN zu überspringen, man kann ihn fast als automatischer Wegpunkt ansehen. Aber ganz so ist ein LABEL nun doch nicht^^ Desweiteren kann der LABEL noch dazu benutzt werden das ELSE CASE bei einer Force Condition zu ersetzen, wie ich oben bei Beispiel 2 eben erklärt habe. (das ELSE CASE ist nämlich viel unübersichtlicher, wenn man so richtig große Events macht, z.b ein KS, außerdem wird das ganze Geschehen dadurch langsamer..)

    Verwendungszwecke für LABELS!

    Tja, oben hab ich mit dem Beispiel schon fast alles erklärt, ein Label wird vorallem zum überspringen von Events und Force Conditions genutzt! Viel mehr gibt es zu Labels nicht zu sagen. Go to Label ist der Weg den der Wegpunkt springt um zum nächsten Ausgangspunkt zu gelangen. Eigentlich total einfach zu verstehen.

    So, das war ein netter Warmlauf, ich denke nun sind die Newbies oder Forgeschritten unter euch gut vorbereitet für eines der Gimmiks das immer von mehr RPGCreatorn gemacht werden will...

    VERWENDUNGSZWECKE von VARIABLEN(FC) bei einer Charakterauswahl

    Bei einer Charauswahl geht man entweder mit dem der Varianten der ELSE CASE vor oder mit einem LABEL. Ich werde euch mal die verständlichste erklären, weil ELSE CASE euch sowieso nicht viel nützt (das macht wie gesagt ein Event langsamer, oder es wird schrecklich unübersichtlich..)

    Fangen wir damit an das ihr ein Autostart Event macht (Warum? Nun, beim Parallel Process bewegt sich der HERO und das will man doch vermeiden oder?) in das ihr zuerst ein "Enter Passwort"(Dort benennt ihr die VARIABLE z.b "KEY") reinhaut (Enter Passwort ist ein Event das die Tasten nach Nummern ausrichtet, die ihr später mit Common Events generieren müsst) dort seht ihr nun die Tasten 1,(Unten)2(links),3(rechts),4(oben),5 und 6 (die beiden letzten Zahlen stehen für Eingabe und Cancel[rückgängig]) Merkt euch Richtungen der Zahlen gut, denn damit müsst ihr gleich noch weitermachen. Als nächstes macht ihr 6 Forc Conditions untereinander (jeweils die nächste hinter das END CASE) wobei ihr bei Condition des Event auf Variable stellen müsst und nach den Zahlen mit SET 1-6 durchnummerieren solltet! (z.b KEY1, KEY2, KEY3 usw.... das geht bis 6!) Also nochmal. Ihr gebt den Keys von 1-6 nach der Reihe die Nummern.

    Musterbeispiel:


    Enter Passwort[0001:KEY]
    Force Option Variab[0001]-1 (das ganze wird wiederholt nur das dann -2; -3; -4; -5; und -6 steht ok? natürlich alles der Reihe nach hinter END CASE)

    Ok, wenn ihr das soweit habt, dürft ihr unter der Kartei Common Events 6 Call Events generieren, die alle für eine Taste stehen werden (der Logik nach nennen wir sie am besten auch KEY1, KEY 2 usw...)Wenn ihr das Soweit habt, könnt ihr in den common Events die Befehle eingeben ( euch ist schon klar das ihr vorher noch ein anderes Event auf der Map machen müsst, um den Cursor anzeigen zu lassen[show picture-cursor] ebenfalls mit Autostart] Gut, wenn ihr das soweit habt macht die move Pictures des Cursors in die Call Events (und hier müsst ihr auf die Zahlenrichtungen achten!!)

    Wenn ihr das nun habt dann kommt unter die Forc Condition(wieder im eigentlichen Event) noch jeweils ein call Event und ein Go to Label... wobei am Ende des ganzen Befehlskrams noch ein LABEL kommt.. VOILA! Menü fertig! (das ganze kann man noch ausweiten und abändern, kleinigkeiten erkläre ich später)

    Laguna Loire

    Geändert von Caro (11.06.2015 um 00:41 Uhr)

  2. #2
    Wollte mal melden, das es Forks heisst und nicht "Forcs". Und auch nicht "Force Conditions", aber ansonsten gut gemacht Laguna^^

  3. #3
    Ich will ja nichts sagen, da ich noch ein Newbie bin, aber Variablen sind Platzhalter, in denen was reingeschrieben werden kann und nichts anderes. Greetz, GMF!

  4. #4
    Zitat Zitat
    Original geschrieben von -Unigma|KoM-
    Ich will ja nichts sagen, da ich noch ein Newbie bin, aber Variablen sind Platzhalter, in denen was reingeschrieben werden kann und nichts anderes. Greetz, GMF!
    jetzt hast du ja doch noch was gesagt
    Generell ist eine Variable eine variable Zahl (hehe), das hat nix mit Platzhalter zu tun, sondern stellt einfach einen Wert dar für den man alle Zahlen aus einer Definitionsmenge einsetzen kann.
    ähhh ich bin kein guter mathe-erklärer ^^

  5. #5
    Zitat Zitat
    Original geschrieben von Strife
    Wollte mal melden, das es Forks heisst und nicht "Forcs". Und auch nicht "Force Conditions", aber ansonsten gut gemacht Laguna^^
    mhh wo isn eingentlich laguna weg (tot)?

  6. #6
    Zitat Zitat
    Original geschrieben von D*M*K
    mhh wo isn eingentlich laguna weg (tot)?
    Nein, er lebt.
    Zwar findest du ihn kaum in diesen Foren, aber wenn du mal bei den Final Fantasy Foren vorbeischaust, wirst du ihn sicher irgendwo entdecken.^^

  7. #7

    ???????

    Ich verstehe das mit den Labels trotzdem nicht

  8. #8
    In QBasic gibt es sowas wie Labels auch. Da heißen sie GOTO. das ist einfach, wenn du z.B. tausende von Forks hast, von denen nur eine zutreffen muss, dann machst du unter diese Forks ein Label. In jede Fork machst du jetzt ein Goto Label, das heißt, sobald eine Fork zutrifft, wird das darin erledigt und danach wird der ganze Programmiertext übersprungen bis zum Label. Das spart ne Menge Rechenzeit.

  9. #9
    Zitat Zitat
    In QBasic gibt es sowas wie Labels auch. Da heißen sie GOTO. das ist einfach, wenn du z.B. tausende von Forks hast, von denen nur eine zutreffen muss, dann machst du unter diese Forks ein Label. In jede Fork machst du jetzt ein Goto Label, das heißt, sobald eine Fork zutrifft, wird das darin erledigt und danach wird der ganze Programmiertext übersprungen bis zum Label. Das spart ne Menge Rechenzeit.
    Arrgh!
    Da macht man normalerweise Else if!

  10. #10
    Zitat Zitat
    Original geschrieben von Cygnus
    Arrgh!
    Da macht man normalerweise Else if!
    Im Text oben steht, dass durch viele Else Cases das Event langsamer wird, was eigentlich logisch ist, weil der Maker dann nicht jedes Else Case überprüfen muss. So könnte man ein Label auch als Abkürzung sehen.

  11. #11
    Zitat Zitat
    Im Text oben steht, dass durch viele Else Cases das Event langsamer wird, was eigentlich logisch ist, weil der Maker dann nicht jedes Else Case überprüfen muss. So könnte man ein Label auch als Abkürzung sehen.
    Trotzdem, wenn ein Fork wahr ergibt, wird die else case nicht mehr überprüft. (else heißt ja "sonst")

  12. #12
    Zitat Zitat
    Original geschrieben von Cygnus
    Trotzdem, wenn ein Fork wahr ergibt, wird die else case nicht mehr überprüft. (else heißt ja "sonst")
    Wenn du mit Else Case arbeitest wird, wenn die Fork viele möglichkeiten hat unübersichtlich und langsamer. Bei Events mit solchen Forks würde ich deshalb auf Else Cases verzichten und alles verlabeln, um besser zwischen den Forks herumspringen zu können.

    Beispiel:
    Du musst eine Wiederholung erzeugen und hast einen Haufen von Forks in deinem Event. Du hast jetzt den Wert einer Variablen und der wird von den ganzen Forks überprüft. in einer wird der Wert geändert, damit eine andere Fork ausgeführt werden kann. Wenn du eine Wiederholung des Events haben willst, könntest du am Schluss das Event sich selbst nochmal callen lassen. Nach der ersten Fork (in der der Wert geändert wird) kommen jetzt wieder eine ganze Reihe an Forks, die aber alle nicht zutreffen, weil die gebrauchte Fork vor der ersten im Event ist. Der Maker müsste die jetzt alle überprüfen, um dann erst am Schluss das Event zu wiederholen. Das kostet Zeit und um das zu vermeiden, verlabelst du die einzelnen Forks und machst dann in der Wertänderungsfork ein GoTo Label der anderen Fork. Das spart Zeit und das Spiel kann so flüssiger ablaufen.

    Ich habe fertig.

  13. #13
    Okay, schon kapiert.
    Mir wurde eben immer eingetrichtert "Bau keine Sprünge in dein Programm"

    btw, könnte man nicht die "Force Condition" auf "Fork Condition" umändern, klingt irgendwie blöd (heißt ja eigentlich "Macht-Bedingung")

  14. #14
    Ich hätte eine Frage zu Choice Dialogen:
    Ich hätte gern, daß nach nachdem man eine Frage per Choice gewählt und der Dialog stattgefunden hat man wieder automatisch zum Choice Dialog kommt - Bei mir geschieht das leider nicht und man muss die Person nochmal ansprechen um zum Choice Dialog zu kommmen (und bei mehr als 4 Fragen artet das nervig aus). Muss ich im Eventmenü nachdem bei einer ausgewählten Frage der Dialog stattgefunden hat immer das Choice Menü drankopieren? (Das ist so arg umständlich - Würde das auch einfacher gehen?)

    edit: Oder wie schafft man es, daß bei einem Dialog wenn der Char das zweite mal mit einem NPC spricht, dieser eine andere Antwort gibt als wie beim 1. Ansprechen?

    Geändert von Prayor (19.03.2003 um 19:14 Uhr)

  15. #15

    "Vibration of Nature" - It's a long story
    stars_mod
    Zitat Zitat
    Original geschrieben von Prayor
    Ich hätte eine Frage zu Choice Dialogen:
    Ich hätte gern, daß nach nachdem man eine Frage per Choice gewählt und der Dialog stattgefunden hat man wieder automatisch zum Choice Dialog kommt - Bei mir geschieht das leider nicht und man muss die Person nochmal ansprechen um zum Choice Dialog zu kommmen (und bei mehr als 4 Fragen artet das nervig aus). Muss ich im Eventmenü nachdem bei einer ausgewählten Frage der Dialog stattgefunden hat immer das Choice Menü drankopieren? (Das ist so arg umständlich - Würde das auch einfacher gehen?)

    edit: Oder wie schafft man es, daß bei einem Dialog wenn der Char das zweite mal mit einem NPC spricht, dieser eine andere Antwort gibt als wie beim 1. Ansprechen?
    In diesem Fall kannst du Label verwenden.
    Du setzt ein Label mit der ID 1 an der Stelle, wo die Frage gestellt wurde und mit der Funktion Goto Label 1 springst du zu dieser Stelle... Probiers mal aus....

    Zum Edit:
    In diesem Fall musst du Switches verwenden.... sowas weisst du nicht?!
    Einfach nach dem 1. Ansprechenj einen Switch aktivieren, der eine n2. Seite aktiviert, auf die der 2. Dialog kommt.

  16. #16
    Danke,danke,danke


    edit: Zu Hülf - Ich bin glaub ich zu dumm für den Maker
    Ich bring das mit den Switches beim Dialog net zusammen.
    Da gibts 2 Switches (Wenn ich den 1. aktiviere bleibt dann der Dialogpartner unsichtbar und wenn ich den 2. aktiviere kommt sofort der Zweitdialog anstatt des Erstdialogs. Sind beide aktiviert bleibt der Dialogpartner auch unsichtbar. Jetzt hab ich ja die 2 Seite gemacht für den Zweitdialog muss man da auch switches aktivieren?
    Bei Switches gibts dann als Auswahl Strongbox und Change BGM?!?!? (Was bedeutet das? Ich hab nen eigenen Punkt gemacht mit Dialog - Fehler?)
    Für was steht eigentlich Change Switch?

    Please help me...

    Geändert von Prayor (20.03.2003 um 06:17 Uhr)

  17. #17
    @Prayor
    Change Switch = Verändere Switch
    Damit kannst du einen Switch auf ON oder OFF stellen.
    Zitat Zitat
    Ich bring das mit den Switches beim Dialog net zusammen.
    Da gibts 2 Switches (Wenn ich den 1. aktiviere bleibt dann der Dialogpartner unsichtbar und wenn ich den 2. aktiviere kommt sofort der Zweitdialog anstatt des Erstdialogs. Sind beide aktiviert bleibt der Dialogpartner auch unsichtbar. Jetzt hab ich ja die 2 Seite gemacht für den Zweitdialog muss man da auch switches aktivieren?
    Du brauchst nur einen Switch. Beispiel:
    Code:
    Event "Mann", Seite 1:
    Event Conditions: keine.
    Show Message: "Irgendeintext"
    Change Switch: [XXXX:Mit Mann geredet] ON
    
    Seite 2:
    Event Conditions: Switch [XXXX:Mit Mann geredet] ON
    Show Message: "Anderertext"
    Du musst aber aufpassen, dass du auf BEIDEN Seiten das gleiche Charaset eingestellt hast.

    Alles klar?

  18. #18

  19. #19
    Zitat Zitat
    Original geschrieben von Prayor
    @Cygnus:
    Prayor, schon so lange dabei und erst jetzt was über Switches gelernt? Was hast du die ganze Zeit gemacht?

  20. #20
    Ging mir genauso, am Anfang. Ich hatte keine Ahnung von Variablen und Switches, also bin ich sie umgangen. Die Leute haben immer den gleichen Satz gesprochen, die Monster verschwanden nach dem Kampf nicht... und was ist aus mir geworden? Ein Profi!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •