Oniromancie: Scripts - Scene_Delete


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

Jeux: Monster World RPG / Jeux: Pif et Hercule / News: Mise à jour de RPG Maker 2003 / Tutos: Création de charset / Jeux: FAYLINAWA /

Chat  (57 connectés)

Bienvenue
visiteur !






publicité RPG Maker!

Statistiques

Liste des
membres


Contact

76 connectés actuellement

9254055 visiteurs
depuis l'ouverture

1338 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires




TOP
GAMEMAKING


Les 5 plus
visités

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

RPG Sunrise

Dragon Making

Nebula-Académie

Les deux derniers

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




Scene_Delete
Script pour RPG Maker XP
Ecrit par gagner

Pour commencer remplacez Scene_Title par le code suivant :



#==============================================================================
# [ 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^^)




#==============================================================================
# [ 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 changez certains scripts (comme Window_SaveFile par exemple) il se peut que ca ne fonctionne pas.


Voila tout !


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

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)

Euh march t-il sur Vx?
:sonic


Blackis (visiteur non enregistré) - posté le 31/10/2008 à 07:58:04.

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


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

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


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

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. (92 messages postés)

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

Plan du site:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Scripts | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmarès
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources: Jeux | Programmes | Packs de ressources | Midis | Eléments séparés | Sprites
RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis