• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Which Pokémon Masters protagonist do you like most? Let us know by casting a vote in our Masters favorite protagonist poll here!
  • 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.
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.
 
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.
 
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.
 
resized overworlds? You mean the charsets?
Yes, I do. I had them once before but I lost them when my previous computer died. I need them for my game. Thank you.
 
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:
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:
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:
im a little annoyed now, so im gonna ask poccil directly,
how do i set a rival and call his name input screen and then call his name in a text passage?
 
That's something I'm wondering as well.
 
when i play my game the hole screen is black
 
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:
all i did was fix what poccil told me to fix
 
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.
 
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?
 
@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