Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Jeux: puie z / Jeux: Citymaime - Chapitre 1 / Jeux: Mer, îles et fous / News: Du neuf dans le making / News: Muma|Rope est disponible en (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

361 connectés actuellement

30732319 visiteurs
depuis l'ouverture

2297 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Tashiroworld

Lunae - le bazar d'Emz0

Alex d'Or

Zarok

Tous nos partenaires

Devenir
partenaire



Scene_Gameover redéfini 1.1

Permet de retourner au précédent checkpoint (auberge...) en cas de défaite.

Script pour RPG Maker XP
Ecrit par Tassle
Publié par Tassle (lui envoyer un message privé)
Signaler un script cassé

❤ 0

Auteur : Tassle
Logiciel : RPG Maker XP
Nombre de scripts : 1

Installation
À placer au-dessus de du script main. Plus de détails dans le script.

Portion de code : Tout sélectionner

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
#=====================================================================
# ■ 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
#
# 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 surement é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 $idteleport == 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 = $idteleport
    $game_temp.player_new_x = $xteleport
    $game_temp.player_new_y = $yteleport
    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
 
#######################################################################
 
def preteleport(x= $game_player.x, y=$game_player.y, id=@map_id)
 $idteleport = id
 $xteleport = x
 $yteleport = y
 $scene = Scene_Map.new
 end



En cas de plaintes, veuillez les adresser à mon chien. image


Mis à jour le 21 novembre 2020.






-Shaedyx- - posté le 25/09/2011 à 11:12:26 (267 messages postés)

❤ 0

Beau travail car il n'ya que ici que je puisse trouver ce script :sourit

sinon en combien de temps se crée un script comme celui-ci ?

Autrefois nommé Makowne


Likuu - posté le 25/09/2011 à 12:04:13 (1142 messages postés)

❤ 0

* BLOB *

Ah sympa je cherchait justement un scrit comme ca pour mon projet :D

Dessinateur dans la merdeuhhh !!


zou - posté le 26/09/2011 à 22:04:39 (2197 messages postés)

❤ 0

Portion de code : Tout sélectionner

1
2
3
4
5
6
def preteleport(x= $game_player.x, y=$game_player.y, id=@map_id)
 $idteleport = id
 $xteleport = x
 $yteleport = y
 $scene = Scene_Map.new
end


Evites d'utiliser des variables globale ($). Deux raisons :
->C'est mauvais ces variables là surtout pour ce que tu en fais, 3 variables globale pour rien,
->Elles ne seront pas sauvegardées et une initialisation est obligé à chaque fois que l'on redémare le jeu, de plus c'est variables restent identique pour toutes les parties, donc TRES grosse source de bug.

Pour y remédier le mieux c'est de faire des variables dans une classe qui existe déjà :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
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


Voilà pour y acceder $game_map.teleport_x
A toi de modifier le reste :sourit


Tasslehoff - posté le 27/09/2011 à 15:59:32 (5274 messages postés)

❤ 0

Disciple de Pythagolf

Ouaip, en même temps ça fait longtemps que je l'ai proposé ce script, et encore plus longtemps que je l'ai fait. D'ailleurs rien qu'en voyant la def en dehors d'une classe ça me fait mal en mon fort intérieur. :F
Je vais modifier tout ça.

Edit : Voilà, ça devrait fonctionner.

Portion de code : Tout sélectionner

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



~~


zou - posté le 27/09/2011 à 18:51:26 (2197 messages postés)

❤ 0

Ligne 60 :sifflote

Citation:

Ouaip, en même temps ça fait longtemps que je l'ai proposé ce script


Je confirme, c'est bien long le staff :sriden


Tasslehoff - posté le 27/09/2011 à 19:03:33 (5274 messages postés)

❤ 0

Disciple de Pythagolf

Oups, corrigé.

~~


FWmaker - posté le 23/10/2011 à 13:53:24 (1 messages postés)

❤ 0

Vous allez me dire que je suis nul mais comment créer un checkpoint?

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers