yh just figured out roughly how it works (i had the call event wrong) but what does the 3 mean in the call script
Kernel.pbAddDependency2(7, "Dependent", 3)
I did the pbPokemonFollow(1) with a conditional branch that adds Bulbasaur but oddly nothing shows. I removed A event that was in the way of the script. It erased the move tutor but now the event does not show. This is what I did.@Rick1234 I left you a few VM's for some of the posts you put up.
@p.claydon It still similar, I just added a few things and made some changes, its not 100% HG/SS though, still a lot of things that needs to be done.
pbPokemonFollow(x) where "x" means the dependent event which you want your following pokemon to be.
Kernel.pbAddDependency2(x, "Dependent", CommonEvent)
The way I set it up was that the commonEvent which you placed the talk_to_pokemon can be edited in the settings section, "x" is still the same as how I explained it before, and "Dependent" is the name of the event, so if you changed the event to lets say Zingzags, you are going to have to change
(x, "Dependent", CommonEvent)
to
(x, "Zingzags", CommonEvent)
Also I have made it so only one pokemon follows you, it works 100% better that way. buy you can make it so that your entire party can show up on screen, if you liked the photo system that Help -14 made for himself awhile ago.
All right I just did that. I went to test and it helped but know something is defenatly wrong!http://daevolutions.deviantart.com/#/d545pe0Use the extendedtext.exe when you have one of the syntax editing box opened. For example when you add a script to a event, and the box is too short use extendedtext.exe, that is located in the root folder of your project.
This makes it so the animations don't mess up Maruno's animations all ready imputed into the system. I will upload a download link to the animations and scripts A.S.A.P.#=========================================================
# ● Config Script For Your Game Here
# Change the emo_ to what ever number is the cell holding the animation
#=========================================================
Current_Following_Variable = 36
CommonEvent = 3
ItemWalk=26
Walking_Time_Variable = 27
Animation_Come_Out = 93
Animation_Come_In = 94
Emo_Happy = 95
Emo_Normal = 96
Emo_Hate = 97
Emo_Poison= 98
Emo_sing= 99
Emo_love= 100
All right I just did that. I went to test and it helped but know something is defenatly wrong!http://daevolutions.deviantart.com/#/d545pe0
I know it's not men't to be like that XC..
Edit: The pokemon is following but no sprite shows up. What's wrong with that? And it's only that problem. Everything else works fine.
I recommend that the setting's scripts be change just a bit. Here is what I did so it does not mess up anyone's game:
This makes it so the animations don't mess up Maruno's animations all ready imputed into the system. I will upload a download link to the animations and scripts A.S.A.P.
Edit: Here is the link for the Scripts:http://www.mediafire.com/download.php?mnoy22sqhbxadlh
Here is the link for the animations: http://www.mediafire.com/download.php?b3l4onfaui24fbf Remove the setting's script part you have and place these in. Remove the animations before placing them in the folder. It does not work if you leave that in there.
Edit: ZingZags can you help me. I want add to the script cause I like the 6 pokemon following the character. Can you help me add that in?
#==============================================================================
# ¡Ü Credits to Help - 14 for both the scripts and Sprites
# ¡Ü Edited by Zingzags
# -Fixed bugs
# -Clean ups
# -Fixed Surf Bug (After Surf is done)
# -Fixed def talk_to_pokemon while in surf
# -Fixed Surf Check
# -Fixed Type Check
# -Added Door Support
# -Fixed Hp Bug
# -Added Pokemon Center Support
# -Animation problems
# -Fixed Walk_time_variable problem
# -Added random item loot
# -Added egg check
#==============================================================================
# Zingzags comments
#==============================================================================
# I know its not perfect, and it can be shortened, for example addind an array
# for the random items.
#==============================================================================
#==============================================================================
# ¡Ü Control the following Pokemon
#==============================================================================
def FollowingMoveRoute(commands,waitComplete=false)
$PokemonTemp.dependentEvents.SetMoveRoute(commands,waitComplete)
end
#==============================================================================
# ¡Ü Pokemon Following Character v3 By Help-14
#==============================================================================
class DependentEvents
#==============================================================================
# Raises The Current Pokemon's Happiness levels +1 per each time the
# Walk_time_Variable reachs 5000 then resets to 0
# ItemWalk, is when the variable reaches a certain amount, that you are able to talk to your pokemon to recieve an item
#==============================================================================
def add_following_time
if $game_switches[2]==true && $Trainer.party.length>=1
$game_variables[Walking_Time_Variable]+=1 if $game_variables[Current_Following_Variable]!=$Trainer.party.length
if $game_variables[Walking_Time_Variable]==5000
$Trainer.party[0].happiness+=1
$game_variables[Walking_Time_Variable]=0
if $game_variables[ItemWalk]==5
else
$game_variables[ItemWalk]+=1
end
end
end
end
#----------------------------------------------------------------------------
# - refresh_sprite
# - Change sprite without animation
#----------------------------------------------------------------------------
def refresh_sprite
if $Trainer.party.length!=$game_variables[Current_Following_Variable]
if $Trainer.party[0].isShiny?
shiny=true
else
shiny=false
end
if $Trainer.party[0].hp>0 && !$Trainer.party[0].egg?
change_sprite($Trainer.party[0].species, shiny, false)
elsif $Trainer.party[0].hp<=0
remove_sprite
end
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[i] && events[i][8]=="Dependent"
if shiny==true
events[i][6]=sprintf("%03ds",id)
if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
@realEvents[i].character_name=sprintf("%03ds",id)
else
events[i][6]=sprintf("%03d",id)
@realEvents[i].character_name=sprintf("%03d",id)
end
else
events[i][6]=sprintf("%03d",id)
@realEvents[i].character_name=sprintf("%03d",id)
end
if animation==true
$scene.spriteset.addUserAnimation(Animation_Come_Out,@realEvents[i].x,@realEvents[i].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[i] && events[i][8]=="Dependent"
events[i][6]=sprintf("nil")
@realEvents[i].character_name=sprintf("nil")
if animation==true
$scene.spriteset.addUserAnimation(Animation_Come_In,@realEvents[i].x,@realEvents[i].y)
pbWait(10)
end
$game_variables[Current_Following_Variable]=$Trainer.party[0]
$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)
events=$PokemonGlobal.dependentEvents
for i in 0...events.length
if events[i] && events[i][8]=="Dependent"
events[i][6]=sprintf("nil")
@realEvents[i].character_name=sprintf("nil")
else
if $Trainer.party[0].hp>0 && !$Trainer.party[0].egg?
if $Trainer.party[0].hasType?(:WATER)
remove_sprite
else
remove_sprite
pbWait(20)
end
elsif $Trainer.party[0].hp<=0
end
end
end
end
#----------------------------------------------------------------------------
# - talk_to_pokemon
# - It will run when you talk to Pokemon following
#----------------------------------------------------------------------------
def talk_to_pokemon
e=$Trainer.party[0]
events=$PokemonGlobal.dependentEvents
for i in 0...events.length
if events[i] && events[i][8]=="Dependent"
pos_x=@realEvents[i].x
pos_y=@realEvents[i].y
end
end
if e==0
else
if e.hp>0 && !$Trainer.party[0].egg?
if $PokemonGlobal.surfing==true || $PokemonGlobal.bicycle==true
else
if e!=6
pbPlayCry(e.species)
random1=rand(5)
if $game_variables[ItemWalk]==5
items=[:POTION,:SUPERPOTION,:FULLRESTORE,:REVIVE,:PPUP,
:PPMAX,:RARECANDY,:REPEL,:MAXREPEL,:ESCAPEROPE,
:HONEY,:TINYMUSHROOM,:PEARL,:NUGGET,:GREATBALL,
:ULTRABALL,:THUNDERSTONE,:MOONSTONE,:SUNSTONE,:DUSKSTONE,
:REDAPRICORN,:BLUAPRICORN,:YLWAPRICORN,:GRNAPRICORN,:PNKAPRICORN,
:BLKAPRICORN,:WHTAPRICORN
]
random2=0
loop do
random2=rand(items.length)
break if hasConst?(PBItems,items[random2])
end
Kernel.pbMessage(_INTL("{1} seems to be holding something, it looks like {1} wants to give it to me.",e.name))
Kernel.pbPokemonFound(getConst(PBItems,items[random2]))
$game_variables[ItemWalk]=0
end
if random1==0
$scene.spriteset.addUserAnimation(Emo_sing, pos_x, pos_y-2)
pbWait(50)
Kernel.pbMessage(_INTL("{1} loves this tune so much that {1} is singing it.",e.name))
elsif e.happiness>0 && e.happiness<=50
$scene.spriteset.addUserAnimation(Emo_Hate, pos_x, pos_y-2)
pbWAit(70)
Kernel.pbMessage(_INTL("{1} hate to travel with {2}.",e.name,$Trainer.name))
elsif e.status==PBStatuses::POISON && e.hp>0 && !e.egg?
$scene.spriteset.addUserAnimation(Emo_Poison, pos_x, pos_y-2)
pbWait(120)
Kernel.pbMessage(_INTL("{1} is badly poisoned, {1} needs help quick.",e.name))
elsif e.happiness>50 && e.happiness<=100
$scene.spriteset.addUserAnimation(Emo_Normal, pos_x, pos_y-2)
pbWait(100)
Kernel.pbMessage(_INTL("{1} is still undecided for whether traveling with {2} is a good thing or not.",e.name,$Trainer.name))
elsif e.happiness>100 && e.happiness<150
$scene.spriteset.addUserAnimation(Emo_Happy, pos_x, pos_y-2)
Kernel.pbMessage(_INTL("{1} is happy traveling with {2}.",e.name,$Trainer.name))
elsif e.happiness>=150
$scene.spriteset.addUserAnimation(Emo_love, pos_x, pos_y-2)
pbWait(70)
Kernel.pbMessage(_INTL("{1} loves traveling with {2}.",e.name,$Trainer.name))
end
else
end
end
end
end
end
def Come_back(shiny=nil, animation=nil)
events=$PokemonGlobal.dependentEvents
if $game_variables[Current_Following_Variable]==$Trainer.party.length
$game_variables[Current_Following_Variable]
else
$game_variables[Current_Following_Variable]
end
if $game_variables[Current_Following_Variable]==$Trainer.party.length
remove_sprite(false)
for i in 0...events.length
$scene.spriteset.addUserAnimation(Animation_Come_Out,@realEvents[i].x,@realEvents[i].y)
end
else
if $Trainer.party[0].isShiny?
shiny=true
else
shiny=false
end
change_sprite($Trainer.party[0].species, shiny, false)
end
for i in 0..$Trainer.party.length-1
if $Trainer.party[i].hp>0 && !$Trainer.party[0].egg?
$game_variables[Current_Following_Variable]=i
refresh_sprite
break
end
end
for i in 0...events.length
for i in 0..$Trainer.party.length-1
if $Trainer.party[i].hp<=0
id = $Trainer.party[i].species
else
id = $Trainer.party[i].species
end
end
if events[i] && events[i][8]=="Dependent"
if shiny==true
events[i][6]=sprintf("%03ds",id)
if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
@realEvents[i].character_name=sprintf("%03ds",id)
else
events[i][6]=sprintf("%03d",id)
@realEvents[i].character_name=sprintf("%03d",id)
end
else
events[i][6]=sprintf("%03d",id)
@realEvents[i].character_name=sprintf("%03d",id)
end
if animation==true
else
end
end
end
end
#----------------------------------------------------------------------------
# - check_faint
# - If current Pokemon is fainted, change other Pokemon.
#----------------------------------------------------------------------------
def check_faint
if $PokemonGlobal.surfing==true || $PokemonGlobal.bicycle==true
else
if $Trainer.party[0].hp<=0
$game_variables[Current_Following_Variable]=0
remove_sprite
elsif $Trainer.party[0].hp>0 && !$Trainer.party[0].egg?
end
end
end
def SetMoveRoute(commands,waitComplete=false)
events=$PokemonGlobal.dependentEvents
for i in 0...events.length
if events[i] && events[i][8]=="Dependent"
pbMoveRoute(@realEvents[i],commands,waitComplete)
end
end
end
end
#----------------------------------------------------------------------------
# - Auto add Script to Kernel.pbSurf, It'll check curent Pokemon when surf
#----------------------------------------------------------------------------
def Kernel.pbSurf
# if $game_player.pbHasDependentEvents?
# return false
# end
if $DEBUG ||
(HIDDENMOVESCOUNTBADGES ? $Trainer.numbadges>=BADGEFORSURF : $Trainer.badges[BADGEFORSURF])
movefinder=Kernel.pbCheckMove(:SURF)
if $DEBUG || movefinder
if Kernel.pbConfirmMessage(_INTL("The water is dyed a deep blue... Would you like to surf?"))
speciesname=!movefinder ? $Trainer.name : movefinder.name
Kernel.pbMessage(_INTL("{1} used Surf!",speciesname))
pbHiddenMoveAnimation(movefinder)
# $PokemonTemp.dependentEvents.check_surf
surfbgm=pbGetMetadata(0,MetadataSurfBGM)
$PokemonTemp.dependentEvents.check_surf
if surfbgm
pbCueBGM(surfbgm,0.5)
end
pbStartSurfing()
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 pbIsSurfableTag?(currentTag)&&!pbIsSurfableTag?(facingTag)
if Kernel.pbJumpToward
Kernel.pbCancelVehicles
$game_map.autoplayAsCue
$game_player.increase_steps
result=$game_player.check_event_trigger_here([1,2])
Kernel.pbOnStepTaken(result)
$PokemonTemp.dependentEvents.Come_back(true)
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("Sorry, a new Badge is required."))
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("Can't use that here."))
return false
end
return true
when PBMoves::CUT
if !$DEBUG && !$Trainer.badges[BADGEFORCUT]
Kernel.pbMessage(_INTL("Sorry, a new Badge is required."))
return false
end
facingEvent=$game_player.pbFacingEvent
if !facingEvent || facingEvent.name!="Tree"
Kernel.pbMessage(_INTL("Can't use that here."))
return false
end
return true
when PBMoves::HEADBUTT
facingEvent=$game_player.pbFacingEvent
if !facingEvent || facingEvent.name!="HeadbuttTree"
Kernel.pbMessage(_INTL("Can't use that here."))
return false
end
return true
when PBMoves::SURF
terrain=Kernel.pbFacingTerrainTag
if !$DEBUG && !$Trainer.badges[BADGEFORCUT]
Kernel.pbMessage(_INTL("Sorry, a new Badge is required."))
return false
end
if $PokemonGlobal.surfing
Kernel.pbMessage(_INTL("You're already surfing."))
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
def pbPokemonFollow(x)
Kernel.pbAddDependency2(x, "Dependent", CommonEvent)
$PokemonTemp.dependentEvents.refresh_sprite
end
6 Pokemon following you will create a huge lag, and
use this, and make a new game, and tell me if it still doesn't work. Also post an image of the event that gives you the pokemon.Code:#============================================================================== # ¡Ü Credits to Help - 14 for both the scripts and Sprites # ¡Ü Edited by Zingzags # -Fixed bugs # -Clean ups # -Fixed Surf Bug (After Surf is done) # -Fixed def talk_to_pokemon while in surf # -Fixed Surf Check # -Fixed Type Check # -Added Door Support # -Fixed Hp Bug # -Added Pokemon Center Support # -Animation problems # -Fixed Walk_time_variable problem # -Added random item loot # -Added egg check #============================================================================== # Zingzags comments #============================================================================== # I know its not perfect, and it can be shortened, for example addind an array # for the random items. #============================================================================== #============================================================================== # ¡Ü Control the following Pokemon #============================================================================== def FollowingMoveRoute(commands,waitComplete=false) $PokemonTemp.dependentEvents.SetMoveRoute(commands,waitComplete) end #============================================================================== # ¡Ü Pokemon Following Character v3 By Help-14 #============================================================================== class DependentEvents #============================================================================== # Raises The Current Pokemon's Happiness levels +1 per each time the # Walk_time_Variable reachs 5000 then resets to 0 # ItemWalk, is when the variable reaches a certain amount, that you are able to talk to your pokemon to recieve an item #============================================================================== def add_following_time if $game_switches[2]==true && $Trainer.party.length>=1 $game_variables[Walking_Time_Variable]+=1 if $game_variables[Current_Following_Variable]!=$Trainer.party.length if $game_variables[Walking_Time_Variable]==5000 $Trainer.party[0].happiness+=1 $game_variables[Walking_Time_Variable]=0 if $game_variables[ItemWalk]==5 else $game_variables[ItemWalk]+=1 end end end end #---------------------------------------------------------------------------- # - refresh_sprite # - Change sprite without animation #---------------------------------------------------------------------------- def refresh_sprite if $Trainer.party.length!=$game_variables[Current_Following_Variable] if $Trainer.party[0].isShiny? shiny=true else shiny=false end if $Trainer.party[0].hp>0 && !$Trainer.party[0].egg? change_sprite($Trainer.party[0].species, shiny, false) elsif $Trainer.party[0].hp<=0 remove_sprite end 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[i] && events[i][8]=="Dependent" if shiny==true events[i][6]=sprintf("%03ds",id) if FileTest.image_exist?("Graphics/Characters/"+events[i][6]) @realEvents[i].character_name=sprintf("%03ds",id) else events[i][6]=sprintf("%03d",id) @realEvents[i].character_name=sprintf("%03d",id) end else events[i][6]=sprintf("%03d",id) @realEvents[i].character_name=sprintf("%03d",id) end if animation==true $scene.spriteset.addUserAnimation(Animation_Come_Out,@realEvents[i].x,@realEvents[i].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[i] && events[i][8]=="Dependent" events[i][6]=sprintf("nil") @realEvents[i].character_name=sprintf("nil") if animation==true $scene.spriteset.addUserAnimation(Animation_Come_In,@realEvents[i].x,@realEvents[i].y) pbWait(10) end $game_variables[Current_Following_Variable]=$Trainer.party[0] $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) events=$PokemonGlobal.dependentEvents for i in 0...events.length if events[i] && events[i][8]=="Dependent" events[i][6]=sprintf("nil") @realEvents[i].character_name=sprintf("nil") else if $Trainer.party[0].hp>0 && !$Trainer.party[0].egg? if $Trainer.party[0].hasType?(:WATER) remove_sprite else remove_sprite pbWait(20) end elsif $Trainer.party[0].hp<=0 end end end end #---------------------------------------------------------------------------- # - talk_to_pokemon # - It will run when you talk to Pokemon following #---------------------------------------------------------------------------- def talk_to_pokemon e=$Trainer.party[0] events=$PokemonGlobal.dependentEvents for i in 0...events.length if events[i] && events[i][8]=="Dependent" pos_x=@realEvents[i].x pos_y=@realEvents[i].y end end if e==0 else if e.hp>0 && !$Trainer.party[0].egg? if $PokemonGlobal.surfing==true || $PokemonGlobal.bicycle==true else if e!=6 pbPlayCry(e.species) random1=rand(5) if $game_variables[ItemWalk]==5 items=[:POTION,:SUPERPOTION,:FULLRESTORE,:REVIVE,:PPUP, :PPMAX,:RARECANDY,:REPEL,:MAXREPEL,:ESCAPEROPE, :HONEY,:TINYMUSHROOM,:PEARL,:NUGGET,:GREATBALL, :ULTRABALL,:THUNDERSTONE,:MOONSTONE,:SUNSTONE,:DUSKSTONE, :REDAPRICORN,:BLUAPRICORN,:YLWAPRICORN,:GRNAPRICORN,:PNKAPRICORN, :BLKAPRICORN,:WHTAPRICORN ] random2=0 loop do random2=rand(items.length) break if hasConst?(PBItems,items[random2]) end Kernel.pbMessage(_INTL("{1} seems to be holding something, it looks like {1} wants to give it to me.",e.name)) Kernel.pbPokemonFound(getConst(PBItems,items[random2])) $game_variables[ItemWalk]=0 end if random1==0 $scene.spriteset.addUserAnimation(Emo_sing, pos_x, pos_y-2) pbWait(50) Kernel.pbMessage(_INTL("{1} loves this tune so much that {1} is singing it.",e.name)) elsif e.happiness>0 && e.happiness<=50 $scene.spriteset.addUserAnimation(Emo_Hate, pos_x, pos_y-2) pbWAit(70) Kernel.pbMessage(_INTL("{1} hate to travel with {2}.",e.name,$Trainer.name)) elsif e.status==PBStatuses::POISON && e.hp>0 && !e.egg? $scene.spriteset.addUserAnimation(Emo_Poison, pos_x, pos_y-2) pbWait(120) Kernel.pbMessage(_INTL("{1} is badly poisoned, {1} needs help quick.",e.name)) elsif e.happiness>50 && e.happiness<=100 $scene.spriteset.addUserAnimation(Emo_Normal, pos_x, pos_y-2) pbWait(100) Kernel.pbMessage(_INTL("{1} is still undecided for whether traveling with {2} is a good thing or not.",e.name,$Trainer.name)) elsif e.happiness>100 && e.happiness<150 $scene.spriteset.addUserAnimation(Emo_Happy, pos_x, pos_y-2) Kernel.pbMessage(_INTL("{1} is happy traveling with {2}.",e.name,$Trainer.name)) elsif e.happiness>=150 $scene.spriteset.addUserAnimation(Emo_love, pos_x, pos_y-2) pbWait(70) Kernel.pbMessage(_INTL("{1} loves traveling with {2}.",e.name,$Trainer.name)) end else end end end end end def Come_back(shiny=nil, animation=nil) events=$PokemonGlobal.dependentEvents if $game_variables[Current_Following_Variable]==$Trainer.party.length $game_variables[Current_Following_Variable] else $game_variables[Current_Following_Variable] end if $game_variables[Current_Following_Variable]==$Trainer.party.length remove_sprite(false) for i in 0...events.length $scene.spriteset.addUserAnimation(Animation_Come_Out,@realEvents[i].x,@realEvents[i].y) end else if $Trainer.party[0].isShiny? shiny=true else shiny=false end change_sprite($Trainer.party[0].species, shiny, false) end for i in 0..$Trainer.party.length-1 if $Trainer.party[i].hp>0 && !$Trainer.party[0].egg? $game_variables[Current_Following_Variable]=i refresh_sprite break end end for i in 0...events.length for i in 0..$Trainer.party.length-1 if $Trainer.party[i].hp<=0 id = $Trainer.party[i].species else id = $Trainer.party[i].species end end if events[i] && events[i][8]=="Dependent" if shiny==true events[i][6]=sprintf("%03ds",id) if FileTest.image_exist?("Graphics/Characters/"+events[i][6]) @realEvents[i].character_name=sprintf("%03ds",id) else events[i][6]=sprintf("%03d",id) @realEvents[i].character_name=sprintf("%03d",id) end else events[i][6]=sprintf("%03d",id) @realEvents[i].character_name=sprintf("%03d",id) end if animation==true else end end end end #---------------------------------------------------------------------------- # - check_faint # - If current Pokemon is fainted, change other Pokemon. #---------------------------------------------------------------------------- def check_faint if $PokemonGlobal.surfing==true || $PokemonGlobal.bicycle==true else if $Trainer.party[0].hp<=0 $game_variables[Current_Following_Variable]=0 remove_sprite elsif $Trainer.party[0].hp>0 && !$Trainer.party[0].egg? end end end def SetMoveRoute(commands,waitComplete=false) events=$PokemonGlobal.dependentEvents for i in 0...events.length if events[i] && events[i][8]=="Dependent" pbMoveRoute(@realEvents[i],commands,waitComplete) end end end end #---------------------------------------------------------------------------- # - Auto add Script to Kernel.pbSurf, It'll check curent Pokemon when surf #---------------------------------------------------------------------------- def Kernel.pbSurf # if $game_player.pbHasDependentEvents? # return false # end if $DEBUG || (HIDDENMOVESCOUNTBADGES ? $Trainer.numbadges>=BADGEFORSURF : $Trainer.badges[BADGEFORSURF]) movefinder=Kernel.pbCheckMove(:SURF) if $DEBUG || movefinder if Kernel.pbConfirmMessage(_INTL("The water is dyed a deep blue... Would you like to surf?")) speciesname=!movefinder ? $Trainer.name : movefinder.name Kernel.pbMessage(_INTL("{1} used Surf!",speciesname)) pbHiddenMoveAnimation(movefinder) # $PokemonTemp.dependentEvents.check_surf surfbgm=pbGetMetadata(0,MetadataSurfBGM) $PokemonTemp.dependentEvents.check_surf if surfbgm pbCueBGM(surfbgm,0.5) end pbStartSurfing() 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 pbIsSurfableTag?(currentTag)&&!pbIsSurfableTag?(facingTag) if Kernel.pbJumpToward Kernel.pbCancelVehicles $game_map.autoplayAsCue $game_player.increase_steps result=$game_player.check_event_trigger_here([1,2]) Kernel.pbOnStepTaken(result) $PokemonTemp.dependentEvents.Come_back(true) 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("Sorry, a new Badge is required.")) 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("Can't use that here.")) return false end return true when PBMoves::CUT if !$DEBUG && !$Trainer.badges[BADGEFORCUT] Kernel.pbMessage(_INTL("Sorry, a new Badge is required.")) return false end facingEvent=$game_player.pbFacingEvent if !facingEvent || facingEvent.name!="Tree" Kernel.pbMessage(_INTL("Can't use that here.")) return false end return true when PBMoves::HEADBUTT facingEvent=$game_player.pbFacingEvent if !facingEvent || facingEvent.name!="HeadbuttTree" Kernel.pbMessage(_INTL("Can't use that here.")) return false end return true when PBMoves::SURF terrain=Kernel.pbFacingTerrainTag if !$DEBUG && !$Trainer.badges[BADGEFORCUT] Kernel.pbMessage(_INTL("Sorry, a new Badge is required.")) return false end if $PokemonGlobal.surfing Kernel.pbMessage(_INTL("You're already surfing.")) 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 def pbPokemonFollow(x) Kernel.pbAddDependency2(x, "Dependent", CommonEvent) $PokemonTemp.dependentEvents.refresh_sprite end
Remove the scripts under pbPokemonFollow(12)
Send me your data i will fix it for u.It does the same thing either way.
def Talkative
$PokemonTemp.dependentEvents.talk_to_pokemon
end
Talkative
Just to tell you this code does not work. I just tested it and got this:Add this to the bottom of the script
And in the common event which holds the "$PokemonTemp.dependentEvents.talk_to_pokemon"Code:def Talkative $PokemonTemp.dependentEvents.talk_to_pokemon end
Change it to
Code:Talkative
Put it in the animations folder.dumb question were do i put the files Pokemon-Follow.png, emo.png and emo2.png and how do i use them???