• 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
  • Age 35
  • 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
  • Age 31
  • 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
  • Age 34
  • 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