Registrarse

[RPG - Otros] [Duda] Pokémon me sigue sin tenerlo en el equipo

Estado
Cerrado para nuevas respuestas.
Hola que tal, Quisiera que me ayudaran porfavor con un Problema que tengo en el Pokemon Essentials, lo que pasa es que estoy haciendo un evento donde te quitan a tus pokemon despues de derrotarte,
en esta imagen tienes a tus pokemon


Pero luego cuando te cambia de mapa, ya no tienes a los pokemon pero igual sale el pokemon siguiéndote

Y eso no quiero que pase no se como hacer para cuando te quiten el pokemon ya no se vea que te sigue, si ya no deberia estar contigo :D muchas gracias de antemano por la ayuda.
 

Jessie

What goes around, comes around
Respuesta: Ayuda porfavor

No estoy muy al tanto del script de Follow, pero supongo que habría que actualizar la información actual luego de hacer el cambio. Por ejemplo cuando haces cambio de miembros del equipo o metes alguno en el PC, podría aplicarse ese tipo de update o actualización así se daría el efecto que estás buscando al remover a alguno de los miembros del equipo.
 
Respuesta: Ayuda porfavor

yo tampoco tengo mucho conocimiento sobre script, si tienes razon, yo tambien llegue a esa conclusion pero no se como refrescar el mapa porque le pongo el script $PokemonTemp.dependentEvents.refresh_sprite que creo que es el que refresca el mapa pero no funciona, ya intente ponerlo despues de que te quitan los pokemon, y tambien poniendolo en proceso paralelo pero nada.
 

Jessie

What goes around, comes around
No sé cual versión tengas del script de Follow, pero en la que tengo guardada (probablemente una versión antigua) tiene una función que ayuda a activar o desactivar el efecto del follow.



Supongo que podrías intentar usar eso para hacer que desaparezca el el sprite temporalmente. Sería algo así antes de ser enviado a otro mapa :

Código:
pbToggleFollowingPokemon
Y luego llamas a la misma función nuevamente para que se active el efecto del follow de nuevo

Código:
pbToggleFollowingPokemon
No lo he probado ya que el sistema de follow no es algo suelo usar, pero supongo que funcionaría así.
 

Jessie

What goes around, comes around
no mira lo puse como un evento que se activa cuando lo pisas, y en otro donde sale despues de un dialogo y solo pero nada me da este error.
https://imgur.com/daWZcSC
Es como te dije en el comentario anterior, depende mucho de la versión del script que usas.
Probablemente esa función se encuentre con otro nombre o se aplique de manera diferente.

Sería cuestión de revisar la versión que estás usando para tener la certeza de cual sería la manera correcta de realizar esa acción.
 
mmm bien no se como poner el script para que no ocupe tanto espacio pero este es el script de PokemonFollowingV3

#==============================================================================
# ● Config Script For Your Game Here
#==============================================================================

Default_Following_Pokemon_Number = 0
Common_Event = 3
Current_Following_Variable = 26
Walking_Time_Variable = 27
Happier_After = 60
Animation_Come_Out = 22
Animation_Come_In = 23
Emo_Happy = 24
Emo_Normal = 25
Emo_Hate = 26
Water_Pokemon_Can_Surf = true

#==============================================================================
# ● Control the following Pokemon
#==============================================================================

def FollowingMoveRoute(commands,waitComplete=false)
$PokemonTemp.dependentEvents.SetMoveRoute(commands,waitComplete)
end

#==============================================================================
# ● Pokemon Following Character v3 By Help-14
#==============================================================================

class DependentEvents

#----------------------------------------------------------------------------
# - change_following_pokemon
# - It will run when you press A button
#----------------------------------------------------------------------------

def change_following_pokemon
if $game_variables[Current_Following_Variable]+1==$Trainer.party.length+1
$game_variables[Current_Following_Variable]=0
else
$game_variables[Current_Following_Variable]+=1
end
if $game_variables[Current_Following_Variable]==$Trainer.party.length
remove_sprite(true)
else
if $Trainer.party[$game_variables[Current_Following_Variable]].isShiny?
shiny=true
else
shiny=false
end
change_sprite($Trainer.party[$game_variables[Current_Following_Variable]].species, shiny, true)
$scene.spriteset.showPFCmenu
end
end

#----------------------------------------------------------------------------
# - refresh_sprite
# - Change sprite without animation
#----------------------------------------------------------------------------

def refresh_sprite(menu=nil)
if $Trainer.party.length!=$game_variables[Current_Following_Variable]
if $Trainer.party.length-1<$game_variables[Current_Following_Variable]
$game_variables[Current_Following_Variable]=27
end
if $Trainer.party[$game_variables[Current_Following_Variable]].isShiny?
shiny=true
else
shiny=false
end
change_sprite($Trainer.party[$game_variables[Current_Following_Variable]].species, shiny, false)
$scene.spriteset.showPFCmenu if menu==true
end
end

#----------------------------------------------------------------------------
# - change_sprite(id, shiny, animation)
# - Example, to change sprite to shiny lugia with animation:
# change_sprite(249, true, true)
# - If just change sprite:
# change_sprite(249)
#----------------------------------------------------------------------------

def change_sprite(id, shiny=nil, animation=nil)
events=$PokemonGlobal.dependentEvents
for i in 0...events.length
if events && events[8]=="Dependent"
if shiny==true
events[6]=sprintf("%03ds",id)
@realEvents.character_name=sprintf("%03ds",id)
else
events[6]=sprintf("%03d",id)
@realEvents.character_name=sprintf("%03d",id)
end
if animation==true
$scene.spriteset.addUserAnimation(Animation_Come_Out,@realEvents.x,@realEvents.y)
end
$game_variables[Walking_Time_Variable]=0
end
end
end

#----------------------------------------------------------------------------
# - remove_sprite(animation)
# - Example, to remove sprite with animation:
# remove_sprite(true)
# - If just remove sprite:
# remove_sprite
#----------------------------------------------------------------------------

def remove_sprite(animation=nil)
events=$PokemonGlobal.dependentEvents
for i in 0...events.length
if events && events[8]=="Dependent"
events[6]=sprintf("nil")
@realEvents.character_name=sprintf("nil")
if animation==true
$scene.spriteset.addUserAnimation(Animation_Come_In,@realEvents.x,@realEvents.y)
end
$game_variables[Current_Following_Variable]=$Trainer.party.length
$game_variables[Walking_Time_Variable]=0
end
end
end

#----------------------------------------------------------------------------
# - check_surf(animation)
# - If current Pokemon is a water Pokemon, it is still following.
# - If current Pokemon is not a water Pokemon, remove sprite.
# - Require Water_Pokemon_Can_Surf = true to enable
#----------------------------------------------------------------------------

def check_surf(animation=nil)
if Water_Pokemon_Can_Surf == true and $game_variables[Current_Following_Variable]!=$Trainer.party.length
if $Trainer.party[$game_variables[Current_Following_Variable]].type1!="WATER" or
$Trainer.party[$game_variables[Current_Following_Variable]].type2!="WATER"
remove_sprite(false)
end
else
remove_sprite(false)
end
end

#----------------------------------------------------------------------------
# - check_faint
# - If current Pokemon is fainted, change other Pokemon.
#----------------------------------------------------------------------------

def check_faint
if $Trainer.party[$game_variables[Current_Following_Variable]].hp<=0
for i in 0..$Trainer.party.length-1
if $Trainer.party.hp>0
found=true
$game_variables[Current_Following_Variable]=i
refresh_sprite(true)
break
end
end
if !found
remove_sprite
end
end
end

#----------------------------------------------------------------------------
# - talk_to_pokemon
# - It will run when you talk to Pokemon following
#----------------------------------------------------------------------------

def talk_to_pokemon
events=$PokemonGlobal.dependentEvents
for i in 0...events.length
if events && events[8]=="Dependent"
pos_x=@realEvents.x
pos_y=@realEvents.y
end
end
pbPlayCry($Trainer.party[$game_variables[Current_Following_Variable]].species)
if $game_variables[Current_Following_Variable]!=6
if $Trainer.party[$game_variables[Current_Following_Variable]].happiness>0 &&
$Trainer.party[$game_variables[Current_Following_Variable]].happiness<=50
$scene.spriteset.addUserAnimation(Emo_Hate, pos_x, pos_y)
Kernel.pbMessage(_INTL("{1} is hate to traveling with {2}",$Trainer.party[$game_variables[Current_Following_Variable]].name,$Trainer.name))
elsif $Trainer.party[$game_variables[Current_Following_Variable]].happiness>50 &&
$Trainer.party[$game_variables[Current_Following_Variable]].happiness<=150
$scene.spriteset.addUserAnimation(Emo_Normal, pos_x, pos_y)
Kernel.pbMessage(_INTL("{1} is not happy when traveling with {2}",$Trainer.party[$game_variables[Current_Following_Variable]].name,$Trainer.name))
else
$scene.spriteset.addUserAnimation(Emo_Happy, pos_x, pos_y)
Kernel.pbMessage(_INTL("{1} is happy when traveling with {2}",$Trainer.party[$game_variables[Current_Following_Variable]].name,$Trainer.name))
end
end
end

#----------------------------------------------------------------------------
# - talk_to_pokemon
# - It will run when you talk to Pokemon following
#----------------------------------------------------------------------------

def SetMoveRoute(commands,waitComplete=false)
events=$PokemonGlobal.dependentEvents
for i in 0...events.length
if events && events[8]=="Dependent"
pbMoveRoute(@realEvents,commands,waitComplete)
end
end
end

end

#===============================================================================
# End script, add function to other class
#===============================================================================

#----------------------------------------------------------------------------
# Game_System
#----------------------------------------------------------------------------

class Game_System
alias up update

def update
add_following_time
up
end

def add_following_time
if $game_variables[2]==true
$game_variables[Walking_Time_Variable]+=1 if $game_variables[Walking_Time_Variable]!=$Trainer.party.length
if $game_variables[Walking_Time_Variable]==Happier_After*Graphics.frame_rate
$Trainer.party[$game_variables[Current_Following_Variable]].happiness+=1
$game_variables[Walking_Time_Variable]=0
end
end
end

end

#----------------------------------------------------------------------------
# - Auto add Script to Spriteset_Map, control the Menu
#----------------------------------------------------------------------------

class Spriteset_Map
alias init initialize
alias up update
alias dis dispose

def initialize(map=nil)
@viewportPFC = Viewport.new(0, 0, Graphics.width, Graphics.height)
@viewportPFC.z = 999999
@viewportPFCmoveX=Graphics.width
@menubg=Sprite.new(@viewportPFC)
@menubg.bitmap=BitmapCache.load_bitmap("Graphics/Pictures/PFC-menubg")
@menubg.x=@viewportPFCmoveX+Graphics.width-@menubg.bitmap.width
@menubg.y=64
@PFCselect=Sprite.new(@viewportPFC)
@PFCselect.bitmap=BitmapCache.load_bitmap("Graphics/Pictures/PFC-select")
@PFCselect.visible=false
@PFClist={}
init
end

def showPFCmenu
for i in 0..5
if $Trainer.party
if $Trainer.party.hp>0
@PFClist=AnimatedSprite.create(sprintf("Graphics/Icons/icon%03d",$Trainer.party.species),2,10)
@PFClist.viewport=@viewportPFC
@PFClist.start
@PFClist.x=@menubg.x+32+i*64
@PFClist.y=@menubg.y-64+8
else
@PFClist=AnimatedSprite.create("Graphics/Icons/iconfainted",2,10)
@PFClist.viewport=@viewportPFC
@PFClist.start
@PFClist.x=@menubg.x+32+i*64
@PFClist.y=@menubg.y-64+8
end
else
@PFClist.visible=false if @PFClist
end
end
@PFCselect.visible=true
if $game_variables[Current_Following_Variable]!=$Trainer.party.length
@PFCselect.x=@PFClist[$game_variables[Current_Following_Variable]].x
@PFCselect.y=@PFClist[$game_variables[Current_Following_Variable]].y
else
@PFCselect.visible=false
end
@PFCmenuWait=0
@showPFCmenu=true
end

def update
if @showPFCmenu==true && @viewportPFCmoveX>0
@viewportPFCmoveX-=10
@menubg.x=@viewportPFCmoveX+Graphics.width-@menubg.bitmap.width
for i in 0..5
@PFClist.x=@menubg.x+32+i*64 if @PFClist
end
if $game_variables[Current_Following_Variable]!=$Trainer.party.length
@PFCselect.x=@PFClist[$game_variables[Current_Following_Variable]].x
@PFCselect.y=@PFClist[$game_variables[Current_Following_Variable]].y
else
@PFCselect.visible=false
end
elsif @showPFCmenu==true && @viewportPFCmoveX<=0
@PFCmenuWait+=1
if @PFCmenuWait==100
@PFCmenuWait=0
@showPFCmenu=false
end
if $game_variables[Current_Following_Variable]!=$Trainer.party.length
@PFCselect.x=@PFClist[$game_variables[Current_Following_Variable]].x
@PFCselect.y=@PFClist[$game_variables[Current_Following_Variable]].y
else
@PFCselect.visible=false
end
elsif @showPFCmenu==false && @viewportPFCmoveX<Graphics.width
@viewportPFCmoveX+=10
@menubg.x=@viewportPFCmoveX+Graphics.width-@menubg.bitmap.width
for i in 0..5
@PFClist.x=@menubg.x+32+i*64 if @PFClist
end
if $game_variables[Current_Following_Variable]!=$Trainer.party.length
@PFCselect.x=@PFClist[$game_variables[Current_Following_Variable]].x
@PFCselect.y=@PFClist[$game_variables[Current_Following_Variable]].y
else
@PFCselect.visible=false
end
end
up
@viewportPFC.update
end

def dispose
@viewportPFC.dispose
dis
end

end

#----------------------------------------------------------------------------
# - Auto add Script to PokemonScreen, It'll change sprite when change Pokemon
#----------------------------------------------------------------------------

def pbEndBattle(result)
@abortable=false
pbShowWindow(BLANK)
# Fade out all sprites
$game_system.bgm_fade(1.0)
pbFadeOutAndHide @Sprites)
@Spriteskin.dispose
pbDisposeSprites
#Pokemon Following Character
$PokemonTemp.dependentEvents.check_faint
end

#----------------------------------------------------------------------------
# - Auto add Script to PokemonScreen, It'll change sprite when change Pokemon
#----------------------------------------------------------------------------

class PokemonScreen

