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

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
I want to do a old style item PC without Mailbox. But if I call pbPCItemStorage without a Kernel.pbMessage after, the games freeze! Why? There a fix without I need to use Kernel.pbMessage?
I need to put:
Code:
command=1
    loop do
      (command==1 || command==-1) ? pbPCItemStorage : break
      command=Kernel.pbMessage(_INTL("Exit?"),[_INTL("YES"),_INTL("NO")],-1)
    end
I'm not entirely sure how you're using that code, but I can tell you how to access item storage straight from the PC main menu (where it displays "Bill's PC" and "Player's PC").

In the script section PokemonStorage, at the bottom are the PC-related scripts. There are two points where "pbTrainerPCMenu" is called (search for the phrase) - replace those two lines with "pbPCItemStorage" instead. This cuts out the secondary menu asking "Item storage", "Mailbox" or "Turn off", and jumps straight to item storage. Then just use the PCs as normal.



I haven't looked into bridges yet, but it's on my To Do list.

I can vaguely imagine what the fix for secret area nest displays would be (it can also depend on the switch used to decide whether to show that map point or not), but I haven't looked into it yet. It'll probably end up being a bug fix, because secret areas are supposed to be hidden until their switch is ON. Once it's up it'll be on the Region map wiki page.

I don't have any real tips for improving lag, other than using an older version of Essentials. I don't have any lag myself, so I can't experiment myself with improving it, and people are incessantly unhelpful by not providing as much information as possible about where/when they get lag (e.g. certain times of day, current map size/number of events and adjoining maps, after how much game play, what kind of lag, etc.). All I can do is guess at the causes of lag, and they wouldn't be good guesses either.

I'm sorry if I sound impatient, but does no one know what could be wrong? This appears to be an out-of-the-box error for me... I redownloaded Pokemon Essentials with no modifications from the latest version listed on the Wiki and even that version does not want to give me Triad cards. Does anyone have any idea? Sorry for asking twice, but I'd like to at least have some clue how to fix this becuase it really puzzles me... other data stored in $PokemonGlobal variables seem to store fine... for example, the PC works fine.

I could try posting a recording of the issue I'm having if it helps.

AH! Got it, fixed my own problem. If anyone else has this error, it stems on for some reason there being a bug in the code out of the box that reinitializes the triad variable each time it is called... to fix change this line of text:

Code:
 def triads
  @triads=TriadStorage.new
  return @triads
 end
to this:

Code:
  def triads
  @triads=TriadStorage.new if !@triads
  return @triads
 end
Shiny. I do like the simple solutions.

I have added this bug fix to the wiki page Triple Triad, if that's okay by you. Credit to you, of course.
 
Last edited:
41
Posts
14
Years
  • Seen Apr 12, 2023
For those who are interested, I have fixed the double battles bug, where not all battlers could do something. The fix is on the wiki on the Battles page (credit to me please).

It's quite amusing to see that this bug, like so many problems, is caused by money. It's also interesting that it's such a simple fix, too. Took me long enough to figure out, though.
I have to applogize for forgetting about this bug I fixed it so long ago in my project I forgot about it. I really should contribute more to the wiki.
 

Peeky Chew

Master of Palettes
829
Posts
14
Years
errortext.png

I increased the screen size from the standard to a little wider one. Problem is, as you can see in the screen, the text doesn't stretch to the edge any more. How do I fix this?
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
Speaking of bug fixes, I have another one people wanted: the bug where levelling up and move learning didn't work properly for non-battlers in battles.

The solution is on the wiki Battles page, and once again it is very simple.
 

IceGod64

In the Lost & Found bin!
624
Posts
15
Years
It doesn't have the desired effect, because the first IF-block is already returning true, so the game ignores whatever ELSEIF you throw in there.

You should rearrange it to something like that:

Code:
if $game_map.map_id==056
   $game_map.autoplay
elsif $PokemonGlobal.surfing && surfbgm
  pbBGMPlay(surfbgm)
 elsif $PokemonGlobal.bicycle && bikebgm
  pbBGMPlay(bikebgm)
 else
  $game_map.autoplay
 end

As I expected, that didn't work. You're explanation didn't make any sense anyway to be honest, as using elsif inside any other If blocks I've seen has worked fine. Thanks for the tip, but I guess I'll have to figure it out myself...

Peeky Chew said:
I increased the screen size from the standard to a little wider one. Problem is, as you can see in the screen, the text doesn't stretch to the edge any more. How do I fix this?

There should be a file in the same folder as the RMMXP project called extendtext.exe. You will need that.

