PDA

View Full Version : [Release] Pokémon Essentials, version 4 - 24th December 2011


Maruno
December 24th, 2011, 09:20 AM
Pokémon Essentials, version 4 - 24th December 2011
Download (http://pokemonessentials.wikia.com/wiki/Downloads)


This new version of Essentials was released just in time for Christmas, and I'm sure it'll be your favourite present! Maybe I'm exaggerating, but not by much - it's still a great release!

So what's new?

Pokédex
The Pokédex has had a facelift, and now looks a lot better. It also works a lot better too: multiple regions now have support, and you have the option to freely switch from one regional Dex to another. Only Dex lists that have contents can be viewed, and you can lock a particular list so that the player can't see it before they're supposed to. I think these changes will suit just about anyone wanting to use multiple Dexes.

Hidden abilities and multiple forms
Pokémon can now be given hidden abilities, which are abilities they will never have in the wild unless you say otherwise. And as for Pokémon that have multiple forms, each form can have a different moveset! Both very welcome additions, I'm sure. Spinda is also pleased that its spots are now the same colour as its fur.

Move animations
I've had a look at how these work, and I've improved them. You can now have different animations for a move depending on which side the user is on, and the way it is displayed has also been changed slightly to make them easier to draw (i.e. they don't rotate any more). A few new animations have been added to give you examples of how they can work. My favourites are Leech Seed and Sand-Attack.

Berry planting
This is another system that has been overhauled. Berry planting now works just as it does in Gen 3, and the growth times and yields depend on what kind of berry is planted. Oh, and the berry plant graphics have been included. That was important, wasn't it?

Soot grass
Imagine walking over a patch of grass covered in soot, and the soot disappears! Well, that happens now. There's no example of this in Essentials, because it would need some new graphics to look nice, but it's possible nonetheless. An interesting fact is that the same mechanisms can be used to make ice that cracks as you walk over it, which will be added soon.

Phone
Trainers used to insist that you add them to your phonebook. Not any more. They'll ask now, and you have the opportunity to tell them what they can do with their number. They'll only ask if you have a phone, which seems to make sense.

Abilities and items
Some new effects have been added, mostly courtesy of IceGod64. There will be more to come in future.

Bug fixes
Well, obviously. There are always things that don't work as expected, and some more of those things have now been fixed. Trainers now vanish when told to, the move Struggle now works (how wasn't this spotted before?!), the game no longer crashes when you ask it what time of day it is, moving fog doesn't suddenly run out, and you can no longer surf off cliffs. There are plenty more fixes too.

And more...
There are plenty of other new and tweaked things in this release too. A full list can be found on the wiki's Download page.



This thread is only for discussion about the latest release. General Essentials talk still belongs in the other thread (http://www.pokecommunity.com/showthread.php?t=243179), and questions in the other other thread (http://www.pokecommunity.com/showthread.php?t=105731).

Merry Christmas!

Worldslayer608
December 24th, 2011, 10:28 AM
I am home alone for Christmas this year... needless to say I am now in a good mood about it :)

Thanks man.

IceGod64
December 24th, 2011, 10:48 AM
Best. Present. Ever. Fedora's are cool too.

Downloading this now - I look forward to checking out everything you've done!

Right off the bat I see you've made some more additions to Settings, and reorganized that too. Thanks for another great release of essentials!

I found a bug already however, and a pretty important one. Most importantly, the option(And ability to) toss Key Items.

DarkShadow21
December 24th, 2011, 01:39 PM
Thank you Maruno. this is a great present!

Ratty524
December 24th, 2011, 02:17 PM
Thank you Maruno. this is a great present!

Very much this.

I've been highly anticipating this new release. Thanks a lot and good job on your hard work. :)

EDIT: I just encountered a bug with this release. In double battles, if a pokemon on YOUR PARTY faints, and you still have one other pokemon alive, that pokemon in your party will gain experience from your fainted pokemon. It's strange, I think it's only happened with this release so far.

Maruno
December 24th, 2011, 04:15 PM
Best. Present. Ever. Fedora's are cool too.

Downloading this now - I look forward to checking out everything you've done!

Right off the bat I see you've made some more additions to Settings, and reorganized that too. Thanks for another great release of essentials!

I found a bug already however, and a pretty important one. Most importantly, the option(And ability to) toss Key Items.
I think fezes are cool, myself. If you get the reference, you're all right by me.

The tossing of Key Items is intentional, as it's a debug feature. You won't be able to toss important items in the game proper.


Very much this.

I've been highly anticipating this new release. Thanks a lot and good job on your hard work. :)

EDIT: I just encountered a bug with this release. In double battles, if a pokemon on YOUR PARTY faints, and you still have one other pokemon alive, that pokemon in your party will gain experience from your fainted pokemon. It's strange, I think it's only happened with this release so far.
An interesting scenario. I've not touched the experience-related code this time, so the feature should have been in previous versions too.

I've tried reproducing the bug, but can't. My Pikachu (L70) and Squirtle (L2) face off against a Magnemite (L16) and Geodude (L16), and Squirtle gets OHKO'd by a SonicBoom. Pikachu gets no experience. The same happened with the Charmander (L2) I then switched in. Can you get some kind of screenshot showing your Pokémon gaining Exp from a fainting partner?

Ratty524
December 24th, 2011, 05:55 PM
I don't have a screenshot, but I do have a video (sorry for the bad quality)
L5qP2NR3zVw

To be more specific, I've found that your battle partner gains EXP every time it makes a move, as this video illustrates. It seems to also be triggered with dreamworld bulbasaur, though I haven't really tested it with the others.

IceGod64
December 24th, 2011, 06:08 PM
I think fezes are cool, myself. If you get the reference, you're all right by me.
Bowties.

The tossing of Key Items is intentional, as it's a debug feature. You won't be able to toss important items in the game proper.Right, I didn't test for that. Good thinking!

Maruno
December 25th, 2011, 06:11 PM
I don't have a screenshot, but I do have a video (sorry for the bad quality)
L5qP2NR3zVw

To be more specific, I've found that your battle partner gains EXP every time it makes a move, as this video illustrates. It seems to also be triggered with dreamworld bulbasaur, though I haven't really tested it with the others.
Thanks for that. I've now managed to reproduce the error.

The cause is a bit of unstable code when a Pokémon levels up in battle, which causes the whole of pbGainExp to be exited immediately (more specifically, the wobbly is thrown immediately after the levelling up/learning new moves). This means the second battler doesn't gain Exp at all if the first one levelled up, and the list of participants who should gain Exp from defeating that foe Pokémon isn't wiped as it should be. Because the list isn't wiped, the participants gain Exp again after the next event (a move, or after the end of the round).

This repeat Exp-gaining only occurs during double battles when the fainted foe isn't replaced (the list of participants is still available in this case). The code throwing a wobbly occurs any time a Pokémon finishes levelling up, and can mean the second of your battlers doesn't gain Exp if your first battler levelled up, regardless of what foes there are (again, this only affects double battles). Two separate bugs with a common cause and solution.

I don't have a solution yet, but that's the problem. I'll look into it some more tomorrow (it's 2am for me right now).

The reason the foreign Bulbasaur was showing this bug is because it managed to gain enough Exp to level up. It has nothing to do with it being foreign.


Bowties.
You're all right by me. :D


EDIT: Fixed it. Find the following code towards the end of pbGainEXP, and change the red letters to a k:
# Finding all moves learned at this level
movelist=thispoke.getMoveList
for i in movelist
if i[0]==thispoke.level # Learned a new move
pbLearnMove(j,i[1])
end
end
It's entirely my fault; i is already being used there to mean something else, and having it be used to look through the Pokémon's movelist as well messes things up.

Enjoy the fix!

Pharetra
December 28th, 2011, 08:21 AM
I must say that this is a great release. I haven't played around with the berry trees yet, but I really like the Pokedex. Time to update my fangame to this new version.

IceGod64
December 28th, 2011, 10:27 AM
EDIT: Fixed it. Find the following code towards the end of pbGainEXP, and change the red letters to a k:
# Finding all moves learned at this level
movelist=thispoke.getMoveList
for i in movelist
if i[0]==thispoke.level # Learned a new move
pbLearnMove(j,i[1])
end
end
It's entirely my fault; i is already being used there to mean something else, and having it be used to look through the Pokémon's movelist as well messes things up.

Enjoy the fix!

I just now implemented this fix into my copy of essentials, haven't tested it yet though. I'm still working on the Gen V TM list for you and I'm nearly done; all the new moves up to and including TM55(Scald) have their compatibility lists implemented, and the other new moves are in place.

Also, I'm leaving the unused moves in the tm.txt file anyway since there's no point in removing them(Especially since someone might want these to be tutor moves, etc.). It might be a few KB larger, but that shouldn't be a problem.

p.claydon
December 28th, 2011, 01:45 PM
errr just tried the example maps and i can not get the pokédex to work (menu item wont show) any suggestions?

IceGod64
December 28th, 2011, 01:49 PM
Try getting into a battle. It seems to work a bit oddly at the moment, as you have to actually encounter pokémon after obtaining it.

p.claydon
December 28th, 2011, 02:04 PM
yh still did not show :s i've tried gaining pokémon before and afta obtaining and having a battle before and after obtaining

IceGod64
December 28th, 2011, 04:14 PM
yh still did not show :s i've tried gaining pokémon before and afta obtaining and having a battle before and after obtaining

It worked for me before, but I just tried again, it isn't now. Very odd...

Well, one fix is go to the script section PokemonPauseMenu and find this line:
commands[cmdPokedex=commands.length]=_INTL("Pokédex") if $Trainer.pokedex && $PokemonGlobal.pokedexViable.length>0Change it to:

commands[cmdPokedex=commands.length]=_INTL("Pokédex") if $Trainer.pokedex

Ratty524
December 28th, 2011, 05:31 PM
I was about to mention the pokedex error. I'll test the fix.

Oh, and Maruno's fix seems to work. It actually didn't just apply to double battles, but singles as well, where if a pokemon that was switched out and replaced, and the replaced pokemon KOs an opponent's mon, AND the Poke that was switched out gains EXP, it created a similar glitch where only the switched out pokemon gains EXP, and even created a new problem where if the opponent that was KO'd was the last pokemon, the battle will create a "blank turn" instead of ending. Basically, it forced you to use a turn (either attacking, using an item, etc.) when there is no target pokemon in the playfield, and the switched out pokemon will still gain EXP. With the fix, however, this doesn't seem to happen anymore.

Maruno
December 28th, 2011, 06:17 PM
I just now implemented this fix into my copy of essentials, haven't tested it yet though. I'm still working on the Gen V TM list for you and I'm nearly done; all the new moves up to and including TM55(Scald) have their compatibility lists implemented, and the other new moves are in place.

Also, I'm leaving the unused moves in the tm.txt file anyway since there's no point in removing them(Especially since someone might want these to be tutor moves, etc.). It might be a few KB larger, but that shouldn't be a problem.
That'll be fine. It's much more work than you were hoping, isn't it?

Can you also possibly provide replacement icons for the TM items, which reflect the new moves?


