Muchas gracias por estar pendiente de mi Problema miren este es el evento del pc
https://imgur.com/hXRxxSE
y este es el Script del Pokemon EssentialsV3 Perdonen no se como ponerlo de otra forma.
#==============================================================================
# ● 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]=0
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:IVE||
move.id==PBMoves:IG||
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")
#Pokemon Following Character
$PokemonTemp.dependentEvents.refresh_sprite(true)
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:IVE
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:eepWater
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:IG
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