Tasslehoff
Messages : 284
| Sujet: Retour à l'auberge au lieu d'un game over Dim 4 Juil - 18:24 | |
| Comme j'ai passé la soirée de vendredi dans la voiture, je me suis dis que j'allais coder un peu et j'ai fait ce script Ce script permet de retourner dans l'auberge précédente au lieu d'un game-over. Détails dans le script. - Code:
-
#===================================================================== # ■ Scene_Gameover redéfini # Permet de retourner à un checkpoint à la place d'un game over. #===================================================================== # Auteur: Tasslehoff # Version: 1.1 # Date: 04/07/2010 #===================================================================== # # Écrire dans un script ou une insertion de script: # # - preteleport(x,y,id_de_la_map) # # Pour enregistrer l'endroit du checkpoint. # Vous pouvez ne préciser aucun paramètre, le lieu où se trouve # le héros remplacera les paramètres. # # - $scene = Scene_Gameover.new # OU # - "Game Over" dans les commandes de l'event. # Pour effectuer la téléportation (au checkpoint précédemment enregistré). # #====================================================================== # Les paramètres pouvant êtres définis dans le script sont # entre les lignes 32 et 43. #====================================================================== class Scene_Gameover def main #------------ pvrecup = 25 #pourcentage de recuperation des pv après un game over message = "Ou suis-je? Ce lieu me parait familier, je me \nsuis surrement évanoui..." #Message aparaissant, utiliser " \n " pour un retour à la ligne. img_de_fond = "pitit_logo" # Nom sans extension de l'image d'arrière plan qui # doit être importée dans le dossier "Pictures" musique = "058-Slow01" #Nom sans extension de la musique qui doit être #importée dans le dossier "bgm" volume = 75 #Volume de la musique, entre 0 et 100 tempo = 100 #Tempo de la musique, entre 0 et 150 #------------ #Arret des sons $game_system.bgs_play(nil) #Transition et rafraichissement graphique Graphics.transition(40) Graphics.update #Precise au jeu que l'on est plus en combat $game_temp.in_battle = false #Empèche ce script de se répeter à l'infini $game_temp.gameover = false # Verifie si le checkpoint a été enregistré if $game_map.teleport_id == nil then print("Vous n'avez pas enregistré le checkpoint") exit end #Image d'arrière plan @sprite = Sprite.new @sprite.bitmap = RPG::Cache.picture(img_de_fond.to_s) #Lancement de la musique Audio.bgm_play("Audio/BGM/" + musique.to_s, volume.to_i, tempo.to_i) #Apparition du message $game_temp.message_text = message.to_s @window = Window_Message.new #Transition de l'écran Graphics.transition #Modification des pv(ou hp) for i in 0..($game_party.actors.size - 1) $game_party.actors[i].hp += $game_party.actors[i].maxhp * pvrecup / 100 end # Verifie si le combat n'a pas été lancé en passant par l'éditeur if $BTEST $scene = nil end #Boucle de rafraichissement loop do Graphics.update Input.update update if $scene != self break end end @window.dispose @sprite.dispose end #Rafraichissement (à chaque frame) def update @window.update if Input.trigger?(Input::C) teleport end end #Teleportation def teleport $game_screen.start_flash(Color.new(-255, -255, -255), 1) $game_temp.player_transferring = true $game_temp.player_new_map_id = $game_map.teleport_id $game_temp.player_new_x = $game_map.teleport_x $game_temp.player_new_y = $game_map.teleport_y Graphics.freeze $game_temp.transition_processing = true $game_temp.transition_name = "003-Blind03" Audio.bgm_fade(2000) $scene = Scene_Map.new $game_screen.start_flash(Color.new(0, 0, 0), 80) end end ####################################################################### class Interpreter def preteleport(x= $game_player.x, y=$game_player.y, id=@map_id) $game_map.teleport_id = id $game_map.teleport_x = x $game_map.teleport_y = y $scene = Scene_Map.new end end ####################################################################### class Game_Map attr_accessor :teleport_id, :teleport_x, :teleport_y def initialize @map_id = 0 @display_x = 0 @display_y = 0 ### @teleport_id = nil @teleport_x = nil @teleport_y = nil end end
Enjoy.
Dernière édition par Tasslehoff le Ven 7 Oct - 14:52, édité 4 fois | |
|
Kaila
Messages : 4254
| Sujet: Re: Retour à l'auberge au lieu d'un game over Dim 4 Juil - 18:51 | |
| Tu pouvais aussi tout simplement redéfinir les fonctions qui appellent le game over.
Je savais pas que tu scriptais. Enfin, on voit quand même que tu débutes, mais c'est pas mal. | |
|
Tasslehoff
Messages : 284
| Sujet: Re: Retour à l'auberge au lieu d'un game over Dim 4 Juil - 19:07 | |
| Arf oui j'édite et merci. | |
|
Aenki
Messages : 6953
| Sujet: Re: Retour à l'auberge au lieu d'un game over Lun 5 Juil - 19:10 | |
| Ouais ça peut être sympa. | |
|
Noctis MoonBlade
Messages : 179
| Sujet: Re: Retour à l'auberge au lieu d'un game over Dim 7 Nov - 0:15 | |
| On peut changer l'auberge par un "checkpoint" qu'on pourrait définir par coordonnées X Y? Genre si tu meurs dans le donjon de la forêt tu reviens à l'entrée^^ Ca me serait super utile pour mon projet =D | |
|
kilam1110
Messages : 746
| Sujet: Re: Retour à l'auberge au lieu d'un game over Dim 7 Nov - 0:34 | |
| - Code:
-
$ g a m e _ t e m p . p l a y e r _ n e w _ m a p _ i d = $ i d t e l e p o r t $ g a m e _ t e m p . p l a y e r _ n e w _ x = $ x t e l e p o r t $ g a m e _ t e m p . p l a y e r _ n e w _ y = $ y t e l e p o r t En remplaçant les $ x-y-id par tes coordonnées + id de la map, ça doit le faire. | |
|
Tasslehoff
Messages : 284
| Sujet: Re: Retour à l'auberge au lieu d'un game over Lun 8 Nov - 14:18 | |
| - NightKill a écrit:
- On peut changer l'auberge par un "checkpoint" qu'on pourrait définir par coordonnées X Y?
Genre si tu meurs dans le donjon de la forêt tu reviens à l'entrée^^ Ca me serait super utile pour mon projet =D Tout a fait. En fait quand je dis "auberge" c'est juste un exemple, ça peut être n'importe quoi. Tu as deux façons de faire: -soit tu utilise la commande preteleport quand le heros est sur le checkpoint et tu laisse tomber les paramètres (les trucs entres parenthèses) -soit tu utilise la commande preteleport et tu remplis les paramètres selon les coordonnés et l'id de la map de ton checkpoint. | |
|
Magicalichigo
Messages : 3283
| Sujet: Re: Retour à l'auberge au lieu d'un game over Lun 8 Nov - 20:29 | |
| Ah je cherchais justement un script comme ca ^^ Merci Tass | |
|
Noctis MoonBlade
Messages : 179
| Sujet: Re: Retour à l'auberge au lieu d'un game over Mar 9 Nov - 17:15 | |
| Parfais! Merci bcp ça sera très utile | |
|
Contenu sponsorisé
| Sujet: Re: Retour à l'auberge au lieu d'un game over | |
| |
|