• Hi, Guest!
    Some images might be missing as we move away from using embedded images, sorry for the mess!
    From now on, you'll be required to use a third party to host images. You can learn how to add images here, and if your thread is missing images you can request them here.
    Do not use Discord to host any images you post, these links expire quickly!
Outfit basics

Tutorial Outfit basics 2.0

Alaguesia

The Magician of Oddities
Member
Joined
Mar 29, 2017
Posts
20
Alaguesia submitted a new resource:

Outfit basics - The basics about outfits, and some neat things you can do with them

[tabs]
[tab=The Basics]
64Rxfsd.png
What is an outfit?
Basically, anything that changes your current player graphics, it doesnt have to be clothes, it could be hair color, you can even change it to a pokemon if you want to. Outfits are a thing in essentials since Essentials v13.

How to set an outfit?
There is a variable called $Trainer.outfit , this variable stores a number and it's 0 by default. That means 0 is the default...[/tab][/tabs]

Read more about this resource...
 

Maruno

Essentials dev
Essentials Developer
Joined
Apr 5, 2017
Posts
554
Perhaps the creative example 2 should describe how the pose charset is made (with a picture of the file as in the first two tabs). It will, for all four directions, depict the player facing down rather than the direction they are facing. This could be confusing to some people, as the player would still literally be facing sideways (or whichever direction), yet the graphic suggests otherwise.

Also, a reminder that you should have pose charsets for standing, cycling, surfing, perhaps diving, etc.
 

Rhyden

Shuckle Kheen
Member
The last part that shows an outfit only working in one room reminded me of Paper Mario when you can turn into retro Mario. I'm gonna have to remember to do that for future projects.
 

Alaguesia

The Magician of Oddities
Member
Joined
Mar 29, 2017
Posts
20
The last part that shows an outfit only working in one room reminded me of Paper Mario when you can turn into retro Mario. I'm gonna have to remember to do that for future projects.

Paper Mario for N64 happens to be one of my favorite games and the Boo's Mansion and Chapter 3 in general happens to be my favorite part in the game. So I totally inspired that event on that room.
 

Grapz

Totally not slacking off
Member
Joined
Apr 2, 2017
Posts
11
Great, and well done!

Poses are interesting, and something I'll need to keep in mind.

A good way to get around the problem of storing the character's pose in a Variable is - obivously - to do $trainer.outfit = $trainer.outfit+X, and then have X+(# of outfits) duplicate files stored. Of course, that takes more disc space so storing a variable is gonna be more reliable... if not a bit more coding.
 

Marina

Cooltrainer
Member
Joined
Mar 10, 2018
Posts
125
I tried your tutorial out, it works on essentials v.16.2 but on v.17.2 it doesn't work. The player don't change his overworld graphic - just the trainer card sprite changes. the event is the exact same as yours
change screen tone color to black (wait 8 frames) script: $Trainer.outfit=1 (change screen tone color to normal)
the same for $Trainer.outfit=0
but the character doesn't change at all
 
I tried your tutorial out, it works on essentials v.16.2 but on v.17.2 it doesn't work. The player don't change his overworld graphic - just the trainer card sprite changes. the event is the exact same as yours
change screen tone color to black (wait 8 frames) script: $Trainer.outfit=1 (change screen tone color to normal)
the same for $Trainer.outfit=0
but the character doesn't change at all

I'd double check that the outfit you're switching to is named correctly and in the right spot, because it should be changing both the overworld and trainer card graphics.
 

Marina

Cooltrainer
Member
Joined
Mar 10, 2018
Posts
125
I'd double check that the outfit you're switching to is named correctly and in the right spot, because it should be changing both the overworld and trainer card graphics.

It's correctly. The Trainer sprite is called trainer000_1
and trchar000_1
the script is named correctly too
It's still isn't working...
 
Last edited:

Marina

Cooltrainer
Member
Joined
Mar 10, 2018
Posts
125
Ok. I found out that on v.17.2 it only works with pbChangePlayer(2) and $Trainer.outfit=1
the Trainer.outfit just shows the Trainer sprite, map player etc, while the pbChangePlayer changes the overworld sprite
 

Mr. Gela

Discord: theo#7722
Member
Joined
Jul 19, 2015
Posts
185
Ok. I found out that on v.17.2 it only works with pbChangePlayer(2) and $Trainer.outfit=1
the Trainer.outfit just shows the Trainer sprite, map player etc, while the pbChangePlayer changes the overworld sprite
pbChangePlayer initializes a different player character (by default 0 is Red and 1 is Leaf from FRLG), those being set up in the PBS folder, under metadata.txt, reading:
#-------------------------------
[000]
PlayerA=POKEMONTRAINER_Red,trchar000,boy_bike,boy_surf,boy_run,boy_surf,boy_fish_offset,xxx
PlayerB=POKEMONTRAINER_Leaf,trchar001,girl_bike,girl_surf,girl_run,girl_surf,girl_fish_offset,xxx

Can you post a screenshot of the whole event doing the $Trainer.outfit=1 script and a screenshot of the folder holding the graphics? Perhaps they are mis-named.
 

Marina

Cooltrainer
Member
Joined
Mar 10, 2018
Posts
125
the trchar000_1
IseAumt.png


the trainer sprite
rLlj9id.png


the trchars and trainer sprites inside the folder:
AIF0ppJ.png


the boy_run, boy_bike, boy_surf etc.
b3e55gk.png


NOTE: I'm not using boy_bike3, it's just there if I needed

The Event inside the map:

