DreaMaker ist ein Tool von Kadelfek für den RPG Maker 2000, 2003 und den XP. Damit ist es möglich den kompletten Texte (ausgenommen Datenbank) eines RPG Maker Spiels zu extrahieren und in eine Textdatei zu speichern. Wofür das gut ist? Ganz einfach, denn nun kann man beispielsweise mit einem Rechtschreibprogramm nach Fehler etc. suchen. Hat man den Text wie gewünscht überarbeitet kann der DreaMaker alle Texte wieder in das Projekt zurück extrahieren. Wie das ganze funktioniert ist sehr simpel, ich werde es euch jetzt erklären. Aber keine Sorge, das Programm ist leicht zu handhaben.
4. Installation:
Eine richtige Installation gibt es nicht, das Programm besteht nur aus wenigen Dateien. Extrahiert das Archiv, welches ihr euch heruntergeladen habt in das RPG Spiel, dessen Texte ihr bearbeiten wollt. Die Standardsprache des Tools ist bereits auf deutsch umgestellt, was die meisten nicht weiter stören sollte. Sollte aber jemand gerne eine andere Sprache haben wollen, muss er die DreaMaker.ini entsprechend editieren (siehe unten).
Standard (deutsch): language=DEUTSCH
Für Französisch: language=FRENCH
Für Iatlienisch: language=ITALIANO
Für Englisch: language=ENGLISH
5. Anwendung:
So sieht das Hauptfenster des Programms aus. Bisher nur die bekannte schwarze Konsole von Windows. Eine grafische Oberfläche soll laut Kadelfek folgen.
Auch wenn nur eine französische Dokumentation vorliegt ist es ganz einfach, man braucht nur den Schritten 1-4 der Reihe zu befolgen. Ich werde nun die einzelnen Schritte erklären:
!! WICHTIG: Legt euch ein Backup eures Spiels an! Probiert vorher das Programm an einem anderen RPG Projekt aus, um zu sehen, ob es auf eurem System fehlerfrei funktioniert. !!
1. Schritt: RM-Maps in DMK-Maps konvertieren
Dieser Schritt konvertiert alle Maps des Spiels in ein anderes für das Programm notwendige Format um.
2. Schritt: Dialoge aus DMK-Maps extrahieren
Dieser Schritt extrahiert alle Dialoge der Maps in eine Textdatei namens dialogues.txt, welche sich dann im Wurzelverzeichnis des Spiels befindet. Nun kann man die Texte bearbeiten, wie man will. Acht geben sollte man aber darauf, dass man die restliche Struktur der Datei nicht verändert, da das Programm beim Zurückschreiben der Texte sonst nicht weiß, zu welcher Map der Text zugehörig ist. Bearbeitet nur eure Dialoge, mehr nicht.
3. Schritt: Dialoge in DMK-Maps einfuegen
Nach der Bearbeitung der Dialoge, ist es nun an der Zeit sie wieder in das Projekt einzuspielen. Dazu müssen aber die Dialoge wieder in die DMK-Maps eingefügt werden. Das erledigt dieser Schritt.
4. Schritt: DMK-Maps in RM-Maps konvertieren
Zum Schluss konvertieren wir die DMK-Mas in die üblichen RM-Maps zurück. Damit ist der Prozess erfolgreich abgeschlossen. Beachtet aber dabei, dass die Maps ohne Nachfrage überschrieben werden. Es ist jedoch möglich nur die veränderten Dialoge in das Projekt zurück zu transferieren. Das heißt die alten, die man nicht verändert hat bleiben unberührt.
Folgende Funktionen sind nicht unbedingt notwendig, aber auch nützlich:
5. Schritt: Dialogpatch
Diese Funktion kann zwei Textdokumente auf Unterschiede überprüfen und diese in eine neue Datei schreiben. So könnt ihr beispielsweise überprüfen, welche Dialoge ihr geändert habt.
Wichtig ist, dass eine Textdatei namens "dialogues.txt" und eine weitere namens "dialogues-apres.txt" im RPG Projektverzeichnis existieren müssen! Die Unterschiede werden in eine neue Datei namens "dialogues-patch.txt" geschrieben.
6. Schritt: Pourcentage Maker
Diese Funktion dient nur zur Statistik. Und zwar kann sie die Anzahl der Tiles und Pixel aller Maps zusammenzählen. Ebenso die Durchschnittsmenge der Tiles und der Pixel aller Maps.
Zusätzlich ermittelt die Funktion einen fiktionalen Prozentwert, wie weit das Spiel bereits fortgeschritten ist. RealTrolls Wolfenhain scheint bereits zu 46% abgeschlossen zu sein, Unterwegs in Düsterburg zu 92%.
HINWEIS: Diese Funktion liegt nur in Französisch vor, also Google Übersetzer benutzen. ^^
6. Abschluss:
Nun, das war es auch schon. Ich hoffe ich konnte euch den DreaMaker etwas näher bringen und vielleicht kann der eine oder andere es in Zukunft gebrauchen. Falls es zukünftig neue Versionen der Software erscheinen sollten, werde ich den Artikel natürlich dementsprechend anpassen. Erinnern sollte mich aber jemand, falls ich es vergesse. xD
MfG Deamonic
Geändert von Rusk (23.09.2012 um 15:51 Uhr)
Grund: Downloadlink aktualisiert
Ich habe mich mal dabei gefilmt, wie ich schnell mal eine Pose für eine Nachladeanimation meines RmXP Chars durch Vorlage eines realen Fotos gepixelt habe... Ich weiß nicht ob das hier nun richtig platziert ist, aber ich poste es mal, könnte für den ein oder anderen sicherlich nützlich und interessant sein (wobei ich gesehen habe, dass Chrise auf Seite 1 tatsächlich ein ähnliches Verfahren verwendet)
Ich zitiere mal die Beschreibung auf meinem Youtube Video:
Zitat
Hier zeige ich anhand eines kurzen Schnelllauf- Clip, wie ich dem Character meines RPG Maker XP- Projekts realistische Posen pixel... Quasi ein Vorgänger des "Motion Capture"(Bewegungs-Erfassung) ^^
...
Und hier das Video:
--
~> Fantasie ist wertvoller als Wissen, denn Wissen ist begrenzt. (Einstein) <~:
1. Demo hier erhältlich =D
-------------------------------------
@MarcL: Danke dir, das hat mir echt geholfen =)
Anmerkung für alle: Schaut euch das Video auf HD und im Vollbild an, dann erkennt ihr auch alles tadellos.
Die Methode in deinem Projekt finde ich übrigens am interessantesten, hab mir das gleich mal nachgebaut:
Zitat von MarcL
Werte der Position:
0x97281 (4 Bytes)
0x9731D (4 Bytes)
--> Inhalt beider Stellen ist zu ändern in den Hexadezimalen Abstand in Pixeln
...
Hab für beide hexadezimal 99 Pixel (dezimal: 153 Pixel) genommen. Damit habe ich die Box direkt über dem Portrait des Charakters.
Zitat von MarcL
Breite:
0x944C5 (1 Byte) für Large Window
0x944D6 (1 Byte) für Small Window
...
Da habe ich mal die Finger von gelassen, da ich nicht weiß ob ich in Zukunft nochmal eine längere Bezeichnung in die Slots übernehme.
Zitat von MarcL
Höhe:
0x944C7 (1 Byte) für Large Window
0x944D8 (1 Byte) für Small Window
...
Hab genau wie du Small Window. Hier hab ich hexadezimal 20 Pixel (dezimal: 32 Pixel) genommen. Soweit ich das getestet habe, geht es wohl auch nicht kleiner. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Wo wir schon bei Modifikationen für das 2k3-KS sind (wird ja immer wieder danach gefragt):
Zitat von Cherry
RM2k3 NoAutoBattle-Patch
für RM2k3 v1.08
Dieser Patch entfernt das Auswahlfenster (Fight/AutoBattle/Run away) im Kampfsystem, was normal vor jedem Kampf erscheint.
ÜBER DAS HPA-DATEIFORMAT:
Dieser Patch wird als HPA-Datei veröffentlicht. HPA steht für "Hyper Patch Archive" und ist mein eigenes Patchformat, das derzeit nur vom Hyper Patcher 2 gelesen werden kann. Dieses hat im Vergleich zu anderen Formaten wie IPS einige Vorteile. Es können nicht nur mehrere Patches in einer Datei enthalten sein (und so auch immer eine Option, den Patch wieder zu entfernen, verfügbar ist), sondern es können auch verschiedene Patchversion für verschiedene Makerversionen enthalten sein. Dabei entscheidet Hyper Patcher 2 selbst, welche Version passt, wodurch man sein Projekt nicht "kaputtschießen" kann, indem man einen Patch auf die falsche Makerversion oder die falsche Datei anwendet.
Dieser Patch entfernt den "Row"-Befehl im Kampfsystem bzw. im Status-Bildschirm des Menüs.
ÜBER DAS HPA-DATEIFORMAT:
Dieser Patch wird als HPA-Datei veröffentlicht. HPA steht für "Hyper Patch Archive" und ist mein eigenes Patchformat, das derzeit nur vom Hyper Patcher 2 gelesen werden kann. Dieses hat im Vergleich zu anderen Formaten wie IPS einige Vorteile. Es können nicht mehrere Patches in einer Datei enthalten sein (und so auch immer eine Option, den Patch wieder zu entfernen, verfügbar ist), sondern es können auch verschiedene Patchversion für verschiedene Makerversionen enthalten sein. Dabei entscheidet Hyper Patcher 2 selbst, welche Version passt, wodurch man sein Projekt nicht "kaputtschießen" kann, indem man einen Patch auf die falsche Makerversion oder die falsche Datei anwendet.
3. (Texte im KS -> Double Attack, Defend, etc.) diese Texte kann man z.B. hiermit übersetzen (unter "Strings")
...
Zitat von Cherry
So, jetzt ist auch das 3. Problem gelöst:
Wie man bei einem neuen Spiel automatisch im passiven Kampfmodus ("Wait") startet
Gilt nur für den RM2k3 v1.08! Bei anderen Versionen muss man diese Stelle im Hex-Editor selber suchen.
Und damit vorüberziehender Nebel nicht mehr während eingeblendeter Textboxen einfriert:
Zitat von Cherry
UnlockPics-Patch
Wie es der Threadtitel schon sagt - dieser Patch (funktioniert mit allen 2k(3)-Versionen) deaktiviert diese Eigenheit, dass, wenn eine Message angezeigt wird, Event bei Show/Move/Erase Pic-Befehlen angehalten werden. Man kann also während eines Dialoges im Hintergrund weiterhin eine Pic-Animation anzeigen oder so.
PS: Das 2k3 KS lässt sich auch auf Rundenbasiertheit patchen, nennt sich Revolution Patch.
- Helden beginnen, dann die Monster, etc.
- der AGI-Wert wird nutzlos
- Die Battle Events können Probleme machen, wenn sie zu komplex gestrickt werden
Ich benutze all diese Modifikationen und bin damit bisher sehr zufrieden =)
Die Optimierung des KS-Fensters ist sozusagen nochmal das I-Tüpfelchen gewesen =)
--
Elektra Kingdom v.4.12 Vollversion in der Mache, Zeitlimit bis zum 31.12.2024 *click Offizieller Blog zum Spiel News, Links, Screenshots, etc. *click Tanalin Integer Scaler Fullscreen Tool für RPG Maker 2000 / 2003 Spiele*click VirtualMIDISynth Fix für kaputte MIDI Musik*click Windows Photo Viewer Fix für unscharfe Windows Fotoanzeige *click RPG Maker Ultimate (rpg2009) von Cherry: 1 Million Switches/Variablen, 125 Kästchen für BattleAnimationen, beliebige Picture-Größen importieren *click für DL & *click für 100.000 Pictures
Transparente Hintergründe bei gescannten Bildern erstellen [rmk2000/2003] (Photoshop)
Wer schon mit eigenen Bildern gearbeitet hat, kennt das Problem, dass störende weiße Stellen im Bild auftauchen können. Zu störend, um diese im Maker so importieren zu können.
Dieses Tutorial wird mit Adobe Photoshop gemacht und zeigt, wie ich damit arbeite. Es gibt sicherlich noch andere Methoden, an sein Ziel zu kommen, nur diese ist mein Favorit
Es gibt zwei Methoden, dieses Hintergrundproblem zu lösen:
Methode 1:
Grafik direkt am PC erstellen mit transparentem HG.
Hier einfach bei „New“ einstellen, dass der HG transparent sein soll. Dann könnt ihr wild drauf los zeichnen (Aber trotzdem die Reihenfolge der Ebenen beachten )
Methode 2:
Eigenes Bild scannen
Wer seine Bilder lieber auf Papier zeichnet und sie am PC coloriert (so wie ich *hust*), sollte sich diese Methode genauer anschauen.
Euer Bild sollte klare, schwarze Konturen haben (mit Fineliner die Bleistiftlinien nachziehen). Die Bleistiftlinien sollten danach wegradiert werden, damit sie nicht bei der Coloration stören.
Da je nach Scanner die Scann-Modi anders aussehen, gebe ich nur stichpunktartig durch, auf was es dabei ankommt:
Farbmodus: Graustufen
DPI: 200 (mehr braucht es echt nicht, da die Grafik für den Maker eh verkleinert wird)
Automatische Farbanpassung: EIN
Scannt nun euer Bild ein. Es sollte nun so aussehen:
Schöne saubere Konturen mit weißem HG auf einer Ebene.
Nun ist es unser Ziel, die Konturen auf eine eigene Ebene zu machen, ohne weiß im Hintergrund.
Wichtig dabei: Das Bild muss im Farbmodus Greyscale (Graustufen) sein! Was es ja allerdings schon sein sollte, da wir es so eingescannt haben.
Geht nun wie folgt vor:
Legt eine neue Ebene an (STRG + SHIFT + N oder Layer -> New… -> Layer) und schiebt diese über die aktuelle Background-Ebene.
Danach klickt ihr oben Select -> Load Selection…
Dann erscheint dieses Bild:
Hakt einfach „Invert“ an und…
… ihr seht nun, dass die Konturen nun markiert sind.
Diese gilt es nun zu Füllen! Dazu geht ihr auf Edit -> Fill… (Füllen)
… und dann erscheint dieses Bild:
Wählt hier aus, dass die Farbe Schwarz sein soll. Klickt dann auf OK.
Löst nun die Markierung und löscht ruhig die Background-Ebene. Ihr seht dann, dass ihr nun die Konturen alleine auf einer Ebene habt. Kein störender weißer HG mehr
Und schon seid ihr fertig
Was haben wir hier nun getan?
Wir haben hier also quasi eine Kopie des Originals gemacht, nur dass man eben nur die Konturen alleine auf einer Ebene hat. Damit lässt es sich besser arbeiten, als dass man später den weißen HG mühsam Pixel für Pixel nachträglich löschen muss.
Ihr könnt jetzt weitere Ebenen anlegen und euer Bild colorieren, wie es euch gefällt.
Wie ihr euer Bild nun am besten so bearbeitet, dass es später im Maker keine störenden Ränder hat, habe ich euch >hier< erklärt.
Ich hoffe, das Tutorial war euch hilfreich! Fragen, Anregungen einfach mir per PN schicken.
Eigene Grafiken Randlos bearbeiten für den RPG Maker 2000/2003 (Photoshop)
Oft hat man gerade bei den älteren Makern das Problem, dass man eigene Grafiken, wenn man sie importiert, hässliche Pixelränder entstehen, die keiner sehen möchte.
Beispiel:
Diese unter diesen Umständen jetzt so zu bearbeiten ist problematisch und dauert einfach zu lange.
Dieses Tutorial soll euch helfen, eben das Problem zu umgehen und den Arbeitsaufwand gering zu halten.
Schritt 1: Der Anfang
Software
Ihr braucht eine Software mit der Funktion Layers (deutsch: Ebenen). In diesem Tutorial werde ich das mit Adobe Photoshop machen.
Die Grafik
Diese sollte Idealerweise am PC entstanden sein und einen transparenten Hintergrund (nachfolgend HG genannt) haben! Wie dieser eingestellt werden kann, wird euch in >diesem< Tutorial erklärt.
Und schon kann es losgehen :)
Schritt 2: Bearbeitung
Ihr öffnet eure Software und eure Grafik. Es sollte ungefähr so aussehen:
Ich gehe kurz auf die einzelnen Layer ein:
Mittig rechts seht ihr die Layers-Leiste. An erster Stelle stehen die Konturen, unter dieser in einem Unterordner zusammengepackt die Colorations-Ebenen und zum Schluss der HG-Layer.
Jetzt denkt ihr euch: „Sagtest du vorhin nicht, dass der HG transparent sein soll? Der HG ist doch grün!“
Langsam ;) Der HG ist auf dem Screen zwar momentan zu sehen, kann aber ganz leicht ausgeblendet werden, wenn man das Auge vor dem HG-Layer anklickt. Das geht nur, da ich den HG seperat auf eine Ebene gemacht habe.
So, jetzt ist er ausgeblendet. Anmerkung: Ich färbe meine Hintergründe nur gerne ein, um bei der Coloration erkennen zu können, wo sich noch „Lücken“ befinden.
Eure Grafik soll nun so aussehen!
Der nächste Schritt wird sein, dass die Konturen und die Colorations-Ebenen als eine Ebene zusammengefügt werden. Das macht ihr so:
Klickt die Konturen-Ebene an, dann geht auf Layer -> Merge Layer…
Und nun habt ihr die Konturen und die Coloration als eine Ebene.
Euer nächster Schritt ist es, diese Grafik in das gewohnte 320 x 240 Format zu bekommen.
Klickt eure Ebene mit eurer Grafik an, drückt STRG + A (alles markieren) und STRG + C (Kopieren).
Öffnet nun eine neue Datei und gebt die Maße ein.
Wichtig dabei: HG soll transparent sein!
Dann sollte es nun bei euch auch so aussehen:
Eine neue Datei, im gewohnten Maker-Format.
Fügt nun mittels STRG + V (Einfügen) eure Grafik ein.
Danach könnt ihr unter Umständen diese nicht sehen, aber keine Sorge! Drückt STRG + T und …
… es erscheint ein Rahmen. Zoomt etwas weiter weg, um den Rahmen komplett zu sehen.
Nun klickt ihr einen der Eckpunkte an und haltet die SHIFT-Taste gedrückt, damit die Grafik proportional verkleinert wird. Das Ergebnis wird ungefähr so aussehen:
Ihr legt nun eine neue Ebene an (entweder über Layer -> New… -> Layer oder STRG + SHIFT + N) und richtet sie unter die aktuelle Ebene:
Jetzt wird es nämlich interessant. Dies sind die wichtigsten Punkte, um eine randlose Grafik zu bekommen.
Wir wissen, dass der Maker nur Grafiken im PNG oder BMP-Format annimmt und keine Transparenz anzeigt, sollte sie im PNG-Format vorhanden sein. Daher sind wir dazu gezwungen, eine Hintergrundfarbe festzulegen, die im Maker per Importieren ausgewählt werden soll.
Unsere Grafik hat ausnahmslos schwarze Konturen. Hier können wir den Trick verwenden, eine ähnliche Farbe auszuwählen, die Schwarz sehr nahe kommt, aber es nicht ist.
In unserem Beispiel ist es so:
Der Farbcode für die Konturen lautet 000000
Für den HG lege ich nun folgende Farbe fest: 1E1E1E
Dies ist ein sehr dunkles Grau, fast schon Schwarz.
Mit dieser Farbe färben wir nun Layer 2 komplett. Es sollte nun so aussehen:
Nun legen wir noch eine weitere Farbe fest, die nun die transparente Farbe im Maker sein wird: 00FF00
Dies ist ein grelles Grün.
Mit diesem Färbt ihr randlos eine beliebige Ecke ein, ohne zu nahe an die Grafik zu kommen!
Das sieht dann so aus:
Als nächstes wählt ihr das Werkzeug Fülleimer aus und stellt ihn so ein wie auf dem folgenden Screen:
Nun stellt ihr eure Grafik auf 256 Farben ein. Verwendet am besten diese Einstellungen:
Was haben wir hier nun getan?
Dadurch, dass wir die Grafik auf 256 Farben runterskaliert haben, können wir eben nur noch mit dieser geringen Anzahl an Farben arbeiten. Zudem befindet sich jetzt alles auf einer Ebene.
Jetzt sorgen wir dafür, dass der HG später transparent im Maker wird:
Nehmt noch mal den Fülleimer, wählt die grüne Farbe aus und klickt in den schwarzen HG. Dieser wird nun komplett grün:
Dadurch, dass wir zuerst das dunkle Grau als HG ausgewählt haben, das Grün als weitere Farbinformation ‚eingegeben’ haben, die richtige Fülleimer-Einstellungen genutzt und den HG nun grün eingefärbt haben, haben wir nun keinen Verlust der Konturen zu beklagen.
Wir haben hier nun ein „reines“ grün, welches keine unscharfen Ränder hat und diese hässlichen Ränder zurücklässt wie bei dem Beispielbild ganz oben.
Und so sieht es nun im Maker aus:
Wenn ihr das so geschafft habt, wisst ihr nun, wie ihr eure Grafiken ohne großen Aufwand in Zukunft so bearbeiten könnt :)
Schritt 3: Mögliche Fehler
Trotz dieser Methode kann es passieren, dass einige grüne Pixel übrig bleiben, diese man auf dem ersten Blick nicht sieht!
In diesem Fall öffnet ihr einfach die Grafik noch mal, nimmt eine x-beliebige Farbe (bei mir war es pink, was durch die Farbreduzierung ins Rote ging) und guckt, wo die grünen Pixel noch vorhanden sind und übermalt diese mit der beliebigen Farbe. Danach nehmt noch mal die grüne Farbe und färbt alles mittels Fülleimer in einem Zug ein. Dann sind diese weg.
Dann neu importieren und fertig!
Ich hoffe, dass euch dieses Tutorial geholfen hat :) Wenn Fragen und Anregungen sind, einfach Bescheid sagen. Ich versuche, euch dann so gut es geht zu helfen.
RPG2000-Destiny-Exkurs :: Die Maus des Schicksals "Wie man die Maus richtig nutzen tut"-Tut... oder so ähnlich
ACHTUNG
Zu diesem kleinen Exkurs, oder Tutorial, wie auch immer ihr es nennen wollt, gibt es von mir weder Bebilderung zum Geschehen noch Vorlagen für benötigte Bilder, es ist sehr viel Theorie mit einem Praxisanteil, den ihr teilweise selbst aus den Schritten folgern müsst. Wer also keine Probleme damit hat, einen großen Berg Text mit ein paar Codeblöcken dazwischen zu lesen, kann hier gerne fortfahren, ansonsten werdet ihr hiermit wirklich nicht glücklich.
Wer RPG2000 1.50/1.51/1.52, RPG2003 oder ganz andere Software verwendet, ist hier ebenfalls falsch.
Solltet ihr schon mit der Maus vertraut sein, könnt ihr zu den letzten beiden Punkten vorskippen, denn davor wird euch eher nichts interessieren.
Und wenn ihr absolute Profis im Umgang mit der Destiny-Maus seid, gibts hier höchstwahrscheinlich absolut nichts Neues für euch.
Solltet ihr einen Erfolg verbuchen können und alles ist zu eurer Zufriedenheit, wird es jetzt Zeit, die Maustasten in Variablen einzufangen, das läuft im Grunde genau so ab wie eben, nur dass die Ziele für die Variablen ein wenig anders heissen werden. Eine Ausführung sagt mehr als unnötige Erklärungen:
Um die Maustasten aufzufangen, werden wir auf die Tastatur zugreifen, klingt komisch, ist aber so:
Keyboard.GetKeyState(...)
Dort werden wir für jede Variable eine Taste in unser Kommentarnotizfeld mit eintragen, angesprochen werden können sie ganz einfach über die nachfolgenden Tastenbezeichner:
Alles, was nun folgt, wird zwischen dem Picture und dem Wait eingetragen.
Um jetzt zu wissen, ob eine Taste gerade gedrückt wird oder nicht, gibt es nun eine ganz einfach anwendbare Feststellungsmethode. Dazu startet ihr eine Fork bzw einen Bedingungszweig, wählt die Variable der Taste, die ihr ansprechen wollt, und lasst abfragen, ob sich ihr Wert unter 0 befindet, also Minuswerte angenommen hat. Tritt dieser Fall ein, könnt ihr sicher sein, dass die Taste gerade gedrückt wird, wichtig ist nur, dass sich diese Werte immer wieder aktualisieren, weshalb sich dieses Event auch dauerhaft wiederholt. Allerdings steht es euch auch frei, diese Bedingungen in einem anderen Event zu stellen, das neben diesem permanent läuft, um so die verschiedenen Prozesse voneinander zu trennen, dies wird hier allerdings nicht weiter ausführend gezeigt.
In euren Zutreff-Fall der Bedingung könnt ihr jetzt irgendetwas einbauen, das signalisiert, dass die Abfrage erfolgreich verlaufen ist, zu empfehlen wäre hierbei immer eine Message.
Kniff #1
Diese Abfragen lassen sich natürlich auch stapeln, indem ihr einfach eine Bedingung für eine andere Taste in die der ersten mit einfügt, auch über den "ELSE-Case" lässt sich eine Menge mehr an Dingen anstellen.
Kniff #2
Dies muss auch nicht immer auf "wird gedrückt?" hinauslaufen, sondern auch mal auf "nicht gedrückt", indem ihr verlangt, dass die Variable wirklich direkt 0 ist, statt kleiner, um so beispielsweise gekonnt zu erreichen, dass während einer Aktion mit der linken Taste die rechte nicht ebenfalls aktiv sein darf.
Eine Abfrage ist ja schön und gut, aber wie ihr euch vielleicht denken könnt, wird euch permanent das Ergebnis eurer Klickerei vom Event um die Ohren gehauen, wenn ihr die Tasten einfach nicht loslasst. Um das nun loszuwerden, gibt es 2 Möglichkeiten, die beide fast gleich funktionieren, aber verschiedenen Zwecken dienen, jenachdem, ob ihr warten wollt, bis die Taste losgelassen wird oder die Anweisungen nach dem Klick durchgeführt werden und nachher auf das Loslassen gewartet wird, hierbei unterscheidet sich lediglich, wann genau ihr die nachfolgenden zusätzlichen Abfragen nach Eintreffen des Klicks einfügen werdet:
Dieser Prozess wird so lange wiederholt, bis die Taste wieder losgelassen wurde und zeigt währenddessen den Cursor weiter an. Ein Beispiel, wie das Event aussehen könnte, wenn man sich dazu entscheidet, die Wirkung erst zu zeigen, nachdem losgelassen wurde, sähe nun so aus:
Etwas kompliziert, oder? Leider bleibt ein wenig Komplexität nie aus bei soetwas.
Doch dafür werdet ihr euch umso mehr freuen, was als nächstes und letztes dran kommt.
Diejenigen unter euch, die schon einmal mit der Maus im Maker gearbeitet haben, werden vorallem wegen einer Sache besonders in Ausrastern versunken sein: Schaltflächen auf Koordinaten eingrenzen.
Um es mal kurz zu fassen, das ist so ziemlich das Schlimmste an Mausarbeit, aber zum Glück beschaffen uns andere Fähigkeiten von Destiny hier unglaubliche Abhilfe und erweitern die Möglichkeiten ins Unermessliche. Es wird nur ein weiteres Picture gebraucht. Stellt euch vor, ihr wollt einen komplexförmigen oder gar komplett runden Knopf auf den Spielbildschirm verfrachten. Aus schier endlosen Koordinatenabfragen eine entsprechende, nennen wir es mal Hitbox, zu basteln, ist keine Option, wirklich keine. Jedoch gibt es da noch etwas anderes.
Destiny ist in der Lage, aus einem Bild Farben an bestimmten Positionen abzulesen, deswegen erhaltet ihr nun folgende Aufgabe: Erstellt ein Bild von einer Schaltfläche, egal in welcher Form, ob Viereck, Dreieck, Fünfeck, Stern, Triforce, Brot, Grill oder auch ein Drache, ist völlig egal, auf einem 320x240-Pixel-Bild und danach erstellt ihr ein weiteres Bild in gleicher Größe, wo der Klickbereich, im Optimalfall die ganze Schaltfläche, mit einer einzigen Farbe ausgefüllt ist. Merkt euch, auf welchem Palettenindex sich diese Farbe befindet und speichert beide ab. Importiert das normale Bild und KOPIERT, ganz wichtig, KOPIERT das zweite Bild in den Picture-Ordner, damit wir nicht riskieren, dass der Maker die Palette dieses Bildes neu umgestaltet beim Import.
Zeigt im Event das richtige Hauptbild ganz normal und sichtbar auf der Bildschirmmitte an und auf einer weiteren ID unsichtbar unsere "Farbmaske", bis auf die Unsichtbarkeit sind alle anderen Einstellungen wie Zoom oder Position egal:
Da das nun erledigt ist, können wir auch schon mit den nächsten und letzten Abfragen beginnen, in unsere Kommentarnotiz vom Anfang fügen wir nun noch eine sechste Variable ein:
v[6] = Picture[2].Pixel[v[1], v[2]];
Diese Anweisung wird aus der Farbmaske die Farbe der Position "aufsaugen", wo sich die Maus befindet, da wir ihre Position zuvor in Variable 1&2 gespeichert haben. Da das Bild exakt so groß wie der Spielbildschirm ist (320x240), haben wir uns hiermit eine einfache Möglichkeit aufgebaut, nicht nur abzufragen, WO sich die Maus befindet, sondern auch auf WAS sich die Maus befindet. Das ist immens wichtig, um nervige Koordinatenspielereien komplett zu umgehen und wenn ihr erstmal komplizierte oder viele Klickflächen auf einmal verwendet, werdet ihr feststellen, dass ein weiteres Bild zu erstellen viel angenehmer ist.
Nehmen wir für das Beispiel einfach mal an, die Farbe unserer Klickfläche wäre 1 (aus 0 bis 255), ihr merkt euch natürlich die ID, die ihr vorher im Grafikprogramm nachgeschaut habt.
<>If: Variable [0006] == 1
<>Message: "Linke Maustaste erfolgreich aufgespürt!"
: : "Wurde übrigens schon wieder losgelassen."
: : "Wir befinden uns auf einer Klickfläche!"
<>
::END
<>
Das Ganze lässt sich wie zuvor mit dem Loslassen auch erweitern, dass während eines Klicks die Maus beispielsweise nicht einen bestimmten Farbbereich auf der Maske verlassen darf, doch wer bis hierhin überlebt hat, wird auch darauf kommen, wie man das genau implementieren kann, so schwer ist das ja nun auch nicht mehr. Zum Abschluss das Event, wie es nach den bisherigen Machereien aussehen kann. Zur Verbesserung der Performance empfiehlt es sich, den Button und die Maske ausserhalb des wiederholenden Prozesses anzuzeigen, diesen habe ich einfach mal mit einem Label eingegrenzt:
Und damit lass ich euch nun ohne große weitere Reden allein, das ist sowieso schon länger geworden als gewollt. Für alles weitere gilt einfach: Schaut euch mal die Hilfedatei zu Destiny an, denn sie verdient den Titel "Hilfe" wirklich mehr als viele andere Dokumentationen.
~あきら
--
Solange es hier falschzitierende Ärsche gibt, dulde ich keinerlei Zitatboxen, die von mir sein sollen.
Ich hab ein kleines YouTube Tutorial zum Thema Tilesets und generell zum Pixeln gemacht: http://youtu.be/9FrWP_De_jI
Auf meinem Kanal gibt es mehr Tutorials zu finden