Partagez
Aller en bas
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 28
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Menu Sauver&Charger en APIs ? Empty Menu Sauver&Charger en APIs ?

le Mer 18 Mar 2009 - 19:35
Bonsoir à tous !

Je ne savais pas trop où poster ce script... j'ai opté pour ici !

Ce script permet d'utiliser le menu de base de windows pour gérer les sauvegardes...
Assez inutile mais marrant à programmer, je me suis dis que ca pouvait intéresser quelques personnes !

A coller au dessus de main:
Code:
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#                          Sauvegarde Windows             
#  par berka                        v 1.0                    rgss2
#                        http://www.rpgmakervx-fr.com
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# A coller au dessus de main
# dans un événement, appel de script:
# sauver    : pour ouvrir la fenetre de sauvegarde
# charger  : pour ouvrir la fenetre de chargement
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Vous pouvez charger des sauvegardes d'autres projets, mais les données systeme
# ne seront pas chargées ! (maps, events...)
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
module Berka
  module ChargApi
    $LOAD_PATH<<'./'
    Filtre=["Sauvegarde",".rvdata"]
    Charger="Charger une Sauvegarde"
    Sauver="Sauver le Jeu"
    Conf="La sauvegarde %s existe deja, voulez vous l'ecraser ?"
    ConfTitre="Confirmation"
    Ret="Scene_Map"
  end
end
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
def handle
  h=Win32API.new('kernel32','GetPrivateProfileString','pppplp','l')
  h.call("Game","Title","",t="\0"*256,256,"./Game.ini")
  Win32API.new('user32','FindWindow','pp','i').call("RGSS Player",t.delete!("\0"))
end
include Berka::ChargApi
class Game_Interpreter;def list_clr;@list=nil;end;end
def charger
  ret,filtre="\0"*1024,"#{Filtre[0]}(*#{Filtre[1]})\0*#{Filtre[1]}\0\0"
  arg=[76,handle,0,filtre,0,0,1,ret,ret.size,0,0,0,Charger,
  0x800|0x1000|4,0,0,".",0,0,0,].pack("I3pI3pI4pIS2pI3")
  return if Win32API.new('comdlg32','GetOpenFileName','p','i').call(arg)==0
  Scene_File.new(false,false,true).read_save_data(f=File.open(ret.rstrip,"rb"))
  f.close;$scene=eval("$scene=#{Ret}.new")
end
def sauver
  ret,filtre="\0"*1024,"#{Filtre[0]}(*#{Filtre[1]})\0*#{Filtre[1]}\0\0"
  arg=[76,handle,0,filtre,0,0,1,ret,ret.size,0,0,0,Sauver,
  4|0x1000|0x80000,0,0,".",0,0,0].pack("I3pI3pI4pIS2pI3")
  return if Win32API.new('comdlg32','GetSaveFileName','p','i').call(arg)==0
  sauver if !(confirm?(ret.rstrip)if FileTest.exist?(ret.rstrip))
  $game_map.interpreter.list_clr
  Scene_File.new(true,false,true).write_save_data(f=File.open(ret.rstrip,"wb"))
  f.close;$scene=eval("$scene=#{Ret}.new")
end
def confirm?(f)
  t=sprintf(Conf,f.split("\\")[-1].gsub(Filtre[1],""))
  Win32API.new('user32','MessageBox','lppl','i').call(0,t,ConfTitre,36)==6
end

Pour sauvegarder votre jeu, appelez via un script:
Code:
sauver
Pour charger votre jeu,
Code:
charger

Vous pouvez donc choisir le nom du fichier et son emplacement !

Voila tout !
Bonne soirée,
berka
Philou
Philou
Membre

Nombre de messages : 91
Age : 30
Localisation : Canada,Québec
Distinction : aucune
Date d'inscription : 15/08/2008

Menu Sauver&Charger en APIs ? Empty Re: Menu Sauver&Charger en APIs ?

le Dim 22 Mar 2009 - 16:45
Cool! C'est intéressant comme concept je t'avoue! Menu Sauver&Charger en APIs ? 844836
RPG-man
RPG-man
Membre

Nombre de messages : 55
Age : 25
Distinction : aucune
Date d'inscription : 16/03/2009

Menu Sauver&Charger en APIs ? Empty Re: Menu Sauver&Charger en APIs ?

le Jeu 2 Avr 2009 - 10:03
Super!
Berka, tu sais que tu me sors de la mouise!
Bon, certes, j'ai fait un script de chargement pour rien mais là j'ai le truc de Windows! MERCI!!!!!

Edit : j'ai parlé trop vite.
Je l'ai arangé pour qu'il ne charge pas une sauvegarde mais une image.
Pour le chargement là, il marche.
Cependant, les autres images que je dois charger pour le programme, et bien, ne se chargent plus à partir du répertoire du projet mais à partir de la racine du disque -_-"
Si il y a une solution ^^
Contenu sponsorisé

Menu Sauver&Charger en APIs ? Empty Re: Menu Sauver&Charger en APIs ?

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum