FAQRechercherPortailAccueilAccueilForumPraline au mielS'enregistrerConnexionMembres


Partagez | 
 

 Retour à l'auberge au lieu d'un game over

Aller en bas 
AuteurMessage
Tasslehoff

avatar

Messages : 284


MessageSujet: 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 Sourit

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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kaila
  
  
avatar

Messages : 4253


MessageSujet: 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Tasslehoff

avatar

Messages : 284


MessageSujet: Re: Retour à l'auberge au lieu d'un game over   Dim 4 Juil - 19:07

Arf oui j'édite et merci.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Aenki
   
   
avatar

Messages : 6913


MessageSujet: Re: Retour à l'auberge au lieu d'un game over   Lun 5 Juil - 19:10

Ouais ça peut être sympa. Clin d\'oeil
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Noctis MoonBlade

avatar

Messages : 179


MessageSujet: 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


~ MoonBlade Productions ~
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
kilam1110

avatar

Messages : 746


MessageSujet: 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. Clin d\'oeil
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Tasslehoff

avatar

Messages : 284


MessageSujet: 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Magicalichigo
   
   
avatar

Messages : 3283


MessageSujet: 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 Clin d\'oeil


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Noctis MoonBlade

avatar

Messages : 179


MessageSujet: Re: Retour à l'auberge au lieu d'un game over   Mar 9 Nov - 17:15

Parfais! Merci bcp ça sera très utile Clin d\'oeil


~ MoonBlade Productions ~
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Retour à l'auberge au lieu d'un game over   

Revenir en haut Aller en bas
 
Retour à l'auberge au lieu d'un game over
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Retour à l'auberge au lieu d'un game over
» Retour à une auberge ou checkpoint Vx
» retour au travail....
» Savoir sur quel objet un évènement a eu lieu
» Le 23 mai Varadero me voilà/et c'est grâce à vous/retour à la réalité

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker Détente :: Entrepôt :: Scripts :: Scripts Xp-
Sauter vers: