Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Dread Mac Farlane - episode 4 / Sorties: Star Trek: Glorious Wolf - (...) / Sorties: Dread Mac Farlane - episode 3 / News: Plein d'images cools créées par (...) / Sorties: Star Trek: Glorious Wolf - (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

377 connectés actuellement

29192258 visiteurs
depuis l'ouverture

7309 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Le Comptoir Du clickeur

Lunae - le bazar d'Emz0

RPG Fusion

Alex d'Or

Tous nos partenaires

Devenir
partenaire



Scene_Delete

Effacer une partie sauvegardée depuis l'écran titre.

Script pour RPG Maker XP
Ecrit par gagner
Publié par gagner (lui envoyer un message privé)
Signaler un script cassé

❤ 0

Auteur : gagner
Logiciel : RPG Maker XP
Nombre de scripts : 2

Description : Ce script permet au joueur d'effacer une sauvegarde depuis l'écran titre.

Pour commencer, remplacez Scene_Title par le code suivant :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
#==============================================================================
# ¦ Scene_Title modifié par gagner
# L'écran titre est doté de la fonction "Effacer une partie"
# Ne peut circuler sans le nom de son modificateur
#==============================================================================
 
class Scene_Title
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def main  # quand l'écran titre doit apparaitre
    # ????????
    if $BTEST
      battle_test
      return
    end
    # ??????????
    $data_actors        = load_data("Data/Actors.rxdata")  # chargement des persos
    $data_classes       = load_data("Data/Classes.rxdata")  # des classes
    $data_skills        = load_data("Data/Skills.rxdata")  # des compétences
    $data_items         = load_data("Data/Items.rxdata")  # des objets
    $data_weapons       = load_data("Data/Weapons.rxdata")  # des armes
    $data_armors        = load_data("Data/Armors.rxdata")  # des armures
    $data_enemies       = load_data("Data/Enemies.rxdata")  #  et de tout le reste 
    $data_troops        = load_data("Data/Troops.rxdata")
    $data_states        = load_data("Data/States.rxdata")
    $data_animations    = load_data("Data/Animations.rxdata")
    $data_tilesets      = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system        = load_data("Data/System.rxdata")
    # ?????????????
    $game_system = Game_System.new
    # ?????????????
    @sprite = Sprite.new  # on créé un image
    @sprite.bitmap = RPG::Cache.title($data_system.title_name)  # cette image est celle de l'écran titre
    # ????????????
    s1 = "Nouvelle partie"  # premier choix
    s2 = "Charger une partie"  # deuxième choix
    s3 = "Effacer une partie"  # le nouveau choix (3ème choix)
    s4 = "Quitter"  # 4ème choix
    @command_window = Window_Command.new(192, [s1, s2, s3, s4])  # on créé le cadre
    @command_window.back_opacity = 160  # sa transparence
    @command_window.x = 320 - @command_window.width / 2  # sa position horizontale
    @command_window.y = 288  # sa position verticale
    # 
    @continue_enabled = false
    for i in 0..3
      if FileTest.exist?("Save#{i+1}.rxdata")
        @continue_enabled = true
      end
    end
    if @continue_enabled
      @command_window.index = 1
    else
      @command_window.disable_item(1)
      @command_window.disable_item(2)      
    end
    # les lignes précédentes indiquent que quand il y a un fichier qui existe le curseur va direct
    # sur "Charger une partie", dans le cas contraire celui-ci est grisé, ainsi que "Effacer une partie"
    $game_system.bgm_play($data_system.title_bgm)  # musique de l'écran titre
    Audio.me_stop  # on arrete le ME (music effects)
    Audio.bgs_stop  # et le BGS (background sounds)
    # 
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @sprite.bitmap.dispose
    @sprite.dispose
    # les lignes précédentes préparent l'écran titre
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    # ????????????
    @command_window.update
    # C ??????????
    if Input.trigger?(Input::C)  # si C (= barre espace) est pressée
      # ???????????????????
      case @command_window.index
      when 0  # quand curseur sur "nouvelle partie"
        command_new_game  # emmène sur "def command new_game"
      when 1  # quand curseur sur "charger partie"
        command_continue  # emmène sur "def command continue"
      when 2  # quand curseur sur "effacer partie"
        command_delete  # emmène sur "def command delete"
      when 3  # quand curseur sur "quitter"
        command_shutdown  # emmène sur "def command shutdown"
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? ???? : ??????
  #--------------------------------------------------------------------------
  def command_new_game
    # ?? SE ???
    $game_system.se_play($data_system.decision_se)  # joue le SE de validation
    # BGM ???
    Audio.bgm_stop  # on arrete le BGM (= background music), ici la musique de l'écran titre
    # 
    Graphics.frame_count = 0
    # après on met tout ce qu'il faut pour pouvoir jouer :
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.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)  # map de départ
    # ?????????????
    $game_player.moveto($data_system.start_x, $data_system.start_y)  # position x et y de départ
    # ????????????
    $game_player.refresh
    # ??????????? BGM ? BGS ??????????
    $game_map.autoplay
    # ?????? (????????)
    $game_map.update
    # ??????????
    $scene = Scene_Map.new  # on va sur la map
  end
  #--------------------------------------------------------------------------
  # ? ???? : ???????
  #--------------------------------------------------------------------------
  def command_continue
    # ?????????????
    unless @continue_enabled  # si aucun fichier n'existe
      $game_system.se_play($data_system.buzzer_se)  # dans ce cas :  SE d'erreur
      return
    end
    # sinon
    $game_system.se_play($data_system.decision_se)  # SE de validation
    # 
    $scene = Scene_Load.new  # on va choisir le fichier à charger
  end
  #--------------------------------------------------------------------------
  # ? ???? : ???????
  #--------------------------------------------------------------------------
  def command_shutdown
    # ?? SE ???
    $game_system.se_play($data_system.decision_se)  # SE de validation
    # BGM?BGS?ME ????????
    Audio.bgm_fade(800)  # on stoppe doucement le BGM
    Audio.bgs_fade(800)  # on stoppe doucement le BGS
    Audio.me_fade(800)  # on stoppe doucement le ME
    # ???????
    $scene = nil  # scene = rien autrement dit on ferme tout
  end
  #
  #
  #
  def command_delete  # notre fonction adorée, enfin le meilleur^^
    unless @continue_enabled  # si aucun fichier n'existe
      $game_system.se_play($data_system.buzzer_se)  # dans ce cas :  SE d'erreur
      return
    end
    # sinon
    $game_system.se_play($data_system.decision_se)  # SE de validation
    $scene = Scene_Delete.new  # on va choisir le fichier a supprimer
    # la ligne précédente vous invite à voir le script Scene_Delete
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def battle_test  # cette fonction n'apparait pas dans l'écran titre c'est pour faire un test que
    # vous pouvez faire dans base de données/groupe de monstres
    # donc je ne vais pas détailler c'est pareil que pour le reste
    #
    $data_actors        = load_data("Data/BT_Actors.rxdata")
    $data_classes       = load_data("Data/BT_Classes.rxdata")
    $data_skills        = load_data("Data/BT_Skills.rxdata")
    $data_items         = load_data("Data/BT_Items.rxdata")
    $data_weapons       = load_data("Data/BT_Weapons.rxdata")
    $data_armors        = load_data("Data/BT_Armors.rxdata")
    $data_enemies       = load_data("Data/BT_Enemies.rxdata")
    $data_troops        = load_data("Data/BT_Troops.rxdata")
    $data_states        = load_data("Data/BT_States.rxdata")
    $data_animations    = load_data("Data/BT_Animations.rxdata")
    $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
    $data_system        = load_data("Data/BT_System.rxdata")
    # ??????????????????????
    Graphics.frame_count = 0
    # ??????????????
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    # ??????????????????
    $game_party.setup_battle_test_members
    # ???? ID??????????????????
    $game_temp.battle_troop_id = $data_system.test_troop_id
    $game_temp.battle_can_escape = true
    $game_map.battleback_name = $data_system.battleback_name
    # ????? SE ???
    $game_system.se_play($data_system.battle_start_se)
    # ??? BGM ???
    $game_system.bgm_play($game_system.battle_bgm)
    # ??????????
    $scene = Scene_Battle.new
  end
end  # de Scene_Title



Faites un nouveau script au dessus de Main, appelez le Scene_Delete, et collez le code suivant à l'intérieur (la phrase basique^^)

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#==============================================================================
# ¦ Scene_Delete créé par gagner
# Supprimer un fichier à partir de l'écran titre
# Ne peut circuler sans le nom de son créateur
#==============================================================================
 
class Scene_Delete < Scene_File
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def initialize  # quand on appelle Scene_Delete
    # bref les quelques lignes suivantes sont du blabla
    $game_temp = Game_Temp.new
    # ??????????????????
    $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, "r")
        if file.mtime > latest_time
          latest_time = file.mtime
          $game_temp.last_file_index = i
        end
        file.close
      end
    end
    super("Supprimer quelle partie ?")  # affiche tout simplement cette phrase
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def on_decision(filename)  # quand on a choisi le fichier a supprimer
    # ????????????
    unless FileTest.exist?(filename) # si le fichier n'existe pas
      # ??? SE ???
      $game_system.se_play($data_system.buzzer_se)  # dans ce cas : SE d'erreur
      return
    end
    # sinon
    File.delete(filename, "Save1")  # Supprime le fichier sélectionné
  rescue Errno::ENOENT # Comme le fichier n'existe plus, le logiciel ne trouve pas le fichier, 
    # cette ligne empeche de faire foirer le logiciel, et ainsi passer comme si de rien n'était
    Audio.se_play("Audio/SE/048-Explosion01")  # son quand le fichier est supprimé
    $scene = Scene_Delete.new # actualise pour qu'on ne voit plus le fichier affiché
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def on_cancel  # annulation
    # ????? SE ???
    $game_system.se_play($data_system.cancel_se)   # SE d'annulation
    # ???????????
    $scene = Scene_Title.new  # retour à l'écran titre
  end
  
