RPG maker forum

Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Tous sur RPG maker, scripts, projet, ressources, screens, demandez, faites vous aider et aidez les autres!

Le Deal du moment :
Jeux, jouets et Lego : le deuxième à ...
Voir le deal

3 participants

    Menu de sauvegarde amélioré [moghunter]

    Galtrak
    Galtrak
    Admin
    Admin


    Messages : 192
    Réputation : 31
    Date d'inscription : 13/04/2010
    Localisation : Derrière mon écran

    Menu de sauvegarde amélioré [moghunter] Empty Menu de sauvegarde amélioré [moghunter]

    Message  Galtrak Sam 1 Mai - 20:36

    Voilà un menu de sauvegarde signé Moghunter Wink

    Code:
    #_________________________________________________
    # MOG_Scene File Ayumi V1.0       
    #_________________________________________________
    # By Moghunter       
    #_________________________________________________
    module MOG
    #Temps de transition
    MSVT = 30
    #Type de transition
    MSVTT = "006-Stripe02"
    end
    ###############
    # Window_Base #
    ###############
    class Window_Base < Window
    def drw_win_file(x,y)
    dwf = RPG::Cache.picture("Win_File")
    cw = dwf.width
    ch = dwf.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, dwf, src_rect) 
    end
    def nada
    face = RPG::Cache.picture("")
    end
    def draw_heroface3(actor,x,y)
    face = RPG::Cache.picture(actor.name + "_fc3") rescue nada
    cw = face.width
    ch = face.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, face, src_rect) 
    end
    def draw_actor_level6(actor, x, y)
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(x + 1, y + 1, 32, 32, "Lv")
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, "Lv")
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(x + 17, y + 1, 24, 32, actor.level.to_s, 2)
    self.contents.font.color = Color.new(255,255,255,255)
    self.contents.draw_text(x + 16, y, 24, 32, actor.level.to_s, 2)
    end
    def draw_actor_name6(actor, x, y)
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(x + 1, y + 1, 100, 32, actor.name,1)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 100, 32, actor.name,1)
    end
    end
    ############
    # Game_Map #
    ############
    class Game_Map
    def map_name
    @mapinfo = load_data("Data/MapInfos.rxdata") if @mapinfo == nil
    return @mapinfo[@map_id].name
    end
    end
    ###################
    # Window_SaveFile #
    ###################
    class Window_SaveFile < Window_Base
      attr_reader  :filename             
      attr_reader  :selected             
      def initialize(file_index, filename)
        super(0, 64 + file_index * 138, 640, 240) 
        self.contents = Bitmap.new(width - 32, height - 32)
        self.opacity = 0
        @file_index = file_index
        @filename = "Save#{@file_index + 1}.rxdata"
        @time_stamp = Time.at(0)
        @file_exist = FileTest.exist?(@filename)
        if @file_exist
          file = File.open(@filename, "r")
          @time_stamp = file.mtime
          @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_self_switches = Marshal.load(file)
          @game_screen = Marshal.load(file)
          @game_actors = Marshal.load(file)
          @game_party = Marshal.load(file)
          @game_troop = Marshal.load(file)
          @game_map = Marshal.load(file)
          @total_sec = @frame_count / Graphics.frame_rate
          file.close
        end
        @wiref = 0
        refresh
        @selected = false
      end
      def refresh
        self.contents.clear
        self.contents.font.name = "Georgia"
        drw_win_file(0,190)
        name = "#{@file_index + 1}"
        self.contents.font.color = Color.new(0,0,0,255)
        self.contents.draw_text(161, 41, 600, 32, name)
        self.contents.font.color = Color.new(255,255,255,255)
        self.contents.draw_text(160, 40, 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 / 4
            ch = bitmap.rect.height / 4
            src_rect = Rect.new(cw * @wiref + 1 , 0, cw, ch)
            x = 300 - @characters.size + i * 64 - cw / 4
            self.contents.blt(x - 10, 150 - ch, bitmap, src_rect)
            x = 116
            actors = @game_party.actors
            for i in 0...[actors.size, 4].min
            x    = i * 60
            actor = actors[i]     
            self.contents.font.size = 20
            draw_actor_level6(actor, x + 280, 140)
            actor = actors[0] 
            draw_heroface3(actor,160,180) 
            draw_actor_name6(actor, 160, 155)
            self.contents.font.size = 22
            end       
          end   
          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 = Color.new(0,0,0,255)
          self.contents.draw_text(5, 41, 450, 32, time_string, 2)
          self.contents.draw_text(41 , 141, 120 , 32, @game_map.map_name.to_s)
          self.contents.font.color = Color.new(255,255,255,255)
          self.contents.draw_text(40 , 140, 120 , 32, @game_map.map_name.to_s)
          self.contents.draw_text(4, 40, 450, 32, time_string, 2)
      end
      end
      def selected=(selected)
        @selected = selected
      end
    end
    ##############
    # Scene_File #
    ##############
    class Scene_File
      def initialize(help_text)
        @help_text = help_text
      end
      def main
        @mnback = Plane.new
        @mnback.bitmap = RPG::Cache.picture("MN_BK")
        @mnback.z = 1
        @mnlay = Sprite.new
        @mnlay.bitmap = RPG::Cache.picture("Lay_File.PNG")
        @mnlay.z = 2
        @help_window = Window_Help.new
        @help_window.set_text(@help_text)
        @help_window.opacity = 0
        @savefile_windows = []
        for i in 0..2
          @savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
        end
        @savefile_windows[0]
        @file_index = $game_temp.last_file_index
        @savefile_windows[@file_index].selected = true
        @savefile_windows[0].y = 40 
        @savefile_windows[1].y= 140
        @savefile_windows[2].y= 240 
        @win_move_time = 0
        @win_move = 0
        @win_dire = 0
        @win_opac = 255
        @win1_y = 0
        @win2_y = 0
        @win3_y = 0
        Graphics.transition(MOG::MSVT, "Graphics/Transitions/" + MOG::MSVTT)
        loop do
          Graphics.update
          Input.update
          update
          if $scene != self
            break
          end
        end
        for i in 0..50
        @mnback.ox += 1
        @savefile_windows[0].x += 10 
        @savefile_windows[1].x -= 10
        @savefile_windows[2].x += 10
        for i in @savefile_windows
        i.contents_opacity -= 5
        end
        Graphics.update
        end   
        Graphics.freeze
        @help_window.dispose
        @mnback.dispose
        @mnlay.dispose
        for i in @savefile_windows
          i.dispose
        end
      end
      def update
        @mnback.ox += 1
        @win_opac += 3
        @win_move_time += 1 
        if @win_opac > 254
          @win_opac = 150
        end     
        if @win_move_time > 60
        @win_dire += 1
        @win_move_time = 0 
        end
        if @win_dire > 1
          @win_dire = 0
        end
        if @win_dire == 0
          @win_move += 1
        else
          @win_move -= 1
        end     
        if @file_index == 0
        @savefile_windows[0].z = 2
        @savefile_windows[1].z = 1
        @savefile_windows[2].z = 0
        @savefile_windows[0].x = @win_move
        @savefile_windows[1].x = 0
        @savefile_windows[1].x= 0
        @savefile_windows[2].x = 0 
        @savefile_windows[0].contents_opacity = @win_opac
        @savefile_windows[1].contents_opacity = 130
        @savefile_windows[2].contents_opacity =  130 
        elsif @file_index == 1
        @savefile_windows[0].z = 1
        @savefile_windows[1].z = 2
        @savefile_windows[2].z = 1 
        @savefile_windows[0].x = 0
        @savefile_windows[1].x = @win_move
        @savefile_windows[2].x = 0 
        @savefile_windows[0].contents_opacity =  130
        @savefile_windows[1].contents_opacity = @win_opac
        @savefile_windows[2].contents_opacity =  130
        else
        @savefile_windows[0].z = 0
        @savefile_windows[1].z = 1
        @savefile_windows[2].z = 2   
        @savefile_windows[0].x = 0
        @savefile_windows[1].x = 0
        @savefile_windows[2].x = @win_move
        @savefile_windows[0].contents_opacity = 130
        @savefile_windows[1].contents_opacity = 130
        @savefile_windows[2].contents_opacity = @win_opac 
        end 
        @help_window.update 
        for i in @savefile_windows
          i.update
        end
        if Input.trigger?(Input::C)
          on_decision(make_filename(@file_index))
          $game_temp.last_file_index = @file_index
          return
        end
        if Input.trigger?(Input::B)
          on_cancel
          return
        end
        if Input.repeat?(Input::DOWN)
          if Input.trigger?(Input::DOWN) or @file_index < 3
            $game_system.se_play($data_system.cursor_se)
            @savefile_windows[@file_index].selected = false
            @file_index = (@file_index + 1) % 3
            @savefile_windows[@file_index].selected = true
            return
          end
        end
        if Input.repeat?(Input::UP)
          if Input.trigger?(Input::UP) or @file_index > 0
            $game_system.se_play($data_system.cursor_se)
            @savefile_windows[@file_index].selected = false
            @file_index = (@file_index - 1) % 3
            @savefile_windows[@file_index].selected = true
            return
          end
        end
      end
      def make_filename(file_index)
        return "Save#{file_index + 1}.rxdata"
      end
    end


    A la ligne 70 et 186 vous avez ceci :

    Code:
      @filename = "Save#{@file_index + 1}.rxdata"

    Remplacer le "Save" par "Sauvegarde."
    avatar
    Terbo


    Messages : 5
    Réputation : 0
    Date d'inscription : 17/04/2010

    Menu de sauvegarde amélioré [moghunter] Empty Re: Menu de sauvegarde amélioré [moghunter]

    Message  Terbo Sam 1 Mai - 20:37

    Super j'adore <3
    Galtrak
    Galtrak
    Admin
    Admin


    Messages : 192
    Réputation : 31
    Date d'inscription : 13/04/2010
    Localisation : Derrière mon écran

    Menu de sauvegarde amélioré [moghunter] Empty Re: Menu de sauvegarde amélioré [moghunter]

    Message  Galtrak Sam 1 Mai - 20:44

    Oubliez pas de mettre Moghunter dans vos crédits Wink
    avatar
    Oxos


    Messages : 11
    Réputation : 0
    Date d'inscription : 13/04/2010

    Menu de sauvegarde amélioré [moghunter] Empty Re: Menu de sauvegarde amélioré [moghunter]

    Message  Oxos Jeu 13 Mai - 18:41

    Je viens de l'essayer, je n'ai qu'une chose à dire :
    EXELLENT!
    Galtrak
    Galtrak
    Admin
    Admin


    Messages : 192
    Réputation : 31
    Date d'inscription : 13/04/2010
    Localisation : Derrière mon écran

    Menu de sauvegarde amélioré [moghunter] Empty Re: Menu de sauvegarde amélioré [moghunter]

    Message  Galtrak Jeu 13 Mai - 20:49

    Oxos a écrit:Je viens de l'essayer, je n'ai qu'une chose à dire :
    EXELLENT!
    king

    Contenu sponsorisé


    Menu de sauvegarde amélioré [moghunter] Empty Re: Menu de sauvegarde amélioré [moghunter]

    Message  Contenu sponsorisé

      Sujets similaires

      -

      La date/heure actuelle est Mar 7 Mai - 20:15