Ergebnis 1 bis 3 von 3

Thema: [RMXP/RGSS]: Zugriff auf Event-Namen

  1. #1

    [RMXP/RGSS]: Zugriff auf Event-Namen

    Hallo zusammen,

    ich bin gerade auf der Suche nach einer Möglichkeit, wie man aus der Event-ID eines Map-Events per Ruby den (im Editor eingetragenen) Namen des Events herausfinden kann. Bislang habe ich folgendes versucht:

    Code:
    $game_map.events[1].name
    ... nur leider verweist die Referenz $game_map nicht auf eine Instanz von "RPG::Map" sondern auf eine Instanz von "Game_Map", entsprechend liefert die Methode "events" leider auch kein Array von "RPG::Event" (welche die Methode ".name" besitzen) sondern ein Array von "Game_Event", welche die Information über den eingetragenen Event-Namen anscheinend nicht besitzen. Entsprechend wirft der RMXP bei obiger Code-Zeile auch einen Fehler, dass die Methode "name" für Game_Event nicht existiert.

    Kann mir jemand von euch weiterhelfen? Würde mich sehr freuen. Ich weiß dass die Frage sehr noob-mäßig klingt und es ist sicher nicht schwierig die Information zu finden wenn man weiß wo man danach suchen muss aber ich scheitere echt seit fast einer Stunde daran >.<

    Gruß,


    Alan

  2. #2
    Code:
    class Game_Event
      def name
        return @event.name
      end
    end
    kannst den obigen code über main einfügen, dann funktioniert dein code.

    @event speichert ein RPG::Event objekt. dieses objekt enthält alle eigenschaften, die im maker angegeben werden können.
    für nähere informationen zur RPG::Event klasse siehe hilfsdatei des makers

  3. #3
    Hi,

    vielen vielen Dank, hat auf Anhieb geklappt! Hätte ich mir eigentlich denken können, dass da intern ein RPG::Event-Objekt verwendet wird - nur leider gibt die Hilfedatei über die Klassen, die mit "Game_" beginnen, keinerlei Auskunft - was sich gerade bei solchen Sachen dann natürlich als fatal erweist.

    Dankeschön nochmal!


    Alan

Berechtigungen

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