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

<~F.M.P~>

I got you whistling Blue Box!
  • 577
    Posts
    17
    Years
    Again: Can I get some help with scripting? I'm trying to add D/P moves into the Essentials kit. Really, if someone just told me the scripting language that Pokemon Essentials uses, I could try to do my own research from there.

    Well actually It uses Ruby, and Rgss(Ruby gaming scripting system). I'm currently learning how to script with them both.
     

    DE5PA1R

    Intermediate Developer
  • 32
    Posts
    15
    Years
    Well actually It uses Ruby, and Rgss(Ruby gaming scripting system). I'm currently learning how to script with them both.

    Thanks for the response. I don't suppose you'd know how to add move effects into PokeBattle_MoveEffects? I mean, I've figured out how to pull up the script editor, I'm just not sure what all I can do with it; what commands are valid, etc.

    For example, let's say I wanted to add "Roost" into the list of moves in the Essentials kit. Roost does 3 things:

    1. Restores HP. Adding that effect is easy enough; just basically copy and paste from a move like recover.
    2. Anulls the Pokemon's Flying type. I have no idea how I would do that.
    3. Negates abilities like Levitate. I'm actually not sure whether or not this would be included in #2's effect. Again, I have no idea where to get started.

    I realize I'm asking a pretty in-depth question here, so if it's too difficult to explain or you aren't completely sure how it could be done, that's fine. I would appreciate even a link to a tutorial explaining Ruby.
     

    <~F.M.P~>

    I got you whistling Blue Box!
  • 577
    Posts
    17
    Years
    Thanks for the response. I don't suppose you'd know how to add move effects into PokeBattle_MoveEffects? I mean, I've figured out how to pull up the script editor, I'm just not sure what all I can do with it; what commands are valid, etc.

    For example, let's say I wanted to add "Roost" into the list of moves in the Essentials kit. Roost does 3 things:

    1. Restores HP. Adding that effect is easy enough; just basically copy and paste from a move like recover.
    2. Anulls the Pokemon's Flying type. I have no idea how I would do that.
    3. Negates abilities like Levitate. I'm actually not sure whether or not this would be included in #2's effect. Again, I have no idea where to get started.

    I realize I'm asking a pretty in-depth question here, so if it's too difficult to explain or you aren't completely sure how it could be done, that's fine. I would appreciate even a link to a tutorial explaining Ruby.

    Hmmm...I'll look into it, and I'll send you a link in a PM.
     
  • 386
    Posts
    17
    Years
    • Seen Aug 10, 2015
    rhevarhe_duh:

    Fortunately, that's easy. Go to the script section "SpriteWindow" in the script editor, go to line 2349, and find these lines:

    Code:
        @pausesprite.x=self.x+self.startX+rcdst.x+rcdst.width-2
        @pausesprite.y=self.y+self.startY+rcdst.y-@scrollY

    Change them to this:
    Code:
        [email protected] ? @pausesprite.framewidth : 16
        [email protected] ? @pausesprite.frameheight : 16
        @pausesprite.x=self.x+self.width-(20*2)+(pauseWidth/2)
        @pausesprite.y=self.y+self.height-(28*2)+(pauseHeight/2)

    I hope this helps.
     
    Last edited:
  • 78
    Posts
    15
    Years
    rhevarhe_duh:

    Fortunately, that's easy. Go to the script section "SpriteWindow" in the script editor, go to line 2349, and find these lines:

    Code:
        @pausesprite.x=self.x+self.startX+rcdst.x+rcdst.width-2
        @pausesprite.y=self.y+self.startY+rcdst.y-@scrollY
    Change them to this:
    Code:
        [email protected] ? @pausesprite.framewidth : 16
        [email protected] ? @pausesprite.framesheight : 16
        @pausesprite.x=self.x+self.width-(20*2)+(pauseWidth/2)
        @pausesprite.y=self.y+self.height-(28*2)+(pauseHeight/2)
    I hope this helps.

    it doesn't work, poccil. when i try it, i got this error:

    ---------------------------
    Pokemon Essentials
    ---------------------------
    Exception: NoMethodError
    Message: undefined method `framesheight' for #<AnimatedSprite:0x5f1b318>
    SpriteWindow:2349:in `refresh'
    SpriteWindow:2423:in `update'
    PokemonMessages:1263:in `pbDisplayMessageFancy'
    PokemonMessages:741:in `pbMessage'
    PokemonMessages:473:in `command_101'
    Interpreter:277:in `execute_command'
    Interpreter:190:in `update'
    Interpreter:104:in `loop'
    Interpreter:195:in `update'
    Scene_Map:100:in `update'
    however, thanks for the help poccil.
    your starter kit is the best! :D
     
    Last edited:
  • 386
    Posts
    17
    Years
    • Seen Aug 10, 2015
    I made a mistake when writing the code above: Change "framesheight" to "frameheight".
     

    DE5PA1R

    Intermediate Developer
  • 32
    Posts
    15
    Years
    Crap. Ok, I edited a move in PBS->Moves.txt and followed it up by editing PokeBattle_MoveEffects. When trying to open the Essentials Editor, it freezes while "Compiling Move Data" and shows this error:

    Message: Invalid quoted field (in: The user whips up a turbulent whirlwind that ups the Speed of all party Pokémon for three turns.")
    File PBS/moves.txt, line 367
    The user whips up a turbulent whirlwind that ups the Speed of all party Pokémon for three turns."

    Compiler:134:in `csvfield!'
    Compiler:1943:in `csvEnumField!'
    Compiler:415:in `pbGetCsvRecord'
    Compiler:365:in `each'
    Compiler:365:in `pbGetCsvRecord'
    Compiler:1005:in `pbCompileMoves'
    Compiler:1004:in `pbCompilerEachPreppedLine'
    Compiler:515:in `each_line'
    Compiler:515:in `pbCompilerEachPreppedLine'
    Compiler:512:in `open'

    The move in Moves.txt looks like this:
    355,ROOST,ROOST,D6,0,FLYING,Status,0,10,0,10,0,dg,Cool,"The user lands and rests its body. It restores the user's HP by up to half of its maximum HP."

    The move in PokeBattle_MoveEffects looks like this:
    class PokeBattle_Move_D6 < PokeBattle_Move
    def pbEffect(attacker,opponent)
    if attacker.hp==attacker.totalhp
    @battle.pbDisplay(_INTL("{1}'s HP is full!",attacker.pbThis))
    return -1
    else
    @battle.pbAnimation(@id,attacker,nil)
    hpgain=(attacker.totalhp/2).floor
    attacker.pbRecoverHP(hpgain)
    @battle.pbDisplay(_INTL("{1} regained health!",attacker.phThis))
    return 0
    end
    end
    end

    What can I do to fix this?

    I know I ask a lot of questions here, but that's because I'm still learning and to me, this is some pretty tough stuff. I sincerely appreciate any help.
     
    Last edited:

    ForeverRed

    teeheeee
  • 471
    Posts
    16
    Years
    hmm i want to change the pause arrow to the dpp one and it is bigger than the box that contained the original sprite of "pause".
    this is what came up when i tried it:
    ---------------------------
    Pokémon Ammolite
    ---------------------------
    Exception: RuntimeError
    Message: Bitmap's width (72) is not a multiple of frame width (14)
    SpriteWindow:2554:in `initialize'
    SpriteWindow:2409:in `new'
    SpriteWindow:2409:in `allocPause'
    SpriteWindow:2415:in `startPause'
    SpriteWindow:2396:in `update'
    PokemonMessages:1263:in `pbDisplayMessageFancy'
    PokemonMessages:741:in `pbMessage'
    PokemonMessages:473:in `command_101'
    Interpreter:277:in `execute_command'
    Interpreter:190:in `update'
     
    Last edited:
  • 386
    Posts
    17
    Years
    • Seen Aug 10, 2015
    Red Gyrados:

    You must make the bitmap's width divisible by the number of frames in the animation. Since the script expects a 4-frame bitmap you must make the width divisible by 4. See the example in Graphics/Pictures/pause.png, which is the default pause bitmap. Unfortunately, its size should not be changed at the moment. In an updated version, the pause graphic should be any size as long as its width is divisible by 4.
     

    Geeked

    Pokemon Crimson Version
  • 352
    Posts
    16
    Years
    • Seen Oct 9, 2012
    Hey, my Game is not Normal, Your apart of the Evil Team.. Just wondering how can I make it so You can use a certain type of Ball to catch the trainers Pokes?
     

    mad.array

    Eeveelutions... need more...
  • 140
    Posts
    16
    Years
    @xray: Ok, first of all you need to define your ball. in your projects PBS folder go to items.txt and open it up. You'll need to add a new item that represents your ball at the bottom of the text file. It will look something like this.

    Code:
    502,SHADOWBALL,SHADOW BALL,2,400,"An illegal BALL that can be used to catch a trainers POKéMON.",0,2

    502 is the item number and there should be a graphic called "item502.png" in the "graphics/items" folder, this will show up when you view the item in the menu. The graphic should be 48*48 pixels.
    SHADOWBALL is the internal name of the item and is used to identify the item in any code.
    SHADOW BALL is the name that will appear in the menu for the item
    2 identifies the item as a BALL.
    400 is the price of the item
    The text inside the "quotation marks" will be the descritption text that shows up for the item.
    0 tells the game that the item can be used only in battle
    2 tells the game that when the item is used, it is a ball.

    I'm going to assume that these values are the ones that you use.

    Ok, now you need to go into the scripts (Press F11 in RMXP). Find the PokeBattle_Battle script. At the top there should be a section called 'def pbGetBallType(ball)'

    You need to stick a comma at the end of the PREMIERBALL line then add a new line that reads:

    Code:
    :SHADOWBALL

    Ok, now you need to find a section that reads

    when PBItems::NESTBALL
    if battler.level<30
    rareness*=(40-battler.level)/10
    end

    It should be around line 119. After that you'll need a new section to tell the game how likely the ball is to catch the pokémon.

    Code:
         when PBItems::SHADOWBALL
          rareness*=2

    In this example I've made the Ball have the same success rate as an Ultra Ball, you can look at the examples if you want the ball to have a different success rate but I'm not sure how to give it the same rate as a normal Poké Ball. You should then copy and paste this code at the end of line 213.

    Ok, now for the part that tells the code that the Shadow Ball CAN catch trainers Pokémon. Line 78 of PokeBattle_Battle should contain this code:

    Code:
    if @opponent

    Simply change that to this:

    Code:
    if @opponent and itemname != "SHADOWBALL"

    That should do it! I haven't actually tested this but I think I've covered everything. If there are any problems then just let me know and I'll have a look at it. I hope that this helps!
     
    Last edited:
    Status
    Not open for further replies.
    Back
    Top