[quote="Ruzzon"]Hey i'm recently download your Pokemon henti game + the editor. i'm making my own game out of it but i have one problem. Every time i fight a battle its always Ash that's fighting even thought i change the player sprite and want to use my own custom character that i want to play with.. is there a way change it and his attacks? please reply.[/quote]

I really should add this to the level editor sometime.
But in the meantime, there is a workaround.

But first you need to add a new trainer.
You do this by adding a new pokemon to the game. Trainers are treated as pokemon since they are all party members.
To do this, run the level editor, open a map, and then click on the 4th button along the top.
[thumb]http://dl.dropbox.com/u/43729227/misc/Ruzzon%20-%20replace%20trainer/database_button.png[/thumb]
This opens the database where all the non-level data can be edited.
Click on the work "pokemon" from the list.
This will allows you to edit the pokemon in the game.
To add a new pokemon, click the + button above the list.
[thumb]http://dl.dropbox.com/u/43729227/misc/Ruzzon%20-%20replace%20trainer/addPokemon1.png[/thumb]
Type in a name for the trainer in the box [color=#808080](Don't use any spaces)[/color], then press the enter key.
[thumb]http://dl.dropbox.com/u/43729227/misc/Ruzzon%20-%20replace%20trainer/addPokemon2.png[/thumb]
The dropboxes for the preview images are a little glitchy, but they do work. After you select a folder in one of them, press the enter key to update its list and to show the contents of that folder. Then open the list again. Select the image file you want to use, and press enter again.



After you add your trainer to the pokemon list, you need to tell the game to use that trainer instead of Ash.
It's a little tricky, but there is a way to do this.
On the first level of your game, make an rpgSprite, give it an "auto" script, and add 2 variable commands.

These two commands will be setup in a weird way that allows them to run some special functions built into the game itself.
The first will remove Ash from the party.
The second will add a pokemon [color=#808080](or trainer)[/color] to the party.
The result is that Ash will be replaced by a different trainer.

In the first variable command, empty the top box that's labeled "Variable". We're not going to use it.
Then in the bottom box labeled "Value", type in this command:
[code][RAM_F.pokemon.removePokemon(ash)][/code][thumb]http://dl.dropbox.com/u/43729227/misc/Ruzzon%20-%20replace%20trainer/specialCommand1.png[/thumb]

In the second variable command, do the same thing.
But type in this command in the bottom box:
[code][RAM_F.pokemon.addPokemon(myTrainer,1)][/code][thumb]http://dl.dropbox.com/u/43729227/misc/Ruzzon%20-%20replace%20trainer/specialCommand2.png[/thumb]
Where you see the word "myTrainer", you should instead type the name of the new pokemon or trainer you want to use.
Make sure you type it EXACTLY the same way you did in the pokemon editor. Capital and lowercase letters do matter.
Also, don't use any spaces anywhere.
The [color=#FFFF00],1[/color] you see after it specifies that trainer's level.

Finally, make sure this script only runs once, by setting this rpgSprite's appearance flag [color=#808080](the big white box on the left)[/color] to something like: [color=#FFFF00][tt]!setup[/tt][/color]
And add another variable command to the very end of the script that sets "setup" to equal true.

You can also remove Ash from the pokedax by typing this:
[code][RAM_F.pokedex.removePokemon(ash)][/code]
[color=#808080](Yes, you use the word "pokedex" even though it's spelled as "pokedax" while you're playing the game)[/color]


[hr][/hr]I added a bunch of helper functions to the pokemon game because I needed to be able to do a few things that the level editor itself can't do yet.
In this case, we removed and added pokemon to the party.
These are all of the special commands in the game:
[code]RAM_F.trainers.addTrainer(id)		(modifies whether a trainer has been defeated)
RAM_F.pokedex.addPokemon(id)
RAM_F.pokedex.removePokemon(id)
RAM_F.items.addItem(id)
RAM_F.items.removeItem(id)
RAM_F.equipment.addItem(id)
RAM_F.equipment.removeitem(id)
RAM_F.pokemon.addPokemon(id,level)
RAM_F.pokemon.removePokemon(id)
RAM_F.pokemon.hasTM(moveName)			(outputs the word "true" if the 1st party member has the specified TM attack, otherwise it outputs "false")
RAM_F.pokemon.addTM(moveName)
	Adds a TM move to 1st party member (but doesn't add any items)
RAM_F.storage.addPokemon(id,level)
RAM_F.storage.removePokemon(id)
RAM_F.getNickname(name)
RAM_F.shops.restockRandom(itemName)		(randomly restocks one of the last 2 visited shops, with the specified item)
RAM_F.copySprite(spriteName,storePath)
RAM_F.party.placeMember(partyMemberName,followSpriteName)
RAM_F.copyObject(src_path,dest_path)
RAM_F.getKeyName(keyCode)[/code]
I added a few comments explaining some of the commands, but I'm not going to go over all of these right now because that would take [i]forever.[/i]
