Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: [VX] Menu Sauver&Charger en APIs Mer 18 Mar 2009 - 18:36 | |
| 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 ! - Spoiler:
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
Dernière édition par berka le Mer 18 Mar 2009 - 20:17, édité 1 fois |
|
Invité
| Sujet: Re: [VX] Menu Sauver&Charger en APIs Mer 18 Mar 2009 - 18:50 | |
| Le menu de base de windows? Celui pour ouvrir des fichiers? Faut vraiment que je m'améliore avec les DLL, c'est l'avenir! Bravo pour ce script! |
|
Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: Re: [VX] Menu Sauver&Charger en APIs Mer 18 Mar 2009 - 18:53 | |
| exact, le meme ! En revanche, je me demande qui arrivera à l'intégrer dans son jeu ^^ Les dlls, c'est tout simplement magique berka |
|
Illusionniste Lv.12
Age : 34 Inscrit le : 27/12/2008 Messages : 757
| Sujet: Re: [VX] Menu Sauver&Charger en APIs Mer 18 Mar 2009 - 19:37 | |
| ou ah joli script Les DLL sont vraiment pratiques mais je les trouve bizarre |
|
Va-nu-pieds Lv.4
Age : 34 Inscrit le : 01/09/2008 Messages : 72
| Sujet: Re: [VX] Menu Sauver&Charger en APIs Mer 18 Mar 2009 - 21:18 | |
| Magnifique ! |
|
| Sujet: Re: [VX] Menu Sauver&Charger en APIs | |
| |
|