Post 2 - Werkzeugkasten des Makers
Wir sollten also wenn uns die Frage qüalt "Wie mache ich das?!" folgendes überlegen :
- Was brauche ich an Ressourcen für die Aufgabe? Ergo -> Was brauch ich für Grafiken? Was für Sounds? Sonst
noch etwas was ich benötige?
- Wie setze ich das ganze im Maker um? Ist es umsetzbar? Welche Befehle und Prinzipien kann ich dafür benutzen?
Bevor ich euch die Werkzeuge des Makers zeige...mit Befehlseventregister meine ich das hier :
Unsere Werkzeuge :
-
Message(1te Seite des Eventbefehlregisters , 1ter Befehl von oben , linke Seite) :
Befehl um Textnachrichten auszugeben. Ebenfalls sehr nützlich um Fehler in Scripten zu finden. Diese Befehle
stoppen den Eventfluss sobald sie z.B. in einem Parallel Process vorkommen. Ebenfalls lassen sich in ihnen mit
dem Kommando "\v[Variablennummer]" Variablenwerte ausgeben. Auf diese Art und Weise kann man rausfinden wo
Fehler im eigenem Script sind. Wunderbares Werkzeug.
-
Switche(1te Seite des Eventbefehlregisters , 7ter Befehl von oben , linke Seite) :
Dies ist eine sogenannte Boolesche Variabel. Herr Boolean war ein Mathematiker...nur zur Info. Diese Variable
die im Maker mit dem Namen "Switch,Schalter usw." betitelt wird kann nur den Wert 0 oder 1 annehmen.
Ergo ist sie perfekt um AN/AUS Zustände und ähnliches umzusetzen.
Beispiele : Truhen , Lichtschalter , Entgültiges Ausschalten von Events uvm.
-
Variable(1te Seite des Eventbefehlregisters , 8ter Befehl von oben , linke Seite) :
Hier haben wir es mit dem Variablentyp "Integer" zutun. Die Makervariante kann Werte von "-9999999" bis
"9999999" annehmen. (2k) Diese Schmuckstücke des Makers sind unser tägliches Werkzeug. Mit ihrer Hilfe können
Werte(HP,MP,EXP,Geld usw.) abgespeichert werden. Der Makerbefehl hierfür hat zudem auch noch zahlreiche
Kommandos um die Variablen zu addieren , subtrahieren , multiplizieren zu "modularen" und noch vieles mehr.
Auch ein paar wichtige Daten können wir über diese Kommandos bekommen. So kann man die aktuelle X/Y Position eines Events auf der Karte (also auch des Helden) auf der Karte erhalten. Dies ist in Pixelgenauen Angaben wie auch in Koordinaten für das 16x16 Pixel Rastersystem des Makers möglich. Welches Rastersystem? Achtet mal auf die Map wenn ihr im Event Modus seid....alles ist in Kästchen. Jedes dieser Kästchen hat eine Höhe von 16 Pixeln und eine Breite von 16 Pixeln. Der Maker zählt das Kästchen was ganz oben in der Ecke ist als Kästchen 0/0. Das dadrunter ist 0/1. Das rechts von diesem Kästchen wäre 1/0. Zuviel um es sich so vorstellen?
Die Bilder nahen :
In genau sowas ist der
ganze Bildschirm eingeteilt. Der Maker teilt diesen Koordinatenbereich nochmal in
16x16 Pixel Große Kästchen ein. Jeder Event passt genau in eines dieser Kästchen. Ergo muss es 16x16 Pixel groß
sein. Der Maker kann damit also feststellen auf welchem Punkt des Monitors die Events in diesem Kästchensystem sind.
Dies ist sehr nützlich um ein einfaches Kampfsystem zu erschaffen. Wir können also mithilfe des Variablen Befehls auch an solche wichtigen Daten kommen. Schaut ihn euch also gut an.
-
Memorize Position(2te Seite des Eventbefehlregisters , 6ter Befehl von oben , linke Seite) :
Dieser Befehl speichert ab auf welcher Map der Held sich grade befindet. Dies tut er indem er die aktuelle Map
ID abspeichert. Jede Map die ihr im Maker erstellt hat eine solche Map ID.
Zudem speichert er die aktuellen X und Y Koordinaten des Helden ab.
-
Store Terrain ID/Store Event ID(2te Seite des Eventbefehlregisters , 3 - 4ter Befehl von oben , linke
Seite) :
Diese 2 Befehle arbeiten fast gleich. Der Terrain ID Befehl frag ab welche Terrain ID das Feld hat auf den er
angewendet wird. Dies kann über Koordinaten als auch manuell geschehen. Jeder Terraintyp im Maker hat eine
eigene ID. Diese könnt ihr übrigens in der Datenbank unter den Chipsets selbst einstellen. Diese ID liefert
euch dieser Befehl.
Der Event ID Befehl arbeitet ebenfall so. Nur liefert er euch anstelle der Terrain ID die ID vom entsprechenden
Event das sich auf dem per Koordinaten oder manuell angegebenen Feld befindet.
-
Show Picture , Move Picture , Delete Picture(2te Seite des Eventbefehlregisters , 6 - 8ter Befehl von
oben , rechte Seite) :
Diese 3 Befehle sind für die allumfassende Manipulation von Bildern da die ihr in den Maker importiert habt.
Ihr könnt sie per Show Picture anzeigen , mit Move Picture bewegen und mit Delete Picture wieder löschen.
Jedigliche grafische Realisierung die über Pictures/Bilder erfolgen soll benötigt diese Befehle. Schaut sie
euch an. Schaut was ihr damit anstellen könnt. Ihr werdet sie auf jeden Fall brauchen.
-
Show Battleanimation(2te Seite des Eventbefehlregisters , 7ter Befehl von unten , rechte Seite) :
Zeigt eine Battleanimation. Für die Realisierung von grafischen Effekt sicherlich toll. Auch fürs eigene KS
nicht zu verachten.
-
Flash Sprite(2te Seite des Eventbefehlregisters , 5ter Befehl von unten , rechte Seite) :
Hiermit könnt ihr ein Event auf der Karte blinken lassen. In welcher Farbe und noch viel mehr könnt ihr
ebenfalls damit realisieren.
-
Move Event(2te Seite des Eventbefehlregisters , 4ter Befehl von unten , rechte Seite) :
Der Befehl schlechthin um Events auf der Map durch die Gegend zu bewegen. Auch zur Realisierung von Animationen
wichtig. Überlegt am besten warum die Animation im Truhen Beispiel durch "Face Up" usw. entstand. Schaut euch
dafür das Charaset der RTP Truhe an. Dann fällt es euch sofort wie Schuppen von den Augen.
Alles in allem bietet der Move Event Befehl auch noch jede Menge Optionen mit denen man die Bewegungen genauer
seinen Wünschen anpassen kann.
Sehr wichtiger Befehl.
-
Proceed with Movement(2te Seite des Eventbefehlregisters , 3ter Befehl von unten , rechte Seite) :
Wartet mit dem fortsetzen des Nachfolgenden Code bis alle momentan laufenden Move Event Befehle abgelaufen
sind. Sehr nützlich um z.B. Gespräche nach Bewegungen durch Move Events zu timen.
-
Halt all Movement(2te Seite des Eventbefehlregisters , 2ter Befehl von oben/unten , rechte Seite) :
Stop sofort alle laufenden Move Event Befehle.
-
Wait(2te Seite des Eventbefehlregisters , 1ter Befehl von oben/unten , rechte Seite) :
Der Wait Befehl löst ein Warten innerhalb des Codes aus. Der darauffolgende Code wird also um die angezeigte
Zahl von Millisekunden verzögert.
-
Play , Fade , Memorize und Play Memorized BGM(3te Seite des Eventbefehlregisters , 1-4ter Befehl von
oben , linke Seite) :
Spielt eine Hintergrundmusik ab = Play
Lässt eine Hintergrundmusik langsam ausklingen = Fade
Merkt sich die aktuelle BGM = Memorize
Spielt die gemerkte BGM ab = Play Memorized
-
Play Sound Effect(3te Seite des Eventbefehlregisters , 5ter Befehl von oben/unten , linke Seite) :
Spielt einen auswählbaren Soundeffekt ab.
Wird auch durch den Ineluki Patch genutzt um script.wav Dateien abzuspielen.
-
Key Input Processing(3te Seite des Eventbefehlregisters , 7ter Befehl von oben , linke Seite) :
Hierrüber könnt ihr abfragen ob ein Spieler eine dort eingestellte Taste gedrückt hat. In die von euch
eingestelle Variable wird ein Wert gesendet sobald der Spieler die entsprechende Taste drückt. Dadurch wissen
wir nun das er sie gedrückt hat.
Sehr nützlich also um z.B. eigene Menüs umzusetzen. Leider unterstützt der Maker nicht allzuviele Tasten. Der Inluki Patch hilft ihm jedoch auf die Sprünge. Wer mehr zu dem Thema wissen will sollte sich den Link in meiner
Signatur anschauen.
-
Allow/Disallow Main Menu(3te Seite des Eventbefehlregisters , 4ter Befehl von oben , rechte Seite) :
Damit könnt ihr den Zugriff auf das normale Makermenü verhindern. Wunderbar wenn man ein eigenes Menü machen möchte und/oder wenn ihr die Taste X/ESC nutzen wollt.
-
Fork(3te Seite des Eventbefehlregisters , 5ter Befehl von oben , rechte Seite) :
Eine IF Abfrage verbirgt sich hinter diesem Befehl. Mit ihrer Hilfe könnt ihr den Zustand von unseren Switch und Integer Variablen abfragen. Erinnert ihr euch an die Erklärung vom
Key Input Processing ? Dort habe ich ja gesagt das beim Druck einer Taste ein Wert in die eingestellte Variable gesendet wird.
Mithilfe dieses Befehl könnt ihr abfragen welchen Wert diese Variable nun hat. Beim Drücken der Taste Enter wird der Wert "5" in die Variable gesendet. Wenn wir nun abfragen ob die Variable den Wert "5" hat , dann wissen wir das zu dem Zeitpunkt wo sie ihn hat wohl die Taste "ENTER" gedrückt worden sein muss.
Dementsprechendes können wir dann in den Fork die entsprechendes Befehle setzen die auf Druck der Taste "ENTER" erfolgen sollen.
So sähe das ganzen bildlich aus.
-
Loop(3te Seite des Eventbefehlregisters , 8ter Befehl von oben , rechte Seite) :
Eine Schleife die den in ihr befindlichen Code immer und immer wieder wiederholt. Dies tut sie solange bis der Befehl
Break Loop erfolgt.
-
End Event Processing(3te Seite des Eventbefehlregisters , 6ter Befehl von unten , rechte Seite) :
Beendet das aktuelle Event auf der Stelle.
-
Erase Event(3te Seite des Eventbefehlregisters , 5ter Befehl von unten , rechte Seite) :
Löscht das aktuelle Event temporär.
Beim nächsten betreten der Karte auf dem das Event sich befindet ist es wieder aktiv.
-
Call Event(3te Seite des Eventbefehlregisters , 4ter Befehl von unten , rechte Seite) :
Ruft ein bestimmtes Map oder Common Event auf. Gut geeignet um rechenintensive Sachen wie HP Leisten und ähnliches nur einmal aufzurufen. So spart ihr Rechenleistung.
-
Insert Comment(3te Seite des Eventbefehlregisters , 3ter Befehl von unten , rechte Seite) :
Legt einen Kommentar im Maker Code an. Göttliche Funktion. Damit könnt ihr euren Code für euch erkannbar machen. Sehr wichtig um sich später in großem Makercode zurechtzufinden.
Ziemlich großer Werkzeugkasten huh? Wenn der Befehl bei euch anders heisst -> Einfach auf die Positionsangabe
rechts vom Befehl schauen. All diese Werkzeuge sind dafür da uns beim realisieren unserer Vorstellungen zu helfen. Sie sind nur das hauptsächliche. Es gibt auch noch ein paar andere Sachen die euch vielleicht auch mal nützen könnten. Schaut euch einfache alle Seiten des Eventbefehlregisters an.