def pbPokemonScreen
@scene.pbStartScene(@party,_INTL("Choose a Pokémon."),false,nil)
loop do
@scene.pbSetHelpText(_INTL("Choose a Pokémon."))
pkmnid=@scene.pbChoosePokemon
if pkmnid<0
break
end
pkmn=@party[pkmnid]
commands=[]
cmdSummary=-1
cmdSwitch=-1
cmdItem=-1
cmdDebug=-1
cmdMail=-1
# Build the commands
commands[cmdSummary=commands.length]=_INTL("SUMMARY")
if $DEBUG
# Commands for debug mode only
commands[cmdDebug=commands.length]=_INTL("DEBUG")
end
cmdMoves=[-1,-1,-1,-1]
for i in 0...pkmn.moves.length
move=pkmn.moves
# Check for hidden moves and add any that were found
if !pkmn.isEgg? && (move.id==PBMoves::FLY||
move.id==PBMoves::CUT||
move.id==PBMoves::SURF||
move.id==PBMoves::STRENGTH||
move.id==PBMoves::FLASH||
move.id==PBMoves::ROCKSMASH||
move.id==PBMoves::WATERFALL||
move.id==PBMoves::TELEPORT||
move.id==PBMoves::HEADBUTT||
move.id==PBMoves::DIVE||
move.id==PBMoves::DIG||
move.id==PBMoves::MILKDRINK||
move.id==PBMoves::SOFTBOILED||
move.id==PBMoves::SWEETSCENT||
HiddenMoveHandlers.hasHandler(move.id)
)
commands[cmdMoves=commands.length]=PBMoves.getName(move.id)
end
end
commands[cmdSwitch=commands.length]=_INTL("SWITCH") if @party.length>1
if !pkmn.isEgg?
if pkmn.mail
commands[cmdMail=commands.length]=_INTL("MAIL")
else
commands[cmdItem=commands.length]=_INTL("ITEM")
end
end
commands[commands.length]=_INTL("CANCEL")
command=@scene.pbShowCommands(_INTL("Do what with {1}?",pkmn.name),commands)
havecommand=false
for i in 0...4
if cmdMoves>=0 && command==cmdMoves
havecommand=true
if pkmn.moves.id==PBMoves::SOFTBOILED||
pkmn.moves.id==PBMoves::MILKDRINK
if pkmn.hp<=pkmn.totalhp/5
pbDisplay(_INTL("Not enough HP..."))
break
end
@scene.pbSetHelpText(_INTL("Use on which Pokémon?"))
oldpkmnid=pkmnid
loop do
@scene.pbPreSelect(oldpkmnid)
pkmnid=@scene.pbChoosePokemon(true)
break if pkmnid<0
newpkmn=@party[pkmnid]
if newpkmn.isEgg? || newpkmn.hp==0 || newpkmn.hp==newpkmn.totalhp || pkmnid==oldpkmnid
pbDisplay(_INTL("This item can't be used on that Pokémon."))
else
pkmn.hp-=pkmn.totalhp/5
hpgain=pbItemRestoreHP(newpkmn,pkmn.totalhp/5)
@scene.pbDisplay(_INTL("{1}'s HP was restored by {2} points.",newpkmn.name,hpgain))
pbRefresh
end
end
break
elsif Kernel.pbCanUseHiddenMove?(pkmn,pkmn.moves.id)
@scene.pbEndScene
if pkmn.moves.id==PBMoves::FLY
scene=PokemonRegionMapScene.new
screen=PokemonRegionMap.new(scene)
ret=screen.pbStartFlyScreen
if ret
return [pkmn,pkmn.moves.id,ret]
end
@scene.pbStartScene(@party,_INTL("Choose a Pokémon."))
break
end
return [pkmn,pkmn.moves.id,nil]
else
break
end
end
end
next if havecommand
if cmdSummary>=0 && command==cmdSummary
@scene.pbSummary(pkmnid)
elsif cmdSwitch>=0 && command==cmdSwitch
@scene.pbSetHelpText(_INTL("Move to where?"))
oldpkmnid=pkmnid
pkmnid=@scene.pbChoosePokemon(true)
if pkmnid>=0 && pkmnid!=oldpkmnid
pbSwitch(oldpkmnid,pkmnid)
end
#Pokemon Following Character
$PokemonTemp.dependentEvents.refresh_sprite(true)
elsif cmdDebug>=0 && command==cmdDebug
command=@scene.pbShowCommands(_INTL("Do what with {1}?",pkmn.name),[
_INTL("SHOW VALUES"),
_INTL("CHEAT CODES"),
_INTL("SET LEVEL"),
_INTL("SET SPECIES"),
_INTL("SET NATURE"),
_INTL("SET GENDER"),
_INTL("DUPLICATE"),
_INTL("DELETE"),
_INTL("TEACH MOVE"),
_INTL("CANCEL")
])
case command
when 0
pbDisplay(_INTL("Individual Values (Sp.Def last):\r\n{1}, {2}, {3}, {4}, {5}, {6}",pkmn.iv[0],pkmn.iv[1],pkmn.iv[2],pkmn.iv[3],pkmn.iv[4],pkmn.iv[5]))
pbDisplay(_INTL("Effort Values (Sp.Def last):\r\n{1}, {2}, {3}, {4}, {5}, {6}",pkmn.ev[0],pkmn.ev[1],pkmn.ev[2],pkmn.ev[3],pkmn.ev[4],pkmn.ev[5]))
persid=sprintf("0x%08X",pkmn.personalID)
pbDisplay(_INTL("Personal ID: {1}\r\nHappiness: {2}",persid,pkmn.happiness))
when 1 # Cheat Codes
pkmn.genCodes("codes.txt")
pbDisplay(_INTL("Codes for this Pokémon were saved in codes.txt."))
when 2 # Set Level
level=Kernel.pbMessageChooseNumberEx(
_INTL("Set the Pokémon's level."),pkmn.level,1,PBExperience::MAXLEVEL,pkmn.level)
if level!=pkmn.level
pkmn.level=level
pkmn.calcStats
pbDisplay(_INTL("{1}'s level was set to {2}.",pkmn.name,pkmn.level))
pbRefreshSingle(pkmnid)
end
when 3 # Change Species
species=pbChooseSpecies(pkmn.species)
if species!=0
oldspeciesname=PBSpecies.getName(pkmn.species)
pkmn.species=species
pkmn.calcStats
oldname=pkmn.name
pkmn.name=PBSpecies.getName(pkmn.species) if pkmn.name==oldspeciesname
pbDisplay(_INTL("{1}'s species was changed to {2}.",oldname,PBSpecies.getName(pkmn.species)))
pbRefreshSingle(pkmnid)
end
when 4 # Set Nature
commands=[]
25.times do |i|
commands.push(PBNatures.getName(i))
end
command=@scene.pbShowCommands(_INTL("Choose a nature."),commands)
if command>=0
oldgender=pkmn.gender
2000.times do
pkmn.personalID&=0xFFFF0000
pkmn.personalID|=rand(65536)
pkmn.personalID-=pkmn.personalID%25
pkmn.personalID+=command
break if pkmn.gender==oldgender
end
pkmn.calcStats
if pkmn.nature!=command
pbDisplay(_INTL("The Pokémon's nature couldn't be changed."))
else
pbDisplay(_INTL("The Pokémon's nature was changed."))
pbRefreshSingle(pkmnid)
end
end
when 5 # Set Gender
if pkmn.gender==2
pbDisplay(_INTL("This Pokémon's gender can't be set."))
elsif pkmn.gender==0
if pbConfirm(_INTL("Make this Pokémon female?"))
oldnature=pkmn.nature
2000.times do
pkmn.setGender(true)
break if pkmn.nature==oldnature
end
if pkmn.gender==0
pbDisplay(_INTL("The Pokémon's gender couldn't be changed."))
else
pbDisplay(_INTL("The Pokémon's gender was changed."))
pbRefreshSingle(pkmnid)
end
end
elsif pkmn.gender==1
if pbConfirm(_INTL("Make this Pokémon male?"))
oldnature=pkmn.nature
2000.times do
pkmn.setGender(false)
break if pkmn.nature==oldnature
end
if pkmn.gender==1
pbDisplay(_INTL("The Pokémon's gender couldn't be changed."))
else
pbDisplay(_INTL("The Pokémon's gender was changed."))
pbRefreshSingle(pkmnid)
end
end
end
when 6 # Duplicate
clonedpkmn=pkmn.clone
clonedpkmn.iv=pkmn.iv.clone
clonedpkmn.ev=pkmn.ev.clone
pbStorePokemon(clonedpkmn)
@scene.pbHardRefresh
when 7 # Delete
if pbConfirm(_INTL("Are you sure you want to delete this Pokémon?"))
@party[pkmnid]=nil
@party.compact!
pbDisplay(_INTL("The Pokémon was deleted."))
@scene.pbHardRefresh
end
when 8
move=pbChooseMoveList
if move!=0
pbLearnMove(pkmn,move)
pbRefreshSingle(pkmnid)
end
end
elsif cmdMail>=0 && command==cmdMail
command=@scene.pbShowCommands(_INTL("Do what with the mail?"),[_INTL("READ"),_INTL("TAKE"),_INTL("CANCEL")])
case command
when 0 # Read
pbFadeOutIn(99999){
pbDisplayMail(pkmn.mail,pkmn)
}
when 1 # Take
pbTakeMail(pkmn)
pbRefreshSingle(pkmnid)
end
elsif cmdItem>=0 && command==cmdItem
command=@scene.pbShowCommands(_INTL("Do what with an item?"),[_INTL("GIVE"),_INTL("TAKE"),_INTL("CANCEL")])
case command
when 0 # Give
item=@scene.pbChooseItem($PokemonBag)
if item>0
pbGiveMail(item,pkmn)
pbRefreshSingle(pkmnid)
end
when 1 # Take
pbTakeMail(pkmn)
pbRefreshSingle(pkmnid)
end
end
end
@scene.pbEndScene
return nil
end

