1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
| #=====================================================================
# ■ 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
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 |