• 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.

Valora17

Something Memorable?
  • 142
    Posts
    14
    Years
    Does anyone know how to add a pokemon into the game? Like a Fakemon. I already added one (one of my starters) before, but I can't remember HOW I did it since I was just messing around with the PBS files >>;

    Can anyone explain how to do it please?

    Also, is it possible to add in new abilities? I remember reading SOMEWHERE that it wasn't supported but I can't remember where/if its true.
     
    Last edited:

    thepsynergist

    Vinemon: Sauce Edition Programmer and Composer
  • 795
    Posts
    15
    Years
    That doesn't really answer my question since they still overlap one another when in game.exe could you explain it differently, or show a pic. or something? >>

    What i meant by that is that you can't have maps overlapping. It only works when they are touching.
     

    Nickalooose

    --------------------
  • 1,309
    Posts
    16
    Years
    • Seen Dec 28, 2023
    I'm not exactly sure how trading works. Does the received Pokémon take up the same spot in the party the old Pokémon had, or does the rest of the party get bumped up one and the received Pokémon goes on the end?

    it replaces the old Pokémon!

    As part of the event that does the trade, you need to select a Pokémon from your party. This Pokémon's party index number is temporarily stored in a variable, which is then looked at to see if it's the right species(/gender/nature/etc. - you can do that, by the way). It's not much of a stretch to say that, once the trade is complete, you can edit the received Pokémon's moveset in exactly the same way as you would a Pokémon you're just given (i.e. not traded for).

    when i talk to the person, they ask for Raichu!
    a choose screen comes up!
    only Raichu has ABLE, below its name! This is right!
    When the trade completes...
    All Pikachu have the same moveset, that i want for just one of the Pikachu... if i do it kingcharizard's way.
    i come up with errors, attempting what you explained, Maruno...

    If the received Pokémon goes into the same spot the old Pokémon was in, just use the index number in that variable. If it gets stuck at the end of the party, just use "$trainer.party.length-1".

    it does replace the old Pokémon, but, not sure wat u mean or how i would do this!

    Rather than use pbAutoLearnMove or whatever it is (which might overwrite the wrong move), you can use something like "$Trainer.party.moves[0]=PBMoves::THUNDER" to make its first move Thunder (i is either that "length-1" thing mentioned above or "$game_variables[X]", depending on how trades work). Just put it in the event immediately after the trade finishes.


    party causes this error!
    `pbExecuteScript'undefined method `party' for nil:NilClass



    As I recall, if the nickname is blank then the Pokémon doesn't have a nickname and therefore uses its species name. Rather than deleting the "", just don't put anything between them, e.g. pbStartTrade(pbGet(1),PBSpecies::HAUNTER,"","DAVE"). The OT is Dave, but there's no nickname there.

    i leave the quotations blank, trade completes, but if i press, pause, then Pokémon, that traded Pokémon has no name, all the others do...
     
  • 3
    Posts
    15
    Years
    • Seen Nov 28, 2013
    Can anyone help me with these 3 errors

    All three are Pokedex errors I think...here are screens

    Error 1:
    It happened after I got pokedex, and just wanted to see how it works

    Exception: NoMethodError
    Message: undefined method 'rect' for #<AnimatedBitamp:0x52e40e8>
    PokemonPokedex:568:in 'pbChangeToDexEntry'
    PokemonPokedex:603:in 'pbDexEntry'
    PokemonPokedex:830:in 'pbPokedex'
    PokemonPokedex:810:in 'loop'
    PokemonPokedex:849:in 'pbPokedex'
    PokemonPokedex:874:in 'pbStartScreen'
    PokemonMenu:145:in 'pbStartPokemonMenu'
    PokemonMenu:142:in 'pbFadeOutIn'
    PokemonMenu:142:in 'pbStartPokemonMenu'
    PokemonMenu:139:in 'loop'


    Error 2:
    After I caught first pokemon

    BGM File not found, game will continue playing.
    File : ../ME/PkmRS-Caught.mid



    Error 3:
    Also after I caught first pokemon, game continued after error 2, to this one 2 clicks away

    Exception: NoMethodError
    Message: undefined method `rect' for #<AnimatedBitmap:0x54e6e58>
    PokemonPokedex:568:in `pbChangeToDexEntry'
    PokemonPokedex:588:in `pbStartDexEntryScene'
    PokemonPokedex:867:in `pbDexEntry'
    PokeBattle_ActualScene:2328:in `pbShowPokedex'
    PokeBattle_ActualScene:2325:in `pbFadeOutIn'
    PokeBattle_ActualScene:2325:in `pbShowPokedex'
    PokeBattle_Battle:163:in `pbThrowPokeBall'
    PokeBattle_Battle:1640:in `pbRegisterItem'
    PokeBattle_Battle:2440:in `pbCommandPhase'
    PokeBattle_Battle:2399:in `loop'



    Also...game continues after 2nd and 3rd error, and in pokedex I see that I own 3 pokemons, but I have only 2 in party (starting ones), 3rd is missing

    Also when I want to surf again after those erros, or when I want to get to land again...game frozes

    However, once I caught pokemon and there was only error 2, but everything else was fine

    Tnx in advance
     

    KingCharizard

    C++ Developer Extraordinaire
  • 1,229
    Posts
    14
    Years
    it replaces the old Pokémon!



    when i talk to the person, they ask for Raichu!
    a choose screen comes up!
    only Raichu has ABLE, below its name! This is right!
    When the trade completes...
    All Pikachu have the same moveset, that i want for just one of the Pikachu... if i do it kingcharizard's way.
    i come up with errors, attempting what you explained, Maruno...



    it does replace the old Pokémon, but, not sure wat u mean or how i would do this!



    party causes this error!
    `pbExecuteScript'undefined method `party' for nil:NilClass





    i leave the quotations blank, trade completes, but if i press, pause, then Pokémon, that traded Pokémon has no name, all the others do...


    here is an idea, try to call the name rater function or use a name rater...
     

    Maruno

    Lead Dev of Pokémon Essentials
  • 5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    Does anyone know how to add a pokemon into the game? Like a Fakemon. I already added one (one of my starters) before, but I can't remember HOW I did it since I was just messing around with the PBS files >>;

    Can anyone explain how to do it please?

    Also, is it possible to add in new abilities? I remember reading SOMEWHERE that it wasn't supported but I can't remember where/if its true.
    In the PBS file pokemon.txt, simply copy-paste the info for one of the Pokémon and edit it. Most of the fields should be obvious, but here is an explanation of them if you need it.

    Then make sure you've got the proper sprites. In Graphics/Icons, put the two frame icon (used for the party screen and PC storage) in there, and in Graphics/Battlers, put the front and back sprites in there (along with shiny versions).

    That's it!


    it replaces the old Pokémon!



    when i talk to the person, they ask for Raichu!
    a choose screen comes up!
    only Raichu has ABLE, below its name! This is right!
    When the trade completes...
    All Pikachu have the same moveset, that i want for just one of the Pikachu... if i do it kingcharizard's way.
    i come up with errors, attempting what you explained, Maruno...



    it does replace the old Pokémon, but, not sure wat u mean or how i would do this!



    party causes this error!
    `pbExecuteScript'undefined method `party' for nil:NilClass





    i leave the quotations blank, trade completes, but if i press, pause, then Pokémon, that traded Pokémon has no name, all the others do...
    Cut down on the exclamation marks, please!

    The position the traded/obtained Pokémon is in is stored in $game_variables[1]. You use pbGet(1) to recall this number, and thus operate on the received Pokémon.

    To teach it a move, use $Trainer.party[pbGet(1)].moves[1]=PBMove.new(PBMoves::VINEWHIP). This will change the second known move (remember that the known move list is zero-based) to whatever you want - you can set any of the other moves in the same way. You'll probably want to use this 4 times in order to be sure you're giving it the right moveset. I'm not using pbAutoLearnMove because it's being an arse for no reason and I can't be bothered figuring it out.

    You shouldn't get that error if you do things properly (such as remembering to capitalise "Trainer" in the code).

    As for the nicknames, you can get around that by giving the received Pokémon its species name as a nickname (this solves a trade-evolution problem), and then after the trade has completed put this line into the event (at the same place you put the move-changing code):

    $Trainer.party[pbGet(1)].name=PBSpecies.getName($Trainer.party[pbGet(1)].species)

    This sets the nickname of the Pokémon to be the same as the species. This works even if the received Pokémon is later evolved separately (e.g. using a Thunderstone on Pikachu). This is a horrible fix because the game is coded to give every traded Pokémon a nickname (even if it's blank), and you want to change that.



    That solves all your problems. I'm not explaining myself even more clearly, because it's late.
     

    Valora17

    Something Memorable?
  • 142
    Posts
    14
    Years
    Thanks Maruno :) But, if you don't have the sprites in the Graphics/Battler section, will it effect it at all? Like, if I try to put my starters in the appropriate places ([494] [497] and [500]) will I have to have their evo sprites in there in order for them to appear?

    EDIT: Also, about abilities?
     

    Maruno

    Lead Dev of Pokémon Essentials
  • 5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    Thanks Maruno :) But, if you don't have the sprites in the Graphics/Battler section, will it effect it at all? Like, if I try to put my starters in the appropriate places ([494] [497] and [500]) will I have to have their evo sprites in there in order for them to appear?
    I'm not sure - gaps might muck up the Pokédex, but I'm not sure about anything else (gaps are allowed in the item numbering, at least). But even if you can't, just put placeholder information/sprites in the gaps until you have the real stuff.


    EDIT: Ah yes, abilities. I forgot to mention them. There's no easy way to add in a new ability, because pretty much every ability is completely different. If you can find an existing ability that's at least similar to one you want to add, search for it in the scripts, see how it works and mimic it. In general, though, adding (or even editing) abilities requires advanced scripting knowledge.
     

    Valora17

    Something Memorable?
  • 142
    Posts
    14
    Years
    Alright, I'll have to figure out how to do the abilities since they're (honestly) just edits of existing ones (such as the starter abilities, and fire/grass versions of Volt Absorb).

    Anywho, I added in the fakemon (as you said) and tried to run the Playtest and got this :/

    Exception: RuntimeError
    Message: Undefined value level (expected one of: ["Unknown", "Happiness", "HappinessDay", "HappinessNight", "Level", "Trade", "TradeItem", "Item", "AttackGreater", "AtkDefEqual", "DefenseGreater", "Silcoon", "Cascoon", "Ninjask", "Shedinja", "Beauty", "ItemMale", "ItemFemale", "DayHoldItem", "NightHoldItem", "HasMove", "HasInParty", "LevelMale", "LevelFemale", "Special1", "Special2", "Special3", "Custom1", "Custom2", "Custom3", "Custom4", "Custom5", "Custom6", "Custom7"])
    File PBS/pokemon.txt, section 494, key Evolutions
    SAUSIER,level,16

    Compiler:1514:in `checkEnumField'
    Compiler:1530:in `csvEnumField!'
    Compiler:2126:in `pbCompilePokemonData'
    Compiler:2111:in `each'
    Compiler:2111:in `pbCompilePokemonData'
    Compiler:2109:in `loop'
    Compiler:2188:in `pbCompilePokemonData'
    Compiler:2093:in `each'
    Compiler:2093:in `pbCompilePokemonData'
    Compiler:2092:in `each'
    Exception: RuntimeError
    Message: Undefined value level (expected one of: ["Unknown", "Happiness", "HappinessDay", "HappinessNight", "Level", "Trade", "TradeItem", "Item", "AttackGreater", "AtkDefEqual", "DefenseGreater", "Silcoon", "Cascoon", "Ninjask", "Shedinja", "Beauty", "ItemMale", "ItemFemale", "DayHoldItem", "NightHoldItem", "HasMove", "HasInParty", "LevelMale", "LevelFemale", "Special1", "Special2", "Special3", "Custom1", "Custom2", "Custom3", "Custom4", "Custom5", "Custom6", "Custom7"])
    File PBS/pokemon.txt, section 495, key Evolutions
    LIETRAUS,level,36

    Compiler:1514:in `checkEnumField'
    Compiler:1530:in `csvEnumField!'
    Compiler:2126:in `pbCompilePokemonData'
    Compiler:2111:in `each'
    Compiler:2111:in `pbCompilePokemonData'
    Compiler:2109:in `loop'
    Compiler:2188:in `pbCompilePokemonData'
    Compiler:2093:in `each'
    Compiler:2093:in `pbCompilePokemonData'
    Compiler:2092:in `each'

    Is it case sensitive?
     

    KingCharizard

    C++ Developer Extraordinaire
  • 1,229
    Posts
    14
    Years
    Alright, I'll have to figure out how to do the abilities since they're (honestly) just edits of existing ones (such as the starter abilities, and fire/grass versions of Volt Absorb).

    Anywho, I added in the fakemon (as you said) and tried to run the Playtest and got this :/



    Is it case sensitive?

    Most of the time, I think it depends on what it is you defining...
     
  • 41
    Posts
    14
    Years
    • Seen Apr 12, 2023
    I'm in the process of writing a script that handles honey tree events like in DPP. I'm using the berry plant scripts as an example of how to do this. Has anyone tried do this?
     

    Nickalooose

    --------------------
  • 1,309
    Posts
    16
    Years
    • Seen Dec 28, 2023
    Cut down on the exclamation marks, please!

    Sorry... I'm just very good at punctuating, thats all...

    The position the traded/obtained Pokémon is in is stored in $game_variables[1]. You use pbGet(1) to recall this number, and thus operate on the received Pokémon.


    To teach it a move, use $Trainer.party[pbGet(1)].moves[1]=PBMove.new(PBMoves::VINEWHIP). This will change the second known move (remember that the known move list is zero-based) to whatever you want - you can set any of the other moves in the same way. You'll probably want to use this 4 times in order to be sure you're giving it the right moveset. I'm not using pbAutoLearnMove because it's being an arse for no reason and I can't be bothered figuring it out.

    You shouldn't get that error if you do things properly (such as remembering to capitalise "Trainer" in the code).

    As for the nicknames, you can get around that by giving the received Pokémon its species name as a nickname (this solves a trade-evolution problem), and then after the trade has completed put this line into the event (at the same place you put the move-changing code):

    $Trainer.party[pbGet(1)].name=PBSpecies.getName($Trainer.party[pbGet(1)].species)

    This sets the nickname of the Pokémon to be the same as the species. This works even if the received Pokémon is later evolved separately (e.g. using a Thunderstone on Pikachu). This is a horrible fix because the game is coded to give every traded Pokémon a nickname (even if it's blank), and you want to change that.

    That solves all your problems. I'm not explaining myself even more clearly, because it's late.

    After about 3000 trial and erroring (if thats even a word) it finally works... thanks for your help Maruno...

    another question before i leave in peace.

    using Iron and Carbos etc. Raises stats, is there anyway to do this via script, without the use of an item, i want that Pikachu to have an extra strength boost...
    i have a fair idea how i would do this, but i just want to make sure there is no "proper" way to do this.

    Thanks in advance.
     

    Valora17

    Something Memorable?
  • 142
    Posts
    14
    Years
    So, in Pokemon.txt I added in my fakemon, Euepho, and tried to change its moveset (I used Bulbasaur as a base... I think). So I went to see if it worked the way I wanted it to, but when I looked at it in-game, it says that Harden is Growl >>; Anyone know the reason why?

    [494]
    Name=EUEPHO
    InternalName=EUEPHO
    Kind=Saucer
    Pokedex=EUEPHO can be seen hovering through the night sky at high speeds. They are often a cause of disruption in the farming towns of Thespi.
    Type1=STEEL
    BaseStats=49,40,65,50,45,65
    Rareness=45
    BaseEXP=64
    Happiness=70
    GrowthRate=Parabolic
    StepsToHatch=5120
    Color=Gray
    Habitat=Urban
    EffortPoints=0,0,1,0,0,0
    Abilities=ANTIRUST
    Compatibility=10,11
    Height=1.3
    Weight=10.0
    GenderRate=FemaleOneEighth
    Moves=1,TACKLE,3,HARDEN,7,METALSOUND,13,CONFUSION,15,CURSE,
    19,IRONDEFENSE,25,IRONHEAD,27,AGILITY,31,RAPIDSPIN,37,MIRRORSHOT,39,WISH,43,GYROBALL
    EggMoves=DISCHARGE,TELEPORT,CURSE,FUTURESIGHT,DISABLE,PROTECT,HYPNOSIS,MEANLOOK
    Evolutions=SAUSIER,Level,16
    BattlerPlayerY=17
    BattlerEnemyY=16
    BattlerAltitude=0

    Also, when I try to open the edit I get this problem:
    Message: Bad line syntax (expected syntax like XXX=YYY)
    File PBS/pokemon.txt, section 493, key WildItemRare


    Compiler:1563:in `pbEachFileSectionEx'
    Compiler:1546:in `each_line'
    Compiler:1546:in `pbEachFileSectionEx'
    Compiler:1584:in `pbEachFileSection'
    Compiler:2078:in `pbCompilePokemonData'
    Compiler:2076:in `open'
    Compiler:2076:in `pbCompilePokemonData'
    Compiler:3811:in `pbCompileAllData'
    Compiler:3939

    So is something wrong with my Arceus file? I haven't edited it soooo... yeah >>
     
    Last edited:

    thepsynergist

    Vinemon: Sauce Edition Programmer and Composer
  • 795
    Posts
    15
    Years
    Seems you screwed up Arceus's dex entry. Also I noticed that your new fakemon has a new ability. Can you define your own now in Pokemon Essentials?
     
  • 81
    Posts
    15
    Years
    • Seen Apr 8, 2021
    Hello. Does anyone know how to check a pokemon's level in an event? I need to use it for a new evolution method im trying.
     

    Maruno

    Lead Dev of Pokémon Essentials
  • 5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    So, in Pokemon.txt I added in my fakemon, Euepho, and tried to change its moveset (I used Bulbasaur as a base... I think). So I went to see if it worked the way I wanted it to, but when I looked at it in-game, it says that Harden is Growl >>; Anyone know the reason why?



    Also, when I try to open the edit I get this problem:


    So is something wrong with my Arceus file? I haven't edited it soooo... yeah >>
    Your Arceus error is in the WildItemRare line. It's not written properly. Have a look at it (including the capitalisation) and see what's wrong.

    Have you recompiled the data after changing the moveset? To recompile it, do a play test within RPG Maker XP - don't just run the game directly from the folder, because the changes you made won't be included.


    Seems you screwed up Arceus's dex entry. Also I noticed that your new fakemon has a new ability. Can you define your own now in Pokemon Essentials?
    You could always make new abilities. However, it's very difficult, and requires advanced scripting knowledge. There's no easy way to do it (and there can't possibly be - abilities do all kinds of completely different things, after all).


    Hello. Does anyone know how to check a pokemon's level in an event? I need to use it for a new evolution method im trying.
    If you can do something in the scripts, you can do it in an event (because one kind of event line is "Script").

    Evolving only past a certain level is the simplest and most common evolution method in the game. It goes something like this:

    Code:
    if pokemon.level>=level
    If you're making a new evolution method, you're best putting it with all the other evolution methods (in PokemonEvolution) rather than in an event. There are several parts to evolutions, though, so you'll need to do your research.
     

    Colbex

    Cobalt Black Creator
  • 169
    Posts
    14
    Years
    Okay, does anyone know how to make sure a trainer's PokéMon always has a specific ability? Because the final champion in my game along with gym leaders and E4 members have specific strategies(ex: technician scizor, Flash Fire Houndour, Rock Solid Rhyperior).
    What would I have to do to make sure the opponents PokéMon have a specific ability, or gender for that matter?
    I've been editing the module TrainerPokemonParty located in PokemonEditor, but nothing changes for that matter. Is there something else I would have to change? For the gender, I'm just using the same property used for trainer types with a slight edit, the 3rd being neutral rather than mixed. I've also added the base for ability and nature property. Those look like this respectively.
    Code:
    module AbilityProperty
    end
    module NatureProperty
      end
    Obviously they don't do anything yet, but I'll add them in soon enough. I'm just curious as to why the information doesn't show up in the editor after I've added this:
    Code:
    module TrainerPokemonProperty
     def self.set(settingname,oldsetting)
      oldsetting=[0,10,10,0,0,0,0,0,false,false,0,0,0] if !oldsetting
      properties=[
        [_INTL("Species"),SpeciesProperty,
        _INTL("Species of this Pokémon.")],
        [_INTL("Level"),NonzeroLimitProperty.new(PBExperience::MAXLEVEL),
        _INTL("Level of the Pokémon.")],
        [_INTL("IVs"),LimitProperty.new(31),
        _INTL("Individual values of each of the Pokémon's stats.")],
        [_INTL("Held item"),ItemProperty,
        _INTL("Item held by the Pokémon.")],
        [_INTL("Move 1"),MoveProperty2.new(oldsetting),
        _INTL("First move.  Leave all moves blank (use Z key) to give it a wild move set.")],
        [_INTL("Move 2"),MoveProperty2.new(oldsetting),
        _INTL("Second move.  Leave all moves blank (use Z key) to give it a wild move set.")],
        [_INTL("Move 3"),MoveProperty2.new(oldsetting),
        _INTL("Third move.  Leave all moves blank (use Z key) to give it a wild move set.")],
        [_INTL("Move 4"),MoveProperty2.new(oldsetting),
        _INTL("Fourth move.  Leave all moves blank (use Z key) to give it a wild move set.")],
       [_INTL("Shiny"),BooleanProperty,
        _INTL("If set to true, this Pokémon is a different-colored Pokémon.")],
       [_INTL("Shadow"),BooleanProperty,
        _INTL("If set to true, this Pokémon is a shadow Pokémon.")],
       [_INTL("Gender"),EnumProperty.new([_INTL("Male"),_INTL("Female"),_INTL("Neither")]),
        _INTL("Gender of this PokéMon. Random if left blank.")],
        [_INTL("Ability"),AbilityProperty.new,
        _INTL("Ability of this PokéMon. Random is left blank.")],
        [_INTL("Nature"),NatureProperty.new(24),
        _INTL("Nature of this PokéMon. Random if left blank.")]
      ]
     
  • 2,048
    Posts
    16
    Years
    • Seen Sep 7, 2023
    using Iron and Carbos etc. Raises stats, is there anyway to do this via script, without the use of an item, i want that Pikachu to have an extra strength boost...

    The vitamins simply increase a Pokémon's effort values by 10. So use something like:
    Code:
    pokemon.ev[1]+=10
    That would give a Pokémon 10 Attack EVs, just like using a Protein.
     
  • 81
    Posts
    15
    Years
    • Seen Apr 8, 2021
    If you can do something in the scripts, you can do it in an event (because one kind of event line is "Script").

    Evolving only past a certain level is the simplest and most common evolution method in the game. It goes something like this:

    Code:
    if pokemon.level>=level
    If you're making a new evolution method, you're best putting it with all the other evolution methods (in PokemonEvolution) rather than in an event. There are several parts to evolutions, though, so you'll need to do your research.

    I was thinking of an event for example a professor checks a specific pokemon in the trainer's party like a starter and then checks its level. If the level is high enough, he will give the player an evolution stone to make that pokemon evolve. Do you know how to do that?
     
    Status
    Not open for further replies.
    Back
    Top