Tasslehoff
Messages : 284
| Sujet: Retour à une auberge ou checkpoint Vx Mer 10 Nov - 14:46 | |
| Voilà, j'ai adapté mon petit script pour Vx, alors le voilà: - 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 < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start super #------------ pvrecup = 25 #pourcentage de recuperation des pv après un game over message = "Ou suis-je? Ce lieu me parait familier, je me \n suis surrement évanoui..." #Message aparaissant, utiliser " \n " pour un retour à la ligne. img_de_fond = "lou-goku" # Nom sans extension de l'image d'arrière plan qui # doit être importée dans le dossier "Pictures" musique = "Theme4" #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 50 et 150 #------------ # 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 = 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) $game_temp.next_scene = "prout" #Apparition du message $game_message.texts.push(message.to_s) @window = Window_Message.new
#Modification des pv(ou hp) for i in 0..($game_party.members.size - 1) $game_party.members[i].hp = $game_party.members[i].maxhp * pvrecup / 100 end # Verifie si le combat n'a pas été lancé en passant par l'éditeur if $BTEST $scene = nil end end def perform_transition #Arret des sons RPG::BGM.fade(80) #Transition et rafraichissement graphique Graphics.transition(40) Graphics.update #Precise au jeu que l'on est plus en combat $game_temp.in_battle = false end
#-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- def terminate super @window.terminate_message @window.dispose @sprite.dispose end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super @window.update if Input.trigger?(Input::C) teleport end end
#Teleportation def teleport $game_map.screen.start_flash(Color.new(-255,-255,-255,-255),1) $game_map.setup($game_map.teleport_id) $game_player.moveto($game_map.teleport_x, $game_map.teleport_y) $game_player.refresh Graphics.freeze Audio.bgm_fade(2000) $scene = Scene_Map.new $game_map.screen.start_flash(Color.new(255,255,255,255),30) end
end
####################################################################### class Game_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 alias old_initialize initialize def initialize @teleport_id = nil @teleport_x = nil @teleport_y = nil old_initialize end end
Dernière édition par Tasslehoff le Jeu 1 Déc - 21:37, édité 1 fois | |
|
F
Messages : 46
| Sujet: Re: Retour à une auberge ou checkpoint Vx Mer 10 Nov - 15:31 | |
| Merci Tass' et brendan67 ! | |
|
Magicalichigo
Messages : 3283
| Sujet: Re: Retour à une auberge ou checkpoint Vx Mer 10 Nov - 15:38 | |
| Ah c'est super comme ca je peux aussi le mettre sur mon projet VX xD | |
|
Contenu sponsorisé
| Sujet: Re: Retour à une auberge ou checkpoint Vx | |
| |
|