Maruno said:
Speaking of bug fixes, I have another one people wanted: the bug where levelling up and move learning didn't work properly for non-battlers in battles.
Wow, you're doing a lot lately! Unfortunately, I can't seem to find the tutorial....
 

Peeky Chew

Master of Palettes
829
Posts
14
Years
There should be a file in the same folder as the RMMXP project called extendtext.exe. You will need that.
There is a file like that, and the instructions for it. I did what it said, opening up a show text box, then opening the application, but it didn't work. It just said it was loading and then didn't appear.
 

FL

Pokémon Island Creator
2,449
Posts
13
Years
  • Seen Apr 30, 2024
I'm not entirely sure how you're using that code, but I can tell you how to access item storage straight from the PC main menu (where it displays "Bill's PC" and "Player's PC").

In the script section PokemonStorage, at the bottom are the PC-related scripts. There are two points where "pbTrainerPCMenu" is called (search for the phrase) - replace those two lines with "pbPCItemStorage" instead. This cuts out the secondary menu asking "Item storage", "Mailbox" or "Turn off", and jumps straight to item storage. Then just use the PCs as normal.
This isn't perfect, but is the way.

I haven't looked into bridges yet, but it's on my To Do list.
Ok

I can vaguely imagine what the fix for secret area nest displays would be (it can also depend on the switch used to decide whether to show that map point or not), but I haven't looked into it yet. It'll probably end up being a bug fix, because secret areas are supposed to be hidden until their switch is ON. Once it's up it'll be on the Region map wiki page.
Ok

I don't have any real tips for improving lag, other than using an older version of Essentials. I don't have any lag myself, so I can't experiment myself with improving it, and people are incessantly unhelpful by not providing as much information as possible about where/when they get lag (e.g. certain times of day, current map size/number of events and adjoining maps, after how much game play, what kind of lag, etc.). All I can do is guess at the causes of lag, and they wouldn't be good guesses either.
This is hard to find, but my problem is FPS down. I have two maps, both without events, one is 100x300 and another is 400x400. In April 2010 version, when I go to the bottom of the 100x300 the game FPS drops to 10 but in the 400x400 the FPS won't drop! When I am testing the SAME 100x300 map in November 2009 the FPS have no drops! Both map doesn't have any adjoining maps.
And I thinks that someone in this thread create a video about the May 5 version lag.

errortext.png

I increased the screen size from the standard to a little wider one. Problem is, as you can see in the screen, the text doesn't stretch to the edge any more. How do I fix this?
There should be a file in the same folder as the RMMXP project called extendtext.exe. You will need that.
The problem is the black space because resolution as you see in this screen. The extendtext.exe only expand the text box in RPG Maker, not in game. I thinks that solution is in PokemonMessages coordenates, but this script is huge! I can't figure out!
 
45
Posts
13
Years
Does anyone now a way to fix the text box.
What happens is that after compiling, the text box automatically changes to 3 lines tall, I believe this is a default error, so you should compile your project and test it out too. It's not that bad, but it makes the game look kinda weird.

Got it, the game doesn't use the trimming of the text files after compiling it, so you should always use files of the correct height, check it on your projects if you are using the default skins.

EDIT: the other problem with the skins is that the game doesn't save the speech frame skin if you change it in-game, it does save the skin for the pause menu, but not the one of the speech.
 

Peeky Chew

Master of Palettes
829
Posts
14
Years
The problem is the black space because resolution as you see in this screen. The extendtext.exe only expand the text box in RPG Maker, not in game. I thinks that solution is in PokemonMessages coordenates, but this script is huge! I can't figure out!
Ok, thanks for the help. I'll have a look around the script and see if I can find anything.
 
48
Posts
13
Years
  • Seen Jun 16, 2013
As I expected, that didn't work. You're explanation didn't make any sense anyway to be honest, as using elsif inside any other If blocks I've seen has worked fine. Thanks for the tip, but I guess I'll have to figure it out myself...

Well, actually my explanation makes quite a lot of sense, since it is basic programming knowledge.

Feel free to test this simplified example which simulates surfing on map 56.
The first if block returns "surfing bgm", while the second if block returns "map autoplay"

Code:
def elsiftest
  surfing=true
  onmap56=true
  ##first IF-block (similar to your code) puts ONLY "surfing bgm"
  if surfing
    print "surfing bgm"
  elsif onmap56
    print "map autoplay"
  else
    print "none"
  end
  ##second IF-block (similar to my code) puts ONLY "map autoplay"
  if onmap56
    print "map autoplay"
  elsif surfing
    print "surfing bgm"
  else
    print "none"
  end
