Ergebnis 1 bis 17 von 17

Thema: Variablen anzeigen bei Map Name Display

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Das läuft definitiv bei mir. Schick mir mal das neue Testprojekt, welches ohne Scripte ist. Bei dem muss es laufen.

  2. #2

  3. #3
    Bei deinem Testprojekt gibt es gar keinen Mapwechsel, wie sollen die Variablen dann angezeigt werden?
    Ich habe einfach mal eine zweite Map erstellt (kopie von der ersten). Und das Script funktioniert einwandfrei.

  4. #4
    Achso, jetzt verstehe ich. Ich brauch das ohne den Teleport als Bedingung. Die Variablen sollen also angezeigt werden ohne dass ein Teleport oder Mapwechsel vorausgeht. Weil: Den Mapnamen zeige ich ja bereits über PAC an

    Code:
    #--------------------------------------------------------------------------
      # * Create Map Window
      #--------------------------------------------------------------------------
      def create_map_window 
        x = PAC::MM::Windows_Pos ==:right ? Graphics.width-@command_window.width : 0
        @map_window = Window_MenuMap.new(x, @command_window.height)
        @map_window.visible = false if !PAC::MM::Map_Window
      end
    Nun müssen halt nur noch die Variablen in den Mapnamen und ich hab, was ich will. Verstehst du?

    Geändert von Ken der Kot (18.03.2018 um 21:31 Uhr)

  5. #5
    "Es klappt nicht mal in einem neuen Projekt ohne Scripts". Die Erwähnung, dass du es über ein Script aufrufst, wäre sehr hilfreich gewesen
    Das verwendet ein eigenes Map-Window.
    Code:
    class Window_MapName < Window_Base
      def refresh
        contents.clear
        unless $game_map.display_name.empty?
          tmap_name = "" + $game_map.display_name
          while tmap_name =~ /\\V\[(\d*)]/
            tmap_name[/\\V\[(\d*)]/] = $game_variables[$1.to_i].to_s
          end
          tmap_name = tmap_name
          draw_background(contents.rect)
          draw_text(contents.rect, tmap_name, 1)
        end
      end
    end
    
    class Window_MenuMap < Window_Base
      def refresh
        contents.clear
        unless $game_map.display_name.empty?
          tmap_name = "" + $game_map.display_name
          while tmap_name =~ /\\V\[(\d*)]/
            tmap_name[/\\V\[(\d*)]/] = $game_variables[$1.to_i].to_s
          end
          draw_text(contents.rect, tmap_name, 1)
        end
      end
    end

  6. #6
    Kein Wunder, dass es nicht funktioniert hat

    Was mir aber gerade beim durchschauen der Standard-Scripte noch aufgefallen ist: Window_Base hat schon eine Methode um solche speziellen Textcodes zu ersetzen,
    Code:
    draw_text(contents.rect, convert_escape_characters($game_map.display_name), 1)
    würde also ausreichen und zusätzlich auch Heldennamen (\N[xxx]) und Namen der Währung (\G) ersetzen, falls das von Interesse ist.

  7. #7
    Scheint alles zu funktionieren, dankeschön

Berechtigungen

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