PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Patch: RC PicPointerPatch Version 2 - Bild-ID und DATEINAME durch Vari mainpulieren!


Cherry
25.05.2008, 20:35
So, Version 2 ist da.

-> Auch Transparenz und Vergrößerung können referenziert werden (ebenfalls mit 10000+VarID als Wert)
-> Der Dateiname kann durch eine Variable verändert werden - Itemmenüs sind somit kein Problem mehr und in kürzester Zeit machbar!!! Genaueres in der Readme bzw. im Demospiel.

Wer Version 1 schon verwendet, kann Version 2 NICHT einfach "drüberpatchen"! Bitte eine RPG_RT.EXE verwenden, wo der PPP v1 noch nicht drauf ist!

Der Downloadlink ist der selbe, der Inhalt des Archivs wurde aktualisiert: http://cherrytree.at/downloads/ppp.rar

PicPointerPatch für RM2k v1.07 & RM2k3 v1.08 - Version 2 [RC]
================================================== ===========

Release vom 27.05.2008

(C) 2008 David "Cherry" Trapp
cherry@cherrytree.at
www.cherrytree.at


Mit dem PicPointerPatch kann man, wie der Name schon sagt, auch bei Picture-IDs Pointer verwenden (sprich, man kann durch eine Variable festlegen, auf welches Picture sich eine Operation bezieht). Die Benutzung ist ganz einfach, für fixe Bild-IDs wird diese ganz normal angegeben (z.B. Show Picture [7], cloud.png), wenn der Wert aus einer Variable gelesen werden soll, verwendet man 10000+VarID als Bild-ID (z.B. Change Variable [208], 7; Show Picture [10208], cloud.png). Enthält die Variable einen ungültigen Wert, erhält man einen Fehler.

Dies funktioniert genauso mit Transparenz und Vergrößerung der Bilder!

Die zweite wichtige Funktion (in Version 2 dazugekommen), ist, dass auch der DATEINAME des Bildes durch eine Variable beeinflusst werden kann.

Wird als Bild-ID 50000+VarID verwendet, wird...
a) wie oben beschrieben, die Bild-ID aus [VarID] gelesen
b) eine Dateinummer aus [VarID+1] gelesen - die letzten 4 Zeichen des Bilddateinamens werden durch diese Nummer ersetzt.

Einige praktische Beispiele:

<> Show Picture 2, (160,120), Gegenstand_0000
Dies zeigt, ganz normal, das Bild "Gegenstand_0000" als Bild Nr. 2 an.

<> Change Variable [0208], 9 set
<> Show Picture 10208, (160,120), Gegenstand_0000
Dies zeigt das Bild "Gegenstand_0000" als Bild Nr. 9 an.

Nun aufgepasst:
<> Change Variable [0208], 14 set
<> Change Variable [0209], 83 set
<> Show Picture 50208, (160,120), Gegenstand_0000
Dies zeigt das Bild "Gegenstand_0083" (!) als Bild Nr. 14 an.

WICHTIG: Der Dateiname sollte bereits Platz für diese Nummer bieten! Ein Negativbeispiel: Würde obiges mit dem Bild "Panzerechse" versucht, würde der Maker versuchen, ein Bild namens "Panzere0083" zu laden! Dies würde in einem "File not found"-Fehler enden.

Achja, nochwas: alles, was der Patch nicht verarbeiten kann, schickt er einfach an den Maker weiter. Wenn man also z.B. als Bild-ID 10500 angibt, obwohl man diese Variable gar nicht verwendet, wird der Maker versuchen, ein Bild mit Nummer 10500 anzuzeigen, wird also eine Fehlermeldung ausspucken!

Eine praktisches Beispiel (6stellige Zahlenanzeige) ist als Demospiel beigefügt. Dies benötigt übrigens nur 15 Eventkommandos! Das Event ist ausführlich kommentiert. Einfach mal im Maker öffnen und ansehen.

Der Nutzen des Patches? Wenn du ihn bis jetzt noch immer nicht verstanden hast, tust du mir leid. Drum helf ich dir auf die Sprünge:
Zahlenanzeigen, Item-/Zauber-/Ausrüstungsmenüs, etc. - mit dem PicPointerPatch Version 2 lässt sich dies alles in kürzester Zeit verwirklichen!

An alle, die sich jetzt ärgern, weil sie Monate dafür gebraucht haben: TUT MIR LEID! ;-)


>>>>> INSTALLATION DES PATCHES: <<<<<<
1. Lips.exe öffnen
2. Auf "Apply IPS Patch" klicken
3. Patchversion auswählen (RM2k oder RM2k3)
4. RPG_RT.EXE auswählen (unten rechts "All files" wählen)

Damit man im RM2k(3) überhaupt so hohe Picture-IDs wählen kann, muss die RPG2000.EXE bzw. RPG2003.EXE auch gepatcht werden. Dies geht so:

Beendet unbedingt den Maker, bevor ihr euch den nachfolgenden Punkten widmet. Es könnte zu unangenehmeren Überraschungen und Nebeneffekten führen, die im schlimmsten Fall euer Projekt, wenn nicht gar eure gesamte Maker-Installation beschädigen könnten.

1. : Legt eine Sicherheitskopie von der Datei "rpg2000.exe" bzw. "rpg2003.exe" an. Da diese im Nachhinein editiert wird und sich dabei eventuell Fehler einschleichen könnten ist es immer gut, noch eine Art "BackUp" zur Hand zu haben.

2. : Startet den Ressoruce-Hacker und öffnet damit die Datei "rpg2000.exe" bzw. "rpg2003.exe".

3. : In dem Verzeichnis-Wirrwarr klickt ihr euch durch "RCDATA" --> "TFORMEVCMD11110" --> "0" durch.

4. : Hier sucht ihr den Eintrag "MaxValue = 20" (RM2k) bzw. "MaxValue = 50" (RM2k3) (Der erste MaxValue-Eintrag, wenn ihr langsam im dargestelltem Code von oben nach unten scrollt) und tauscht die 20/50 durch eine 100000 aus. Wiederholt dies für die beiden Zeilen "MaxValue = 100" (weiter unten). Klickt dann auf den Button "Compile Script" und speichert das ganze ab.

5. : Wiederholt die selbe Vorgehensweise (!) bei folgendem Eintrag: "RCDATA" --> "TFORMEVCMD11120" --> "0"

6. : Wiederholt es auch bei "RCDATA" --> "TFORMEVCMD11130" --> "0", wobei dort die beiden "MaxValue = 100"-Zeilen nicht vorhanden sind, also auch nicht geändert werden müssen/können.


Zum Schluss noch ein kleiner Tipp:

Mit Transparenzwerten zwischen 101% und 9999% kann man sehr interessante farbliche Effekte erzielen!
1000% stellen das Bild z.B. mit umgekehrten Farben dar (soweit ich das feststellen konnte)!


Viel Spaß!

mfG Cherry


PS: ICH ÜBERNEHME K-E-I-N-E-R-L-E-I VERANTWORTUNG, FALLS DER PATCH (sei es durch eine Fehlfunktion, oder durch verwenden der falschen Patchversion oder dergleichen) EUER PROJEKT, EUREN MAKER ODER SONSTWAS SCHROTTEN SOLLTE!!!

Ich kann aber sagen, dass dies recht unwahrscheinlich ist (dass es das Projekt schrottet ist eigentlich sogar unmöglich, außer jemand versucht, damit seine Datenbank oder eine Map oder so zu patchen, aber um jeder Idiotie vorzubeugen, hab ich das eben dazugeschrieben).

Haut rein, Leute.

mfG Cherry

Coincidence
25.05.2008, 22:32
Hm ... kann sein, dass mir der technische Background fehlt, aber aus dem Text geht für mich zwar hervor, dass der Patch ein toller ist, nicht aber, wofür er zu gebrauchen ist. Erläuterung bitte!

Coincidence

Ultima
25.05.2008, 22:41
Öhhh....joa ganz nett aber wofür kann man den gebrauchen ? =/

Soll das heißen, dass man einfach mehr Pics anzeigen kann ?
Anstatt also beim Befehl "Show Picture" jetzt z.B. angeben zu müssen
"Picture 4", werden die ID´s der Pics also in Variablen gespeichert.

Zumindest für mich wäre der Patch dann recht nutzlos
und ausserdem glaube ich kaum, dass jemand +50Pics
gleichzeitig anzeigen will ! O__o

Knumonmaster
25.05.2008, 22:49
Hm ... kann sein, dass mir der technische Background fehlt, aber aus dem Text geht für mich zwar hervor, dass der Patch ein toller ist, nicht aber, wofür er zu gebrauchen ist. Erläuterung bitte!
Es geht hier in erster Linie um Faulheit beim Scripten. In Menüs mit Itemanzeigen oder bei Pixelshading-Effekten kann man das sehr gut gebrauchen, da man dann 50 bzw. 100 Pics per Schleife anzeigen lassen kann und nicht 100 Forks oder whatever scripten muss ...

@cherry: jau, toller Patch =) kann ich sicher gut gebrauchen (für die o.g. Dinge z.b. xD)

Jan der Superparanoid
26.05.2008, 02:07
Damit erspar ich mir 1024 Abfragen in meinem Kampfsystem.... danke dafür, genau das habe ich seit langem gebraucht.

Scar
26.05.2008, 11:32
irre geil.

Eni-Meister
26.05.2008, 18:24
Da bekomme ich doch fast wieder Lust dazu mein SoF-Menü fertigzustellen. ^^
Also wenn noch ein paar, mir nützliche Patches, erscheinen, werde ich wohl wieder makern :)

Veyrne
27.05.2008, 02:32
Hatte sich nicht sogar Lachsen irgendwann einen solchen Patch gewünscht? ;) War mir zumindest so. Sehr schöne Arbeit. Ich tüftel' noch an den Möglichkeiten.

Cherry
27.05.2008, 06:19
Warte mit dem Tüfteln noch, bis Version 2 da ist. Da kann man nämlich auch den Dateinamen durch eine Vari verändern.

Soll heißen:

<> Change Variable [0208], 7 set
<> Change Variable [0209], 19 set
<> Show Picture 50208, (160,120), Gegenstand_0000

Angezeigt wird dann Gegenstand_0019 mit Bild-ID 7.

Itemmenüs wären dann eine Sache von 10 Minuten.

Eni-Meister
27.05.2008, 17:51
Warte mit dem Tüfteln noch, bis Version 2 da ist. Da kann man nämlich auch den Dateinamen durch eine Vari verändern.

Soll heißen:

<> Change Variable [0208], 7 set
<> Change Variable [0209], 19 set
<> Show Picture 50208, (160,120), Gegenstand_0000

Angezeigt wird dann Gegenstand_0019 mit Bild-ID 7.

Itemmenüs wären dann eine Sache von 10 Minuten.
Bei mir wohl paar Stunden. xD
Aber wie sieht es mit der Peformance aus? Einschränkungen?

Cherry
27.05.2008, 20:34
So, Version 2 ist da.

-> Auch Transparenz und Vergrößerung können referenziert werden (ebenfalls mit 10000+VarID als Wert)
-> Der Dateiname kann durch eine Variable verändert werden - Itemmenüs sind somit kein Problem mehr und in kürzester Zeit machbar!!! Genaueres in der Readme bzw. im Demospiel.

Wer Version 1 schon verwendet, kann Version 2 NICHT einfach "drüberpatchen"! Bitte eine RPG_RT.EXE verwenden, wo der PPP v1 noch nicht drauf ist!

Der Downloadlink ist der selbe, der Inhalt des Archivs wurde aktualisiert: http://cherrytree.at/downloads/ppp.rar

PicPointerPatch für RM2k v1.07 & RM2k3 v1.08 - Version 2 [RC]
================================================== ===========

Release vom 27.05.2008

(C) 2008 David "Cherry" Trapp
cherry@cherrytree.at
www.cherrytree.at


Mit dem PicPointerPatch kann man, wie der Name schon sagt, auch bei Picture-IDs Pointer verwenden (sprich, man kann durch eine Variable festlegen, auf welches Picture sich eine Operation bezieht). Die Benutzung ist ganz einfach, für fixe Bild-IDs wird diese ganz normal angegeben (z.B. Show Picture [7], cloud.png), wenn der Wert aus einer Variable gelesen werden soll, verwendet man 10000+VarID als Bild-ID (z.B. Change Variable [208], 7; Show Picture [10208], cloud.png). Enthält die Variable einen ungültigen Wert, erhält man einen Fehler.

Dies funktioniert genauso mit Transparenz und Vergrößerung der Bilder!

Die zweite wichtige Funktion (in Version 2 dazugekommen), ist, dass auch der DATEINAME des Bildes durch eine Variable beeinflusst werden kann.

Wird als Bild-ID 50000+VarID verwendet, wird...
a) wie oben beschrieben, die Bild-ID aus [VarID] gelesen
b) eine Dateinummer aus [VarID+1] gelesen - die letzten 4 Zeichen des Bilddateinamens werden durch diese Nummer ersetzt.

Einige praktische Beispiele:

<> Show Picture 2, (160,120), Gegenstand_0000
Dies zeigt, ganz normal, das Bild "Gegenstand_0000" als Bild Nr. 2 an.

<> Change Variable [0208], 9 set
<> Show Picture 10208, (160,120), Gegenstand_0000
Dies zeigt das Bild "Gegenstand_0000" als Bild Nr. 9 an.

Nun aufgepasst:
<> Change Variable [0208], 14 set
<> Change Variable [0209], 83 set
<> Show Picture 50208, (160,120), Gegenstand_0000
Dies zeigt das Bild "Gegenstand_0083" (!) als Bild Nr. 14 an.

WICHTIG: Der Dateiname sollte bereits Platz für diese Nummer bieten! Ein Negativbeispiel: Würde obiges mit dem Bild "Panzerechse" versucht, würde der Maker versuchen, ein Bild namens "Panzere0083" zu laden! Dies würde in einem "File not found"-Fehler enden.

Achja, nochwas: alles, was der Patch nicht verarbeiten kann, schickt er einfach an den Maker weiter. Wenn man also z.B. als Bild-ID 10500 angibt, obwohl man diese Variable gar nicht verwendet, wird der Maker versuchen, ein Bild mit Nummer 10500 anzuzeigen, wird also eine Fehlermeldung ausspucken!

Eine praktisches Beispiel (6stellige Zahlenanzeige) ist als Demospiel beigefügt. Dies benötigt übrigens nur 15 Eventkommandos! Das Event ist ausführlich kommentiert. Einfach mal im Maker öffnen und ansehen.

Der Nutzen des Patches? Wenn du ihn bis jetzt noch immer nicht verstanden hast, tust du mir leid. Drum helf ich dir auf die Sprünge:
Zahlenanzeigen, Item-/Zauber-/Ausrüstungsmenüs, etc. - mit dem PicPointerPatch Version 2 lässt sich dies alles in kürzester Zeit verwirklichen!

An alle, die sich jetzt ärgern, weil sie Monate dafür gebraucht haben: TUT MIR LEID! ;-)


>>>>> INSTALLATION DES PATCHES: <<<<<<
1. Lips.exe öffnen
2. Auf "Apply IPS Patch" klicken
3. Patchversion auswählen (RM2k oder RM2k3)
4. RPG_RT.EXE auswählen (unten rechts "All files" wählen)

Damit man im RM2k(3) überhaupt so hohe Picture-IDs wählen kann, muss die RPG2000.EXE bzw. RPG2003.EXE auch gepatcht werden. Dies geht so:

Beendet unbedingt den Maker, bevor ihr euch den nachfolgenden Punkten widmet. Es könnte zu unangenehmeren Überraschungen und Nebeneffekten führen, die im schlimmsten Fall euer Projekt, wenn nicht gar eure gesamte Maker-Installation beschädigen könnten.

1. : Legt eine Sicherheitskopie von der Datei "rpg2000.exe" bzw. "rpg2003.exe" an. Da diese im Nachhinein editiert wird und sich dabei eventuell Fehler einschleichen könnten ist es immer gut, noch eine Art "BackUp" zur Hand zu haben.

2. : Startet den Ressoruce-Hacker und öffnet damit die Datei "rpg2000.exe" bzw. "rpg2003.exe".

3. : In dem Verzeichnis-Wirrwarr klickt ihr euch durch "RCDATA" --> "TFORMEVCMD11110" --> "0" durch.

4. : Hier sucht ihr den Eintrag "MaxValue = 20" (RM2k) bzw. "MaxValue = 50" (RM2k3) (Der erste MaxValue-Eintrag, wenn ihr langsam im dargestelltem Code von oben nach unten scrollt) und tauscht die 20/50 durch eine 100000 aus. Wiederholt dies für die beiden Zeilen "MaxValue = 100" (weiter unten). Klickt dann auf den Button "Compile Script" und speichert das ganze ab.

5. : Wiederholt die selbe Vorgehensweise (!) bei folgendem Eintrag: "RCDATA" --> "TFORMEVCMD11120" --> "0"

6. : Wiederholt es auch bei "RCDATA" --> "TFORMEVCMD11130" --> "0", wobei dort die beiden "MaxValue = 100"-Zeilen nicht vorhanden sind, also auch nicht geändert werden müssen/können.


Zum Schluss noch ein kleiner Tipp:

Mit Transparenzwerten zwischen 101% und 9999% kann man sehr interessante farbliche Effekte erzielen!
1000% stellen das Bild z.B. mit umgekehrten Farben dar (soweit ich das feststellen konnte)!


Viel Spaß!

mfG Cherry


PS: ICH ÜBERNEHME K-E-I-N-E-R-L-E-I VERANTWORTUNG, FALLS DER PATCH (sei es durch eine Fehlfunktion, oder durch verwenden der falschen Patchversion oder dergleichen) EUER PROJEKT, EUREN MAKER ODER SONSTWAS SCHROTTEN SOLLTE!!!

Ich kann aber sagen, dass dies recht unwahrscheinlich ist (dass es das Projekt schrottet ist eigentlich sogar unmöglich, außer jemand versucht, damit seine Datenbank oder eine Map oder so zu patchen, aber um jeder Idiotie vorzubeugen, hab ich das eben dazugeschrieben).

Haut rein, Leute.

mfG Cherry

EDIT: Noch eine kleine Info: Der Code, der das Referenzieren durch 10000+VarID erlaubt, ist ein Wrapper für GetEvParam (nein, das müsst ihr NICHT verstehen). Das heißt, ich kann das überall einbauen, wo ein Event einen numerischen Parameter nimmt (z.B. Anzahl Ziffern bei Input Number o.ä.). Falls etwas derartiges gewünscht wird, einfach sagen, das ist eine Sache von 30 Sekunden!

EDIT²: Falls es schon wer geladen hat - das "Move Pic" am Anfang war ein Test und hat nix zu bedeuten! Ich hab es inzwischen entfernt.

Eni-Meister
28.05.2008, 01:28
Ist dieser Patch auch mit anderen Patches kompatibel - Picture-Patch?

Cherry
28.05.2008, 06:28
Er ist mit anderen Patches, die die RPG_RT.EXE patchen, kompatibel.

Der Picture-Patch ist kein Patch, sondern eine andere RPG_RT.EXE - die Value! Version, damit ist er nicht kompatibel.

Ich werd aber noch eine Value!-Version machen.

Veyrne
28.05.2008, 08:24
So, wird geladen und genauer getestet. Für wirklich komplizierte Menü- und KS-Scripts ist es eine Hilfe. Wenn Bilder über eine Variable erfasst werden können, dann muss nicht mehr jedes einzeln von Hand bestimmt und ausgewählt werden.

Eni-Meister
28.05.2008, 11:10
Richtig und das erspart enorm Arbeit. Somit könnte ich meinen Code weit über 2/3 kürzen.

@Cherry
Hast du schon einen gewissen Termin für die Value!-Version?

Cherry
28.05.2008, 13:39
Nachdem da soviel Andrang ist (xD), sag ich mal: heute oder morgen.

Eni-Meister
04.06.2008, 18:22
Und?

Cherry
04.06.2008, 19:18
doch nicht. hab gerade anderes zu tun.

Eni-Meister
04.06.2008, 19:20
Gut, dann warte ich erstmal ab. ;D

Isothien
09.06.2008, 22:13
Ehrlich gesagt raff ich nciht, wofür der Patch gut sein soll.
KNM Aussage hilft mir da auch nicht weiter.
Kann einer mal ein Beispiel posten, in dem gezeigt wird, wie man das mit und ohne Patch bewältigen müsste...

Cherry
10.06.2008, 07:05
beispiel: itemmenü. Es muss jedes Item an jeder Position stehen können. Rechnen wir mal mit 100 möglichen Items und 10 Slots pro Seite.
Ohne Patch: 1000 Forks
Mit Patch: 0 Forks

Eni-Meister
10.06.2008, 15:15
Korrekt.
Die Abfragen (Forks) sind unnütz, da man den Wert an die Show Picture weitergibt und dieser sie richtig verarbeitet, sodass auch das richtige Pic an der richtigen Position angezeigt wird.

Veyrne
13.06.2008, 19:10
Genau. Die Forks würden andernfalls gebraucht um festzustellen, welches Picture gerade welche Position belegt und alles müsste so auf Variablen übertragen werden. Die Forks werden also überflüssig, da man es mit dem Patch direkt machen kann.

Ist eher ein Patch für Hardcore-Techniker. ;)

Cherry
13.06.2008, 20:52
Ist eher ein Patch für Hardcore-Techniker. ;)

Wieso bitte? Eher umgekehrt, denke ich.

Eni-Meister
16.06.2008, 17:17
Wieso bitte? Eher umgekehrt, denke ich.
He? Ich würde eher Vey zustimmen.

Veyrne
20.06.2008, 01:24
Wieso bitte? Eher umgekehrt, denke ich.

Weil meistens nur entsprechende Techniker sich an solche Großprojekte wagen, wo derartiges Variablenmanagement nötig ist. Kleinere Menüs und ähnliches kann man noch gerade so mit Bedingungen gut managen. ;) Wie ich sagte: Lachsen war - glaube ich - eine der ersten Personen, die mal nach so einem Patch fragte.

Cherry
20.06.2008, 06:05
Achso :)