4QORj93.png

map player graphic:
nlQ0ZB8.png


now I'm just missing the VS animation, but I'll do that later.


metadata.txt:
ZmswvjS.png



I hope I did show everything here.
I don't want to use multiple characters, because I just have little space from 000 until 005, then I need the trchars from 006 and so on and I don't want to replace them, so I hope you'd find out, what's going on...
 
Last edited:

Mashirosakura

With my wishes frozen in time and long forgotten
Discord Mod
the trchar000_1
IseAumt.png


the trainer sprite
rLlj9id.png


the trchars and trainer sprites inside the folder:
AIF0ppJ.png


the boy_run, boy_bike, boy_surf etc.
b3e55gk.png


NOTE: I'm not using boy_bike3, it's just there if I needed

The Event inside the map:

4QORj93.png

map player graphic:
nlQ0ZB8.png


now I'm just missing the VS animation, but I'll do that later.


metadata.txt:
ZmswvjS.png



I hope I did show everything here.
I don't want to use multiple characters, because I just have little space from 000 until 005, then I need the trchars from 006 and so on and I don't want to replace them, so I hope you'd find out, what's going on...
As Gela just said, pbChangePlayer changes the character, not the outfit. You'd be fine with just $Trainer.outfit=1, since that would change your player's sprite into the no hat version. So you wouldn't need that part of the metadata, either. The image files are fine. (Though watch out boy_bike3 should be boy_bike_3)
 

Marina

Cooltrainer
Member
Joined
Mar 10, 2018
Posts
125
As Gela just said, pbChangePlayer changes the character, not the outfit. You'd be fine with just $Trainer.outfit=1, since that would change your player's sprite into the no hat version. So you wouldn't need that part of the metadata, either. The image files are fine. (Though watch out boy_bike3 should be boy_bike_3)
as I said before:
boy_bike3 isn't being used.
And I need that the overworld sprite changes too!
$Trainer.outfit=1 doesn't change the ow-sprite/icon
it just changes the sprite in the trainer card, I want the ow to change too
 

AquaHimura

Champion of Toonko
Member
Joined
Sep 1, 2017
Posts
3
Also having the issue where $Trainer.outfit=1 only changes the trainer on the trainer card
 

AquaHimura

Champion of Toonko
Member
Joined
Sep 1, 2017
Posts
3
What are your sprites named?
For the trainer sprites(trainer card, battle and overworld, though for the overworld ones the were originally called trchar000)
POKEMONTRAINER_Red
POKEMONTRAINER_Red_1
POKEMONTRAINER_Red_2
POKEMONTRAINER_Red_3
POKEMONTRAINER_Red_4
POKEMONTRAINER_Red_5
POKEMONTRAINER_Red_6
 

AenaonDogsky

Arbiter of Doggos
Member
Joined
Dec 12, 2017
Posts
501
For the trainer sprites(trainer card, battle and overworld, though for the overworld ones the were originally called trchar000)
POKEMONTRAINER_Red
POKEMONTRAINER_Red_1
POKEMONTRAINER_Red_2
POKEMONTRAINER_Red_3
POKEMONTRAINER_Red_4
POKEMONTRAINER_Red_5
POKEMONTRAINER_Red_6

POKEMONTRAINER_Red is the name of the player slot, not the player graphic/sprite. The player spriteshould be exactly after POKEMONTRAINER_Red.
It goes like: PlayerA=player slot name, overworld sprite name(trchar000), overworld bike spritename, etc.

Your sprite should be called trchar000. Then your outfit for that sprite, should be trchar000_1

Generally, outfits have been kinda wonky to work with for a few people, and I've had some issues myself in the past.

I just avoid using complicated names with numbers or underscores.

So I define my player as RED,
and the outfits as protag, protag_1, etc,
make sure everything has been compiled,
close RMXP,
open,
then define the player (event command in starting event)
then change to player B, back to A
then change outfit, and it works that way.
 
Last edited:

AquaHimura

Champion of Toonko
Member
Joined
Sep 1, 2017
Posts
3
POKEMONTRAINER_Red is the name of the player slot, not the player graphic/sprite. The player spriteshould be exactly after POKEMONTRAINER_Red.
It goes like: PlayerA=player slot name, overworld sprite name(trchar000), overworld bike spritename, etc.

Your sprite should be called trchar000. Then your outfit for that sprite, should be trchar000_1

Generally, outfits have been kinda wonky to work with for a few people, and I've had some issues myself in the past.

I just avoid using complicated names with numbers or underscores.

So I define my player as RED,
and the outfits as protag, protag_1, etc,
make sure everything has been compiled,
close RMXP,
open,
then define the player (event command in starting event)
then change to player B, back to A
then change outfit, and it works that way.
went and tried those steps, overworld still doesn't work but trainer battle/card and trainer back works(using v20.1 of essentials
 

taku

Novice
Member
Joined
Feb 5, 2024
Posts
11
Bonjour c'est pour savoir si sa marche en 21.1 comme j'aime beaucoup ce système et désolé de parler en français
 

VoidBeast

Rookie
Member
Joined
Feb 22, 2024
Posts
2
Hi, I'm using Pokemon Essentials version 21.1, anyone knows if $Trainer.outfit=1 still works? The metadata is different and I tried that script code but it gave me an error, apparently it didn't recognize it despite me typing it correctly (without any grammatical errors). I haven't added any outfits yet nor messed with the metadata, I'm just trying to change the player from Red to Leaf and back for testing but it seems like my worries were confirmed.
 
Back
Top