Ergebnis 1 bis 18 von 18

Thema: "Suche(/Habe ein Problem) mit Script X"-Thread

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Um den Namen einer Figur im Spiel zu erfahren muss man erst dannach fragen.
    Der Name steht jeweils über der Textbox und wird automatisch durch's Hermes Script über der Textbox angezeigt.
    Deswegen müsste er permanent verändert werden, da der Name, der über der Textbox steht aus dem Event-Namen geholt wird.

    Geändert von Stray (27.07.2011 um 21:38 Uhr)

  2. #2
    Soll das ein Witz sein?
    Verändere einfach das andere Script um den Namen manuell in der Textbox ändern zu können.
    Du könntest einfach einen Hash anlegen welcher die Kombination aus Event_ID und Map_ID in einem Array als Key mit einem Namen mappt. Darüber hast du dann jederzeit vollen Zugriff darauf welche Namen für welches Event angezeigt werden würden und es wäre sehr einfach in einen Speicherstand einbaubar.

  3. #3
    Ich hab leider kaum Ahnung vom Scripten. Ich kann manches gerade mal lesen bzw. entziffern.

  4. #4
    Hier, dies wäre eine Art Template für so eine Namensdatabase.


    Lass dich von der Größe nicht zu sehr einschüchtern. Der größte Teil hiervon ist eine Kopie der Standardfunktionen zum erstellen eines neuen Speicherstandes und dem Laden und Speichern eines Spielstandes, modifiziert damit sie eine Namensdatabase enthalten.

    Der Code für die Database selbst ist lediglich dieser Teil:
    Code:
    class Database_Names
      
      def initialize
        @data_hash = {}
      end
      
      def set_name_of_event(event, value)
        key = [event.map_id, event.id]
        @data_hash[key] = value
      end
      
      def set_name_of_id(map_id, event_id, value)
        key = [map_id, event_id]
        @data_hash[key] = value
      end
      
      def get_name_of_event(event)
        key = [event.map_id, event.id]
        name = @data_hash[key]
        if name == nil
          return ""
        end
        return name
      end
      
      def get_name_of_id(map_id, event_id)
        key = [map_id, event_id]
        name = @data_hash[key]
        if name == nil
          return ""
        end
        return name
      end
      
    end
    Und es ist auch eigentlich nicht mehr als ein Wrapper um einen Hash.

    Du hast damit folgende vier Funktionen:
    Code:
    set_name_of_event(event, value)
    Damit kannst du einem Event direkt einen Namen zuweisen.

    Code:
    set_name_of_id(map_id, event_id, value)
    Damit kannst du einen Namen einem Event auf einer derzeit nicht geladenen Karte zuweisen, zum Beispiel gibst du die map_id 1 und die Event_id 4 an um dem vierten Event auf der ersten Karte deines Projektes einen Namen zu geben.

    Equivalent zu dem speichern von Namen kannst du mit den Funktionen:
    Code:
    get_name_of_event(event)
    und
    Code:
    get_name_of_id(map_id, event_id)
    Den Namen eines Events wiedergeben lassen.

    Ich weis natürlich nicht welche anderen Scripte du derzeit in deinem Projekt verwendest daher kann ich dir auch nicht ganz genau sagen was du zu tun hast um diese Database in dein Projekt einzubauen.

Berechtigungen

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