The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > Creative Discussions > Game Development > Pokémon Essentials
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Pokémon Essentials All questions and discussion about Pokémon Essentials, the Pokémon game kit for RPG Maker XP, go in here. Also contains links to the latest downloads and the Essentials Wiki.

Reply
Click here to go to the first staff post in this thread.  
Thread Tools
  #51    
Old Posted July 19th, 2012 (04:39 AM).
Rayd12smitty's Avatar
Rayd12smitty
Shadow Maker
 
Join Date: Dec 2011
Gender: Male
Quote:
Originally Posted by zingzags View Post
Nice for making this, but one thing. "X" is defined as the event which is going to follow the player, not for the number of pokemon you have.
Yea haha. I figured that out the hard way. I kept wondering why the pc in the test map kept turning into Pikachu... Haha. Do you know how to make more than one pokemon follow you? All I've managed to do is get multiples of my first pokemon
__________________
Reply With Quote
  #52    
Old Posted July 19th, 2012 (05:40 AM).
~Angel~'s Avatar
~Angel~
Lead developer for Pokémon Millennium
 
Join Date: Mar 2010
Location: United States Of America.
Age: 17
Gender: Male
Nature: Quiet
Quote:
Originally Posted by Rayd12smitty View Post
Yea haha. I figured that out the hard way. I kept wondering why the pc in the test map kept turning into Pikachu... Haha. Do you know how to make more than one pokemon follow you? All I've managed to do is get multiples of my first pokemon
It causes lag. So only on is able to follow. I figured out how to get B/W pokemon to follow as well. I need to complete the sprites in the game.
Reply With Quote
  #53    
Old Posted July 19th, 2012 (07:11 AM).
zingzags's Avatar
zingzags
Creator or Pokemon Serenity
 
Join Date: Jan 2009
Location: Boston
Age: 20
Nature: Adamant
The script does not support alternate forms, I have to work on that when I have free time, also can u link Help -14's original to this one.
__________________
Pokemon Serenity is my fangame name.
name decided 12/15/09
Currently helping:
Pokemon ebony
and
Xenotime:
Reply With Quote
  #54    
Old Posted July 19th, 2012 (08:40 AM).
~Angel~'s Avatar
~Angel~
Lead developer for Pokémon Millennium
 
Join Date: Mar 2010
Location: United States Of America.
Age: 17
Gender: Male
Nature: Quiet
Quote:
Originally Posted by zingzags View Post
The script does not support alternate forms, I have to work on that when I have free time, also can u link Help -14's original to this one.
It's been noted that it does not. Venom12 is working on his Essentials DS to figure out how to make that happen. Here is the origonal thread for the follow script. http://www.pokecommunity.com/showthread.php?t=202478
Reply With Quote
  #55    
Old Posted July 19th, 2012 (09:31 AM).
Rayd12smitty's Avatar
Rayd12smitty
Shadow Maker
 
Join Date: Dec 2011
Gender: Male
alright thanks. I thought i saw somewhere that you could. I tried just having multiple dependent events, and calling the script for each one of them, but that just made me walk around with three of my first pokemon. It isn't important though, I was just wondering. Thanks
__________________
Reply With Quote
  #56    
Old Posted July 21st, 2012 (11:02 AM).
Nerameshu's Avatar
Nerameshu
Regional Explorer
 
Join Date: Feb 2012
Age: 24
Gender: Male
Hey guys, I'm just posting this hear because the error popped up after downloading and trying to playtest my game using the file presented here. I got this:

Spoiler:
---------------------------
Pokemon Essentials
---------------------------
Exception: RuntimeError

Message: Undefined species constant name: [MRMIME]

Name must consist only of letters, numbers, and

underscores and can't begin with a number.

Make sure the name is defined in

PBS/pokemon.txt.

File PBS/tm.txt, line 9

CLEFAIRY,CLEFABLE,NINETALES,PSYDUCK,GOLDUCK,ABRA,KADABRA,ALAKAZAM,SLOWPOKE,SLOWBRO,DROWZEE,HYPNO,EXEGGUTOR,STARMIE,MRMIME,JYNX,PORYGON,MEWTWO,MEW,CLEFFA,TOGEPI,TOGETIC,NATU,XATU,ESPEON,SLOWKING,GIRAFA...



Compiler:930:in `pbGetConst'

Compiler:949:in `parseSpecies'

Compiler:1556:in `pbCompileMachines'

Compiler:1553:in `each'

Compiler:1553:in `pbCompileMachines'

Compiler:1538:in `each_line'

Compiler:1538:in `pbCompileMachines'

Compiler:4053:in `pbCompileAllData'

Compiler:4174


What do I need to do? I'm not entirely sure I'm looking in the right spots.
__________________


Just got those eggs. Thought it'd be neat to play along. Help me see what they are.

Also, game in development. I'll give you a demo when I announce it... Some time when I'm close to done.
Reply With Quote
  #57    
Old Posted July 21st, 2012 (02:49 PM).
Rayd12smitty's Avatar
Rayd12smitty
Shadow Maker
 
Join Date: Dec 2011
Gender: Male
This has nothing to do with the script. I think you have a problem with the Pokemon.txt. This doesn't belong here
__________________
Reply With Quote
  #58    
Old Posted July 21st, 2012 (02:59 PM).
Nerameshu's Avatar
Nerameshu
Regional Explorer
 
Join Date: Feb 2012
Age: 24
Gender: Male
I only posted it because this error appeared after I tried playtesting using the kit with the script. If there's an error in the Pokemon.txt of the kit, it needs to be addressed.
__________________


Just got those eggs. Thought it'd be neat to play along. Help me see what they are.

Also, game in development. I'll give you a demo when I announce it... Some time when I'm close to done.
Reply With Quote
  #59    
Old Posted July 21st, 2012 (03:58 PM).
Maruno's Avatar
Maruno
Lead Dev of Pokémon Essentials
 
Join Date: Jan 2008
Location: England
Quote:
Originally Posted by Nerameshu View Post
I only posted it because this error appeared after I tried playtesting using the kit with the script. If there's an error in the Pokemon.txt of the kit, it needs to be addressed.
Your error is that you're using a way-old version of pokemon.txt, in which the internal name of Mr. Mime is given as MR_MIME rather than MRMIME. Use a newer version of pokemon.txt, or remove the underscore.
__________________
Reply With Quote
  #60    
Old Posted July 21st, 2012 (07:29 PM). Edited July 22nd, 2012 by shadowriver.
shadowriver
Beginning Trainer
 
Join Date: Sep 2007
Gender:
that was the version of the pokemon.txt that came with p-signs ultimate b/w kit, cause what happened is I had 2 versions the newer pokemon.txt had 0 for all the base exp and wasn’t generating xp so i swapped it for the older version but forgot to replace all the others .txt as well what i did was edit the name in the tm.txt and shadowmove.txt to mr_mime but i guess marunos way was easier lol.

#EDIT i have fixed the error and reuploaded
any other errors or non pokemon follow script related questions can be directed to my pm if it helps.
__________________
V8 Essentials with Ultimate BW Pack and pokemon follow ready to go.
(I had nothing to do with its creation just put it together for genarl use) http://www.mediafire.com/?rtrco39udskdb81
Credits go to
p-Sign
Clowcardruler
Maruno
Venom12
FL .
Help-14
zingzag
rick1234
Reply With Quote
  #61    
Old Posted July 27th, 2012 (02:16 PM).
korjamer's Avatar
korjamer
Pixel Artist
 
Join Date: Apr 2011
Age: 21
Gender: Male
Nature: Relaxed
Every once in a while I get this error after talking to the following Pokemon.
It's doesn't happen enough to make the script unplayable but it sure is annoying.
Any ideas on how to fix it?

By the way, bravo for getting this awesome script to work this is pretty much the only error I found. I even Fixed the sprite not updating after the first pokemon in your party evolved. But that was an easy fix.

---------------------------
Pokemon Essentials
---------------------------
Exception: NoMethodError

Message: undefined method `unlock' for nil:NilClass

Interpreter:512:in `command_end'

Interpreter:295:in `execute_command'

Interpreter:193:in `update'

Interpreter:106:in `loop'

Interpreter:198:in `update'

Scene_Map:103:in `update'

Scene_Map:101:in `loop'

Scene_Map:114:in `update'

Scene_Map:68:in `main'

