Ergebnis 1 bis 20 von 21

Thema: [XP] Zelda Starter Kit - Habe da ein paar Fragen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    [XP] Zelda Starter Kit - Habe da ein paar Fragen

    Hallo.

    Einige hier kennen doch bestimmt das Project Zelda Engine Starter Kit oder?
    Da wollte ich mal gerne etwas fragen.

    Frage 1. Das Save-Script
    Da ich Hilfe von Stardust bekommen habe ist diese Frage erledigt

    """"
    Frage 2.
    Wie kann man dem Starter Kit ein Laufgeräusche Skript hinzufügen?
    Wenn ich ein fertiges nehme dann zeigt der mir nur Errors an.
    Es soll vom Terrain abhängig sein welcher Soundeffekt abgespielt werden soll.
    Ist es auch möglich die Terrainmenge zu erhöhen?
    """"

    Frage 3. Reitskript
    Das mit dem Script zum Reiten hat sich erledigt
    Ich werde das Pferd nun doch nicht mehr einbauen
    da ich das für 2D Zelda Games nicht typisch finde.

    """"

    Frage 4.
    Gibt es ein vernünftiges Text Script?
    Ich möchte größere Schrift in mein Spiel einbauen da die jetzige zu
    klein ist bei den Grafiken die ich verwende.

    Die Schrift soll beim vergrößern """nicht""" weichgezeichnet sein.

    Wäre toll wenn mir bei den Dingen jemand helfen könnte.

    Wenn ihr euch meine Projektpräsentation mal anschauen wollt dann
    klickt auf den Link in meiner Signatur

  2. #2
    Also das Auslesen der Variablen & Switches aus Spielständen ist mit Sicherheit möglich. Das habe ich bei meinem eigenen auch Projekt eingebaut, dabei könnte ich dir helfen.

    Zur zweiten Frage: Was für eine Fehlermeldung erscheint denn genau?

    Es gibt mehrere Vehicle-Scripts, z.B. dieses hier:
    Script
    Ansonsten hilft dir Google sicher weiter

  3. #3
    hey ho,

    zu 3:
    zunächst mal: ich habe keine ahnung vom Zelda Starter Kid, aber im Prinzip verändert es nichts an der grundlegenen Bedienung des RPG , oder?

    denn dann ließe sich ein Reitsystem ins Spiel einbauen ganz ohne Scripts, nur durch mehr oder weniger simples Anwenden von den grundeigenen Funktionen des RPG Maker XPs.

    musst nur die Epona Charaktergrafiken haben und Charaktergrafiken mit Link, der auf Epona reitet.

    sry, dass ich jez nicht weiter ausführe, wie du das mit dem Reiten anstellen musst, aber mir fehlt gerade etwas die Zeit zum ausführlichen Schreiben.
    Bestimmt findet sich aber irgendwo ein Tutorial dazu... hab nur gerade keinen "Link" parat (haha... Wortwitz ).

    Aber vlcht kommst du ja selber drauf, wie du das anstellen kannst, ansonsten kannst du mir ja vlcht ne PM schicken. Vlcht mach ich sogar selber n Tutorial... mal schauen, was der Zeitplan zulässt.

    mfg

  4. #4
    Hey endlich wird mir vernünftig geantwortet.
    In anderen Foren bin ich gescheitert.

    @thebigF
    Wie ich das Leitsysteme hinbekommen soll werde ich nie wissen da ich kein scripter bin. Wäre toll wenn du mir da helfen könntest.

    @stardust

    Zu 3.
    Ich werde mir das Script mal ansehen.

    Zu 1.
    Das wäre wirklich der Hammer wenn du mir da helfen könntest. Das würde mich ein ganzes Stück weiterbringen.

    Zu 2.
    Kann ich dir imo nicht zeigen.
    Bin gerade mobil mit n Handy online.

    Zu 3.

  5. #5
    hey ho,

    wie gesagt, du musst nicht scripten können und brauchst kein Skript eventuell.
    Ich kann auch nicht scripten^^

    Könntest du das Reitsystem wie du es haben möchtest etwas genauer beschreiben? wie genau soll das Reitsystem aussehen? Wie in Zelda OoT?
    Mit Karroten verfüttern? Soll das Pferd von überall aus herbeirufbar sein?

    mit normalen Events lässt sich im RPG Maker zumindest ein Pferd bereitbar machen.
    Auch was das verschnellern mit Karrotten angeht, müsste das mit normalen Events noch machbar sein.

  6. #6
    Also was das herbeirufen angeht.
    Ich bau ein Ocarinascript ein. (Weiß aber noch nicht ob es eine Ocarina oder ein anderes Instrument wird)
    Damit wird dann halt Epona gerufen und es wird eingestellt auf welchen Maps das Pferd herbeirufbar ist oder nicht.

    Ja es sollte am besten so wie in Ocarina of Time aufgebaut sein.
    Und man sollte das Bogenschießen vom Pferd nicht vergessen.

  7. #7
    Man kann das meiste durchaus mit Events machen, nur gehen vor allem die komplexen Sachen mit Scripts viel einfacher und komfortabler

    Nun ich weiss nicht genau, was das Starter-Kit an den Standardscripten überschreibt. Es ist wohl das Beste, wenn du mir einen Downloadlink zu dem Starter-Kit oder direkt zu deinem Projekt schickst, dann kann ich mir die Sache ansehen.

  8. #8
    Mein Projekt gebe ich nicht heraus tut mir leid.
    Aber so groß an den Scripten was geändert habe ich nicht.
    Ich hab nur das Auto Font Install Script gelöscht weil das ohne
    Administratorrechten nicht funktioniert und die meisten Leute
    sowas nicht wissen.
    Und ich hab die Schriftart geändert aber das ist ja normal.

    Aber sonst ist alles wie im Starter Kit.
    Hier der Link

    Project Zelda Engine StarterKit

  9. #9
    Schon in Ordnung, es ging auch mit dem Starter-Kit

    Also mit dem hier werden die Rubine im Besitz sowie die Herzcontainer angezeigt. Wenn du die Variablen so wie im Starter-Kit belassen hast, sollte es funktionieren.

    Code:
    #==============================================================================
    # ¦ New/Load Game Enhanced
    #------------------------------------------------------------------------------
    #  Additions by stardust
    #==============================================================================
    
    SAVES_MAX = 3
    SAVE_PICTURE = "choose_save"
    STARTING_HEARTS = 3
    
    class Game_Temp
      attr_accessor :name_fileproc
      alias new_initialize initialize
      def initialize
        new_initialize
        @name_fileproc = ""
      end
    end
    
    class Game_System
      attr_accessor :newgame_switch
      attr_accessor :played_bgm
      attr_accessor :played_bgs
      attr_accessor :save_slot
      alias new_initialize initialize
      def initialize
        new_initialize
        @newgame_switch = false
        @played_bgm = ""
        played_bgs = ""
        @save_slot = ""
      end
    end
    
    #==============================================================================
    # ¦ Window_NameEdit
    #------------------------------------------------------------------------------
    #  ???????????????????????
    #==============================================================================
    
    class Window_NameEdit < Window_Base
      def refresh
        self.contents.clear
        @charset_index = 0 if @charset_index == nil
        # ?????
        name_array = @name.split(//)
        for i in 0...@max_char
          c = name_array[i]
          if c == nil
            c = "_"
          end
          x = 840 - @max_char * 14 + i * 28
          self.contents.draw_text_outline(x, 32, 28, 32, c, 1)
        end
        # ?????????
        bitmap = RPG::Cache.character(@actor.character_name, @actor.character_hue)
        cw = bitmap.rect.width / 9.3
        ch = bitmap.rect.height / 4
        src_rect = Rect.new(@charset_index*120, 0, cw, ch)
        self.contents.blt(840 - @max_char * 14 - 40 - (cw/2), 68 - ch, bitmap, src_rect)
      end
      
      def charset_index(index)
        @charset_index = index
        refresh
      end
    end
    
    #==============================================================================
    # ¦ Scene_Name
    #------------------------------------------------------------------------------
    #  ??????????????????
    #==============================================================================
    
    class Scene_Name
      #--------------------------------------------------------------------------
      # ? ?????
      #--------------------------------------------------------------------------
      def main
        #-------------------------------
        # Animated Background Setup
        #-------------------------------
        
        @back = Sprite.new
        #@sprite.bitmap = RPG::Cache.title($data_system.title_name)
        @backgroundList = ["Titlescreen1"]
        @backgroundGameFrameCount = 0
        # Number of game frames per background frame.
        @backgroundG_BFrameCount = 3.4
        @back.bitmap = RPG::Cache.title(@backgroundList[0])
        
        
        @sprite = Sprite.new
        @sprite.bitmap = RPG::Cache.title($data_system.title_name)
        # ???????
        @actor = $game_actors[$game_temp.name_actor_id]
        # ????????
        @edit_window = Window_NameEdit.new(@actor, $game_temp.name_max_char)
        @input_window = Window_NameInput.new
        # ?????????
        Graphics.transition
        # ??????
        loop do
          # ????????
          Graphics.update
          # ???????
          Input.update
          # ??????
          update
          # ????????????????
          if $scene != self
            break
          end
        end
        # ?????????
        Graphics.freeze
        # ????????
        @sprite.dispose
        @back.dispose
        @edit_window.dispose
        @input_window.dispose
      end
      #--------------------------------------------------------------------------
      # ? ??????
      #--------------------------------------------------------------------------
      def update
        # ????????
        @edit_window.update
        @input_window.update
        @backgroundGameFrameCount = @backgroundGameFrameCount + 1
        if @backgroundGameFrameCount >= @backgroundG_BFrameCount
            @backgroundGameFrameCount = 0
            # Add current background frame to the end
            @backgroundList = @backgroundList << @backgroundList[0]
            # and drop it from the first position
            @backgroundList.delete_at(0)
            @sprite.bitmap = RPG::Cache.title(@backgroundList[0])
          end
        # B ??????????
        if Input.repeat?(Input::B)
          # ??????? 0 ???
          if @edit_window.index == 0
            return
          end
          # ????? SE ???
          $game_system.se_play($data_system.cancel_se)
          # ?????
          @edit_window.back
          return
        end
        # C ??????????
        if Input.trigger?(Input::C)
          # ??????? [??] ???
          if @input_window.character == nil
            # ???????
            if @edit_window.name == ""
              # ???????????
              @edit_window.restore_default
              # ???????
              if @edit_window.name == ""
                # ??? SE ???
                $game_system.se_play($data_system.buzzer_se)
                return
              end
              # ?? SE ???
              $game_system.se_play($data_system.decision_se)
              return
            end
            # ??????????
            @actor.name = @edit_window.name
            # ?? SE ???
            $game_system.se_play($data_system.decision_se)
            # ??????????
            #--------------------------------------------------------
            # Things After this has been edited to fit the new system
            #--------------------------------------------------------
          
            $game_party.setup_starting_members
            $game_map.setup($data_system.start_map_id)
            $game_player.moveto($data_system.start_x, $data_system.start_y)
            $game_player.refresh
            $game_map.autoplay
            $game_map.update
            
            $game_variables[8] = STARTING_HEARTS*2
            $game_variables[41] = STARTING_HEARTS
            $game_variables[42] = 0
            $game_variables[50] = 0
            
            file = $game_temp.name_fileproc
            characters = []
            for i in 0...$game_party.actors.size
              actor = $game_party.actors[i]
              characters.push([actor.character_name, actor.character_hue])
            end
            Marshal.dump(Time.new, file)
            Marshal.dump(characters, file)
            Marshal.dump(Graphics.frame_count, file)
            $game_system.magic_number = $data_system.magic_number
            Marshal.dump($game_system, file)
            Marshal.dump($game_switches, file)
            Marshal.dump($game_variables, file)
            Marshal.dump($game_party, file)
            Marshal.dump($game_self_switches, file)
            Marshal.dump($game_screen, file)
            Marshal.dump($game_actors, file)
            Marshal.dump($game_troop, file)
            Marshal.dump($game_map, file)
            Marshal.dump($game_player, file)
            file.close
            $game_party.remove_actor(1)
            $scene = Scene_Map.new
            $game_temp.name_calling = false
            #--------------------------------------------------------
            # Edits ends here
            #--------------------------------------------------------
            return
          end
          # ????????????
          if @edit_window.index == $game_temp.name_max_char
            # ??? SE ???
            $game_system.se_play($data_system.buzzer_se)
            return
          end
          # ???????
          if @input_window.character == ""
            # ??? SE ???
            $game_system.se_play($data_system.buzzer_se)
            return
          end
            # ?? SE ???
            $game_system.se_play($data_system.decision_se)
            # ?????
            @edit_window.add(@input_window.character)
            return
          end
        @wait = 3 if @wait == nil or @wait == 0
        @charset_index = 0 if @charset_index == nil or @charset_index == 6
        @wait -= 1
        return if @wait > 0
        @charset_index += 1
        @edit_window.charset_index(@charset_index)
      end
    end
    
    
    
    
    #==============================================================================
    # ¦ Window_SaveFile
    #------------------------------------------------------------------------------
    #  ???????????????????????????????????
    #==============================================================================
    
    class Window_NewLoadFile < Window_Base
      #--------------------------------------------------------------------------
      # ? ??????????
      #--------------------------------------------------------------------------
      attr_reader   :filename                 # ?????
      attr_reader   :selected                 # ????
      #--------------------------------------------------------------------------
      # ? ?????????
      #     file_index : ?????????????? (0~3)
      #     filename   : ?????
      #--------------------------------------------------------------------------
      def initialize(file_index, filename)
        super(50, 64 + file_index % 4 * 104 + (12*file_index) + 12, 540, 104)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.contents.font.name = $defaultfonttype  # "File" (File #) window font
        self.contents.font.size = $defaultfontsize
        @charset_index = 0
        @file_index = file_index
        @filename = "Save#{@file_index + 1}.sav"
        @time_stamp = Time.at(0)
        @file_exist = FileTest.exist?(@filename)
        @yp = 12
        if @file_exist
          File.delete(@filename) if File.stat(@filename).size == 0
          @file_exist = FileTest.exist?(@filename)
          if @file_exist
            file = File.open(@filename, "rb")
            @time_stamp = Marshal.load(file)
            @characters = Marshal.load(file)
            @frame_count = Marshal.load(file)
            @game_system = Marshal.load(file)
            @game_switches = Marshal.load(file)
            @game_variables = Marshal.load(file)
            @game_party = Marshal.load(file)
            @total_sec = @frame_count / Graphics.frame_rate
            file.close
          end
        end
        refresh
        @selected = false
      end
      #--------------------------------------------------------------------------
      # ? ??????
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
        # ?????????
        self.contents.font.color = normal_color
        if @file_index == SAVES_MAX
          @exit = RPG::Cache.picture("exit")
          self.z = 0
          self.y = 390
          src_rect = Rect.new(0, 0, @exit.rect.width, @exit.rect.height)
          self.contents.blt(self.x + 8, 64 - @exit.rect.height, @exit, src_rect)
          self.opacity = 0 
        end
        name = ""
        name = @game_party.actors[0].name if @file_exist
        self.contents.draw_text_outline(4, 0, 600, 32, name)
        @name_width = contents.text_size(name).width
        # ??????????????
        if @file_exist
          for i in 0...@characters.size
            bitmap = RPG::Cache.character(@characters[i][0], @characters[i][1])
            cw = bitmap.rect.width / 9.3
            ch = bitmap.rect.height / 4
            src_rect = Rect.new(@charset_index*120, 0, cw, ch)
            x = 105 - @characters.size * 120 + i * 64 - cw / 2
            self.contents.blt(x+35, 63 - ch, bitmap, src_rect)
            heart_display(x+78, 83-ch)
          end
          # Rubine
          self.contents.draw_text_outline(80, 16, 600, 32, sprintf("000",$game_variables[53].to_s))
          # Zeit
          hour = @total_sec / 60 / 60
          min = @total_sec / 60 % 60
          sec = @total_sec % 60
          time_string = sprintf("%02d:%02d:%02d", hour, min, sec)
          self.contents.font.color = normal_color
          self.contents.draw_text_outline(4, 8, 600, 32, time_string, 2)
          # Datum
          self.contents.font.color = normal_color
          time_string = @time_stamp.strftime("%Y / %m/ %d  %H:%M")
          self.contents.draw_text_outline(self.width-self.contents.text_size(time_string).width-32, 40, self.contents.text_size(time_string).width, 32, time_string, 0)
        else
          @name_width = contents.text_size("New Game").width
          self.contents.draw_text_outline(4, 0, 600, 32, "New Game") if self.opacity != 0
        end
      end
      def heart_display(x, y)
        @x = x
        @y = y
        
        @link_heart = @game_variables[8]
        @link_maxheart = @game_variables[41]
        
        if @link_heart == 1
          insert_halfheart
        elsif @link_heart >= 2
          insert_fullheart
        end
        if @link_heart <= 2
          insert_emptyheart
        elsif @link_heart == 3
          insert_halfheart
        elsif @link_heart >= 4
          insert_fullheart
        end
        if @link_maxheart >= 3
          if @link_heart <= 4
            insert_emptyheart
          elsif @link_heart == 5
            insert_halfheart
          elsif @link_heart >= 6
            insert_fullheart
          end
        end
        if @link_maxheart >= 4
          if @link_heart <= 6
            insert_emptyheart
          elsif @link_heart == 7
            insert_halfheart
          elsif @link_heart >= 8
            insert_fullheart
          end
        end
        if @link_maxheart >= 5
          if @link_heart <= 8
            insert_emptyheart
          elsif @link_heart == 9
            insert_halfheart
          elsif @link_heart >= 10
            insert_fullheart
          end
        end
        if @link_maxheart >= 6
          if @link_heart <= 10
            insert_emptyheart
          elsif @link_heart == 11
            insert_halfheart
          elsif @link_heart >= 12
            insert_fullheart
          end
        end
        if @link_maxheart >= 7
          if @link_heart <= 12
            insert_emptyheart
          elsif @link_heart == 13
            insert_halfheart
          elsif @link_heart >= 14
            insert_fullheart
          end
        end
        if @link_maxheart >= 8
          if @link_heart <= 14
            insert_emptyheart
          elsif @link_heart == 15
            insert_halfheart
          elsif @link_heart >= 16
            insert_fullheart
          end
        end
        if @link_maxheart >= 9
          if @link_heart <= 16
            insert_emptyheart
          elsif @link_heart == 17
            insert_halfheart
          elsif @link_heart >= 18
            insert_fullheart
          end
        end
        if @link_maxheart >= 10
          if @link_heart <= 18
            insert_emptyheart
          elsif @link_heart == 19
            insert_halfheart
          elsif @link_heart >= 20
            insert_fullheart
          end
        end
        if @link_maxheart >= 11
          @y += 16
          @x = x
          if @link_heart <= 20
            insert_emptyheart
          elsif @link_heart == 21
            insert_halfheart
          elsif @link_heart >= 22
            insert_fullheart
          end
        end
        if @link_maxheart >= 12
          if @link_heart <= 22
            insert_emptyheart
          elsif @link_heart == 23
            insert_halfheart
          elsif @link_heart >= 24
            insert_fullheart
          end
        end
        if @link_maxheart >= 13
          if @link_heart <= 24
            insert_emptyheart
          elsif @link_heart == 25
            insert_halfheart
          elsif @link_heart >= 26
            insert_fullheart
          end
        end
        if @link_maxheart >= 14
          if @link_heart <= 26
            insert_emptyheart
          elsif @link_heart == 27
            insert_halfheart
          elsif @link_heart >= 28
            insert_fullheart
          end
        end
        if @link_maxheart >= 15
          if @link_heart <= 28
            insert_emptyheart
          elsif @link_heart == 29
            insert_halfheart
          elsif @link_heart >= 30
            insert_fullheart
          end
        end
        if @link_maxheart >= 16
          if @link_heart <= 30
            insert_emptyheart
          elsif @link_heart == 31
            insert_halfheart
          elsif @link_heart >= 32
            insert_fullheart
          end
        end
        if @link_maxheart >= 17
          if @link_heart <= 32
            insert_emptyheart
          elsif @link_heart == 33
            insert_halfheart
          elsif @link_heart >= 34
            insert_fullheart
          end
        end
        if @link_maxheart >= 18
          if @link_heart <= 34
            insert_emptyheart
          elsif @link_heart == 35
            insert_halfheart
          elsif @link_heart >= 36
            insert_fullheart
          end
        end
        if @link_maxheart >= 19
          if @link_heart <= 36
            insert_emptyheart
          elsif @link_heart == 37
            insert_halfheart
          elsif @link_heart >= 38
            insert_fullheart
          end
        end
        if @link_maxheart >= 20
          if @link_heart <= 38
            insert_emptyheart
          elsif @link_heart == 39
            insert_halfheart
          elsif @link_heart >= 40
            insert_fullheart
          end
        end  end
      def insert_fullheart
        bitmap = RPG::Cache.picture("FullHeart")
        cw = bitmap.width
        ch = bitmap.height
        src_rect = Rect.new(0, 0, cw, ch)
        self.contents.blt((@x - cw / 2) + 68, 38, bitmap, src_rect)
        @x += cw
      end
      
      def insert_halfheart
        bitmap = RPG::Cache.picture("HalfHeart")
        cw = bitmap.width
        ch = bitmap.height
        src_rect = Rect.new(0, 0, cw, ch)
        self.contents.blt((@x - cw / 2) + 68, 38, bitmap, src_rect)
        @x += cw
      end
      
      def insert_emptyheart
        bitmap = RPG::Cache.picture("EmptyHeart")
        cw = bitmap.width
        ch = bitmap.height
        src_rect = Rect.new(0, 0, cw, ch)
        self.contents.blt((@x - cw / 2) + 68, 38, bitmap, src_rect)
        @x += cw
      end
      #--------------------------------------------------------------------------
      # ? ???????
      #     selected : ??????? (true=?? false=???)
      #--------------------------------------------------------------------------
      def selected=(selected)
        @selected = selected
        update_cursor_rect
      end
      def charset_index(index)
        @charset_index = index
        refresh
      end
      #--------------------------------------------------------------------------
      # ? ?????????
      #--------------------------------------------------------------------------
      def update_cursor_rect
        if @selected
          if @file_index == SAVES_MAX
            self.cursor_rect.set(self.x + 7, 63 - @exit.rect.height, @exit.rect.width+2, @exit.rect.height+2)
          else
            self.cursor_rect.set(0, 0, @name_width + 8, 32)
          end
        else
          self.cursor_rect.empty
        end
      end
    end
    
    
    
    
    
    #==============================================================================
    # ¦ Scene_File
    #------------------------------------------------------------------------------
    #  ????????????????????????
    #==============================================================================
    
    class Scene_NewLoadFile
      #--------------------------------------------------------------------------
      # ? ?????????
      #     help_text : ????????????????
      #--------------------------------------------------------------------------
      def initialize(help_text)
        @help_text = help_text
      end
      #--------------------------------------------------------------------------
      # ? ?????
      #--------------------------------------------------------------------------
      def main
        
        $game_party.setup_starting_members
        
        #-------------------------------
        # Animated Background Setup
        #-------------------------------
        
        @back = Sprite.new
        #@sprite.bitmap = RPG::Cache.title($data_system.title_name)
        @backgroundList = ["SaveScreen1","SaveScreen1","SaveScreen1",
        "SaveScreen1","SaveScreen1","SaveScreen1","SaveScreen1","SaveScreen1",
        "SaveScreen1","SaveScreen1","SaveScreen1","SaveScreen1","SaveScreen1",
        "SaveScreen2","SaveScreen3","SaveScreen4","SaveScreen5","SaveScreen6",
        "SaveScreen6","SaveScreen5","SaveScreen4","SaveScreen3","SaveScreen2",
        "SaveScreen1","SaveScreen1","SaveScreen1","SaveScreen1","SaveScreen1",
        "SaveScreen1","SaveScreen1","SaveScreen1","SaveScreen1","SaveScreen1",]
        @backgroundGameFrameCount = 0
        # Number of game frames per background frame.
        @backgroundG_BFrameCount = 3.4
        @back.bitmap = RPG::Cache.title(@backgroundList[0])
            
        @sprite = Sprite.new
        @sprite.bitmap = RPG::Cache.title($data_system.title_name)
        # ???????????
        @save_sprite = Sprite.new
        @save_sprite.bitmap = RPG::Cache.title(SAVE_PICTURE)
        @save_sprite.x = 0
        @save_sprite.y = 0
        # ???????????????
        @savefile_windows = []
        for i in 0..SAVES_MAX
          @savefile_windows.push(Window_NewLoadFile.new(i, make_filename(i)))
        end
        # ??????????????
        @file_index = $game_temp.last_file_index
        @savefile_windows[@file_index].selected = true
        # ?????????
        Graphics.transition
        # ??????
        loop do
          # ????????
          Graphics.update
          # ???????
          Input.update
          # ??????
          update
          # ????????????????
          if $scene != self
            break
          end
        end
        # ?????????
        Graphics.freeze
        # ????????
        @sprite.dispose
        @back.dispose
        @save_sprite.dispose
        for i in @savefile_windows
          i.dispose
        end
      end
      #--------------------------------------------------------------------------
      # ? ??????
      #--------------------------------------------------------------------------
      def update
        @backgroundGameFrameCount = @backgroundGameFrameCount + 1
        if @backgroundGameFrameCount >= @backgroundG_BFrameCount
            @backgroundGameFrameCount = 0
            # Add current background frame to the end
            @backgroundList = @backgroundList << @backgroundList[0]
            # and drop it from the first position
            @backgroundList.delete_at(0)
            @sprite.bitmap = RPG::Cache.title(@backgroundList[0])
          end
        for i in @savefile_windows
          i.update
        end
        # ????????
        @save_sprite.update
        # C ??????????
        if Input.trigger?(Input::C)
          if @file_index == SAVES_MAX
            $scene = nil
          else
            $game_system.se_play($data_system.decision_se)
            if FileTest.exist?(make_filename(@file_index))
              on_decision(make_filename(@file_index))
              $game_temp.last_file_index = @file_index
            else
              $game_system.save_slot = make_filename(@file_index)
              file = File.new(make_filename(@file_index), "wb")
              on_new(file)
              $game_temp.last_file_index = @file_index
            end
          end
        end
        # B ??????????
        if Input.trigger?(Input::B)
          # ???? on_cancel (??????) ???
          on_cancel
          return
        end
        # ??????????????
        if Input.repeat?(Input::DOWN)
          # ????????????????????????
          # ?????????? 3 ??????
          if Input.trigger?(Input::DOWN) or @file_index < 3
            # ???? SE ???
            $game_system.se_play($data_system.cursor_se)
            # ?????????
            @savefile_windows[@file_index].selected = false
            @file_index = (@file_index + 1) % 4
            @savefile_windows[@file_index].selected = true
            return
          end
        end
        # ??????????????
        if Input.repeat?(Input::UP)
          # ????????????????????????
          # ?????????? 0 ???????
          if Input.trigger?(Input::UP) or @file_index > 0
            # ???? SE ???
            $game_system.se_play($data_system.cursor_se)
            # ?????????
            @savefile_windows[@file_index].selected = false
            @file_index = (@file_index + 3) % 4
            @savefile_windows[@file_index].selected = true
            return
          end
        end
        @wait = 3 if @wait == nil or @wait == 0
        @charset_index = 0 if @charset_index == nil or @charset_index == 6
        @wait -= 1
        return if @wait > 0
        @charset_index += 1
        for i in 0..@savefile_windows.size-1
          @savefile_windows[i].charset_index(@charset_index)
          next
        end
      end
      #--------------------------------------------------------------------------
      # ? ????????
      #     file_index : ?????????????? (0~3)
      #--------------------------------------------------------------------------
      def make_filename(file_index)
        return "Save#{file_index + 1}.sav"
      end
    end
    
    
    
    
    class Scene_NewLoad < Scene_NewLoadFile
      def initialize
        $game_temp.last_file_index = 0
        latest_time = Time.at(0)
        for i in 0..3
          filename = make_filename(i)
          if FileTest.exist?(filename)
            file = File.open(filename, "rb")
            if file.mtime > latest_time
              latest_time = file.mtime
              $game_temp.last_file_index = i
            end
            file.close
          end
        end
        super("Load from which file")
      end
    
      def on_new(file)
        
        $game_map.setup($data_system.start_map_id)
        
        $game_system.newgame_switch = true
        $game_temp.name_fileproc = file
        $game_temp.name_calling = true
        $game_temp.name_actor_id = 1
        $game_temp.name_max_char = 8
        $scene = Scene_Name.new
      end
      #--------------------------------------------------------------------------
      # ? ??????
      #--------------------------------------------------------------------------
      def on_decision(filename)
        unless FileTest.exist?(filename)
          # ??? SE ???
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # ??? SE ???
        $game_system.se_play($data_system.load_se)
        # ???????????
        file = File.open(filename, "rb")
        read_save_data(file, $game_system.newgame_switch)
        file.close
        Audio.bgm_stop
        $game_system.bgm_play($game_system.playing_bgm) if !$game_system.newgame_switch
        $game_system.bgs_play($game_system.playing_bgs) if !$game_system.newgame_switch
        $game_map.autoplay
        # ?????? (????????)
        $game_map.update
        $game_party.remove_actor(1) if $game_system.newgame_switch
        # ?????????
        $scene = Scene_Map.new
      end
      #--------------------------------------------------------------------------
      # ? ?????????
      #--------------------------------------------------------------------------
      def on_cancel
        # ????? SE ???
        $game_system.se_play($data_system.cancel_se)
        # ???????????
        $scene = Scene_Title.new
      end
      #--------------------------------------------------------------------------
      # ? ???????????
      #     file : ??????????????? (??????)
      #--------------------------------------------------------------------------
      def read_save_data(file, newgame)
        if !newgame
          Audio.bgm_stop
          # ?????????????????????????
          time = Marshal.load(file)
          characters = Marshal.load(file)
          # ??????????????????????
          Graphics.frame_count = Marshal.load(file)
          # ????????????????
          $game_system        = Marshal.load(file)
          $game_switches      = Marshal.load(file)
          $game_variables     = Marshal.load(file)
          $game_party         = Marshal.load(file)
          $game_self_switches = Marshal.load(file)
          $game_screen        = Marshal.load(file)
          $game_actors        = Marshal.load(file)
          $game_troop         = Marshal.load(file)
          $game_map           = Marshal.load(file)
          $game_player        = Marshal.load(file)
          if $game_system.magic_number != $data_system.magic_number
            $game_map.setup($game_map.map_id)
            $game_player.center($game_player.x, $game_player.y)
            $game_player.refresh
          end
        else
          characters = []
          for i in 0...$game_party.actors.size
            actor = $game_party.actors[i]
            characters.push([actor.character_name, actor.character_hue])
          end
          time = Time.new
          # ??????????????????????
          Graphics.frame_count = 0
          # ????????????????
          $game_system        = Game_System.new
          $game_switches      = Game_Switches.new
          $game_variables     = Game_Variables.new
          $game_party         = Game_Party.new
          $game_self_switches = Game_SelfSwitches.new
          $game_screen        = Game_Screen.new
          $game_actors        = Game_Actors.new
          $game_troop         = Game_Troop.new
          $game_map           = Game_Map.new
          $game_player        = Game_Player.new
          #$game_party.setup_starting_members
          $game_map.setup($data_system.start_map_id)
          $game_player.moveto($data_system.start_x, $data_system.start_y)
          $game_player.refresh
        end
        # ???????????????????
        # (?????????????????)
        # ???????????????
        $game_party.refresh
      end
    end

  10. #10
    Und wie soll ich die anzeigen?
    Bei mir zeigt der beim starten nur Datum, Uhrzeit, Linkcharanimation.
    Herzen sehe ich keine, Rubine auch nicht und was fehlt sind die
    Artefakte die er anzeigen soll.

    Kann man die da irgendwie einfügen in das Script?

  11. #11
    Du musst das New/Load Game-Script einfach durch dieses ersetzen.

    Das mit den Artefakten ist nicht in dem Script drinn. Wie viele Artefakte soll es denn geben?

  12. #12
    Es sind insgesamt 9 Artefakte.
    Und sie sollen als Picture angezeigt werden.
    Die Anzeige für Datum und Uhrzeit soll weg weil dort die
    Artefakte in der Reihe angezeigt werden sollen.
    Außerdem finde ich die Datum/Uhrzeitanzeige nicht
    unbedingt wichtig bei Zelda Spielen.

    Dann habe ich ein Problem mit der Herzanzeige.
    Die geht nur bis 10 Herzen.
    Wenn ich mehr Herzcontainer habe als 10 dann werden
    die übrigen nicht angezeigt.
    Es soll so angezeigt werden wie im HUD also 2 Reihen mit jeweils 10 Herzen.
    Die Rubinanzeige soll dann neben den Herzen über der jetzigen Datum/Uhrzeitanzeige sein. Und vor der Anzahl soll ebenfalls ein kleines Picture angezeigt werden.

    Und ich habe den LinkChar gewechselt und wenn er den Link Char dort anzeigt dann nur mit 2 Animationssequenzen.

  13. #13
    Das lässt sich schon einbauen. Allerdings komme ich zurzeit nicht oft zum makern und muss auch mein eigenes Projekt vorantreiben. Übernächste Woche sollte sich die Lage wieder beruhigt haben, dann kann ich dir das Script gerne anpassen

  14. #14

Berechtigungen

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