• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

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

Status
Not open for further replies.

Ho-oh 112

Advance Scripter
311
Posts
13
Years
  • Age 28
  • Seen Mar 8, 2014
Line 87, which reads File.open(Gifts/Gift.MG,"rb"){|f|. Put quote marks around "Gifts/Gift.MG" like I just did.

I may just be reading this wrong, but it looks like your pbWriteGift will end up writing the details of the gift Pokémon over 8 million times (899*8999). I can't help but think that's not right.

Finally, one of your checks is
if @level < 101 || @level < 0
, when it probably should be if @level > PBExperience::MAXLEVEL || @level < 0. And you don't need PBSpecies:: when adding the new Pokémon, because species is a number.

Just a few observations.

Wow lot's of errors, anyways I'll try them.
 
302
Posts
13
Years
  • Seen Aug 25, 2014
I pre-empted your confusion, and changed that error message in future versions to be a bit clearer.

The opening bracket tells the game to expect some parameters, so it looks to the next line to find them, rather than assume the next line is a separate command in itself. It will only stop looking for parameters once it hits the closing bracket at the end of the second line. In effect, it treats the two lines as one as required.

Or, y'know, use the Extend Text thingy.
Oooh-kay. It's helpful that I understand how the compiler is reading these things, thank you.
 

Nickalooose

--------------------
1,309
Posts
16
Years
  • Seen Dec 28, 2023
I have a 2 questions... not sure if this one is supposed to be here;
my extendtext.exe, doesn't want to work! Any reasons why, you think?
It doesn't do anything with a text box open... For those smart asses out there haha!

Also, I'm trying to do and learn something new! Learning the way Abillities and Moves work, by checking how to read .txt files, but I can't seem to get my game to read the text within my .txt file, and print in-game...

I have my file, I add which ever name to my pokemon.txt file, it does absolutely nothing, but if I remove my .txt file, it errors because it can't find said name in suchandsuch.txt...? And the new line within pokemon.txt causes an error due to an extra "unneccassary" line... So to speak! Any help on how this works is well apprechiated. X
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
I have a 2 questions... not sure if this one is supposed to be here;
my extendtext.exe, doesn't want to work! Any reasons why, you think?
It doesn't do anything with a text box open... For those smart asses out there haha!
Simply double-clicking extendtext.exe while a text box or script box in RMXP is open should work. I don't know why it isn't, unless you're missing out some important piece of information (but I don't even know what that might be).


Also, I'm trying to do and learn something new! Learning the way Abillities and Moves work, by checking how to read .txt files, but I can't seem to get my game to read the text within my .txt file, and print in-game...

I have my file, I add which ever name to my pokemon.txt file, it does absolutely nothing, but if I remove my .txt file, it errors because it can't find said name in suchandsuch.txt...? And the new line within pokemon.txt causes an error due to an extra "unneccassary" line... So to speak! Any help on how this works is well apprechiated. X
Abilities/moves/items/Pokémon/etc. are defined by writing them in the PBS files. When the game is compiled, it reads this information, converts it into another form it can use later on, and writes it to one (or more) of the VCD files in the Data folder. When running the game, it is actually using these VCD files to get the required information about a move or ability.

Now, that will only define a "thing" in the game (e.g. Quick Feet is a "thing" it calls an "ability"). It does not define what a particular "thing" actually does (i.e. what the effect of Quick Feet is). Those effects need to be scripted, and are not part of the PBS files.

The PBS files need to remain where they are, because they are checked whenever the game is run from RMXP to see if they've changed. If they've changed, the game recompiles itself. If it can't find a PBS file in the first place, it throws a wobbly.

What the game does when it compiles (i.e. how it moves information around) is very complicated, and easy to muck up. I don't like to touch it, and I'm running the kit!

That's all just for your interest.

You've been unhelpfully non-specific in what you've been trying to add, and what errors you end up with. The best I can guess is that you're trying to give a Pokémon a new move or ability, but it's saying such a move/ability doesn't exist. You need to define them in their respective PBS files as well. You can't just type "GIGADRILLBREAKER" into a Pokémon's moveset and expect it to work - what makes Giga Drill Breaker a move is being defined in moves.txt.

When the game is compiled, there is a specific order to which PBS files are compiled. Moves are compiled before Pokémon (for instance), because the latter depends on having an up-to-date former. First Giga Drill Breaker becomes a "thing" known as a "move", and then the Pokémon are compiled where the moves are checked for the existence of a move called Giga Drill Breaker.

Basically, define your "things" in the appropriate PBS files first (moves in moves.txt, etc.), and then assign moves/abilities to particular Pokémon species (in pokemon.txt).
 

Nickalooose

--------------------
1,309
Posts
16
Years
  • Seen Dec 28, 2023
Simply double-clicking extendtext.exe while a text box or script box in RMXP is open should work. I don't know why it isn't, unless you're missing out some important piece of information (but I don't even know what that might be).



Abilities/moves/items/Pokémon/etc. are defined by writing them in the PBS files. When the game is compiled, it reads this information, converts it into another form it can use later on, and writes it to one (or more) of the VCD files in the Data folder. When running the game, it is actually using these VCD files to get the required information about a move or ability.

Now, that will only define a "thing" in the game (e.g. Quick Feet is a "thing" it calls an "ability"). It does not define what a particular "thing" actually does (i.e. what the effect of Quick Feet is). Those effects need to be scripted, and are not part of the PBS files.

The PBS files need to remain where they are, because they are checked whenever the game is run from RMXP to see if they've changed. If they've changed, the game recompiles itself. If it can't find a PBS file in the first place, it throws a wobbly.

What the game does when it compiles (i.e. how it moves information around) is very complicated, and easy to muck up. I don't like to touch it, and I'm running the kit!

That's all just for your interest.

You've been unhelpfully non-specific in what you've been trying to add, and what errors you end up with. The best I can guess is that you're trying to give a Pokémon a new move or ability, but it's saying such a move/ability doesn't exist. You need to define them in their respective PBS files as well. You can't just type "GIGADRILLBREAKER" into a Pokémon's moveset and expect it to work - what makes Giga Drill Breaker a move is being defined in moves.txt.

When the game is compiled, there is a specific order to which PBS files are compiled. Moves are compiled before Pokémon (for instance), because the latter depends on having an up-to-date former. First Giga Drill Breaker becomes a "thing" known as a "move", and then the Pokémon are compiled where the moves are checked for the existence of a move called Giga Drill Breaker.

Basically, define your "things" in the appropriate PBS files first (moves in moves.txt, etc.), and then assign moves/abilities to particular Pokémon species (in pokemon.txt).

I figured it's this stupid laptop, Windows Vista, I hate the program, I prefer XP... Anyways...

Okay, say for arguments sake, I want;

Spoiler:


Then, within a text file called, likes.txt, it looks somewhat like this

1,RUNNING,Running,The Pokemon may attack first.
2,BANANAS,Bananas,The Pokemon may become confused.
3,SOCKS,Socks,The Pokemon will defrost itself if frozen.


I know adding Abillities is a pain, and you say make edits of already scripted abillities if you are goin to add any... So using how Quick Attack would work would be how this is easily scripted obviously with some edit so the Pokémon doesn't always attack first... But the problem I am getting, everything compiles and errors correctly, if RUNNING is spelt wrong or .txt file is missing, but the game itself, is not registering the info about the "thing" or the name, within the Pokédex and the move itself doesn't do anything... For the Pokédex thing, i literally just replaced the "Abillity" scripts with "Likes" info to check if this works, but nothin comes up, if I rename my likes.txt, to abillities.txt... It works! X
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
You're trying to do what I feared you might be trying to do: create a new "thing".

The effects of these Likes aren't important, and can be scripted just fine. That would be the very very easy part.

PBS files aren't things you just write and they'll be compiled just because they're in the PBS folder. Search the scripts for "pokemon.txt", and you'll see it mentioned in the Compiler script section. The scripts know beforehand which PBS files it expects, and there are extensive scripts that deal with them and do the compiling. Any files in the PBS folder that it doesn't expect aren't looked at at all.

The same goes for lines within pokemon.txt. The scripts don't say what to do with a line beginning "Likes=", so it ignores that line. The information in the Likes line is never compiled and saved elsewhere for actual use. You can write whatever nonsense you want in pokemon.txt, but the only lines that are actually looked at are the ones beginning "blah=", where "blah" are the words in the tables in the wiki's Defining a species page.

You can add some code to make the game recognise a "Likes=" line, and say what to do with the information therein. However, this requires that the information is meaningful (a number or an already-defined "thing"), and that you also know the data structure of a Pokémon species to make sure you save the information correctly and in the right format. You would then need to load the appropriate information later on using this knowledge, and find the appropriate sub-information (i.e. the description based on the ID number), and then display it/use it to determine an effect. That's at the very least. If you want to define a new "thing" for Likes, that's a whole new and much larger kettle of fish in itself.

The reason you got something to work when you renamed "likes.txt" to "abilities.txt" is because the game decided that Bananas and Socks were abilities, and you just happened to use the same PBS data structure to "define" them. That's not a sign that you've done anything right, just that you can edit the list of possible abilities (which frankly, isn't hard).

My point is that there's a lot more involved than you think, and you shouldn't be trying to do anything like this. At all. It's way too easy to mess up, even for me who just explained all this.
 

Cilerba

the hearts of lonely people
1,162
Posts
14
Years
@Ho-oh 112 - I've moved your thread into the Essentials thread, where it belongs. Post one more thing in the wrong section and it'll just get locked.
 

Nickalooose

--------------------
1,309
Posts
16
Years
  • Seen Dec 28, 2023
Spoiler:


I see, it was deffinatly worth the question I think! I did think it would be hard, but to learn is to play, I think... But, nevertheless, it was an idea I had, and decided to attempt! If yourself would'nt attempt this, I think I should'nt :P
 
Status
Not open for further replies.
Back
Top