• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Archive] Pokemon Essentials: Starter Kit for RPG Maker XP

Status
Not open for further replies.
17
Posts
15
Years
    • Seen Jul 17, 2009
    I can't get the online trading to work. I've turned off my firewalls, forwarded all the required ports, downloaded everything and followed directions exactly, too. I can get to the register screen, but the server disconnects before I try to log in or submit my registration :^/

    I'm using Windows Vista.

    Also, does anyone know if an online battling system is being worked on? :^)
     

    crzyone9584

    Pokemon: The Beginning Founder
    167
    Posts
    15
    Years
  • I can't get the online trading to work. I've turned off my firewalls, forwarded all the required ports, downloaded everything and followed directions exactly, too. I can get to the register screen, but the server disconnects before I try to log in or submit my registration :^/

    I'm using Windows Vista.

    Also, does anyone know if an online battling system is being worked on? :^)

    like i said before the online trading system is really bad. i had trouble with it on xp and i dont even want to see how bad it is for vista

    and as far as i know no online fighting system is being made.
     
    17
    Posts
    15
    Years
    • Seen Jul 17, 2009
    Aww, such a shame... Hopefully it will improve, though.

    Question: How do you set the IVs for Pokemon?
     
    17
    Posts
    15
    Years
    • Seen Jul 17, 2009
    No, no, those are the base stats! I want to change the Pokemon's Individual Value (it's the value from 0 to 31). For example, setting the IVs for a Pokemon before a forced wild encounter or changing the IVs of a Pokemon in your party--things like that.
     
    386
    Posts
    17
    Years
    • Seen Aug 10, 2015
    Each Pokemon has an array named "iv" which specifies the Individual Values of the Pokemon. Be sure to set each of them
    from 0 through 31 and to call the "calcStats" method to recalculate the Pokemon's stats. Here is an example that sets the Individual Values of the first Pokemon in the party.

    Code:
    # Get first Pokemon
    pokemon=$Trainer.party[0]
    # Set all IVs to 20
    pokemon.iv[0]=20 # HP
    pokemon.iv[1]=20 # Attack
    pokemon.iv[2]=20 # Defense
    pokemon.iv[3]=20 # Speed
    pokemon.iv[4]=20 # Special Attack
    pokemon.iv[5]=20 # Special Defense
    # Recalculate stats
    pokemon.calcStats

    To change a wild Pokemon's IVs, you must create an event handler for the onWildPokemonCreate event,
    which runs code only if a certain switch (here, switch 30) is on. (You would set the switch to ON before
    a wild battle, and set it to OFF after.) Here's an example:
    Code:
    Events.onWildPokemonCreate+=proc {|sender,e|
     # Get the wild Pokemon
     pokemon=e[0]
     # Run only if switch 30 is on
     if $game_switches[30]
      # Set all IVs to 20
      pokemon.iv[0]=20 # HP
      pokemon.iv[1]=20 # Attack
      pokemon.iv[2]=20 # Defense
      pokemon.iv[3]=20 # Speed
      pokemon.iv[4]=20 # Special Attack
      pokemon.iv[5]=20 # Special Defense
      # Recalculate stats
      pokemon.calcStats
     end
    }

    The "onWildPokemonCreate" event is very flexible. It allows you to dynamically modify the Pokemon battle according to the situation. For example, you can randomly change its Pokemon species or make its level fluctuate somewhat.

    Similar events include "onStepTaken", whenever the player takes a step, and "onMapChange", whenever the map changes.
     
    Last edited:

    Razer Rage

    Beginning Hacker
    126
    Posts
    16
    Years
    • Seen Jul 1, 2012
    I must say, bravo. I haven't actually tried it yet, but I'm sure it's quite good. But there are a few things I am wondering about it.

    1) Would it be possible for you to make a patch file to download every time you update Pokemon essentials for those who already have it? It would take so much less time then to have to download the whole thing over and over again. Better yet, make it automatically or manually check for, download, and install updates. :D

    2) Why Pokemon Ruby/Sapphire and not others? Why not ADD Leaf Green/Fire Red, etc.?

    3) Will you be making poke essentials compatible with RMVX?
     
    386
    Posts
    17
    Years
    • Seen Aug 10, 2015
    Razor Rage:

    There are change log files with each release. They can't be used like patch files, unfortunately.

    ---

    The following add-on I created today implements moves that require keyboard input in order to use. Put the code below in a new script section in the script editor.
    Code:
    class PokeBattle_Move_Blitz < PokeBattle_Move
     KEYHASH={
       :A=>0x41,:B=>0x42,:C=>0x43,:D=>0x44,
       :E=>0x45,:F=>0x46,:G=>0x47,:H=>0x48,
       :I=>0x49,:J=>0x4a,:K=>0x4b,:L=>0x4c,
       :M=>0x4D,:N=>0x4e,:O=>0x4f,:P=>0x50,
       :Q=>0x51,:R=>0x52,:S=>0x53,:T=>0x54,
       :U=>0x55,:V=>0x56,:W=>0x57,:X=>0x58,
       :Y=>0x59,:Z=>0x5a,:NUM_0=>0x30,:NUM_1=>0x31,
       :NUM_2=>0x32,:NUM_3=>0x33,:NUM_4=>0x34,:NUM_5=>0x35,
       :NUM_6=>0x36,:NUM_7=>0x37,:NUM_8=>0x38,:NUM_9=>0x39,
       :UP=>0x26,:DOWN=>0x28,:LEFT=>0x25,:RIGHT=>0x27,
       :SPACE=>0x20,:ENTER=>0x0D,:TAB=>0x09
     }
     def pbDisplayUseMessage(attacker)
      ret=super
      if @battle.pbOwnedByPlayer?(attacker.index)
       @[email protected](@keys)
       if @time<0
        @battle.pbDisplay(_INTL("But it failed!"))
        return -1
       end
      else
       @[email protected](30)*@keys.length
      end
      return ret
     end
     def pbBaseDamage(basedmg,attacker,opponent)
      return 20 if !@time || @time<0
      timeAverage=@time/[1,@keys.length].max
      return 20 if timeAverage>30
      return 40 if timeAverage>25
      return 60 if timeAverage>20
      return 80 if timeAverage>15
      return 100 if timeAverage>10
      return 150 if timeAverage>5
      return 200
     end
     def self.triggerKeyState(key)
      # -1: no keys pressed; 0: wrong key pressed; 1: correct key pressed
      correctKey=(KEYHASH[key]) ? KEYHASH[key] : 0x20
      # check wrong keys first
      for i in KEYHASH.values
       if i!=correctKey
        return 0 if Input.triggerex?(i)
       end
      end
      # then check correct key
      return (Input.triggerex?(correctKey)) ? 1 : -1
     end
     def self.getKey(key)
      return (KEYHASH[key]) ? KEYHASH[key] : 0x20
     end
    end
    
    class PokeBattle_Move_110 < PokeBattle_Move_Blitz
     def initialize(battle,move)
      super
      @keys=[:A,:B,:UP,:DOWN]
     end
    end
    
    class PokeBattle_Move_111 < PokeBattle_Move_Blitz
     def initialize(battle,move)
      super
      @keys=[:X,:W,:LEFT,:RIGHT]
     end
    end
    
    class PokeBattle_Move_112 < PokeBattle_Move_Blitz
     def initialize(battle,move)
      super
      @keys=[:Z,:Q,:P,:M]
     end
    end
    
    
    class PokeBattle_Scene
     def pbBlitz(keys)
      @briefmessage=false
      blitzwindow=Window_AdvancedTextPokemon.newWithSize("",0,Graphics.height-96-64,Graphics.width*2/3,64)
      blitzwindow.z=100001
      keystates=[0,0,0,0]
      start=Graphics.frame_count
      time=0
      penalty=0
      blitzCount=0
      blitzCurrent=0
      shownTime=0
      failures=0
      loop do
       Graphics.update
       Input.update
       blitzwindow.update
       needRefresh=false
       if shownTime%30 == 0
        blitzCount+=1
        needRefresh=true
        if blitzCount>keys.length
         Audio.se_play("Audio/SE/buzzer.wav")
         time=-1
         break
        end
       end
       keyState=PokeBattle_Move_Blitz.triggerKeyState(keys[blitzCurrent])
       if keyState>=0
        if keyState==1 # Correct
         Audio.se_play(pbGetDecisionSE)
         keystates[blitzCurrent]=1
        else # Incorrect
         Audio.se_play("Audio/SE/buzzer.wav")
         keystates[blitzCurrent]=2
         penalty+=30
         failures+=1
        end
        blitzCurrent+=1
        if blitzCurrent>=keys.length
         if failures==keys.length
          time=-1
          penalty=0
         end
         break
        end
        shownTime=0
        blitzCount=blitzCurrent+1 if blitzCount<blitzCurrent+1
        needRefresh=true
       end
       if needRefresh
        newtext=""
        for i in 0...blitzCount
         newtext+="   " if i>0
         if keystates[i]==1 #Correct
          newtext+="<c2=06644bd2>"+keys[i].to_s+"</c2>"
         elsif keystates[i]==2 # Incorrect
          newtext+="<c2=043c3aff>"+keys[i].to_s+"</c2>"
         else
          newtext+=keys[i].to_s
         end
        end
        blitzwindow.text=newtext
       end
       time+=1
       shownTime+=1
      end
      blitzwindow.dispose
      return time+penalty
     end
    end

    In addition, add the following three lines to the end of the file PBS/moves.txt . These are three moves that use the new keyboard input functionality and whose damage depends on skill and timing.
    Code:
    355,FIREBLITZ,FIRE BLITZ,110,1,FIRE,Special,100,15,0,00,0,bef,Cool,"A fire move whose damage depends on skill and timing."
    356,ICEBLITZ,ICE BLITZ,111,1,ICE,Special,100,15,0,00,0,bef,Cool,"An ice move whose damage depends on skill and timing."
    357,THUNDERBLITZ,THUNDERBLITZ,112,1,ELECTRIC,Special,100,15,0,00,0,bef,Cool,"A thunder move whose damage depends on skill and timing."
     
    Last edited:
    249
    Posts
    16
    Years
    • Seen Jul 24, 2011
    Ok, i have a HUGE question to ask,

    How would i make it so that when you catch one kind of pokemon, you automatically get the information for another pokemon. (i am planing on making "sub spiesies" of pokemon. brock is always saying that this pokemon or that pokemon might be a new one of that spiecies. for instance, at one point he says that he thinks that ash's buterfree is a diffrent type of butterfree then the others in the area.)
     

    partyghoul2000

    Intermediate Game Designer
    175
    Posts
    18
    Years
    • Age 36
    • USA
    • Seen Jun 24, 2014
    Razor Rage:

    There are change log files with each release. They can't be used like patch files, unfortunately.

    ---

    The following add-on I created today implements moves that require keyboard input in order to use. Put the code below in a new script section in the script editor.
    Code:
    class PokeBattle_Move_Blitz < PokeBattle_Move
     KEYHASH={
       :A=>0x41,:B=>0x42,:C=>0x43,:D=>0x44,
       :E=>0x45,:F=>0x46,:G=>0x47,:H=>0x48,
       :I=>0x49,:J=>0x4a,:K=>0x4b,:L=>0x4c,
       :M=>0x4D,:N=>0x4e,:O=>0x4f,:P=>0x50,
       :Q=>0x51,:R=>0x52,:S=>0x53,:T=>0x54,
       :U=>0x55,:V=>0x56,:W=>0x57,:X=>0x58,
       :Y=>0x59,:Z=>0x5a,:NUM_0=>0x30,:NUM_1=>0x31,
       :NUM_2=>0x32,:NUM_3=>0x33,:NUM_4=>0x34,:NUM_5=>0x35,
       :NUM_6=>0x36,:NUM_7=>0x37,:NUM_8=>0x38,:NUM_9=>0x39,
       :UP=>0x26,:DOWN=>0x28,:LEFT=>0x25,:RIGHT=>0x27,
       :SPACE=>0x20,:ENTER=>0x0D,:TAB=>0x09
     }
     def pbDisplayUseMessage(attacker)
      ret=super
      if @battle.pbOwnedByPlayer?(attacker.index)
       @[email protected](@keys)
       if @time<0
        @battle.pbDisplay(_INTL("But it failed!"))
        return -1
       end
      else
       @[email protected](30)*@keys.length
      end
      return ret
     end
     def pbBaseDamage(basedmg,attacker,opponent)
      return 20 if !@time || @time<0
      timeAverage=@time/[1,@keys.length].max
      return 20 if timeAverage>30
      return 40 if timeAverage>25
      return 60 if timeAverage>20
      return 80 if timeAverage>15
      return 100 if timeAverage>10
      return 150 if timeAverage>5
      return 200
     end
     def self.triggerKeyState(key)
      # -1: no keys pressed; 0: wrong key pressed; 1: correct key pressed
      correctKey=(KEYHASH[key]) ? KEYHASH[key] : 0x20
      # check wrong keys first
      for i in KEYHASH.values
       if i!=correctKey
        return 0 if Input.triggerex?(i)
       end
      end
      # then check correct key
      return (Input.triggerex?(correctKey)) ? 1 : -1
     end
     def self.getKey(key)
      return (KEYHASH[key]) ? KEYHASH[key] : 0x20
     end
    end
    
    class PokeBattle_Move_110 < PokeBattle_Move_Blitz
     def initialize(battle,move)
      super
      @keys=[:A,:B,:UP,:DOWN]
     end
    end
    
    class PokeBattle_Move_111 < PokeBattle_Move_Blitz
     def initialize(battle,move)
      super
      @keys=[:X,:W,:LEFT,:RIGHT]
     end
    end
    
    class PokeBattle_Move_112 < PokeBattle_Move_Blitz
     def initialize(battle,move)
      super
      @keys=[:Z,:Q,:P,:M]
     end
    end
    
    
    class PokeBattle_Scene
     def pbBlitz(keys)
      @briefmessage=false
      blitzwindow=Window_AdvancedTextPokemon.newWithSize("",0,Graphics.height-96-64,Graphics.width*2/3,64)
      blitzwindow.z=100001
      keystates=[0,0,0,0]
      start=Graphics.frame_count
      time=0
      penalty=0
      blitzCount=0
      blitzCurrent=0
      shownTime=0
      failures=0
      loop do
       Graphics.update
       Input.update
       blitzwindow.update
       needRefresh=false
       if shownTime%30 == 0
        blitzCount+=1
        needRefresh=true
        if blitzCount>keys.length
         Audio.se_play("Audio/SE/buzzer.wav")
         time=-1
         break
        end
       end
       keyState=PokeBattle_Move_Blitz.triggerKeyState(keys[blitzCurrent])
       if keyState>=0
        if keyState==1 # Correct
         Audio.se_play(pbGetDecisionSE)
         keystates[blitzCurrent]=1
        else # Incorrect
         Audio.se_play("Audio/SE/buzzer.wav")
         keystates[blitzCurrent]=2
         penalty+=30
         failures+=1
        end
        blitzCurrent+=1
        if blitzCurrent>=keys.length
         if failures==keys.length
          time=-1
          penalty=0
         end
         break
        end
        shownTime=0
        blitzCount=blitzCurrent+1 if blitzCount<blitzCurrent+1
        needRefresh=true
       end
       if needRefresh
        newtext=""
        for i in 0...blitzCount
         newtext+="   " if i>0
         if keystates[i]==1 #Correct
          newtext+="<c2=06644bd2>"+keys[i].to_s+"</c2>"
         elsif keystates[i]==2 # Incorrect
          newtext+="<c2=043c3aff>"+keys[i].to_s+"</c2>"
         else
          newtext+=keys[i].to_s
         end
        end
        blitzwindow.text=newtext
       end
       time+=1
       shownTime+=1
      end
      blitzwindow.dispose
      return time+penalty
     end
    end

    In addition, add the following three lines to the end of the file PBS/moves.txt . These are three moves that use the new keyboard input functionality and whose damage depends on skill and timing.
    Code:
    355,FIREBLITZ,FIRE BLITZ,110,1,FIRE,Special,100,15,0,00,0,bef,Cool,"A fire move whose damage depends on skill and timing."
    356,ICEBLITZ,ICE BLITZ,111,1,ICE,Special,100,15,0,00,0,bef,Cool,"An ice move whose damage depends on skill and timing."
    357,THUNDERBLITZ,THUNDERBLITZ,112,1,ELECTRIC,Special,100,15,0,00,0,bef,Cool,"A thunder move whose damage depends on skill and timing."

    are the three blitz moves examples of the new script or are they dp moves? and will this be added in the next update?
     
    145
    Posts
    17
    Years
  • Hi,

    I would like to add a priority of superposition in the chipsets but I dont know how to do it. It goes from 0 to 5 and I would like to add a sixth but I have not found how to do it :/ .

    Someone can help?
     
    2,048
    Posts
    16
    Years
    • Seen Sep 7, 2023
    The three moves are examples of the script. It tells you how to install them.
     
    17
    Posts
    15
    Years
    • Seen Jul 17, 2009
    Can someone point me to the script that sets the position for the "trbackXXX" file? My trainer is a little off to the right, and I would like to move him left some.

    EDIT: poccil, in the newest release, upon capturing a new Pokemon, the Pokemon's description no longer shows. I'm assuming this has something to do with the new AdvancedText thing that has been added, perhaps?
     
    Last edited:
    96
    Posts
    19
    Years
    • Seen Jun 3, 2011
    I have that problem too. Also, all of the maps I made are not showing in the editor when I go to the set encounters option. I then decided to list encounters for one of my maps in encounters.txt file and when I playtested it, no pokemon showed up. I already have grass tiles terrain tagged as 2.
     

    Hall Of Famer

    Born as Hall of Famer
    709
    Posts
    16
    Years
  • I don't know whether this question has been asked before but how can I make the move effects of those newly implemented D/P moves working? Now I have to change some value like "10A", "10B" to "0" or "1" or the game will crash(appears to be an undefined method error). Please tell me how to make this work and I'll appreciate it very much.
     

    partyghoul2000

    Intermediate Game Designer
    175
    Posts
    18
    Years
    • Age 36
    • USA
    • Seen Jun 24, 2014
    i have a few things here.
    1)how do i call pbDebugBattle? i've tried conditionals and scripts and it doesn't seem to work.
    2)for the battle animations, how would one go about shaking the screen or flashing colors? i tried adding in a flash in the rmxp animation editor, but it didn't show up ingame.
    3)how would you implement another terrain tag? when i was playing leaf green yesterday, i noticed going up and down stairs slows down the character a bit. can this be implemented into say, terrain tag 14?
    4)how would one go about giving the player random items from a certain set of items? for example, let's say i wanted to give the player one item from the numbers 3,15,288,341. what kind of script would that need?

    thanks in advance.
     
    145
    Posts
    17
    Years
  • 4)how would one go about giving the player random items from a certain set of items? for example, let's say i wanted to give the player one item from the numbers 3,15,288,341. what kind of script would that need?

    thanks in advance.

    Use this script in an event :

    Code:
    i=rand(4)
    Kernel.pbReceiveItem(3) if i==0
    Kernel.pbReceiveItem(15) if i==1
    Kernel.pbReceiveItem(288) if i==2
    Kernel.pbReceiveItem(341) if i==3

    I've not tested it, but it should work.
     
    Status
    Not open for further replies.
    Back
    Top