Scene_Map:65:in `loop'
Reply With Quote
  #62    
Old Posted July 27th, 2012 (07:21 PM).
shadowriver
Beginning Trainer
 
Join Date: Sep 2007
Gender:
Quote:
Originally Posted by korjamer View Post
Every once in a while I get this error after talking to the following Pokemon.
It's doesn't happen enough to make the script unplayable but it sure is annoying. :(
Any ideas on how to fix it?

By the way, bravo for getting this awesome script to work this is pretty much the only error I found. I even Fixed the sprite not updating after the first pokemon in your party evolved. But that was an easy fix.

---------------------------
Pokemon Essentials
---------------------------
Exception: NoMethodError

Message: undefined method `unlock' for nil:NilClass

Interpreter:512:in `command_end'

Interpreter:295:in `execute_command'

Interpreter:193:in `update'

Interpreter:106:in `loop'

Interpreter:198:in `update'

Scene_Map:103:in `update'

Scene_Map:101:in `loop'

Scene_Map:114:in `update'

Scene_Map:68:in `main'

Scene_Map:65:in `loop'


in Interperter line 512:

Code:
$game_map.events[@event_id].unlock
change to

Code:
#$game_map.events[@event_id].unlock
in witch script and line do you update to fix the evolution thing,
__________________
V8 Essentials with Ultimate BW Pack and pokemon follow ready to go.
(I had nothing to do with its creation just put it together for genarl use) http://www.mediafire.com/?rtrco39udskdb81
Credits go to
p-Sign
Clowcardruler
Maruno
Venom12
FL .
Help-14
zingzag
rick1234
Reply With Quote
  #63    
Old Posted July 27th, 2012 (11:02 PM). Edited July 27th, 2012 by korjamer.
korjamer's Avatar
korjamer
Pixel Artist
 
Join Date: Apr 2011
Age: 21
Gender: Male
Nature: Relaxed
To update the sprite after an evolution,

In PokemonEvolution

Change this:
def pbEndScreen
Kernel.pbDisposeMessageWindow(@sprites["msgwindow"])
pbFadeOutAndHide(@sprites)
pbDisposeSpriteHash(@sprites)
@viewport.dispose
end

To this:
def pbEndScreen
Kernel.pbDisposeMessageWindow(@sprites["msgwindow"])
pbFadeOutAndHide(@sprites)
pbDisposeSpriteHash(@sprites)
@viewport.dispose
$PokemonTemp.dependentEvents.refresh_sprite
end

See? Told ya it was easy. :3
I'm not sure if this is the best way to do this, but it does the job.

Yay! I'm pretty sure the previous error I posted about is completely fixed now! Thank you! :D
Reply With Quote
  #64    
Old Posted July 30th, 2012 (09:55 AM).
zingzags's Avatar
zingzags
Creator or Pokemon Serenity
 
Join Date: Jan 2009
Location: Boston
Age: 20
Nature: Adamant
Quote:
Originally Posted by korjamer View Post
To update the sprite after an evolution,

In PokemonEvolution

Change this:
def pbEndScreen
Kernel.pbDisposeMessageWindow(@sprites["msgwindow"])
pbFadeOutAndHide(@sprites)
pbDisposeSpriteHash(@sprites)
@viewport.dispose
end

To this:
def pbEndScreen
Kernel.pbDisposeMessageWindow(@sprites["msgwindow"])
pbFadeOutAndHide(@sprites)
pbDisposeSpriteHash(@sprites)
@viewport.dispose
$PokemonTemp.dependentEvents.refresh_sprite
end

See? Told ya it was easy. :3
I'm not sure if this is the best way to do this, but it does the job.

Yay! I'm pretty sure the previous error I posted about is completely fixed now! Thank you! :D
It is the way to do it, I forgot to list it in the guide lol.
__________________
Pokemon Serenity is my fangame name.
name decided 12/15/09
Currently helping:
Pokemon ebony
and
Xenotime:
Reply With Quote
  #65    
Old Posted July 30th, 2012 (12:33 PM).
~Angel~'s Avatar
~Angel~
Lead developer for Pokémon Millennium
 
