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

me2hack

Graphics Artist
286
Posts
14
Years
    • Seen Mar 12, 2011
    @me2hack: thepsynergist came up with a solution a while back. It's on this page. Took a while to find it. The important part is about halfway down the page.
    Thnx. I fixed it using pbMEStop() in PokemonTrainer.
    Just have to see how I'm gonna do map bgms.
     

    IceGod64

    In the Lost & Found bin!
    624
    Posts
    15
    Years
  • So, nobody's used the daycare center. Am I to assume this?

    If you try to get an egg from the daycare, you get two errors.

    The first one is an undefined method/Variable "pokemon1" in pbIsditto?. It's and easy fix, but the second error(that I know of) is this:

    Code:
    Message: Script error within event 31, map 11 (Test Map):
    Exception: NameError
    Message: Section106:330:in `pbDayCareGenerateEgg'undefined local variable or method `eggsteps' for #<Interpreter:0x9758d98>
    ***Full script:
    pbDayCareGenerateEgg
    $PokemonGlobal.daycareEgg=0
    $PokemonGlobal.daycareEggSteps=0
    
    Interpreter:239:in `pbExecuteScript'
    (eval):1: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'
    
    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'

    When I did this, I had a Lucario M and Lucario F in the daycare, but I've tried it with Pikachu and ditto before, too.
     
    45
    Posts
    13
    Years
  • So, nobody's used the daycare center. Am I to assume this?

    If you try to get an egg from the daycare, you get two errors.

    The first one is an undefined method/Variable "pokemon1" in pbIsditto?. It's and easy fix, but the second error(that I know of) is this:

    Code:
    Message: Script error within event 31, map 11 (Test Map):
    Exception: NameError
    Message: Section106:330:in `pbDayCareGenerateEgg'undefined local variable or method `eggsteps' for #<Interpreter:0x9758d98>
    ***Full script:
    pbDayCareGenerateEgg
    $PokemonGlobal.daycareEgg=0
    $PokemonGlobal.daycareEggSteps=0
    
    Interpreter:239:in `pbExecuteScript'
    (eval):1: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'
    
    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'

    When I did this, I had a Lucario M and Lucario F in the daycare, but I've tried it with Pikachu and ditto before, too.

    Yeah, I already got that error, I tried fixing the script, and I got another error, I tried erasing the Ditto compatibility part, and I got another error, so I decided to remove it from my game until I can find a way to fix it.

    Maybe if someone more skilled than me can find a way to fix it (or just remove the Ditto compatibility, is fine for me) could share it with us.
     

    Maruno

    Lead Dev of Pokémon Essentials
    5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    So, nobody's used the daycare center. Am I to assume this?

    If you try to get an egg from the daycare, you get two errors.

    The first one is an undefined method/Variable "pokemon1" in pbIsditto?. It's and easy fix, but the second error(that I know of) is this:

    Code:
    Message: Script error within event 31, map 11 (Test Map):
    Exception: NameError
    Message: Section106:330:in `pbDayCareGenerateEgg'undefined local variable or method `eggsteps' for #<Interpreter:0x9758d98>
    ***Full script:
    pbDayCareGenerateEgg
    $PokemonGlobal.daycareEgg=0
    $PokemonGlobal.daycareEggSteps=0
    
    Interpreter:239:in `pbExecuteScript'
    (eval):1: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'
    
    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'
    When I did this, I had a Lucario M and Lucario F in the daycare, but I've tried it with Pikachu and ditto before, too.
    The first error is easily solved by finding the def pbIsDitto? and taking the 1 off the pokemon1 that appears somewhere in there. But you already knew that.


    The second error occurs because the def that generates the egg is trying to give the egg a value (eggsteps) that it hasn't defined. It has nothing to do with Ditto.

    Somewhere in the def pbDayCareGenerateEgg (but not too early), add in the following four lines:
    Code:
    dexdata=pbOpenDexData
    pbDexDataOffset(dexdata,species,21)
    eggsteps=dexdata.fgetw
    dexdata.close
    I suggest you put these lines just before the line that mentions eggsteps.



    Some interesting trivia: The only difference between a Pokémon and an egg is that an egg has a non-zero value for its eggsteps attribute. The game looks at this value and then decides how it behaves. eggsteps is, of course, the number of steps left until the egg hatches.
     

    KitsuneKouta

    狐 康太
    442
    Posts
    14
    Years
    • Seen Nov 20, 2017
    Does anyone know how to display the type graphic for moves in battle in place of the text?
     

    IceGod64

    In the Lost & Found bin!
    624
    Posts
    15
    Years
  • ]I suggest you put these lines just before the line that mentions eggsteps.
    Okay, done. Now it tells me that "Species" is undefined, oddly enough.
    I did as you said and put it right before the first line in pbGenerateEgg that mentions eggsteps.

    ]Some interesting trivia: The only difference between a Pokémon and an egg is that an egg has a non-zero value for its eggsteps attribute. The game looks at this value and then decides how it behaves. eggsteps is, of course, the number of steps left until the egg hatches.

    That's a really nice of doing it, actually. Clever, clever.

    Does anyone know how to display the type graphic for moves in battle in place of the text?
    I'd imagine that wouldn't be too hard. Also, whether the move is Physical or special for that extra professional look.
     
    Last edited:

    Maruno

    Lead Dev of Pokémon Essentials
    5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    Okay, done. Now it tells me that "Species" is undefined, oddly enough.
    I did as you said and put it right before the first line in pbGenerateEgg that mentions eggsteps.
    Use babyspecies insead. I just copy-pasted the code from elsewhere, and it didn't occur to me that it'd need fixing.


    Does anyone know how to display the type graphic for moves in battle in place of the text?
    The place you need to look at is in PokeBattle_ActualScene, in the refresh def of the class FightMenuDisplay (near the top). In there is the following line:

    Code:
      @info.text=_ISPRINTF("{1:s}PP: {2: 2d}/{3: 2d}[COLOR=Red]<br>TYPE/{4:s}[/COLOR]",
        @ctag,selmove.pp,selmove.totalpp[COLOR=Red],movetype[/COLOR])
    The simplest thing to do is delete the parts in red, and then whip up a bit of code to display an image based on the value of selmove.type. I'm not entirely sure which method of displaying an image would work here, although it might work with an IconSprite type (search PokemonPokedex for "icon", including the quote marks, for an example). Remember to define it too, and remember that you'll need a case for when you're not selecting a move (because there'll be no type image to display).

    I can't help you much more here, as displaying graphics is my weak point.
     
    Last edited:

    KitsuneKouta

    狐 康太
    442
    Posts
    14
    Years
    • Seen Nov 20, 2017
    The place you need to look at is in PokeBattle_ActualScene, in the refresh def of the class FightMenuDisplay (near the top). In there is the following line:

    Code:
      @info.text=_ISPRINTF("{1:s}PP: {2: 2d}/{3: 2d}[COLOR=Red]<br>TYPE/{4:s}[/COLOR]",
        @ctag,selmove.pp,selmove.totalpp[COLOR=Red],movetype[/COLOR])
    The simplest thing to do is delete the parts in red, and then whip up a bit of code to display an image based on the value of selmove.type. I'm not entirely sure which method of displaying an image would work here, although it might work with an IconSprite type (search PokemonPokedex for "icon", including the quote marks, for an example). Remember to define it too, and remember that you'll need a case for when you're not selecting a move (because there'll be no type image to display).

    I can't help you much more here, as displaying graphics is my weak point.
    Thanks, I guess I was on the right track then. I've had problems putting anything to display images in refresh though, as it disables the ability to select "fight." I'll try and fix it up though and see if it won't work.
     

    Cilerba

    the hearts of lonely people
    1,162
    Posts
    14
    Years
  • How would I extend the amount of "players?"
    I've already edited module PokemonMetadata, and the code before that, but is there anything else that I need to do?
     

    KingRazor

    Pokemon Master Since 1999
    39
    Posts
    13
    Years
  • I'm encountering a problem where pokemon that level up from shared exp don't learn new moves.

    To elaborate,

    Say I start a battle with a level 12 Pikachu (who will learn quick attack at level 13). I switch to Blastoise in the middle of the fight and defeat the enemy pokemon with Blastoise. The experience for defeating the enemy pokemon is split between the two and Pikachu grows to level 13, but does not learn quick attack.

    What can I do?
     
    Last edited:

    me2hack

    Graphics Artist
    286
    Posts
    14
    Years
    • Seen Mar 12, 2011
    What software can I use to Resize the Images from 96x96 to 128x128.
    I don't think this is the right place to ask this.. But I answered anyway..

    You can use Paint I believe. You can also use Photoshop, alas it'll cost you money. But there are some other free software like Gimp and Paint.net.
     

    KitsuneKouta

    狐 康太
    442
    Posts
    14
    Years
    • Seen Nov 20, 2017
    can i have the download link sir? tnx =^^=
    If you'll notice, the words Gimp and Paint.net are oddly colored, which means it's a link. If you click them, it takes you directly to the respective download pages. Hopefully that's what you were talking about. If you were looking for the kit, then please, check the wiki.
     
    Last edited:

    IceGod64

    In the Lost & Found bin!
    624
    Posts
    15
    Years
  • What software can I use to Resize the Images from 96x96 to 128x128.
    Get Xnview for that. It's free, and it can do it with literally as many images as you want. At once.

    https://www.xnview.com/

    To do that, start up xnview and go to the folder with the images you want to resize. Select every one you want resized using CTRL+Shift+Click(if it's all of them, press CTRL+A) and right click one. You should see an option labeled "Batch processing" select that.

    In the "general" tab where you start, set the directory to where ever you want to put the processed images. In Format, you should choose "PNG - Portable Network Graphics". That is the optimal format for retaining quality, Transparency, and keeping the file size decently small.

    Do NOT click go yet. Select the "Transformations" tab. This has some alteration options you can do you image if you want. Right now, all you need is Resize. Click that, and hit the "Add >" button. It will appear in the box to the right.

    You're ALMOST ready. Under width and height, you should see two boxes for each. The right box resizes the image to a percentage. The left sets it to an exact size. In your case, you'll want to leave the right boxes alone, and just type "128"(without quotes) inside the left boxes. Now, this part is critical to remember - It could both make your output images much larger in filesize than desired, and make it look ugly in-game if you don't remember this. In the dropdown box beside "Resample" MAKE SURE Nearest Neighbor is selected. This retained the pixelation, which flows much better with the art in Pokemon Esssential.

    Now, once all this is done, click go. You should have a window with a progress bar appear. Wait for it to finish.

    And ya done! But Ice God, is the post over? Yes it is! I hope we all learned about Xnview. Have a good one!

    Edit: I forgot to post my question. This is mainly meant for someone with advanced scripting knowledge I know, but I feel like I'm really on the right track with this...

    What I want to do is give a specific Pokémon Trainers specific Pokémon specific IV's.
    Here's what I know:
    Such data is stored in "PokemonTrainers" and the section of script looks like:

    Code:
    for poke in trainer[3]
        species=poke[0]
        level=poke[1]
        pokemon=PokeBattle_Pokemon.new(species,level,opponent)
        iv=poke[2]
        pokemon.iv[0]=iv&0x1F
        pokemon.iv[1]=iv&0x1F
        pokemon.iv[2]=iv&0x1F
        pokemon.iv[3]=iv&0x1F
        pokemon.iv[4]=iv&0x1F
        pokemon.iv[5]=iv&0x1F
        pokemon.ev[0]=[85,level*3/2].min
        pokemon.ev[1]=[85,level*3/2].min
        pokemon.ev[2]=[85,level*3/2].min
        pokemon.ev[3]=[85,level*3/2].min
        pokemon.ev[4]=[85,level*3/2].min
        pokemon.ev[5]=[85,level*3/2].min
        pokemon.item=poke[3]
        pokemon.calcStats

    I'm not sure how the syntax for this works for this sort of code... Any advice?
     
    Last edited:

    Dark: Random Guy

    Professional Coin Flipper
    21
    Posts
    13
    Years
    • Seen Mar 1, 2011
    to be honest. i had this. i could never figure out what to do with it though.

    i prefer using different battle systems to be quite honest. Like the Legend Of Zelda styled one and the final fantasy ones.

    regardless i'm curious to see what could be done with it.
     

    KingRazor

    Pokemon Master Since 1999
    39
    Posts
    13
    Years
  • I'm encountering a problem where pokemon that level up from shared exp don't learn new moves.

    To elaborate,

    Say I start a battle with a level 12 Pikachu (who will learn quick attack at level 13). I switch to Blastoise in the middle of the fight and defeat the enemy pokemon with Blastoise. The experience for defeating the enemy pokemon is split between the two and Pikachu grows to level 13, but does not learn quick attack.

    What can I do?
    Alright, I'm brand new to ruby but I've had experience with html and some very brief experience with C code in the past.

    I'm looking through the game's script editor to find anything related to my issue.

    I came across this, I'm not sure if it's exactly what I'm supposed to be looking for though:

    Code:
    # Update Pokémon who will gain EXP if this battler is defeated
    def pbUpdateParticipants
     return if hp<=0 # can't update if already fainted
     if @battle.pbIsOpposing?(@index)
      found1=false
      found2=false
      for i in @participants
       found1=true if i==pbOpposing1.pokemonIndex
       found2=true if i==pbOpposing2.pokemonIndex
      end
      if !found1&& pbOpposing1.hp>0
       @participants[@participants.length]=pbOpposing1.pokemonIndex
      end
      if !found2&& pbOpposing2.hp>0
       @participants[@participants.length]=pbOpposing2.pokemonIndex
      end
     end
    end
     

    me2hack

    Graphics Artist
    286
    Posts
    14
    Years
    • Seen Mar 12, 2011
    I got this problem after adding a dual screen, in the battle scene, the battlers always go to the bottom of the screen. I've tried fixing it by changing the Graphics.height to a global variable that holds the y-size of the top screen. The graphics, commandbox, fightbox all go back to their original place, expect for the battlers. I also tried editing it in the Editor, but that doesn't give any better result. Can someone help?
     

    KitsuneKouta

    狐 康太
    442
    Posts
    14
    Years
    • Seen Nov 20, 2017
    Alright, I'm brand new to ruby but I've had experience with html and some very brief experience with C code in the past.

    I'm looking through the game's script editor to find anything related to my issue.

    I came across this, I'm not sure if it's exactly what I'm supposed to be looking for though:

    Code:
    # Update Pokémon who will gain EXP if this battler is defeated
    def pbUpdateParticipants
     return if hp<=0 # can't update if already fainted
     if @battle.pbIsOpposing?(@index)
      found1=false
      found2=false
      for i in @participants
       found1=true if i==pbOpposing1.pokemonIndex
       found2=true if i==pbOpposing2.pokemonIndex
      end
      if !found1&& pbOpposing1.hp>0
       @participants[@participants.length]=pbOpposing1.pokemonIndex
      end
      if !found2&& pbOpposing2.hp>0
       @participants[@participants.length]=pbOpposing2.pokemonIndex
      end
     end
    end
    I haven't messed around too much with the battle system, since it's fairly complex, but I think I may have an idea of the problem. This code you have here determines who gains experience, and from what you've said, it works just fine. However, you should look for the code that handles learning moves after level up. Since it works in individual battles (as far as I know), it's probably just that a couple lines of code that check for new moves to learn and try to add them weren't put in the section for double battles. The fix is likely a copy/paste, just finding the lines that are in the single battle portion that are absent from the double battle portion and putting them in there. It'll probably be close by too, so you shouldn't have to look too far.
     

    me2hack

    Graphics Artist
    286
    Posts
    14
    Years
    • Seen Mar 12, 2011
    I got this problem after adding a dual screen, in the battle scene, the battlers always go to the bottom of the screen. I've tried fixing it by changing the Graphics.height to a global variable that holds the y-size of the top screen. The graphics, commandbox, fightbox all go back to their original place, expect for the battlers. I also tried editing it in the Editor, but that doesn't give any better result. Can someone help?
    Nevermind, already found the problem.
     
    Status
    Not open for further replies.
    Back
    Top