errr just tried the example maps and i can not get the pokédex to work (menu item wont show) any suggestions?
That's another bug I discovered just after fixing the first one. The reason is that the game is looking for a non-existent Dex list to see if you've seen any Pokémon in it (because the Pokédex only appears in the pause menu if it isn't empty, and if the required Dex list doesn't exist, it's always going to be empty).

The workaround IceGod64 mentioned will, um, work around it, but that's not how I intended it. The actual fix is to go into PokemonUtilities and find def pbSetViableDexes. Change the top bit to look like the following:

if DEXDEPENDSONLOCATION
region=pbGetCurrentRegion
region=-1 if region>=$PokemonGlobal.pokedexUnlocked.length-1
if $Trainer.pokedexSeen(region)>0
$PokemonGlobal.pokedexViable[0]=region
end
elseOnce you get into the Pokédex, you'll find another problem wherein the seen/owned numbers don't work (for the same reason), so in PokemonPokedex find the def pbGetPokedexRegion and change the first part to the following:

if DEXDEPENDSONLOCATION
region=pbGetCurrentRegion
region=-1 if region>=$PokemonGlobal.pokedexUnlocked.length-1
return region
elseProblems solved, hopefully. I may yet make it work more consistently in future (i.e. the same way for both location-based and manual-choice Dexes).

I don't actually test most of the things I do, you know. :cheeky:


I was about to mention the pokedex error. I'll test the fix.

Oh, and Maruno's fix seems to work. It actually didn't just apply to double battles, but singles as well, where if a pokemon that was switched out and replaced, and the replaced pokemon KOs an opponent's mon, AND the Poke that was switched out gains EXP, it created a similar glitch where only the switched out pokemon gains EXP, and even created a new problem where if the opponent that was KO'd was the last pokemon, the battle will create a "blank turn" instead of ending. Basically, it forced you to use a turn (either attacking, using an item, etc.) when there is no target pokemon in the playfield, and the switched out pokemon will still gain EXP. With the fix, however, this doesn't seem to happen anymore.
I assume that complicated-looking jumble was another bug that appeared in the latest version too, and is now also fixed. Good stuff.

Ratty524
December 28th, 2011, 07:55 PM
One more thing, is there a way to prevent the player from registering every trainer he/she battles into the pokegear?

Within the trainer events, I tried deleting the line that appears on the second page to prevent those trainers from being registered for rematches, but every time the game compiles and runs, it comes back.

IceGod64
December 28th, 2011, 09:02 PM
That'll be fine. It's much more work than you were hoping, isn't it?

Can you also possibly provide replacement icons for the TM items, which reflect the new moves?
Actually, it's not that bad. I've messed with the TM's list for my own project before, so I knew I was getting into some messy work. Luckily, it's only the 1st-4th gens, so that saves me a little time.

As for your second statement, I've done that already. all 101 TM's have changed icons to match.

The workaround IceGod64 mentioned will, um, work around it,
lol, it was just one method I was throwing out there until you came through with something better.

Maruno
December 29th, 2011, 04:58 AM
One more thing, is there a way to prevent the player from registering every trainer he/she battles into the pokegear?

Within the trainer events, I tried deleting the line that appears on the second page to prevent those trainers from being registered for rematches, but every time the game compiles and runs, it comes back.
Ah, another bug.

In the script section Compiler, search for the phrase pbPhoneRegisterBattle. There will be 3 instances of it. Find the third instance (line 3879), and put if battles.length>1 and end around that line.

I told you I don't test these things. :cheeky: It may be worthwhile releasing version 4.1 with these things fixed.

IceGod64
December 29th, 2011, 04:43 PM
Ah, another bug.

In the script section Compiler, search for the phrase pbPhoneRegisterBattle. There will be 3 instances of it. Find the third instance (line 3879), and put if battles.length>1 and end around that line.

I told you I don't test these things. :cheeky: It may be worthwhile releasing version 4.1 with these things fixed.

I'd wait until the new year to give it some more time - just to see if any more new bugs will pop up. I've been toying with it and haven't had and problems though.

titiy
December 30th, 2011, 01:33 AM
First, thanks for the new Version. It's really great so far.

However, I don't know if it's just me but I can use every HMs right from the start without having to find them and teach them to any Pokemons. I don't think I've changed any script so far. Is there a way to fix this?

Thanks

Pharetra
December 30th, 2011, 01:50 AM
First, thanks for the new Version. It's really great so far.

However, I don't know if it's just me but I can use every HMs right from the start without having to find them and teach them to any Pokemons. I don't think I've changed any script so far. Is there a way to fix this?

Thanks
Can you give more details, I for example don't know whether the HM's are in your bag from the start or not. Also, this is the right place to post questions like this: http://www.pokecommunity.com/showthread.php?t=105731

titiy
December 30th, 2011, 02:23 AM
Can you give more details, I for example don't know whether the HM's are in your bag from the start or not. Also, this is the right place to post questions like this: http://www.pokecommunity.com/showthread.php?t=105731

Thanks, I wasn't sure.
And Nevermind, I haven't been using the starter kit for a while and I had forgoten that you could use HMs at anytime when you were running the game from the editor

Pharetra
December 30th, 2011, 02:25 AM
Thanks, I wasn't sure.

I'm not starting the game with any HMs in my bag but I can surf/cut and everything. I can do it before getting my first Pokemon too.
If you open the game in RPG Maker XP, the game will be opened in Debug Mode and therefore you're able to use all HM's without having a Pokemon. If you open it the normal way (by opening game.exe) this won't happen.

EDIT:
I get this when I start my game based on this version of Essentials:
http://img9.imageshack.us/img9/3143/96287177.png
All I've changed was the content of the folder and the script Settings:

DEFAULTSCREENWIDTH = 480
DEFAULTSCREENHEIGHT = 320
DEFAULTSCREENZOOM = 0.5

IceGod64
December 31st, 2011, 05:52 PM
I get this when I start my game based on this version of Essentials:
http://img9.imageshack.us/img9/3143/96287177.png
All I've changed was the content of the folder and the script Settings:

DEFAULTSCREENWIDTH = 480
DEFAULTSCREENHEIGHT = 320
DEFAULTSCREENZOOM = 0.5


That's odd, I just tried it and I don't have that issue. When you say you changed the "Content of the folder", could you elaborate for me?

Pharetra
December 31st, 2011, 06:05 PM
That's odd, I just tried it and I don't have that issue. When you say you changed the "Content of the folder", could you elaborate for me?
Sure, I've copied the Graphics, Audio and PBS folder from my project based on the october release to the folder of my project based on the december release.

IceGod64
January 1st, 2012, 11:15 AM
Sure, I've copied the Graphics, Audio and PBS folder from my project based on the october release to the folder of my project based on the december release.
I just thought of something - try messing with your options from the startup menu you showed me - Particularly the screen size options. If that doesn't work, delete your save file entirely and start a new one. I've had all sorts of problems arise in the past from trying to carry save files over from older versions of essentials.

Pharetra
January 1st, 2012, 12:00 PM
I just thought of something - try messing with your options from the startup menu you showed me - Particularly the screen size options. If that doesn't work, delete your save file entirely and start a new one. I've had all sorts of problems arise in the past from trying to carry save files over from older versions of essentials.
The problem with the options screen is that by default it is set to 240x160, so then I have to switch to 480x240 ( which it does, by the way) and then switch back to 240x160, and then my screen is the way it should be. Deleting the save file shouldn't work; I haven't copied the old savefile as it was in Documents/Saved Games instead of the game folder.

Air Lock
January 1st, 2012, 02:52 PM
If I wanted to upgrade my fangame to this new version from the October 2011 version, what would I have to do?

Ratty524
January 1st, 2012, 03:53 PM
If I wanted to upgrade my fangame to this new version from the October 2011 version, what would I have to do?

Copy your rmxp data files, including your tilesets, maps, system, and possibly your common events and animation if you have them, to your new project folder.

Next, copy anything you made in your graphics folder into the new project. note that the names of certain graphic files have changed during some updates, and you may need to rename some of your graphic files.

If you added any custom features as far as scripting is concerned, you have to re-implement them by copying those scripts into the script editor of the new version. This is why it's good to document any changes you make to the scripts. :)

Air Lock
January 1st, 2012, 03:55 PM
Copy your rmxp data files, including your tilesets, maps, system, and possibly your common events and animation if you have them, to your new project folder.

Next, copy anything you made in your graphics folder into the new project. note that the names of certain graphic files have changed during some updates, and you may need to rename some of your graphic files.

If you added any custom features as far as scripting is concerned, you have to re-implement them by copying those scripts into the script editor of the new version. This is why it's good to document any changes you make to the scripts. :)Okay, thank you. I'm going to try this out :)

Maruno
January 1st, 2012, 05:55 PM
I get this when I start my game based on this version of Essentials:
http://img9.imageshack.us/img9/3143/96287177.png
All I've changed was the content of the folder and the script Settings:

DEFAULTSCREENWIDTH = 480
DEFAULTSCREENHEIGHT = 320
DEFAULTSCREENZOOM = 0.5

I was looking at a barely related thing, and ended up fixing this problem quite by coincidence.

In the script section SpriteResizer, at line 138, change it to read $ResizeFactor=1.0. I think I did a few other tweaks, but that by itself should yield promising results.

On a related note, would anyone care if there were no longer any "screen with border" options to choose from (thus leaving just two screen size options: half and full zoom)?

Pia Carrot
January 1st, 2012, 06:03 PM
I suppose if people really wanted that border they could stick with an older version of Essentials. I myself don't use it (Mostly because I haven't looked into how to do so), but I know a few game devs here using the feature.

I say keep it, but I doubt many are really going to use it.

IceGod64
January 1st, 2012, 06:15 PM
I was looking at a barely related thing, and ended up fixing this problem quite by coincidence.

In the script section SpriteResizer, at line 138, change it to read $ResizeFactor=1.0. I think I did a few other tweaks, but that by itself should yield promising results.

On a related note, would anyone care if there were no longer any "screen with border" options to choose from (thus leaving just two screen size options: half and full zoom)?

I certainly can't speak for everyone here, but in my own opinion, borders in games are pretty ugly, so I'd be just fine seeing them removed. What I've been trying to do for a while now in one of my projects is make a 1x, 2x, and 4x zoom setting (It's using the GBC screen size), but whenever I go to the 4x option, it ends up bringing the border back whenever I restart the game, and the only reason I can figure is that essentials still wants to put a border on the third option, even though as far as I can tell, I got rid of everything border related - So maybe you'd be able to fix that in the process.

Note: There's also not much point in helping me specifically resolved the issue right now since that project is on a dated release of essentials. Thought I should add that for clarity.

Volcanix769
January 1st, 2012, 06:29 PM
Excuse me, I downloaded it, and that when I tried using it, it said "Failed to initialize DirectX Audio." So I downloaded DirectX Audio and that it still does the same thing, what is wrong with my Game.exe?

Ho-oh 112
January 6th, 2012, 08:49 AM
Not sure if should have made a new thread for this but, anyways
can someone help me here with my mysterygift system?, the gift creator works but the gift loader doesn't use the right stats for everything (shiny/shadow is 49 even when I make it 0/1 isOdd is nil, and every 256+ multipuls it subtracts by 256)...
I've checked it a few times and I see nothing wrong here, maybe someone else can find it?

