Hallöle. Ich habe Cherry's FontChanger verwendet,
Benutzt dieses Plugin also den im Spiel verwendeten Font oder aber eine externe Font-Datei?
Hallöle. Ich habe Cherry's FontChanger verwendet,
Benutzt dieses Plugin also den im Spiel verwendeten Font oder aber eine externe Font-Datei?
Dann überleg ich mal weiter mir dieses Plugin zuzulegen![]()
Ich hab ein bisschen weiter an dem Plugin gebastelt und der hat jetzt ein neues Befehl: @append_text.
Dieses befehl erlaubt es euch weiterem Text and bereits existierende Texte zu erweiteren.
Neu is jetzt auch die Parameter von @write_text, der jetzt "fixed" als das fünfte Parameter nehmen kann, damit der Text nicht mit das Bildschirm scrollt, sondern mit das Map.
(Das heisst dass das Parameter fürs Farbe is jetzt #6).
Es lässt sich jetzt auch innerhalb des Textes 3 Befehle einzugeben:
\v[Zahl], \n[Zahl] und \x[Text Tag]
\v und \n funktioniert so ziemlich wie in einem normalen Nachricht Befehl, während \x der Text einer anderen schon hergestellten Text holen kann, indem du dem Identifier als Parameter reintust. Das Beispiel Projekt wurde schon geändert damit man die Änderungen sehen kann.
Wichtig: Falls ihr save Dateien mit dem alten Version von diesem Plugin gemacht haben, sind diese mit das neue Version nicht kompatibel.
Geändert von Kazesui (23.06.2012 um 15:44 Uhr)
Funktioniert wunderbar.
Vielen Dank =)
und schon wieder gibts ein Update für diesem Plugin!
diesmal wurde ein paar weitere "innerhalb-des-Textes Kommando's" dazugefügt.
Jetz haben wir noch:
\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.
Dazu isses jetzt möglich die Befehle zu kombinieren, bzw. \i[\v[20]] Damit Variabel 0020 entscheiden kann welches Zahl benutzt werden soll.
Es ist auch möglich die Befehle beim "bauen" eines Identifier Tag zu benutzen, was es leichter macht ne Menge Texts innerhalbs einem Loop zu machen,
z.b. für das auflisten von Items für einem Item Menü.
Das Demo hat auch ein Update gekriegt um die neue Funktionen zu zeigen (ich sollte wohl bald dran denken ein neues Video zu machen)
Oh mein Gott, dass ist noch besser als ich es mir erhofft habe^^. Ein RIESEN DANKESCHÖN von mir, das erleichtert die ganze Fummelei mit den Pictures ungemein.
Danke![]()
--Langzeitstudien an einer Universität in England haben ergeben, dass Homosexuelle die Signaturen anderer immer mit der Hand auf der Maus lesen.
Du brauchst sie jetzt nicht mehr wegzunehmen, es
ist eh schon zu spät....
So, ich bin endlich dazu gekommen die verbesserte Version zu downloaden und mir ist ein bug in deinem Test Projekt aufgefallen...
Wenn man den typen unter der Kiste anspricht kommt eine Fehlermeldung und ein schwarzer streifen ist dann die ganze Zeit im bild...
--Langzeitstudien an einer Universität in England haben ergeben, dass Homosexuelle die Signaturen anderer immer mit der Hand auf der Maus lesen.
Du brauchst sie jetzt nicht mehr wegzunehmen, es
ist eh schon zu spät....
Ist mir selber noch nicht passiert. Im Test Projekt wurde nichts gemacht ausser es zu testen?
Ja O.o... Und es ist auch immerwieder passiert... Also habe ich es nochmal neu gedownloadet und jetzt funktionierts... Ich weiß auch nicht, muss irgendwas kaputt gewesen sein...
--Langzeitstudien an einer Universität in England haben ergeben, dass Homosexuelle die Signaturen anderer immer mit der Hand auf der Maus lesen.
Du brauchst sie jetzt nicht mehr wegzunehmen, es
ist eh schon zu spät....
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)
Das Plugin ist echt eine Bereicherung und ich versuche gerade das Menü meines Taktik-KS darauf umzustellen, aber
es will nicht funktionieren...
Die Variablen 442, 443 sind auf 160, 120.
Variable 445 ist 1. (Item Name und Beschreibung sind nicht leer!)
Es wird jedoch nichts angezeigt.
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![]()
Es scheint mir als hättest du das Befehl \i ein wenig misverstanden. Was du dort oben versuchst is der Name von Item mit ID 445 zu holen, sprich die 445. Item in die DB.
Was du eigentlich hätte tun sollen wäre \i[\v[445]] zu schreiben, damit \v[445] ne 1 gibt die dann zum \i[1] wird was das erste Item von der Database holt.
Es soll übrigens " zeichen um das Befehl geben, bzw. "\i[\v[445]]".
Habe aber noch keine Ahnunng wieso du den Fehlermeldung in dem Testprojekt kriegst.
Und ich habe mir schon überlegt einem Plugin zu machen der dich unterschiedliche Fenster machen lässt, aber darauf wirst du wahrscheinlich noch warten müssen.
Geändert von Kazesui (09.07.2012 um 18:35 Uhr)
Ich hab mal deine DLL in einen Debugger geladen und geschaut was an Adresse 6AB03309 passiert:
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.
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny:CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
Geändert von Cherry (09.07.2012 um 19:36 Uhr)
Oh man, wie peinlich
Danke jedenfalls, jetzt klappts mit Skill und Itemnamen
Hab aber noch ein Problem mit den Makertextsymbolen:
Produziert komische Dinge:
Schreibe ich den Code so:
Funktioniert es beim ersten Mal und macht dann das, wenn ich das Spiel über F12 neu starte:
Ich war übrigens in der Lage eine neue Fehlermeldung zu produzieren, kann sie aber leider nicht rekonstruieren:
Oder ist das doch ein Fehler des Plugins? Gruß
Geändert von Fuxfell (09.07.2012 um 20:34 Uhr)
Dass könnte stimmen. Wenn ein Befehl gefunden wird, fängt ein Funktion an das ganze zu parsen, was hiermit endet:
Ich dachte dass std::string auch ein '\0' Terminator am ende hätte (wie ein typischer C string), damit das 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)
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)
Dann bin ich mir immernoch nicht ganz sicher @Fehlermeldung. Mal weiterschauen
Das mitm komischen zeug allerdings liegt daran dass du zur zeit das ganze mit einem "end" schliessen muss.
z.b.
Liegt daran dass es noch kleine Probleme geben könnte wenn das letzte Parameter ein Text ist. In das Testprojekt hab ich meistens einfach das ganze mit ,, beendet, ausser wenn ich die zwei letzen Parameter benutzen wollte.
Danke für die Unterstützung klappt so weit![]()