# v18PokeRide outfit problem :(

This thread pertains to v18 of Pokémon Essentials.

#### Leondrea

##### Cooltrainer
Member
I'm using Marin's Pokeride Script and it works for v.18.
But I've run into a problem, the outfits from the player change
when riding on Rhyhorn. Eg. The player gets a different hair colour.
I'm using Essentials v.18.1. I have put the two Scripts from Marin
above Main, I just changed the last part of PokeRide_Rides:
On line 105 - 111:
module Rhyhorn
MoveSheet = ["Pokeride/boy_rhyhorn","Pokeride/girl_rhyhorn"]
MoveSpeed = 4.4
ActionSheet = ["Pokeride/boy_rhyhorn","Pokeride/girl_rhyhorn"]
ActionSpeed = 4.4
RockSmash = true
end

And my Event looks like that:
Rhyhorn Graphic
Move Animation
Direction Fix
Action Button
Event with 4 pages
Switch: Boy Pale is ON

Conditional Branch: Player is facing Right
Control Switches Rhyhorn at Vaniville Town = ON
Show Animation: Player, pbMount
Set Move Route: Player, Graphic, boy_rhyhorn (with his pale skin colour)
Wait for Moves Completion
pbMount(Rhyhorn)
Control Self Switch: A = ON

Else
Conditional Branch: Player is facing, left, down, up
have the same event as the bold text above, just the direction of the player changes.

Page 2 and 3 have the same as above just the graphic and the switch changes to Normal and Tan
Page 4 has Self Switch: A turned ON

Then I have another event before the player's house and at the Poké Ball statues.
That allows the player to dismount of Rhyhorn. It just happens when the Switch "Rhyhorn at Vaniville Town"
is turned on. If not nothing happens.

The big problem is that when I talk to Rhyhorn, the player's outfit changes, so its hair was blackish and it turns
into blonde. But I have all the outfits in Characters/Pokeride/ named as boy_rhyhorn, boy_rhyhorn_1,
boy_rhyhorn_2, girl_rhyhorn, girl_rhyhorn_1 and girl_rhyhorn_2.

If someone could help me I'd appreciate it! Thanks in advance!

#### DogzNDogz113

##### Arbiter of Doggos
Member
I'm using Marin's Pokeride Script and it works for v.18.

Hi, how exactly have you implemented the different player outfits? I saw that Switch you used and got reminded of your other post regarding benches.
Before we take a look at the script, we gotta make sure we've got everything set up correctly on our end.

- Ideally, your player characters should be taking any of the 7 player slots (defined as different players, eg playerA and so forth). If you want different colored skin characters, it's better to define each one as a different player in the PBS, instead of having a bunch of outfits for only one player.

For instance, if player skin color (colorA) is playerA, and player skin color (colorB) is playerB, all their respective outfits will be unique to them. I assume Marin's script is taking into account all the different defined players, so you shouldn't need to do anything extra, since the default non-riding graphic would revert back to that of the respective player.

Assuming you've got everything right, yet you still want to change the outfits of the different players (eg clothing etc), but the script doesn't check for the previous outfit before reverting to the non-riding graphic, you'd need to add that to the script manually.

- Even more ideally, you should avoid manipulating the player graphic via the event command Change Graphic (due to how Essentials handles player graphics). For instance, it's best and common practice to only manipulate player graphic opacity, or outfit via a script command, for any kind of event animation.

Last edited:

#### Leondrea

##### Cooltrainer
Member
Hi, how exactly have you implemented the different player outfits? I saw that Switch you used and got reminded of your other post regarding benches.
Before we take a look at the script, we gotta make sure we've got everything set up correctly on our end.

- Ideally, your player characters should be taking any of the 7 player slots (defined as different players, eg playerA and so forth). If you want different colored skin characters, it's better to define each one as a different player in the PBS, instead of having a bunch of outfits for only one player.

For instance, if player skin color (colorA) is playerA, and player skin color (colorB) is playerB, all their respective outfits will be unique to them. I assume Marin's script is taking into account all the different defined players, so you shouldn't need to do anything extra, since the default non-riding graphic would revert back to that of the respective player.

Assuming you've got everything right, yet you still want to change the outfits of the different players (eg clothing etc), but the script doesn't check for the previous outfit before reverting to the non-riding graphic, you'd need to add that to the script manually.

- Even more ideally, you should avoid manipulating the player graphic via the event command Change Graphic (due to how Essentials handles player graphics). For instance, it's best and common practice to only manipulate player graphic opacity, or outfit via a script command, for any kind of event animation.
I'm using Player A and B I have 3 outfits for the boy character and 3 outfits for the girl character.
Because, I don't know how to use the other 7 slots. I don't know if I have to call each slot the same internal name of the Trainer?

PlayerA = POKEMONTRAINER_CALEM,
PlayerB = POKEMONTRAINER_CALEM,

or does it have to be named differently?

PlayerB = POKEMONTRAINER_CALEM_2?

This is weird, I've never done that before. Thanks in advance

#### DogzNDogz113

##### Arbiter of Doggos
Member
I'm using Player A and B I have 3 outfits for the boy character and 3 outfits for the girl character.
Because, I don't know how to use the other 7 slots. I don't know if I have to call each slot the same internal name of the Trainer?

PlayerA = POKEMONTRAINER_CALEM,
PlayerB = POKEMONTRAINER_CALEM,

or does it have to be named differently?

PlayerB = POKEMONTRAINER_CALEM_2?

This is weird, I've never done that before. Thanks in advance

No need for the underscore. You an also use shorter internal names. You should always use internal (PlayerA) names when referencing.

PlayerA = CAL1,
PlayerB = CAL2,
PlayerC = CAL3,
PlayerD = CAL4,
PlayerE = CAL5,
PlayerF = CAL6,
PlayerG = CAL7,
PlayerH = CAL8,

The format is Metadata Player Number (PlayerA etc), Trainer Type from the PBS (pokemontrainer_calem --- so if you change it to CAL you must also change that in the Trainer Types PBS and everywhere else, not recommended since you've already set it up as POKEMONTRAINER)

So there's no real harm if you have the same trainer type for all players, but it might confuse you in the long run (not to mention that they're gonna have the same trainer battle sprite). Better add a number like above.

8 players means you can have 4 male skin variations and 4 female skin variations. And any number of outfits for each!

#### Leondrea

##### Cooltrainer
Member
I'm just using 3 skin colours for the girl and 3 skin colours for the boy character.
And thank you so much for your answer, I didn't know how it worked.

#### DogzNDogz113

##### Arbiter of Doggos
Member
I'm just using 3 skin colours for the girl and 3 skin colours for the boy character.
And thank you so much for your answer, I didn't know how it worked.

No prob! You don't need to use any switches whatsoever now, simply let your events (or the ride script) change outfits. Remember how the bench example I gave you was evented? It only changed outfits. It might also be possible to check for a specific outfit in an event script command inside a Conditional Branch like if Trainer.outfit==2 etc etc. (Not sure about that though)

Anyway, please test the ride script with the setup above now and let's see if it works

#### Leondrea

##### Cooltrainer
Member
No prob! You don't need to use any switches whatsoever now, simply let your events (or the ride script) change outfits. Remember how the bench example I gave you was evented? It only changed outfits. It might also be possible to check for a specific outfit in an event script command inside a Conditional Branch like if Trainer.outfit==2 etc etc. (Not sure about that though)

Anyway, please test the ride script with the setup above now and let's see if it works
I was doing all the character ow graphics I hadn't done before. And on the metadata.txt I wrote all the players A - F. I don't know if I add one extra character for the boy and one for the girl with pajama or if I do it with outfits. But aside that, I still have a question...

On Metadata.txt there is written 2x boy_surf and boy_fish_offset. And there is no dive graphic written there, why is that so?
If you or someone knows and could answer me I'd appreciate it! I'll try to look if everythings correct in the metadata.txt then I'll save the metadata.txt and I'll playtest my fangame to see if its working. Then I write something here if its not working. Thanks in advance!

#### Leondrea

##### Cooltrainer
Member
Ok, it's working fine now. I'm just curious about the skin colours, if I have to change the name of the pictures?

#### DogzNDogz113

##### Arbiter of Doggos
Member
What do you mean? What pictures and where? Since there's 8 definable players, you can have 4 male skin and 4 female skin variations for a total of 8. Each variation is a different player in the metadata. Outfits are applied to the player the same way every time, and naming follows the same rules.

So, if you've defined the default player's (PlayerA) walking character sprite as "p1walk" in the metadata pbs, it's outfit variations should be named "p1walk_1", then "p1walk_2" etc.

If it's another player character (eg a skin variation, PlayerB), let's call this one"p2walk", it would be "p2walk_1" then "p2walk_2" etc.

Remember, the same applies to their respective "interaction" sprites including running, fishing, surfing etc. So these sprites' outfits should follow the same rules (e.g. p1run, p1run_1, p1run_2 etc)

#### Leondrea

##### Cooltrainer
Member
Then I did it right, I think. I changed the trainertypes pbs file, because I got an error when opening the game or playtesting.
In trainertypes pbs I wrote the following:

0,POKEMONTRAINER_Red,Pokémon Trainer,60,,,,Male,,
73,POKEMONTRAINER_Red1,Pokémon Trainer,60,,,,Male,,
80,POKEMONTRAINER_Red2,Pokémon Trainer,60,,,,Male,,
1,POKEMONTRAINER_Leaf,Pokémon Trainer,60,,,,Female,,
74,POKEMONTRAINER_Leaf1,Pokémon Trainer,60,,,,Female,,
72,POKEMONTRAINER_Leaf2,Pokémon Trainer,60,,,,Female,,

And on metadata pbs I wrote the following:

[000]
PlayerA = POKEMONTRAINER_Red,trchar000,boy_bike,boy_surf,boy_run,boy_surf,boy_fish_offset,boy_fish_offset
PlayerB = POKEMONTRAINER_Red1,trchar000_1,boy_bicycle_1,boy_surf_1,boy_run_1,boy_surf_1,boy_fish_offset_1,boy_fish_offset_1
PlayerC = POKEMONTRAINER_Red2,trchar000_2,boy_bicycle_2,boy_surf_2,boy_run_2,boy_surf_2,boy_fish_offset_2,boy_fish_offset_2
PlayerD = POKEMONTRAINER_Leaf,trchar001,girl_bike,girl_surf,girl_run,girl_surf,girl_fish_offset,girl_fish_offset
PlayerE = POKEMONTRAINER_Leaf1,trchar001_1,girl_bike_1,girl_surf_1,girl_run_1,girl_surf_1,girl_fish_offset_1,girl_fish_offset_1
PlayerF = POKEMONTRAINER_Leaf2,trchar001_2,girl_bike_2,girl_surf_2,girl_run,girl_surf_2,girl_fish_offset_2,girl_fish_offset_2

I looked at trainertypes.txt and I made sure that in Graphics/Characters, the charsets of the players are numbered as the following:
For Male Pale: trchar000
His pajama outfit: trchar000_1

For Male Normal: trchar_073
His pajama outfit: trchar_073_1

For Male Tan: trchar_080
His pajama outfit: trchar_080_1

The girl charsets number are as following:
For Girl Pale: trchar001
Her pajama outfit: trchar001_1

For Girl Normal: trchar074
Her pajama outfit: trchar074_1

For Girl Tan:
trchar072
Her pajama outfit: trchar072_1

boy_run and girl_run and all those surf, dive and all the graphics I still have to add the right number to it. But idk how to do that.

I have put the corresponding numbers for every trainer sprite and backsprite in the trainer folder.

Now my Intro looks like that:
@>Text: \bAnd what do you look like?
@>Conditional Branch: Switch [0039: Girl] == ON
@>Show Choices: Pale, Normal, Tan
: When [Pale]
@>Control Switches: [0043: Girl Pale] = ON
@>Script: $Trainer.outfit=1 @>Script: pbChangePlayer(1) @> : When [Normal] @>Control Switches: [0044: Girl Normal] = ON @>Script: Trainer.outfit=1 @>Script: pbChangePlayer(1) @> : When [Tan] @>Control Switches: [0045: Girl Tan] = ON @>Script: Trainer.outfit=1 @>Script: pbChangePlayer(1) @> : Branch End @> : Else @>Conditional Branch: Switch [0040: Boy] == ON @>Show Choices: Pale, Normal, Tan : When [Pale] @> Control Switches: [0046: Boy Pale] @>Script: Trainer.outfit=1 @>Script: pbChangePlayer(0) @> : When [Normal] @>Control Switches: [0047: Boy Normal] @>Script: Trainer.outfit=1 @>Script: pbChangePlayer(0) @> : When [Tan] @> Control Switches: [000048: Boy Tan] @>Script:$Trainer.outfit=1
@>Script: pbChangePlayer(0)
@>
: Branch End
@>
:
Branch End
@>
: Branch End

Then comes the rest of the intro. Now when I playtest and I choose Boy Normal and the Intro ends I get Boy Pale instead.
Boy Pale is a switch for the hair salon etc. The character for Boy Pale has a pale (white) skin colour, blonde hair & blue eyes.
Boy Normal is the switch for the hair salon etc. The character for Boy Normal has a medium skin colour (not too tan), dark brown hair and brown eyes.
Boy Tan is another switch for the hair salon. The character for Boy Tan has a brown skin colour, dark brown hair colour and dark grey/gray eye colour.

I choosed Boy Normal (medium skin colour, dark brown hair & brown eyes) and I got the blonde character.
So, I assume the $Trainer.outfit=1 and pbChangePlayer(0) isn't working correctly with the trainer outfit. I don't know which number I have to put in$Trainer.outfit=, to make the character get the same outfit when choosing in the Intro.
So, Boy Normal's outfit is trchar073_1, so I thought "1" would fit in \$Trainer.outfit=. But it doesn't seem so.