## By Ho-oh 112 Version 1.0
## Allows you to choose pokemon, level, form, and tint (shiny, shadow, normal)
## Auto compiles/decompiles into gift.txt and loads gift.txt
## Todo, Make online compatible, add the rest of the pokemon stuff
## (moves, abillities, ect.)
def pbWriteGift
species=pbChooseSpecies(1)
if species!=0
species2 = species
species = species / 2 * 2
if species2 == species
isOdd = 1
else
isOdd = 2
end
species = species2
if isOdd >= 1
species = species + 1
end
if species >= 256 * 2
greater = 2 # when set to 2+ this will divide by 4 instead of 2
species = species / 4
end
if species < 256 * 2
species = species / 2
greater = 1 # when set to 1 AND ONLY 1 this will disable 4/
end
#Set Level
params=ChooseNumberParams.new
params.setRange(1,PBExperience::MAXLEVEL)
params.setInitialValue(5)
params.setCancelValue(0)
level=Kernel.pbMessageChooseNumber(
_INTL("Set the Pokémon's level."),params)
#set form
if level != 0
params=ChooseNumberParams.new
params.setRange(0,20)
params.setInitialValue(0)
params.setCancelValue(0)
form=Kernel.pbMessageChooseNumber(
_INTL("Set the Pokémon's Form."),params)
#set shiny/shadow
params=ChooseNumberParams.new
params.setRange(0,9)
params.setInitialValue(0)
params.setCancelValue(0)
shiny=Kernel.pbMessageChooseNumber(
_INTL("Shiny 1+, normal 0"),params)
params=ChooseNumberParams.new
params.setRange(0,9)
params.setInitialValue(0)
params.setCancelValue(0)
shadow=Kernel.pbMessageChooseNumber(
_INTL("Shadow 1+, normal 0"),params)
#set move 1
params=ChooseNumberParams.new
params.setRange(1,999)
params.setInitialValue(1)
params.setCancelValue(0)
move1=Kernel.pbMessageChooseNumber(
_INTL("Choose move1"),params)
#set move 2
params=ChooseNumberParams.new
params.setRange(1,999)
params.setInitialValue(1)
params.setCancelValue(0)
move2=Kernel.pbMessageChooseNumber(
_INTL("Choose move2"),params)
#set move 3
params=ChooseNumberParams.new
params.setRange(1,999)
params.setInitialValue(1)
params.setCancelValue(0)
move3=Kernel.pbMessageChooseNumber(
_INTL("Choose move3"),params)
#set move 4
params=ChooseNumberParams.new
params.setRange(1,999)
params.setInitialValue(1)
params.setCancelValue(0)
move4=Kernel.pbMessageChooseNumber(
_INTL("Choose move4"),params)
#Compiles
if shiny == 0
shiny = "n"
shiny.unpack("C")
end
if shadow == 0
shadow = "n"
shadow.unpack("C")
end
tint=[shiny, shadow]
moves=[move1, move2, move3, move4]
dat1=[species, level, tint, moves, isOdd, greater]
dat2=dat1.pack("CvM^*077700*^")
filename="Gifts/Gift.MG"
File.open(filename,"wb"){|f|
f.write(dat2)
}
end
end
end

def pbLoadGift
idOdd = 1
data = nil
if $Trainer.party.length == 6
Kernel.pbMessage(_INTL("Your party is full!"))
return
end
File.open("Gifts/Gift.MG","rb"){|f|
data=f.read
}
if data == nil
return false
end
dat=data.unpack("CvM^*077700*^")
species=dat[0]*2
level=dat[1]
tint=dat[2]
moves=dat[3]
isOdd=dat[4]
greater=dat[5]
shiny=tint[0]
shadow=tint[1]
if $PokemonGlobal.LastGift1 == dat
Kernel.pbMessage(_INTL("You've got this gift already."))
return
end
if $PokemonGlobal.LastGift2 == dat
Kernel.pbMessage(_INTL("You've got this gift already."))
return
end
if $PokemonGlobal.LastGift3 == dat
Kernel.pbMessage(_INTL("You've got this gift already."))
return
end
if $PokemonGlobal.LastGift4 == dat
Kernel.pbMessage(_INTL("You've got this gift already."))
return
end
if $PokemonGlobal.LastGift5 == dat
Kernel.pbMessage(_INTL("You've got this gift already."))
return
end
if species == nil
return false
end
if isOdd == nil
return false
end
if greater == nil
return false
end
if level == nil
level=1
end
if greater != 2
else
species = species / 2 * 4
end
if isOdd == 1
species = species - 1
end

if species > 493 || species < 0
return false
end
if level > PBExperience::MAXLEVEL || level < 0
return false
end
p=PokeBattle_Pokemon.new(species,level,$Trainer)
# Makes Shiny/Shadow
if shiny == 49
p.makeShiny
end
if shadow == 49
p.makeShadow
end
pbAddToParty(p)
end

Cilerba
January 6th, 2012, 12:21 PM
This forum is to be used for questions. Please only post bugs, and feedback on Essentials in the release threads.

Ho-oh 112
January 7th, 2012, 10:10 AM
Right so I tried making connection points between 2 maps (they worked at first) when I reached route 2 it gives me this message:

Script 'Interpreter' line 511: NoMethodError occurred
undefined method `unlock' for nil:NilClass

I didn't modify the Interpreter, so then I decided to copy over a fresh sheet of scripts and again:
Script 'Interpreter' line 511: NoMethodError occurred
undefined method `unlock' for nil:NilClass

When I remove the connections data it works fine, also the other maps in the connections

Town 1, Route 1, Town 2

when going to switch from them there is "an invisible wall" by them even though the maps are right against each other....

p.claydon
January 7th, 2012, 10:16 AM
ok so since there is now a forum does that mean there will be more discussions on features to be added/changed in essentials?

FL
January 7th, 2012, 04:16 PM
Maruno, did you really take a look on the stuff that I sent you a while ago? I sent a tm.txt with all 3/4/5 gen TMs AND Tutors! If you wish I can remove the gen 5 pokémon for yours essentials compatibility.

I have some suggestions for the next releases

1-I took a look at you version and can't believe that you don't put links to you wiki! Some people don't download it for your wikia and don't know how to search for help! Put it in Oak introdution, in some txt on Essentials and in the notes.html
2-Put in Oak introdution a note to change the game.ini line to "Library=RGSS102E.dll". Some RPG Makers change it on edit the game.
3-The 10/03/11 version don't play the pokémon cry when I open one entry at pokédex. Take a look.
4-The Happiness on Essentials is wrong! Change every happiness moddification (search for pokemon.happiness) in script to Happiness.modify(pokemon, gaintype) where the gaintype is one of the nine variables in script like Happiness::LEVELUP and gaintype==Happiness::VITAMIN

module Happiness
LEVELUP=1
STEPS256=2
VITAMIN=3
BERRY=4
FAINT=5
ENERGYPOWDER=6
ENERGYROOY=7
HEALPOWDER=8
REVIVALHERB=9

def modify(pokemon, gaintype)
happinessgain=0
if (gaintype==Happiness::LEVELUP || gaintype==Happiness::VITAMIN)
if pokemon.happiness>199
happinessgain=2
elsif pokemon.happiness>99
happinessgain=3
else
happinessgain=5
end
elsif (gaintype==Happiness::BERRY)
if pokemon.happiness>199
happinessgain=2
elsif pokemon.happiness>99
happinessgain=5
else
happinessgain=10
end
elsif (gaintype==Happiness::STEPS256)
happinessgain=1
elsif (gaintype==Happiness::FAINT)
happinessgain=-1
elsif (gaintype==Happiness::ENERGYPOWDER || gaintype==Happiness::HEALPOWDER)
if pokemon.happiness>199
happinessgain=-10
else
happinessgain=-5
end
elsif (gaintype==Happiness::ENERGYROOY)
if pokemon.happiness>199
happinessgain=-15
else
happinessgain=-10
end
elsif (gaintype==Happiness::REVIVALHERB)
if pokemon.happiness>199
happinessgain=-20
else
happinessgain=-15
end
end

