Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 22

Thema: Hermes - Hermes Extends RPGXP's MEssage System

  1. #1

    Hermes - Hermes Extends RPGXP's MEssage System

    Hermes - Hermes Extends RPGXP's MEssage System

    Aktuelle Version: 0.3c (30.09.2008)

    Dies ist ein letzter Versuch meinerseits, einen guten Window_Message-Ersatz zu machen. Diesmal mit kompletter Demo, welche die Verwendung jedes einzelnen Message-Kommandos demonstriert.
    Hier für die Interessierten die Dokumentation dazu:



    Kompatibilität:
    Dies ist teilweise abwärtskompatibel zu AMS+. Allerdings nur teilweise. Nach einem Update müsste ein Teil der Messages in dem Spiel aktualisiert werden (deren Menge hängt davon ab, wie AMS genutzt wurde), fragwürdig ob sich das lohnt.

    Bekannte Käfer:
    Keine bekannten. Aber wenn euch einer über den Weg laufen sollte, sagt bitte bescheid!

    Linkz:
    - Hermes Homepage (enthält Link zu Entwicklerversion)
    - Endbenutzerversion des Skripts runterladen
    - Die neue Hermes-Demo runterladen!

    Bin gespannt wie euch die Demo gefällt

    Btw: was macht denn das AMS bei den Scripten, die man haben sollte? Das geht ja mal gar nicht... naja... wayne.

    Edit: Neue Version der Demo hochgeladen, die, wenn Arial Unicode MS nicht existiert, automatisch Arial verwendet. Sorry ^^

    Edit: Version 0.3c, für Änderung siehe diesen Post.

    Geändert von derula (30.09.2009 um 01:54 Uhr)

  2. #2
    Geniale Alternative bzw. Weiterentwicklung des AMS. Auch wenn ich nicht so der XP-Pro bin denk ich, dass man damit 'nen Haufen rausholen kann.
    Die Demo ist tolligst. <3

    Werd ich bestimmt für das nächste, etwas größere Projekt verwenden. =)

  3. #3
    Thx

    So, Version 0.2 ist oben.
    - Ein paar Bugfixes in Hermes und der Demo (ein Tag ging gar nicht)
    - Neues Feature: \k kann auch Katakana anzeigen (\k[katakana] produziert Hiragana, während \k[HIRAGANA] Katakana produziert )
    Neue Downloadlinks:
    - Entwicklerversion
    - Endbenutzerversion
    - Hermes-Demo

    Edit: Ich vergaß: danke an Bananen-Joe für die Bugreports!

    Geändert von derula (10.08.2008 um 14:58 Uhr)

  4. #4
    Hermes? Hermes Paketversand?

    Aber echt stark!

  5. #5
    Zitat Zitat von chrisblue Beitrag anzeigen
    Hermes? Hermes Paketversand?
    Du wirst es nicht glauben, aber ich denke, ebenjener Paketversand und ich schrieben von derselben Quelle ab:

    Zitat Zitat
    Hermes (griechisch Ἑρμής, auch Hermeias Ἑρμείας, dor. Hermas Ἑρμᾶς) ist in der griechischen Mythologie der Schutzgott des Verkehrs, der Reisenden, der Kaufleute und der Hirten, andererseits auch der Gott der Diebe, der Kunsthändler, der Redekunst, der Gymnastik und somit auch der Palästra und der Magie. Als Götterbote verkündet er die Beschlüsse des Zeus und führt die Seelen der Verstorbenen in den Hades. Er gehört zu den zwölf großen Olympischen Göttern.
    Hermes => Götterbote => Bote => Messenger* => Message => Window_Message

    Ansonsten freut es mich dass es dir gefällt ^,^

    *ja, ICQ und MSN/WLM sind Sofortboten.

  6. #6
    Kann mich Noa nur anschliessen: Tollige Demo.

    Werd das Skript jetzt erstmal austesten! :3

    Ich sag schonmal: Gute Arbeit!

  7. #7
    Vielen Dank ^^ und viel Spaß beim Austesten.

  8. #8
    hallo derula.

    ich habe dein script mal angetestet und bin im moment schwer am überlegen, ob ich es für mein nebenprojekt nehme. momentan gibt es nur noch 2 sachen, die mich davon abhalten:
    1. mein bisheriges message-script zeigt so schöne speechbubbles an, also die kleinen weißen zipfel zum mund des sprechenden.
    2. mich stört etwas die anzeige des facesets. wenn man nur einen kurzen text hat, wirkt es so abgehackt, weil es übersteht. nach obenhin wäre es ja kein problem, da könnte man faces erstellen, die eine scharfe kante nach oben haben, aber oft wird das face ja auch nach unten angezeigt. kann man das irgendwie umgehen?

    ansonsten sehr schick gemacht, wie gesagt, denke drüber nach es zu nutzen.

  9. #9
    Danke erstmal.

    Zitat Zitat von Lioness Beitrag anzeigen
    1. mein bisheriges message-script zeigt so schöne speechbubbles an, also die kleinen weißen zipfel zum mund des sprechenden.
    Dies werde ich noch integrieren, da ich das in meinem eigenen RMXP-Projekt auch so haben will. Fraglich ist allerdings, wann dies passiert xD im Moment kann ich nix versprechen.

    Zitat Zitat von Lioness Beitrag anzeigen
    2. mich stört etwas die anzeige des facesets. wenn man nur einen kurzen text hat, wirkt es so abgehackt, weil es übersteht. nach obenhin wäre es ja kein problem, da könnte man faces erstellen, die eine scharfe kante nach oben haben, aber oft wird das face ja auch nach unten angezeigt. kann man das irgendwie umgehen?
    Nun, ... das ist eine ziemliche Grundsatzfrage... der Grund warum ich das Überstehen eingebaut habe ist folgender: Manche möchten ganze Artworks als Faces haben, die z.B. von der Höhe her den halben Bildschirm füllen, und da kann dann schlecht die Messagebox auf die Größe vergrößert werden. Grund warum sie manchmal unten rausstehen, ist einfach, dass sie nicht nach oben aus dem Bildschirm verschwinden, wenn die Messagebox zu weit oben ist (meiner Meinung ist es immer noch sinnvoller, die Grafik steht unten über als sie verschwindet aus dem Bild... right?) Was meiner Meinung nach auch noch fehlt, ist, die Box unter den Charas anzuzeigen statt darüber, falls diese am oberen Rand stehen... Aber der Positionierungscode ist jetzt schon so lang und verwirrend, dass ich das nicht auch noch reinquetschen wollte und lieber erst die Meinungen der Comm dazu abfragen. In diesem Sinne: was für einen Vorschlag hättest du für die Positionierungs- und Fenstergrößenpolitik? ^^

    Im Moment siehts so aus:
    - Größe setzen (normale Box: 4*Zeilenhöhe, \p-Box Zeilenanzahl*Zeilenhöhe)
    - Wenn Namebox gesetzt:
    - Diese nach Voreinstellung positionieren, wenn dort genügend Platz ist
    - Ansonsten, und wenn SWAP aktiviert ist, die Position entsprechend ändern
    - Wenn face gesetzt:
    - Face passt in die Box: innerhalb der Box zentrieren
    - Face ist zu hoch:
    - Über der Box ist genügend Platz: oben überstehen lassen.
    - Nicht genügend Platz: unten überstehen lassen
    - Wenn sich das Face mit der Namebox überschneidet, Namebox einrücken*
    *allerdings ist hier ein kleiner bug drin^^

    So, hast du einen Vorschlag? Meine primitive Idee wäre: Anstatt zu schauen ob das Face größer ist als die Box, schauen, ob es größer ist als 4*Zeilenhöhe, und wenn nicht, eben die Messagebox vergrößern.

  10. #10
    hallo derula,

    danke für deine ausführungen, auch wenn ich nicht viel damit anfangen kann ^^"

    also, die grundidee mit den ganzen artworks sehe ich genauso. allerdings sieht es momentan so aus mit einem artwork:
    http://img148.imageshack.us/img148/3357/46951918rn5.jpg
    nicht auf das bild achten, ist viel zu groß und unpassend, hatte aber gerade kein anderes für demozwecke zur hand ^^"
    auf jeden fall sollte bei solchen faces das untere ende auch am unteren ende der message box sein.

  11. #11
    Zitat Zitat von Lioness Beitrag anzeigen
    [blabla]
    auf jeden fall sollte bei solchen faces das untere ende auch am unteren ende der message box sein.
    Wie gesagt... der Grund dafür dass es unten ist, ist, dass es sonst teilweise oben aus dem Bild verschwinden würde... sicher, dass das besser aussieht?^^

    Wenn du das so haben willst, suche einfach im Quelltext danach:
    Code:
          # Window is not tall enough
          if parent.y + parent.height - 32 >= self.face_height
            # Face can be shown aligned to bottom
            self.align = BOTTOM
            # Message is not displayed on top and not in full screen
            self.x = parent.x + 16
            self.y = parent.y + parent.height - 16
            return 0
          else
            # Face must be aligned on top of the message
            self.align = TOP
            # Message is displayed on top or in full screen
            self.x = parent.x + 16
            self.y = parent.y + 16
            return 3
          end
    und ersetze es durch

    Code:
          # Window is not tall enough
            self.align = BOTTOM
            # Message is not displayed on top and not in full screen
            self.x = parent.x + 16
            self.y = parent.y + parent.height - 16
            return 0
    dann wird das Artwork/Face immer unten ausgerichtet, bzw. oben überstehen.

  12. #12
    Update: Version 0.3c

    Bugfixes: Trilliarden. Buchstäblich. Nagut, vielleicht nicht ganz, aber viele.

    Neue Features:
    Mehrere TextboxenOkay das wichtigste neue Feature ist die Neuerung, tatsächlich mehrere Textboxen gleichzeitig anzeigen zu können, unabhängig von einander. Es kann eine Textbox je Event angezeigt werden, eine für den Spieler, und eine über den Bildschirm gestreckt (\p[screen]), gleichzeitig. Zum Beispiel kannst du ein Parallel-Process-Event anlegen, in dem sich Leute miteinander unterhalten, sogar außerhalb des Bildschirms! Denn während normalerweise Textboxen im sichtbaren Bereich der Map gehalten werden, geschieht das mit "parallel angezeigten" Textboxen nicht.

    Ich habe ein Nutzungsbeispiel zur Demo hinzugefügt.

    Tagnamen geändertNächstes neues Feature: neue Tagnamen! Yay, macht alles kaputt! Mir haben die Tags aus Hermes 0.1-0.2 nicht gefallen (besonderd \ti, \ts usw.), somit hat jetzt jeder einzelne Tag genau eine Form mit nur einem Buchstaben und genau eine mit mehreren. Letztere Formen starten mit einem Großbuchstaben. So wird das Parsen der Nachrichten etwas schneller (nehme ich an), wobei es am schnellsten geht, wenn nur die Ein-Buchstaben-Varianten verwendet werden.

    AMS-KompatibilitätFalls du momentan Hermes 0.1 oder 0.2 benutzt und nicht alle Tags ändern willst (es sind btw nicht alle), sorge dich nicht, als es da gibt einen Kompatibilitätsmodus: Ändere im Konfigurationsteil TAGS_VERSION in "Hermes0.2". Besser noch: es gibt auch einen Kompatibilitätsmodus für AMS und AMS+! Solltest du also bisher gezögert haben, auf Hermes umzusteigen wegen dieser dummen Inkompatibilität, so ist dies deine Chance! Du musst lediglich TAGS_VERSION in "AMS+" abändern.

    Und noch viel mehrViele, viele interne Änderungen wurden durchgeführt, u.a. besteht die Entwicklerversion nur noch aus 3 Skripten (4 wenn man Dokumentation mitzählt). Der \+-Tag wurde entfernt, stattdessen kannst du, um eine Nachricht parallel anzeigen zu lassen, \p[<event-id>,async] verwenden. Der \*-Tag wird jetzt im Interpreter ausgewertet, was bedeutet, dass Nachrichten, die aus vielen Show-Text-Befehlen bestehen, nun schneller angezeigt werden. Viele Korrekturen in der Demo (und Konversion zu den neuen Tags, hoffentlich hab ich nix übersehen). Der Kana-Tag wurde erweitert und verwendet nun auch Japanische Interpunktion / Vollbreite-Leerzeichen.

    Links:
    Homepagelink
    Endbenutzerversion herunterladen
    Demo herunterladen (benötigt Arial Unicode um vollständig zu funktionieren)

  13. #13
    Ists möglich den Text ablaufen zu lassen, ohne dass man ihn überspringen kann?

  14. #14
    Zitat Zitat von StrayerFox Beitrag anzeigen
    Ists möglich den Text ablaufen zu lassen, ohne dass man ihn überspringen kann?
    Jap.

    1. Kannst du dieses Verhalten als Standard setzen. Dazu musst du am Anfang des Skripts (müsste ca. Zeile 84 sein) die Konstante PREVENT_SKIPPING auf true setzen. (Also ersetze in der Zeile einfach false durch true)

    2. Kannst du das dauerhaft während des Spiels ändern (z.B. vor Cutscenes oder in Ingame-Optionen), indem du einen Script-Befehl mit folgendem Inhalt einfügst:
    Code:
    $msg.prevent_skipping = true
    3. Kannst du auch erreichen, dass man nur eine einzige Message nicht überspringen kann, indem du irgendwo in der Message den \%-Tag einfügst (das sollte auch umgekehrt funktionieren, also wenn man global nicht überspringen kann macht ein \%-Tag die einzelne Message wieder überspringbar).


    Im Debug-Modus (d.h., wenn das Spiel aus dem Maker heraus oder mit Kommandozeilenargument DEBUG gestartet wird) kann die Message dann trotzdem übersprungen werden, wenn gleichzeitig Strg gedrückt wird.

  15. #15
    Hey, cool! Es funktioniert. Danke. ^^
    (Das Skript ist allgemein echt spitzenklasse!)

  16. #16
    Danke =D Freut mich, dass es dir gefällt.

  17. #17
    Ist es möglich, dieses Script zusammen mit

    zu nutzen, ohne eine Fehlermeldung zu bekommen? Offenbar sind beide Scripts miteinander nicht kompatibel, was sehr schade ist.

  18. #18
    Zitat Zitat von Eynes'Prayer Beitrag anzeigen
    Offenbar sind beide Scripts miteinander nicht kompatibel, was sehr schade ist.
    Ja, das liegt daran, dass jenes Skript von fragwürdiger Qualität ist. xD

    Nein, ich meine, das Skript übergeht die command_new_game-Funktion, die von Hermes überschrieben wird. Sozusagen vertraut es darauf, das keine anderen Skripte verwendet werden. Probier mal das stattdessen:


    Sollte auch besser mit anderen Skripten kompatibel sein... Edit: Skript über Hermes-Skript einfügen, aber unter Scene_Title. Zum Beispiel direkt unter Scene_Title.

  19. #19
    Wundervoll, es funktioniert. Vielen lieben Dank für die Mühe. =)

    Ich fand es halt auch etwas seltsam, dass das Skript einfach mal so bestimmte Sachen aus einem Standartscripts entfernt. Letztendlich fehlt mir aber wirklich das Wissen, das irgendwie näher zu beurteilen.
    Jetzt klappt es jedenfalls und ich kann Hermes nach meinen Vorstellungen nutzen. Danke nochmal dafür!

  20. #20
    Gern geschehen war nicht sonderlich schwer, hab zum Glück sofort gewusst, woran es liegt.

    Zitat Zitat von Eynes'Prayer Beitrag anzeigen
    Ich fand es halt auch etwas seltsam, dass das Skript einfach mal so bestimmte Sachen aus einem Standartscripts entfernt.
    Hmm, es entfernt nicht wirklich etwas, es ruft nur einfach die Funktion nicht auf, in die sich Hermes einhakt.

    So sieht es mit Standard-Titel aus:
    Spiel startet => Benutzer drückt "Neues Spiel" => command_new_game wird aufgerufen => Wechsel zur Map

    So mit Black-Mole-Skript:
    Spiel startet => Wechsel zur Map

    Und so mit meinem Skript:
    Spiel startet => command_new_game wird aufgerufen => Wechsel zur Map

    Und da command_new_game die Stelle ist, wo sich Hermes einklinkt, um das Objekt für globale Einstellungen zu erstellen, wird es bei Black Mole's Skript einfach übergangen. Das führt dann natürlich zu Problemen

Berechtigungen

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