PDA

View Full Version : [Archive] Pokemon Essentials: Starter Kit for RPG Maker XP


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [28] 29 30 31 32 33 34 35 36 37 38 39

Spinarak
April 18th, 2010, 01:29 AM
I'm not quite understanding here. So do I just add this in?

Graphics.update
Input.update

It's not too clear to me, but it seems like that's it- isn't it?

juliohack
April 18th, 2010, 03:54 AM
hello again

I raised new doubts

1-How to change the form of evolution.
2-I of the gym leaders still no single entity
3 - Do any good tutorial?
4-How to prevent the passage of some sites if you have no medals.
5-me section you can explain the attacks.

Vociferocity
April 18th, 2010, 04:11 AM
hello again

I raised new doubts

1-How to change the form of evolution.
2-I of the gym leaders still no single entity
3 - Do any good tutorial?
4-How to prevent the passage of some sites if you have no medals.
5-me section you can explain the attacks.

oooookay well, as usual I don't understand most of what you've posted, but number 4 should be pretty easy to implement. in the event that moves the player, throw in a conditional branch that checks for a switch called, for example, "medal". if it's false, it displays something like "I can't go in here without a medal!" and has a move route that turns the player around and walks a step or two away from the move event. if it's true, you're able to move into the next area. the switch would be turned on in the events that give you medals.

if you need different amounts of medals for different areas, however, you'd be better off with making the "medal" switch into a variable, adding 1 to that each time you get a medal, and making it so that you need that variable to equal at least "x" to be able to move to each area.

juliohack
April 18th, 2010, 04:17 AM
Madre mia que lio, me lo podria explicar con imagenes porfavor

es que me hago un lio.

¿Como cambio la forma de evolucion de un pokemon?

Vociferocity
April 18th, 2010, 04:28 AM
...um. okay, so I ran that through an online translator, and...are you asking me to explain with pictures? I guess I can explain with screencaps of each step, if that's what you want.

nooo idea what you mean by changing the form of an evolution, though. do you mean changing a pokemon so it evolves into something completely new, or just changing the sprite of the evolved pokemon?

juliohack
April 18th, 2010, 04:43 AM
I want to create a game from pokemon digimon essentiasl
and I want to change the way they evolve, ie they evolve with different animation, and if I refer to the catch: D

Baylex
April 18th, 2010, 04:57 AM
Hi, I have been studing pokemon essentials, and I wanted to change the pokemon essentials and make some things to learn a bit more. But when I change something on the starterkit, the game won't open after the changes. If I create a new map or even if I change the player starting position (yes I change in the intro event) the game won't play. Can anyone give me some help on this? Thanks.

KitsuneKouta
April 18th, 2010, 10:12 AM
Hi, I have been studing pokemon essentials, and I wanted to change the pokemon essentials and make some things to learn a bit more. But when I change something on the starterkit, the game won't open after the changes. If I create a new map or even if I change the player starting position (yes I change in the intro event) the game won't play. Can anyone give me some help on this? Thanks.
I don't think that's enough information to really understand your problem. When you change the starting position, it should only be done by using the Transfer Player command in the intro event. Do not use the Player's Starting Position command (which is done by right clicking on a point in a map in the event layer, and choosing that option), since you MUST start on the INTRO map. Aside from that, the kit should be completely customizable.

Baylex
April 18th, 2010, 12:04 PM
Thanks for the reply, I already solve the problem after almost one week trying to find it. I've puted the starter kit in the system folder of the RPG Maker XP and it worked :) thanks anyway!!

KitsuneKouta
April 18th, 2010, 07:38 PM
Quick question: in the daycare script the "for i in 0...2" can't be edited without throwing an error. Why can it only store 2 values? If I can figure out that much, I can look into some alternatives.

Soul.//Silver
April 19th, 2010, 02:08 AM
I seem to be having issues with the loadbg appearing, the resolution is 480x660 (dual screen) so I made loadbg.png the same and added the bottom part of it to the bottom half (top half is 480x320, middle is an empty space 480x20 and the bottom half is 480x320). Now when I go to the load screen, the bottom screen is still black. I did the exact same thing with the title screen earlier and it worked perfectly...not sure what is going on here.

juliohack
April 19th, 2010, 05:11 AM
hello again

I have raised new doubts

1-How to change the form of evolution.
2-I of the gym leaders still no entity
3 - Is there a good tutorial?
4-How to prevent the passage of some sites if you have no medals.
Section 5-I can explain the attacks.

Vociferocity
April 19th, 2010, 05:42 AM
hello again

I have raised new doubts

1-How to change the form of evolution.
2-I of the gym leaders still no entity
3 - Is there a good tutorial?
4-How to prevent the passage of some sites if you have no medals.
Section 5-I can explain the attacks.

I just finished making a tutorial for number 4, I'll PM it to you now :)

KitsuneKouta
April 19th, 2010, 06:04 AM
hello again

I have raised new doubts

1-How to change the form of evolution.
2-I of the gym leaders still no entity
3 - Is there a good tutorial?
4-How to prevent the passage of some sites if you have no medals.
Section 5-I can explain the attacks.
I answered most of those questions a page or two back, and Vociferocity answered a couple of times too. If you can't understand our explanations in English (we have a hard time understanding your Engrish too), then please find someone who speaks your language and ask them for help with these questions. These problems aren't difficult, it's just that we seem to be having issues with communication.

Maruno
April 19th, 2010, 08:24 AM
Quick question: in the daycare script the "for i in 0...2" can't be edited without throwing an error. Why can it only store 2 values? If I can figure out that much, I can look into some alternatives.
I'm not sure why it would. Remember that there are a bunch of lines that say "for i in 0...2", so you'll have to change them all. It's fairly straightforward, though, I imagine.

As it stands, breeding will only occur if there are exactly 2 Pokémon being stored there. There'll be no breeding if you have 3 or more stored.

IronMan1994
April 19th, 2010, 08:54 AM
Ok, I know this sounds noobish, but I'm having a problem getting the player to move. I'm teaching my self to create a game with Pokemon essentials.

I've done an intro where Professor Oak talks to you, and then I used "Transfer Player" to move the character to the first town. I know my arrow keys work as directional buttons, because I can use them to select the player game and go back and forth from new game and options when I start it up. Is there something I'm doing wrong?

KitsuneKouta
April 19th, 2010, 11:12 AM
I'm not sure why it would. Remember that there are a bunch of lines that say "for i in 0...2", so you'll have to change them all. It's fairly straightforward, though, I imagine.

As it stands, breeding will only occur if there are exactly 2 Pokémon being stored there. There'll be no breeding if you have 3 or more stored.
I thought so too, but it seems that's not the case, which is why it's difficult. I'll show the list of errors, and the new ones that pop up when one is fixed. They occur when you change every one of the 2s into any number (3, 10, 17, etc.).

When you take a step you get this:
---------------------------
Custom
---------------------------
Exception: NoMethodError

Message: undefined method `[]' for nil:NilClass

PokemonDayCare:15:in `pbDayCareDeposited'

PokemonDayCare:14:in `each'

PokemonDayCare:14:in `pbDayCareDeposited'

PokemonDayCare:337

PokemonDayCare:335:in `call'

PBEvent:58:in `trigger'

PBEvent:52:in `each'

PBEvent:52:in `trigger'

PokemonField:1058:in `pbOnStepTaken'

Game_Player_:430:in `update_old'



This exception was logged in ./errorlog.txt.

Press Ctrl+C to copy this message to the clipboard.
---------------------------
OK
---------------------------
When you fix that you get this (also occurs on the first step):
---------------------------
Custom
---------------------------
Exception: NoMethodError

Message: undefined method `[]' for nil:NilClass

PokemonDayCare:363

PokemonDayCare:362:in `each'

PokemonDayCare:362

PokemonDayCare:335:in `call'

PBEvent:58:in `trigger'

PBEvent:52:in `each'

PBEvent:52:in `trigger'

PokemonField:1058:in `pbOnStepTaken'

Game_Player_:430:in `update_old'

Walk_Run:74:in `update'



This exception was logged in ./errorlog.txt.

Press Ctrl+C to copy this message to the clipboard.
---------------------------
OK
---------------------------
If you fix that you get this when depositing the third pokemon:
---------------------------
Custom
---------------------------
Exception: RuntimeError

Message: Script error within event 6, map 16 (NYL):

Exception: NoMethodError

Message: Section105:22:in `pbDayCareDeposit'undefined method `[]' for nil:NilClass

***Full script:

pbDayCareDeposit(pbGet(1))


Interpreter:239:in `pbExecuteScript'

PokemonDayCare:21:in `each'

PokemonDayCare:21:in `pbDayCareDeposit'

(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: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'



This exception was logged in ./errorlog.txt.

Press Ctrl+C to copy this message to the clipboard.
---------------------------
OK
---------------------------
When that's fixed, you can't withdraw a Pokemon:
---------------------------
Custom
---------------------------
Exception: RuntimeError

Message: Script error within event 6, map 16 (NYL):

Exception: NoMethodError

Message: Section105:124:in `pbDayCareChoose'undefined method `[]' for nil:NilClass

***Full script:

pbDayCareChoose(
_I("Which one will you take?"),1)


Interpreter:239:in `pbExecuteScript'

PokemonDayCare:123:in `each'

PokemonDayCare:123:in `pbDayCareChoose'

(eval):2: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: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'



This exception was logged in ./errorlog.txt.

Press Ctrl+C to copy this message to the clipboard.
---------------------------
OK
---------------------------
When you fix that, you're back to square one. I like a challenge, but when it doesn't make sense then it just becomes irritating. Also, by fix I mean change the number back to 2.

@IronMan1994: The info you gave is fairly sparse, but I can see two possible problems. First, did you remove the pbChangePlayer command? Without it, you get an error message on the first step taken, since the game doesn't know what character you're using. Second, the map you transfer to may have impassible tiles where your character is placed. In this case, you can't move but there is no error. Also, make sure there are no invisible impassible tiles on the upper layers, since you can't even see they're there, but they'll do the same thing.

IronMan1994
April 19th, 2010, 11:50 AM
@IronMan1994: The info you gave is fairly sparse, but I can see two possible problems. First, did you remove the pbChangePlayer command? Without it, you get an error message on the first step taken, since the game doesn't know what character you're using. Second, the map you transfer to may have impassible tiles where your character is placed. In this case, you can't move but there is no error. Also, make sure there are no invisible impassible tiles on the upper layers, since you can't even see they're there, but they'll do the same thing.
Thanks, I got it to work.

Soul.//Silver
April 19th, 2010, 02:39 PM
I seem to be having issues with the loadbg appearing, the resolution is 480x660 (dual screen) so I made loadbg.png the same and added the bottom part of it to the bottom half (top half is 480x320, middle is an empty space 480x20 and the bottom half is 480x320). Now when I go to the load screen, the bottom screen is still black. I did the exact same thing with the title screen earlier and it worked perfectly...not sure what is going on here.

Just bumping it to the last page, otherwise it will get ignored...

Maruno
April 19th, 2010, 04:56 PM
I thought so too, but it seems that's not the case, which is why it's difficult. I'll show the list of errors, and the new ones that pop up when one is fixed. They occur when you change every one of the 2s into any number (3, 10, 17, etc.).

When you take a step you get this:
---------------------------
Custom
---------------------------
Exception: NoMethodError

Message: undefined method `[]' for nil:NilClass

PokemonDayCare:15:in `pbDayCareDeposited'

PokemonDayCare:14:in `each'

PokemonDayCare:14:in `pbDayCareDeposited'

PokemonDayCare:337

PokemonDayCare:335:in `call'

PBEvent:58:in `trigger'

PBEvent:52:in `each'

PBEvent:52:in `trigger'

PokemonField:1058:in `pbOnStepTaken'

Game_Player_:430:in `update_old'



This exception was logged in ./errorlog.txt.

Press Ctrl+C to copy this message to the clipboard.
---------------------------
OK
---------------------------
When you fix that you get this (also occurs on the first step):
---------------------------
Custom
---------------------------
Exception: NoMethodError

Message: undefined method `[]' for nil:NilClass

PokemonDayCare:363

PokemonDayCare:362:in `each'

PokemonDayCare:362

PokemonDayCare:335:in `call'

PBEvent:58:in `trigger'

PBEvent:52:in `each'

PBEvent:52:in `trigger'

PokemonField:1058:in `pbOnStepTaken'

Game_Player_:430:in `update_old'

Walk_Run:74:in `update'



This exception was logged in ./errorlog.txt.

Press Ctrl+C to copy this message to the clipboard.
---------------------------
OK
---------------------------
If you fix that you get this when depositing the third pokemon:
---------------------------
Custom
---------------------------
Exception: RuntimeError

Message: Script error within event 6, map 16 (NYL):

Exception: NoMethodError

Message: Section105:22:in `pbDayCareDeposit'undefined method `[]' for nil:NilClass

***Full script:

pbDayCareDeposit(pbGet(1))


Interpreter:239:in `pbExecuteScript'

PokemonDayCare:21:in `each'

PokemonDayCare:21:in `pbDayCareDeposit'

(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: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'



This exception was logged in ./errorlog.txt.

Press Ctrl+C to copy this message to the clipboard.
---------------------------
OK
---------------------------
When that's fixed, you can't withdraw a Pokemon:
---------------------------
Custom
---------------------------
Exception: RuntimeError

Message: Script error within event 6, map 16 (NYL):

Exception: NoMethodError

Message: Section105:124:in `pbDayCareChoose'undefined method `[]' for nil:NilClass

***Full script:

pbDayCareChoose(
_I("Which one will you take?"),1)


Interpreter:239:in `pbExecuteScript'

PokemonDayCare:123:in `each'

PokemonDayCare:123:in `pbDayCareChoose'

(eval):2: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: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'



This exception was logged in ./errorlog.txt.

Press Ctrl+C to copy this message to the clipboard.
---------------------------
OK
---------------------------
When you fix that, you're back to square one. I like a challenge, but when it doesn't make sense then it just becomes irritating. Also, by fix I mean change the number back to 2.
The errors occur because the same sees the list of pokémon that are in the Day Care as an array with two entries in it. This array is defined in PokemonMap - search for:

@daycare=[[nil,0],[nil,0]]Change that to something like the following:
for i in 0...16
@daycare[i]=[nil,0]
endThat should allow for 16 pokémon slots (0-15 inclusive). Note that the three dots in the "for" line means "up until, but not including, 16", whereas two dots there instead means "up to and including 16" (which would be a total of 17 slots). Such is the fiddliness of syntax.

Try that.

KitsuneKouta
April 19th, 2010, 05:39 PM
The errors occur because the same sees the list of pokémon that are in the Day Care as an array with two entries in it. This array is defined in PokemonMap - search for:

@daycare=[[nil,0],[nil,0]]Change that to something like the following:
for i in 0...16
@daycare[i]=[nil,0]
endThat should allow for 16 pokémon slots (0-15 inclusive). Note that the three dots in the "for" line means "up until, but not including, 16", whereas two dots there instead means "up to and including 16" (which would be a total of 17 slots). Such is the fiddliness of syntax.

Try that.
It's still throwing the same errors, however it now allows me to attempt to store a pokemon. It gives the message saying it stored the pokemon, but it's still in the party. The only value I can modify without getting an error is the one under def pbDayCareGetDeposited(index,nameVariable,costVariable), which it didn't do before.

Vociferocity
April 19th, 2010, 11:20 PM
getting away from the daycare thing for a minute, does anyone know how to use a variable inside a pbConfirmMessage?

for instance, I tried using

Kernel.pbConfirmMessage(_INTL("You want to leave \v[3]?"))

but that just displays "You want to leave [3]?". I tried keeping the \v[3] bit out of ""s, by going ("You want to leave "\v[3]"?")), but that gave me a syntax error.

I guess the whole \v[n] thing can only be used in events. any ideas about how to do this? it's just supposed to be a quick confirmation of which pokemon you're depositing/withdrawing, and the rest of the code works fine, it's just this bit that's awful and fail.

odinel
April 20th, 2010, 12:46 AM
To use the animation you created in the animation editor, open the animation editor and click "List of Animations." This will show a list of every animation in your RMXP project. Then simply click the one you want to edit. When you edit it and save, it will save it in your project, not as a separate file. The game will search for animations with appropriate names automatically (i.e. Move:TACKLE, Common:Shiny, etc.), so you don't have to do anything else after you make them.


Thanks again KitsuneKouta
BTW I tried that on the editor and saved it
but I checked the animation editor in RMXP tool
and it was still the same.

And also do u kno how when pokemon use Growl
the sound effect should be their crying sound
how can I make this different for every pokemon?

Lastly, can you tell me the importance of the skill name?
for example
some of them are Move:OOO
and some of them are just
OOO hero OOO ennemy
can u tell me all of these naming styles and differences?/


thank you so much

Maruno
April 20th, 2010, 05:45 AM
It's still throwing the same errors, however it now allows me to attempt to store a pokemon. It gives the message saying it stored the pokemon, but it's still in the party. The only value I can modify without getting an error is the one under def pbDayCareGetDeposited(index,nameVariable,costVariable), which it didn't do before.
Weird. There's nothing in the code that should throw a wobbly (although having said that, I'm not that knowledgeable about X-dimensional arrays).

for i in 0...16
@daycare[i][0]=nil
@daycare[i][1]=0
endHow about that?

I'm trying to keep it simple here. If nothing else works, just expand on the default code:

@daycare=[[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0]]

KitsuneKouta
April 20th, 2010, 08:49 AM
Weird. There's nothing in the code that should throw a wobbly (although having said that, I'm not that knowledgeable about X-dimensional arrays).

for i in 0...16
@daycare[i][0]=nil
@daycare[i][1]=0
endHow about that?

I'm trying to keep it simple here. If nothing else works, just expand on the default code:

@daycare=[[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0],[nil,0]]
Both of those still have the same problem. I think I'll try to write a separate daycare script, since the problem with the original is elusive.

@Vociferocity: This may work as an alternative:
Kernel.pbConfirmMessage(_INTL("You want to leave {1}",speciesname))
Above it, you will need to define "speciesname" like this:
speciesname=PBSpecies.getName(pokemon.species)
However, that is assuming that "pokemon" has been defined in the script you're using (and it usually is). However, "pokemon" has to reference the correct one in your party, so you'll probably have to define it again (I'll look that up later).
EDIT:To display the proper pokemon's name, use this:
pokemon=$Trainer.party[$game_variables[1]]
It should go right above the "speciesname" line. It uses the value in variable 1, Temp Pokemon Choice, which is the index value of the pokemon you select with pbChoosePokemon.

@odinel: The animation editor is used for creating effects that can't be done in RMXP (like moving the player's and opponent's pokemon). So you won't be able to see effects like that, since RMXP doesn't support them I guess. Try getting into a battle and see if it shows the new animation there. For naming conventions, I don't have Move:000 or 000 hero, so those are either default animations, or they're in kits that are newer than mine. Anyways, for attacks, it will look like Move:TACKLE, Move:SCRATCH, etc., and for status effects (when you are damaged from burn or poison, or sleeping and paralyzed, and also the shiny animation) you will use Common:StatDown, Common:Paralyzed, etc. For stat reduction abilities, you will use Growl Hero, Growl Enemy, etc. It doesn't seem to be very rigid though, as there are ones like Ultra Beam Hero, and Sand-Attack En, and Struggle, which go against the normal conventions described above.

odinel
April 20th, 2010, 05:43 PM
@odinel: The animation editor is used for creating effects that can't be done in RMXP (like moving the player's and opponent's pokemon). So you won't be able to see effects like that, since RMXP doesn't support them I guess. Try getting into a battle and see if it shows the new animation there. For naming conventions, I don't have Move:000 or 000 hero, so those are either default animations, or they're in kits that are newer than mine. Anyways, for attacks, it will look like Move:TACKLE, Move:SCRATCH, etc., and for status effects (when you are damaged from burn or poison, or sleeping and paralyzed, and also the shiny animation) you will use Common:StatDown, Common:Paralyzed, etc. For stat reduction abilities, you will use Growl Hero, Growl Enemy, etc. It doesn't seem to be very rigid though, as there are ones like Ultra Beam Hero, and Sand-Attack En, and Struggle, which go against the normal conventions described above.

So, are you saying that I just have to use animtion editor when I just want to edit the movement of pokemons?

also, for growl sound effect, wat do I have to do to put the crying sound of using pokemon? cuz u kno, when pokemon use growl, their cry sound should be played.

and for the moves that has two different steps like solar beam or leech seed, wat do I have to name the animation?

and for some moves that requires hero side attack , and enemy side attack
do I just have to name it like.. Hyper Beam Hero , and Hyper Beam Enemy ?

Thank you

VEGET@
April 20th, 2010, 06:40 PM
How i can do waht for a moment i cant open de menu?
And the trainers not figth with me.

Soul.//Silver
April 20th, 2010, 10:28 PM
Old Question: I seem to be having issues with the loadbg appearing, the resolution is 480x660 (dual screen) so I made loadbg.png the same and added the bottom part of it to the bottom half (top half is 480x320, middle is an empty space 480x20 and the bottom half is 480x320). Now when I go to the load screen, the bottom screen is still black. I did the exact same thing with the title screen earlier and it worked perfectly...not sure what is going on here.

New Question: In what section of PokemonPokedex can I change the base colour and shadow colour of the text circled in red? I know where to change it for the Pokedex Entry but that isn't what I want changed (well actually I do, but I already did that). Oh and also the bottom left text as well (is it separate from the middle text?)
http://img706.imageshack.us/img706/7391/pokedexquestion.png

KitsuneKouta
April 20th, 2010, 11:18 PM
So, are you saying that I just have to use animtion editor when I just want to edit the movement of pokemons?

also, for growl sound effect, wat do I have to do to put the crying sound of using pokemon? cuz u kno, when pokemon use growl, their cry sound should be played.

and for the moves that has two different steps like solar beam or leech seed, wat do I have to name the animation?

and for some moves that requires hero side attack , and enemy side attack
do I just have to name it like.. Hyper Beam Hero , and Hyper Beam Enemy ?

Thank you
First question: Yeah, more or less. I'm not entirely familiar with it, and I think there's more handy features, so you may prefer using it if you get used to it (the interface is somewhat awkward though).

Second question: I'm not sure about that yet, I'll have to look into it. I think that question was asked several (10 or more probably) pages back.

Third question: Leech seed should already be there, it comes with the kit. Solarbeam probably follows the same conventions (i.e. Solarbeam Hero, Solarbeam Enemy, Solarbeam Turn Hero). Try it and tell me if it works.

Fourth question: I'm 90% sure that's the case. What you could do is make a random animation effect with that name, then try that move in battle to see if it's right. To see if it works for the enemy, you'll probably have to make a trainer battle and give the opponent's pokemon the moves you're testing (it can be done in the editor).

Vociferocity
April 20th, 2010, 11:39 PM
Both of those still have the same problem. I think I'll try to write a separate daycare script, since the problem with the original is elusive.

@Vociferocity: This may work as an alternative:

awesome, that totally works! I'll have to play around with it a little, but at least I get how that works now :D

also oh wow, you're really going to try to write a separate one? dude, you're like my hero right now, seriously.

Wichu
April 21st, 2010, 12:51 AM
getting away from the daycare thing for a minute, does anyone know how to use a variable inside a pbConfirmMessage?

for instance, I tried using

Kernel.pbConfirmMessage(_INTL("You want to leave \v[3]?"))

but that just displays "You want to leave [3]?". I tried keeping the \v[3] bit out of ""s, by going ("You want to leave "\v[3]"?")), but that gave me a syntax error.

I guess the whole \v[n] thing can only be used in events. any ideas about how to do this? it's just supposed to be a quick confirmation of which pokemon you're depositing/withdrawing, and the rest of the code works fine, it's just this bit that's awful and fail.
The _INTL method allows you to insert variables inside the translated string. For example:
Kernel.pbConfirmMessage(_INTL("You want to leave {1}?",$game_variables[3]))

KitsuneKouta
April 21st, 2010, 05:48 AM
The _INTL method allows you to insert variables inside the translated string. For example:
Kernel.pbConfirmMessage(_INTL("You want to leave {1}?",$game_variables[3]))
Awesome, I'll keep that in mind.

@Vociferocity: It will be similar to the original (no use in reinventing the wheel), but all breeding related things will be removed, and a different approach will be taken for the array.

Cilerba
April 21st, 2010, 05:59 AM
How do I change the color for the message box? I already have the HGSS Windowskin, I just need the HGSS Colored Text >.<

Blargatory
April 21st, 2010, 08:51 AM
Ok I've added the items and moves and such for shadow pokemon when it says go to the trainer and then the pokemon in the editor to set it to true for them I can not find this option what so ever in there. Can anyways help me with this also I was wanting to know how to make wild shadow pokemon appear for an area is there a switch system i can use or something?

lezebulon
April 21st, 2010, 09:25 AM
Hi
Can someone tell me how does the day/night effect work basically?
Is it just based on the time of day and just looks for a certain tint value in a table or is it much more complicated? Because I think it's based on the season / time of year too

thepsynergist
April 21st, 2010, 09:44 AM
Hi
Can someone tell me how does the day/night effect work basically?
Is it just based on the time of day and just looks for a certain tint value in a table or is it much more complicated? Because I think it's based on the season / time of year too

If you are a Fable fan, then you might be familiar with Peter Molynoux. He is famous for putting a lot of effort into something that most players of his games, won't noticed. Back on topic, it seems as though the Day and Night system, is ridiculous... From what I got in the script, it connects to the internet if available, and checks your ip address and returns, in game where you are in the world, and shows if its dark or light, or what season it is, but I think if you are not connected to the internet, it defaults to your system clock, because if you change it, it reflects within the game. So, in my opinion, the Day and Night system is like a Peter Molynoux script.

Vociferocity
April 21st, 2010, 03:59 PM
@Vociferocity: It will be similar to the original (no use in reinventing the wheel), but all breeding related things will be removed, and a different approach will be taken for the array.

yeah, s'cool, that makes sense. still, that is so cool of you to do it :D

If you are a Fable fan, then you might be familiar with Peter Molynoux. He is famous for putting a lot of effort into something that most players of his games, won't noticed. So, in my opinion, the Day and Night system is like a Peter Molynoux script.

....that is the most surreal post lmfao forever

Maruno
April 21st, 2010, 04:53 PM
New Question: In what section of PokemonPokedex can I change the base colour and shadow colour of the text circled in red? I know where to change it for the Pokedex Entry but that isn't what I want changed (well actually I do, but I already did that). Oh and also the bottom left text as well (is it separate from the middle text?)
http://img706.imageshack.us/img706/7391/pokedexquestion.png
Firstly, your "circle of red" really doesn't stand out at all. Next time, throw a few arrows in there that are obviously not part of the picture.

At the very top of PokemonPokedex is the class "Window_Pokedex". At the end of this (around line 36) is the following line:

pbDrawShadowText(self.contents,rect.x,rect.y,rect.width,rect.height,text,
self.baseColor,self.shadowColor)Change each of the two parts in red to "Color.new(255,255,255)", or whatever colour you want the base and shadow to be.

As for the "seen/own" but of text, search PokemonPokedex for this line:

@sprites["infowindow"]=Window_UnformattedTextPokemon.newWithSize("",0,160,160,160,@viewport)Just below it, add the following lines:

@sprites["infowindow"].baseColor=Color.new(255,255,255)
@sprites["infowindow"].shadowColor=Color.new(255,255,255)Again, change the numbers in red to whatever you want.

odinel
April 21st, 2010, 05:46 PM
does anyone have evolution problem?

I tried to evolve one random pokemon by giving rare candy

but it soon crushed during evolution

does anyone have same thing happening and knows how to solve it????

maaddogg
April 21st, 2010, 06:51 PM
how would i change the resolution of the game window like the options in the options script does??

taimao
April 21st, 2010, 07:59 PM
does anyone have evolution problem?

I tried to evolve one random pokemon by giving rare candy

but it soon crushed during evolution

does anyone have same thing happening and knows how to solve it????
You have to be more specific about your problem. How old is the version of essentials that you are using? What error message popped up? Which pokemon were you trying to evolve?

poccil
April 21st, 2010, 08:37 PM
I've just made a function which I believe may be useful
to anyone implementing a Pokemon game. Here's the code.


def pbGetCDID()
sendString=proc{|x|
mciSendString=Win32API.new('winmm','mciSendString','%w(p,p,l,l)','l')
next "" if !mciSendString
buffer="\0"*2000
x=mciSendString.call(x,buffer,2000,0)
if x==0
next buffer.gsub(/\0/,"")
else
next ""
end
}
sendString.call("open cdaudio shareable")
ret=""
if sendString.call("status cdaudio media present")=="true"
ret=sendString.call("info cdaudio identity")
if ret==""
ret=sendString.call("info cdaudio info identity")
end
end
sendString.call("close cdaudio")
return ret
end

pbGetCDID() - Returns a unique identifier for the compact disc present in the computer's CD drive.
If you know the ID for a certain CD, you can check the player's CD for that ID either to add additional features
or to block access to the game.

thepsynergist
April 21st, 2010, 09:24 PM
With this, would it be only possible to run the game off of a CD/DVD?

odinel
April 22nd, 2010, 02:52 AM
You have to be more specific about your problem. How old is the version of essentials that you are using? What error message popped up? Which pokemon were you trying to evolve?

I have the newest version

its not a RMXP error

it just crushes like how normal program crushes

it happens for all of the evolutions

KitsuneKouta
April 22nd, 2010, 05:41 AM
With the new daycare thing I'm making, I found that the $PokemonGlobal.daycare works perfectly, but a new global variable in the exact same format with a different name does not. It is defined in PokemonMap, and has the attr_accessor, as well as the @raiser=[[nil,0],[nil,0]]. However, if I use $PokemonGlobal.raiser, I get an error. Also, it doesn't allow the use of the for i in 0...2 arrays, whereas $PokemonGlobal.daycare does. Any ideas?

Kaylee Krysteenah Fynch
April 22nd, 2010, 08:11 AM
Hi, I'm trying to insert a new weather. Quite happily, I was able to get it working, seemingly without any hitches, in battle.

Unfortunately, though, the page that deals with how weather is displayed on the overworld (sandstorm bitmaps, rain etc) has so much math and so few real words that I can't seem to make heads or tails of it.

In particular, I'm confused by the referencing of a fifth weather:
case @type
when 0
@viewport.tone.set(0,0,0,0)
when 1
@viewport.tone.set(-@max*3/4,-@max*3/4,-@max*3/4,10)
when 2
@viewport.tone.set(-@max*6/4,-@max*6/4,-@max*6/4,20)
when 3
@viewport.tone.set(@max*3/4,@max*3/4,@max*3/4,0)
when 4
@viewport.tone.set(@max*2/4,0,-@max*2/4,0)
when 5
unless @sun==@max || @sun==-@max
@sun=@max
end
if @sunvalue>@max
@sun=-@sun
end
if @sunvalue<0
@sun=-@sun
end
@sunvalue=@sunvalue+@sun/32
@viewport.tone.set(@sunvalue+63,@sunvalue+63,@sunvalue/2+31,0)
end


But since everywhere else there are only 4 (plus normal weather, of course, which is 0), mine should be five, and I'm not sure how to deal with this.

I don't know how to create graphics for my chosen weather, either, but I figure that's a problem for another day... DX

Delusions of Originality
April 22nd, 2010, 12:23 PM
I'd like to be able to use the Battle Factory poccil added to the kit a little while ago for a very simple project, but it doesn't work. I imagine most people around here don't use the Frontier-type functionality too often (that's the impression I get, anyway, and I seem to be the first one to point out these errors) so I'm not sure if anyone will be able to help fix it off the bat... but maybe one of you more experienced scripters will at least know where I'm actually supposed to look to fix the problems myself, because as it stands now I can't even figure that out. :/

All right, time to paint a picture. I started with a clean, unedited copy of the latest version of Essentials (April 12th). I can playtest it/run the Game.exe and access the Battle Factory through that "Where would you like to go?" computer. I can speak to either attendant at the desks and get as far as confirming that I'd like to make a challenge. The game then gives me the option to "not generate teams" (run off of the default bttrainers and btpokemon files, I think), "generate existing teams" (pull from bttrainers or from any of the other files in trainerlists, like pikacup or fancycup), or "generate new teams" (which, if I'm understanding this correctly, uses the PokemonOrgBattleGenerator script to generate a selection of pokémon/moves completely at random). If I select "generate new teams", it tells me that the process will take a long time; if I confirm it, it starts to run the script, but then it throws this error:


Exception: RuntimeError
Message: Script error within event 2, map 32 (Battle Factory):
Exception: NoMethodError
Message: Section138:185undefined method `map_ID' for #<Game_Map:0x3ec3010>
***Full script:
pbBattleChallenge.set("towersingleopen",7,
pbBattleFactoryRules(false,true))

Interpreter:239:in `pbExecuteScript'
PokemonMultipleForms:183:in `call'
PokemonMultipleForms:79:in `call'
PokemonMultipleForms:39:in `initialize'
PokemonOrgBattle:196:in `new'
PokemonOrgBattle:196:in `createPokemon'
PokemonOrgBattleGenerator:612:in `pbRandomPokemonFromRule'
PokemonOrgBattleGenerator:1270:in `pbReplenishBattlePokemon'
PokemonOrgBattleGenerator:1334:in `pbGenerateChallenge'
PokemonOrgBattleGenerator:1306:in `times'

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'

I tried glancing at the scripts and lines in question and, unfortunately, couldn't make heads or tails of most of it or figure out what was wrong. I did notice that the code around line 183 in PokemonMultipleForms is where it starts defining the script for east/west shellos and gastrodon, and figured out that that one complaint, at the very least, was because there was no map data or similar defined for those pokémon's alternate forms and the generator didn't know what to do. That's probably an easy enough fix, even easier for me since I don't need shellos, gastrodon or any multiple-form pokémon at all at this point, so I commented that out and tried again. That got rid of all the complaints about PokemonMultipleForms, but then came up with this new error:


Exception: RuntimeError
Message: Script error within event 2, map 32 (Battle Factory):
Exception: Errno::EINVAL
Message: Section123:1307:in `save_data'Invalid argument - towersingleope
n.rxdata
***Full script:
pbBattleChallenge.set("towersingleope
n",7,
pbBattleFactoryRules(false,true))

Interpreter:239:in `pbExecuteScript'
PokemonOrgBattleGenerator:1307:in `pbGenerateChallenge'
PokemonOrgBattleGenerator:1306:in `times'
PokemonOrgBattleGenerator:1306:in `pbGenerateChallenge'
PokemonOrgBattleGenerator:1452:in `pbWriteCup'
PokemonOrgBattle:489:in `set'
(eval):1:in `pbExecuteScript'
Interpreter:1583:in `eval'
Interpreter:239:in `pbExecuteScript'
Interpreter:1583:in `command_355'

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'

I can see that it's still having other issues with the PokemonOrgBattleGenerator script, in addition to the towersingleopen.rxdata file, but I'm not sure what those issues are or how to fix them. Everything looks like it's in working order according to my untrained eyes, though it's possible that I'm missing something.

Now, having the ability to generate brand new, random teams would be fun, but I don't need it for my projects; all I need is the standard list of pokémon and trainers, and I can work with the other files (pikacuptr.txt, etc.) as well. So if no one knows how to fix that then it's no big deal. Unfortunately, though, the part of the factory that I *do* need is broken as well. If I tell the attendant that I don't want to generate any teams, or if I tell him to "generate from existing" and select one of the whatevercuptr files, it lets me save the game and follow him into the next room; it then throws another runtime error before it lets the game take my team and start the swap script.


Exception: RuntimeError
Message: Script error within event 1, map 30 (Battle Factory):
Exception: NoMethodError
Message: (eval):1:in `pbExecuteScript'undefined method `pbPrepareRentals' for nil:NilClass
***Full script:
pbBattleChallenge.extra.pbPrepareRentals

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'

I'm afraid I have absolutely no idea what's going on there, as I don't *think* there's anything wrong with the pbPrepareRentals section of code (line 737 in PokemonOrgBattle, iirc) it's complaining about.

And now for what's probably the biggest problem of all. I experimented with a few of the other Frontier-type facilities after being thoroughly stumped by these errors. I don't actually need any of the others, but I thought I might see whether or not they worked out of curiosity. I figured they would be okay--the second most recent version of Essentials that I have has a functioning Battle Tower, though that was the September 5th '09 release so much has obviously been changed. Anyway, as long as I don't select the "generate new teams" option, I can actually start a challenge in both the Battle Tower and the Battle Arena. I can select an attack and have my pokémon use it... and then it's my turn again. :/ If I don't knock the opponent out with my attack, it will just do nothing and immediately jump to my turn. If the opponent faints, the other trainer will not send out a new pokémon and it's still my turn; I can select an attack, but obviously it says that there's no target and accomplishes absolutely nothing before going back to my turn again. The opponent is completely unable to make a move, leaving me with no choices but a) forfeit, b) attack empty air until I run out of PP and am forced to struggle (I have no idea what would happen then, and I don't feel like sticking around to find out), or c) close the game outright*. There's no error message and no crash; the game just hums happily along while skipping the opponent's turn and leaving me stuck.

So I tried battling a normal, non-facility trainer on one of the test maps to see if something similar happened. It didn't, of course; the battles progressed as normal and my opponent's turn was never skipped. (And since regular trainer battles are a part of the kit that people actually use, I'm sure someone would've said something before now if that was broken.)

What this means, as far as I can tell, is that the way normal trainer battles and "facility" trainer battles are handled is different. Whatever Essentials is using to make Frontier facility turn order work properly is fine and dandy as of September 5th of last year, but sometime between then and the April 12th release it was broken by some change or other. I've tried scouring the changelogs but so far haven't had any luck, especially since I can't quite tell which parts of which scripts are responsible for turn order and the like in the first place. It may very well be an easy fix--maybe all that needs to be done is copying and pasting something from whatever handles normal battles over to whatever handles Frontier battles--but I don't know what I'm looking for so that I can try that. :/

I realize that that's rather a lot to look through, but if you have any time to help out or point me in the right direction, even if it's just for one part of one problem, I'd really appreciate it. Thanks in advance.

*Interestingly, this causes yet another problem--if I close the window without exiting the facility properly and then restart, the game erases all the pokémon in my party save for those I actually entered into the challenge. I haven't looked into why this happens yet, though I suspect it has to do with the game not saving them into the appropriate variable properly. I'm not terribly concerned about this at the moment--worst comes to worst I can just warn people "don't close the game without saving properly", and the project I'm working on won't involve any of the standard training/catching/leveling anyway so it's no great loss--but it seems like a rather nasty problem for someone who might be playing a game with a team they've actually spent time raising, etc..

taimao
April 22nd, 2010, 01:10 PM
I have the newest version

its not a RMXP error

it just crushes like how normal program crushes

it happens for all of the evolutions
Sorry, I have never had mine crash like that without throwing an error. Maybe somebody else has.

Maruno
April 22nd, 2010, 01:43 PM
Hi, I'm trying to insert a new weather. Quite happily, I was able to get it working, seemingly without any hitches, in battle.

Unfortunately, though, the page that deals with how weather is displayed on the overworld (sandstorm bitmaps, rain etc) has so much math and so few real words that I can't seem to make heads or tails of it.

In particular, I'm confused by the referencing of a fifth weather:
case @type
when 0
@viewport.tone.set(0,0,0,0)
when 1
@viewport.tone.set(-@max*3/4,-@max*3/4,-@max*3/4,10)
when 2
@viewport.tone.set(-@max*6/4,-@max*6/4,-@max*6/4,20)
when 3
@viewport.tone.set(@max*3/4,@max*3/4,@max*3/4,0)
when 4
@viewport.tone.set(@max*2/4,0,-@max*2/4,0)
when 5
unless @sun==@max || @sun==-@max
@sun=@max
end
if @sunvalue>@max
@sun=-@sun
end
if @sunvalue<0
@sun=-@sun
end
@sunvalue=@sunvalue+@sun/32
@viewport.tone.set(@sunvalue+63,@sunvalue+63,@sunvalue/2+31,0)
end


But since everywhere else there are only 4 (plus normal weather, of course, which is 0), mine should be five, and I'm not sure how to deal with this.

I don't know how to create graphics for my chosen weather, either, but I figure that's a problem for another day... DX
That fifth weather is "Sunny" (http://upokecenter.com/projects/pokestarter/advanced.html#pokemonweather) (as you'll see in Pokémon Ruby when Groudon is messing with the weather). Basically, the outside maps get brighter (even at night) and glow in a pulsating manner. It also means sunny weather is in effect during battles.

All the maths in that clause is because the brightness is changing, whereas in all the other weathers the brightness is a constant (albeit different to when there's no weather). I wouldn't worry about it if I were you.

Just make your new weather "overworld weather number 6".


A lot of stuff.
The first error is caused by the capitalised "ID" in PokemonMultipleForms line 185. It should be lower case. It shouldn't matter that you haven't defined any map IDs yet.

The second error is that, in the event you're using that sets up the Battle Tower whatever it is, the line including "towersingleopen" is stretched over two lines because it's too long to fit on one line. Use extendtext.exe.

I'm not sure about the third error (because I don't know how the Tower scripts work), but I think it's because of "pbBattleChallenge.extra.pbPrepareRentals". Delete the red part and try that.

As for the battling problem, again, I don't know how the Tower scripts work. I can't help you here.

Worldslayer608
April 22nd, 2010, 02:32 PM
How can I slow the movement speed of the player? It seems to move pretty fast when walking around in my game.

Blargatory
April 22nd, 2010, 02:46 PM
Can anyone show me how to set for a specfic pokeball to work on catching a trainers pokemon and the same ball work better on catching a specfic type of pokemon. like the nest ball and dusk ball do. Just this I want to use on a new type of pokemon?

dannydmf
April 22nd, 2010, 02:50 PM
I need help on something that I can't find the answer to anywhere! The Townmapgen.HTML won't work for me! I have Vista and the page automatically opens up to Internet Explorer. (These things are common but I thought I might as well list them.) I can click on anything on the map, but nothing hapens! It just refuses to work, can anybody help me with this?

Delusions of Originality
April 22nd, 2010, 02:52 PM
The first error is caused by the capitalised "ID" in PokemonMultipleForms line 185. It should be lower case. It shouldn't matter that you haven't defined any map IDs yet.

The second error is that, in the event you're using that sets up the Battle Tower whatever it is, the line including "towersingleopen" is stretched over two lines because it's too long to fit on one line. Use extendtext.exe.

I'm not sure about the third error (because I don't know how the Tower scripts work), but I think it's because of "pbBattleChallenge.extra.pbPrepareRentals". Delete the red part and try that.

As for the battling problem, again, I don't know how the Tower scripts work. I can't help you here.



Hm... well, I've gone and changed the case of the map_id in the event that I need it later; thanks for that. I tried extendtext.exe to fix the second problem, but it doesn't seem to work for me. It doesn't look like it's done anything, anyway, and I'm still getting the error when I playtest. I think that may be because I'm running this on Ubuntu, though, and while I might have gotten RMXP and the Game.exe files to work, it may not be playing nice with extendtext. I'll see about trying it on Windows at some point, though it would be nice if I didn't have to switch back and forth between the two OS's just to work on the one project. :/ Has anyone out there had success with extendtext.exe on a Linux system?

There is nothing called pbBattleChallenge.extra.pbPrepareRentals, unfortunately, at least not one that I can find; I'd searched for it before. I think the program may be putting that together dynamically (if that's how it works :B) but I can't find any of what would make it up aside from pbPrepareRentals and pbBattleChallenge. I don't know where it's getting the .extra. in the middle from.

@dannydmf: What do you mean, "nothing happens"? I know in mine there's a slight error where it's looking for the wrong file (map.png as opposed to Map.png, which is the image's actual name, but that's trivial to deal with), but other than that it seems to work fine. Are you not able to fill in the fields below the map image when you click on a point you want to edit?

dannydmf
April 22nd, 2010, 03:15 PM
@Delusions of Originality
Yes, that's exactly what I mean. I can click at any point in the map and nothing will happen. I can't do anything to fill in the "Current Position" box and I can't really make a map, I seriously don't know whats wrong..

Delusions of Originality
April 22nd, 2010, 03:30 PM
That's odd. It works fine for me. Have you disabled JavaScript in your browser?

dannydmf
April 22nd, 2010, 03:54 PM
No, I haven't disabled JavaScript, why? Should I disable JavaScript?

Delusions of Originality
April 22nd, 2010, 04:05 PM
No, but having it disabled is the only thing I can think of off the top of my head that would stop it from working completely. I don't really know what to tell you, then. :/

KitsuneKouta
April 22nd, 2010, 04:39 PM
No, but having it disabled is the only thing I can think of off the top of my head that would stop it from working completely. I don't really know what to tell you, then. :/
I was digging through the notes on shiny pokemon, and it says that a switch must be defined, etc., but the example is for an evented wild battle, not a random encounter. Are there shiny pokemon in random encounters?

EDIT: Nevermind, sorry for the dumb question, the notes weren't very clear on the subject.

Delusions of Originality
April 22nd, 2010, 04:47 PM
I'm not sure we're talking about the same thing. He's asking about the town map, not anything pertaining to encounters. Or did you mean to quote someone else?

KitsuneKouta
April 22nd, 2010, 04:56 PM
I'm not sure we're talking about the same thing. He's asking about the town map, not anything pertaining to encounters. Or did you mean to quote someone else?
Sorry, I hit the wrong button. Anyways, the townmapgen thing was difficult for me to figure out at first too. If you don't do everything exactly right, then it usually won't work right. Does anyone know of any tutorials for the townmapgen? If not, someone should make one.

Also, back to the shiny thing, can someone give me an explanation of the isShiny? method? I noticed that if I mess with it to simplify it, by generating a random number and checking its value, It will randomly make the pokemon in my party shiny too (by random, I mean some of them are shiny one minute, then normal the next).

SpawnHyuuga
April 22nd, 2010, 05:05 PM
Well I'll see if I can do it, and then I'll put it on the Essentials Wiki by Maruno. ^^

On the downside, I have to restart my project because my flash drive has gone missing! Darn you for being so small with no way to find you when your lost!

KitsuneKouta
April 22nd, 2010, 05:19 PM
Well I'll see if I can do it, and then I'll put it on the Essentials Wiki by Maruno. ^^

On the downside, I have to restart my project because my flash drive has gone missing! Darn you for being so small with no way to find you when your lost!
That should be helpful for a lot of people, especially beginners. Also, I know how annoying it is to lose stuff like that, but there's a saying that "Good stories are written, but great stories are re-written." I know that my first attempt at a game was awful, but trashing the entire project I originally had helped me start in a better direction.

Maruno
April 22nd, 2010, 05:48 PM
How can I slow the movement speed of the player? It seems to move pretty fast when walking around in my game.
Towards the bottom of Walk_Run are a few lines that change "@move_speed" depending on what the player is doing (cycling/running/walking). The associated speeds are 5.2, 4.8 and 3.8 respectively. Bigger numbers mean a faster speed. Fiddle with them as necessary.

Ignore the 8/6.5/4.5 numbers - they're for use if you're using RPG Maker VX, which you won't be.

Can anyone show me how to set for a specfic pokeball to work on catching a trainers pokemon and the same ball work better on catching a specfic type of pokemon. like the nest ball and dusk ball do. Just this I want to use on a new type of pokemon?
PokeBattle_Battle, in pbThrowPokeBall. Everything relevant is in here.

As I understand it, this question is in two parts. Firstly, you want a particular Ball to be able to capture enemy trainers' Pokémon (i.e. a Snag Ball, which is easy to make). Secondly, you want to change the catch rate of the target Pokémon depending on whatever - calculations that affect the catch rate can be found slightly lower down (look for "NETBALL" or "GREATBALL" and see what they do).

I'm not sure what you mean by wanting to use it on a "new type of Pokémon", but if it's an arbitrary list of Pokémon that are affected (e.g. legendaries - there's nothing special about them as far as the code is concerned), then you can simply make an array containing the names of those Pokémon and check whether the target Pokémon is any of those species; if yes, change the catch rate.


Hm... well, I've gone and changed the case of the map_id in the event that I need it later; thanks for that. I tried extendtext.exe to fix the second problem, but it doesn't seem to work for me. It doesn't look like it's done anything, anyway, and I'm still getting the error when I playtest. I think that may be because I'm running this on Ubuntu, though, and while I might have gotten RMXP and the Game.exe files to work, it may not be playing nice with extendtext. I'll see about trying it on Windows at some point, though it would be nice if I didn't have to switch back and forth between the two OS's just to work on the one project. :/ Has anyone out there had success with extendtext.exe on a Linux system?
Try this rearrangement:

pbBattleChallenge.set(
"towersingleopen",7,
pbBattleFactoryRules(false,true))This way no attribute is straddling two lines. This is important, because lines of script don't "wrap around" in the script box of events - each line is treated as a separate line exactly how it appears, and the game can't figure out what pbBattleChallenge.set("towersingleope means.


Also, back to the shiny thing, can someone give me an explanation of the isShiny? method? I noticed that if I mess with it to simplify it, by generating a random number and checking its value, It will randomly make the pokemon in my party shiny too (by random, I mean some of them are shiny one minute, then normal the next).
The def isShiny? takes two numbers: the Pokémon's personal ID number (a long string of random numbers created when the Pokémon was, and which determines gender/nature/shininess/Unown letter/which ability it has, along with probably a couple of other things) and the original trainer's ID number (otherwise known as OT ID, this is a big random number associated with the player - the 5 digit number on your Trainer Card is part of this OT ID).

It then performs a few calculations with these two numbers (which never change for that Pokémon), which happens to yield a simple number between 0 and 65536. If this number is less than 8, the def returns true (i.e. it is shiny), and false otherwise (i.e. it's not shiny).

This def does not change the Pokémon's shininess, nor does it introduce any random number itself. The two numbers it uses are always fixed for any given Pokémon, and thus the calculation always returns the same result (i.e. a shiny Pokémon is always shiny, and a non-shiny is always non-shiny).

What you did in your "simplification" was to introduce a random number into this calculation. This random number changes every time the shininess is checked (which is NOT the same as "every time a Pokémon is made shiny or not"), and therefore shininess becomes purely random and changes from one moment to the next for a Pokémon.

Basically, don't mess with it. There's no need to simplify it - if you want to change how common shiny Pokémon are, simply change that "8" to another number (that number divided by 65535 are the odds of finding a shiny Pokémon - the default 8/65535 = 0.012%).

Delusions of Originality
April 22nd, 2010, 06:17 PM
Try this rearrangement:

pbBattleChallenge.set(
"towersingleopen",7,
pbBattleFactoryRules(false,true))This way no attribute is straddling two lines. This is important, because lines of script don't "wrap around" in the script box of events - each line is treated as a separate line exactly how it appears, and the game can't figure out what pbBattleChallenge.set("towersingleope means.

Ah, thank you, that did the trick. (It still doesn't work because "the script is taking too long", and even if it got that far it'd probably hang up on whatever is wrong with the swap script, but no more runtime error message.) I was going to see if there was some way I could shorten the name of what it was referencing but realized that that wasn't enough to keep the line from wrapping; that way makes more sense. I'll keep it in mind if anything else does that, at least until I can get extendtext to work.

Blargatory
April 22nd, 2010, 06:29 PM
@ Maruno thank you thats exactly what i needed to know.

KitsuneKouta
April 22nd, 2010, 06:36 PM
@Maruno: Thanks, it makes more sense now (you seem to get that a lot). When I was "simplifying" it, I was going to use different calculations (scrapping the original code), but now I see why that didn't work. Also, I found that using a high number causes problems in the (d<8). For instance, if you use (d<20000), it will make some or all of your pokemon shiny. However, something like (d<5000) didn't cause any noticeable problems when I tested it. I think someone said there was a limit to how high it was supposed to go, but I don't remember what it was.

thepsynergist
April 22nd, 2010, 10:24 PM
That should be helpful for a lot of people, especially beginners. Also, I know how annoying it is to lose stuff like that, but there's a saying that "Good stories are written, but great stories are re-written." I know that my first attempt at a game was awful, but trashing the entire project I originally had helped me start in a better direction.

About six months ago, my portable hard drive with my Pokemon game on it got stolen, I didn't have a back up... But, I'm farther than I was since it was stolen by a lot, so yeah rewriting the game helped me make it better than it was.

Maruno
April 23rd, 2010, 06:19 AM
@Maruno: Thanks, it makes more sense now (you seem to get that a lot). When I was "simplifying" it, I was going to use different calculations (scrapping the original code), but now I see why that didn't work. Also, I found that using a high number causes problems in the (d<8). For instance, if you use (d<20000), it will make some or all of your pokemon shiny. However, something like (d<5000) didn't cause any noticeable problems when I tested it. I think someone said there was a limit to how high it was supposed to go, but I don't remember what it was.
I'm not sure what your problem is. Setting "d<20000" means about a third of all Pokémon in the game will be shiny, which is what you describe.

You may be confused because, when you change this number, some Pokémon that previously weren't shiny in your test game now are. That's because you're changing the game, which is something that the players won't do. They'll be playing with the final number you set for "d" from the start. Just pick a number (between 0 and 65535), and that's it. There's no problem there.

Gorbeh
April 23rd, 2010, 08:07 AM
Can anyone show me how to set for a specfic pokeball to work on catching a trainers pokemon and the same ball work better on catching a specfic type of pokemon. like the nest ball and dusk ball do. Just this I want to use on a new type of pokemon?
I'd help now but I have an exam in 8 minutes. I can help after that, it's not that difficult.

I need help on something that I can't find the answer to anywhere! The Townmapgen.HTML won't work for me! I have Vista and the page automatically opens up to Internet Explorer. (These things are common but I thought I might as well list them.) I can click on anything on the map, but nothing hapens! It just refuses to work, can anybody help me with this?
Just open the map from the Pokegear in debug mode and you can input map points from the game. Much easier than using the town map gen.

KitsuneKouta
April 23rd, 2010, 10:27 AM
I'm not sure what your problem is. Setting "d<20000" means about a third of all Pokémon in the game will be shiny, which is what you describe.

You may be confused because, when you change this number, some Pokémon that previously weren't shiny in your test game now are. That's because you're changing the game, which is something that the players won't do. They'll be playing with the final number you set for "d" from the start. Just pick a number (between 0 and 65535), and that's it. There's no problem there.
I see, but I don't really understand WHY it changes your pokemon. It doesn't really matter though. On to my real topic: I found that the problem with the daycare thing had something to do with my kit (I've had a myriad problems with it, so I'm going to upgrade). However, there is one error. I can store multiple pokemon with no problem now, but when I withdraw I get:
---------------------------
Pokemon Essentials
---------------------------
Exception: RuntimeError

Message: Script error within event 3, map 3 (Daycare):

Exception: NoMethodError

Message: Section105:125:in `pbDayCareChoose'undefined method `gender' for nil:NilClass

***Full script:

pbDayCareChoose(
_I("Which one will you take?"),1)


Interpreter:239:in `pbExecuteScript'

PokemonDayCare:123:in `each'

PokemonDayCare:123:in `pbDayCareChoose'

(eval):2: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: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'
The error occurs when it checks the gender to display it properly in the list of pokemon you have stored. If the gender check is removed, then the name is undefined. Basically, it appears that the 3rd pokemon deposited isn't stored in the daycare array. The appropriate "for i in 0...2" entries have all been changed to 10, but the problem should limited to where it is stored under pbDayCareDeposit, but it could also be under pbDayCareGetDeposited.

Kaylee Krysteenah Fynch
April 23rd, 2010, 11:42 AM
That fifth weather is "Sunny" (http://upokecenter.com/projects/pokestarter/advanced.html#pokemonweather) (as you'll see in Pokémon Ruby when Groudon is messing with the weather). Basically, the outside maps get brighter (even at night) and glow in a pulsating manner. It also means sunny weather is in effect during battles.

All the maths in that clause is because the brightness is changing, whereas in all the other weathers the brightness is a constant (albeit different to when there's no weather). I wouldn't worry about it if I were you.

Just make your new weather "overworld weather number 6".

I thought that might be it, but I find it odd, because in PBWeather, "SUNNYDAY" - or sunny weather - is weather number 1. Does this mean there's a difference between overworld weather number and the in-battle number for the weather? Also, what does weather 1 in PokemonWeather do, if it's not Sun (to match PBWeather's SUNNYDAY)?

Thanks for the help, by the way. I still need to understand how the overworld Weather and the battle weather work together to get anything done, but at least you've unraveled the tangle a bit for me.

Maruno
April 23rd, 2010, 01:22 PM
I thought that might be it, but I find it odd, because in PBWeather, "SUNNYDAY" - or sunny weather - is weather number 1. Does this mean there's a difference between overworld weather number and the in-battle number for the weather? Also, what does weather 1 in PokemonWeather do, if it's not Sun (to match PBWeather's SUNNYDAY)?

Thanks for the help, by the way. I still need to understand how the overworld Weather and the battle weather work together to get anything done, but at least you've unraveled the tangle a bit for me.
PBWeather is in-battle weather only. PokemonWeather is overworld weather only. There's a difference.

PokemonWeather:


0 = normal
1 = rain
2 = storm
3 = snow
4 = sandstorm
5 = very sunny

PBWeather:


1 = Sunny Day
2 = Rain Dance
3 = Sandstorm
4 = Hail

The transfer between the two is in PokemonField, pbPrepareBattle. Note that the numbers for in-battle-only weather are never used (at least, nowhere you should care about); it's always "PBWeather::SUNNYDAY" or whatever. The overworld weather is always referred to as "$game_screen.weather_type==5".

Kaylee Krysteenah Fynch
April 23rd, 2010, 02:34 PM
PBWeather is in-battle weather only. PokemonWeather is overworld weather only. There's a difference.

PokemonWeather:


0 = normal
1 = rain
2 = storm
3 = snow
4 = sandstorm
5 = very sunny

PBWeather:


1 = Sunny Day
2 = Rain Dance
3 = Sandstorm
4 = Hail

The transfer between the two is in PokemonField, pbPrepareBattle. Note that the numbers for in-battle-only weather are never used (at least, nowhere you should care about); it's always "PBWeather::SUNNYDAY" or whatever. The overworld weather is always referred to as "$game_screen.weather_type==5".

Okay, thanks. That should help a lot. I'll go see what I can do with it, and hopefully make some headway. :D

EDIT: Okay, after nearly making my head implode (over lots of stupid little things that should have been easy, no less!), I finally got it running without error on my test map. Which is to say, the map loads, and when I get into a wild battle the Poison Mist weather is in effect. So much thanks!

Now I just have to figure out this whole business with @rain_bitmap and etc - where is this "rain bitmap", either as code or as a picture? And then I have to make the overworld animations for the poison mist. Unless it's a scripting thing, in which case I may have to settle for just tinting the screen... DX

Anyway, much thanks again. I could never have gotten this far on my own.

Raikt
April 23rd, 2010, 10:23 PM
Heyo.~

I suppose this is a good place for my first post, seeing as I am now fully involved in my own little projects. I recently downloaded RPG Maker XP to learn how to map for another site, in which I found Pokemon Essentials and started messing around with that. Doing a little, basic mind you, scripting, I found out how to do a few cute things and now I really would like to just make a little "beta" game, I suppose you could say, for my friends to try out. So, question: (I'm sure I'll be back with more. :p )

1. How do I change the starting point for my character and still have him show up in the game, rather than be invisible? I've searched this thread, and read the notes, but they're all pretty unclear about how I make my character visible.

Vociferocity
April 23rd, 2010, 10:31 PM
How do I change the starting point for my character and still have him show up in the game, rather than be invisible? I've searched this thread, and read the notes, but they're all pretty unclear about how I make my character visible.

okay well, um, a little more information about what you're after would be appreciated, but let's have a go at this.

do you have some kind of intro screen/menu system where you pick the gender and name of the character? because the starting point should really be on that map, with a 'transfer player' event that happens after you've decided on your character. you need a 'change transparent flag: transparent' as you call the character with 'pbchangecharacter(whatever)', and then with your 'transfer player' event that dumps the player in the real starting map, make sure you put in a 'change transparent flag:normal' just before it.

if you don't have a info screen/menu system thing in place, and you're strangely adamant about not getting one...then I can't help you at all. I mean I assume the player becomes visible the moment you use the 'pbchangeplayer(whatever)' command, and that's why you have to make them transparent with the info screen (so they don't, y'know, interfere with that)...so I don't really see what the problem is.

Raikt
April 23rd, 2010, 10:55 PM
okay well, um, a little more information about what you're after would be appreciated, but let's have a go at this.

do you have some kind of intro screen/menu system where you pick the gender and name of the character? because the starting point should really be on that map, with a 'transfer player' event that happens after you've decided on your character. you need a 'change transparent flag: transparent' as you call the character with 'pbchangecharacter(whatever)', and then with your 'transfer player' event that dumps the player in the real starting map, make sure you put in a 'change transparent flag:normal' just before it.

if you don't have a info screen/menu system thing in place, and you're strangely adamant about not getting one...then I can't help you at all. I mean I assume the player becomes visible the moment you use the 'pbchangeplayer(whatever)' command, and that's why you have to make them transparent with the info screen (so they don't, y'know, interfere with that)...so I don't really see what the problem is.

Ah, ok. Thanks a lot. I don't have an intro screen, so that would be why. Since I downloaded the program, at first, just to have a secondary mapping program in a game type I love (I also have the Legend of Zelda one), I haven't done much scripting at all. Just making characters talk and move, really.

There should be a guide on how to make an intro screen in the notes/advanced section, correct?

Vociferocity
April 23rd, 2010, 11:19 PM
Ah, ok. Thanks a lot. I don't have an intro screen, so that would be why. Since I downloaded the program, at first, just to have a secondary mapping program in a game type I love (I also have the Legend of Zelda one), I haven't done much scripting at all. Just making characters talk and move, really.

There should be a guide on how to make an intro screen in the notes/advanced section, correct?

yeah, I'm pretty sure there is. but really, you can make it however you like, as long as there's a pbchangeplayer and a pbtrainername in there somewhere, otherwise you either have no player character, or they're just not counted as a trainer.

Raikt
April 24th, 2010, 12:55 AM
yeah, I'm pretty sure there is. but really, you can make it however you like, as long as there's a pbchangeplayer and a pbtrainername in there somewhere, otherwise you either have no player character, or they're just not counted as a trainer.

Thanks a lot. It worked like a charm.

Vociferocity
April 24th, 2010, 01:27 AM
Thanks a lot. It worked like a charm.

no probs, I'm just glad you got it to work :D

Raikt
April 24th, 2010, 01:45 AM
I did, but just the basics. :p

If I want to make it more complex; like, say, add in a Professor talking about Pokemon. Is there a guide for something like that? Or should I just wing it?

Vociferocity
April 24th, 2010, 02:29 AM
I did, but just the basics. :p

If I want to make it more complex; like, say, add in a Professor talking about Pokemon. Is there a guide for something like that? Or should I just wing it?

well the pokemon starter kit has that at the start, so if I were you I'd just check out how it works in that. it should be pretty easy to isolate the important bits and muck around with them in your own game to make it work how you want it to.

Colbex
April 24th, 2010, 03:29 AM
Where, in PokeMonPokeDex, do you control how many species are shown at one time on the dex? I'm playing around with mine, trying to fix it up, but I can't seem to figure out where to go. =x
http://i604.photobucket.com/albums/tt125/SupaTai/capture008-1.jpg
^I want it to only display 6-7 at a time, since that's all the room for it anyway.

carmaniac
April 24th, 2010, 03:45 AM
Where, in PokeMonPokeDex, do you control how many species are shown at one time on the dex? I'm playing around with mine, trying to fix it up, but I can't seem to figure out where to go. =x
http://i604.photobucket.com/albums/tt125/SupaTai/capture008-1.jpg
^I want it to only display 6-7 at a time, since that's all the room for it anyway.
Find the code super(x,y,width,height) and replace it with this:
super(x,60,width,220)

That will get you to display only 6 pokemon at a time. To change the position of where they are displayed change the x,y according to where you want it.

Hope that helps.

Colbex
April 24th, 2010, 03:54 AM
Yea, that's very helpful. lol, I didn't know what that line did so I just left it alone and searched through the entire script. x_X But yea, thanks alot. o.o;

Maruno
April 24th, 2010, 05:45 AM
Okay, thanks. That should help a lot. I'll go see what I can do with it, and hopefully make some headway. :D

EDIT: Okay, after nearly making my head implode (over lots of stupid little things that should have been easy, no less!), I finally got it running without error on my test map. Which is to say, the map loads, and when I get into a wild battle the Poison Mist weather is in effect. So much thanks!

Now I just have to figure out this whole business with @rain_bitmap and etc - where is this "rain bitmap", either as code or as a picture? And then I have to make the overworld animations for the poison mist. Unless it's a scripting thing, in which case I may have to settle for just tinting the screen... DX

Anyway, much thanks again. I could never have gotten this far on my own.
There's no graphic for the overworld weather. It's all done with a lot of "fill_rect"s (all in PokemonWeather).

Since this is the case, it's hard to see how you would have make a mist weather like this (unless you were fine with big rectangular mist clouds). It's still possible to do, though, if you've got a good imagination for it (and can figure out where to put all the rectangles and arrange them to look more natural).

On the other hand, you could simply use a fog (you know, like the ones people use to show cloud shadows drifting across their maps). A purple haze would do, and there'd be no need for any screen tinting or anything.


Since you've been learning a lot about weather, why not write up this knowledge in the wiki? There's a page for weather just waiting to be written. Weather includes overworld weather, in-battle weather conditions, and fogs.

Kaylee Krysteenah Fynch
April 24th, 2010, 06:01 AM
There's no graphic for the overworld weather. It's all done with a lot of "fill_rect"s (all in PokemonWeather).

Since this is the case, it's hard to see how you would have make a mist weather like this (unless you were fine with big rectangular mist clouds). It's still possible to do, though, if you've got a good imagination for it (and can figure out where to put all the rectangles and arrange them to look more natural).

On the other hand, you could simply use a fog (you know, like the ones people use to show cloud shadows drifting across their maps). A purple haze would do, and there'd be no need for any screen tinting or anything.


Since you've been learning a lot about weather, why not write up this knowledge in the wiki? There's a page for weather just waiting to be written. Weather includes overworld weather, in-battle weather conditions, and fogs.

I'd love to, but I've never written a wiki page, and I mostly got this far by trial and error. I wouldn't know how to explain it technically, to be honest. Nor really how to organize it into something that someone else could use... o~O

That said, I've never used fogs before either, and I don't know anywhere to reference to copy/paste (which is a lot of what I do - copy/paste and edit ^^"). I'll go see if I can learn anything, but if you know anything that might help, that would be great. As it is, you've already earned a spot in my credits eventually. :)

Maruno
April 24th, 2010, 06:42 AM
I'd love to, but I've never written a wiki page, and I mostly got this far by trial and error. I wouldn't know how to explain it technically, to be honest. Nor really how to organize it into something that someone else could use... o~O

That said, I've never used fogs before either, and I don't know anywhere to reference to copy/paste (which is a lot of what I do - copy/paste and edit ^^"). I'll go see if I can learn anything, but if you know anything that might help, that would be great. As it is, you've already earned a spot in my credits eventually. :)
Just copy-paste what I've told you (and what there is about weather in the notes), and use the {{stub}} template for the fog section. You don't need to write the whole thing yourself; just start it, and other people will be more inclined to polish it.

For fogs, make an event that will run once when you step on the map, go to the second tab of event commands and find "Change Map Settings..." (top left). The two options below that do exactly what they say on the tin. The fog is tiled, so you don't need a huge fog picture. Easy.

Kaylee Krysteenah Fynch
April 24th, 2010, 07:51 AM
Just copy-paste what I've told you (and what there is about weather in the notes), and use the {{stub}} template for the fog section. You don't need to write the whole thing yourself; just start it, and other people will be more inclined to polish it.

For fogs, make an event that will run once when you step on the map, go to the second tab of event commands and find "Change Map Settings..." (top left). The two options below that do exactly what they say on the tin. The fog is tiled, so you don't need a huge fog picture. Easy.

Thanks for all the help. I've got the fog working at least moderately well, meaning I can map the Wastes anytime I want (when I get the tileset ready). Next goal (after doing this Wiki thing) is to figure out how to make a new tile type for water that poisons you when you surf on it. But since I couldn't get Sunny and Poison weather to be choose-able on the editor, I'm worried I'd have the same problem with the tiles (thus being unable to use it at all).

The notes say almost nothing about weather, by the way (seriously, use "find" on the word weather. Even in advanced topics, the information's not completely correct). To be honest, I couldn't have gotten anywhere with this by reading the notes. So, for the Wiki, I'll have to stick with a (probably unprofessional) rendition of what you told me, as well as (hopefully) a runthrough of where weather effects for battle are, and a quick explanation of how to use fogs. Then later somebody else can sort it into different pages or something, I guess.

Maruno
April 24th, 2010, 08:38 AM
Thanks for all the help. I've got the fog working at least moderately well, meaning I can map the Wastes anytime I want (when I get the tileset ready). Next goal (after doing this Wiki thing) is to figure out how to make a new tile type for water that poisons you when you surf on it. But since I couldn't get Sunny and Poison weather to be choose-able on the editor, I'm worried I'd have the same problem with the tiles (thus being unable to use it at all).

The notes say almost nothing about weather, by the way (seriously, use "find" on the word weather. Even in advanced topics, the information's not completely correct). To be honest, I couldn't have gotten anywhere with this by reading the notes. So, for the Wiki, I'll have to stick with a (probably unprofessional) rendition of what you told me, as well as (hopefully) a runthrough of where weather effects for battle are, and a quick explanation of how to use fogs. Then later somebody else can sort it into different pages or something, I guess.
Weather effects in battle should all be in PokeBattle_ActualScene, in lots of places therein (always called "PBWeather::whatever"). It's quite messy.

To add the overworld weathers "Sunny" and "PoisonMist", go into PokemonMap and search for "Sandstorm". Modify that line as follows:

"Weather"=>[7,"eu",["","Rain","Storm","Snow","Sandstorm","Sunny","PoisonMist"]],"Sunny" was left out for no reason whatsoever, and "PoisonMist" is what you've added (as overworld weather number 6, which I'm sure is what you've set it as). Now you can set a map's weather in metadata.txt to be Sunny or Poison Mist, just like you already can for Rain or Snow. Note that the names could really be anything (e.g. "sausage" could mean sunny weather), but the names must be consistent between here and metadata.txt.

It was a real arse to find this. It used to be in Compiler (as in my old version, which I'd fixed to add Sunny, so I knew basically what to do about this), but then poccil messed around with everything and relocated this particular section to PokemonMap.

To allow the editor to give you the extra overworld weathers, search PokemonEditor for "Sandstorm" and extend that array as appropriate. Personally, I don't use the editor - I always work with the txt files directly, which is just as easy (for me, anyway) - so it's not high on my list of priorities to explain how to use/fix it. But there's the fix for that anyway.

Kaylee Krysteenah Fynch
April 24th, 2010, 09:36 AM
Weather effects in battle should all be in PokeBattle_ActualScene, in lots of places therein (always called "PBWeather::whatever"). It's quite messy.

To add the overworld weathers "Sunny" and "PoisonMist", go into PokemonMap and search for "Sandstorm". Modify that line as follows:

"Weather"=>[7,"eu",["","Rain","Storm","Snow","Sandstorm","Sunny","PoisonMist"]],"Sunny" was left out for no reason whatsoever, and "PoisonMist" is what you've added (as overworld weather number 6, which I'm sure is what you've set it as). Now you can set a map's weather in metadata.txt to be Sunny or Poison Mist, just like you already can for Rain or Snow. Note that the names could really be anything (e.g. "sausage" could mean sunny weather), but the names must be consistent between here and metadata.txt.

It was a real arse to find this. It used to be in Compiler (as in my old version, which I'd fixed to add Sunny, so I knew basically what to do about this), but then poccil messed around with everything and relocated this particular section to PokemonMap.

To allow the editor to give you the extra overworld weathers, search PokemonEditor for "Sandstorm" and extend that array as appropriate. Personally, I don't use the editor - I always work with the txt files directly, which is just as easy (for me, anyway) - so it's not high on my list of priorities to explain how to use/fix it. But there's the fix for that anyway.

PokeBattle_ActualScene - I'm assuming that's for the visual side of weather in battle, right? Because I programmed my weather to work in battle (without any visual animation, but it works) mostly by modifying PokeBattle_Battle.

Of course, in my version of Essentials, we have this:
NonGlobalTypes={
"Outdoor"=>[1,"b"],
"EscapePoint"=>[2,"uuu"],
"ShowArea"=>[3,"b"],
"Bicycle"=>[4,"b"],
"BicycleAlways"=>[5,"b"],
"HealingSpot"=>[6,"uuu"],
"Weather"=>[7,"eu",["","Rain","Storm","Snow","Sandstorm","Sunny","Poison"]],
"MapPosition"=>[8,"uuu"],
"DiveMap"=>[9,"u"],
"DarkMap"=>[10,"b"],
"SafariMap"=>[11,"b"]
}
in Compiler under the module PokemonMetadata, and this:
module WeatherEffectProperty
def self.set(settingname,oldsetting)
cmd=Kernel.pbMessage(_INTL("Choose a weather effect."),[
_INTL("No weather"),
_INTL("Rain"),
_INTL("Storm"),
_INTL("Snow"),
_INTL("Sandstorm"),
_INTL("Sunny"),
_INTL("Poison")
],1)
if cmd==0
return nil
else
number=Kernel.pbMessageChooseNumber(_INTL("Set the effect chance."),
100,3,nil,100)
return [cmd,number]
end
end
def self.format(value)
return value.inspect
end
end
under PokemonEditor. But it doesn't work in the editor - it only shows the four options through Sandstorm. You're right that it's not a big deal that the Editor doesn't work (though it's a bit inconvenient). But I guess this means I have an older version of Essentials than what's available.

Upgrading worries me, though, after all the effort I put into decaps, the weather, some item effects, etc.

Also, I think my weather article might end up a little basic, in order not to overstress about it and/or implode my head. :/

Wichu
April 24th, 2010, 09:42 AM
To change the standalone editor, you have to update EditorScripts.rxdata.
Or, you can run the editor in-game from the Debug menu to make it use the standard scripts ;)

Kaylee Krysteenah Fynch
April 24th, 2010, 10:45 AM
To change the standalone editor, you have to update EditorScripts.rxdata.
Or, you can run the editor in-game from the Debug menu to make it use the standard scripts ;)

*facepalm* Ahaha, I should have known my measly edits did not have the power to effect something that was already done. Ugh, blond moment...

Thanks, I really need to get a hold of these blond moments (I'm not even blond, seriously, and I've never been blond...). First the commas, and now this... XD

Colbex
April 24th, 2010, 11:58 AM
Hello again! o-o I'm getting two troublesome errors for some random things.
First off, whenever I try to use the sprite repositioning function in the editor, I get this error:
Exception: NoMethodError
Message: undefined method `form' for #<PokeBattle_Pokemon:0x8ee95b8>
PokemonUtilities:1250:in `pbLoadPokemonBitmapSpecies'
PokemonUtilities:1236:in `pbLoadPokemonBitmap'
PokemonSprite:22:in `setPokemonBitmap'
PokemonSpritePos:151:in `pbChangeSpecies'
PokemonSpritePos:187:in `pbSpecies'
PokemonSpritePos:181:in `loop'
PokemonSpritePos:201:in `pbSpecies'
PokemonSpritePos:307:in `pbStart'
PokemonSpritePos:306:in `loop'
PokemonSpritePos:314:in `pbStart'

I've looked at both Utilites and and the sprite line 22, and they both look very different and at the same time copies. I figured it may be the form thing, so I removed that little part, but now, I got this instead:
Exception: NoMethodError
Message: undefined method `form' for #<PokeBattle_Pokemon:0x2c93760>
PokemonUtilities:1250:in `pbLoadPokemonBitmapSpecies'
PokemonUtilities:1236:in `pbLoadPokemonBitmap'
PokemonSprite:22:in `setPokemonBitmap'
PokemonSpritePos:151:in `pbChangeSpecies'
PokemonSpritePos:187:in `pbSpecies'
PokemonSpritePos:181:in `loop'
PokemonSpritePos:201:in `pbSpecies'
PokemonSpritePos:307:in `pbStart'
PokemonSpritePos:306:in `loop'
PokemonSpritePos:314:in `pbStart'
It's confusing me. x_X

The other problem is when I go to pick up an item ball containing a PokéMon, I get this error after it asks me whether or not I want to nickname it, to which I say no. o.o
Exception: RuntimeError
Message: Script error within event 68, map 36 (Gold Town):
Exception: NameError
Message: Section104:150:in `pbStoreCaught'undefined local variable or method `box' for #<PokemonStorage:0x9991518>
***Full script:
Kernel.pbAddPokemon(PBSpecies::ARTICUNO,20)
Interpreter:239:in `pbExecuteScript'
PokemonStorage***:149:in `each'
PokemonStorage***:149:in `pbStoreCaught'
PokemonUtilities**:961:in `pbStorePokemon'
PokemonUtilities**:1004:in `pbNicknameAndStore'
PokemonUtilities**:1087:in `pbAddPokemon'
(eval):1:in `pbExecuteScript'
Interpreter:785:in `eval'
Interpreter:239:in `pbExecuteScript'
Interpreter:785:in `command_111'

Interpreter:274:in `pbExecuteScript'
Interpreter:785:in `command_111'
Interpreter:318: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'


Both of these functions are vital on top of that. x_X if it were something like the battle factory or bug catching contest, I could wait, but repositioning sprites is a tedious affair that would be so much quicker with the editor, and i figure if the receiving pokemon error won't work because of something like that, it'll do the same when selecting a starter. x.x

SpawnHyuuga
April 24th, 2010, 03:41 PM
Okay, so I got a question for you genius scripters out there. I've been trying to use a very simple cheat module, via the enter actor name thing using actor number 2 in the database, but if you put in a name, the game crashes. :/

I suppose Essentials is so highly modded that the game can't even work with this database, yet I feel like many people will gripe if they can't cheat their way to excellence. I wasn't planning on doing that much of an outrageous cheat(s), but I still would like to utilize the function. Anyway of doing it?

Colbex
April 24th, 2010, 04:18 PM
There's a simple cheat system already made for RMXP. You would have to modify it to work with essentials, but you'd probably have better luck compared to trying to work with a dysfunctional database.
If you use it, give credit to it's creator. o.o
#==============================================================================
# Cheats Input Script - v1.2 - by BudsieBuds
#------------------------------------------------------------------------------
# NOTE: Start editing at line 68 and stop editing at '# STOP EDITING \\'.
#------------------------------------------------------------------------------
#To call script:
#$scene = Scene_Cheats.new
#------------------------------------------------------------------------------
#Questions:
#
#Q:How would I go in and set it up to give the player extra points to his stats,
#say I want the player to use a cheat that sets his strength to 999. How would I
#go about that?
#
#[Actor Healing]
#$game_actors[actorIDhere].hp +=
#$game_actors[actorIDhere].sp +=
#
#[Actors Stats]
#$game_actors[actorIDhere].str +=
#$game_actors[actorIDhere].agi +=
#$game_actors[actorIDhere].dex +=
#$game_actors[actorIDhere].int +=
#
#[Actors MaxHP & MaxSP]
#$game_actors[actorIDhere].maxhp +=
#$game_actors[actorIDhere].maxsp +=
#
#Offcourse, insert a number after the ''='', and [actorIDhere] i'm sure you
#know what that means.
#
#
#==============================================================================

#==============================================================================
# ** Scene_Cheats
#------------------------------------------------------------------------------
# by BudsieBuds
#==============================================================================

class Scene_Cheats
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
# Make windows
@edit_window = Window_CheatsEdit.new
@input_window = Window_CheatsInput.new
# Execute transition
Graphics.transition
# Main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of windows
@edit_window.dispose
@input_window.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Update windows
@edit_window.update
@input_window.update
# If B button was pressed
if Input.repeat?(Input::B)
# If cursor position is at 0
if @edit_window.index == 0
return
end
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Delete text
@edit_window.back
return
end
# If C button was pressed
if Input.trigger?(Input::C)
# If cursor position is at [OK]
if @input_window.character == nil
@cheat_word = @edit_window.cheat.downcase

# START EDITING //
=begin
===============================================================================

The cheat that you have to input:
elsif @cheat_word == "Put the cheat you want to use here."

-------------------------------------------------------------------------------

For item(s):
$game_party.gain_item(Item ID, How many)

For gold:
$game_party.gain_gold(How many)

For weapon(s):
$game_party.gain_weapon(Weapon ID, How many)

For armor(s):
$game_party.gain_armor(Armor ID, How many)

For skill(s):
$game_party.actors[Actor ID].learn_skill(Skill ID)

For adding (an) actor(s):
$game_party.add_actor(id)

-------------------------------------------------------------------------------

This is the verification sound
$game_system.se_play($data_system.decision_se)

-------------------------------------------------------------------------------

Your cheat can have a maximum of 17 letters.
The first cheat has to start with 'if'.
The cheates coming after that have to start with 'elsif'.

===============================================================================
=end

if @cheat_word == "iamrich"
$game_party.gain_gold(500)
$game_system.se_play($data_system.decision_se)

elsif @cheat_word == "iamarealfighter"
$game_party.gain_weapon(1, 1)
$game_party.gain_armor(21, 1)
$game_system.se_play($data_system.decision_se)

elsif @cheat_word == "iloveitems"
for i in 1...$data_items.size
$game_party.gain_item(i, 10)
$game_system.se_play($data_system.decision_se)
end
elsif @cheat_word == "somehelpplease"
$game_party.add_actor(2)
$game_system.se_play($data_system.decision_se)

# STOP EDITING \\

else
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
end
# Switch to map screen
$scene = Scene_Map.new
return
end
# If text character is empty
if @input_window.character == ""
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Add text character
@edit_window.add(@input_window.character)
return
end
end
end


#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
# by BudsieBuds
#==============================================================================

class Window_Base < Window
#--------------------------------------------------------------------------
# * Draw Graphic
# icon : icon
# x : draw spot x-coordinate
# y : draw spot y-coordinate
#--------------------------------------------------------------------------
def draw_icon_graphic(icon, x, y)
bitmap = RPG::Cache.icon(icon)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
end


#==============================================================================
# ** Window_CheatsEdit
#------------------------------------------------------------------------------
# by BudsieBuds
#==============================================================================

class Window_CheatsEdit < Window_Base
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :cheat # cheat
attr_reader :index # cursor position
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 128)
self.contents = Bitmap.new(width - 32, height - 32)
@max_char = 17
@index = 0
@cheat = ""
refresh
update_cursor_rect
end
#--------------------------------------------------------------------------
# * Add Character
# character : text character to be added
#--------------------------------------------------------------------------
def add(character)
if @index < @max_char and character != ""
@cheat += character
@index += 1
refresh
update_cursor_rect
end
end
#--------------------------------------------------------------------------
# * Delete Character
#--------------------------------------------------------------------------
def back
if @index > 0
# Delete 1 text character
name_array = @cheat.split(//)
@cheat = ""
for i in 0...name_array.size-1
@cheat += name_array[i]
end
@index -= 1
refresh
update_cursor_rect
end
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
# Draw cheat
name_array = @cheat.split(//)
for i in 0...@max_char
c = name_array[i]
if c == nil
c = "?"
end
x = (i + 1) * 32
self.contents.draw_text(x, 32, 28, 32, c, 1)
end
# Draw graphic
draw_icon_graphic("cheat", 16, 60)
end
#--------------------------------------------------------------------------
# * Cursor Rectangle Update
#--------------------------------------------------------------------------
def update_cursor_rect
x = (@index + 1) * 32
self.cursor_rect.set(x, 32, 28, 32)
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
update_cursor_rect
end
end


#==============================================================================
# ** Window_CheatsInput
#------------------------------------------------------------------------------
# by BudsieBuds
#==============================================================================

class Window_CheatsInput < Window_Base
CHARACTER_TABLE =
[
"A","B","C","D","E",
"F","G","H","I","J",
"K","L","M","N","O",
"P","Q","R","S","T",
"U","V","W","X","Y",
"Z"," "," "," "," ",
"+","-","*","/","!",
"1","2","3","4","5",
"" ,"" ,"" ,"" ,"" ,
"a","b","c","d","e",
"f","g","h","i","j",
"k","l","m","n","o",
"p","q","r","s","t",
"u","v","w","x","y",
"z"," "," "," "," ",
"#","$","%","&","@",
"6","7","8","9","0",
"" ,"" ,"" ,"" ,"" ,
]
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 128, 640, 352)
self.contents = Bitmap.new(width - 32, height - 32)
@index = 0
refresh
update_cursor_rect
end
#--------------------------------------------------------------------------
# * Text Character Acquisition
#--------------------------------------------------------------------------
def character
return CHARACTER_TABLE[@index]
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
for i in 0...90
x = 140 + i / 5 / 9 * 180 + i % 5 * 32
y = i / 5 % 9 * 32
self.contents.draw_text(x, y, 32, 32, CHARACTER_TABLE[i], 1)
end
self.contents.draw_text(428, 9 * 32, 48, 32, "OK", 1)
end
#--------------------------------------------------------------------------
# * Cursor Rectangle Update
#--------------------------------------------------------------------------
def update_cursor_rect
# If cursor is positioned on [OK]
if @index >= 90
self.cursor_rect.set(428, 9 * 32, 48, 32)
# If cursor is positioned on anything other than [OK]
else
x = 140 + @index / 5 / 9 * 180 + @index % 5 * 32
y = @index / 5 % 9 * 32
self.cursor_rect.set(x, y, 32, 32)
end
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
# If cursor is positioned on [OK]
if @index >= 90
# Cursor down
if Input.trigger?(Input::DOWN)
$game_system.se_play($data_system.cursor_se)
@index -= 90
end
# Cursor up
if Input.repeat?(Input::UP)
$game_system.se_play($data_system.cursor_se)
@index -= 90 - 40
end
# If cursor is positioned on anything other than [OK]
else
# If right directional button is pushed
if Input.repeat?(Input::RIGHT)
# If directional button pressed down is not a repeat, or
# cursor is not positioned on the right edge
if Input.trigger?(Input::RIGHT) or
@index / 45 < 3 or @index % 5 < 4
# Move cursor to right
$game_system.se_play($data_system.cursor_se)
if @index % 5 < 4
@index += 1
else
@index += 45 - 4
end
if @index >= 90
@index -= 90
end
end
end
# If left directional button is pushed
if Input.repeat?(Input::LEFT)
# If directional button pressed down is not a repeat, or
# cursor is not positioned on the left edge
if Input.trigger?(Input::LEFT) or
@index / 45 > 0 or @index % 5 > 0
# Move cursor to left
$game_system.se_play($data_system.cursor_se)
if @index % 5 > 0
@index -= 1
else
@index -= 45 - 4
end
if @index < 0
@index += 90
end
end
end
# If down directional button is pushed
if Input.repeat?(Input::DOWN)
# Move cursor down
$game_system.se_play($data_system.cursor_se)
if @index % 45 < 40
@index += 5
else
@index += 90 - 40
end
end
# If up directional button is pushed
if Input.repeat?(Input::UP)
# If directional button pressed down is not a repeat, or
# cursor is not positioned on the upper edge
if Input.trigger?(Input::UP) or @index % 45 >= 5
# Move cursor up
$game_system.se_play($data_system.cursor_se)
if @index % 45 >= 5
@index -= 5
else
@index += 90
end
end
end
# If L or R button was pressed
if Input.repeat?(Input::L) or Input.repeat?(Input::R)
# Move capital / small
$game_system.se_play($data_system.cursor_se)
if @index < 45
@index += 45
else
@index -= 45
end
end
end
update_cursor_rect
end
end

KitsuneKouta
April 24th, 2010, 06:35 PM
The $Trainer.party.compact! command is fairly useful for the daycare thing, however I need to know if there is something similar for arrays. I have a fully functional expanded daycare, as long as you only take the pokemon back in last to first order. If you take them back in first to last order, it leaves "gaps," the same as if you select ones in the middle.

@SpawnHyuuga: The cheat script that Colbex posted looks interesting, but you could probably make one more "Pokemon-like" by using pbEnterText. You may want to write a short script that is something along the lines of:
def pbCheatCodes
code=pbEnterText("Enter a Code",0,7)
if code=="code1"
Do something here
elsif code=="code2"
Do something else here
else
Kernel.pbMessage("Invalid code.")
end
endIt's probably not the best example in the world, but it should get you on the right track. Note: the 0,7 is the minimum length and the max length (I think).

Blargatory
April 24th, 2010, 08:31 PM
I can't figure out what exactly i did wrong here anyone give me a hand please?


Exception: NameError
Message: undefined local variable or method `oldrecord' for nil:NilClass
Compiler:1104:in `pbCompileMoves'
Compiler:1086:in `pbCompilerEachPreppedLine'
Compiler:581:in `each_line'
Compiler:581:in `pbCompilerEachPreppedLine'
Compiler:578:in `open'
Compiler:578:in `pbCompilerEachPreppedLine'
Compiler:1086:in `pbCompileMoves'
Compiler:3772:in `pbCompileAllData'
Compiler:3897

jim42
April 24th, 2010, 09:49 PM
I was wondering if anyone could tell me the script necessary to change the name entry screen to one like in pokemon raptor, i.e. it is entered by typing on the keyboard. Also, if it isn't too much trouble, could anyone tell me where/how to implement it? I am still fairly new to scriipiting and i don't want to break anything.

carmaniac
April 25th, 2010, 02:21 AM
I can't figure out what exactly i did wrong here anyone give me a hand please?


Exception: NameError
Message: undefined local variable or method `oldrecord' for nil:NilClass
Compiler:1104:in `pbCompileMoves'
Compiler:1086:in `pbCompilerEachPreppedLine'
Compiler:581:in `each_line'
Compiler:581:in `pbCompilerEachPreppedLine'
Compiler:578:in `open'
Compiler:578:in `pbCompilerEachPreppedLine'
Compiler:1086:in `pbCompileMoves'
Compiler:3772:in `pbCompileAllData'
Compiler:3897

By the looks of that error code you didn't compile the game in the editor.
So just pop into the editor and compile text to see if that works.

Wichu
April 25th, 2010, 02:28 AM
The $Trainer.party.compact! command is fairly useful for the daycare thing, however I need to know if there is something similar for arrays. I have a fully functional expanded daycare, as long as you only take the pokemon back in last to first order. If you take them back in first to last order, it leaves "gaps," the same as if you select ones in the middle.

compact is an array method; however, it only removes nil elements. In the daycare, an empty space is represented by an empty array; these aren't removed by compact.

You could try using the sort! method on it instead, to move all the empty elements to the back. For example:

def pbCompareDaycare(a,b)
if (a.empty? && !b.empty?)
return 1
elsif (!a.empty? && b.empty?)
return -1
else
return 0
end
end

array.sort!{|a, b|
pbCompareDaycare(a,b)
}
I haven't tested this, but it should work. Basically, the sort method normally use the <=> operator, which returns 1 if a is greater than b, -1 if a is smaller than b, and 0 if they are the same. It uses the results of comparing elements to put them in order. You can implement a custom comparison method, though; in this case, I check whether either element is an empty array, and return -1 and 1 accordingly. If they're both empty, or both contain a Pokémon, it returns 0.
Watch out, as this changes the order the Pokémon are stored in. There's probably a way to avoid this with some modifications, though.

SpawnHyuuga
April 25th, 2010, 05:00 AM
Kitsune to the rescue again. Without RGSS understanding, I think I understand enough of this short script and can probably extend it without too much trouble. Therefore I shall try to use it.

Blargatory
April 25th, 2010, 06:35 AM
By the looks of that error code you didn't compile the game in the editor.
So just pop into the editor and compile text to see if that works.

I tired but that's where i get the error at.
Sorry let me try to clarify it a bit more I can start the game without a problem what so ever it's the editor that gives me the error. This error starting happening whenever i added some new pokemon into the pokedex. So i went back and removed the pokemon data i just added as a 1st thing to cross my mind... still got the same error. I haven't changed anything else as of right now. So trying to figure out how come I got the error? When it was working just fine before hand.

VEGET@
April 25th, 2010, 08:39 AM
How i can do a animated intro please???

odinel
April 25th, 2010, 09:30 AM
Is there any way to divide the pokedex into different regions?
Or i just want to make a pokedex for my own region..
for example
1st pokedex will only comprise pokemon that I made.. 1-100 new pokemons
2nd pokedex will contrain all of them including original ones and my new ones 1-594(?)

something like that...

plz help me if u could

Maruno
April 25th, 2010, 09:38 AM
Is there any way to divide the pokedex into different regions?
Or i just want to make a pokedex for my own region..
for example
1st pokedex will only comprise pokemon that I made.. 1-100 new pokemons
2nd pokedex will contrain all of them including original ones and my new ones 1-594(?)

something like that...

plz help me if u could
You want a Regional Dex. A Regional Dex contains only some Pokémon that are in the National Dex (which contains all Pokémon in the game).

There's a bit of information about it in the wiki (http://pokemonessentials.wikia.com/wiki/Pok%C3%A9mon) (look for "RegionalNumbers"). The wiki doesn't yet have a page devoted to multiple regions, but it's on the list.

Trigger
April 25th, 2010, 11:34 AM
how do you activate pokemon snagging? I know that theres shadow pokemon, but when I tried to catch it the trainer blocked the ball

Maruno
April 25th, 2010, 12:37 PM
how do you activate pokemon snagging? I know that theres shadow pokemon, but when I tried to catch it the trainer blocked the ball
One of the properties you can give an item is the "Snag Ball" (http://pokemonessentials.wikia.com/wiki/Items) property. Enemy trainers won't block Snag Balls.

Relith
April 25th, 2010, 12:56 PM
I have a problem with sprites. I can't find any sprites that I can add into the RMXP, and change it to my player's sprite. They are all too small. And, they never work for me. This is a big issue with me.

PokemonPlatnum
April 25th, 2010, 01:36 PM
I have a problem with sprites. I can't find any sprites that I can add into the RMXP, and change it to my player's sprite. They are all too small. And, they never work for me. This is a big issue with me.

If I'm correct you would need to double the size of the sprite in an image editing program such as Paint.net etc. Then it should look fine in a playtest :)

Lyzo
April 25th, 2010, 01:40 PM
Hey guys, just wondering... What do you guys edit your tilesets in? Cause Photoshop CS4 would work perfectly for me, the problem is, I can only save the tilesets in .PSB format. I've also seen Paint.net, but that laggs, has an inzoom limit, and doesn't have a nice grid... So I was wondering, what is the best program to edit tilesets in?

EDIT: WRONG FORUM 0.o ... Dunno why I posted this here, was meant for somewhere else....

Trigger
April 25th, 2010, 03:03 PM
Giving it the snag ball property still didn't work

odinel
April 25th, 2010, 05:59 PM
You want a Regional Dex. A Regional Dex contains only some Pokémon that are in the National Dex (which contains all Pokémon in the game).

There's a bit of information about it in the wiki(look for "RegionalNumbers"). The wiki doesn't yet have a page devoted to multiple regions, but it's on the list.


Thanks for your reply Maruno

I just checked the wiki page

but I still dont get it

do I have to add the regional numbers on the pokemon.txt file?

and what number do I have to put?

I still dont get it,,

Mrchewy
April 25th, 2010, 06:06 PM
Lyzo, I use Photoshop CS4 for everything, and I don't have any problems saving as PNG. Have you tried using Save for Web and Devices as opposed to just Save As?

KitsuneKouta
April 25th, 2010, 09:51 PM
I'm sure some of you have noticed the annoying repeated pokemon cry when going up/down when at the first/last pokemon in the summary menu. Has anyone come up with a way to fix it? I've tried a few different things, but it usually just silenced the first and last pokemon altogether at best.

Delusions of Originality
April 25th, 2010, 10:16 PM
I take it I'm on my own with fixing the Battle Factory's swap script; that's fine, as I think I have a bead on how to start tinkering with it and will just have to resume learning RGSS with a little more vigor. (I hope that's all it'll take, anyway.) In the meantime, though, I'm still having a little difficulty understanding how the general Essentials battle engine handles the passing of turns. Since I don't know why the Frontier facilities skip the opponent's turn all the time, I'm hoping that I might be able to use the normal battle system as a guide to fixing it. Worst comes to worst I can sift my way through the relevant changelogs until I find whatever change broke it and revert to that/repair it, but that looks like it could be pretty tedious work and a nudge in the right direction would help. Anyone?

Raikt
April 25th, 2010, 11:51 PM
So, I'm back once again.

I've been heavily editing my intro in order to get what I want at the start of the game. However, with my limited knowledge of scripting so far, I can't figure out what to do in this situation: In the intro, it asks whether you are a boy or a girl. Then, when the picture shows up, it shows the picture I've chosen, but with the sprite stuck in the background behind it. I can't figure out how to get rid of the sprite. It's not scripted anywhere into the intro event.

I can show the event, if you need it, though is there a convenient way to copy and paste it without redoing it by hand?

Speedblitza
April 26th, 2010, 12:10 AM
Hello, Ive a problem with the starter kit: When I start a battle, the battle music starts in the middle.

Civil Servant
April 26th, 2010, 12:31 AM
Is it possible to make a Pokemon switch to an alternate form depending on what the terrain tag you're standing on is? For example, swapping all my water Pokemon to look like they are half-submerged when I'm surfing on a tile with the Water tag.

Maybe have it change when a certain switch is turned on instead?

Nickalooose
April 26th, 2010, 03:26 AM
question, i wanna make a simple-like, menu, like the pause menu, that sub-titles appear only after a switch or something is activated, but... my problem is, i can use the _INTL thing, but the subheadings always appear, so i looked at the menu script to script my own menu, but strange thing about this is, i have no idea how to call the menu in an event, =S... i use all, the class', to the def's, as the script in the event, but not so much as an error, the game just continues... its quite stupid really, but i have no idea what to edit if it doesn't tell me whats wrong, i can't see the problem... i'm using;

commands[cmdPokedex=commands.length]=_INTL("POKéDEX")
commands[cmdPokemon=commands.length]=_INTL("POKéMON") if $Trainer.party.length>0
commands[cmdBag=commands.length]=_INTL("BAG") if !pbInBugContest?

etc. etc.

just so we don't get confused, this is not a pause menu replacement, this is just a menu, so when you talk to someone, or, something, this "new" menu will pop up to choose options, all i want to do is bring up the menu, i want the event to do everything else, u could say it would be like the "choices option" in the event, but i need about 6 options, and the game only gives you 4... unless there is a way around scripting this...

for this way, i cant get the window to come up or anything. i need help please :(


EDIT:: also, i've been looking at tutorials and learning rgss, but then i realised, Poccil, re-wrote everything, how am i supposed to learn his code, wen it is different to what i am lookin at...?
does he have a tutorial on how he does things or not?

Vociferocity
April 26th, 2010, 04:02 AM
So, I'm back once again.

I've been heavily editing my intro in order to get what I want at the start of the game. However, with my limited knowledge of scripting so far, I can't figure out what to do in this situation: In the intro, it asks whether you are a boy or a girl. Then, when the picture shows up, it shows the picture I've chosen, but with the sprite stuck in the background behind it. I can't figure out how to get rid of the sprite. It's not scripted anywhere into the intro event.

I can show the event, if you need it, though is there a convenient way to copy and paste it without redoing it by hand?

A "change transparent flag: transparent" ought to make the sprite vanish. then again, I'm not really sure why the sprite is showing up while the boy/girl picture is showing up. wouldn't you only want to throw in the "pbchangeplayer" command after they've made their choice?

Raikt
April 26th, 2010, 04:57 AM
A "change transparent flag: transparent" ought to make the sprite vanish. then again, I'm not really sure why the sprite is showing up while the boy/girl picture is showing up. wouldn't you only want to throw in the "pbchangeplayer" command after they've made their choice?

@>Show Choices: BOY, GIRL
: When [BOY]
@>Comment: initializes player 0 (PlayerA) ["pbChangePlayer" takes
a value from 0 through 3; other values are not valid.
To edit information about a player, choose "Set
Metadata" in the Pokemon Essentials Editor and
select "Global".]
@>Script: pbChangePlayer(0)
@>
: When [GIRL]
@Comment: initializes player 1 (PlayerB)
@>Script: pbChangePlayer(1)

That's what I have for the choices. I honestly have no idea why the sprites are showing up. (It's the exact same event I used for my last try, barring no dialogue or Professor Oak now.) I can post the rest, if that would, help.

EDIT: Nickaloose: I've found the Notes and Advanced links in the starter kit to help a great deal in figuring out his style.

Maruno
April 26th, 2010, 05:48 AM
Thanks for your reply Maruno

I just checked the wiki page

but I still dont get it

do I have to add the regional numbers on the pokemon.txt file?

and what number do I have to put?

I still dont get it,,
In pokemon.txt, there is a section for each species. Each section contains a number of lines, each one looking like "Name=Bulbasaur" or "GenderRate=AlwaysMale". it's always of the form "X=Y".

There's a line you can add that looks like "RegionalNumbers=25". The number here will be the Regional Dex number of that species. If this number is 0, then it's not in the Regional Dex. Add this line to all the species that you want in your Regional Dex (i.e. all your fakemon).

The National Dex is all the Pokémon in pokemon.txt, in the order they're listed.

It's possible to switch between the Regional Dex and National Dex at will, although that requires a bit of scripting which I won't explain here (it'll be in the wiki once I get round to writing this up). If there's a Regional Dex set, then that's what will be shows when you access the Pokédex - you can't get access to the National Dex without doing a bit of scripting.

For now, give all your fakemon "RegionalNumbers" entries and make sure it works properly.

Wichu
April 26th, 2010, 07:45 AM
question, i wanna make a simple-like, menu, like the pause menu, that sub-titles appear only after a switch or something is activated, but... my problem is, i can use the _INTL thing, but the subheadings always appear, so i looked at the menu script to script my own menu, but strange thing about this is, i have no idea how to call the menu in an event, =S... i use all, the class', to the def's, as the script in the event, but not so much as an error, the game just continues... its quite stupid really, but i have no idea what to edit if it doesn't tell me whats wrong, i can't see the problem... i'm using;

commands[cmdPokedex=commands.length]=_INTL("POKéDEX")
commands[cmdPokemon=commands.length]=_INTL("POKéMON") if $Trainer.party.length>0
commands[cmdBag=commands.length]=_INTL("BAG") if !pbInBugContest?

etc. etc.

just so we don't get confused, this is not a pause menu replacement, this is just a menu, so when you talk to someone, or, something, this "new" menu will pop up to choose options, all i want to do is bring up the menu, i want the event to do everything else, u could say it would be like the "choices option" in the event, but i need about 6 options, and the game only gives you 4... unless there is a way around scripting this...

for this way, i cant get the window to come up or anything. i need help please :(


EDIT:: also, i've been looking at tutorials and learning rgss, but then i realised, Poccil, re-wrote everything, how am i supposed to learn his code, wen it is different to what i am lookin at...?
does he have a tutorial on how he does things or not?

The _INTL command is only used for formatting and translation. The part which makes it appear if a certain condition is met is
if $Trainer.party.length>0
This will make the text appear only when the player's party has at least one Pokémon.
If you want to check switches, refer to the $game_switches global array; for example, to check if switch 5 is on:
if $game_switches[5]

The RGSS is exactly the same in the starter kit; poccil just wrote loads of helper functions which are used often in his code. It's still RGSS, and works the same way.

pkmn.master
April 26th, 2010, 03:40 PM
When I tried to view my summary screen, I get this error:

Exception: TypeError
Message: can't convert AnimatedBitmap into Bitmap
SpriteWindow:1419:in `bitmap='
SpriteWindow:1419:in `bitmap='
PokemonSummary:69:in `pbStartScene'
PokemonSummary:702:in `pbStartScreen'
PokemonScreen:821:in `pbSummary'
PokemonScreen:1278:in `pbPokemonScreen'
PokemonScreen:1187:in `loop'
PokemonScreen:1431:in `pbPokemonScreen'
PokemonMenu:155:in `pbStartPokemonMenu'
PokemonMenu:154:in `pbFadeOutIn'

Additional information:

I upgraded my Pokémon Essentials to a new version and put my modified summary script in. It worked on the previous version. I don't want to downgrade .

KitsuneKouta
April 26th, 2010, 04:41 PM
I upgraded my Pokémon Essentials to a new version and put my modified summary script in. It worked on the previous version. I don't want to downgrade .
The pbStartScreen and pbStartScene appear to be the problem (at least in the summary script anyways). Did you make the script yourself, or have someone do it for you? If you made it, then you can probably figure out how to modify the newer one to function the same way. It's difficult to answer your question without actually knowing what the script looks like though.

EDIT: I found the solution to my problem on the last page. To prevent the pokemon cries from repeating whenever you hit up/down on the first/last pokemon's summary page, in the PokemonSummary script find:
if Input.trigger?(Input::UP) && @partyindex>0
pbGoToPrevious
@pokemon=@party[@partyindex]
@sprites["pokemon"].setPokemonBitmap(@pokemon)
pbPositionPokemonSprite(@sprites["pokemon"],16,64)
dorefresh=true
pbPlayCry(@pokemon)
end
if Input.trigger?(Input::DOWN) && @partyindex<5
pbGoToNext
@pokemon=@party[@partyindex]
@sprites["pokemon"].setPokemonBitmap(@pokemon)
pbPositionPokemonSprite(@sprites["pokemon"],16,64)
dorefresh=true
pbPlayCry(@pokemon)
end Then add the parts in blue. It was an easy fix, so I feel like an idiot for having asked about it.

odinel
April 26th, 2010, 05:18 PM
Hmm.. move animations still dont work
single-step moves sth like scratch works by Move:SCRATCH
but multi-step moves sth like leech seed doesnt work..
I tried
Move:LEECHSEED
Move:Leech-Seed
Move:LEECHSEED Turn Hero
.
.
something all similar to those...

can someone plz help me with move commands??

Maruno
April 26th, 2010, 06:17 PM
EDIT: I found the solution to my problem on the last page. To prevent the pokemon cries from repeating whenever you hit up/down on the first/last pokemon's summary page, in the PokemonSummary script find:
if Input.trigger?(Input::UP) && @partyindex>0
pbGoToPrevious
@pokemon=@party[@partyindex]
@sprites["pokemon"].setPokemonBitmap(@pokemon)
pbPositionPokemonSprite(@sprites["pokemon"],16,64)
dorefresh=true
pbPlayCry(@pokemon)
end
if Input.trigger?(Input::DOWN) && @partyindex<5
pbGoToNext
@pokemon=@party[@partyindex]
@sprites["pokemon"].setPokemonBitmap(@pokemon)
pbPositionPokemonSprite(@sprites["pokemon"],16,64)
dorefresh=true
pbPlayCry(@pokemon)
end Then add the parts in blue. It was an easy fix, so I feel like an idiot for having asked about it.
The "down" addition isn't quite right. Use "@partyindex<@party.length-1" instead. This accounts for when you have less than a full party, or you're looking at Pokémon in the PC storage.

KitsuneKouta
April 26th, 2010, 06:48 PM
The "down" addition isn't quite right. Use "@partyindex<@party.length-1" instead. This accounts for when you have less than a full party, or you're looking at Pokémon in the PC storage.
Thanks for letting me know. I did the test with a full party, so I didn't catch that one.

Lucario_XP
April 26th, 2010, 07:27 PM
Hi guys. Look what I want to know how to make, to go into battle (only in that battle) do not gain experience.
Thanks for everything.
google translate xD

jim42
April 26th, 2010, 10:41 PM
Hi guys. Look what I want to know how to make, to go into battle (only in that battle) do not gain experience.
Thanks for everything.
google translate xD

this is probably what you need, however i may be wrong, i am new after all:
I presume you want to make a pokemon give out no experience when you fight them, like in the battle tower? If so you can modify that script - the exact format you'll have to ask someone more experienced for.
Otherwise, you can just make a copy of the pokemon which is to give out no experience and set it's base exp to 0 in the txt file, then set the opponent to be the 0exp copy.

hopefully this is what you're looking for. If not, i can't help much and you'll have to wait for say Maruno to help.

Nickalooose
April 27th, 2010, 05:32 AM
The _INTL command is only used for formatting and translation. The part which makes it appear if a certain condition is met is
if $Trainer.party.length>0This will make the text appear only when the player's party has at least one Pokémon.
If you want to check switches, refer to the $game_switches global array; for example, to check if switch 5 is on:
if $game_switches[5]The RGSS is exactly the same in the starter kit; poccil just wrote loads of helper functions which are used often in his code. It's still RGSS, and works the same way.


Thanks for your reply Wichu, but i know how to use, if $game_switches[0] and i recently learnt the, $Trainer.party.length>0, code, and i know_INTL is the thing that shows the letters or symbols... but my problem is, my "new menu" window will not open up... here's my code if you want to take a look...

to test it, all im doing is getting it to show confirm message at the moment, its quick and easy to test in-game, but nothing will appear at all... no window, no message, the game doesn't crash, it just continues...

class NewMenu_Scene

def pbShowCommands(commands)
ret=-1
cmdwindow=@sprites["cmdwindow"]
cmdwindow.viewport=@viewport
cmdwindow.index=$PokemonTemp.menuLastChoice
cmdwindow.resizeToFit(commands)
cmdwindow.commands=commands
cmdwindow.x=Graphics.width-cmdwindow.width
cmdwindow.y=0
cmdwindow.visible=true
loop do
cmdwindow.update
Graphics.update
Input.update
pbUpdateSceneMap
if Input.trigger?(Input::B)
ret=-1
break
end
if Input.trigger?(Input::C)
ret=cmdwindow.index
$PokemonTemp.menuLastChoice=ret
break
end
end
return ret
end

def pbStartScene
@viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
@viewport.z=99999
@sprites={}
@sprites["cmdwindow"]=Window_CommandPokemon.new([])
@sprites["cmdwindow"].visible=false
pbSEPlay("menu")
end

def pbHideMenu
@sprites["cmdwindow"].visible=false
end

def pbShowMenu
@sprites["cmdwindow"].visible=true
end

def pbEndScene
pbDisposeSpriteHash(@sprites)
@viewport.dispose
end

def pbRefresh
end

end

class NewMenu

def initialize(scene)
@scene=scene
end

def pbShowMenu
@scene.pbRefresh
@scene.pbShowMenu
end

def pbStartNewMenu
@scene.pbStartScene
endscene=true
commands=[]
cmdNew1=-1
cmdNew2=-1
cmdNew3=-1
cmdNew4=-1
cmdNew5=-1
if !$Trainer
if $DEBUG
Kernel.pbMessage(_INTL("The player trainer was not defined, so the menu can't be displayed."))
Kernel.pbMessage(_INTL("Please see the documentation to learn how to set up the trainer player."))
end
return
end
commands[cmdNew1=commands.length]=_INTL("New1") if $game_switches[995]==true
commands[cmdNew2=commands.length]=_INTL("New2") if $game_switches[996]==true
commands[cmdNew3=commands.length]=_INTL("New3") if $game_switches[997]==true
commands[cmdNew4=commands.length]=_INTL("New4") if $game_switches[998]==true
commands[cmdNew5=commands.length]=_INTL("New5") if $game_switches[999]==true
commands[commands.length]=_INTL("None")
loop do
command=@scene.pbShowCommands(commands)
if cmdAttack>=0 && command==cmdAttack
if Kernel.pbConfirmMessage(_INTL("Choose New1?"))
@scene.pbEndScene
return
else
pbShowMenu
end
elsif cmdSpAttack>=0 && command==cmdSpAttack
if Kernel.pbConfirmMessage(_INTL("Choose New2?"))
@scene.pbEndScene
return
else
pbShowMenu
end
elsif cmdDefence>=0 && command==cmdDefence
if Kernel.pbConfirmMessage(_INTL("Choose New3?"))
@scene.pbEndScene
return
else
pbShowMenu
end
elsif cmdSpDefence>=0 && command==cmdSpDefence
if Kernel.pbConfirmMessage(_INTL("Choose New4?"))
@scene.pbEndScene
return
else
pbShowMenu
end
elsif cmdSpeed>=0 && command==cmdSpeed
if Kernel.pbConfirmMessage(_INTL("Choose New5?"))
@scene.pbEndScene
return
else
pbShowMenu
end
else
break
end
end
@scene.pbEndScene if endscene
end

end

Wichu
April 27th, 2010, 05:44 AM
How are you calling it in-game?

sonic1
April 27th, 2010, 07:42 AM
Hi there! I'm starting learning RGSS, and i'm with a problem:

How do i change the coordinates (in screen,not in the worldmap) like x X-0;Y-340) of the worldmap that TOWNMAP shows?

For example, to make it compatible with the simple dual screen script that CNG did, for making it appear at the bottom screen (0x,340y).

~Sonic1

btw,how do we know what changes in each pokestarter new release?

lezebulon
April 27th, 2010, 11:03 AM
Hi, I was wondering if the fact that wild pokemons can hold items is implemented in the starter kit? I don't think so

Delusions of Originality
April 27th, 2010, 11:48 AM
Hi there! I'm starting learning RGSS, and i'm with a problem:

How do i change the coordinates of the worldmap that TOWNMAP shows?

For example, to make it compatible with the simple dual screen script that CNG did, for making it appear at the bottom screen (0x,340y).

~Sonic1

btw,how do we know what changes in each pokestarter new release?

Not sure about your first question, but poccil makes a changelog each time he updates Essentials. All of the changelogs are available on the pokestarter download page, with the most recent at the bottom; he doesn't actually explain what the changes are, but it lists lines that were added and/or removed in whatever scripts he changed. You'd just look through those if you wanted to know which scripts were modified.

VEGET@
April 27th, 2010, 12:19 PM
How i can do :
Remember the last map i come from.
if i come from map x, happen something

Sorry for my really bad english

KitsuneKouta
April 27th, 2010, 12:34 PM
Hi, I was wondering if the fact that wild pokemons can hold items is implemented in the starter kit? I don't think so
In Pokemon.txt, some pokemon have lines that say WildItemRare= and WildItemCommon=. These lines aren't required for a pokemon, some don't even have them, others have only one, but you can assign an item that is commonly held by the pokemon, one that is rarely held by the pokemon, or both. You must type the internal name of an item, and it must be in all caps (i.e. SILVERPOWDER, ORANBERRY, etc).

EDIT: Also, does anyone have any tips on reading data from files? I looked at how encounters.txt was compiled and read, but I'm looking for something simpler to read only a specified line (although it looks like it has to be compiled to a .dat file). Of course, I would also need to know how to properly specify those lines to be read too.

Another thing, how would you go about selectively "locking" the screen so that it doesn't follow the player?

thepsynergist
April 27th, 2010, 01:12 PM
Another thing, how would you go about selectively "locking" the screen so that it doesn't follow the player?

If you mean to make a cut scene, then what I do is set the player sprite to transparent, and make an event ontop of the player with the same sprite as the player sprite. Then use the move event command to move the event. The screen stays in place, while the player "moves" across the screen. It's a good workaround if you're lazy.

amandude15
April 27th, 2010, 02:09 PM
hey i can't seem to find the script for the pokedex can you point me in the right direction?
thanks

Colbex
April 27th, 2010, 03:14 PM
Is there any fix for this error in regards to the sprite repositioner:

Exception: NoMethodError
Message: undefined method `form' for #<PokeBattle_Pokemon:0x8d38c50>
PokemonUtilities:1250:in `pbLoadPokemonBitmapSpecies'
PokemonUtilities:1236:in `pbLoadPokemonBitmap'
PokemonSprite:22:in `setPokemonBitmap'
PokemonSpritePos:151:in `pbChangeSpecies'
PokemonSpritePos:187:in `pbSpecies'
PokemonSpritePos:181:in `loop'
PokemonSpritePos:201:in `pbSpecies'
PokemonSpritePos:307:in `pbStart'
PokemonSpritePos:306:in `loop'
PokemonSpritePos:314:in `pbStart'

I'm guessing something was named wrongly, but there's so many places where it could of been named wrong. I don't want to mess up and further increase my trouble. x_X I tried fixing a few suspect lines before, but then I still couldn't reposition, nor could I view the summary screens or enter a battle for that matter. ._.;

EDIT: @amandude: Er, have you tried opening up the scripts and looking for PokemonPokeDex?

Lucario_XP
April 27th, 2010, 03:42 PM
this is probably what you need, however i may be wrong, i am new after all:
I presume you want to make a pokemon give out no experience when you fight them, like in the battle tower? If so you can modify that script - the exact format you'll have to ask someone more experienced for.
Otherwise, you can just make a copy of the pokemon which is to give out no experience and set it's base exp to 0 in the txt file, then set the opponent to be the 0exp copy.

hopefully this is what you're looking for. If not, i can't help much and you'll have to wait for say Maruno to help.

I do not want to gain experience in battle. But my problem is I do not know what should I use for this script. Bone I call that script, so that the exp this to 0 alone in this battle.

KitsuneKouta
April 27th, 2010, 09:14 PM
If you mean to make a cut scene, then what I do is set the player sprite to transparent, and make an event ontop of the player with the same sprite as the player sprite. Then use the move event command to move the event. The screen stays in place, while the player "moves" across the screen. It's a good workaround if you're lazy.
Very nice. It would also be an easy way to scroll around a map, by having your invisible character move around with the Through set to ON and leave the clone behind.

@Lucario_XP: The solution to your problem is fairly simple. In PokeBattle_Battle, look for:
exp=newexp-thispoke.exp;It's probably on line 2020. Change it to:
if $game_switches[500]
exp=0
else
exp=newexp-thispoke.exp;
endThe 500 is arbitrary, so you can choose whatever switch number you want. Then, before a battle with the pokemon you don't want experience for, turn the switch on. After the battle, be sure to turn it back off, otherwise you will cease to gain experience from that point on.

Gorbeh
April 27th, 2010, 09:55 PM
Question, is there anyway to stop the prebattle trainer music effect once the battle starts. Because Currently the ME will play until it is over and then the battle music will follow, or if the battle was won before the ME stopped it will keep playing on the map until it's over. I'm sure it's as easy as going in the battle script and telling it to stop the ME once the battle starts but I don't know which script to look at or what command to use. Anyone know?

KitsuneKouta
April 27th, 2010, 10:25 PM
Question, is there anyway to stop the prebattle trainer music effect once the battle starts. Because Currently the ME will play until it is over and then the battle music will follow, or if the battle was won before the ME stopped it will keep playing on the map until it's over. I'm sure it's as easy as going in the battle script and telling it to stop the ME once the battle starts but I don't know which script to look at or what command to use. Anyone know?
Find this in PokemonTrainers:
trainer=pbLoadTrainer(trainerid,trainername,trainerparty)
if !trainer
pbMissingTrainer(trainerid,trainername,trainerparty)
return false
endIt should be around line 310. Above that first line, put Audio.me_fade(2500). That should take care of it.

Vociferocity
April 27th, 2010, 11:27 PM
@>Show Choices: BOY, GIRL
: When [BOY]
@>Comment: initializes player 0 (PlayerA) ["pbChangePlayer" takes
a value from 0 through 3; other values are not valid.
To edit information about a player, choose "Set
Metadata" in the Pokemon Essentials Editor and
select "Global".]
@>Script: pbChangePlayer(0)
@>
: When [GIRL]
@Comment: initializes player 1 (PlayerB)
@>Script: pbChangePlayer(1)

That's what I have for the choices. I honestly have no idea why the sprites are showing up. (It's the exact same event I used for my last try, barring no dialogue or Professor Oak now.) I can post the rest, if that would, help.


so...the sprites show up as soon as you go "pbChangePlayer(x)"? because that's exactly what's supposed to happen. like I said before, you'll need to use a "change transparent flag: transparent" straight after the changeplayer line to make them invisible for the rest of the intro. and don't forget to make them visible again when it's over XD

KitsuneKouta
April 28th, 2010, 03:55 AM
@Raikt: I believe the reason that the sprite shows up as soon as you use pbChangePlayer is because beforehand there's no sprite to show (since the player isn't defined). So it's not as though the game all of a sudden says display the sprite now, it was looking for a sprite to display the whole time anyways, but it didn't know what sprite to display. So, as mentioned, you have to set the transparent flag to transparency, then set it to visible once the event is over.

Nickalooose
April 28th, 2010, 05:07 AM
How are you calling it in-game?

At the moment, When you talk to some guy, he says
"hi", then calls, script...
which ive used everything from, the class to the def
it just does nothing... i thought you had to call the class, but clearly i am wrong.

if you test it, you will see it doesn't work, unless it is in the wrong section in my scripts menu, i've placed it above Main, but below everything else...

is the coding okay? am i calling it wrong? is there a specific way to do this?

thanks.
Nici x

KitsuneKouta
April 28th, 2010, 05:13 AM
At the moment, When you talk to some guy, he says
"hi", then calls, script...
which ive used everything from, the class to the def
it just does nothing... i thought you had to call the class, but clearly i am wrong.

if you test it, you will see it doesn't work, unless it is in the wrong section in my scripts menu, i've placed it above Main, but below everything else...

is the coding okay? am i calling it wrong? is there a specific way to do this?

thanks.
Nici x
I believe he's asking for the actual script call in the event. You shouldn't need class or def, so if your method is something like def pbMethodName, then you would just call pbMethodName in the event. Also, since yours has a value passed into it, it looks like def pbMethodName(value). Since you have that value, you can't simply call pbMethodName, since it has the wrong number of arguments (everything past that is beyond me).

tittlemouse
April 28th, 2010, 05:18 AM
does anyone know how to change the home server so you can get on. I could just host a offline one on my PC for now

Raikt
April 28th, 2010, 05:25 AM
So, back with another question, though it might be a stupid one at that.

After tediously searching google, this form, and other areas, I haven't found an answer. I've seen in game betas, and in screen shots, people having more than the three layers alloted for building. How do I do this? I'd really love to make a multi-layer volcano area, but my progress is being hampered by this.

maldicion069
April 28th, 2010, 06:45 AM
When do you created a new version?
What new features are incluide?

~JV~
April 28th, 2010, 08:08 AM
So, back with another question, though it might be a stupid one at that.

After tediously searching google, this form, and other areas, I haven't found an answer. I've seen in game betas, and in screen shots, people having more than the three layers alloted for building. How do I do this? I'd really love to make a multi-layer volcano area, but my progress is being hampered by this.

Thats because there are a 4th layer, the event one ;]. You can add tiles on it through events too.

Gorbeh
April 28th, 2010, 08:28 AM
Find this in PokemonTrainers:
trainer=pbLoadTrainer(trainerid,trainername,trainerparty)
if !trainer
pbMissingTrainer(trainerid,trainername,trainerparty)
return false
endIt should be around line 310. Above that first line, put Audio.me_fade(2500). That should take care of it.
That works partially, the ME does stop but after that there is just silence during its duration. I tried adding Audio.me_stop after that and the battle BGM plays for about a second and then switches to the map's music.

Wichu
April 28th, 2010, 08:55 AM
Change the ME to a BGM, and use Audio.bgm_play instead of Audio.me_play.

KitsuneKouta
April 28th, 2010, 10:10 AM
That works partially, the ME does stop but after that there is just silence during its duration. I tried adding Audio.me_stop after that and the battle BGM plays for about a second and then switches to the map's music.Did you assign a bgm to that particular trainer type? I just checked and that line was the only change I made, and after it fades the bgm starts and plays like normal. There is a 1 to 2 second wait though, but I haven't got around to looking into it yet. Also, I can't figure out why the map bgm would play, since I don't think there is normally a line that tells it to do so (unless you set the trainer's bgm to be the same as whatever map you're testing it on).

Raikt
April 28th, 2010, 10:17 AM
Thats because there are a 4th layer, the event one ;]. You can add tiles on it through events too.

I know that. :p I meant, I was seeing maps with 6+ layers on them. Unless they weren't done in Pokemon Essentials, how can I do that? Or is it not possible?

KitsuneKouta
April 28th, 2010, 10:33 AM
I know that. :p I meant, I was seeing maps with 6+ layers on them. Unless they weren't done in Pokemon Essentials, how can I do that? Or is it not possible?The only way it could have more layers is if it were made in something besides RMXP. How do you know there are actually 6+ layers? You don't actually have to put an entire object on one layer. For instance, if you want a tree to partially cover the bottom of a building (assuming your trees are on layer 2), you would put only the tip of the tree on layer 3, and the rest of it on layer 2. Then all of the building except for the piece that is covered would be on layer 3. The covered piece would go on layer 2 "under" the tip of the tree on layer 3. Why would you need 6 layers anyways? Three is fairly limited, but 4 should get you just about anything you need (as ~JV~ mentioned).

@maldicion069: Are you referring to updates to the starter kit? You should go to the download site to see if there are newer versions, and the change logs should be under it, which tell you what script changes were made (you'll likely have to figure out what the features actually are on your own).

Raikt
April 28th, 2010, 10:36 AM
The only way it could have more layers is if it were made in something besides RMXP. How do you know there are actually 6+ layers? You don't actually have to put an entire object on one layer. For instance, if you want a tree to partially cover the bottom of a building (assuming your trees are on layer 2), you would put only the tip of the tree on layer 3, and the rest of it on layer 2. Then all of the building except for the piece that is covered would be on layer 3. The covered piece would go on layer 2 "under" the tip of the tree on layer 3. Why would you need 6 layers anyways? Three is fairly limited, but 4 should get you just about anything you need (as ~JV~ mentioned).

I'm aware of that, too. I do it quite frequently where I place just the tip of trees on layer 3 so that they will lean over buildings. I'm talking about for mountain scapes. I had an idea for a Volcanic city, and it would have quite a few ups and downs. The plan was for five layers, after seeing a map with that many. I could tell it was more than 4, though, because of the way they had their mountains set up. It went Base (lava and grass), then layer two with another set of ridges and a few buildings, layer three with a few ridges and buildings, then three more increasing layers on top of the mountains. (As in, they steadily got taller and taller.)

EDIT: Like I said, it was probably something other than RMXP. It had DPPt graphics and was definitely a Pokemon game. So, I thought I would ask here and see if there was a trick I wasn't aware of.

Gorbeh
April 28th, 2010, 11:24 AM
Did you assign a bgm to that particular trainer type? I just checked and that line was the only change I made, and after it fades the bgm starts and plays like normal. There is a 1 to 2 second wait though, but I haven't got around to looking into it yet. Also, I can't figure out why the map bgm would play, since I don't think there is normally a line that tells it to do so (unless you set the trainer's bgm to be the same as whatever map you're testing it on).
EDIT:
I managed to fix it via eventing. Pretty much just added play ME right before the pbTrainerIntro and Kernel.pbNoticePlayer then a Audio.me_stop after that and a Restore BGM/BGS. And then right before the selfswitch a Audio.me_stop and a Play BGM (of the current map). I also had to delete all the comments but it works perfectly now.

KitsuneKouta
April 28th, 2010, 12:29 PM
As far as scripting that, this works fairly well:
Audio.me_fade(2500)
trainer=pbLoadTrainer(trainerid,trainername,trainerparty)
trainerbgm=pbGetTrainerBattleBGM(trainer[0])
pbWait(20)
Audio.me_stop
Audio.bgm_stop
pbBGMPlay(trainerbgm,80,100)The only problem left is that after the battle ends it plays the trainer bgm instead of the map's bgm. It's because I'm actually telling it to play again in the first place, but I'm having some difficulty pinning down the part that tells it do play by default (which I assume causes the post-battle play), so I can remove it.

Soull
April 28th, 2010, 02:18 PM
the option "assign key"(With variables) on the pokemon essentials this blocked?
and if so how I can unlock?

thanks

Lucario_XP
April 28th, 2010, 02:48 PM
KitsuneKouta thank you very much.

Gorbeh
April 28th, 2010, 03:36 PM
In case you're wondering this is what I ended up doing:
i116.photobucket.com/albums/o5/Gorbehz/eventbattleme.png
And since I pretty much just copy and paste then edit to make new trainers it's only two more things I need to edit, the prebattle ME and the map BGM. Also gives me more flexibility with how I want to event the trainer because with the comments other stuff isn't used.

Sero
April 28th, 2010, 04:04 PM
In the notes.html under trainers it says:

VanishIfSwitch: If the RPG Maker XP switch with this number is ON, the event will not be shown.

So if a certain switch is on, the event wouldn't be shown. In my game, the graphic is still there. If i try to remove the graphic on the third event page, the graphics on all the pages of that event disappear.

Is this supposed to happen?
And also, when I battle a trainer their Pokemon would be different genders. If I battle them again, the genders are all mixed up again. How can I fix this?

KitsuneKouta
April 28th, 2010, 07:57 PM
In the notes.html under trainers it says:

VanishIfSwitch: If the RPG Maker XP switch with this number is ON, the event will not be shown.

So if a certain switch is on, the event wouldn't be shown. In my game, the graphic is still there. If i try to remove the graphic on the third event page, the graphics on all the pages of that event disappear.

Is this supposed to happen?
And also, when I battle a trainer their Pokemon would be different genders. If I battle them again, the genders are all mixed up again. How can I fix this?
I haven't dealt with the VanishIfSwitch, but I do know that if you remove the graphic on the third event page it should in no way affect the others. For the second part, there's currently no fix that I know of, but something could probably be scripted. You would probably have to look at how the trainers.txt is compiled, and make it handle gender (for each pokemon, in a similar way to shiny or shadow). You would then have to make an edit to PokemonTrainer where it would check the particular line in the trainers.dat file to determine the appropriate gender. Alternatively, you could probably look and see if genders are handled in any way already, and if so, make a check for the trainer's gender, and make the pokemon's gender match. Unless you know how to script, none of this will help you much though.

jim42
April 28th, 2010, 11:59 PM
I was wondering what the correct set up for a trainer that would engage you automatically after a speech (e.g. Rival at Indigo Plateau in HGSS) would be, in terms of the script conditions and stuff. I noticed on the sample trainers that there is a condition referring to distance or something and the sample gym leader has conditions referring to the badges, neither of which i want.

Also, in the editor, how do I remove a pokemon from a trainer (short of deleting it in notepad)? I accidentally added a pokemon to the wrong trainer and there seems to not be a remove pokemon optioin. I don't want to mess up the .txt file so any help is appreciated.

Thirdly, to repeat my last post, what is the code for the keyboard text entry (like in pokemon raptor) and how/where do i implement it?

Lastly, can anyone direct me to some scripting tutorials relevant to the pokemon essentials stuff, i.e. trainers, menus, pokedex, etc. (on the topic of the pokedex, is there a filetype/method to make a footprint appear?)

Maruno
April 29th, 2010, 05:57 AM
I was wondering what the correct set up for a trainer that would engage you automatically after a speech (e.g. Rival at Indigo Plateau in HGSS) would be, in terms of the script conditions and stuff. I noticed on the sample trainers that there is a condition referring to distance or something and the sample gym leader has conditions referring to the badges, neither of which i want.

Also, in the editor, how do I remove a pokemon from a trainer (short of deleting it in notepad)? I accidentally added a pokemon to the wrong trainer and there seems to not be a remove pokemon optioin. I don't want to mess up the .txt file so any help is appreciated.

Thirdly, to repeat my last post, what is the code for the keyboard text entry (like in pokemon raptor) and how/where do i implement it?

Lastly, can anyone direct me to some scripting tutorials relevant to the pokemon essentials stuff, i.e. trainers, menus, pokedex, etc. (on the topic of the pokedex, is there a filetype/method to make a footprint appear?)
Have a look at a regular trainer. It contains, amongst other things, "Kernel.pbNoticePlayer". This script does the "walk towards the player if they're within range" thing. Get rid of that, and change the event type to Action Button rather than Event Touch. Then just put a few messages before the battle scripts, and you're set.

I'm not answering this directly because I don't use the editor, so I don't know. There's nothing hard about the PBS files, though. Just remove the pokémon's line from that particular trainer, and change the number that says how many pokémon that trainer has.

In PokemonEntry, find the def "pbEnterText" (near the bottom). This contains the line "sscene=PokemonEntryScene2.new". Remove that "2". Simple.

The best way to get used to Essentials scripts is to look at them and play with them. Just experiment. (The same way you display any picture. I've done it with three lines. Hint: it involves "BitmapCache.load_bitmap", "bitmap.blt" and "dispose" - go find somewhere else that uses those terms, and copy/paste.)

Raikt
April 29th, 2010, 07:19 AM
Ok; so, coming in to say my bad. I just noticed that you can "simulate" more than three layers by stacking and leaving the base layer the same. I was able to achieve my "6 layer" volcano scape I was hoping for. Thanks for the help so far on everything, guys.~

KitsuneKouta
April 29th, 2010, 07:22 AM
I was wondering what the correct set up for a trainer that would engage you automatically after a speech (e.g. Rival at Indigo Plateau in HGSS) would be, in terms of the script conditions and stuff. I noticed on the sample trainers that there is a condition referring to distance or something and the sample gym leader has conditions referring to the badges, neither of which i want.

Also, in the editor, how do I remove a pokemon from a trainer (short of deleting it in notepad)? I accidentally added a pokemon to the wrong trainer and there seems to not be a remove pokemon optioin. I don't want to mess up the .txt file so any help is appreciated.

Thirdly, to repeat my last post, what is the code for the keyboard text entry (like in pokemon raptor) and how/where do i implement it?

Lastly, can anyone direct me to some scripting tutorials relevant to the pokemon essentials stuff, i.e. trainers, menus, pokedex, etc. (on the topic of the pokedex, is there a filetype/method to make a footprint appear?)On the first one I'm assuming you want something like the character walks up to them automatically followed by said speech. You would need an autorun at the entrance to force your character to walk up to them, and after the Wait For Move's Completion make a switch that turns on. Set the trainer event's condition to that switch and make it autorun as well, turning off the switch after battle. To remove entries for pretty much anything in the editor, go to the part you want to remove and press z, and it should give a confirmation message before deleting it. I don't have the keyboard text entry, so maybe you can ask whoever developed the game. For scripting tutorials, it doesn't necessarily have to be pokemon relevant since it's all RGSS anyways. It always help to actually look at the scripts in the starter kit if you want to start learning though (after 2 months you'll probably start to feel comfortable with it, but you'll want to learn the meanings of general terms first, like methods, classes, etc). For footprints, it shouldn't be too hard, but you'll need the graphic for every pokemon's footprint. Then there would need be some kind of check to determine the species and what the appropriate footprint would be (layed out similar to how the pokemon's picture is displayed).

thepsynergist
April 29th, 2010, 08:31 AM
Ok; so, coming in to say my bad. I just noticed that you can "simulate" more than three layers by stacking and leaving the base layer the same. I was able to achieve my "6 layer" volcano scape I was hoping for. Thanks for the help so far on everything, guys.~

If you're crazy good at RGSS, I'm fairly certain that you can script more than 3 layers.

Wichu
April 29th, 2010, 08:38 AM
I think he meant having more layers of cliffs, which can be done with just one layer.

Adding more layers through RGSS isn't difficult; however, you won't be able to edit them easily, as RMXP itself only has 3 layers in its map editor :P

jim42
April 29th, 2010, 11:15 PM
Have a look at a regular trainer. It contains, amongst other things, "Kernel.pbNoticePlayer". This script does the "walk towards the player if they're within range" thing. Get rid of that, and change the event type to Action Button rather than Event Touch. Then just put a few messages before the battle scripts, and you're set.

I'm not answering this directly because I don't use the editor, so I don't know. There's nothing hard about the PBS files, though. Just remove the pokémon's line from that particular trainer, and change the number that says how many pokémon that trainer has.

In PokemonEntry, find the def "pbEnterText" (near the bottom). This contains the line "sscene=PokemonEntryScene2.new". Remove that "2". Simple.

The best way to get used to Essentials scripts is to look at them and play with them. Just experiment. (The same way you display any picture. I've done it with three lines. Hint: it involves "BitmapCache.load_bitmap", "bitmap.blt" and "dispose" - go find somewhere else that uses those terms, and copy/paste.)

thanks a bunch maruno. all of it worked, although it took a bit of effort to make the footprint work (in fact, just to make it!). I never knew it would be that easy to change to text entry - i feel like such a n00b (though really i am).

Maruno
April 30th, 2010, 04:09 AM
thanks a bunch maruno. all of it worked, although it took a bit of effort to make the footprint work (in fact, just to make it!). I never knew it would be that easy to change to text entry - i feel like such a n00b (though really i am).
I was surprised by the entry thing too, when I discovered it months ago. It's nothing to feel noobish about, though - it's not as though it's mentioned anywhere.

Kaylee Krysteenah Fynch
April 30th, 2010, 08:26 PM
Wish I knew more about what to do with all those buttons in the PokémonEntry. For one thing, F5 is a really inconvenient button to push, so why did he make THAT the select button?!? >.<

Basically, I want to make it so that one button opens the menu (like start would), one button acts as select (and not have it be F5), one button acts as b (cancels choices, and makes you run on the overworld), and one button acts as a (confirming choices, talking to people, and checking objects).

Now, I don't know if I can do that (especially since I'm pretty sure there are references to the buttons everywhere, so I'll miss one somewhere and crash my game or something >.<). So if anyone has any tips on what I should look for, that'd be great.

Also, a person could program any button to any key if they knew the code for that key, right? If so, do you think someone could point me in the direction of those codes? If it doesn't work that way, then it would be great if someone could let me know that, instead. ;)

Maruno
May 1st, 2010, 06:34 AM
Wish I knew more about what to do with all those buttons in the PokémonEntry. For one thing, F5 is a really inconvenient button to push, so why did he make THAT the select button?!? >.<

Basically, I want to make it so that one button opens the menu (like start would), one button acts as select (and not have it be F5), one button acts as b (cancels choices, and makes you run on the overworld), and one button acts as a (confirming choices, talking to people, and checking objects).

Now, I don't know if I can do that (especially since I'm pretty sure there are references to the buttons everywhere, so I'll miss one somewhere and crash my game or something >.<). So if anyone has any tips on what I should look for, that'd be great.

Also, a person could program any button to any key if they knew the code for that key, right? If so, do you think someone could point me in the direction of those codes? If it doesn't work that way, then it would be great if someone could let me know that, instead. ;)
There are three parts to the input commands. The first is figuring out which key you've actually pressed on the keyboard. These are known as "0x5A", "0x0d", and so on. I call these keys.

The next part is giving these awkward codes a simple name so you can tell at a glance what you're actually doing. These are "Input::A", "Input::UP", and so on. This is what you'll find throughout the scripts. I call these buttons.

The third part is what pressing a button actually does. This all depends on what's going on at the time (i.e. whether you're in the Bag or the Pokédex or a Mart or whatever), so different parts of the scripts each check what's being pressed. They check to see whether you've pressed a particular button, and if so, do this/that/the other. I call these commands.

Look in PokemonEntry, and a little way down you'll find the conversions between the two. They look like the following:


when Input::A
return [0x5A,0x10] # Z, Shift
when Input::B
return [0x58,0x1B] # X, ESC
when Input::C
return [0x43,0x0d,0x20] # C, ENTER, Space
Luckily, there's a comment next to each line saying what each key code is.

What you can do is find the "Input::F5" line, and change the key code there to the key code for another key (e.g. Tab). Unfortunately I don't know where to find the key codes for any key on a keyboard, so I've just ended up moving the codes around (i.e. using the ones that are already there, but assigning them to different buttons).

The above changes what keys you can use in the game, and what they're called. If you want to change what pressing a button will actually do in a scenario (e.g. pressing the A button in the Bag), you'll need to find the part of the scripts that actually deals with that scenario (e.g. PokemonBag). See below.



One part of the controls in particular I didn't like was that "run" was a separate key to pretty much everything else, and that "open pause menu" was the same key as "cancel" (meaning if you press "cancel" to finish a dialogue, the pause menu pops up, which is annoying). I figured that "back" could be the same key as "run" (since you'll never use the two at the same time), and that "open pause menu" could be a separate key.

Essentially, I switched around the "run" and "open pause menu" controls. Makes sense, right? And it actually works just fine.

The controls (i.e. what pressing a button actually does) are located in lots of places around the scripts. Just search for "Input::" in the appropriate places to find them.

The "run" command is in Walk_Run, in the def "pbCanRun?". It's using button A at the moment, so I changed it to button B (which is used as "back"/"cancel" elsewhere). The "open pause menu" command is in Scene_Map; search for "Input::B" and you should find it. I changed that to button A. Done!



That's just a very brief overview of the controls. It's fiddly stuff, and it's very easy to mess it up (so make backups!). Just remember that there are three parts to the input: finding what's been pressed on the keyboard (PokemonEntry), giving those keys a name (PokemonEntry again), and saying what happens when they're pressed (everywhere).

Kaylee Krysteenah Fynch
May 1st, 2010, 12:38 PM
Thanks Maruno, I'll probably stick with that. And yup, I've learned to make backups whenever I do something I'm not sure about - and even sometimes if I do think I'm sure!

Anyway, I was Googling for those keyboard codes, trying to find one that matches up with the numbers used in PokemonEntry. I finally did, but the page won't load, and I had to use that google had in its cache. Because it was hard to find/get to the information, I'll put it up here for anybody who needs it - also, just give me a shout about where and how and whether it should go in the wiki. ;)

The following is mostly copied from where I found it, but I had to fix the formatting (so it's a bit sloppy):
Virtual key codes

The following table shows the symbolic constant names, hexadecimal values, and mouse or keyboard equivalents for the virtual-key codes (http://msdn.microsoft.com/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/VirtualKeyCodes.asp) used by the system. The codes are listed in numeric order.

Symbolic constant name _ Value (hex) __ Mouse or keyboard equivalents
VK_LBUTTON ___________ 01 _________ Left mouse button
VK_RBUTTON ___________ 02 _________ Right mouse button
VK_CANCEL _____________ 03 _________ Control-break processing
VK_MBUTTON ___________ 04 _________ Middle mouse button (three-button mouse)
VK_XBUTTON1 __________ 05 _________ Windows 2000/XP/2003/Vista/2008/7: X1 mouse button
VK_XBUTTON2 __________ 06 _________ Windows 2000/XP/2003/Vista/2008/7: X2 mouse button
- _____________________ 07 _________ Undefined
VK_BACK _______________ 08 _________ BACKSPACE key
VK_TAB ________________ 09 _________ TAB key
- _____________________ 0A-0B _______ Reserved
VK_CLEAR ______________ 0C _________ CLEAR key
VK_RETURN _____________ 0D _________ ENTER key
- _____________________ 0E-0F _______ Undefined
VK_SHIFT ______________ 10 __________ SHIFT key
VK_CONTROL ___________ 11 __________ CTRL key
VK_MENU ______________ 12 __________ ALT key
VK_PAUSE ______________ 13 __________ PAUSE key
VK_CAPITAL ____________ 14 __________ CAPS LOCK key
VK_KANA _______________ 15 __________ Input Method Editor (IME) Kana mode
VK_HANGUEL ____________ 15 __________ IME Hanguel mode (maintained for compatibility; use VK_HANGUL)
VK_HANGUL _____________ 15 __________ IME Hangul mode
- ______________________ 16 __________ Undefined
VK_JUNJA _______________ 17 __________ IME Junja mode
VK_FINAL _______________ 18 __________ IME final mode
VK_HANJA ______________ 19 __________ IME Hanja mode
VK_KANJI _______________ 19 __________ IME Kanji mode
- ______________________ 1A __________ Undefined
VK_ESCAPE _____________ 1B ___________ ESC key
VK_CONVERT ____________ 1C __________ IME convert (Reserved for Kanji systems)
VK_NONCONVERT ________ 1D ___________ IME nonconvert (Reserved for Kanji systems)
VK_ACCEPT _____________ 1E ___________ IME accept (Reserved for Kanji systems)
VK_MODECHANGE ________ 1F ___________ IME mode change request (Reserved for Kanji systems)
VK_SPACE ______________ 20 ___________ SPACEBAR
VK_PRIOR _______________ 21 ___________ PAGE UP key
VK_NEXT _______________ 22 ___________ PAGE DOWN key
VK_END ________________ 23 ___________ END key
VK_HOME _______________ 24 ___________ HOME key
VK_LEFT ________________ 25 ___________ LEFT ARROW key
VK_UP __________________ 26 ___________ UP ARROW key
VK_RIGHT _______________ 27 ___________ RIGHT ARROW key
VK_DOWN _______________ 28 ___________ DOWN ARROW key
VK_SELECT ______________ 29 ___________ SELECT key
VK_PRINT _______________ 2A ___________ PRINT key
VK_EXECUTE ____________ 2B ____________ EXECUTE key
VK_SNAPSHOT___________ 2C ____________ PRINT SCREEN key for Windows 3.0 and later
VK_INSERT ______________ 2D ____________ INS key
VK_DELETE ______________ 2E ____________ DEL key
VK_HELP ________________ 2F ____________ HELP key
VK_0 ___________________ 30 ____________ 0 key
VK_1 ___________________ 31 ____________ 1 key
VK_2 ___________________ 32 ____________ 2 key
VK_3 ___________________ 33 ____________ 3 key
VK_4 ___________________ 34 ____________ 4 key
VK_5 ___________________ 35 ____________ 5 key
VK_6 ___________________ 36 ____________ 6 key
VK_7 ___________________ 37 ____________ 7 key
VK_8 ___________________ 38 ____________ 8 key
VK_9 ___________________ 39 ____________ 9 key
- ______________________ 3A-40 _________ Undefined
VK_A ___________________ 41 ____________ A key
VK_B ___________________ 42 ____________ B key
VK_C ___________________ 43 ____________ C key
VK_D ___________________ 44 ____________ D key
VK_E ___________________ 45 ____________ E key
VK_F ___________________ 46 ____________ F key
VK_G ___________________ 47 ____________ G key
VK_H ___________________ 48 ____________ H key
VK_I ___________________ 49 ____________ I key
VK_J ___________________ 4A ____________ J key
VK_K ___________________ 4B ____________ K key
VK_L ___________________ 4C ____________ L key
VK_M ___________________ 4D ____________ M key
VK_N ___________________ 4E ____________ N key
VK_O ___________________ 4F ____________ O key
VK_P ___________________ 50 ____________ P key
VK_Q ___________________ 51 ____________ Q key
VK_R ___________________ 52 ____________ R key
VK_S ___________________ 53 ____________ S key
VK_T ___________________ 54 ____________ T key
VK_U ___________________ 55 ____________ U key
VK_V ___________________ 56 ____________ V key
VK_W ___________________ 57 ____________ W key
VK_X ___________________ 58 ____________ X key
VK_Y ___________________ 59 ____________ Y key
VK_Z ___________________ 5A ____________ Z key
VK_LWIN ________________ 5B ____________ Left Windows key (Microsoft Natural Keyboard)
VK_RWIN ________________ 5C ____________ Right Windows key (Microsoft Natural Keyboard)
VK_APPS ________________ 5D ____________ Applications key (Microsoft Natural Keyboard)
- _______________________ 5E ____________ Reserved
VK_SLEEP ________________ 5F ____________ Computer Sleep key
VK_NUMPAD0 _____________ 60 ____________ Numeric keypad 0 key
VK_NUMPAD1 _____________ 61 ____________ Numeric keypad 1 key
VK_NUMPAD2 _____________ 62 ____________ Numeric keypad 2 key
VK_NUMPAD3 _____________ 63 ____________ Numeric keypad 3 key
VK_NUMPAD4 _____________ 64 ____________ Numeric keypad 4 key
VK_NUMPAD5 _____________ 65 ____________ Numeric keypad 5 key
VK_NUMPAD6 _____________ 66 ____________ Numeric keypad 6 key
VK_NUMPAD7 _____________ 67 ____________ Numeric keypad 7 key
VK_NUMPAD8 _____________ 68 ____________ Numeric keypad 8 key
VK_NUMPAD9 _____________ 69 ____________ Numeric keypad 9 key
VK_MULTIPLY _____________ 6A ____________ Multiply key
VK_ADD __________________ 6B ____________ Add key
VK_SEPARATOR ___________ 6C ____________ Separator key
VK_SUBTRACT ____________ 6D ____________ Subtract key
VK_DECIMAL ______________ 6E ____________ Decimal key
VK_DIVIDE ________________ 6F ____________ Divide key
VK_F1 ___________________ 70 ____________ F1 key
VK_F2 ___________________ 71 ____________ F2 key
VK_F3 ___________________ 72 ____________ F3 key
VK_F4 ___________________ 73 ____________ F4 key
VK_F5 ___________________ 74 ____________ F5 key
VK_F6 ___________________ 75 ____________ F6 key
VK_F7 ___________________ 76 ____________ F7 key
VK_F8 ___________________ 77 ____________ F8 key
VK_F9 ___________________ 78 ____________ F9 key
VK_F10 __________________ 79 ____________ F10 key
VK_F11 __________________ 7A ____________ F11 key
VK_F12 __________________ 7B ____________ F12 key
VK_F13 __________________ 7C ____________ F13 key
VK_F14 __________________ 7D ____________ F14 key
VK_F15 __________________ 7E ____________ F15 key
VK_F16 __________________ 7F ____________ F16 key
VK_F17 __________________ 80H ___________ F17 key
VK_F18 __________________ 81H ___________ F18 key
VK_F19 __________________ 82H ___________ F19 key
VK_F20 __________________ 83H ___________ F20 key
VK_F21 __________________ 84H ___________ F21 key
VK_F22 __________________ 85H ___________ F22 key
VK_F23 __________________ 86H ___________ F23 key
VK_F24 __________________ 87H ___________ F24 key
- _______________________ 88-8F __________ Unassigned
VK_NUMLOCK _____________ 90 ____________ NUM LOCK key
VK_SCROLL _______________ 91 ____________ SCROLL LOCK key
VK_OEM_NEC_EQUAL _______ 92 ____________ NEC PC-9800 kbd definitions: '=' key on numpad
VK_OEM_FJ_JISHO _________ 92 ____________ Fujitsu/OASYS kbd definitions: 'Dictionary' key
VK_OEM_FJ_MASSHOU ______ 93 ____________ Fujitsu/OASYS kbd definitions: 'Unregister word' key
VK_OEM_FJ_TOUROKU ______ 94 ____________ Fujitsu/OASYS kbd definitions: 'Register word' key
VK_OEM_FJ_LOYA __________ 95 ____________ Fujitsu/OASYS kbd definitions: 'Left OYAYUBI' key
VK_OEM_FJ_ROYA __________ 96 ____________ Fujitsu/OASYS kbd definitions: 'Right OYAYUBI' key
- ________________________ 97-9F _________ Unassigned
VK_LSHIFT ________________ A0 ____________ Left SHIFT key
VK_RSHIFT ________________ A1 ____________ Right SHIFT key
VK_LCONTROL _____________ A2 _____________ Left CONTROL key
VK_RCONTROL _____________ A3 _____________ Right CONTROL key
VK_LMENU ________________ A4 _____________ Left MENU key
VK_RMENU ________________ A5 _____________ Right MENU key
VK_BROWSER_BACK ________ A6 _____________ Windows 2000/XP/2003/Vista/2008/7: Browser Back key
VK_BROWSER_FORWARD _____ A7 ____________ Windows 2000/XP/2003/Vista/2008/7: Browser Forward key
VK_BROWSER_REFRESH _____ A8 _____________ Windows 2000/XP/2003/Vista/2008/7: Browser Refresh key
VK_BROWSER_STOP ________ A9 _____________ Windows 2000/XP/2003/Vista/2008/7: Browser Stop key
VK_BROWSER_SEARCH ______ AA _____________ Windows 2000/XP/2003/Vista/2008/7: Browser Search key
VK_BROWSER_FAVORITES ___ AB _____________ Windows 2000/XP/2003/Vista/2008/7: Browser Favorites key
VK_BROWSER_HOME ________ AC _____________ Windows 2000/XP/2003/Vista/2008/7: Browser Start and Home key
VK_VOLUME_MUTE _________ AD _____________ Windows 2000/XP/2003/Vista/2008/7: Volume Mute key
VK_VOLUME_DOWN _________ AE _____________ Windows 2000/XP/2003/Vista/2008/7: Volume Down key
VK_VOLUME_UP ____________ AF _____________ Windows 2000/XP/2003/Vista/2008/7: Volume Up key
VK_MEDIA_NEXT_TRACK _____ B0 _____________ Windows 2000/XP/2003/Vista/2008/7: Next Track key
VK_MEDIA_PREV_TRACK _____ B1 _____________ Windows 2000/XP/2003/Vista/2008/7: Previous Track key
VK_MEDIA_STOP ___________ B2 _____________ Windows 2000/XP/2003/Vista/2008/7: Stop Media key
VK_MEDIA_PLAY_PAUSE _____ B3 _____________ Windows 2000/XP/2003/Vista/2008/7: Play/Pause Media key
VK_LAUNCH_MAIL __________ B4 _____________ Windows 2000/XP/2003/Vista/2008/7: Start Mail key
VK_LAUNCH_MEDIA_SELECT __ B5 _____________ Windows 2000/XP/2003/Vista/2008/7: Select Media key
VK_LAUNCH_APP1 __________ B6 _____________ Windows 2000/XP/2003/Vista/2008/7: Start Application 1 key
VK_LAUNCH_APP2 __________ B7 _____________ Windows 2000/XP/2003/Vista/2008/7: Start Application 2 key
- ________________________ B8-B9 __________ Reserved
VK_OEM_1 ________________ BA _____________ Windows 2000/XP/2003/Vista/2008/7: For the US standard ___________________________________________keyboard, the ';:' key
VK_OEM_PLUS _____________ BB _____________ Windows 2000/XP/2003/Vista/2008/7: For any country/region, the ___________________________________________'+' key
VK_OEM_COMMA ___________ BC _____________ Windows 2000/XP/2003/Vista/2008/7: For any country/region, the ___________________________________________',' key
VK_OEM_MINUS ____________ BD _____________ Windows 2000/XP/2003/Vista/2008/7: For any country/region, the ___________________________________________'-' key
VK_OEM_PERIOD ___________ BE _____________ Windows 2000/XP/2003/Vista/2008/7: For any country/region, the '.' ___________________________________________key
VK_OEM_2 ________________ BF _____________ Windows 2000/XP/2003/Vista/2008/7: For the US standard ___________________________________________keyboard, the '/?' key
VK_OEM_3 ________________ C0 _____________ Windows 2000/XP/2003/Vista/2008/7: For the US standard ___________________________________________keyboard, the '`~' key
- _______________________ C1-D7 ___________ Reserved
- _______________________ D8-DA ___________ Unassigned
VK_OEM_4 ________________ DB _____________ Windows 2000/XP/2003/Vista/2008/7: For the US standard ___________________________________________keyboard, the '[{' key
VK_OEM_5 ________________ DC _____________ Windows 2000/XP/2003/Vista/2008/7: For the US standard ___________________________________________keyboard, the '\|' key
VK_OEM_6 ________________ DD _____________ Windows 2000/XP/2003/Vista/2008/7: For the US standard ___________________________________________keyboard, the ']}' key
VK_OEM_7 ________________ DE _____________ Windows 2000/XP/2003/Vista/2008/7: For the US standard ___________________________________________keyboard, the 'single-quote/double-quote' key
VK_OEM_8 ________________ DF ______________ Used for miscellaneous characters; it can vary by keyboard.
- ________________________ E0 ______________ Reserved
- ________________________ E1 ______________ OEM specific
VK_OEM_102 ______________ E2 ______________ Windows 2000/XP/2003/Vista/2008/7: Either the angle bracket key ___________________________________________or the backslash key on the RT 102-key keyboard
- ________________________ E3-E4 ___________ OEM specific
VK_PROCESSKEY ___________ E5 ______________ Windows 95/98/Me, Windows NT/2000/XP/2003/Vista/2008/7: ___________________________________________ IME PROCESS key
- ________________________ E6 ______________ OEM specific
VK_PACKET _______________ E7 ______________ Windows 2000/XP/2003/Vista/2008/7: Used to pass Unicode ___________________________________________characters as if they were keystrokes. The VK_PACKET key is the low ___________________________________________word of a 32-bit Virtual Key value used for non-keyboard input methods. - ________________________ E8 ______________ Unassigned
VK_OEM_RESET ____________ E9 ______________ Only used by Nokia.
VK_OEM_JUMP _____________ EA ______________ Only used by Nokia.
VK_OEM_PA1 ______________ EB ______________ Only used by Nokia.
VK_OEM_PA2 ______________ EC ______________ Only used by Nokia.
VK_OEM_PA3 ______________ ED ______________ Only used by Nokia.
VK_OEM_WSCTRL __________ EE ______________ Only used by Nokia.
VK_OEM_CUSEL ____________ EF ______________ Only used by Nokia.
VK_OEM_ATTN _____________ F0 ______________ Only used by Nokia.
VK_OEM_FINNISH ___________ F1 ______________ Only used by Nokia.
VK_OEM_COPY _____________ F2 ______________ Only used by Nokia.
VK_OEM_AUTO ____________ F3 _______________ Only used by Nokia.
VK_OEM_ENLW ____________ F4 _______________ Only used by Nokia.
VK_OEM_BACKTAB _________ F5 _______________ Only used by Nokia.
VK_ATTN _________________ F6 _______________ Attn key
VK_CRSEL ________________ F7 _______________ CrSel key
VK_EXSEL ________________ F8 _______________ ExSel key
VK_EREOF ________________ F9 _______________ Erase EOF key
VK_PLAY _________________ FA _______________ Play key
VK_ZOOM ________________ FB _______________ Zoom key
VK_NONAME ______________ FC _______________ Reserved for future use.
VK_PA1 __________________ FD _______________ PA1 key
VK_OEM_CLEAR ___________ FE ________________ Clear key
- _______________________ FF ________________ Multimedia keys. See ScanCode keys.
Probably nobody here needed all of the above, and I know there are some things there that made me go, "huh?" But I didn't want to take any out, just in case someone could make use of it. ;) Also, I haven't tested any of them yet, just so you all know - I just checked that they seemed to match up. Ie, F5 is 74, left arrow is 25.

If you use them, you'll want to put an "0x" in front of them (0x signifies that the following number is a hexidecimal, if I'm remembering correctly). For example, F5's code, 74, becomes 0x74. When in doubt, look at the codes already there. ;)

EDIT: Control change SUCCESS! I have it working a lot like my controls on VBA now. WOOHOO! Thanks for the tips, Maruno. Also, those codes I looked up seem to work - at least the ones I used, which were standard letters. Though I confused myself for a minute with the code for the D key... Argh, when will I stop having these blond moments?!? XD At least I quickly realized what I ought to check this time! ^o^

Dave.
May 2nd, 2010, 04:12 AM
Quick question - TMs and HMs appear to be shown in the pocket in the order they are added.

It's not vital, but would be much more aesthetically pleasing if they could be in numerical order (TMs then HMs). Is there a way to do this?



Anybody have a solution for this?

Maruno
May 2nd, 2010, 05:01 AM
Quick question - TMs and HMs appear to be shown in the pocket in the order they are added.

It's not vital, but would be much more aesthetically pleasing if they could be in numerical order (TMs then HMs). Is there a way to do this?
There are two parts to this request: reorder the items in the TM/HM pocket whenever you add a new item, and forbid the player from rearranging the items in that pocket. Both are simple fixes, if you know where to look.

If you think about it, if you reorder the items when a new item is picked up (or when you've picked up your 100th copy of an item you already have, i.e. it goes into a new slot in the pocket), then that'll work just fine. Using/tossing/giving an item won't change the overall order of the items (taking a new item work the same as adding a new one), and the only other obstacle becomes the ability to rearrange items (see below). Given this, we find the script that deals with adding items, and modifying it slightly.

PokemonBag, "self.pbStoreItem". Looks complicated. But basically, the first part of the "for" loop adds an item to a new slot, and the second part adds it to an already filled slot that has the same item in it. We care about the first part, since that's the one that will change the numerical/alphabetical/whateverical order we want. Obviously, we need to let the item be added first, and only reorder the list after that. And that's what the additional red line below does.

def self.pbStoreItem(items,maxsize,maxPerSlot,item,qty)
raise "Invalid value for qty: #{qty}" if qty<0
return true if qty==0
for i in 0...maxsize
itemslot=items[i]
if !itemslot
items[i]=[item,[qty,maxPerSlot].min]
qty-=items[i][1]
items.sort! if $ItemData[item][ITEMPOCKET]==4
return true if qty==0
elsif itemslot[0]==item && itemslot[1]<maxPerSlot
newamt=itemslot[1]
newamt=[newamt+qty,maxPerSlot].min
qty-=(newamt-itemslot[1])
itemslot[1]=newamt
return true if qty==0
end
end
return false
end
An important thing to note is that this sorts the items depending on their ID number (i.e. the way they're listed in items.txt). By default, HMs are listed just below the TMs in there, so they come after the TMs in the pocket - it doesn't sort by alphabetical order. Make sure the order you want the items to be in is how they're arranged in items.txt.

This only reorders the TM/HM pocket (or rather, pocket number 4). You can easily expand on it to auto-reorder the berries pocket or anything else (although possibly aside from the berries, I don't know why you'd want to).



Remember there's a second part to this? It's not letting the player rearrange the items by themselves. If they could, then the items would simply revert back to their original list order once something new was added, which would annoy the player.

PokemonBag, the first (and biggest) "pbChooseItem". Somewhere in there is...
if Input.trigger?(Input::A)...followed by the code that will swap two items. You need to add a caveat to this line such that it will only work if A has been pressed AND if the pocket is not the TM/HM pocket. Like so:
if Input.trigger?(Input::A) && $ItemData[itemwindow.item][ITEMPOCKET]!=4See? There's barely anything to it, but you'd need to know what you were doing in order to figure it out.

Dave.
May 2nd, 2010, 05:31 AM
Fantastic, thanks for that Maruno.

Wichu
May 2nd, 2010, 08:47 AM
You can change the sort method by passing a block to the sort function, just so you know ;)

Sero
May 2nd, 2010, 12:33 PM
I was wondering, does anyone have pre-made animation file for the attacks so I can just import them and they would work?
If not, can anyone tell me how to make them. Its too confusiing for me.

Wack0
May 2nd, 2010, 01:00 PM
Hey,
I've been changing the midis to the proper ripped R/S mp3s, and modifying the scripts/metadata to point to the mp3s if i have to.
And I've found an annoying bug..
At the start of a battle (wild and trainer, started through debug menu or not), the music starts playing in the MIDDLE and not at the beginning..
Is there any way to rectify this ?

Maruno
May 2nd, 2010, 05:12 PM
You can change the sort method by passing a block to the sort function, just so you know ;)
If I knew what that meant, I'd probably agree with you.

KitsuneKouta
May 2nd, 2010, 06:40 PM
If I knew what that meant, I'd probably agree with you.I was thinking the same thing...

@Sero: I don't think there are any complete animation files, unless they are part of someone's project. Even then, I doubt anyone would give it to you since they can be difficult or time consuming to make (it's something that tends to get put off when making a project, to make more time for scripting, mapping, spriting, etc.). Also, you would need the exact graphics they were using, each named the same. To make your own, you will need some graphics in the Animations folder (you could use what comes in the RTP if you'd like, but they aren't very pokemon-like). To learn how to make them, you should probably just mess around with ones that already exist to see how they function. If you're not a very good artist, you will probably struggle with making them. Also note that the animation editor that comes with essentials is required for moving the battlers, since the one in RMXP is fairly limited.

@Wack0: I was working on that recently, but didn't get it figured out. I'll get back to it sometime and see if I can fix it.

Wack0
May 3rd, 2010, 02:53 AM
KitsuneKouta: great, thanks.

KitsuneKouta
May 3rd, 2010, 07:52 AM
KitsuneKouta: great, thanks.
This should fix it. Look for
trainer=pbLoadTrainer(trainerid,trainername,trainerparty)and change it to
Audio.me_fade(2500)
trainer=pbLoadTrainer(trainerid,trainername,trainerparty)
pbWait(20)
Audio.me_stop
Audio.bgm_stopThis got it working for me, but I will say that you should avoid MIDIs when possible, since they sometimes never play, or only some of the instruments play. When I was trying this out, the trainer bgm MIDI wouldn't play unless I changed maps and returned, but the MP3 worked just fine.

Wichu
May 3rd, 2010, 08:24 AM
The best way to do it would be to change the pre-battle music from a ME to a BGM. BGMs wait for MEs to stop playing, which is why it doesn't work properly; playing a BGM stops the previous BGM immediately.

Also, to fix the MIDI glitches, delete/rename the Audio.dll file, as it's a bit buggy.

EDIT: Also, a block is a self-contained piece of script, enclosed in { }. You can pass arguments to and return values from blocks (the returned value is the last line of code executed in the block). For example:
def alphabeticalItemSort(a, b)
return PBItems.getName(a) <=> PBItems.getName(b)
end

items.sort!{|a, b| alphabeticalItemSort(a, b)}

# or simply

items.sort!{|a, b| PBItems.getName(a) <=> PBItems.getName(b)}

The sort method passes two of the objects being sorted to the block (I called them a and b here), which is expected to return a comparison of the two (in this case, 1 if a comes after b alphabetically, 0 if a and b are the same, and -1 if a comes before). The <=> operator, defined for most of the basic types, does that comparison for us. As it's the last line evaluated within the block, its return value is returned back to the sort method.

Arma
May 3rd, 2010, 08:58 AM
The moves from gen. IV doesn't seem to be in the starter kit. Does anybody has the pbs moves.txt file which includes all of these moves? It would save me a lot of time.

KitsuneKouta
May 3rd, 2010, 09:12 AM
The moves from gen. IV doesn't seem to be in the starter kit. Does anybody has the pbs moves.txt file which includes all of these moves? It would save me a lot of time.Even if you had the txt file, some of the effects have to be scripted. Also, some of the people that have made 4th gen moves gave them 3rd gen effects as placeholders, since finding every move that needs a scripted effect and implementing it can be time consuming. It's not likely that anyone will just give it to you, but if they do just be aware that it will still require work on your part.

@Wichu: thanks for the heads up on the Audio.dll file, it's much better now. What exactly was it used for?

Arma
May 3rd, 2010, 11:06 AM
Even if you had the txt file, some of the effects have to be scripted. Also, some of the people that have made 4th gen moves gave them 3rd gen effects as placeholders, since finding every move that needs a scripted effect and implementing it can be time consuming. It's not likely that anyone will just give it to you, but if they do just be aware that it will still require work on your part.

I know some of the moves' effects aren't scripted, like gyro ball and Sucker punch, but moves like Seed Bomb and drain punch should be easy to add.

The thing is, there were more than 100 new moves introduced in gen 4 and adding all of them will take some time. I guess I'll better get to work thenXD. I'll upload the moves file once I've added the moves that don't require any additional scripting.

KitsuneKouta
May 3rd, 2010, 11:55 AM
I'm looking for a way to add a KO count to a pokemon. Basically, when one of your pokemon KOs an enemy, it will add 1 and keep a running total. It's fairly simple: define a global variable, add 1 when an enemy is KOd, and access the variable in the script that needs to display it. The part I need is where it should be. I checked Pokebattle_Battler and found something that seems right: the part that determines who gets experience using @participants. However, it needs to be narrowed to only the pokemon that makes the last hit. I would appreciate it if someone could point me in the right direction.

Worldslayer608
May 3rd, 2010, 12:19 PM
So I am wondering where I will find the information regarding the screen location. As you can see in the image below, it is loading a bit off center for the graphic I had made to wrap around it. Is it possible to push it to the left and down so the black area is covered up? If so where might I find this information?

Thanks

http://i43.tinypic.com/qouam9.jpg

Trigger
May 3rd, 2010, 02:14 PM
Whats the number value that indicates a pokeball is a snag ball?

Worldslayer608
May 3rd, 2010, 04:04 PM
Never mind I got both questions solved

Maruno
May 3rd, 2010, 04:14 PM
Whats the number value that indicates a pokeball is a snag ball?
It's in the wiki. (http://pokemonessentials.wikia.com/wiki/Items#PBS.2Fitems.txt) Check the "Special Items" part of that table, towards the bottom.

Sero
May 3rd, 2010, 06:42 PM
How can I make the server work. I tried to make it work but it still says that it's not connected.

Vociferocity
May 3rd, 2010, 07:11 PM
Never mind I got both questions solved

did you solve the screen location one? I'd love to know how that works.

Worldslayer608
May 3rd, 2010, 07:51 PM
did you solve the screen location one? I'd love to know how that works.

Yes I did. In Spriteset_Map

class Spriteset_Map
attr_reader :map
def initialize(map=nil)
@map=map ? map : $game_map
@viewport1 = Viewport.new(Game_Map::VPX + 16, Game_Map::VPY + 16, Game_Map::VPWIDTH,Game_Map::VPHEIGHT)
@viewport1a = Viewport.new(Game_Map::VPX + 16, Game_Map::VPY + 16, Game_Map::VPWIDTH,Game_Map::VPHEIGHT)
@viewport2 = Viewport.new(Game_Map::VPX + 16, Game_Map::VPY + 16, Game_Map::VPWIDTH,Game_Map::VPHEIGHT)
@viewport3 = Viewport.new(Game_Map::VPX + 16, Game_Map::VPY + 16, Game_Map::VPWIDTH,Game_Map::VPHEIGHT)

paccoz
May 4th, 2010, 07:23 AM
I got two problems with The Kit.
first: when i start a battle, the music starts in the middle
second: When i go to the bag, the Tm`s, pokeballs, and so on is placed wrong. the pokeballs is in the "Items" pocket and the Tm`s is in the "Pokeball" pocket

Worldslayer608
May 4th, 2010, 07:26 AM
I got two problems with The Kit.
first: when i start a battle, the music starts in the middle
second: When i go to the bag, the Tm`s, pokeballs, and so on is placed wrong. the pokeballs is in the "Items" pocket and the Tm`s is in the "Pokeball" pocket

Look in your project folder, then go into the folder titled 'Graphics' then look for the base images used and rename them what they should be.

Or if you wanted to go the more difficult route, you can edit each script within the bag to use a different image.

paccoz
May 4th, 2010, 08:31 AM
Thanks for the help! but i cant use the pokeballs to catch Wild pokemons!
And i still need help with the battle music

thepsynergist
May 4th, 2010, 12:56 PM
I use Win7 and the server crashes immediately... Is there one that I can set the ip to 127.0.0.1 so I can test it? Because I am having no luck getting the server to work (the one that comes with Essentials).

Taggamon
May 4th, 2010, 02:14 PM
My waterfall is not working :(. this is what I get

---------------------------
Pokemon Essentials
---------------------------
Exception: ArgumentError
Message: wrong number of arguments(2 for 0)
PokemonHiddenMoves:334:in `pbFacingTerrainTag'
PokemonHiddenMoves:334:in `pbAscendWaterfall'
PokemonHiddenMoves:375:in `pbWaterfall'
PokemonHiddenMoves:576
PokemonHiddenMoves:573:in `call'
PBEvent:58:in `trigger'
PBEvent:52:in `each'
PBEvent:52:in `trigger'
Scene_Map:165:in `update'
Scene_Map:63:in `main'

how do I fix it?

TopHat
May 4th, 2010, 03:37 PM
Thanks for this, I'm glad to be using this.

Sero
May 4th, 2010, 03:58 PM
I still need an answer for my previous question:
How can I make the server work. I tried to make it work but it still says that it's not connected.

And I have another question. In Pokemon Platinum and in Pokemon Heart Gold/Soul Silver, certain trainers are animated, such as the gym leaders and elite four. How can I animate trainers in my game

Colbex
May 4th, 2010, 04:52 PM
This year there was a detailed guide released during the Christmas time that explains how to create animated Trainers and PokéMon. Just search through the game development thread and you should find it... Then again, I forgot the name of the thread so I just went ahead and got the link. here (http://www.pokecommunity.com/showthread.php?t=203821). o.o

Anywho, time for a simple question. For the latest release of essentials (April 12th), I noticed that the PokéMon don't make their cry sound in the PokéDex when scrolling through it. I checked my March 15th version and it worked just fine. Comparing the 2 scripts, I realized nothing was different. They both, at line 485 had the pbPlayCry(species)
Anyway, does anyone have a solution for this to work again? o.o

taimao
May 5th, 2010, 01:19 PM
This year there was a detailed guide released during the Christmas time that explains how to create animated Trainers and PokéMon. Just search through the game development thread and you should find it... Then again, I forgot the name of the thread so I just went ahead and got the link. here (http://www.pokecommunity.com/showthread.php?t=203821). o.o

Anywho, time for a simple question. For the latest release of essentials (April 12th), I noticed that the PokéMon don't make their cry sound in the PokéDex when scrolling through it. I checked my March 15th version and it worked just fine. Comparing the 2 scripts, I realized nothing was different. They both, at line 485 had the pbPlayCry(species)
Anyway, does anyone have a solution for this to work again? o.o

I see the problem its a quick fix. In the def pbPlayCry you'll find:
if pokemon.is_a?(Numeric)
pkmnwav=sprintf("%03dCry_%d",pokemon,pokemon)
pbSEPlay(RPG::AudioFile.new(pkmnwav,volume,pitch ? pitch : 100)) rescue nilchange this line:
pkmnwav=sprintf("%03dCry_%d",pokemon,pokemon)
to:
pkmnwav=sprintf("%03dCry",pokemon)

PureGoober
May 5th, 2010, 01:57 PM
Wow! Amazing program!
I downloade because I was gonna make a game, but then I found out it cost money.
I still use many thing from your program for spriting.
Great job!

Crazyninjaguy
May 5th, 2010, 04:10 PM
I have a problem with Battle Music :(

Basically, and i'm not sure why, but my battle music seems to start a bit into the track so you miss the first part.
It's the April 12th version of the kit, so the newest one.

Anyone else having this problem, or have fixed it?

zingzags
May 5th, 2010, 04:47 PM
I have a problem with Battle Music :(

Basically, and i'm not sure why, but my battle music seems to start a bit into the track so you miss the first part.
It's the April 12th version of the kit, so the newest one.

Anyone else having this problem, or have fixed it?

Its not the only problem, the bag storage has a problem

Message: undefined method `<' for nil:NilClass
PokemonBag:761:in `pbStoreItem'
PokemonDebug:388:in `pbDebugMenu'
PokemonDebug:387:in `each'
PokemonDebug:387:in `pbDebugMenu'
PokemonDebug:276:in `loop'
PokemonDebug:495:in `pbDebugMenu'
PokemonMenu:224:in `pbStartPokemonMenu'
PokemonMenu:223:in `pbFadeOutIn'
PokemonMenu:223:in `pbStartPokemonMenu'
PokemonMenu:139:in `loop'

KitsuneKouta
May 5th, 2010, 07:40 PM
I have a problem with Battle Music :(

Basically, and i'm not sure why, but my battle music seems to start a bit into the track so you miss the first part.
It's the April 12th version of the kit, so the newest one.

Anyone else having this problem, or have fixed it?
Try erasing the Audio.dll (it messes with the MIDIs, which is what a lot of the music in the kit is). If that doesn't fix it (it may leave the intro MIDI playing into the battle until finished) then find trainer=pbLoadTrainer(trainerid,trainername,trainerparty)and change it toAudio.me_fade(2500)
trainer=pbLoadTrainer(trainerid,trainername,trainerparty)
pbWait(20)
Audio.me_stop
Audio.bgm_stopThat will hopefully take care of it.

Gorbeh
May 5th, 2010, 10:06 PM
I see the problem its a quick fix. In the def pbPlayCry you'll find:
if pokemon.is_a?(Numeric)
pkmnwav=sprintf("%03dCry_%d",pokemon,pokemon)
pbSEPlay(RPG::AudioFile.new(pkmnwav,volume,pitch ? pitch : 100)) rescue nilchange this line:
pkmnwav=sprintf("%03dCry_%d",pokemon,pokemon)to:
pkmnwav=sprintf("%03dCry",pokemon)
Which script is the def pbPlayCry in?

Colbex
May 6th, 2010, 12:26 AM
def pbPlayCry is in Utilities. o.o Oh, and thanks Taimao. XD

Vociferocity
May 6th, 2010, 02:37 AM
Which script is the def pbPlayCry in?

important tip: you can search all the scripts for a specific phrase by right clicking on the left hand column list of scripts and selecting find or search or something.

Gorbeh
May 6th, 2010, 06:33 AM
important tip: you can search all the scripts for a specific phrase by right clicking on the left hand column list of scripts and selecting find or search or something.
Wow I never knew that! Thanks! You are a life saver! I've spent hours manually searching for stuff in all the scripts.

Peeky Chew
May 6th, 2010, 10:32 AM
http://img576.imageshack.us/img576/2994/capture077.png
Hold would I get the trainer to stay there? I asked Luka about it but what he said didn't seem to work.

venom12
May 6th, 2010, 10:46 AM
You need to find traainer fade lines and remove dispose or sommething like that i dont remember that.

Peeky Chew
May 6th, 2010, 10:50 AM
You need to find traainer fade lines and remove dispose or sommething like that i dont remember that.There are loads of line with fade in.

tailsdollscreator
May 6th, 2010, 04:51 PM
i also have a rpg designer & i can't figure out how to get it to work can some one help me please?!

Kareth
May 6th, 2010, 08:21 PM
Hi!

I am currently creating a PKMN-Game with the "Pokémon Essential Starter Kit" and I like the "Triple Triad" mini game.

But I have few questions about this:
Is it possible to add a new menu to the bag for the cards the player has?

And is it possible that a certain person have a really rare card, like in Final Fantasy 8?

I hope somebody can help me!
THX in advance!

~ Kareth

KitsuneKouta
May 6th, 2010, 10:54 PM
i also have a rpg designer & i can't figure out how to get it to work can some one help me please?!I believe this is the wrong section for that question. PM me and I'll see if I can help you.

@Kareth: for your first question, yes it would be possible (I don't personally know how to go about it though). For the second question, it should work similarly to how you purchase them (which is scripted, making it slightly more difficult to understand). There is the line $PokemonGlobal.triads.pbStoreItem(item,quantity). That is where the card is actually added to your collection. For the parameters, quantity should be self explanatory, and item refers to the species. So, you could make a script command that looks like: $PokemonGlobal.triads.pbStoreItem(PBSpecies::ARCEUS,2). Note that the PBSpecies::ARCEUS,2) must be on the same line, but you would leave the "(" on the top line, otherwise you'll get an error. Also note that you must have used the pbBuyTriads or pbSellTriads command prior to this at some point in the game, otherwise it throws an error for some reason.

Kareth
May 7th, 2010, 12:13 AM
Hi!

THXs for the answer, but I did not mean that a shop has a rare card.
I did mean that your triple-triad opponent has a rare card.

For Example:
You opponent is RED and ONLY he and no one else has a ARCEUS-Card.
You can only get this card if he use this card in the game and if you beat him.

The same way you can get an ARBOK or any other PKMN-Card, if you beat the guy in the demo.

~ Kareth

Peeky Chew
May 7th, 2010, 02:43 AM
http://img576.imageshack.us/img576/2994/capture077.png
Hold would I get the trainer to stay there? I asked Luka about it but what he said didn't seem to work.

Maruno
May 7th, 2010, 05:42 AM
Hold would I get the trainer to stay there? I asked Luka about it but what he said didn't seem to work.
You've already asked that, and it's already been answered. Find the line that disposes the trainer sprites when they go off-screen, and delete them. Also, you also need to change the end positions of the trainer sprite sliding so that it doesn't go fully off-screen (find a do loop that changes the coordinates of the sprites and change the number of iterations).

It's not quite as simple as that, but it's a start. It also looks stupid, if you ask me (particularly in double battles) - I do hope you don't want this feature just because BlueChrome has it.

KitsuneKouta
May 7th, 2010, 05:44 AM
Hi!

THXs for the answer, but I did not mean that a shop has a rare card.
I did mean that your triple-triad opponent has a rare card.

For Example:
You opponent is RED and ONLY he and no one else has a ARCEUS-Card.
You can only get this card if he use this card in the game and if you beat him.

The same way you can get an ARBOK or any other PKMN-Card, if you beat the guy in the demo.

~ KarethSorry, I should have clarified. In a trainer event, put the $PokemonGlobal.triads.pbStoreItem(PBSpecies::ARCEUS,2) inside of the conditional branch (it's the part that determines what happens if you win, and usually says Control Self Switch A = ON). But as I said, if the player hasn't already used the shop (buy or sell, it doesn't matter), you get an error for whatever reason. Also, you will have to add a message of some kind to tell the player that they received that card, since it is added silently.

EDIT: I tried a few more things and figured out how to add a specific card if you beat an opponent at a triad duel. It didn't work like trainers (with a conditional branch), but using a variable works just as well. In the PokemonTriad script, find elsif playerCount>opponentCount (should be line 810) and add $game_variables[30]=1 below it. This will set the variable to one on victory. Then, in an event after the pbTriadDuel(opponent,#,#), make a conditional branch that checks the value of the variable. If it is equal to one, add the card (you will receive two cards, one upon victory and one after the match). After that, reset the variable to 0 so that if you challenge them again and lose, you won't end up winning anyways. Note that the 30 in $game_variables is arbitrary, you may use whatever variable you like. Also, to add a card for the first time without requiring the use of the Triad shop, use this in a script command:
$PokemonGlobal.triads=TriadStorage.new
$PokemonGlobal.triads.pbStoreItem(
PBSpecies::ARCEUS,2)
I'd recommend supplying the player with a few weak cards in this way at the start, so that you don't have to worry about it when adding cards later.

Kareth
May 7th, 2010, 07:42 AM
Hi!

(you will receive two cards, one upon victory and one after the match)

THXs a lot for that!
But I meant that the card you get upon victory is the rare card.
Sorry my fault!

Example:
Opponents Cards: Arceus; Charizard; Alakazam; Onix; Magmar

You beat him and you win his Arceus Card.

I hope I have explained it better now.

I hope somebody could help me with the Cards-in-Bag-Menu, too.

~ Kareth

KitsuneKouta
May 7th, 2010, 10:47 AM
Hi!
THXs a lot for that!
But I meant that the card you get upon victory is the rare card.
Sorry my fault!
Example:
Opponents Cards: Arceus; Charizard; Alakazam; Onix; Magmar
You beat him and you win his Arceus Card.
I hope I have explained it better now.
I hope somebody could help me with the Cards-in-Bag-Menu, too.
~ KarethLook for card=originalOpponentCards[rand(originalOpponentCards.length)] on line 816. Make it look like this:
if $game_switches[500]
card=493
else
card=originalOpponentCards[rand(originalOpponentCards.length)]
endIn this case, when switch 500 is on, then you will receive only the Arceus card on victory. So, you would turn on the switch right before the match, then turn it back off afterwards. The switch can be any number you want, as long as it's the same in the script. One other thing, have you figured a way to determine what specific cards an opponent has? From what I've seen of the script, it randomly generates the opponents cards, meaning that you will have to script it in a similar way to this example. To do that, change the array on line 714 (opponentCards=[]) to include specific species when a certain switch is on, and use the default otherwise.

Kareth
May 7th, 2010, 12:15 PM
Hi!

It works!
Thanks a lot, KitsuneKouta!

Now I hope somebody can help me how I can check the cards the player has.

~ Kareth

~Frozen Darkness~
May 7th, 2010, 04:33 PM
How can I change the weather to sunny? When i use $game_screen.weather(5,8,0) it says there's a zero division error. :/

KitsuneKouta
May 7th, 2010, 05:16 PM
Hi!
It works!
Thanks a lot, KitsuneKouta!
Now I hope somebody can help me how I can check the cards the player has.
~ KarethI pieced something together to do that, however I'm not sure where you're wanting to display it from. Will it be a separate menu option? Or possibly a Key Item in the bag, such as a card case?

zingzags
May 7th, 2010, 06:51 PM
Its not the only problem, the bag storage has a problem

Message: undefined method `<' for nil:NilClass
PokemonBag:761:in `pbStoreItem'
PokemonDebug:388:in `pbDebugMenu'
PokemonDebug:387:in `each'
PokemonDebug:387:in `pbDebugMenu'
PokemonDebug:276:in `loop'
PokemonDebug:495:in `pbDebugMenu'
PokemonMenu:224:in `pbStartPokemonMenu'
PokemonMenu:223:in `pbFadeOutIn'
PokemonMenu:223:in `pbStartPokemonMenu'
PokemonMenu:139:in `loop'

sorry needed help so i bumped my post

Kareth
May 8th, 2010, 01:41 AM
I pieced something together to do that, however I'm not sure where you're wanting to display it from. Will it be a separate menu option? Or possibly a Key Item in the bag, such as a card case?

Hi!

Yes! I meant a new Key Item in the bag, such as a card case.

~ Kareth

KitsuneKouta
May 8th, 2010, 07:15 AM
Hi!
Yes! I meant a new Key Item in the bag, such as a card case.
~ KarethFirst you need to make the key item, and you can use the Town Map or something as a base to make it easier. Then, go to PokemonDefaultItems and look for
ItemHandlers::UseFromBag.add(:TOWNMAP,proc{|item|
pbShowMap
next 1 # Continue
})and add this right below it
ItemHandlers::UseFromBag.add(:CARDCASE,proc{|item|
pbShowTriads
next 1
})It's at the top, so it's easy to find. The next one is on line 649. Find
ItemHandlers::UseInField.add(:TOWNMAP,proc{|item|
pbShowMap
})and put this below it
ItemHandlers::UseInField.add(:CARDCASE,proc{|item|
pbShowTriads
})Then, add this script somewhere (PokemonUtilities, or even a new script section).def pbShowTriads
commands=[]
if !$PokemonGlobal.triads
$PokemonGlobal.triads=TriadStorage.new
end
for i in 0...$PokemonGlobal.triads.length
item=$PokemonGlobal.triads[i]
speciesname=PBSpecies.getName(item[0])
commands.push(_INTL("{1} x{2}",speciesname,item[1]))
end
if commands.length==1
Kernel.pbMessage(_INTL("You have no cards."))
return
end
cmdwindow=Window_CommandPokemonEx.newWithSize(commands,0,0,256,Graphics.height)
cmdwindow.z=99999
cmdwindow.commands=commands
done=false
Graphics.frame_reset
while !done
loop do
Graphics.update
Input.update
cmdwindow.active=true
cmdwindow.update
if Input.trigger?(Input::B)
done=true
cmdwindow.active=false
break
end
end
end
endThe window doesn't always close immediately when pressing b, but other than that it should work fine.

Kareth
May 8th, 2010, 08:33 AM
Hi!

THX a lot again, KitsuneKouta.

One little question if I want to add the pictures with the states of the card, I have to use the script from "PokemonTriad"
Because it would be better, if you can also check what states the card have.

That would be a good extension to the Card-Shop too.

~ Kareth

Peeky Chew
May 8th, 2010, 08:49 AM
@Maruno: I needed it i more detail, that's why I asked again...
Anyway, Luka told me how to do it.

---------------------------
http://i60.photobucket.com/albums/h5/jippily/png-6.png
It's not supposed to look like that is it?

KitsuneKouta
May 8th, 2010, 09:37 AM
Hi!

THX a lot again, KitsuneKouta.

One little question if I want to add the pictures with the states of the card, I have to use the script from "PokemonTriad"
Because it would be better, if you can also check what states the card have.

That would be a good extension to the Card-Shop too.

~ KarethYou may want to ask someone else for that one, since it's a little beyond me. I could probably figure it out, but it would take a while, and I'm still working on other stuff too. If no one else does, I'll get around to it eventually.

Kareth
May 8th, 2010, 11:57 AM
You may want to ask someone else for that one, since it's a little beyond me. I could probably figure it out, but it would take a while, and I'm still working on other stuff too. If no one else does, I'll get around to it eventually.

Hi!

THX anyway!

I figured out that the following functions create the cards:

initialize(species):

def initialize(species)
dexdata=pbOpenDexData
@species=species
pbDexDataOffset(dexdata,species,10)
dexdata.fgetb # HP
@west=baseStatToValue(dexdata.fgetb) # Attack
@east=baseStatToValue(dexdata.fgetb) # Defense
dexdata.fgetb # Speed
@north=baseStatToValue(dexdata.fgetb) # Special Attack
@south=baseStatToValue(dexdata.fgetb) # Special Defense
pbDexDataOffset(dexdata,species,8)
@type=dexdata.fgetb # Type
dexdata.close
end
createBitmap(owner):

def createBitmap(owner)
if owner==0
return TriadCard.createBack
end
bitmap=BitmapWrapper.new(84,84)
iconfile=sprintf("Graphics/Icons/icon%03d",@species)
typebitmap=AnimatedBitmap.new(_INTL("Graphics/Pictures/types"))
icon=AnimatedBitmap.new(iconfile)
typerect=Rect.new(0,@type*28,64,28)
if owner==2
# opponent
bitmap.fill_rect(0,0,84,84,Color.new(255,128,128))
else
# player
bitmap.fill_rect(0,0,84,84,Color.new(128,128,255))
end
bitmap.blt(10,28,typebitmap.bitmap,typerect,192)
bitmap.blt(10,2,icon.bitmap,Rect.new(0,0,64,64))
bitmap.fill_rect(0,0,84,2,Color.new(0,0,0))
bitmap.fill_rect(0,0,2,84,Color.new(0,0,0))
bitmap.fill_rect(0,82,84,2,Color.new(0,0,0))
bitmap.fill_rect(82,0,2,84,Color.new(0,0,0))
pbSetSmallFont(bitmap)
pbDrawTextPositions(bitmap,[
["0123456789A"[@north,1],84/2,2,2,Color.new(248,248,248),Color.new(18*8,18*8,18*8)],
["0123456789A"[@south,1],84/2,82-25,2,Color.new(248,248,248),Color.new(18*8,18*8,18*8)],
["0123456789A"[@west,1],2,(84/2)-12,0,Color.new(248,248,248),Color.new(18*8,18*8,18*8)],
["0123456789A"[@east,1],82,(84/2)-12,1,Color.new(248,248,248),Color.new(18*8,18*8,18*8)]
])
icon.dispose
typebitmap.dispose
return bitmap
end
end
Maybe that could help a bit.

I hope someone else could help me with this.
Maybe it is easier if a new pocket is add to the bag.

~ Kareth

Cilerba
May 8th, 2010, 12:56 PM
How can I edit the maximum level of Pokemon? I edited the line "MAXLEVEL={number}"
but, how am I able to edit the growth rate of the Pokemon so that it is easier to level them up. So that they are easier but once they start getting to like 120+ it gets harder to level.

juliohack
May 8th, 2010, 03:53 PM
I want information on the data file

for example

How do you edit? and why would a servant?

KitsuneKouta
May 8th, 2010, 03:55 PM
Hi!
THX anyway!
I figured out that the following functions create the cards:
initialize(species):

def initialize(species)
dexdata=pbOpenDexData
@species=species
pbDexDataOffset(dexdata,species,10)
dexdata.fgetb # HP
@west=baseStatToValue(dexdata.fgetb) # Attack
@east=baseStatToValue(dexdata.fgetb) # Defense
dexdata.fgetb # Speed
@north=baseStatToValue(dexdata.fgetb) # Special Attack
@south=baseStatToValue(dexdata.fgetb) # Special Defense
pbDexDataOffset(dexdata,species,8)
@type=dexdata.fgetb # Type
dexdata.close
end
createBitmap(owner):

def createBitmap(owner)
if owner==0
return TriadCard.createBack
end
bitmap=BitmapWrapper.new(84,84)
iconfile=sprintf("Graphics/Icons/icon%03d",@species)
typebitmap=AnimatedBitmap.new(_INTL("Graphics/Pictures/types"))
icon=AnimatedBitmap.new(iconfile)
typerect=Rect.new(0,@type*28,64,28)
if owner==2
# opponent
bitmap.fill_rect(0,0,84,84,Color.new(255,128,128))
else
# player
bitmap.fill_rect(0,0,84,84,Color.new(128,128,255))
end
bitmap.blt(10,28,typebitmap.bitmap,typerect,192)
bitmap.blt(10,2,icon.bitmap,Rect.new(0,0,64,64))
bitmap.fill_rect(0,0,84,2,Color.new(0,0,0))
bitmap.fill_rect(0,0,2,84,Color.new(0,0,0))
bitmap.fill_rect(0,82,84,2,Color.new(0,0,0))
bitmap.fill_rect(82,0,2,84,Color.new(0,0,0))
pbSetSmallFont(bitmap)
pbDrawTextPositions(bitmap,[
["0123456789A"[@north,1],84/2,2,2,Color.new(248,248,248),Color.new(18*8,18*8,18*8)],
["0123456789A"[@south,1],84/2,82-25,2,Color.new(248,248,248),Color.new(18*8,18*8,18*8)],
["0123456789A"[@west,1],2,(84/2)-12,0,Color.new(248,248,248),Color.new(18*8,18*8,18*8)],
["0123456789A"[@east,1],82,(84/2)-12,1,Color.new(248,248,248),Color.new(18*8,18*8,18*8)]
])
icon.dispose
typebitmap.dispose
return bitmap
end
end
Maybe that could help a bit.
I hope someone else could help me with this.
Maybe it is easier if a new pocket is add to the bag.
~ KarethYes, I already looked at that, since it was the logical first step. However, it has to be inserted properly into the script that displays the list, showing the right image depending on the card you have selected. Also, terms like "owner" aren't defined in that segment, but in a different class in PokemonTriad. I'm not saying it's hard, but it takes time, or patience.

@Cilerba: You could modify the values in PBExperience. There are several entries in the @PBExpTable array, divided into "blocks" that all start with zero. These use different equations (some are linear, some fluctuating, etc). You would have to do some math to see how the increments are calculated (you could probably look it up somewhere too), and alter it according to the same pattern.

Cilerba
May 8th, 2010, 07:15 PM
@Cilerba: You could modify the values in PBExperience. There are several entries in the @PBExpTable array, divided into "blocks" that all start with zero. These use different equations (some are linear, some fluctuating, etc). You would have to do some math to see how the increments are calculated (you could probably look it up somewhere too), and alter it according to the same pattern.

O_O...Pssh, I knew that. lol, just kidding. Thanks for the help ^_^

np7261
May 8th, 2010, 09:27 PM
I was wondering if it were possible to make a clock event.

eg. An event in which there is text saying the time of day and date. Much like the clock in the hero's home in r/s/e. I'm sure it could be done using a variable containing the time, just not sure how.

Also how would one go about making television event. Random shows pop up like in d/p sometimes showing swarm (many pokemon of same type on one route) pokemon.

Colbex
May 9th, 2010, 10:24 AM
For the television event you would need to use random processing and have a certain amounts of different outcomes. I'm not sure if swarming is supported (I doubt it), but you could probably throw a couple of hidden events on the map you want to be swarmed. When a switch is activated, stepping on the tile will start a wild PokéMon battle with the selected species. You might wanna make the battle be randomly processed too, so it doesn't look like overkill. Then, on the television, when the event for swarming is randomly selected, you could turn the switch on, but have it be a timed event, so those Snubbull's won't be bothering you for the rest of your life. o.o

Note: I haven't tried this, and it's all hypothetically speaking. It should work, though.

Maruno
May 9th, 2010, 03:05 PM
Yeah, swarming shouldn't be too difficult to implement (although as with Burmy's alternate forms, it will vary from game to game which species swarm and where they do so).

Define a variable (e.g. 42 - "Swarmers"), where a value of 0 for that variable means "nothing swarming", a "1" means Rattata are swarming on Route 17, a "2" means Nidoran male are swarming on Route 3, etc. Plan all that out first.

Then go into PokemonEncounters and edit the def pbEncounteredPokemon to add a line like:

return [PBSpecies::RATTATA,15] if rnd[9]<3 && $game_variables[42]==1 && $game_map.map_id==17 && enctype==0Put that near the top, just after the "return nil if etc." line, and put similar lines like it there as well for each of the other swarming species/locations. (You can expand on this to give the swarmer a range of levels to choose from.)

The example line there gives a 30% chance of encountering a Level 15 Rattata, and a 70% chance of "choose a random Pokémon native to the current map as usual" otherwise. It will only do this if game variable 42 equals 1, the player is currently on map number 17 and it's looking for a tall grass encounter.

All that's left after that is to change game variable 42 to a different number depending on whatever (whether it's random each day, triggered by an event, etc.). I'll leave that to you to figure out.

After that, you can use the game variable value to decide what's swarming, and to generate a relevant TV broadcast.

Gorbeh
May 9th, 2010, 07:08 PM
Yeah, swarming shouldn't be too difficult to implement (although as with Burmy's alternate forms, it will vary from game to game which species swarm and where they do so).

Define a variable (e.g. 42 - "Swarmers"), where a value of 0 for that variable means "nothing swarming", a "1" means Rattata are swarming on Route 17, a "2" means Nidoran male are swarming on Route 3, etc. Plan all that out first.

Then go into PokemonEncounters and edit the def pbEncounteredPokemon to add a line like:

return [PBSpecies::RATTATA,15] if rnd[9]<3 && $game_variables[42]==1 && $game_map.map_id==17 && enctype==0Put that near the top, just after the "return nil if etc." line, and put similar lines like it there as well for each of the other swarming species/locations. (You can expand on this to give the swarmer a range of levels to choose from.)

The example line there gives a 30% chance of encountering a Level 15 Rattata, and a 70% chance of "choose a random Pokémon native to the current map as usual" otherwise. It will only do this if game variable 42 equals 1, the player is currently on map number 17 and it's looking for a tall grass encounter.

All that's left after that is to change game variable 42 to a different number depending on whatever (whether it's random each day, triggered by an event, etc.). I'll leave that to you to figure out.

After that, you can use the game variable value to decide what's swarming, and to generate a relevant TV broadcast.

Is it possible to do this as an array such as:
swarms=[[17,PBSpecies::RATTATA,10,15],[18,PBSpecies::NIDORANmA,10,15],...]
(ie [map id, species, min level, max level])

And then pick a random map that will reset each day (unsure how to do this):
swarmData=swarms[rand(swarms.size)]

And then do something along the lines of:
if rnd[9]<3 && $game_variables[42]==1 && $game_map.map_id==swarmData[0] && enctype==0
return [PBSpecies::swarmData[1],rand(swarmData[3]-swarmData[2])+swarmData[2]]
else

I have no idea how to piece it all together though...any assistance? Also sorry if my syntax is bad, it was meant to be more of pseudocode as my ruby is sketchy at best and I've been busy with beginning java lately so I had a hard time not thinking in java.

np7261
May 10th, 2010, 03:52 AM
Thanks a heap guys, anyone have any idea about a variable which holds the current time?

Maruno
May 10th, 2010, 06:20 AM
Is it possible to do this as an array such as:
swarms=[[17,PBSpecies::RATTATA,10,15],[18,PBSpecies::NIDORANmA,10,15],...]
(ie [map id, species, min level, max level])

And then pick a random map that will reset each day (unsure how to do this):
swarmData=swarms[rand(swarms.size)]

And then do something along the lines of:
if rnd[9]<3 && $game_variables[42]==1 && $game_map.map_id==swarmData[0] && enctype==0
return [PBSpecies::swarmData[1],rand(swarmData[3]-swarmData[2])+swarmData[2]]
else

I have no idea how to piece it all together though...any assistance? Also sorry if my syntax is bad, it was meant to be more of pseudocode as my ruby is sketchy at best and I've been busy with beginning java lately so I had a hard time not thinking in java.
Anything's possible. Although I think what you suggested is rather more fiddly and doesn't really offer anything new (level ranges can be easily added to what I said, like "15+rnd(3)" means a range of 15-17).

Also, your suggestion seems to ignore which game variable you're using. The variable is useful for deciding (randomly) which map has swarming going on. And you only have swarming going on in grass. I don't know whether you'd want Goldeen swarms or whatever.

swarmers=[
[17,0,PBSpecies::SENTRET,14,18],
[23,2,PBSpecies::FEEBAS,12,15]
]
swarmtoday=swarmers[$game_variables[42]-1]
if swarmtoday
if rnd[9]<3 && $game_map.map_id==swarmtoday[0] && enctype==swarmtoday[1]
return [swarmtoday[2],swarmtoday[3]+rand(swarmtoday[4]-swarmtoday[3])]
end
end
The array is set up as [map ID, encounter type, species, min level, max level]. That should take care of everything.

This will, however, only allow one species to swarm in one map at a time. You cannot, say, make Feebas appear on all the fishing rods at the same time (at least, not simply). And at the moment, this code means a fixed probability of 30% of encountering the swarm Pokémon; you may want to change that for some species (e.g. really rare swarming Pokémon have a 5% chance of encounter instead).

As I said, you then have to figure out how to change game variable 42 once per day (presumably at midnight, and presumably to a random number).


Thanks a heap guys, anyone have any idea about a variable which holds the current time?
Time.now.hour and Time.now.min are your friends. Shove a colon between the two, put it in a message, and you have your time.

MistTribe
May 10th, 2010, 06:54 AM
Have you not realised, each new release he "adds" new problems with the starter kit.. like.. leaving out an item, etc.

Gorbeh
May 10th, 2010, 10:28 AM
@Maruno
Actually what you just wrote is exactly what I was looking for. I wanted it so that only one map per day has a swarm and I was also planning on making it so that you used surf instead of fishing (because it'd make more sense on the maps that are 90% water). Like I said what I wrote was more of a pseudocode. Just one question, why is the $game_variables[42]-1 needed? Couldn't you just do swarms[rand(swarms.size)]? Wait, nm, you'd need a way to change it each day and using a variable would work. The variable would be the size of the array though correct?

EDIT:
Is "if swarmtoday" a typo? Because I don't see how it does anything.

Maruno
May 10th, 2010, 02:19 PM
@Maruno
Actually what you just wrote is exactly what I was looking for. I wanted it so that only one map per day has a swarm and I was also planning on making it so that you used surf instead of fishing (because it'd make more sense on the maps that are 90% water). Like I said what I wrote was more of a pseudocode. Just one question, why is the $game_variables[42]-1 needed? Couldn't you just do swarms[rand(swarms.size)]? Wait, nm, you'd need a way to change it each day and using a variable would work. The variable would be the size of the array though correct?

EDIT:
Is "if swarmtoday" a typo? Because I don't see how it does anything.
$game_variables[42]-1 determines which line of the swarmers array is used. If variable 42 equals 1, then the first line (line 0 - Sentret) will be used, and so on. There are no swarmers if variable 42 equals 0, which allows you to turn it off if necessary/until a certain point in the game.

When you change variable 42 (once per day, presumably at midnight), you'll need to use something like "rnd(16)+1" (between 1 and 16, where 16 is the total number of different swarmers you have) - you won't be able to use "swarmers.length"because you'll be changing variable 42 in a different part of the scripts/in an event/whatever.

"if swarmtoday" checks whether there's anything in swarmtoday or not (it'd be nil if variable 42 equalled 0 (swarming disabled), because there's no "-1" line in the swarmers array to put into it).