if isConst?(pokemon.item,PBItems,:SOOTHEBELL) && happinessgain>1
pokemon.happiness+=((3*happinessgain)/2)
else
pokemon.happiness+=happinessgain
end
pokemon.happiness=255 if pokemon.happiness>255
pokemon.happiness=0 if pokemon.happiness<0
end
end

5-In the box menu you can put a button to change the hand for orange like in official games? The orange hand withdraw/deposit/move the pokémon without show the other options.
6-Can you make in Settings an option to change the Bike speed? I try to change by myself but this make the player don't activate touch events and other side effects.
7-Can you make extra forms in a PBS? You can define optional values like type, base stats, other movepool, necessary moves (Rotom) and some other effect like "Burmy style" or "Shaymin Style". This make more easier for making similar forms to fakemons
8-Can make a easier way to put more screens before title screens? Maybe pass 3 attributes, the screen image, delay and if its can be canceled. I you wish I can make an example script
9-Make an option on settings to pushing some buttons to open a tutorial screen like FrLg. It's good for rookies.
10-Maybe a Rotom sample change form event? Put a event some text like "A wash machine. You wish to show it to some pokémon?", call the pbChoosePokemon and the RotomForm.rotomChangeForm. Use for the first parameter the pbChoosePokemon variable return, for the second put the numbers 1-5 for every device.

module RotomForm
def self.rotomChangeForm(pokemon,number_form)
ret=false
if pokemon.eggsteps<=0 && pokemon.species==PBSpecies::ROTOM
if pokemon.form==0
case number_form
when 1; mov=PBMoves::OVERHEAT # Heat, Microwave
when 2; mov=PBMoves::HYDROPUMP # Wash, Washing Machine
when 3; mov=PBMoves::BLIZZARD # Frost, Refrigerator
when 4; mov=PBMoves::AIRSLASH # Fan
when 5; mov=PBMoves::LEAFSTORM # Mow, Lawnmower
else; p "Error"; mov=PBMoves::THUNDERSHOCK
end
pbLearnMove(pokemon,mov)
if pbHasMove?(pokemon,mov)
pokemon.form=number_form
ret=true
end
elsif pokemon.form==number_form
getp.form=0
ret=true
else
getp.form=number_form
ret=true
end
end
return ret
end
end

11-Can you put in Essentials some more tutorials like:
-Adding an icon for player's position in mapDisallow running in certain places.
-Adding un-catchable/un-fightable pokemon like the ghosts in Lavender Town's Pokemon Tower
-Disallow running in certain places
-Building better bridges
-Making maps sloped for cycling
12-If you wish to put the "Settings" script over global metadata, why don't move out the global metadata functions to Settings or vice-versa. Maybe you can only leaves the players options on Settings.

Maruno
January 7th, 2012, 06:07 PM
Guys, this particular thread is only for talking about the latest release. Any other discussion, questions or suggestions should go in their own threads in this new section.


Maruno, did you really take a look on the stuff that I sent you a while ago? I sent a tm.txt with all 3/4/5 gen TMs AND Tutors! If you wish I can remove the gen 5 pokémon for yours essentials compatibility.
Yes, I looked at what you sent me. I've already added it to the next release. There were no Gen 5 Pokémon mentioned in there, so that's not a problem.


I have some suggestions for the next releases

1-I took a look at you version and can't believe that you don't put links to you wiki! Some people don't download it for your wikia and don't know how to search for help! Put it in Oak introdution, in some txt on Essentials and in the notes.html
2-Put in Oak introdution a note to change the game.ini line to "Library=RGSS102E.dll". Some RPG Makers change it on edit the game.
3-The 10/03/11 version don't play the pokémon cry when I open one entry at pokédex. Take a look.
4-The Happiness on Essentials is wrong! Change every happiness moddification (search for pokemon.happiness) in script to Happiness.modify(pokemon, gaintype) where the gaintype is one of the nine variables in script like Happiness::LEVELUP and gaintype==Happiness::VITAMIN

module Happiness
LEVELUP=1
STEPS256=2
VITAMIN=3
BERRY=4
FAINT=5
ENERGYPOWDER=6
ENERGYROOY=7
HEALPOWDER=8
REVIVALHERB=9

def modify(pokemon, gaintype)
happinessgain=0
if (gaintype==Happiness::LEVELUP || gaintype==Happiness::VITAMIN)
if pokemon.happiness>199
happinessgain=2
elsif pokemon.happiness>99
happinessgain=3
else
happinessgain=5
end
elsif (gaintype==Happiness::BERRY)
if pokemon.happiness>199
happinessgain=2
elsif pokemon.happiness>99
happinessgain=5
else
happinessgain=10
end
elsif (gaintype==Happiness::STEPS256)
happinessgain=1
elsif (gaintype==Happiness::FAINT)
happinessgain=-1
elsif (gaintype==Happiness::ENERGYPOWDER || gaintype==Happiness::HEALPOWDER)
if pokemon.happiness>199
happinessgain=-10
else
happinessgain=-5
end
elsif (gaintype==Happiness::ENERGYROOY)
if pokemon.happiness>199
happinessgain=-15
else
happinessgain=-10
end
elsif (gaintype==Happiness::REVIVALHERB)
if pokemon.happiness>199
happinessgain=-20
else
happinessgain=-15
end
end

if isConst?(pokemon.item,PBItems,:SOOTHEBELL) && happinessgain>1
pokemon.happiness+=((3*happinessgain)/2)
else
pokemon.happiness+=happinessgain
end
pokemon.happiness=255 if pokemon.happiness>255
pokemon.happiness=0 if pokemon.happiness<0
end
end

