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

Thema: [DynRPG Plugin]Text Plugin

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Hi, Kazesui!
    Ich habe das Plugin getestet (in deinem Testprojekt) und dabei habe ich den Fehler entdeckt,
    dass das Plugin sobald man ein neues Event (zu den bereits im Demoprojekt vorhandenen Events)
    erstellt, keinen einzigen der eingestellten Texte mehr anzeigt (selbst die parallel laufenden nicht).
    Auch wenn das neue Event sofort nach dem erstellen wieder gelöscht wird, funktionieren die
    anderen Texte nicht mehr.

  2. #2
    Das hört sich ziemlich komisch an. Ich hab gerade versucht den Fehler nach zu produzieren, aber ohne Erfolg.
    War es irgendwie einem besonderen Event? War dass der einzige Veränderung?

  3. #3
    Ich habe nun selbst versucht, das wieder so zu machen, und gemerkt woran der Fehler gelegen hat.
    Ich hatte nämlich, damit ich es schneller testen kann, das automatisch-starten Event ausgeschaltet, wodurch
    das benötigte Picture nun nicht mehr aufgerufen wurde.

    Nichtsdestotrotz, sind mir noch ein paar mögliche Verbesserungen für das Plugin engefallen:
    --Größe der Schrift ändern
    --Zittereffekt für die Schrift>optional ganze Wörter oder nur einzelne Buchstaben (a´la Golden Sun2)
    --"Sprengeffekt" für Wörter (das Wort wird gesprengt und die Buchstaben fliegen in alle möglichen Richtungen)

  4. #4
    Was mich interessieren würde ist, ob das Plugin auch die Makerbefehle \v[n] für Variablen und \N[n] für Heldennamen unterstützt. Damit könnte man dann ja theoretisch sogar komplette Menüs erstellen, ohne zig Abfragen machen zu müssen.

  5. #5
    @BDraw:
    Wie du sicher sehen kannst, ist über dem Schleim eine 2 und im Video laufen Zahlen, also ja

    @Kazesui:
    So jetzt mal ne Frage meinerseits
    Also, ich würd dieses Plugin gern verwenden, hab auch mittlerweile verstanden wies funktioniert.
    Jetzt kommt mir nur die Frage, wie kann ich das "mitbewegen" ausschalten?
    Ich würde gern dieses Plugin verwenden, damit ein Pater eine Rede halten kann ohne Pictures einzusetzen.
    Klappt alles, aber wenn du dich etwas vom Pater wegbewegst, wird die "Anzeige" also die Wörter und so, bewegen sich mit :/
    Dann hätte ich noch ne frage, muss die Picture "pixel" Datei auf Pic-ID 0001 sein?
    Wenn ichs erhöhe sehe ich nichts mehr, aber wenn ich es auf 0001 lasse kann ich keine LE benutzen, da die Bilder bzw. Wörter dann unter der LE sind und das sieht manchmal ziemlich komsich aus xD

    MfG Soul

    EDIT: Das mit der Pic-ID hab ich jetzt, man sollte umbedingt die ReadMe oder Beschreibung hier im Forum lesen xD

    Geändert von MrSerji (02.06.2012 um 19:12 Uhr)

  6. #6
    Zitat Zitat von Soul96 Beitrag anzeigen
    EDIT: Das mit der Pic-ID hab ich jetzt, man sollte umbedingt die ReadMe oder Beschreibung hier im Forum lesen xD
    qft

    Das "mitbewegen" ist (noch) nicht direkt ausschaltbar, aber man kann es umgehen in selberweise wie mit Pictures (Wie auch schon beschrieben in diesem Thread, bzw. mit Pics).
    - Mach einem Event auf dem Map
    - Setzt diesem irgendwo hin, am liebsten ganz oben links.
    - Lass diesem als parallel Event laufen der ständig die Screen Koordinaten von sich selber holt.
    - addier zu diesem Variablen die Pixel Koordinaten des Textes im bezug vom Map (1 Tile = 16 Pixels)
    - benutzt den "change_position" Kommando und benutzt die Variabel als Parameter fürs Position.

    Mach kein 0.0 Wait in diesem pp Event rein, weil dann siehts schnell komisch aus (gibt sowieso bereits ein getarnter 0.0 Wait am ende einer pp Event Skript).

    @BDraw Variable zu zeigen ist schon möglich, allerdings nicht so wie normal im Maker. Du schreibst z.b. V1 als Parameter um das Zahl in Variable 1 zu kriegen, kann aber nicht innerhalb eines Textes geschrieben werden. Laut dem SDK Dokumentation soll es auch möglich sein Helden namen mit N2 ( was das gleiche wie \n[2] wäre ) statt ein Variabel zu benutzen, scheint aber noch nicht zu funktionieren.

  7. #7
    Was heißt N2 funktioniert nicht? Sollte es eigentlich sehr wohl... Kann ich mal deinen Quellcode sehen (auch wegen der im anderen Forum besprochenen Crashprobleme)?

  8. #8
    Hat zumindest nicht funktioniert als ich es ausprobiert habe. Könnte natürlich an irgendein Fehler meinerseits liegen, funktioniert aber halt nicht mit meinem Plugin.
    Hier's übrigens der source vom Plugin.

  9. #9
    Hm, kann ich jetzt grad nix falsches dran erkennen... Hast du dir schon mal den Inhalt von "data" in onLoadGame ausgeben lassen?

  10. #10
    Ja, hab ich, und auch da scheint nichts falsch zu sein.

  11. #11

    Users Awaiting Email Confirmation

    Hallöle. Ich habe Cherry's FontChanger verwendet,
    Benutzt dieses Plugin also den im Spiel verwendeten Font oder aber eine externe Font-Datei?

  12. #12
    Dieser Plugin benutzt den im Spiel verwendeten Font

  13. #13
    Wow, muss ich unbedingt ausprobieren :-) Das ist so ziemlich eines der Features, die ich schon immer im 2k3 vermisste. Gute Arbeit!

    [EDIT] Die Updates sind pure Liebe! z.B. Itemnamen ausgeben. Das ist ja traumhaft *-*

    [MG]

    Geändert von TrueMG (08.07.2012 um 15:44 Uhr)

  14. #14
    Episch, damit kann man bestimmt echt viel machen, z.B. Sprechblasen statt Textboxen oder sowas wie auch im Beispielvideo mit "Monster Kill" oder so. Echt genial, werd ich bestimmt mal ausprobieren. x3

    Zitat Zitat
    \i[Zahl] der ein Item Name gibt mit selber ID als das Zahl,
    \I[Zahl] der die Beschreibung für das Item mit selber ID als das Zahl holt. (Ein großes i)
    \t[Zahl] um die Name einer Skill zu holen.
    \T[Zahl] um die Beschreibung einer Skill zu holen.
    Boah, damit könnte man ja ein eigenes Menü ganz einfach machen!

  15. #15
    Das Plugin ist echt eine Bereicherung und ich versuche gerade das Menü meines Taktik-KS darauf umzustellen, aber
    es will nicht funktionieren...

    Code:
    @write_text "test",V442,V443, \i[445]
    Die Variablen 442, 443 sind auf 160, 120.
    Variable 445 ist 1. (Item Name und Beschreibung sind nicht leer!)
    Es wird jedoch nichts angezeigt.


    Code:
    @write_text "test",V442,V443, \v[445]
    Gibt mir jedoch entsprechend eine 1 aus.

    Außerdem erhalte ich im Testprojekt eine Fehlermeldung und zwar folgende:



    (habs nochmal neu runtergeladen, selbes Problem :/)
    Hoffe du kannst mir irgendwie weiterhelfen

    P.S.: Ein Plugin das es einem erlaubt "Fenster" mit dem eingestellten Systemset zu zeichnen
    wäre eine super Ergänzung, dann könnte man locker Menüs erstellen, die aussehen wie das
    Standardmenü. Eventuell ist dir die Idee ja noch nicht gekommen und du hast Lust es umzusetzen

  16. #16
    Ich hab mal deine DLL in einen Debugger geladen und geschaut was an Adresse 6AB03309 passiert:

    Code:
    6AB032FB  |.  8B55 0C       MOV EDX, [ARG.2]
    6AB032FE  |.  8B02          MOV EAX, [EDX]
    6AB03300  |.  8B50 FC       MOV EDX, [EAX-4]
    6AB03303  |>  8B8D A0FEFFFF MOV ECX, [LOCAL.88]
    6AB03309  |.  803C08 5D     CMP BYTE PTR [EAX+ECX], 5D << Hier crasht es.
    6AB0330D  |.^ 75 CD         JNZ SHORT DynTextP.6AB032DC
    6AB0330F  |.  83E9 02       SUB ECX, 2
    6AB03312  |.  898D A0FEFFFF MOV [LOCAL.88], ECX
    6AB03318  |.  85D2          TEST EDX, EDX
    6AB0331A  |.  78 1A         JS SHORT DynTextP.6AB03336
    Nachdem in dieser Funktion Stringroutinen aufgerufen werden, gehe ich davon aus, dass ARG.2 (der zweite Parameter der Funktion) ein std::string ist. LOCAL.88 dürfte eine Indexvariable sein. Es crasht bei einem Vergleich eines Zeichens im String mit 0x5D, was, als ASCII interpretiert, eine schließende eckige Klammer ("]") wäre.

    Kurz gesagt: Vermutlich bei einer Zeile mit if(string[index] == ']') o.ä. crasht es. Vermutlich durch einen zu hohen Wert in der Indexvariable (schaut mir nach Buffer Overflow aus - 01EA0000 war die Adresse im Screen, auf die ein Zugriff hätte stattfinden sollen. Das ist eine "runde" Adresse und legt nahe, dass über das Ende eines allozierten Speicherbereichs hinaus (der wohl bei 01E9FFFF geendet hat) Lesezugriffe stattfanden).
    Falls dir das was hilft.

    (Ich hab das Projekt jetzt nicht überprüft, wollte dich aber nur noch sicherheitshalber an diesen Teil der DynRPG-Dokumentation erinnern: "The maximum number of characters per parameter (or command name) is 200. You have to parse the comment yourself if you need more.")

    EDIT: Der Befehl JNZ unter der crashenden Zeile ist ein bedingter Sprungbefehl, der auf eine Adresse oberhalb zeigt. D.h. in diesem Fall, wenn das Zeichen im String nicht ein "]"-Zeichen ist, wird im Programmablauf zurückgesprungen. Ich vermute also, es handelt sich um sowas wie do { ... } while(string[index] != ']'). Schaut mir nach irgendeinem Bug in einem der \X[...] Features aus.

    EDIT2: Die Funktion, in der es crasht, wird in deinem ganzen Code nur einmal aufgerufen, und zwar nachdem irgendeiner Variablen der Wert 5 zugewiesen wurde (kann natürlich auch ein Enum-Wert sein).

    EDIT3: Falls das nicht klar sein sollte: Ich habe da jetzt nichts getestet oder mir an deinem Sourcecode (den ich afaik gar nicht habe) angeschaut. Ich hab dir nur anhand von der Meldung in Fuxfell's Screenshot Hinweise gegeben, die dich zu der Stelle in deinem Code führen könnten, wo der Fehler passiert.

    Geändert von Cherry (09.07.2012 um 19:36 Uhr)

  17. #17
    Oh man, wie peinlich

    Danke jedenfalls, jetzt klappts mit Skill und Itemnamen

    Hab aber noch ein Problem mit den Makertextsymbolen:
    Code:
    @write_text "SkillID_Pfeil 1",V442,V443, "$s"
    @write_text "SkillID_Pfeil 2",V442,V443, "$t"
    @write_text "SkillID_Pfeil 3",V442,V443, "$u"
    @write_text "SkillID_Pfeil 4",V442,V443, "$v"
    Produziert komische Dinge:

    Schreibe ich den Code so:
    Code:
    @write_text "SkillID_Pfeil 1",V442,V443, $s
    @write_text "SkillID_Pfeil 2",V442,V443, $t
    @write_text "SkillID_Pfeil 3",V442,V443, $u
    @write_text "SkillID_Pfeil 4",V442,V443, $v
    Funktioniert es beim ersten Mal und macht dann das, wenn ich das Spiel über F12 neu starte:
    Klicke auf die Grafik für eine größere Ansicht 

