Ergebnis 1 bis 20 von 38

Thema: Sprache in Kampfsystem (Ace)

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #17
    Hallo Ken,

    Als erstes fügst du folgenden Code unter LDT_SKILL ein:
    Code:
      LDT_SKILL_MES1 = {
          1=>["",""],
          2=>["",""],
          4=>["benutzt Doppelter Hieb!","uses Double Attack!!!"]
          }
      LDT_SKILL_MES2 = {
          1=>["",""],
          2=>["",""],
          4=>["Irgendein Text der als Info drunter erscheint.","Insert something useful here..."]
          }    
      LDT_ENEMY = {
          1=>["Geist","Ghost"],
          2=>["Ratte","Rat"],
          3=>["",""],
          4=>["",""]}
    Hier kannst du die Angriffstexte, equivlanet zur Database, pflegen. Ist vom Aufbau her genauso wie LDT_SKILL.
    LDT_SKILL_MES1 ist der Text, der hinter dem ausführenden Charakter steht.
    LDT_SKILL_MES2 ist der zweite Text, der komplett angezeigt wird (ohne Anwender).
    In dem Beispiel, was ich dort eingetragen habe, erscheint folgender Text, wenn der "Peter" den Skill 4 benutzt:
    Peter benutzt Doppelter Hieb!
    Irgendein Text der als Info drunter erscheint.


    In LDT_ENEMY kannst du die Gegnernamen pflegen.

    Ab der Zeile "def self.basic(basic_id)" das komplette Coding durch folgendes ersetzen:
    Code:
    # Basis-Status
      def self.basic(basic_id)
        return LDT_BASIC[basic_id][$game_switches[LDT_SWITCH] ? 1 : 0]
      end
      
       # Befehle
      def self.command(command_id)
        return LDT_COMMAND[command_id][$game_switches[LDT_SWITCH] ? 1 : 0]
      end 
      
      def self.get_item_text(item)
        if(item.is_a?(RPG::Skill))
          return get_skill_name(item)
        elsif(item.is_a?(RPG::Item))
          return get_item_name(item)
        else
          return item.name
        end
      end
      
      def self.get_skill_name(item)
        if(LDT_SKILL.has_key?(item.id))
          return LDT_SKILL[item.id][$game_switches[LDT_SWITCH] ? 1 : 0]
        else
          return item.name
        end
      end
      
      def self.get_item_name(item)
        if(LDT_ITEM.has_key?(item.id))
          return LDT_ITEM[item.id][$game_switches[LDT_SWITCH] ? 1 : 0]
        else
          return item.name
        end
      end
      
      def self.get_message1(item)
        if(LDT_SKILL_MES1.has_key?(item.id))
          return LDT_SKILL_MES1[item.id][$game_switches[LDT_SWITCH] ? 1 : 0]
        else
          return item.message1
        end
      end
      
      def self.get_message2(item)
        if(LDT_SKILL_MES2.has_key?(item.id))
          return LDT_SKILL_MES2[item.id][$game_switches[LDT_SWITCH] ? 1 : 0]
        else
          return item.message2
        end
      end
      
      def self.get_subject(subject)
        if(subject.is_a?(Game_Enemy))
          if(LDT_ENEMY.has_key?(subject.enemy_id))
            return LDT_ENEMY[subject.enemy_id][$game_switches[LDT_SWITCH] ? 1 : 0]
          else
            return subject.name
          end
        elsif(subject.is_a?(RPG::Enemy))
          if(LDT_ENEMY.has_key?(subject.id))
            return LDT_ENEMY[subject.id][$game_switches[LDT_SWITCH] ? 1 : 0]
          else
            return subject.name
          end
        else
          return subject.name
        end
      end
    end
    
    class Window_Base
      def draw_item_name(item, x, y, enabled = true, width = 172)
        return unless item
        draw_icon(item.icon_index, x, y, enabled)
        change_color(normal_color, enabled)
        draw_text(x + 24, y, width, line_height, Vocab.get_item_text(item))
      end
    end
    class Window_BattleLog
      def display_use_item(subject, item)
        tsub = Vocab.get_subject(subject)
        if item.is_a?(RPG::Skill)
          add_text(tsub + Vocab.get_message1(item))
          tmes2 = Vocab.get_message2(item)
          unless tmes2.empty?
            wait
            add_text(tmes2)
          end
        else
          add_text(sprintf(Vocab::UseItem, tsub, Vocab.get_item_text(item)))
        end
      end
    end
    ## Scene Title changes + new window
    class Window_LanguageCommand < Window_Command
      #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      def initialize
        super(0, 0)
        update_placement
        self.openness = 0
        open
      end
      #--------------------------------------------------------------------------
      # * Get Window Width
      #--------------------------------------------------------------------------
      def window_width
        return 160
      end
      #--------------------------------------------------------------------------
      # * Update Window Position
      #--------------------------------------------------------------------------
      def update_placement
        self.x = (Graphics.width - width) / 2
        self.y = (Graphics.height * 1.6 - height) / 2
      end
      #--------------------------------------------------------------------------
      # * Create Command List
      #--------------------------------------------------------------------------
      def make_command_list
        add_command(Vocab::LDT_LANG[0], :lang1)
        add_command(Vocab::LDT_LANG[1], :lang2)
      end
      #--------------------------------------------------------------------------
      # * Get Activation State of Continue
      #--------------------------------------------------------------------------
      def continue_enabled
        DataManager.save_file_exists?
      end
    end
    class Scene_Title < Scene_Base
      def start
        super
        SceneManager.clear
        Graphics.freeze
        create_background
        create_foreground   
        create_command_window
        create_language_window
        unless($ldt_lang_selected)
          @command_window.visible = false
          @command_window.active = false      
        else
          @language_window.visible = false
          @language_window.active = false 
        end
        play_title_music
      end
      
      def create_language_window
        @language_window = Window_LanguageCommand.new
        @language_window.set_handler(:lang1, method(:command_lang1))
        @language_window.set_handler(:lang2, method(:command_lang2))
        @language_window.visible = true
        @language_window.active = true
      end
      
      def command_lang1()
        $game_switches[Vocab::LDT_SWITCH] = false
        language_selected()
      end
      
      def command_lang2()
        $game_switches[Vocab::LDT_SWITCH] = true
        language_selected()
      end
      
      def language_selected()
        $ldt_lang_selected = true
        @language_window.visible = false
        @language_window.active = false
        Vocab.change_vocab()
        create_command_window
      end
      
      alias ldt_create_command_window create_command_window
      def create_command_window
        ldt_create_command_window
        @command_window.set_handler(:cancel, method(:command_cancel))
      end
      
      def command_cancel
        @command_window.visible = false
        @command_window.active = false
        @language_window.visible = true
        @language_window.active = true
      end
    end
    
    class Game_Enemy < Game_Battler
      alias ldt_initialize initialize
      def initialize(index, enemy_id)
        ldt_initialize(index, enemy_id)
        @original_name = Vocab.get_subject(enemy)
      end
    end
    module DataManager
      class <<self; alias ldt_vocab_load_game load_game end
      def self.load_game(index)
        tlang = $game_switches[Vocab::LDT_SWITCH]
        treturn = ldt_vocab_load_game(index)
        $game_switches[Vocab::LDT_SWITCH] = tlang
        Vocab.change_vocab()
        return treturn
      end
      
      class <<self; alias ldt_vocab_new_game setup_new_game end
      def self.setup_new_game
        tlang = $game_switches[Vocab::LDT_SWITCH]
        treturn = ldt_vocab_new_game
        $game_switches[Vocab::LDT_SWITCH] = tlang
        Vocab.change_vocab()
        return treturn
      end
    end

    Geändert von Linkey (01.08.2018 um 20:59 Uhr)

Berechtigungen

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