end
Since i didn't test your precise problem, i dont know what you did wrong,
but the code you posted first is incapable of achieving your goal.
(if you described the latter properly)

Also please try not to sound like a know-it-all, if you are not completely sure what you are talking about. It nearly kept me from replying again ;)

Cheers,
Sichlor
 
Last edited:
45
Posts
13
Years
Okay, I solved the problem with the skin of the speech frames not saving, it was really simple, the problem is in the script PokemonOption search for this:
Code:
def self.pbDefaultSpeechFrame
    if !$PokemonSystem
      return pbResolveBitmap("Graphics/Windowskins/"+MessageConfig::TextSkinName)||""
    else
      return pbResolveBitmap("Graphics/Windowskins/"+$SpeechFrames[$PokemonSystem.frame])||""
    end

then change this line from:
Code:
return pbResolveBitmap("Graphics/Windowskins/"+$SpeechFrames[$PokemonSystem.frame])||""

to:
Code:
return pbResolveBitmap("Graphics/Windowskins/"+$SpeechFrames[$PokemonSystem.textskin])||""

The game should now save the speech frame skin selected by the player.
What was happening was that the game was using the number of the system frame skin selected (the one for all the menus) which is stored in "frame" instead of the number used for the speech skin selected (the one for talking) which is stored in "textskin".

The game also doesn't use the .txt files in the "Windowskins" folder after compiling it with encryption, this is what is causing the skins "frlgtextskin" and "rstextskin" that come by default to look 3 lines tall instead of 2.
The easy way to fix this is to only use regular small skins that don't need any trimming and delete the ones I listed in the "windowskin" folder or change them for newer ones with a smaller size that don't need any trimming.

Also, the game by default repeats one of the speech skins because it's set to use skin "frlgtextskin" (I think) as the default one and as skin #3 at the same time, so it repeats it, the way to fix this is to delete "frlgtextskin" from the list of the skins used which is in PokemonOption around line 185 or to add a new skin and change the default skin used in the script SpriteWindow for a that one.

These are not really big problems, but details that make your game look better. I hope you find this useful for your project.
 

IceGod64

In the Lost & Found bin!
624
Posts
15
Years
Well, actually my explanation makes quite a lot of sense, since it is basic programming knowledge.

Feel free to test this simplified example which simulates surfing on map 56.
The first if block returns "surfing bgm", while the second if block returns "map autoplay"

Yeah, you were right, in the end I did have to put the map check first. Sorry and Thanks.
It turns out that more so the reason is wasn't working however, was because I was trying to use $game_map.map_id which doesn't work, oddly. What's even stranger is that I did get it working by adding a little code to PokemonField inside of Events.onMapSceneChange+=proc{|sender,e|
That line was:
$MapCurr = $game_map.map_id

I don't know why I couldn't retrieve map_id directly, but setting a variable to it on map change and using that worked.
 

MilesG170

Team Enigma Founder
50
Posts
14
Years
  • Seen Aug 8, 2015
Ok guys, I have been searching and searching, but I just can't find an answer to this question. When I try to load my game, at all, it will pop up with an error that says:

Spoiler:


It doesn't matter if it's day or night, and I have looked at the script in the lines it says, but I just don't get how to fix it. Please help.
 
199
Posts
14
Years
  • Seen Jul 6, 2022
Hello!
How can I put more trainers protagonist in the metadata?

I want to have more trainers protagonists to choose. But I don't know like do it, the metadata.txt only have PlayerA, B, C and D.
 

KitsuneKouta

狐 康太
442
Posts
14
Years
  • Age 33
  • Seen Nov 20, 2017
Hello!
How can I put more trainers protagonist in the metadata?

I want to have more trainers protagonists to choose. But I don't know like do it, the metadata.txt only have PlayerA, B, C and D.
There's a link in my signature that should do the trick.
 

venom12

Pokemon Crystal Rain Relased
476
Posts
17
Years
  • Age 33
  • Seen Dec 28, 2023
How i can make saving position of image in scripts?
 

KitsuneKouta

狐 康太
442
Posts
14
Years
  • Age 33
  • Seen Nov 20, 2017
How i can make saving position of image in scripts?
A little more information would be helpful. Are you displaying the image from a script, or an event? And I'm assuming that the image doesn't have a static position. If it's in a script, you'll have to ensure that the variable is saved in PokemonSave and loaded in PokemonLoad. I've never bothered to try it with variables that aren't global, so I couldn't tell you how to do that without trying it out first. If it's just in an event, assign the position to variables. RMXP's game variables already save and load appropriately, and you can even use them in scripts, so that may be the way to go.
 
Status
Not open for further replies.
Back
Top