5-In the box menu you can put a button to change the hand for orange like in official games? The orange hand withdraw/deposit/move the pokémon without show the other options.
6-Can you make in Settings an option to change the Bike speed? I try to change by myself but this make the player don't activate touch events and other side effects.
7-Can you make extra forms in a PBS? You can define optional values like type, base stats, other movepool, necessary moves (Rotom) and some other effect like "Burmy style" or "Shaymin Style". This make more easier for making similar forms to fakemons
8-Can make a easier way to put more screens before title screens? Maybe pass 3 attributes, the screen image, delay and if its can be canceled. I you wish I can make an example script
9-Make an option on settings to pushing some buttons to open a tutorial screen like FrLg. It's good for rookies.
10-Maybe a Rotom sample change form event? Put a event some text like "A wash machine. You wish to show it to some pokémon?", call the pbChoosePokemon and the RotomForm.rotomChangeForm. Use for the first parameter the pbChoosePokemon variable return, for the second put the numbers 1-5 for every device.

module RotomForm
def self.rotomChangeForm(pokemon,number_form)
ret=false
if pokemon.eggsteps<=0 && pokemon.species==PBSpecies::ROTOM
if pokemon.form==0
case number_form
when 1; mov=PBMoves::OVERHEAT # Heat, Microwave
when 2; mov=PBMoves::HYDROPUMP # Wash, Washing Machine
when 3; mov=PBMoves::BLIZZARD # Frost, Refrigerator
when 4; mov=PBMoves::AIRSLASH # Fan
when 5; mov=PBMoves::LEAFSTORM # Mow, Lawnmower
else; p "Error"; mov=PBMoves::THUNDERSHOCK
end
pbLearnMove(pokemon,mov)
if pbHasMove?(pokemon,mov)
pokemon.form=number_form
ret=true
end
elsif pokemon.form==number_form
getp.form=0
ret=true
else
getp.form=number_form
ret=true
end
end
return ret
end
end

11-Can you put in Essentials some more tutorials like:
-Adding an icon for player's position in mapDisallow running in certain places.
-Adding un-catchable/un-fightable pokemon like the ghosts in Lavender Town's Pokemon Tower
-Disallow running in certain places
-Building better bridges
-Making maps sloped for cycling
12-If you wish to put the "Settings" script over global metadata, why don't move out the global metadata functions to Settings or vice-versa. Maybe you can only leaves the players options on Settings.
1. There's an Internet shortcut in the main folder of Essentials to the wiki. That should be enough. As far as I know, the only links to the downloads are on the wiki. I intend to remove the notes files as soon as they become redundant.

2. Mentioned on the wiki, in the Error messages page. I don't know how common this problem is, so I don't know if it needs more attention.

3. Noted and fixed for the next release.

4. I'll look into that. It'd help if I knew how it was wrong.

5. I think I see what you mean. The list of PC boxes to deposit a Pokémon into is an actual list, not an orange rectangle you can scroll left/right on (same goes for "jumping" to another box). That's a cosmetic change, really, but it may be changed in time.

6. The cycling speed isn't something you really need easy access to. It's in Walk_Run, line 67 (currently 5.2). I wouldn't know about how changing it affects things.

7. Ideally I'd like to do that, but it'd be an awful lot of work and it's not exactly necessary (what exists works). For the meantime, you'll just have to settle for defining things in PokemonMultipleForms.

8. The wiki page Game intro describes all this. I may make a Setting out of it, though.

9. There's an explanation for newbies in the Oak's lecture. I'm not sure anyone playing these games would need tutorials in the first place. What kind of tutorials were you thinking of?

10. Good point. That'll be something to add into the example maps, probably when they're redesigned.

11. I intend to add the player's location in Town Map and better bridges (I'm thinking up an even better system). The others, I don't. If people want those features, the tutorials are there.

12. I'll look into some rearranging.

Thanks for your comments.

RaulCortez
January 8th, 2012, 07:41 AM
Hi Maruno,

Sorry for posting a question on this thread that's not strictly related to bugs or the latest release, but apparently any other thread about Pokemon Essentials is closed, and also i think this question can't be answered unless you have a wide understanding of the workings of the scripts in pokemon essentials, which you have:

I'm using the latest release (december 24), and I'd like to change the battle system. Not sure if it's a huge change, but instead of using a backsprite, i'd like to use the front sprite, but mirrored, the way it shows on the summary. Here's a picture to illustrate what i mean:

http://www.freeimagehosting.net/newuploads/4i947.png

Now, the position of the hp bars were easy to change, but my main thing is that i put torchic on that position by mirroring the sprite on photoshop and then replacing the backsprite with the mirrored version. Then i had to reposition it to be on that place with the editor.

If i did that with each and every pokemon of all the 600+...well, you can imagine.

But i really don't think that should be necessary if there was a way to just use the front sprite, mirror it and use it on battle, on that position, just like the summary sprite.

So, i'm not sure if that peculiar thing requires a lot of work or if it can be done with minor tweaks, so i'm asking:

How can i do it?
Is that on the Pokebattle_ActualScene part?
Or is it somewhere else?

And...i think that's it. It would be great it you could give me some advice on that. Thank you so much, and then again sorry for posting in here, i couldn't find any other place for this question!

FL
January 8th, 2012, 08:50 AM
@RaulCortez: Try to make something like "@sprites["pokemon"].mirror=true"
---
I found more Glitches and put in the Known bugs page on wikia. I also need to take a look in incense breeding, if this work even when incense is on the father instead of mother.

Yes, I looked at what you sent me. I've already added it to the next release. There were no Gen 5 Pokémon mentioned in there, so that's not a problem.Have we talking about the same file? The one that I sent you in July?


1. There's an Internet shortcut in the main folder of Essentials to the wiki. That should be enough. As far as I know, the only links to the downloads are on the wiki. I intend to remove the notes files as soon as they become redundant.

2. Mentioned on the wiki, in the Error messages page. I don't know how common this problem is, so I don't know if it needs more attention.

3. Noted and fixed for the next release.

