Ergebnis 1 bis 13 von 13

Thema: Hintergrund geht nicht!

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #12
    Switche sind Variablen. Sie sind Variablen vom Typ Boolean.

    Aber mal zur Erklärung:

    Switche(Booleanvariable):
    Ein Switch verhält sich wie ein Lichtschalter. Er kann nur 2 Zustände haben. An(1) und Aus(0). Diese zwei Zustände kannst du ausnutzen um NPCs,Events und ähnliches "auszuschalten". Damit du verstehst was ich meine:

    Zitat Zitat von Makenshi
    Naja gut. Dann halt nochmal das ganze Switchprinzip:

    Wie du weisst hat der Maker Events.In diese Events kannst du Befehle setzen die dann in dem Spiel passieren. Und diese Events können viele verschiedene Seiten haben.
    Jede Seite hat dabei sogenannte Aktivierungsbedingungen. Diese müssen erfüllt sein damit der Maker diese Seite aktiviert. Damit du es besser verstehst:

    Nehmen wir an, wir haben ein Event mit 2 Seiten. Auf der zweiten Seite ist der Switch "2SeiteAN" eingestellt. Auf der ersten Seite steht nichts bei den Aktivierungsbedingungen. Der Switch "2SeiteAN" ist noch auf off/aus.

    Der Maker geht das Event nun von hinten durch. Sprich er schaut sich zuerst Seite 2 an und prüft ob die Aktivierungsbedingungen dieser Seite wahr sind. Sprich ob sie erfüllt sind. Der Maker merkt das die Seite 2 als Aktivierungsbedingung drinstehen hat, das der Switch "2Seitean" auf ON/AN stehen muss. Wir wissen aber, das er noch auf OFF/AUS steht. Das merkt der Maker und wechselt auf die nächste Seite -> die Seite 1.

    Dort ist gar keine Aktivierungsbedingung. Also aktiviert er sie auch mal direkt. Auf der Seite 1 steht ein Messagebefehl der den Text auf dem Bildschirm erscheinen lässt:" Hallo! Das ist noch die Seite 1!". Nach dem Messagebefehl, wird der Switch "2Seitean" auf ON/AN gestellt. Der Maker hat die erste Seite komplett ausgeführt.

    Nun prüft er erstmal wieder die 2te Seite. Und diesmal merkt er das die Aktivierungsbedingung erfüllt ist. Wir haben ja den Switch "2Seitean" auf ON/AN gestellt ! Der Maker aktiviert nun diese 2te Seite und führt sie aus. Das bedeutet natürlich auch das er jetzt nicht mehr die erste Seite aktivieren wird. Immerhin prüft er ja erst Seite 2 und dann Seite 1. Und da Seite 2 nun immer aktiviert wird, bleibt er auch bei dieser stehen.


    Ich poste dir gleich noch 2 Bilder dazu.

    Edit:

    So. Das ist das Event was ich eben erklärt habe.

    Seite 1:



    Seite 2:

    "Makervariable"(Integervariable):
    Diese Variablen können einen x-beliebigen Wert von -999.999 bis 999.999(2k) bzw. von -9.999.999 bis 9.999.999(2k3) annehmen.
    Sprich du kannst Zahlen in diesen Variablen abspeichern. Hierbei können das nur ganze Zahlen sein. Keine mit Komma. Wenn durch eine Rechnung mit so einer Variable Kommazahlen herauskommen, dann schneidet der Maker alles hinter dem Komma einfach ab. Ergo:

    5 / 2 = 2,5 (So wäre die normale Rechnung)
    5 / 2 = 2 ( Das wäre die Makerrechnung)

    Wozu das nun gut ist? Nunja, diese Variablen sind eines deiner Hauptwerkzeugen bei fortgeschritten und kleineren Dingen auf dem Maker. Stell dir z.B. du willst abspeichern wieviele Gegner von einer Sorte ein Spieler bereits getötet hat. Jedesmal einen Switch anzumachen für jeden getöteten Gegner wäre doch irgendwo leicht lästig. Also kannst du hergehen und dir einfach eine Variable schnappen. Diese ist nun dein Zähler. In dieser Variable speichern wir nun ab wie oft der Spieler eine bestimmte Monsterart getötet hat.

    Und wie speichern wir das nun ab? Nunja, die Variable hat am Anfang den Wert 0. Immer. Also können wir einfach immer dann wenn der Spieler ein Monster dieser bestimmten Art tötet unsere Zählervariable um eins(1) erhöhen.
    Zusätzlich dazu können wir dann noch eine Fork/IF-Bedingung benutzen.
    Mit dieser können wir abfragen OB unsere Zählervariable auf dem gewünschten Wert ist und dann einen Effekt auslösen. Denn das war ja was wir wollten. Das etwas passiert wenn der Spieler eine bestimmte Monsterart x-mal getötet hat.

    Code:
    |Monsterevent - Mapevent - EnterKey/Pushkey - Seite 1|
    
    Show Message: "Monster: Ich machen kaputt!" //Monster sagt was
    Start Battle: Monstertyp1 // Kampf im Standardks wird aufgerufen
    Show Message: "Monster: Urgggss" //Monster sagt wieder was
    [0001:Zählervariable] + 1 //Das Monster ist tot, Zählervariable wird um eins erhöht
    Delete Event/Clear Timer // Event wird temporär gelöscht
    Das Monster sagt seinen Startsatz. Es wird ein Kampf im KS aufgerufen. Wenn der Kampf nun erfolgreich ausgeht, dann geht das Event weiter. Das Monster sagt seinen Sterbesatz und es wird anschließend unsere Zählervariable um eins erhöht. Zum Schluss löschen wir das Monsterevent solange bis der Spieler die Map wieder betritt.

    Nun läuft währenddessen ein anderes Event im Hintergrund. Das steht auf PP(Paralleler Process). Das bedeutet soviel wie das dieses Event die ganze Zeit weiter läuft. Es wiederholt sich immer wieder.

    Code:
    |Monsterevent - Mapevent - PP - Seite 1|
    
    IF [0001:Zählervariable] == 10 // Wenn der Spieler 10 Monster tötet...
    Show Message: "Quest absolviert! 10 dumpfe Monster sind tot!"
    Play Sound: Victory
    Delete Event/Clear Timer
    Change Switch[0001:QuestPruefung] - ON
    ENDIF
    Code:
    |Monsterevent - Mapevent - PushKey - Seite 2 - [0001:QuestPruefung]==ON|
    ###leere Seite ####
    WENN die Zählervariable auf 10 ist, dann passiert das was in der Fork/IF-Bedingung drinsteht. Ergo es wird die Nachricht gezeigt das die Quest absolviert wurde, der Sound Victory wird abgespielt und schlussendlich wird das Event auf seine 2te leere Seite geschaltet. So wie oben in meinem Beispiel. So ist das das Event praktisch "ausgeschaltet". Und das Mithilfe eines Switches(booleanvariable).



    Das mag jetzt alles vielleicht kompliziert auf dich wirken, jedoch ist das an sich alles ganz einfach vom Ablauf her. Und mit etwas Übung verstehst du das auch relativ schnell. Man muss sich nur etwas Mühe geben. Versuch bei solchen Dingen auf jeden Fall soviel zu begreifen wie du kannst. Das hilft dir mehr als wenn du es nur irgendwo abschreibst.

    Geändert von makenshi (15.06.2007 um 09:03 Uhr)

Berechtigungen

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