Heures au format UTC + 1 heure [ Heure d’été ]


Règles du forum


Consultez la liste des Scripts : cliquez ici



Publier un nouveau sujet Répondre au sujet  [ 2 messages ] 
Auteur Message
 Sujet du message: Menu de sauvegarde
MessagePublié: 19 Oct 2009, 10:51 
Roi
Roi
Avatar de l’utilisateur

Inscrit le: 08 Mai 2005, 15:00
Messages: 2956
Localisation: Lyon
Niveau RPG Maker: Expert
Logiciel(s) préféré(s): RMXP ; IGM
Point(s) Fort(s): HTML5, PHP, Javascript, Ruby
Sexe: Masculin
Points d'aide: Illimité

Créations :

- RPG JS : Votre RPG en ligne sur votre navigateur


Voir ses créations

Menu de sauvegarde


Suite à la demande : viewtopic.php?f=92&t=102518

Auteur : Samarium

Logiciel : RPG Maker XP

Date : 18/10/09

Fonction : Un autre type de menu de sauvegarde

Site du l'auteur : http://www.rpgcreative.net

Utilisation : Mettez ce script au dessus du script Main. Créez un dossier "Faces" dans "Graphics" et insérez les Facesets des héros en mettant le même nom que l'image correspondante dans le dossier "Characters". Par exemple, si vous voulez avoir le visage du héros "Arshes" (par défaut), nommez le Facesets "001-Fighter01"

Image :
Image


Code: Tout sélectionner
#-----------------------------------------------------------------
#                     Menu de sauvegarde
#                            RMXP
#
#  Auteur : Samarium

#  Date : 18/10/09

#  Fonction : Un autre type de menu de sauvegarde

#  Site du l'auteur : www.rpgcreative.net

#  Utilisation : Mettez ce script au dessus du script Main. Créez un dossier
#               "Faces" dans "Graphics" et insérez les Facesets des héros en
#                mettant le même nom que l'image correspondante dans le dossier
#                "Characters".
#                Par exemple, si vous voulez avoir le visage du héros "Arshes"
#                (par défaut), nommez le Facesets "001-Fighter01"
#             
#                Modifiez les constantes ci-dessous pour changer le fond, le
#                son ou/et la couleur du texte

# Libre à la diffusion et modification.
#-----------------------------------------------------------------

# CONSTANTES pouvant être modifiées
BACKGROUND = "menusa11" # => L'image du fond placée dans le dossier Graphics/Pictures
SON = "001-System01" # => Le son lorsqu'on change de slot (Audio/SE)
NAME_TEXT = "Arial" # = Police du texte
COLOR_TEXT = Color.new(0,0,0) #=> Couleur RVB du texte
#                      | | |
#                      | |  \--> Intensité de bleu entre 0 et 255
#                      |  \--> Intensité de vert entre 0 et 255
#                       \--> Intensité de rouge entre 0 et 255

class Scene_File
  def main
    @savefile = []
    for i in 0..3
      @savefile.push([i, make_filename(i)])
    end
    @save_window = Window_SaveFile.new(@savefile[0][0], @savefile[0][1])
    @save_window.back_opacity = 0
    @index = $game_temp.last_file_index
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.picture(BACKGROUND)
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @save_window.dispose
    @sprite.dispose
    @sprite.bitmap.dispose
  end

  def update
      @save_window.update
    if Input.trigger?(Input::C)
      on_decision(make_filename(@index))
      $game_temp.last_file_index = @index
      return
    end
    if Input.trigger?(Input::B)
      on_cancel
      return
    end
    if Input.trigger?(Input::RIGHT)
      @index += 1
      if @index >= @savefile.size
         @index = 0
      end
       @save_window.data_file(@savefile[@index][0], @savefile[@index][1])
       @save_window.refresh
       Audio.se_play("Audio/SE/" + SON)
    elsif Input.trigger?(Input::LEFT)
      @index -= 1
      if @index < 0
         @index = @savefile.size-1
      end
      @save_window.data_file(@savefile[@index][0], @savefile[@index][1])
      @save_window.refresh
      Audio.se_play("Audio/SE/" + SON)
    end
  end
  def make_filename(file_index)
    return "Save#{file_index + 1}.rxdata"
  end
end


class Window_SaveFile < Window_Base

  attr_reader   :filename           

  def initialize(file_index, filename)
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    data_file(file_index, filename)
    refresh
  end
  def data_file(file_index, filename)
    @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)
      Marshal.load(file)
      Marshal.load(file)
      @actors = Marshal.load(file)
      Marshal.load(file)
      Marshal.load(file)
      Marshal.load(file)
       Marshal.load(file)
      @game_map_name =  Marshal.load(file)
      @total_sec = @frame_count / Graphics.frame_rate
      file.close
    end
  end
 
  def refresh
    self.contents.clear
    self.contents.font.color = COLOR_TEXT
    self.contents.font.name = NAME_TEXT
    name = "Sauvegarde #{@file_index + 1}:"
    self.contents.draw_text(55, 170, 600, 32, name)
    @name_width = contents.text_size(name).width
   
    case @characters.size
      when 1
        d_picture = 200
        d_cadre = 180
      when 2
        d_picture = 100
        d_cadre = 80
      when 3
        d_picture = 50
        d_cadre = 30
      when 4
        d_picture = 10
        d_cadre = 10
     end
       
    if @file_exist
     for i in 0...@characters.size
       bitmap = Bitmap.new("Graphics/Faces/" + @characters[i][0])
        w = bitmap.rect.width
        h = bitmap.rect.height
        src_rect = Rect.new(0, 0, w, h)
        y = h + d_picture

        self.contents.draw_text(337, y * i + d_cadre, 600, 32, @characters[i][2])
        self.contents.draw_text(337, i * y+20 + d_cadre, 600, 32, "Niveau :  " + @characters[i][3].to_s)
        self.contents.blt(470, y * i + d_cadre, bitmap, src_rect)
      end
      hour = @total_sec / 60 / 60
      min = @total_sec / 60 % 60
      sec = @total_sec % 60
      time_string = sprintf("Temps du jeu %02d: %02d", hour, min)
      self.contents.draw_text(55, 220, 600, 32, time_string)
      self.contents.draw_text(55, 260, 600, 32, @game_map_name)
    end
  end
end

class Scene_Save
  def write_save_data(file)
    characters = []
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      characters.push([actor.character_name, actor.character_hue, actor.name, actor.level])
    end
    Marshal.dump(characters, file)
    Marshal.dump(Graphics.frame_count, file)
    $game_system.save_count += 1
    $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_self_switches, file)
    Marshal.dump($game_screen, file)
    Marshal.dump($game_actors, file)
    Marshal.dump($game_party, file)
    Marshal.dump($game_troop, file)
    Marshal.dump($game_map, file)
    Marshal.dump($game_player, file)
    Marshal.dump($game_map.name, file)
  end
end

class Game_Map
def name
    @map_infos  = load_data("Data/MapInfos.rxdata")
    return   @map_infos[map_id].name
  end
end


Haut
 Profil  
 
 Sujet du message: Re: Menu de sauvegarde
MessagePublié: 30 Aoû 2010, 19:59 
Villageois (Nv 1)

Inscrit le: 20 Juil 2010, 17:41
Messages: 6
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

salut j'aime beaucoup se script mais dans PROJET ZELDA ENGINE j'essaye de mettre l'option sauvegarde mais sa me fous un sacre beug donc si quelqu'un peu m'aider voila le message
Image


Haut
 Profil  
 
Afficher les messages depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 2 messages ] 

Heures au format UTC + 1 heure [ Heure d’été ]


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Rechercher pour:
Sauter vers:  
cron
RPG Creative Forum version 5 ; Tous droits réservés
phpBB Group (Traduit par Xaphos)
Optimisé pour une résolution 1024*728