Ergebnis 1 bis 20 von 21

Thema: RPG Maker Vx Ace: Yanfly Combat Log editieren?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Das in ein neues Script unter dem Original kopieren. TURNS_MAX bestimmt, wie viele Runden angezeigt werden.

    Code:
    class Window_CombatLog < Window_Selectable
      TURNS_MAX = 10
      #--------------------------------------------------------------------------
      # initialize
      #--------------------------------------------------------------------------
      def initialize
        @data = []
        @turn_data = Array.new(TURNS_MAX) { [] }
        super(0, 0, Graphics.width, Graphics.height-120)
        deactivate
        hide
      end
      
      #--------------------------------------------------------------------------
      # add_line
      #--------------------------------------------------------------------------
      def add_line(text)
        return if text == "-" && current_turn.last == "-"
        current_turn.push(text)
      end
      
      #--------------------------------------------------------------------------
      # item_max
      #--------------------------------------------------------------------------
      def item_max
        @turn_data.inject(0) { |sum, i| sum += i.size }
      end
      
      def data
        @turn_data.inject(:+)
      end
      
      #--------------------------------------------------------------------------
      # draw_item
      #--------------------------------------------------------------------------
      def draw_item(index)
        text = data[index]
        return if text.nil?
        rect = item_rect_for_text(index)
        if text == "-"
          draw_horz_line(rect.y)
        else
          draw_text_ex(rect.x, rect.y, text)
        end
      end
      
      def start_turn
        @turn_data.rotate!
        current_turn.clear
      end
      
      def current_turn
        @turn_data.last
      end
    end
    
    class Scene_Battle < Scene_Base
      #--------------------------------------------------------------------------
      # alias method: turn_start
      #--------------------------------------------------------------------------
      alias scene_battle_turn_start_cld turn_start
      def turn_start
        scene_battle_turn_start_cld
        @combatlog_window.start_turn
        @combatlog_window.add_line("-")
        text = sprintf(YEA::COMBAT_LOG::TEXT_TURN_NUMBER, $game_troop.turn_count)
        @combatlog_window.add_line(text)
        @combatlog_window.add_line("-")
      end
    end
    Mangels installiertem Maker wie immer ungetestet :3

  2. #2
    Vielen Dank, Cepanks. Habs getestet, aber das wirft mir ein "stacklevel too deep" entgegen. Woran könnte das liegen?

  3. #3
    Ist das die ganze Meldung? Schreibt er keine Zeilennummer dazu, wo der Fehler auftritt?

    Liegt aber vermutlich am doppelten alias. Enferne mal die Zeile alias scene_battle_turn_start_cld turn_start in meinem Script und schau ob es dann läuft.

  4. #4
    Ja, nun klappts danke

    Kam keine Fehlermeldung außer das was ich geschrieben hab

  5. #5
    Vielleicht kriegen wir das mit der Scrollfunktion auch hin? Oder wäre das zu schwer? Frage nur aus Intresse. Das wäre wirklich weltklasse.

  6. #6
    Gabs schon Ideen, wie man die Scrollfunktion evtl implementieren könnte? Will ja nicht bumpen, aber das wäre schon auch noch wichtig und ich wäre super dankbar.

  7. #7
    Zitat Zitat
    Will ja nicht bumpen, aber [...]
    Na wenn du es nicht willst, warum tust du es dann? Wenn es hier auf deine Frage noch keine Antwort gibt, hat das sicher seinen Grund. Dein letzter Post ist auch gerade einmal 2 Tage alt. Bitte versuch dich ein wenig zu gedulden und nicht unnötig die Threads mit so vielen inhaltslosen ein bis zweizeilern voll zu spammen, du bekommst sicher später noch eine Antwort.

    Danke!

  8. #8
    Alles klar

    Naja, mein Lösungsansatz bisher war, zu schauen, wie die Scrollmessages im Vx Ace konzipiert wurden und zu versuchen, das auf das Skript zu übertragen. Leider bin ich noch nicht so weit, daß ich das hinbekomme ohne daß das komplette Script an die Wand fährt wie ein alkoholisierter Autofahrer.

Berechtigungen

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