4. I'll look into that. It'd help if I knew how it was wrong.

5. I think I see what you mean. The list of PC boxes to deposit a Pokémon into is an actual list, not an orange rectangle you can scroll left/right on (same goes for "jumping" to another box). That's a cosmetic change, really, but it may be changed in time.

6. The cycling speed isn't something you really need easy access to. It's in Walk_Run, line 67 (currently 5.2). I wouldn't know about how changing it affects things.

7. Ideally I'd like to do that, but it'd be an awful lot of work and it's not exactly necessary (what exists works). For the meantime, you'll just have to settle for defining things in PokemonMultipleForms.

8. The wiki page Game intro describes all this. I may make a Setting out of it, though.

9. There's an explanation for newbies in the Oak's lecture. I'm not sure anyone playing these games would need tutorials in the first place. What kind of tutorials were you thinking of?

10. Good point. That'll be something to add into the example maps, probably when they're redesigned.

11. I intend to add the player's location in Town Map and better bridges (I'm thinking up an even better system). The others, I don't. If people want those features, the tutorials are there.

12. I'll look into some rearranging.

Thanks for your comments.1-You need to search a little more on internet. A tip is to put the download url code (like jwi75o21rmkrajl) in google to see what it takes. Even this latest one have an external linked, but this time the ones who linked put also a link to your wiki. In the most of the time they don't put, sometimes they re-upload the file, so the tip won't work, sometimes they change the files on the folder and even change the kit itself . The're also sites that google can't catch.
For this think about at least change the phrase that mention notes.html on Oak's lecture to a your wiki link.

2-I put more details in Error messages page, take a look if you didn't see yet.

6-That is the big problem.

9-You need to consider that there a small portion of people playing Essentials games never played a pokémon game before. Anyway the FrLg tutorial is very useful, specially the type chart, and can be accessed in field or in battle simply tounching R/L buttons. It's hard to find videos or screens about this, I only found screen of japanese version but I'm sure that the english versions have it. That not to be confused with Teachy TV.
http://www.serebii.net/red_green/report1.gif

Cilerba
January 8th, 2012, 09:19 AM
Enough with the questions in this thread. You're finally allowed to make threads on questions you have. You're not to post questions in any release thread, that's what the Essentials forum was created for.

RaulCortez
January 8th, 2012, 12:13 PM
Sorry Cilerba, i didn't knew you could do a whole thread for a question. Will make the thread now! And Thanks, FL!

To stay on topic, i must say this is a great release. I liked the whole berry plant thingie on the 3rd gen games, and to be able to use it now is great. The Pokédex also looks way cooler now! I wonder if there will be honey trees in future releases? that would be great!

the__end
January 15th, 2012, 10:28 PM
It may be worthwhile releasing version 4.1 with these things fixed.

so do you releasing a version where the bugs are fixed? ^^
because i cant fix the bug where the pokedex dont appear in the menu after receiving it... =(
i tried the way you said but its not working... (maybe im doing something wrong >.<)
pls release a version where it is fixed! =(

Maruno
January 16th, 2012, 05:31 AM
There'll be a new version hopefully later this month, with a few things patched up. Then I'll get started on the resizing to DS resolution thing, which will take a while.

D. Lawride
January 16th, 2012, 05:48 AM
There'll be a new version hopefully later this month, with a few things patched up. Then I'll get started on the resizing to DS resolution thing, which will take a while.

I have some of the settings for the DS already set up in my project, so maybe it'll spare you some work?

Also, in case you do release another version, would it be possible to append a .txt or something of that sort listing the changes made (or, if anything, the scripts changed)? It could be useful for all of us, for you if you can't find what was edited last time and for developers like me who would want to update the pack without having to port the whole project all over again or spend hours without end searching for the changes. I know they are listed in the wiki, but they're listed as features and not quite as where that feature was changed.

Anyways, just a suggestion. This release seems to be the most functional thus far.

Maruno
January 16th, 2012, 11:45 AM
I'm not interested in providing a running commentary on every little thing I've tweaked (funnily enough, I've got enough to think about already), but if someone else wants to compile a per-line change list, go right ahead. Said list can go on the wiki.

I would say the best way to go about updating is not to find what's changed in the latest version and apply it to your game, but to take your own changes and apply them to the latest version. At least then you're putting your own tweaks on top of a working version.

D. Lawride
January 16th, 2012, 11:54 AM
I'm not interested in providing a running commentary on every little thing I've tweaked (funnily enough, I've got enough to think about already), but if someone else wants to compile a per-line change list, go right ahead. Said list can go on the wiki.

I would say the best way to go about updating is not to find what's changed in the latest version and apply it to your game, but to take your own changes and apply them to the latest version. At least then you're putting your own tweaks on top of a working version.

Well, that's true, but I didn't mean an exceptionally explicit report. What I meant was indicating, in addition to what features were changed, which scripts were modified (with no need to pinpoint exactly what line(s) was(ere) edited). Just knowing the script that was changed is very useful for comparison, and it shouldn't be too hard to either add an item to a list every time something is modified, or even adding a comment on the top a modified script indicating the version it was last changed in.

That's also true, but sometimes said changes are simply important to how the game works (such as the correction of that bug regarding the trainer events not disappearing properly. It was an easy fix, but it was just easier to update the script with all the changes done to it) and work best when applied together. I can't think of anything from the top of my head, but for instance, changes to the Pokémon's inner-workings most likely require editing more than just a couple of lines. As you've stated in another topic, it works better that way, and if people have the chance the upgrade, then I think the logical decision would be to do so. We're all using the same base, Essentials, so we may as well use the best version of it.

CapricornPsyche
January 16th, 2012, 03:59 PM
Wow, it was released on christmas? OwO cool! lol Anyway, I took the opportunity to download this for me and my friends Indie Pokemon game :3 thank you!

Nickalooose
January 27th, 2012, 09:37 AM
Um, any idea where I would find "next eligable" Pokémon in a Pokémon battle, how it works with eggs is a good example, like if position 1 were ineligable to battle it would pick position 2 and so forth. X