Name:	Untitled6.png 
Hits:	16 
Größe:	77,6 KB 
ID:	14455


    Ich war übrigens in der Lage eine neue Fehlermeldung zu produzieren, kann sie aber leider nicht rekonstruieren:
    Klicke auf die Grafik für eine größere Ansicht 

Name:	Untitled4.png 
Hits:	9 
Größe:	91,4 KB 
ID:	14454

    Oder ist das doch ein Fehler des Plugins? Gruß

    Geändert von Fuxfell (09.07.2012 um 20:34 Uhr)

  18. #18
    Zitat Zitat von Cherry Beitrag anzeigen
    Kurz gesagt: Vermutlich bei einer Zeile mit if(string[index] == ']') o.ä. crasht es.
    Dass könnte stimmen. Wenn ein Befehl gefunden wird, fängt ein Funktion an das ganze zu parsen, was hiermit endet:
    Code:
    while(string[i] != ']') i++;
    while(string[i+1]==']') i++;

    Ich dachte dass std::string auch ein '\0' Terminator am ende hätte (wie ein typischer C string), damit das
    Code:
    string[i+1]
    kein Problem ausmachen sollte, scheint aber nicht so zu sein hab ich gerade herausgefunden, also könnte es sehr wohl daran liegen (auch wenn ich selber der Fehlermeldung nicht kriegen könnte, nichtmal wenn ich kein ']' hatte, was eigentlich ein Overflow geben müsste).

    Sollte nun kein Problem mehr sein

    @Fuxfell

    Könnte wohl etwas komisch erscheinen. V445 geht nur wenn es für sich selber steht, während die sonstige befehle sollten alle ein Text ausmachen, bzw. innerhalb " zeichen sein. Also ginge V445 oder auch "\v[445]" aber nicht "\i[V445]" oder \i[V445]. Man kann für Texte V445 als auch "\v[445]" benutzen, aber für alles andere (Koordinaten, farbe) geht nur V445 oder halt ein reines Zahl

    Geändert von Kazesui (09.07.2012 um 20:41 Uhr)

  19. #19
    Das Beispielprojekt stürzt auch in Version 07 noch bei mir ab, diesmal mit dieser Fehlermeldung:


    Übrigens besteht das Problem das ich in meinen vorherigen Post editiert habe auch noch bei
    der neuen Version (falls du den Edit nicht gesehen hast )

  20. #20
    Vorschlag: Fenster zusammenbauen lassen, entweder auf Basis von Pictures oder des Systemsets: http://rpg-maker.cherrytree.at/dynrp...3d675320eb26c3

Stichworte

Berechtigungen

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