Join Date: Mar 2010
Location: United States Of America.
Age: 17
Gender: Male
Nature: Quiet
Quote:
Originally Posted by zingzags View Post
It is the way to do it, I forgot to list it in the guide lol.
Well then. Lol :D Hey I still can't get B/W pokemon to follow maybe it's just to many for the script/RMXP maker to hold. I finished the sprites and what not but they don't show.
Reply With Quote
  #66    
Old Posted July 30th, 2012 (08:36 PM).
shadowriver
Beginning Trainer
 
Join Date: Sep 2007
Gender:
Quote:
Originally Posted by Rick1234 View Post
Well then. Lol :D Hey I still can't get B/W pokemon to follow maybe it's just to many for the script/RMXP maker to hold. I finished the sprites and what not but they don't show.
They all work for me including the shiny ones, how have you got them named in your graphics folder.if its 495 and 495s it should work.
also are you adding the b/w first or changing to them in the debug menu
if your going to them in the debug menu you need to refrsh the dependint event for them to show.

sorry if you already know this just trying to figger it out myself.
__________________
V8 Essentials with Ultimate BW Pack and pokemon follow ready to go.
(I had nothing to do with its creation just put it together for genarl use) http://www.mediafire.com/?rtrco39udskdb81
Credits go to
p-Sign
Clowcardruler
Maruno
Venom12
FL .
Help-14
zingzag
rick1234
Reply With Quote
  #67    
Old Posted July 31st, 2012 (09:08 AM).
Rayd12smitty's Avatar
Rayd12smitty
Shadow Maker
 
Join Date: Dec 2011
Gender: Male
They all work for me as well. I don't know whats going on with yours
__________________
Reply With Quote
  #68    
Old Posted July 31st, 2012 (12:41 PM). Edited July 31st, 2012 by zingzags.
zingzags's Avatar
zingzags
Creator or Pokemon Serenity
 
Join Date: Jan 2009
Location: Boston
Age: 20
Nature: Adamant
Well I got some free time on my hands I am going to see if I can get alternate forms to work.
@Rick, its because you are naming them wrong, which is the same thing that happened last time.
EDIT: seems like my trail mode has expired, and I do not really feel like spending money to buy the program, I guess I cant work on it for now.

EDIT AGAIN: NVM found the old 1.02a version of RPG MAKER XP, and just used a keygen.

