Auteur(s) :
- Tasslehoff (http://rmd2.bbactif.com/forum.htm)
Description :
Ce Script permet de revenir dans un lieu après avoir perdu, avec en plus la possibilité de créer un pourcentage de récupération de point de vie (PV) .
Script :
Utilisation :
Créer un évènement avec la commande : Script : preteleport(x,y,id_de_la_map) avec x = coordonnée x du héros, y = coordonnée y du héros et id_de_la_map = l'id de la carte où le héros réapparaîtras après avoir perdu .
Note importante :
- Non testé
- Tasslehoff (http://rmd2.bbactif.com/forum.htm)
Description :
Ce Script permet de revenir dans un lieu après avoir perdu, avec en plus la possibilité de créer un pourcentage de récupération de point de vie (PV) .
Script :
- Code:
#=====================================================================
# ■ Scene_Gameover redéfini Vx
# Permet de retourner à une auberge ou à un checkpoint à la place d'un game over.
#=====================================================================
# Auteur: Tasslehoff
# Version: 1.0
# Date: 10/11/2010
#=====================================================================
#
# Écrire dans un script ou une insertion de script:
#
# - preteleport(x,y,id_de_la_map)
#
# Pour enregistrer l'endroit de la prochaine téléportation (à utiliser dans une
# auberge donc).Vous pouvez ne préciser aucun paramètre, le lieu où se trouve
# le héros remplacera les paramètres.
#
# - $scene = Scene_Gameover.new
#
# Pour effectuer la téléportation (dans l'auberge précédemment enregistrée).
#
#======================================================================
# Les paramètres pouvant êtres définis dans le script sont
# entre les lignes 32 et 40.
#
#======================================================================
class Scene_Gameover
def main
#------------
pvrecup = 25 #pourcentage de recuperation des pv après un game over
img_de_fond = "test" # 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 0 et 150
#------------
#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
# Verifie si le lieu de la téléportation a été enregistré
if $idteleport == nil then
print("Vous n'avez pas enregistré le lieu de la téléportation")
exit
end
#Image d'arrière plan
@sprite = Sprite.new
#@sprite.bitmap = RPG::Cache.picture(img_de_fond.to_s)
@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)
#Transition de l'écran
Graphics.transition
#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
#Boucle de rafraichissement
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
@sprite.dispose
end
#Rafraichissement (à chaque frame)
def 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($idteleport)
$game_player.moveto($xteleport, $yteleport)
$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
#######################################################################
def preteleport(x= $game_player.x, y=$game_player.y, id=@map_id)
$idteleport = id
$xteleport = x
$yteleport = y
$scene = Scene_Map.new
end
Utilisation :
Créer un évènement avec la commande : Script : preteleport(x,y,id_de_la_map) avec x = coordonnée x du héros, y = coordonnée y du héros et id_de_la_map = l'id de la carte où le héros réapparaîtras après avoir perdu .
Note importante :
- Non testé