Salve a tutti, come da titolo volevo sottoporvi un problema che sto riscontrando con la scelta dello starter in Pokémon essentials v12.
Il problema non è la scelta dello starter in sè, lì va tutto come voglio io, il problema lo trovo con la pbEndScene.
Di seguito lo script:
Spoiler
class ScenaPkmnInizialiScene def update pbUpdateSpriteHash(@sprites) end def pbStartScene @sprites={} @viewport=Viewport.new(0, 0, Graphics.width, Graphics.height) @viewport.z=99999 # Here all Images if $Trainer && $game_switches[78]==true @sprites["BG"]=Sprite.new(@viewport) @sprites["BG"].bitmap=BitmapCache.load_bitmap("Graphics/Scelta/BG") @sprites["BG"].x=0 @sprites["BG"].y=0 @sprites["Tavolo"]=Sprite.new(@viewport) @sprites["Tavolo"].bitmap=BitmapCache.load_bitmap("Graphics/Scelta/Tavolo") @sprites["Tavolo"].x=10*2 @sprites["Tavolo"].y=160*2 @sprites["Tavolo"].zoom_x=2 @sprites["Tavolo"].zoom_y=2 @sprites["Erba"]=Sprite.new(@viewport) @sprites["Erba"].bitmap=BitmapCache.load_bitmap("Graphics/Scelta/PokeErba") @sprites["Erba"].x=49*2 @sprites["Erba"].y=146*2 @sprites["Fuoco"]=Sprite.new(@viewport) @sprites["Fuoco"].bitmap=BitmapCache.load_bitmap("Graphics/Scelta/PokeFuoco") @sprites["Fuoco"].x=142*2 @sprites["Fuoco"].y=151*2 @sprites["Acqua"]=Sprite.new(@viewport) @sprites["Acqua"].bitmap=BitmapCache.load_bitmap("Graphics/Scelta/PokeAcqua") @sprites["Acqua"].x=235*2 @sprites["Acqua"].y=144*2 @sprites["Indice"]=Sprite.new(@viewport) @sprites["Indice"].bitmap=BitmapCache.load_bitmap("Graphics/Scelta/IndiceIndicatore") @sprites["Indice"].y=120*2 @sprites["Indice"].zoom_x=2 @sprites["Indice"].zoom_y=2 @sprites["Indice"].opacity=0 @sprites["Drakass"]=Sprite.new(@viewport) @sprites["Drakass"].bitmap=BitmapCache.load_bitmap("Graphics/Battlers/650") @sprites["Drakass"].x=57*2 @sprites["Drakass"].y=100*2 @sprites["Drakass"].opacity=0 @sprites["Termace"]=Sprite.new(@viewport) @sprites["Termace"].bitmap=BitmapCache.load_bitmap("Graphics/Battlers/653") @sprites["Termace"].x=147*2 @sprites["Termace"].y=103*2 @sprites["Termace"].opacity=0 @sprites["Overub"]=Sprite.new(@viewport) @sprites["Overub"].bitmap=BitmapCache.load_bitmap("Graphics/Battlers/656") @sprites["Overub"].x=234*2 @sprites["Overub"].y=107*2 @sprites["Overub"].opacity=0 @sprites["si"]=Sprite.new(@viewport) @sprites["si"].bitmap=BitmapCache.load_bitmap("Graphics/Scelta/Si") @sprites["si"].x=32*2 @sprites["si"].y=354*2 @sprites["si"].visible=false @sprites["no"]=Sprite.new(@viewport) @sprites["no"].bitmap=BitmapCache.load_bitmap("Graphics/Scelta/No") @sprites["no"].x=232*2 @sprites["no"].y=354*2 @sprites["no"].opacity=0 @sprites["msgwindow"]=Kernel.pbCreateMessageWindow @sprites["msgwindow"].visible=true @sprites["msgwindow"].viewport=@viewport #@sprites["msgwindow"].text="" #@sprites["msgwindow"].text="In ognuna di queste tre PokéBall è contenuto un Pokémon." @sprites["msgwindow"].text="Quale tra queste tre Pokéball scegli?" @sprites["msgwindow"].x=0 @sprites["msgwindow"].y=274*2 @sprites["msgwindow"].width=Graphics.width @sprites["msgwindow"].height=96 #Kernel.pbMessageDisplay(msgwindow,_INTL("Quale Pokémon scegli?"),letterbyletter=true,commandProc=nil) $game_system.message_position=3 pbFadeInAndShow(@sprites) { update } end end def pbEndScene $mouse.update Input.update pbFadeOutAndHide(@sprites) { update } pbDisposeSpriteHash(@sprites) @viewport.dispose $game_system.message_position=2 end def pbSelezionePkmn loop do Graphics.update Input.update $mouse.visible $mouse.update self.update # Here all commands if Input.trigger?(Input::RIGHT) @sprites["Indice"].x=56*2 end if pbMouseOver?(@sprites["Erba"]) @sprites["Indice"].opacity=255 @sprites["Indice"].x=55*2 Graphics.update $mouse.update update end if pbMouseOver?(@sprites["Fuoco"]) @sprites["Indice"].x=149*2 @sprites["Indice"].y=124*2 @sprites["Indice"].opacity=255 Graphics.update $mouse.update update else @sprites["Indice"].y=120*2 end if pbMouseOver?(@sprites["Acqua"]) @sprites["Indice"].x=242*2 @sprites["Indice"].opacity=255 Graphics.update $mouse.update update end if @sprites["Indice"].y=120*2 for i in 1..6 @sprites["Indice"].y+=3 Graphics.update $mouse.update update end end if @sprites["Indice"].y=132*2 for i in 1..6 @sprites["Indice"].y-=3 Graphics.update $mouse.update update end end if pbMouseLeftClick?(@sprites["Erba"]) @sprites["msgwindow"].visible=false ret=false #for i in 1..5 if Kernel.pbConfirmMessage(_INTL("Vuoi il pokémon di tipo Erba Drakass?")) if pbErba#pbMouseLeftClick?(@sprites["si"])#32*2,354*2,76*2,76*2)#74*2,76*2)#LeftClickRel?(@sprites["si"],0) ret=true else ret=false return pbSelezionePkmn end end end if Input.trigger?(Input::B) break end end end end def pbErba pbAddPokemon(PBSpecies::DRAKASS,5) $game_system.message_position=2 pbFadeOutAndHide(@sprites) { update } pbDisposeSpriteHash(@sprites) @viewport.dispose $game_switches[90]=true pbEndScene end break if Input.trigger?(Input::B) # se premi B (cioè X) uscirai dalla scena # end #============================================================================== # * classe per eseguire tutta la scena # usa pbCallSelezionePkmn per richiamare la scena tramite evento #============================================================================== class ScenaPkmnIniziali def initialize(scene) @scene=scene end def pbStartScreen @scene.pbStartScene @scene.pbSelezionePkmn @scene.pbEndScene end end def pbCallSelezionePkmn scene=ScenaPkmnInizialiScene.new screen=ScenaPkmnIniziali.new(scene) screen.pbStartScreen end
L'errore che esce è questo
Spoiler
Message: Script error within event 2, map 33 (Red 1° Piano):
Exception: NoMethodError
Message: Section154:2:in `pbMouseOver?'undefined method `x' for nil:NilClass
***Full script:
pbCallSelezionePkmn
Interpreter:243:in `pbExecuteScript'
Scelta Pokémon:150:in `pbSelezionePkmn'
Scelta Pokémon:103:in `loop'
Scelta Pokémon:224:in `pbSelezionePkmn'
Scelta Pokémon:260:in `pbStartScreen'
Scelta Pokémon:268:in `pbCallSelezionePkmn'
(eval):1:in `pbExecuteScript'
Interpreter:1600:in `eval'
Interpreter:243:in `pbExecuteScript'
Interpreter:1600:in `command_355'
Interpreter:276:in `pbExecuteScript'
Interpreter:1600:in `command_355'
Interpreter:494:in `execute_command'
Interpreter:193:in `update'
Interpreter:106:in `loop'
Interpreter:198:in `update'
Scene_Map:104:in `update'
Scene_Map:102:in `loop'
Scene_Map:115:in `update'
Opal Menu:37:in `main'
Exception: RuntimeError
Message: Script error within event 2, map 33 (Red 1° Piano):
Exception: NoMethodError
Message: Section154:2:in `pbMouseOver?'undefined method `x' for nil:NilClass
***Full script:
pbCallSelezionePkmn
Interpreter:243:in `pbExecuteScript'
Scelta Pokémon:102:in `pbSelezionePkmn'
Scelta Pokémon:92:in `loop'
Scelta Pokémon:158:in `pbSelezionePkmn'
Scelta Pokémon:185:in `pbStartScreen'
Scelta Pokémon:193:in `pbCallSelezionePkmn'
(eval):1:in `pbExecuteScript'
Interpreter:1600:in `eval'
Interpreter:243:in `pbExecuteScript'
Interpreter:1600:in `command_355'
Interpreter:276:in `pbExecuteScript'
Interpreter:1600:in `command_355'
Interpreter:494:in `execute_command'
Interpreter:193:in `update'
Interpreter:106:in `loop'
Interpreter:198:in `update'
Scene_Map:104:in `update'
Scene_Map:102:in `loop'
Scene_Map:115:in `update'
Opal Menu:37:in `main'
Exception: NoMethodError
Message: Section154:2:in `pbMouseOver?'undefined method `x' for nil:NilClass
***Full script:
pbCallSelezionePkmn
Interpreter:243:in `pbExecuteScript'
Scelta Pokémon:150:in `pbSelezionePkmn'
Scelta Pokémon:103:in `loop'
Scelta Pokémon:224:in `pbSelezionePkmn'
Scelta Pokémon:260:in `pbStartScreen'
Scelta Pokémon:268:in `pbCallSelezionePkmn'
(eval):1:in `pbExecuteScript'
Interpreter:1600:in `eval'
Interpreter:243:in `pbExecuteScript'
Interpreter:1600:in `command_355'
Interpreter:276:in `pbExecuteScript'
Interpreter:1600:in `command_355'
Interpreter:494:in `execute_command'
Interpreter:193:in `update'
Interpreter:106:in `loop'
Interpreter:198:in `update'
Scene_Map:104:in `update'
Scene_Map:102:in `loop'
Scene_Map:115:in `update'
Opal Menu:37:in `main'
Exception: RuntimeError
Message: Script error within event 2, map 33 (Red 1° Piano):
Exception: NoMethodError
Message: Section154:2:in `pbMouseOver?'undefined method `x' for nil:NilClass
***Full script:
pbCallSelezionePkmn
Interpreter:243:in `pbExecuteScript'
Scelta Pokémon:102:in `pbSelezionePkmn'
Scelta Pokémon:92:in `loop'
Scelta Pokémon:158:in `pbSelezionePkmn'
Scelta Pokémon:185:in `pbStartScreen'
Scelta Pokémon:193:in `pbCallSelezionePkmn'
(eval):1:in `pbExecuteScript'
Interpreter:1600:in `eval'
Interpreter:243:in `pbExecuteScript'
Interpreter:1600:in `command_355'
Interpreter:276:in `pbExecuteScript'
Interpreter:1600:in `command_355'
Interpreter:494:in `execute_command'
Interpreter:193:in `update'
Interpreter:106:in `loop'
Interpreter:198:in `update'
Scene_Map:104:in `update'
Scene_Map:102:in `loop'
Scene_Map:115:in `update'
Opal Menu:37:in `main'
Da quello che ho capito l'errore lo trova nel pbMouseOver?, che però funziona correttamente. qualcuno è in grado di aiutarmi? x.x