Well I made alternate forms, but for now you cannot make a shiny alternate, just regular at the moment, I know how to fix it, but I will repost the fix later.
But for those who cannot wait here you go.
Code:
 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].form>0
         altform=true
      else
         altform=false
      end
      if $Trainer.party[0].hp>0 && !$Trainer.party[0].egg?
      change_sprite($Trainer.party[0].species, shiny, altform, 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, altform=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 altform==true
           events[i][6]=sprintf("%03d_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03d_%d",id,$Trainer.party[0].form)
        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
      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
Here is the actual 100% fix
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
# -Added Multiple Forms fix
#==============================================================================
# Zingzags comments
#==============================================================================
# Special thanks to Maruno, and Venom - 13, as they helped me a bit!
# 
#==============================================================================

#==============================================================================
#   ¡Ü 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].form>0
         altform=true
      else
         altform=false
      end
      if $Trainer.party[0].hp>0 && !$Trainer.party[0].egg?
      change_sprite($Trainer.party[0].species, shiny, altform, 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, altform=nil, animation=nil)
    events=$PokemonGlobal.dependentEvents
    for i in 0...events.length
      if events[i] && events[i][8]=="Dependent"
        if shiny==true && altform==false
           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
       elsif altform==true && shiny==false
           events[i][6]=sprintf("%03d_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03d_%d",id,$Trainer.party[0].form)
        else
          events[i][6]=sprintf("%03d",id)
          @realEvents[i].character_name=sprintf("%03d",id)
        end
        elsif altform==true && shiny==true
           events[i][6]=sprintf("%03ds_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03ds_%d",id,$Trainer.party[0].form)
        else
          events[i][6]=sprintf("%03d",id)
          @realEvents[i].character_name=sprintf("%03d",id)
        end
      end 
    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
  
  #----------------------------------------------------------------------------
  # - 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
__________________
Pokemon Serenity is my fangame name.
name decided 12/15/09
Currently helping:
Pokemon ebony
and
Xenotime:
Reply With Quote
  #69    
Old Posted July 31st, 2012 (05:19 PM).
~Angel~'s Avatar
~Angel~
Lead developer for Pokémon Millennium
 
Join Date: Mar 2010
Location: United States Of America.
Age: 17
Gender: Male
Nature: Quiet
Quote:
Originally Posted by zingzags View Post
Well I got some free time on my hands I am going to see if I can get alternate forms to work.
@Rick, its because you are naming them wrong, which is the same thing that happened last time.
EDIT: seems like my trail mode has expired, and I do not really feel like spending money to buy the program, I guess I cant work on it for now.

EDIT AGAIN: NVM found the old 1.02a version of RPG MAKER XP, and just used a keygen.

Well I made alternate forms, but for now you cannot make a shiny alternate, just regular at the moment, I know how to fix it, but I will repost the fix later.
But for those who cannot wait here you go.
Code:
 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].form>0
         altform=true
      else
         altform=false
      end
      if $Trainer.party[0].hp>0 && !$Trainer.party[0].egg?
      change_sprite($Trainer.party[0].species, shiny, altform, 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, altform=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 altform==true
           events[i][6]=sprintf("%03d_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03d_%d",id,$Trainer.party[0].form)
        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
      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
Here is the actual 100% fix
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
# -Added Multiple Forms fix
#==============================================================================
# Zingzags comments
#==============================================================================
# Special thanks to Maruno, and Venom - 13, as they helped me a bit!
# 
#==============================================================================

#==============================================================================
#   ¡Ü 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].form>0
         altform=true
      else
         altform=false
      end
      if $Trainer.party[0].hp>0 && !$Trainer.party[0].egg?
      change_sprite($Trainer.party[0].species, shiny, altform, 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, altform=nil, animation=nil)
    events=$PokemonGlobal.dependentEvents
    for i in 0...events.length
      if events[i] && events[i][8]=="Dependent"
        if shiny==true && altform==false
           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
       elsif altform==true && shiny==false
           events[i][6]=sprintf("%03d_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03d_%d",id,$Trainer.party[0].form)
        else
          events[i][6]=sprintf("%03d",id)
          @realEvents[i].character_name=sprintf("%03d",id)
        end
        elsif altform==true && shiny==true
           events[i][6]=sprintf("%03ds_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03ds_%d",id,$Trainer.party[0].form)
        else
          events[i][6]=sprintf("%03d",id)
          @realEvents[i].character_name=sprintf("%03d",id)
        end
      end 
    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
  
  #----------------------------------------------------------------------------
  # - 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
They are not named wrong now. I named them like the number of the pokemon and it's shiny form. Such as 493 and 493s those should be named correctly. That or it's the file I am using o3o
Reply With Quote
  #70    
Old Posted July 31st, 2012 (05:29 PM). Edited July 31st, 2012 by zingzags.
zingzags's Avatar
zingzags
Creator or Pokemon Serenity
 
Join Date: Jan 2009
Location: Boston
Age: 20
Nature: Adamant
Quote:
Originally Posted by Rick1234 View Post
They are not named wrong now. I named them like the number of the pokemon and it's shiny form. Such as 493 and 493s those should be named correctly. That or it's the file I am using o3o
Then I hope this explanation helps.

You see this here:
Code:
events[i][6]=sprintf("%03d",id)
%03d is what I define 3 digit numbers, so numbers that are under 3 digits like
25 (Pikachu) would be, 025 which is how the images are named in battlers. But I remember when you sent me your project I had to change the script to make it easier for both me and you, so we wouldn't have to rename 400+ pokemon.

What I did to your script was I made it to %03d_0 because your pokemon overworlds in your folder were 001_0, 002_0... 493_0. the _0 in the script I edited for you was what made the pokemon overworlds show.

So what you are going to have to do for each release that comes out, you are going to have to go into the script and change each

%03d, %03ds, %03d_%d, %03ds_%d
to
%03d_0, %03ds_0, %03d_%d, %03ds_%d

EDIT: I forgot to edit one thing
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
# -Added Multiple Forms fix
#==============================================================================
# Zingzags comments
#==============================================================================
# Special thanks to Maruno, and Venom - 13, as they helped me a bit!
# 
#==============================================================================

#==============================================================================
#   ¡Ü 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].form>0
         altform=true
      else
         altform=false
      end
      if $Trainer.party[0].hp>0 && !$Trainer.party[0].egg?
      change_sprite($Trainer.party[0].species, shiny, altform, 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, altform=nil, animation=nil)
    events=$PokemonGlobal.dependentEvents
    for i in 0...events.length
      if events[i] && events[i][8]=="Dependent"
        if shiny==true && altform==false
           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
       elsif altform==true && shiny==false
           events[i][6]=sprintf("%03d_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03d_%d",id,$Trainer.party[0].form)
        else
          events[i][6]=sprintf("%03d",id)
          @realEvents[i].character_name=sprintf("%03d",id)
        end
        elsif altform==true && shiny==true
           events[i][6]=sprintf("%03ds_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03ds_%d",id,$Trainer.party[0].form)
        else
          events[i][6]=sprintf("%03d",id)
          @realEvents[i].character_name=sprintf("%03d",id)
        end
      end 
    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
  
  #----------------------------------------------------------------------------
  # - 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, altform=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
       if $Trainer.party[0].form>0
         altform=true
      else
         altform=false
      end
      change_sprite($Trainer.party[0].species, shiny, altform, 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 && altform==false
           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
       elsif altform==true && shiny==false
           events[i][6]=sprintf("%03d_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03d_%d",id,$Trainer.party[0].form)
        else
          events[i][6]=sprintf("%03d",id)
          @realEvents[i].character_name=sprintf("%03d",id)
        end
        elsif altform==true && shiny==true
           events[i][6]=sprintf("%03ds_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03ds_%d",id,$Trainer.party[0].form)
        else
          events[i][6]=sprintf("%03d",id)
          @realEvents[i].character_name=sprintf("%03d",id)
        end
      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
__________________
Pokemon Serenity is my fangame name.
name decided 12/15/09
Currently helping:
Pokemon ebony
and
Xenotime:
Reply With Quote
  #71    
Old Posted July 31st, 2012 (05:43 PM).
Rayd12smitty's Avatar
Rayd12smitty
Shadow Maker
 
Join Date: Dec 2011
Gender: Male
very nice update. I missed the alternate forms thing. I don't know whats up with Rick's because i have them numbered 495, 495s, 496, 496s... etc and it works fine.
__________________
Reply With Quote
  #72    
Old Posted July 31st, 2012 (05:54 PM). Edited August 1st, 2012 by ~Angel~.
~Angel~'s Avatar
~Angel~
Lead developer for Pokémon Millennium
 
Join Date: Mar 2010
Location: United States Of America.
Age: 17
Gender: Male
Nature: Quiet
Quote:
Originally Posted by Rayd12smitty View Post
very nice update. I missed the alternate forms thing. I don't know whats up with Rick's because i have them numbered 495, 495s, 496, 496s... etc and it works fine.
I changed it to the same script everyone else is using o3o and still nothing works. I will have to look back. It may have gotten changed when I moved my scripts.
Wait. Just remembered. I am using Venom12's scripts o3o it has the same thing just in a new folder. Yet I can't figure it out >_< I put everything where it is men't to be. And nothing.

Quote:
Originally Posted by zingzags View Post
Then I hope this explanation helps.

You see this here:
Code:
events[i][6]=sprintf("%03d",id)
%03d is what I define 3 digit numbers, so numbers that are under 3 digits like
25 (Pikachu) would be, 025 which is how the images are named in battlers. But I remember when you sent me your project I had to change the script to make it easier for both me and you, so we wouldn't have to rename 400+ pokemon.

What I did to your script was I made it to %03d_0 because your pokemon overworlds in your folder were 001_0, 002_0... 493_0. the _0 in the script I edited for you was what made the pokemon overworlds show.

So what you are going to have to do for each release that comes out, you are going to have to go into the script and change each

%03d, %03ds, %03d_%d, %03ds_%d
to
%03d_0, %03ds_0, %03d_%d, %03ds_%d

EDIT: I forgot to edit one thing
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
# -Added Multiple Forms fix
#==============================================================================
# Zingzags comments
#==============================================================================
# Special thanks to Maruno, and Venom - 13, as they helped me a bit!
# 
#==============================================================================

#==============================================================================
#   ¡Ü 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].form>0
         altform=true
      else
         altform=false
      end
      if $Trainer.party[0].hp>0 && !$Trainer.party[0].egg?
      change_sprite($Trainer.party[0].species, shiny, altform, 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, altform=nil, animation=nil)
    events=$PokemonGlobal.dependentEvents
    for i in 0...events.length
      if events[i] && events[i][8]=="Dependent"
        if shiny==true && altform==false
           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
       elsif altform==true && shiny==false
           events[i][6]=sprintf("%03d_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03d_%d",id,$Trainer.party[0].form)
        else
          events[i][6]=sprintf("%03d",id)
          @realEvents[i].character_name=sprintf("%03d",id)
        end
        elsif altform==true && shiny==true
           events[i][6]=sprintf("%03ds_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03ds_%d",id,$Trainer.party[0].form)
        else
          events[i][6]=sprintf("%03d",id)
          @realEvents[i].character_name=sprintf("%03d",id)
        end
      end 
    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
  
  #----------------------------------------------------------------------------
  # - 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, altform=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
       if $Trainer.party[0].form>0
         altform=true
      else
         altform=false
      end
      change_sprite($Trainer.party[0].species, shiny, altform, 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 && altform==false
           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
       elsif altform==true && shiny==false
           events[i][6]=sprintf("%03d_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03d_%d",id,$Trainer.party[0].form)
        else
          events[i][6]=sprintf("%03d",id)
          @realEvents[i].character_name=sprintf("%03d",id)
        end
        elsif altform==true && shiny==true
           events[i][6]=sprintf("%03ds_%d",id,$Trainer.party[0].form)
        if FileTest.image_exist?("Graphics/Characters/"+events[i][6])
          @realEvents[i].character_name=sprintf("%03ds_%d",id,$Trainer.party[0].form)
        else
          events[i][6]=sprintf("%03d",id)
          @realEvents[i].character_name=sprintf("%03d",id)
        end
      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
I looked back. The Scripts still are not showing the pokemon. I have every single last pokemon named correctly. Such as the number men't to be show. My data is EXACTLY like everyone else. I use Venom12's data. I have not changed anything in that data. And yet I am still not able to show them.
Reply With Quote
  #73    
Old Posted August 5th, 2012 (04:40 AM).
~Angel~'s Avatar
~Angel~
Lead developer for Pokémon Millennium
 
Join Date: Mar 2010
Location: United States Of America.
Age: 17
Gender: Male
Nature: Quiet
Sorry guys I figured out my problem XD I was missing the audio files for the pokemon :/ All that for nothing XD all well it's working now and soon will have alternate forms :D
Reply With Quote
  #74    
Old Posted August 5th, 2012 (09:23 AM). Edited August 5th, 2012 by korjamer.
korjamer's Avatar
korjamer
Pixel Artist
 
Join Date: Apr 2011
Age: 21
Gender: Male
Nature: Relaxed
I replaced the followpokemon script in my game for the alternate forms fix that zingzags came up with and now only shiny Pokemon follow me... The sprites for regular Pokemon are invisible. Are they named wrong? If so how should I name them?

Edit: I found that if I change the Pokemon's form to 1 with the debug editor The regular (non shiny) sprite works... But I have to do it manually... Also the shiny doesn't appear on form 1...

And just for reference in my characters folder they are named:
001, 001s, 001_1, 001s_1, ect...
Reply With Quote
  #75    
Old Posted August 5th, 2012 (10:36 AM).
~Angel~'s Avatar
~Angel~
Lead developer for Pokémon Millennium
 
Join Date: Mar 2010
Location: United States Of America.
Age: 17
Gender: Male
Nature: Quiet
Quote:
Originally Posted by korjamer View Post
I replaced the followpokemon script in my game for the alternate forms fix that zingzags came up with and now only shiny Pokemon follow me... The sprites for regular Pokemon are invisible. Are they named wrong? If so how should I name them?

Edit: I found that if I change the Pokemon's form to 1 with the debug editor The regular (non shiny) sprite works... But I have to do it manually... Also the shiny doesn't appear on form 1...

And just for reference in my characters folder they are named:
001, 001s, 001_1, 001s_1, ect...
You would need to change them. With Zingzags premission I would be glad to let you use the script he made for me. But he changed it differently then what you have all ready. You could go to his original post and get the characters there correctly named.
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 05:39 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.