end

#----------------------------------------------------------------------------
# - Auto add Script to pbPokeCenterPC, It'll change sprite after using PC
#----------------------------------------------------------------------------
def pbPokeCenterPC
Audio.se_play("Audio/SE/accesspc.wav")
Kernel.pbMessage(_INTL("{1} Encendio La Pc.",$Trainer.name))
loop do
commands=[]
if $PokemonGlobal.seenStorageCreator
commands.push(_INTL("{1}'S PC",pbGetStorageCreator))
else
commands.push(_INTL("Pc de Alguien"))
end
commands.push(_INTL("{1}'s PC",$Trainer.name))
commands.push(_INTL("Apagar PC"))
command=Kernel.pbMessage(_INTL("A qué PC se debe acceder?"),commands,commands.length)
if command==0
Audio.se_play("Audio/SE/accesspc.wav")
Kernel.pbMessage(_INTL("Se abrió el sistema de almacenamiento Pokémon."))
loop do
command=Kernel.pbMessage(_INTL("Qué quieres hacer?"),[
_INTL("Sacar POKéMON"),
_INTL("Depositar POKéMON"),
_INTL("Mover POKéMON"),
_INTL("Cerrar el Sistema!")
],4)
if command<3
if command==0 && $Trainer.party.length>=6
Kernel.pbMessage(_INTL("Tu Equipo esta lleno!"))
next
end
if command==1 && $Trainer.pokemonCount<=1
Kernel.pbMessage(_INTL("No se puede depositar el último Pokémon!"))
next
end
pbFadeOutIn(99999){
scene=PokemonStorageScene.new
screen=PokemonStorageScreen.new(scene,$PokemonStorage)
screen.pbStartScreen(command)#,command)
}
else
break
end
end
elsif command==1
Audio.se_play("Audio/SE/accesspc.wav")
Kernel.pbMessage(_INTL("Accesedistes {1}'s PC.",$Trainer.name))
pbTrainerPCMenu
else
break
end
end
Audio.se_play("Audio/SE/accesspc.wav")
end

#----------------------------------------------------------------------------
# - Auto add Script to PokemonEvolutionScene, It'll change sprite when evolution
#----------------------------------------------------------------------------

class PokemonEvolutionScene

def pbEvolution(cancancel=true)
metaplayer1=SpriteMetafilePlayer.new(@metafile1 @Sprites["rsprite1"])
metaplayer2=SpriteMetafilePlayer.new(@metafile2 @Sprites["rsprite2"])
metaplayer1.play
metaplayer2.play
$game_system.bgm_stop
sefile=sprintf("Audio/SE/%03dCry.wav" @pokemon.species)
Audio.se_play(sefile)
Kernel.pbDisplayMessageFancy @Sprites["msgwindow"],
_INTL("Que?\r\n{1} Esta Evolucionando!" @pokemon.name),-1,100)
Audio.se_play(pbGetDecisionSE)
oldstate=pbSaveSpriteState @Sprites["rsprite1"])
oldstate2=pbSaveSpriteState @Sprites["rsprite2"])
$game_system.bgm_play("evolv.mid")
canceled=false
begin
metaplayer1.update
metaplayer2.update
Graphics.update
Input.update
if Input.trigger?(Input::B) && cancancel
canceled=true
pbRestoreSpriteState @Sprites["rsprite1"],oldstate)
pbRestoreSpriteState @Sprites["rsprite2"],oldstate2)
Graphics.update
break
end
end while metaplayer1.playing? && metaplayer2.playing?
if canceled
$game_system.bgm_stop
Audio.se_play(pbGetDecisionSE)
Kernel.pbDisplayMessageFancy @Sprites["msgwindow"],
_INTL("Huh?\r\n{1} Ha detenido la Evolucion!" @pokemon.name))
else
sefile=sprintf("Audio/SE/%03dCry.wav",@newspecies)
playtime=[0,getPlayTime(sefile)].max
frames=(playtime*Graphics.frame_rate).ceil
$game_system.bgm_stop
Audio.se_play(sefile)
frames.times do
Graphics.update
end
$game_system.me_play("004-Victory04")
newspeciesname=PBSpecies.getName(@newspecies)
oldspeciesname=PBSpecies.getName @pokemon.species)
Kernel.pbDisplayMessageFancy @Sprites["msgwindow"],
_INTL("Felicidades! Tu {1} Ha evolucionado en {2}!" @pokemon.name,newspeciesname),-1,160)
@Sprites["msgwindow"].text=""
removeItem=false
createSpecies=pbCheckEvolutionEx @pokemon){|pokemon,evonib,level,poke|
if evonib==14 # Shedinja
next poke
elsif evonib==6 || evonib==18 || evonib==19 # Evolves if traded with item/holding item
if poke==@newspecies
removeItem=true # Item is now consumed
end
next -1
else
next -1
end
}
@pokemon.item=0 if removeItem
@pokemon.species=@newspecies
$Trainer.seen[@newspecies]=true
$Trainer.owned[@newspecies]=true
@pokemon.name=newspeciesname if @pokemon.name==oldspeciesname
@pokemon.calcStats
# Check moves for new species
atkdata=pbRgssOpen("Data/attacksRS.dat","rb")
offset=atkdata.getOffset @pokemon.species-1)
length=atkdata.getLength @pokemon.species-1)>>1
atkdata.pos=offset
for k in 0..length-1
level=atkdata.fgetw
move=atkdata.fgetw
if level= @pokemon.level
# Learned a new move
pbLearnMove @pokemon,move,true)
end
end
if createSpecies>0 && $Trainer.party.length<6
newpokemon @pokemon.clone
newpokemon.iv @pokemon.iv.clone
newpokemon.ev @pokemon.ev.clone
newpokemon.species=createSpecies
newpokemon.name=PBSpecies.getName(createSpecies)
newpokemon.calcStats
$Trainer.party.push(newpokemon)
$Trainer.seen[createSpecies]=true
$Trainer.owned[createSpecies]=true
end
atkdata.close
#Pokemon Following Character
$PokemonTemp.dependentEvents.refresh_sprite(true)
end
end


end

#----------------------------------------------------------------------------
# - Auto add Script to Kernel.pbSurf, It'll check curent Pokemon when surf
#----------------------------------------------------------------------------

def Kernel.pbSurf
if $DEBUG || $Trainer.badges[BADGEFORSURF]
movefinder=Kernel.pbCheckMove(PBMoves::SURF)
if $DEBUG || movefinder
if Kernel.pbConfirmMessage(_INTL("El agua está teñida de un azul profundo ... ¿Te gustaría surfear??"))
speciesname=!movefinder ? PBSpecies.getName(0) : movefinder.name
Kernel.pbMessage(_INTL("{1} usas Surf!",speciesname))
pbHiddenMoveAnimation(movefinder)
surfbgm=pbGetMetadata(0,MetadataSurfBGM)
#Pokemon Following Character
$PokemonTemp.dependentEvents.check_surf
if surfbgm
pbCueBGM(surfbgm,0.5)
end
Kernel.pbCancelVehicles
$PokemonGlobal.surfing=true
$PokemonEncounters.clearStepCount
Kernel.pbJumpToward
Kernel.pbUpdateVehicle
$game_player.check_event_trigger_here([1,2])
return true
end
end
end
return false
end

#----------------------------------------------------------------------------
# - Auto add Script to pbEndSurf, It'll show sprite after surf
#----------------------------------------------------------------------------

def pbEndSurf(xOffset,yOffset)
return false if !$PokemonGlobal.surfing
x=$game_player.x
y=$game_player.y
currentTag=$game_map.terrain_tag(x,y)
facingTag=Kernel.pbFacingTerrainTag
if pbIsWaterTag?(currentTag)&&!pbIsWaterTag?(facingTag)
if Kernel.pbJumpToward
Kernel.pbCancelVehicles
$game_map.autoplayAsCue
increase_steps
result=$game_player.check_event_trigger_here([1,2])
Kernel.pbOnStepTaken(result)
#Pokemon Following Character
$PokemonTemp.dependentEvents.refresh_sprite
end
return true
end
return false
end

#----------------------------------------------------------------------------
# - Auto add Script to Kernel.pbCanUseHiddenMove, fix HM bug
#----------------------------------------------------------------------------

