• 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.
81
Posts
15
Years
    • Seen Apr 8, 2021
    It works for me. I know it took a bit of fiddling, though, and I'm not sure what exactly I did. Try running as administrator.

    I tried everything. It does nothing. Do you think poccil has made a newer version that is compatible for w7?

    EDIT: I think I might try using another method using conditional branches and pbHasSpecies?. I just need to know how to get the level of the pokemon chosen.
     
    Last edited:
    489
    Posts
    16
    Years
  • How do I add a new HM, I'm trying to add Rock Climb and I have edited the appropriate .txt files in the PBS folder and also added a new script for Rock Climb in PokemonHiddenMoves and a minor edit in PokemonField for a Rock Climb terrain tag (for the top of the rock and the bottom of the rock, much like Waterfall). For the Rock Climb script, I just used Waterfall as reference and made a couple of minor edits.
    When I go to test it, the Pokemon knows Rock Climb but it doesn't appear in the little menu that pops up when you want to use a HM move such as Fly or Flash. Also, pressing A on the actual Rock Climb rocks does absolutely nothing.
    Is there something I'm missing here?
     

    Syllyra

    Pokémon Underground: Surfacing
    27
    Posts
    14
    Years
  • I made a few maps for my game which work perfectly. But the last two days all settings of a tileset (walk/can't walk) are overruled, causing the map to be pretty, but useless. Anyone have an idea how did could have happened??

    P.S. I haven't been messing with scripts or similar stuff.
    P.P.S All maps made with the tilesets in question that were made before the past two days don't have the problem :S
     

    Maruno

    Lead Dev of Pokémon Essentials
    5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    I tried everything. It does nothing. Do you think poccil has made a newer version that is compatible for w7?

    EDIT: I think I might try using another method using conditional branches and pbHasSpecies?. I just need to know how to get the level of the pokemon chosen.
    My version is over a year old, and it works with Windows 7. I know I've got my User Account Control settings switched off, so it never bugs me with messages like "Are you sure you want to move this file?".

    Why bother changing the method? The one I gave you will work just fine. Unless you're thinking along the lines of saying you want X stone, then a check runs in the background for one of the relevant species (and a level check if it finds one). That would be neater, yes.

    In which case, make a new def like the following:

    Code:
    def pbFindSpeciesInParty(species)
     for pokemon in $Trainer.party
      next if pokemon.egg?
      return pokemon if pokemon.species==species
     end
     return -1
    end
    This def will return the party index number of the Pokémon it finds. You then do a simple conditional statement with the argument "$Trainer.party[pokemon].level>=32", and go that way.

    Alternatively, to make the event even neater, put the whole process in a new def, so all you'll need in the event is a choice of which stone you want (which sets the variable "stonewant" to equal a value), then a conditional statement with the argument "pbCheckPartyForStoneGiving(stonewant)" (which contains all the checks, as well as the list of pokémon and associated levels), and for the "true" part of the conditional branch, give the item (depending on the value of "stonewant"). Or go even further and put the whole process in a def, so the event just contains a single line calling "pbShowPokemonForStone" (or whatever).

    It's fairly straightforward, I think (but then again, I'm good at this kind of thing).


    How do I add a new HM, I'm trying to add Rock Climb and I have edited the appropriate .txt files in the PBS folder and also added a new script for Rock Climb in PokemonHiddenMoves and a minor edit in PokemonField for a Rock Climb terrain tag (for the top of the rock and the bottom of the rock, much like Waterfall). For the Rock Climb script, I just used Waterfall as reference and made a couple of minor edits.
    When I go to test it, the Pokemon knows Rock Climb but it doesn't appear in the little menu that pops up when you want to use a HM move such as Fly or Flash. Also, pressing A on the actual Rock Climb rocks does absolutely nothing.
    Is there something I'm missing here?
    The party screen is in PokemonScreen. Find where the hidden moves (and Teleport/Sweet Scent/Dig/Headbutt/Milk Drink/Softboiled) are handled (one place to put them in the list, another place to decide what they do), and copy-paste as appropriate.

    Make sure you copy everything about Waterfall, up to and including tinkering with Kernel.pbHiddenMoveEvent. Everywhere in PokemonField that has anything to do with Waterfall, make a copy of it. Perhaps you just missed something.

    However, I would have thought that having an event at the top and bottom of the rock climbing place would work just as well. Set the direction the player is facing and how far they need to go, turn "through" on (so you can walk over the cliff) and set a move route. That's not how other HMs are set up (e.g. Cut, Strength which also only work when used on an event), and it won't display the "Rock Climb" option in the party screen menu, but it'll work. Just a simple option if you don't mind about that.

    Remember, though, that if you're going up the sides of cliffs (i.e. left-right or right-left) that you only go half a tile up for every tile across. This becomes really awkward for long climbing sessions. You may want to copy the "jump" settings and make your own "this is how you move when climbing" commands, in order to cope with going diagonally, but that's really advanced stuff.
     

    KitsuneKouta

    狐 康太
    442
    Posts
    14
    Years
    • Seen Nov 20, 2017
    Is breeding possible in essentials?
    Yes, breeding works. I'm not sure how functional it is, but it appeared to be very in depth. It even has a field for egg moves for each Pokemon, so "inheriting" moves is possible. I tried it out real quick, and I don't think you'll have to add anything to it (I don't know about inheriting stats or anything like that though).

    EDIT: Also, can anyone give me some clues about displaying graphics in the battle menu? I've been playing around, and most of the errors I get are something about "visible= " When I don't get an error, the graphic is simply invisible (it likely isn't meeting the requirements to show the graphic in the first place). I've been trying to set it to display in the index where it says "What will (pokemon's name) do?", "FIGHT", "BAG", etc.
     
    Last edited:
    53
    Posts
    15
    Years
    • Seen Jan 9, 2011
    Hi
    So, when I use a transition and change the tone of the map, there is a glitch that happens when you are near a zone where 2 maps connects, because the map you are not in changes tone after the map you are in... anyone know how to make this look good?
     

    KitsuneKouta

    狐 康太
    442
    Posts
    14
    Years
    • Seen Nov 20, 2017
    Cross Breeding? Is that possible?
    What do you mean by cross breeding? As long as they are in the same egg group, it's fine. If you want all pokemon to be able to breed with each other, regardless of type, go to pokemon.txt and change the egg group of all of them to be the same (though it's probably not the best idea).

    @lezebulon: I don't think there's a way to fix that, since it's probably just because events are processed on the current map first, and other maps afterwards. If it's possible, it would require modifying the scripts that handle connected maps. I recommend using those transitions away from map edges to avoid that problem.
     
    Last edited:

    BlitŻ1

    guahh my dog is so cute
    472
    Posts
    15
    Years
  • While fabricating my the introduction to my game, I had the idea of switching across different map, the narrator telling a story. However, when I tried to transfer the player to another map after the first few images, I get this error:
    Spoiler:


    Which means that I didn't call the script pbchangeplayer(0). However, when I go to the first map I want to pan across, the player sprite is shown, defeating the purpose I have for my introduction. This arose two questions in my mind, one will solve this problem, and one will solve a later problem. How do I change the player's sprite?
     

    KitsuneKouta

    狐 康太
    442
    Posts
    14
    Years
    • Seen Nov 20, 2017
    While fabricating my the introduction to my game, I had the idea of switching across different map, the narrator telling a story. However, when I tried to transfer the player to another map after the first few images, I get this error:
    Spoiler:


    Which means that I didn't call the script pbchangeplayer(0). However, when I go to the first map I want to pan across, the player sprite is shown, defeating the purpose I have for my introduction. This arose two questions in my mind, one will solve this problem, and one will solve a later problem. How do I change the player's sprite?

    To make the player invisible, use change transparent flag and set it to transparency. When the intro is over, change the transparent flag to visible. That should do the trick.
     

    Mrchewy

    nom nom nom
    361
    Posts
    16
    Years
  • Got a few silly questions for you guys, that have bugged me for months =/

    1. By default, if you go through a map transition while running and have an autorun event on the next map, you will keep sprinting. Is there a way to fix this?

    2. How would one go about increasing the frequency at which charsets animate? I'm not talking about movement frequency, I'm asking how to make it so that, for example, the hero animates faster while sprinting (by default he moves much faster than his animation would imply).

    3. I am trying to implement a minor scripting edit so that when the player jumps a normal ledge, his charset is changed while he is in the air, and then changes back to normal when he lands. I tried doing this:

    Code:
       when 6 # right
          $game_switches[30]=true
          $game_player.jump(dist,0)
          $game_switches[30]=false

    I made it so when that switch was turned on, the players charset would change (that part worked). In that section there though, the player would jump, land and then his charset would change, and remain like that forever. Is there any way to create a switch that is turned on ONLY when the player is in mid-air?

    4. Any way to increase the text speed? By default, "Fast" is still pretty slow. Poccil showed me an excellent method, but it only applies to the latest version =/. Anyone know how this is done in older versions?

    5. How does one increase the speed at which the battle boxes (health/level/experience boxes) fly into the screen? I can't seem to find the line of code that applies to these - but I did find everything else inbetween, lol

    Sorry for the abundance of questions; I've accumulated these over quite some time, and unfortunately haven't managed to sort them out myself.
     
    Last edited:
    81
    Posts
    15
    Years
    • Seen Apr 8, 2021
    My version is over a year old, and it works with Windows 7. I know I've got my User Account Control settings switched off, so it never bugs me with messages like "Are you sure you want to move this file?".

    Why bother changing the method? The one I gave you will work just fine. Unless you're thinking along the lines of saying you want X stone, then a check runs in the background for one of the relevant species (and a level check if it finds one). That would be neater, yes.

    In which case, make a new def like the following:

    Code:
    def pbFindSpeciesInParty(species)
     for pokemon in $Trainer.party
      next if pokemon.egg?
      return pokemon if pokemon.species==species
     end
     return -1
    end
    This def will return the party index number of the Pokémon it finds. You then do a simple conditional statement with the argument "$Trainer.party[pokemon].level>=32", and go that way.

    Alternatively, to make the event even neater, put the whole process in a new def, so all you'll need in the event is a choice of which stone you want (which sets the variable "stonewant" to equal a value), then a conditional statement with the argument "pbCheckPartyForStoneGiving(stonewant)" (which contains all the checks, as well as the list of pokémon and associated levels), and for the "true" part of the conditional branch, give the item (depending on the value of "stonewant"). Or go even further and put the whole process in a def, so the event just contains a single line calling "pbShowPokemonForStone" (or whatever).

    It's fairly straightforward, I think (but then again, I'm good at this kind of thing).



    The party screen is in PokemonScreen. Find where the hidden moves (and Teleport/Sweet Scent/Dig/Headbutt/Milk Drink/Softboiled) are handled (one place to put them in the list, another place to decide what they do), and copy-paste as appropriate.

    Make sure you copy everything about Waterfall, up to and including tinkering with Kernel.pbHiddenMoveEvent. Everywhere in PokemonField that has anything to do with Waterfall, make a copy of it. Perhaps you just missed something.

    However, I would have thought that having an event at the top and bottom of the rock climbing place would work just as well. Set the direction the player is facing and how far they need to go, turn "through" on (so you can walk over the cliff) and set a move route. That's not how other HMs are set up (e.g. Cut, Strength which also only work when used on an event), and it won't display the "Rock Climb" option in the party screen menu, but it'll work. Just a simple option if you don't mind about that.

    Remember, though, that if you're going up the sides of cliffs (i.e. left-right or right-left) that you only go half a tile up for every tile across. This becomes really awkward for long climbing sessions. You may want to copy the "jump" settings and make your own "this is how you move when climbing" commands, in order to cope with going diagonally, but that's really advanced stuff.

    Thanks A lot Maruno.
    By the way, I finally got the extendedit to work but I still got an error. What did I do wrong?
    xception: RuntimeError
    Message: Script error within event 34, map 25 (Test Map 2):
    Exception: NameError
    Message: (eval):6:in `pbExecuteScript'uninitialized constant Interpreter::TURTWIG
    ***Full script:
    pbChoosePokemon(1,2,
    proc {|poke|
    !poke.egg? and
    poke.species==PBSpecies::TURTWIG
    })
    if pbGetPokemon(1).species==TURTWIG && pbGetPokemon(1).level>=36
    Kernel.pbReceiveItem(::PBItems::FIRESTONE)

    else
    Kernel.pbMessage(_INTL("The soil returned to its soft and loamy state."))
    end

    Interpreter:239:in `pbExecuteScript'
    Interpreter:1583:in `eval'
    Interpreter:239:in `pbExecuteScript'
    Interpreter:1583:in `command_355'
    Interpreter:492:in `execute_command'
    Interpreter:191:in `update'
    Interpreter:104:in `loop'
    Interpreter:196:in `update'
    Scene_Map:96:in `update'
    Scene_Map:94:in `loop'

    Interpreter:274:in `pbExecuteScript'
    Interpreter:1583:in `command_355'
    Interpreter:492:in `execute_command'
    Interpreter:191:in `update'
    Interpreter:104:in `loop'
    Interpreter:196:in `update'
    Scene_Map:96:in `update'
    Scene_Map:94:in `loop'
    Scene_Map:107:in `update'
    Scene_Map:63:in `main'
     

    KingCharizard

    C++ Developer Extraordinaire
    1,229
    Posts
    14
    Years
  • Got a few silly questions for you guys, that have bugged me for months =/

    1. By default, if you go through a map transition while running and have an autorun event on the next map, you will keep sprinting. Is there a way to fix this? Set a wait function at the beginning of the auto run event.

    2. How would one go about increasing the frequency at which charsets animate? I'm not talking about movement frequency, I'm asking how to make it so that, for example, the hero animates faster while sprinting (by default he moves much faster than his animation would imply). Edit this in the Walk_Run script
    Spoiler:

    Thats the speed at which the player run's by default its too fast anyways.

    3. I am trying to implement a minor scripting edit so that when the player jumps a normal ledge, his charset is changed while he is in the air, and then changes back to normal when he lands. I tried doing this:

    Code:
       when 6 # right
          $game_switches[30]=true
          $game_player.jump(dist,0)
          $game_switches[30]=false

    I made it so when that switch was turned on, the players charset would change (that part worked). In that section there though, the player would jump, land and then his charset would change, and remain like that forever. Is there any way to create a switch that is turned on ONLY when the player is in mid-air? Yeah, try chainging it by setting up a new switch that will change it back. You set it to false, but the switch has been made. You've changed in the internal player array Now u need to set it back.

    4. Any way to increase the text speed? By default, "Fast" is still pretty slow. Poccil showed me an excellent method, but it only applies to the latest version =/. Anyone know how this is done in older versions? Not a clue lost my older versions

    5. How does one increase the speed at which the battle boxes (health/level/experience boxes) fly into the screen? I can't seem to find the line of code that applies to these - but I did find everything else inbetween, lol have you checked the pokebattle_scene script, I'm not sure exactly where it is but I know its somewhere, maybe not in there but its in one of the pokebattle scripts
    Sorry for the abundance of questions; I've accumulated these over quite some time, and unfortunately haven't managed to sort them out myself.

    Lol its understandable Hope I helped with some of your problems.
     

    KitsuneKouta

    狐 康太
    442
    Posts
    14
    Years
    • Seen Nov 20, 2017
    I figured out how to make item drops when a battle ends. Now, I need to figure out how to specify the item dropped from a list of values. I set up an array like this:
    Code:
    def pbItemDrop
      itemlist=[
         :POTION,:SUPERPOTION,:REVIVE (this is just as an example)
      ]
      for i in itemlist
        return true if isConst?(PBItems)
      end
      return false
    end
    Then the item is obtained like this:
    Code:
      itemgained=PBItems::itemlist
      itemname=PBItems.getName(itemgained)
      if @internalbattle
        pbDisplayPaused(_INTL("{1} found a {2}!",self.pbPlayer.name,itemname))      
        $PokemonBag.pbStoreItem(itemgained)
      end
    I can figure out the random part, but the problem is the itemgained=PBItems::itemlist.
    If I set it to PBItems::POTION, it works just fine. I need it to recognize the values in the array, then I can make it work from there.
     

    KingCharizard

    C++ Developer Extraordinaire
    1,229
    Posts
    14
    Years
  • I figured out how to make item drops when a battle ends. Now, I need to figure out how to specify the item dropped from a list of values. I set up an array like this:
    Code:
    def pbItemDrop
      itemlist=[
         :POTION,:SUPERPOTION,:REVIVE (this is just as an example)
      ]
      for i in itemlist
        return true if isConst?(PBItems)
      end
      return false
    end
    Then the item is obtained like this:
    Code:
      itemgained=PBItems::itemlist
      itemname=PBItems.getName(itemgained)
      if @internalbattle
        pbDisplayPaused(_INTL("{1} found a {2}!",self.pbPlayer.name,itemname))      
        $PokemonBag.pbStoreItem(itemgained)
      end
    I can figure out the random part, but the problem is the itemgained=PBItems::itemlist.
    If I set it to PBItems::POTION, it works just fine. I need it to recognize the values in the array, then I can make it work from there.

    Cant u set up an array to shuffle through the item list like PBItems[0]
    ++PBItems? Or something along them lines? So it shuffles through and calls out the array value...

    Or maybe have the script call each item by using the array's 0,1,2,3 storage position where 0=Potion and so on. I know this can be done in C++
     

    Maruno

    Lead Dev of Pokémon Essentials
    5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    I figured out how to make item drops when a battle ends. Now, I need to figure out how to specify the item dropped from a list of values. I set up an array like this:
    Code:
    def pbItemDrop
      itemlist=[
         :POTION,:SUPERPOTION,:REVIVE (this is just as an example)
      ]
      for i in itemlist
        return true if isConst?(PBItems)
      end
      return false
    end
    Then the item is obtained like this:
    Code:
      itemgained=PBItems::itemlist
      itemname=PBItems.getName(itemgained)
      if @internalbattle
        pbDisplayPaused(_INTL("{1} found a {2}!",self.pbPlayer.name,itemname))      
        $PokemonBag.pbStoreItem(itemgained)
      end
    I can figure out the random part, but the problem is the itemgained=PBItems::itemlist.
    If I set it to PBItems::POTION, it works just fine. I need it to recognize the values in the array, then I can make it work from there.
    pbItemDrop only returns true or false. It doesn't return an item. I'm not sure what the point of it is. In fact, I can't even see how it works.

    Try something like this:
    Code:
    def pbItemDrop
      itemlist=[
          PBItems::POTION,
          PBItems::SUPERPOTION,
          PBItems::RARECANDY
      ]
      return itemlist[rnd(itemlist.length)]
    end
    Then the second bit of code looks something like this:
    Code:
    itemgained=pbItemDrop
    if @internalbattle
      pbDisplayPaused(_INTL("{1} found a {2}!",self.pbPlayer.name,PBItems.getName(itemgained))      
      $PokemonBag.pbStoreItem(itemgained)
    end
     

    Cilerba

    the hearts of lonely people
    1,162
    Posts
    14
    Years
  • Hi, would it be possible to edit the Dependency Script so it is a little bit more like a Caterpillar system? The movement seems...odd, to me.
     
    Status
    Not open for further replies.
    Back
    Top