end  # de Scene_Delete



Je l'ai essayé sur un projet vierge ... ET CA MARCHE !

ATTENTION !
Si vous avez changé certains scripts (comme Window_SaveFile par exemple) il se peut que ca ne fonctionne pas.


Voilà tout !


Mis à jour le 21 novembre 2020.






RPGuichi - posté le 05/10/2008 à 15:25:48 (2 messages postés)

❤ 0

Maitre du Laby

Super script !

:biereBRAVO:biere

L'ile du Laby -- L'ile du Laby #2 c'est pour bientot !!!


theox - posté le 11/10/2008 à 18:55:19 (4 messages postés)

❤ 0

Euh march t-il sur Vx?
:sonic


Blackis - posté le 31/10/2008 à 07:58:04 (8 messages postés)

❤ 0

Nan il marche pas, après on peut plus charger/effacer la partie :doute3

To be or not to be. That is the question


7eme T - posté le 14/03/2009 à 15:56:28 (1 messages postés)

❤ 0

[color=brown][/color][size=24][/size]:sonic Magnifique !!! :sonic


Ipnoz - posté le 18/03/2009 à 14:57:30 (539 messages postés)

❤ 0

Nostalgique!

Ptit script sympatoche effectivement..

Et d'ailleurs fort utile ;)

Moi, j'active les flocons d'oniro :D


nouillera - posté le 01/12/2010 à 13:56:28 (91 messages postés)

❤ 0

je l'ai essayé. Il marche sans problèmes

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers