Zitat Zitat von Smep Beitrag anzeigen
Was nutzt einem der PicPointerPatch beim Menü?
Sehr, sehr, sehr, sehr viel! Ich kann ja mal mein EnterHeroName als Beispiel holen. Darin könnte ich alleine durch Einsatz des PicPointerPatches ca. 2041 If-Abfragen einsparen.

Ich weiß nicht, ob du weißt, was der Patch tut, deswegen erkläre ich es dir kurz mal.

1. Er lässt dich die ID eines Bildes aus einer Variable lesen.
2. Er lässt dich den Dateinamen eines Bildes aus einer Variable lesen.

Was heißt das jetzt konkret?

Mein EnterHeroName Screen hat zwölf Buchstaben. Damit überhaupt alle Buchstaben gleichzeitig angezeigt werden können, müssen sie alle verschiedene Bild IDs haben. Der RPG Maker ist aber standardmäßig nicht mit Variablen bei Bild IDs kompatibel, deswegen müsste ich für jeden der zwölf Buchstaben eine gesonderte If-Abfrage machen. Das sähe dann in etwa so aus:

Code:
If Curent_Letter = 1 then Show Picture letter.png at coordinates x/y with picture ID 1
else
  If Curent_Letter = 2 then Show Picture letter.png at coordinates x/y with picture ID 2
  else
    If Curent_Letter = 3 then Show Picture letter.png at coordinates x/y with picture ID 3
    ...
Wie du siehst, wäre das ziemlich umständlich. So, das wäre aber noch gar nichts. JETZT kommt erst der Knackpunkt: Das da ist jetzt nur die Bildanzeige für EIN Zeichen. Ich komme bei meinem EnterHeroName bis jetzt auf 157 Zeichen. Das heißt für jeden dieser 157 Buchstaben bräuchten wir noch mal eine If-Abfrage um das Zeichen selbst festzustellen und dann zwölf If-Abfragen um die Bild ID festzustellen. Das wären dann 157 * 13, also 2041 If-Abfragen.

Wie sieht das ganze mit dem PicPointerPatch aus?

Wie gesagt, kann man mit dem PicPointerPatch die Bild ID aus einer Variable lesen. Nehmen wir zum Beispiel Variable 0001

Variable 0001 = 1 > Zeige Bild als Bild 1 an.
Variable 0001 = 2 > Zeige Bild als Bild 2 an.
Variable 0001 = 3 > Zeige Bild als Bild 3 an.
...

Auf diese Art und Weise kann ich also mit ein und dem selben Show Picture Befehl zwölf (und mehr!) verschiedene Buchstaben anzeigen, da ich immer nur die Variable verändern muss.

Das ist aber noch nicht alles. Mit dem PicPointerPatch kann man auch Dateinamen aus Variablen lesen. In der obigen Variante brauchten wir schon mal 157 If-Abfragen alleine um den richtigen Buchstaben anzuzeigen, da der Show Picture Befehl standardmäßig nur mit fixen Dateinnamen funktioniert. Beim PicPointerPatch sähe das aber so aus:

Wenn du beispielsweise sagst, dass der Maker ein Bild namens "letter_0000.png" anzeigen soll und er als Dateinamenvariable die Variable 0001 benutzen soll, passiert folgendes:

Variable 0001 = 3 > Bild "letter_0003.png" wird angezeigt.
Variable 0001 = 27 > Bild "letter_0027.png" wird angezeigt.
Variable 0001 = 1867 > Bild "letter_1867.png" wird angezeigt.

Man spart hier also wiederum 157 If-Abfragen, da wir nur die Variable verändern müssen.

Wenn wir das ganze also zusammenrechnen, worauf kommen wir dann? Jab! 0! Wir brauchen mit dem PicPointerPatch genau 0 Abfragen statt 2041 .

Du wolltest allerdings wissen, wo das bei Menüs nützlich ist. Nun, bei eigenen Item Menüs zum Beispiel, wenn du willst, dass Items nachrücken und nicht immer an der selben Stelle angezeigt werden.

Zitat Zitat von Smep Beitrag anzeigen
Wenn die Variablen ASCIII-Code bekämen, wäre das eines der einzigen Dinge im RM2k, die zu internationalen Normen passen
Du solltest wissen, dass ich den Begriff "ASCII-Code" hier nur als Platzhalter verwendet habe. Damit war gemeint, dass man jedem Zeichen einen festen Wert zuweist. Welchen Wert man nimmt, entscheidet derjenige, der das System macht .

Zitat Zitat von Smep Beitrag anzeigen
Leider gibt es zwischen dem RM2k und den RM2k3 Kompabilitätsprobleme, daher solltest du für dein Haus auf den RM2k zurückgreifen.
Mach dir da mal keine Sorgen. Ich hatte eh vor, hierfür den 2K zu benutzen . Beim 2K3 gibt es übrigens einen Message-Befehl, der einem die HeroName Sache nochmals erleichtert. Da kannst du nämlich \n[n] und \v[n] ineinanderbetten, also quasi \n[\v[n]. Es wird dann der HeroName geladen, der in der jeweiligen Variable angegeben ist. Übertragen wir das mal auf mein System: Wir könnten in der HeroDatenbank 157 Einträge reserverieren, in denen wir als Heldennamen jeweils ein Zeichen angeben, nämlich das Zeichen, dass dem jeweiligen Wert in unserer selbst erstellten ASCII-Tabelle entspricht. Da wir ja schon von vornherein die Werte des Namens in Variablen speichern, müssen wir diese einfach nur noch mit dem \n[\v[n] Befehl kombinieren um den richtigen Buchstaben anzuzeigen. Das ganze hat allerdings noch einige Haken: Wie schon erwähnt ist das ganze nur mit dem RM2K3 kompatibel. Was allerdings noch blöder ist, ist, dass die Zeile dann so lang wird (bei 12 Zeichen, so lang kann ein HeroName maximal sein), dass sie im RPG Maker nicht mehr in eine Message-Zeile passt. Daher wird der Name in diesem Fall immer auf zwei Zeilen angzeigt. Damit es in eine Zeile passt, darf man (zumindest bei mir) maximal 6 Zeichen verwenden. Selbst dann ist es aber nicht optimal, da dann trotzdem immer nur der Name alleine in einer Zeile steht und das nicht so gut aussieht..

Zitat Zitat von Smep Beitrag anzeigen
Nochmal, echt klasse, besonders die variable Länge macht das ganze wirklich komfortabel
Das bietet sogar Mölichkeiten für Silbentrennung
Joa, es gibt nur ein Problem bis jetzt: Das ganze ist nicht mit dem RM-Hauptmenü kompatibel. Du kannst ja leider keine einzelnen Buchstaben eines Namen verändern, sondern nur den Namen als ganzes. Deswegen wäre die einzige Möglichkeit das ganze kompatibel zu machen jede einzelne der 157^12 Kombinationen aus Zeichen einzeln abzufragen und darauf basierend den Namen zu verändern. Da das aber stattliche 224282727500720205065439601 Kombinationen sind (die Zahl ist nicht erfunden, das ist die WIRKLICHE Anzahl X'D), werden wir das wohl nicht erleben. Aber egal. So lange man sein eigenes Menü macht, spielt es ja keine Rolle.

Zitat Zitat von Smep Beitrag anzeigen
Aber übernimm dich bloß nicht bei deinem Skript. Ich selbst wollte auch mal ein Skript rausbringen und die Technik dahinter hat nach etwas Arbeit auch super funktioniert, nur wegen dem Menü, was ich dafür brauchte, liegt das Skript grade auf Eis.
Und mir sind leider schon sehr oft (auch gute und fleißige) Teilnehmer weggebrochen, die sich übernommen haben.
Joa, ich weiß, was du meinst. Wenn man eine gute Idee hat und diese Idee dann an irgendeiner Stelle nach harter Arbeit scheitert, ist das schon sehr demotivierend. Habe ich selbst schon sehr häufig beim RPG Maker erlebt. Ich versuche aber auch nichts zu machen, was mich ganz offensichtlich überfordert X'D ! Bei diesem Skript weiß ich ja schon zu 100% genau, was ich machen muss. Deswegen kann ich auch in etwa den nötigen Aufwand einsschätzen.

Zitat Zitat von Smep Beitrag anzeigen
1. Wie viele Bilder man gleichzeitig anzeigen kann, weiß ich ehrlich gesagt nicht, aber ich glaube dazu gibt es auch einen Patch 8)
Dann dürften das wohl mindestens 50 sein, also mehr als genug !

Zitat Zitat von Smep Beitrag anzeigen
Wie du siehst macht es gar nichts, dass du ein bisschen vom Thema abgekommen bist, sobald es um Technik geht bin ich ja auch voll dabei
Cool, das freut mich ! Über Technik unterhalte ich mich gerne !

In zwei Wochen sind übrigens Ferien und dann geht es (hoffentlich) richtig los.