def Kernel.pbCanUseHiddenMove?(pkmn,move)
case move
when PBMoves::FLY
if !$DEBUG && !$Trainer.badges[BADGEFORFLY]
Kernel.pbMessage(_INTL("Lo sentimos, se requiere una nueva Medalla."))
return false
end
#if $game_player.pbHasDependentEvents?
# Kernel.pbMessage(_INTL("You can't use that if you have someone with you."))
# return false
#end
if !pbGetMetadata($game_map.map_id,MetadataOutdoor)
Kernel.pbMessage(_INTL("No puedo usar eso aquí."))
return false
end
return true
when PBMoves::CUT
if !$DEBUG && !$Trainer.badges[BADGEFORCUT]
Kernel.pbMessage(_INTL("Lo sentimos, se requiere una nueva Medalla."))
return false
end
facingEvent=$game_player.pbFacingEvent
if !facingEvent || facingEvent.name!="Tree"
Kernel.pbMessage(_INTL("No puedo usar eso aquí."))
return false
end
return true
when PBMoves::HEADBUTT
facingEvent=$game_player.pbFacingEvent
if !facingEvent || facingEvent.name!="HeadbuttTree"
Kernel.pbMessage(_INTL("No puedo usar eso aquí."))
return false
end
return true
when PBMoves::SURF
terrain=Kernel.pbFacingTerrainTag
if !$DEBUG && !$Trainer.badges[BADGEFORCUT]
Kernel.pbMessage(_INTL("Lo sentimos, se requiere una nueva Medalla."))
return false
end
if $PokemonGlobal.surfing
Kernel.pbMessage(_INTL("Ya estás Haciendo Surf."))
return false
end
#if $game_player.pbHasDependentEvents?
# Kernel.pbMessage(_INTL("You can't use that if you have someone with you."))
# return false
#end
terrain=Kernel.pbFacingTerrainTag
if pbGetMetadata($game_map.map_id,MetadataBicycleAlways)
Kernel.pbMessage(_INTL("Let's enjoy cycling!"))
return false
end
if !pbIsWaterTag?(terrain)
Kernel.pbMessage(_INTL("No surfing here!"))
return false
end
return true
when PBMoves::STRENGTH
if !$DEBUG && !$Trainer.badges[BADGEFORSTRENGTH]
Kernel.pbMessage(_INTL("Sorry, a new Badge is required."))
return false
end
facingEvent=$game_player.pbFacingEvent
if !facingEvent || facingEvent.name!="Boulder"
Kernel.pbMessage(_INTL("Can't use that here."))
return false
end
return true
when PBMoves::ROCKSMASH
terrain=Kernel.pbFacingTerrainTag
if !$DEBUG && !$Trainer.badges[BADGEFORROCKSMASH]
Kernel.pbMessage(_INTL("Sorry, a new Badge is required."))
return false
end
facingEvent=$game_player.pbFacingEvent
if !facingEvent || facingEvent.name!="Rock"
Kernel.pbMessage(_INTL("Can't use that here."))
return false
end
return true
when PBMoves::FLASH
if !$DEBUG && !$Trainer.badges[BADGEFORFLASH]
Kernel.pbMessage(_INTL("Sorry, a new Badge is required."))
return false
end
if !pbGetMetadata($game_map.map_id,MetadataDarkMap)
Kernel.pbMessage(_INTL("Can't use that here."))
return false
end
if $PokemonGlobal.flashUsed
Kernel.pbMessage(_INTL("This is in use already."))
return false
end
return true
when PBMoves::WATERFALL
if !$DEBUG && !$Trainer.badges[BADGEFORWATERFALL]
Kernel.pbMessage(_INTL("Sorry, a new Badge is required."))
return false
end
terrain=Kernel.pbFacingTerrainTag
if terrain!=PBTerrain::Waterfall
Kernel.pbMessage(_INTL("Can't use that here."))
return false
end
return true
when PBMoves::DIVE
if !$DEBUG && !$Trainer.badges[BADGEFORDIVE]
Kernel.pbMessage(_INTL("Sorry, a new Badge is required."))
return false
end
if $PokemonGlobal.diving
return true
end
if $game_player.terrain_tag!=PBTerrain::DeepWater
Kernel.pbMessage(_INTL("Can't use that here."))
return false
end
if !pbGetMetadata($game_map.map_id,MetadataDiveMap)
Kernel.pbMessage(_INTL("Can't use that here."))
return false
end
return true
when PBMoves::TELEPORT
if !pbGetMetadata($game_map.map_id,MetadataOutdoor)
Kernel.pbMessage(_INTL("Can't use that here."))
return false
end
#if $game_player.pbHasDependentEvents?
# Kernel.pbMessage(_INTL("You can't use that if you have someone with you."))
# return false
#end
healing=$PokemonGlobal.healingSpot
if !healing
healing=pbGetMetadata(0,MetadataHome) # Home
end
if healing
mapname=pbGetMapNameFromId(healing[0])
if Kernel.pbConfirmMessage(_INTL("Want to return to the healing spot used last in {1}?",mapname))
return true
end
return false
else
Kernel.pbMessage(_INTL("Can't use that here."))
return false
end
when PBMoves::DIG
escape=pbGetMetadata($game_map.map_id,MetadataEscapePoint)
if !escape
Kernel.pbMessage(_INTL("Can't use that here."))
return false
end
if $game_player.pbHasDependentEvents?
Kernel.pbMessage(_INTL("You can't use that if you have someone with you."))
return false
end
mapname=pbGetMapNameFromId(escape[0])
if Kernel.pbConfirmMessage(_INTL("Want to escape from here and return to {1}?",mapname))
return true
end
return false
when PBMoves::SWEETSCENT
return true
else
return HiddenMoveHandlers.triggerCanUseMove(move,pkmn)
end
return false
end
 

Jessie

What goes around, comes around
mmm bien no se como poner el script para que no ocupe tanto espacio pero este es el script de PokemonFollowingV3
...

No estoy seguro, pero parece ser que estás usando una versión antigua del script.
Intenta usar esto en un evento, quizás funcione para desaparecer el sprite

Código:
$PokemonTemp.dependentEvents.remove_sprite
 
Estado
Cerrado para nuevas respuestas.
Arriba