Heyho
Ich will mir so eine Art (Cheat)Menü bauen, in welchem man eine Liste mit allen Maps hat, zu welchem man sich sofort beamen kann. Den Getter mit dem ich den aktuellen MapNamen holen kann, kenn ich bereits.
Gibt es denn bereits einen Getter, mit denen ich auch den Name einer spezifischen Map fragen kann ? Wenn nicht, wo und wie kann ich diesen implementieren ?
--
Facebook
Maker: VX Ace
Projekt: Hyperverse Theory (Fantasy-SciFi RPG)
Status: nur Planung
Geändert von MindXperience (04.10.2013 um 12:43 Uhr)
Du wirst wohl den Namen aus der Datei holen müssen. Ich würde dir raten eine Art von Cache anzulegen und die Namen der Maps zu cachen sobald sie geladen werden.
Falls im Cache noch kein Wert hinterlegt ist lädst du die Karte von der Festplatte, liest den Namen, speicherst den Namen im Cache, und gibst den Namen aus dem Cache aus.
Das bedeutet natürlich, dass, falls der Name noch nicht verwendet wurde, das erstemal ein klein wenig länger dauern wird um den Namen zu erfragen.
Kennst du dich ausreichend mit Ruby aus um das Script dazu zu schreiben?
Woah, das ist etwas zu hoch für mich. Mit dem Cache hab ich mich noch gar nicht beschäftigt.
Könnte man vllt ein String-Array mit den Mapnames erstellen ?
--
Facebook
Maker: VX Ace
Projekt: Hyperverse Theory (Fantasy-SciFi RPG)
Status: nur Planung
In der Standard "Cache"-Klasse des Ace wird sehr elegant eine Hashmap verwendet zum Cachen von Bilddateien. Du kannst genauso vorgehen:
Der Code ist nicht getestet sondern nur schnell dahingeschrieben.
Ich habe mit dem Ace noch nie gearbeitet, daher bin ich mir nicht ganz sicher ob es so funktionieren wird. Aber es sollte ausreichen um dich auf den richtigen Weg zu leiten.
Benutze die Hilfedatei des Makers für weitere Informationen über einen Hash.
Das wäre auch einfacher gegangen
In der Datei "MapInfos.rvdata2" befindet sich nämlich bereits ein Hash nach dem Muster {mapID => RPG::MapInfo}, der vom DataManager in die Variable $data_mapinfos geladen wird. Was RPG::MapInfo ist, steht in der Hilfe-Datei, wichtig ist für uns hier nur, dass man über $data_mapinfos[mapID].name an den Map-Namen kommt.
--
"Banjo, you're a BEAR... and I will teach you... THESE MOVES!"
Das ist natürlich eine sehr viel bessere Variante. Es war mir nicht bewusst, dass der Ace soetwas bereits cached. Aber vielleicht konnte mein Code dir trotzdem ein wenig weiterhelfen dich mit Ruby zurecht zu finden.