Ergebnis 1 bis 20 von 38

Thema: Sprache in Kampfsystem (Ace)

Hybrid-Darstellung

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

    im Vocab Script sind die ersten ~30 Texte alle als Konstante hinterlegt. Um das jetzt zu umgehen, habe ich eine Methode in Vocab eingefügt, die die Konstanten ersetzt. Damit kannst du nun auch diese Texte übersetzen (das sind Texte, die in anderen Windows/Scenes verwendet werden. Z.b. das "Welchen Spielstand willst du laden" usw.).:

    Code:
    module Vocab
      # Whenever the language is changed ingame, call:
      # Vocab.change_vocab()
      
      # Number of the language switch
      LDT_SWITCH = 101
      #language siwtch off , language switch on
      #example ["Beenden","Back to title"] # Zum Titelmenü
      LDT_BASIC = [
          ["",""], # Level/Stufe
          ["",""], #  Level/Stufe (kurz)
          ["",""], #  HP/LP
          ["",""], #  HP/LP (kurz)
          ["",""], #  MP
          ["",""], #  MP (kurz)
          ["",""], #  TP
          ["",""]] #  TP (kurz)
      LDT_COMMAND = [
          ["",""], #  Kampf
          ["",""], #  Fliegen
          ["",""], #  Angriff
          ["",""], #  Verteidigen
          ["",""], #  Gegenstände
          ["",""], #  Fähigkeiten
          ["",""], #  Ausrüstung
          ["",""], #  Status
          ["",""], #  Formation ändern
          ["",""], #  Speichern
          ["",""], #  Spiel beenden
          ["",""], #  
          ["",""], #  Waffen
          ["",""], #  Rüstungen
          ["",""], #  Wichtige Objekte
          ["",""], #  Ausrüstung wechseln
          ["",""], #  Beste Ausrüstung
          ["",""], #  Alles entfernen
          ["",""], #  Neues Spiel
          ["",""], #  Fortsetzen
          ["",""], #  Programm beenden
          ["",""], #  Zum Titelmenü
          ["",""]] #  Abbrechen
    
      def self.change_vocab()
        Vocab::ShopBuy.replace !$game_switches[LDT_SWITCH] ? "Kaufen" : "Kaufen"
        Vocab::ShopSell.replace !$game_switches[LDT_SWITCH] ? "Verkaufen" : "Verkaufen"
        Vocab::ShopCancel.replace !$game_switches[LDT_SWITCH] ? "Abbrechen" : "Abbrechen"
        Vocab::Possession.replace !$game_switches[LDT_SWITCH] ? "Im Besitz" : "Im Besitz"
    
        # Status-Menübildschirm
        Vocab::ExpTotal.replace !$game_switches[LDT_SWITCH] ? "Aktuelle Exp" : "Aktuelle Exp"
        Vocab::ExpNext.replace !$game_switches[LDT_SWITCH] ? "Bis zum nächsten %s" : "Bis zum nächsten %s"
    
        # Speichern/Laden-Menübildschirm
        Vocab::SaveMessage.replace !$game_switches[LDT_SWITCH] ? "In welchen Stand speichern" : "In welchen Stand speichern"
        Vocab::LoadMessage.replace !$game_switches[LDT_SWITCH] ? "Welchen Stand laden" : "Welchen Stand laden"
        Vocab::File.replace !$game_switches[LDT_SWITCH] ? "Spielstand" : "Spielstand"
    
        # Anzeige, wenn es mehrere Gruppenmitglieder gibt
        Vocab::PartyName.replace !$game_switches[LDT_SWITCH] ? "%s's Gruppe" : "%s's Gruppe"
    
        # Basis-Nachrichten im Kampf
        Vocab::Emerge.replace !$game_switches[LDT_SWITCH] ? "%s erscheint!" : "%s erscheint!"
        Vocab::Preemptive.replace !$game_switches[LDT_SWITCH] ? "%s ist im Vorteil!" : "%s ist im Vorteil!"
        Vocab::Surprise.replace !$game_switches[LDT_SWITCH] ? "%s wurde überrascht!" : "%s wurde überrascht!"
        Vocab::EscapeStart.replace !$game_switches[LDT_SWITCH] ? "%s versucht zu fliehen!" : "%s versucht zu fliehen!"
        Vocab::EscapeFailure.replace !$game_switches[LDT_SWITCH] ? "War nicht in der Lage zu fliehen!" : "War nicht in der Lage zu fliehen!"
    
        # Nachrichten bei Kampfende
        Vocab::Victory.replace !$game_switches[LDT_SWITCH] ? "%s war siegreich!" : "%s war siegreich!"
        Vocab::Defeat.replace !$game_switches[LDT_SWITCH] ? "%s wurde besiegt." : "%s wurde besiegt."
        Vocab::ObtainExp.replace !$game_switches[LDT_SWITCH] ? "%s EXP erhalten!" : "%s EXP erhalten!"
        Vocab::ObtainGold.replace !$game_switches[LDT_SWITCH] ? "%s\\G gefunden!" : "%s\\G gefunden!"
        Vocab::ObtainItem.replace !$game_switches[LDT_SWITCH] ? "%s gefunden!" : "%s gefunden!"
        Vocab::LevelUp.replace !$game_switches[LDT_SWITCH] ? "%s ist nun %s %s!" : "%s ist nun %s %s!"
        Vocab::ObtainSkill.replace !$game_switches[LDT_SWITCH] ? "%s erlernt!" : "%s erlernt!"
    
        # Benutzung von Gegenständen
        Vocab::UseItem.replace !$game_switches[LDT_SWITCH] ? "%s nutzt %s!" : "%s nutzt %s!"
    
        # Kritischer Treffer
        Vocab::CriticalToEnemy.replace !$game_switches[LDT_SWITCH] ? "Kritischer Treffer!!" : "Kritischer Treffer!!"
        Vocab::CriticalToActor.replace !$game_switches[LDT_SWITCH] ? "Wurde schwer getroffen!!" : "Wurde schwer getroffen!!"
    
        # Ergebnis für Aktionen, welche die Helden betreffen
        Vocab::ActorDamage.replace !$game_switches[LDT_SWITCH] ? "%s nimmt %s Schaden!" : "%s nimmt %s Schaden!"
        Vocab::ActorRecovery.replace !$game_switches[LDT_SWITCH] ? "%s heilt %s %s!" : "%s heilt %s %s!"
        Vocab::ActorGain.replace !$game_switches[LDT_SWITCH] ? "%s bekommt %s %s!" : "%s bekommt %s %s!"
        Vocab::ActorLoss.replace !$game_switches[LDT_SWITCH] ? "%s verliert %s %s!" : "%s verliert %s %s!"
        Vocab::ActorDrain.replace !$game_switches[LDT_SWITCH] ? "%s wurde %s %s entzogen!" : "%s wurde %s %s entzogen!"
        Vocab::ActorNoDamage.replace !$game_switches[LDT_SWITCH] ? "%s hat keinen Schaden eritten!" : "%s hat keinen Schaden eritten!"
        Vocab::ActorNoHit.replace !$game_switches[LDT_SWITCH] ? "Verfehlt! %s wurde nicht getroffen!" : "Verfehlt! %s wurde nicht getroffen!"
    
        # Ergebnis für Aktionen, welche die Gegner betreffen
        Vocab::EnemyDamage.replace !$game_switches[LDT_SWITCH] ? "%s erleidet %s Schaden!" : "%s erleidet %s Schaden!"
        Vocab::EnemyRecovery.replace !$game_switches[LDT_SWITCH] ? "%s heilt %s %s!" : "%s heilt %s %s!"
        Vocab::EnemyGain.replace !$game_switches[LDT_SWITCH] ? "%s bekommt %s %s!" : "%s bekommt %s %s!"
        Vocab::EnemyLoss.replace !$game_switches[LDT_SWITCH] ? "%s verliert %s %s!" : "%s verliert %s %s!"
        Vocab::EnemyDrain.replace !$game_switches[LDT_SWITCH] ? "Entzieht %s %s von %s!" : "Entzieht %s %s von %s!"
        Vocab::EnemyNoDamage.replace !$game_switches[LDT_SWITCH] ? "%s hat keinen Schaden erlitten!" : "%s hat keinen Schaden erlitten!"
        Vocab::EnemyNoHit.replace !$game_switches[LDT_SWITCH] ? "Verfehlt! %s wurde nicht getroffen!" : "Verfehlt! %s wurde nicht getroffen!"
    
        # Ausweichen/Zurückwerfen
        Vocab::Evasion.replace !$game_switches[LDT_SWITCH] ? "%s weicht dem Angriff aus!" : "%s weicht dem Angriff aus!"
        Vocab::MagicEvasion.replace !$game_switches[LDT_SWITCH] ? "%s wehrt die Magie ab!" : "%s wehrt die Magie ab!"
        Vocab::MagicReflection.replace !$game_switches[LDT_SWITCH] ? "%s reflektiert die Magie!" : "%s reflektiert die Magie!"
        Vocab::CounterAttack.replace !$game_switches[LDT_SWITCH] ? "%s startet einen Gegenangriff!" : "%s startet einen Gegenangriff!"
        Vocab::Substitute.replace !$game_switches[LDT_SWITCH] ? "%s verteidigt %s!" : "%s verteidigt %s!"
    
        # Buff/Debuff
        Vocab::BuffAdd.replace !$game_switches[LDT_SWITCH] ? "%s's %s wird verstärkt!" : "%s's %s wird verstärkt!"
        Vocab::DebuffAdd.replace !$game_switches[LDT_SWITCH] ? "%s's %s wird geschwächt!" : "%s's %s wird geschwächt!"
        Vocab::BuffRemove.replace !$game_switches[LDT_SWITCH] ? "%s's %s ist wieder normal." : "%s's %s ist wieder normal."
    
        # Fähigkeit oder Gegenstand hatte keinen Effekt
        Vocab::ActionFailure.replace !$game_switches[LDT_SWITCH] ? "Hat keine Auswirkung auf %s!" : "Hat keine Auswirkung auf %s!"
    
        # Fehler-Meldungen
        Vocab::PlayerPosError.replace !$game_switches[LDT_SWITCH] ? "Spieler-Startpoistion wurde nicht gesetzt" : "Spieler-Startpoistion wurde nicht gesetzt"
        Vocab::EventOverflow.replace !$game_switches[LDT_SWITCH] ? "Zuviele gleichzeitige Aufrufe Gemeinsamer Events"  : "Zuviele gleichzeitige Aufrufe Gemeinsamer Events"
      end
      
      # 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 
    end
    
    module DataManager
      class <<self; alias ldt_vocab_load_game load_game end
      def self.load_game(index)
        treturn = ldt_vocab_load_game(index)
        Vocab.change_vocab()
        return treturn
      end
      
      class <<self; alias ldt_vocab_new_game setup_new_game end
      def self.setup_new_game
        treturn = ldt_vocab_new_game
        Vocab.change_vocab()
        return treturn
      end
    end
    Edit: @Caledoriv: "Lustigerweise" kann man Constante ändern, wenn man diese mit der Replace-Methode ersetzt.
    War jetzt einfacher, wenn auch nicht ganz so sauber, als alle Zielklassen zu nehmen, dort die Aufrufe so zu verändern, dass generell alles über Methoden statt Konstanten läuft. Wobei das generell schöner wäre, als dieser "dreckige" Mix, der im Ace drin ist.

    @Ken:
    Was beim Skill willst du denn genau übersetzen? Den Skillnamen? Oder sonst noch was?

    Geändert von Linkey (28.07.2018 um 18:33 Uhr)

  2. #2
    Das ist ja regelrecht herrlich, vielen Dank!!!

    Zitat Zitat
    @Ken:
    Was beim Skill willst du denn genau übersetzen? Den Skillnamen? Oder sonst noch was?
    Name des Skills und seine Beschreibung. Bei Items ebenfalls.

    Edit: Jetzt brauch ich halt nur noch eine Möglichkeit, vor dem Titelscreen den Switch festzulegen. Eine Sprachabfrage á la "Welche Sprache darfs denn sein?"

    Denn so habe ich nun ja gar keine Titeloptionen, weil ich vor Game Start ja noch keine Switches festlegen kann. ^^
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Unbenannt.png  

    Geändert von Ken der Kot (28.07.2018 um 18:38 Uhr)

  3. #3
    Hallo Ken,

    das sollte trotzdem funktionieren. Wenn du immer beide Sprachen gepflegt hast, sollte er die Sprache anzeigen, die für "Switch = aus" verwendet wird.

    Hier das Script erweitert um Skill- und Item-Namen. Ich habe jetzt nicht die Zeit alle Windows durchzuschauen, wo es noch verwendet wird. Falls dir irgendwo mal eine falsche Ausgabe begegnet, sag bescheid, dann erweitere ich das Script einfach.

    Code:
    module Vocab
      # Whenever the language is changed ingame, call:
      # Vocab.change_vocab()
      
      # Number of the language switch
      LDT_SWITCH = 101
      #language siwtch off , language switch on
      #example ["Beenden","Back to title"] # Zum Titelmenü
      LDT_BASIC = [
          ["",""], # Level/Stufe
          ["",""], #  Level/Stufe (kurz)
          ["",""], #  HP/LP
          ["",""], #  HP/LP (kurz)
          ["",""], #  MP
          ["",""], #  MP (kurz)
          ["",""], #  TP
          ["",""]] #  TP (kurz)
      LDT_COMMAND = [
          ["",""], #  Kampf
          ["",""], #  Fliegen
          ["",""], #  Angriff
          ["",""], #  Verteidigen
          ["",""], #  Gegenstände
          ["",""], #  Fähigkeiten
          ["",""], #  Ausrüstung
          ["",""], #  Status
          ["",""], #  Formation ändern
          ["",""], #  Speichern
          ["",""], #  Spiel beenden
          ["",""], #  
          ["",""], #  Waffen
          ["",""], #  Rüstungen
          ["",""], #  Wichtige Objekte
          ["",""], #  Ausrüstung wechseln
          ["",""], #  Beste Ausrüstung
          ["",""], #  Alles entfernen
          ["",""], #  Neues Spiel
          ["",""], #  Fortsetzen
          ["",""], #  Programm beenden
          ["",""], #  Zum Titelmenü
          ["",""]] #  Abbrechen
      # Skill ID => [Language switch off][Language siwtch on]
      # Skills which are not maintained here will be read from database
      LDT_SKILL = {
          1=>["",""],
          2=>["",""],
          4=>["Doppelter Hieb","Double Attack"]
          }
      # Item ID => [Language switch off][Language siwtch on]
      # Items which are not maintained here will be read from database
      LDT_ITEM = {
          1=>["Trank","Potion"],
          2=>["",""],
          4=>["",""]
          }    
      def self.change_vocab()
        Vocab::ShopBuy.replace !$game_switches[LDT_SWITCH] ? "Kaufen" : "Kaufen"
        Vocab::ShopSell.replace !$game_switches[LDT_SWITCH] ? "Verkaufen" : "Verkaufen"
        Vocab::ShopCancel.replace !$game_switches[LDT_SWITCH] ? "Abbrechen" : "Abbrechen"
        Vocab::Possession.replace !$game_switches[LDT_SWITCH] ? "Im Besitz" : "Im Besitz"
    
        # Status-Menübildschirm
        Vocab::ExpTotal.replace !$game_switches[LDT_SWITCH] ? "Aktuelle Exp" : "Aktuelle Exp"
        Vocab::ExpNext.replace !$game_switches[LDT_SWITCH] ? "Bis zum nächsten %s" : "Bis zum nächsten %s"
    
        # Speichern/Laden-Menübildschirm
        Vocab::SaveMessage.replace !$game_switches[LDT_SWITCH] ? "In welchen Stand speichern" : "In welchen Stand speichern"
        Vocab::LoadMessage.replace !$game_switches[LDT_SWITCH] ? "Welchen Stand laden" : "Welchen Stand laden"
        Vocab::File.replace !$game_switches[LDT_SWITCH] ? "Spielstand" : "Spielstand"
    
        # Anzeige, wenn es mehrere Gruppenmitglieder gibt
        Vocab::PartyName.replace !$game_switches[LDT_SWITCH] ? "%s's Gruppe" : "%s's Gruppe"
    
        # Basis-Nachrichten im Kampf
        Vocab::Emerge.replace !$game_switches[LDT_SWITCH] ? "%s erscheint!" : "%s erscheint!"
        Vocab::Preemptive.replace !$game_switches[LDT_SWITCH] ? "%s ist im Vorteil!" : "%s ist im Vorteil!"
        Vocab::Surprise.replace !$game_switches[LDT_SWITCH] ? "%s wurde überrascht!" : "%s wurde überrascht!"
        Vocab::EscapeStart.replace !$game_switches[LDT_SWITCH] ? "%s versucht zu fliehen!" : "%s versucht zu fliehen!"
        Vocab::EscapeFailure.replace !$game_switches[LDT_SWITCH] ? "War nicht in der Lage zu fliehen!" : "War nicht in der Lage zu fliehen!"
    
        # Nachrichten bei Kampfende
        Vocab::Victory.replace !$game_switches[LDT_SWITCH] ? "%s war siegreich!" : "%s war siegreich!"
        Vocab::Defeat.replace !$game_switches[LDT_SWITCH] ? "%s wurde besiegt." : "%s wurde besiegt."
        Vocab::ObtainExp.replace !$game_switches[LDT_SWITCH] ? "%s EXP erhalten!" : "%s EXP erhalten!"
        Vocab::ObtainGold.replace !$game_switches[LDT_SWITCH] ? "%s\\G gefunden!" : "%s\\G gefunden!"
        Vocab::ObtainItem.replace !$game_switches[LDT_SWITCH] ? "%s gefunden!" : "%s gefunden!"
        Vocab::LevelUp.replace !$game_switches[LDT_SWITCH] ? "%s ist nun %s %s!" : "%s ist nun %s %s!"
        Vocab::ObtainSkill.replace !$game_switches[LDT_SWITCH] ? "%s erlernt!" : "%s erlernt!"
    
        # Benutzung von Gegenständen
        Vocab::UseItem.replace !$game_switches[LDT_SWITCH] ? "%s nutzt %s!" : "%s nutzt %s!"
    
        # Kritischer Treffer
        Vocab::CriticalToEnemy.replace !$game_switches[LDT_SWITCH] ? "Kritischer Treffer!!" : "Kritischer Treffer!!"
        Vocab::CriticalToActor.replace !$game_switches[LDT_SWITCH] ? "Wurde schwer getroffen!!" : "Wurde schwer getroffen!!"
    
        # Ergebnis für Aktionen, welche die Helden betreffen
        Vocab::ActorDamage.replace !$game_switches[LDT_SWITCH] ? "%s nimmt %s Schaden!" : "%s nimmt %s Schaden!"
        Vocab::ActorRecovery.replace !$game_switches[LDT_SWITCH] ? "%s heilt %s %s!" : "%s heilt %s %s!"
        Vocab::ActorGain.replace !$game_switches[LDT_SWITCH] ? "%s bekommt %s %s!" : "%s bekommt %s %s!"
        Vocab::ActorLoss.replace !$game_switches[LDT_SWITCH] ? "%s verliert %s %s!" : "%s verliert %s %s!"
        Vocab::ActorDrain.replace !$game_switches[LDT_SWITCH] ? "%s wurde %s %s entzogen!" : "%s wurde %s %s entzogen!"
        Vocab::ActorNoDamage.replace !$game_switches[LDT_SWITCH] ? "%s hat keinen Schaden eritten!" : "%s hat keinen Schaden eritten!"
        Vocab::ActorNoHit.replace !$game_switches[LDT_SWITCH] ? "Verfehlt! %s wurde nicht getroffen!" : "Verfehlt! %s wurde nicht getroffen!"
    
        # Ergebnis für Aktionen, welche die Gegner betreffen
        Vocab::EnemyDamage.replace !$game_switches[LDT_SWITCH] ? "%s erleidet %s Schaden!" : "%s erleidet %s Schaden!"
        Vocab::EnemyRecovery.replace !$game_switches[LDT_SWITCH] ? "%s heilt %s %s!" : "%s heilt %s %s!"
        Vocab::EnemyGain.replace !$game_switches[LDT_SWITCH] ? "%s bekommt %s %s!" : "%s bekommt %s %s!"
        Vocab::EnemyLoss.replace !$game_switches[LDT_SWITCH] ? "%s verliert %s %s!" : "%s verliert %s %s!"
        Vocab::EnemyDrain.replace !$game_switches[LDT_SWITCH] ? "Entzieht %s %s von %s!" : "Entzieht %s %s von %s!"
        Vocab::EnemyNoDamage.replace !$game_switches[LDT_SWITCH] ? "%s hat keinen Schaden erlitten!" : "%s hat keinen Schaden erlitten!"
        Vocab::EnemyNoHit.replace !$game_switches[LDT_SWITCH] ? "Verfehlt! %s wurde nicht getroffen!" : "Verfehlt! %s wurde nicht getroffen!"
    
        # Ausweichen/Zurückwerfen
        Vocab::Evasion.replace !$game_switches[LDT_SWITCH] ? "%s weicht dem Angriff aus!" : "%s weicht dem Angriff aus!"
        Vocab::MagicEvasion.replace !$game_switches[LDT_SWITCH] ? "%s wehrt die Magie ab!" : "%s wehrt die Magie ab!"
        Vocab::MagicReflection.replace !$game_switches[LDT_SWITCH] ? "%s reflektiert die Magie!" : "%s reflektiert die Magie!"
        Vocab::CounterAttack.replace !$game_switches[LDT_SWITCH] ? "%s startet einen Gegenangriff!" : "%s startet einen Gegenangriff!"
        Vocab::Substitute.replace !$game_switches[LDT_SWITCH] ? "%s verteidigt %s!" : "%s verteidigt %s!"
    
        # Buff/Debuff
        Vocab::BuffAdd.replace !$game_switches[LDT_SWITCH] ? "%s's %s wird verstärkt!" : "%s's %s wird verstärkt!"
        Vocab::DebuffAdd.replace !$game_switches[LDT_SWITCH] ? "%s's %s wird geschwächt!" : "%s's %s wird geschwächt!"
        Vocab::BuffRemove.replace !$game_switches[LDT_SWITCH] ? "%s's %s ist wieder normal." : "%s's %s ist wieder normal."
    
        # Fähigkeit oder Gegenstand hatte keinen Effekt
        Vocab::ActionFailure.replace !$game_switches[LDT_SWITCH] ? "Hat keine Auswirkung auf %s!" : "Hat keine Auswirkung auf %s!"
    
        # Fehler-Meldungen
        Vocab::PlayerPosError.replace !$game_switches[LDT_SWITCH] ? "Spieler-Startpoistion wurde nicht gesetzt" : "Spieler-Startpoistion wurde nicht gesetzt"
        Vocab::EventOverflow.replace !$game_switches[LDT_SWITCH] ? "Zuviele gleichzeitige Aufrufe Gemeinsamer Events"  : "Zuviele gleichzeitige Aufrufe Gemeinsamer Events"
      end
      
      # 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
    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)
        if item.is_a?(RPG::Skill)
          add_text(subject.name + item.message1)
          unless item.message2.empty?
            wait
            add_text(item.message2)
          end
        else
          add_text(sprintf(Vocab::UseItem, subject.name, Vocab.get_item_text(item)))
        end
      end
    end
    module DataManager
      class <<self; alias ldt_vocab_load_game load_game end
      def self.load_game(index)
        treturn = ldt_vocab_load_game(index)
        Vocab.change_vocab()
        return treturn
      end
      
      class <<self; alias ldt_vocab_new_game setup_new_game end
      def self.setup_new_game
        treturn = ldt_vocab_new_game
        Vocab.change_vocab()
        return treturn
      end
    end

  4. #4
    Stimmt, du hast recht Danke dir, ich werd mal damit arbeiten und meld mich, falls noch was sein sollte ^^

    Edit: Hmm, aber ohne Vorab-Abfrage hab ich ja nicht die Option Start, Laden, Beenden sowohl entweder auf Deutsch oder auf Englisch anzuzeigen... das wäre schon ganz cool, wenn es eine Option gäbe, mit der ich vor dem Spiel schon einen Bildschirm aufrufen kann, der die Sprache abfragt.

    Ken der Kot

    Geändert von Ken der Kot (28.07.2018 um 19:25 Uhr)

  5. #5
    So, das war es dann aber erstmal. Muss dieses Wochenende auch arbeiten und will mal weg vom PC

    Code:
    module Vocab
      # Whenever the language is changed ingame, call:
      # Vocab.change_vocab()
      
      # Language Selection Constants
      LDT_LANG = ["Deutsch","English"]
      # Number of the language switch
      LDT_SWITCH = 101
      #language siwtch off , language switch on
      #example ["Beenden","Back to title"] # Zum Titelmenü
      LDT_BASIC = [
          ["",""], # Level/Stufe
          ["",""], #  Level/Stufe (kurz)
          ["",""], #  HP/LP
          ["",""], #  HP/LP (kurz)
          ["",""], #  MP
          ["",""], #  MP (kurz)
          ["",""], #  TP
          ["",""]] #  TP (kurz)
      LDT_COMMAND = [
          ["",""], #  Kampf
          ["",""], #  Fliegen
          ["",""], #  Angriff
          ["",""], #  Verteidigen
          ["",""], #  Gegenstände
          ["",""], #  Fähigkeiten
          ["",""], #  Ausrüstung
          ["",""], #  Status
          ["",""], #  Formation ändern
          ["",""], #  Speichern
          ["",""], #  Spiel beenden
          ["",""], #  
          ["",""], #  Waffen
          ["",""], #  Rüstungen
          ["",""], #  Wichtige Objekte
          ["",""], #  Ausrüstung wechseln
          ["",""], #  Beste Ausrüstung
          ["",""], #  Alles entfernen
          ["",""], #  Neues Spiel
          ["",""], #  Fortsetzen
          ["",""], #  Programm beenden
          ["",""], #  Zum Titelmenü
          ["",""]] #  Abbrechen
      # Skill ID => [Language switch off][Language siwtch on]
      # Skills which are not maintained here will be read from database
      LDT_SKILL = {
          1=>["",""],
          2=>["",""],
          4=>["Doppelter Hieb","Double Attack"]
          }
      # Item ID => [Language switch off][Language siwtch on]
      # Items which are not maintained here will be read from database
      LDT_ITEM = {
          1=>["Trank","Potion"],
          2=>["",""],
          4=>["",""]
          }    
      def self.change_vocab()
        Vocab::ShopBuy.replace !$game_switches[LDT_SWITCH] ? "Kaufen" : "Kaufen"
        Vocab::ShopSell.replace !$game_switches[LDT_SWITCH] ? "Verkaufen" : "Verkaufen"
        Vocab::ShopCancel.replace !$game_switches[LDT_SWITCH] ? "Abbrechen" : "Abbrechen"
        Vocab::Possession.replace !$game_switches[LDT_SWITCH] ? "Im Besitz" : "Im Besitz"
    
        # Status-Menübildschirm
        Vocab::ExpTotal.replace !$game_switches[LDT_SWITCH] ? "Aktuelle Exp" : "Aktuelle Exp"
        Vocab::ExpNext.replace !$game_switches[LDT_SWITCH] ? "Bis zum nächsten %s" : "Bis zum nächsten %s"
    
        # Speichern/Laden-Menübildschirm
        Vocab::SaveMessage.replace !$game_switches[LDT_SWITCH] ? "In welchen Stand speichern" : "In welchen Stand speichern"
        Vocab::LoadMessage.replace !$game_switches[LDT_SWITCH] ? "Welchen Stand laden" : "Welchen Stand laden"
        Vocab::File.replace !$game_switches[LDT_SWITCH] ? "Spielstand" : "Spielstand"
    
        # Anzeige, wenn es mehrere Gruppenmitglieder gibt
        Vocab::PartyName.replace !$game_switches[LDT_SWITCH] ? "%s's Gruppe" : "%s's Gruppe"
    
        # Basis-Nachrichten im Kampf
        Vocab::Emerge.replace !$game_switches[LDT_SWITCH] ? "%s erscheint!" : "%s erscheint!"
        Vocab::Preemptive.replace !$game_switches[LDT_SWITCH] ? "%s ist im Vorteil!" : "%s ist im Vorteil!"
        Vocab::Surprise.replace !$game_switches[LDT_SWITCH] ? "%s wurde überrascht!" : "%s wurde überrascht!"
        Vocab::EscapeStart.replace !$game_switches[LDT_SWITCH] ? "%s versucht zu fliehen!" : "%s versucht zu fliehen!"
        Vocab::EscapeFailure.replace !$game_switches[LDT_SWITCH] ? "War nicht in der Lage zu fliehen!" : "War nicht in der Lage zu fliehen!"
    
        # Nachrichten bei Kampfende
        Vocab::Victory.replace !$game_switches[LDT_SWITCH] ? "%s war siegreich!" : "%s war siegreich!"
        Vocab::Defeat.replace !$game_switches[LDT_SWITCH] ? "%s wurde besiegt." : "%s wurde besiegt."
        Vocab::ObtainExp.replace !$game_switches[LDT_SWITCH] ? "%s EXP erhalten!" : "%s EXP erhalten!"
        Vocab::ObtainGold.replace !$game_switches[LDT_SWITCH] ? "%s\\G gefunden!" : "%s\\G gefunden!"
        Vocab::ObtainItem.replace !$game_switches[LDT_SWITCH] ? "%s gefunden!" : "%s gefunden!"
        Vocab::LevelUp.replace !$game_switches[LDT_SWITCH] ? "%s ist nun %s %s!" : "%s ist nun %s %s!"
        Vocab::ObtainSkill.replace !$game_switches[LDT_SWITCH] ? "%s erlernt!" : "%s erlernt!"
    
        # Benutzung von Gegenständen
        Vocab::UseItem.replace !$game_switches[LDT_SWITCH] ? "%s nutzt %s!" : "%s nutzt %s!"
    
        # Kritischer Treffer
        Vocab::CriticalToEnemy.replace !$game_switches[LDT_SWITCH] ? "Kritischer Treffer!!" : "Kritischer Treffer!!"
        Vocab::CriticalToActor.replace !$game_switches[LDT_SWITCH] ? "Wurde schwer getroffen!!" : "Wurde schwer getroffen!!"
    
        # Ergebnis für Aktionen, welche die Helden betreffen
        Vocab::ActorDamage.replace !$game_switches[LDT_SWITCH] ? "%s nimmt %s Schaden!" : "%s nimmt %s Schaden!"
        Vocab::ActorRecovery.replace !$game_switches[LDT_SWITCH] ? "%s heilt %s %s!" : "%s heilt %s %s!"
        Vocab::ActorGain.replace !$game_switches[LDT_SWITCH] ? "%s bekommt %s %s!" : "%s bekommt %s %s!"
        Vocab::ActorLoss.replace !$game_switches[LDT_SWITCH] ? "%s verliert %s %s!" : "%s verliert %s %s!"
        Vocab::ActorDrain.replace !$game_switches[LDT_SWITCH] ? "%s wurde %s %s entzogen!" : "%s wurde %s %s entzogen!"
        Vocab::ActorNoDamage.replace !$game_switches[LDT_SWITCH] ? "%s hat keinen Schaden eritten!" : "%s hat keinen Schaden eritten!"
        Vocab::ActorNoHit.replace !$game_switches[LDT_SWITCH] ? "Verfehlt! %s wurde nicht getroffen!" : "Verfehlt! %s wurde nicht getroffen!"
    
        # Ergebnis für Aktionen, welche die Gegner betreffen
        Vocab::EnemyDamage.replace !$game_switches[LDT_SWITCH] ? "%s erleidet %s Schaden!" : "%s erleidet %s Schaden!"
        Vocab::EnemyRecovery.replace !$game_switches[LDT_SWITCH] ? "%s heilt %s %s!" : "%s heilt %s %s!"
        Vocab::EnemyGain.replace !$game_switches[LDT_SWITCH] ? "%s bekommt %s %s!" : "%s bekommt %s %s!"
        Vocab::EnemyLoss.replace !$game_switches[LDT_SWITCH] ? "%s verliert %s %s!" : "%s verliert %s %s!"
        Vocab::EnemyDrain.replace !$game_switches[LDT_SWITCH] ? "Entzieht %s %s von %s!" : "Entzieht %s %s von %s!"
        Vocab::EnemyNoDamage.replace !$game_switches[LDT_SWITCH] ? "%s hat keinen Schaden erlitten!" : "%s hat keinen Schaden erlitten!"
        Vocab::EnemyNoHit.replace !$game_switches[LDT_SWITCH] ? "Verfehlt! %s wurde nicht getroffen!" : "Verfehlt! %s wurde nicht getroffen!"
    
        # Ausweichen/Zurückwerfen
        Vocab::Evasion.replace !$game_switches[LDT_SWITCH] ? "%s weicht dem Angriff aus!" : "%s weicht dem Angriff aus!"
        Vocab::MagicEvasion.replace !$game_switches[LDT_SWITCH] ? "%s wehrt die Magie ab!" : "%s wehrt die Magie ab!"
        Vocab::MagicReflection.replace !$game_switches[LDT_SWITCH] ? "%s reflektiert die Magie!" : "%s reflektiert die Magie!"
        Vocab::CounterAttack.replace !$game_switches[LDT_SWITCH] ? "%s startet einen Gegenangriff!" : "%s startet einen Gegenangriff!"
        Vocab::Substitute.replace !$game_switches[LDT_SWITCH] ? "%s verteidigt %s!" : "%s verteidigt %s!"
    
        # Buff/Debuff
        Vocab::BuffAdd.replace !$game_switches[LDT_SWITCH] ? "%s's %s wird verstärkt!" : "%s's %s wird verstärkt!"
        Vocab::DebuffAdd.replace !$game_switches[LDT_SWITCH] ? "%s's %s wird geschwächt!" : "%s's %s wird geschwächt!"
        Vocab::BuffRemove.replace !$game_switches[LDT_SWITCH] ? "%s's %s ist wieder normal." : "%s's %s ist wieder normal."
    
        # Fähigkeit oder Gegenstand hatte keinen Effekt
        Vocab::ActionFailure.replace !$game_switches[LDT_SWITCH] ? "Hat keine Auswirkung auf %s!" : "Hat keine Auswirkung auf %s!"
    
        # Fehler-Meldungen
        Vocab::PlayerPosError.replace !$game_switches[LDT_SWITCH] ? "Spieler-Startpoistion wurde nicht gesetzt" : "Spieler-Startpoistion wurde nicht gesetzt"
        Vocab::EventOverflow.replace !$game_switches[LDT_SWITCH] ? "Zuviele gleichzeitige Aufrufe Gemeinsamer Events"  : "Zuviele gleichzeitige Aufrufe Gemeinsamer Events"
      end
      
      # 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
    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)
        if item.is_a?(RPG::Skill)
          add_text(subject.name + item.message1)
          unless item.message2.empty?
            wait
            add_text(item.message2)
          end
        else
          add_text(sprintf(Vocab::UseItem, subject.name, 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
        p("test")
        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_language_window
        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()
        @language_window.visible = false
        @language_window.active = false
        create_command_window
      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)
        Vocab.change_vocab()
        $game_switches[Vocab::LDT_SWITCH] = tlang
        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
        Vocab.change_vocab()
        $game_switches[Vocab::LDT_SWITCH] = tlang
        return treturn
      end
    end

  6. #6
    Kein Problem, vielen Dank

  7. #7
    Hallo,

    wenn ich den Spielstand nicht lade, sondern Esc drücke bekomm ich einen RGSS Error (disposed window) in line 83, der sich auf Window Base bezieht.

    Was kann man tun?

    Ken der Kot
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Unbenannt.png  

    Geändert von Ken der Kot (29.07.2018 um 19:13 Uhr)

  8. #8
    In dem Script, was ich dir gegeben habe, ersetze die class Scene_Title durch folgende (sollte so bei ca. zeile ~230+ liegen):
    Code:
    class Scene_Title < Scene_Base
      def start
        super
        SceneManager.clear
        Graphics.freeze
        create_background
        create_foreground   
        create_command_window
        @command_window.visible = false
        @command_window.active = false
        create_language_window
        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()
        @language_window.visible = false
        @language_window.active = false
        create_command_window
      end
    end
    Edit: In rot noch einmal ein Fix des Fixs....

    Geändert von Linkey (29.07.2018 um 19:39 Uhr)

  9. #9
    So, jetzt noch erweitert, dass man vom Titelmenü zurück zur Sprachauswahl kommt und vom Ladebildschirm zurück zum Titelmenü (wieder ab ca. ~230 Scene_Title alles komplett ersetzen):
    Code:
    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
    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 (29.07.2018 um 20:12 Uhr)

  10. #10
    Hi Linkey, habe noch ein Problem mit dem Skript gefunden. Also wenn die Gegner (oder ich) angreifen, dann steht oben immer noch "Actor uses..." bzw "Actor released..." etc. Also im Prinzip das, was in der Database bei Action Message steht. Einfach leer lassen geht auch nicht, dann wird im Kampf nichts angezeigt. Kann man das noch übersetzbar machen + eben auch die Gegnernamen?

    Ken der Sprachkot
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Unbenannt.png  

    Geändert von Ken der Kot (01.08.2018 um 14:46 Uhr)

  11. #11
    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)

  12. #12
    Funktioniert tadellos vielen Dank!!

Berechtigungen

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