- CoryantheMembre
- Nombre de messages : 15
Distinction : aucune
Date d'inscription : 20/07/2019
Game over personnalisé avec un script
Dim 21 Juil 2019 - 1:00
Rebonjour, c'est encore moi !
Je veux faire un game over personnalisé. J'utilise le script de Kread-Ex :
J'ai créé un événement commun spécial (le premier) mais le problème c'est que lorsque je lance mon jeu : j'ai un message d'erreur.
Il y est écrit :
Script 'Game _Interpreter' line 43: NoMethodError occurred
undefined method 'game_over_event_id= 'for nil:NilClass
Quelqu'un saurait-il m'expliquer ce que je dois faire ? ...
Merci d'avance pour votre aide
Je veux faire un game over personnalisé. J'utilise le script de Kread-Ex :
- Code:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# ▼ Game Over Common Event
# Author: Kread-EX
# Version 1.02
# Release date: 17/12/2011
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#-------------------------------------------------------------------------------------------------
# ▼ UPDATES
#-------------------------------------------------------------------------------------------------
# # 19/12/2011. Added the option to replay Map BGM.
# # 18/12/2011. Fixed an infinite loop.
#-------------------------------------------------------------------------------------------------
# ▼ TERMS OF USAGE
#-------------------------------------------------------------------------------------------------
# # None. Made that in a few minutes.
#-------------------------------------------------------------------------------------------------
# ▼ INTRODUCTION
#-------------------------------------------------------------------------------------------------
# # Overrides the standard Game Over with a common event on the map.
#-------------------------------------------------------------------------------------------------
# ▼ INSTRUCTIONS
#-------------------------------------------------------------------------------------------------
# # By default, use the 1st common event as game over. You can change this with a
# # script call:
# # $game_system.game_over_event_id = x
# # To disable the replay of the map bgm:
# # $game_system.game_over_map_bgm = false
# #
# # Note: The Game Over event command will not trigger the common event.
#-------------------------------------------------------------------------------------------------
# ▼ COMPATIBILITY
# # I don't foresee any problems.
#-------------------------------------------------------------------------------------------------
puts 'Load: Game Over Common Event v1.02 by Kread-EX'
#===========================================================================
# ■ SceneManager
#===========================================================================
module SceneManager
$game_system.game_over_event_id = 001
#--------------------------------------------------------------------------
# ● Jump to a scene
#--------------------------------------------------------------------------
class << self; alias_method(:krx_goce_sm_goto, :goto); end
def self.goto(scene_class)
if scene_class == Scene_Gameover
unless $game_temp.no_game_over_ce || $game_system.game_over_event_id == -1
id = $game_system.game_over_event_id
$game_temp.reserve_common_event(id != nil ? id : 1)
$game_party.members.each do |mem|
mem.remove_state(1)
end
if @scene.is_a?(Scene_Battle) && $game_system.game_over_map_bgm
BattleManager.replay_bgm_and_bgs
end
scene_class = Scene_Map
end
end
$game_temp.no_game_over_ce = false
krx_goce_sm_goto(scene_class)
end
end
#===========================================================================
# ■ Game_Temp
#===========================================================================
class Game_Temp
#--------------------------------------------------------------------------
# ● Public instance variables
#--------------------------------------------------------------------------
attr_accessor :no_game_over_ce
end
#===========================================================================
# ■ Game_System
#===========================================================================
class Game_System
#--------------------------------------------------------------------------
# ● Public instance variables
#--------------------------------------------------------------------------
attr_accessor :game_over_event_id
attr_accessor :game_over_map_bgm
#--------------------------------------------------------------------------
# ● Object Initialize
#--------------------------------------------------------------------------
alias_method(:krx_goce_gs_init, :initialize)
def initialize
krx_goce_gs_init
@game_over_event_id = 2
@game_over_map_bgm = true
end
end
#===========================================================================
# ■ Game_Interpreter
#===========================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ● Game Over
#--------------------------------------------------------------------------
alias_method(:krx_goce_gi_353, :command_353)
def command_353
$game_temp.no_game_over_ce = true
krx_goce_gi_353
end
end
J'ai créé un événement commun spécial (le premier) mais le problème c'est que lorsque je lance mon jeu : j'ai un message d'erreur.
Il y est écrit :
Script 'Game _Interpreter' line 43: NoMethodError occurred
undefined method 'game_over_event_id= 'for nil:NilClass
Quelqu'un saurait-il m'expliquer ce que je dois faire ? ...
Merci d'avance pour votre aide
Re: Game over personnalisé avec un script
Dim 21 Juil 2019 - 10:42
Salut, complètement au hasard, je suis peut-être à côté de la plaque mais ça pourrait être une raison du dysfonctionnement : dans ta présentation, tu parles de VX, hors ce script est pour VX Ace, donc, si tu utilises l'ancien RMVX, c'est normal que ça ne fonctionne pas, la librairie de script aillant évolué entre temps du RGSS2 au RGSS3. Si tu es bien sur VX Ace par contre, euh, bin rien, je sais pas, j'ai rien dit et je fuis parce que je n'ai aucune explication. ^^'
- CoryantheMembre
- Nombre de messages : 15
Distinction : aucune
Date d'inscription : 20/07/2019
Re: Game over personnalisé avec un script
Dim 21 Juil 2019 - 10:50
Merci pour ta réponse Elemsis !
J'utilise RM VX Ace... :/ Effectivement, tu ne pouvais pas savoir. J'ai édité ma présentation.
EDIT : C'est bon, j'ai trouvé un autre script qui fonctionne !
J'utilise RM VX Ace... :/ Effectivement, tu ne pouvais pas savoir. J'ai édité ma présentation.
EDIT : C'est bon, j'ai trouvé un autre script qui fonctionne !
- Code:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# ▼ Game Over Common Event
# Author: Kread-EX
# Version 1.02
# Release date: 17/12/2011
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#-------------------------------------------------------------------------------------------------
# ▼ UPDATES
#-------------------------------------------------------------------------------------------------
# # 19/12/2011. Added the option to replay Map BGM.
# # 18/12/2011. Fixed an infinite loop.
#-------------------------------------------------------------------------------------------------
# ▼ TERMS OF USAGE
#-------------------------------------------------------------------------------------------------
# # None. Made that in a few minutes.
#-------------------------------------------------------------------------------------------------
# ▼ INTRODUCTION
#-------------------------------------------------------------------------------------------------
# # Overrides the standard Game Over with a common event on the map.
#-------------------------------------------------------------------------------------------------
# ▼ INSTRUCTIONS
#-------------------------------------------------------------------------------------------------
# # By default, use the 1st common event as game over. You can change this with a
# # script call:
# # $game_system.game_over_event_id = x
# # To disable the replay of the map bgm:
# # $game_system.game_over_map_bgm = false
# #
# # Note: The Game Over event command will not trigger the common event.
#-------------------------------------------------------------------------------------------------
# ▼ COMPATIBILITY
# # I don't foresee any problems.
#-------------------------------------------------------------------------------------------------
puts 'Load: Game Over Common Event v1.02 by Kread-EX'
#===========================================================================
# ■ SceneManager
#===========================================================================
module SceneManager
#--------------------------------------------------------------------------
# ● Jump to a scene
#--------------------------------------------------------------------------
class << self; alias_method(:krx_goce_sm_goto, :goto); end
def self.goto(scene_class)
if scene_class == Scene_Gameover
unless $game_temp.no_game_over_ce || $game_system.game_over_event_id == -1
id = $game_system.game_over_event_id
$game_temp.reserve_common_event(id != nil ? id : 1)
$game_party.members.each do |mem|
mem.remove_state(1)
end
if @scene.is_a?(Scene_Battle) && $game_system.game_over_map_bgm
BattleManager.replay_bgm_and_bgs
end
scene_class = Scene_Map
end
end
$game_temp.no_game_over_ce = false
krx_goce_sm_goto(scene_class)
end
end
#===========================================================================
# ■ Game_Temp
#===========================================================================
class Game_Temp
#--------------------------------------------------------------------------
# ● Public instance variables
#--------------------------------------------------------------------------
attr_accessor :no_game_over_ce
end
#===========================================================================
# ■ Game_System
#===========================================================================
class Game_System
#--------------------------------------------------------------------------
# ● Public instance variables
#--------------------------------------------------------------------------
attr_accessor :game_over_event_id
attr_accessor :game_over_map_bgm
#--------------------------------------------------------------------------
# ● Object Initialize
#--------------------------------------------------------------------------
alias_method(:krx_goce_gs_init, :initialize)
def initialize
krx_goce_gs_init
@game_over_event_id = 1
@game_over_map_bgm = true
end
end
#===========================================================================
# ■ Game_Interpreter
#===========================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ● Game Over
#--------------------------------------------------------------------------
alias_method(:krx_goce_gi_353, :command_353)
def command_353
$game_temp.no_game_over_ce = true
krx_goce_gi_353
end
end
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum