Which variables are set by the function ChoosePartyMon?
I would like to know for example if it's VAR_0x8004, can I store that value into a string that i can display using {STR_VAR_1}?
ChoosePartyMon
effectively does use the var 0x8004. What's stored there is the slotid of the Pokémon that you chose.buffernumberstring
, where as in C code you could use ConvertIntToDecimalStringN
.ChoosePartyMon
effectively does use the var 0x8004. What's stored there is the slotid of the Pokémon that you chose.
And yes, you can totally store it in a text buffer and print it.
Inside an overworld script you'd usebuffernumberstring
, where as in C code you could useConvertIntToDecimalStringN
.
There are two ways you could find the answer:Yes, I understand it takes the slot ID but which var takes the SPECIES ID? I'd like to use it to compare or check for a specific SPECIES in the party
There are two ways you could find the answer:
1. search for "ChoosePartyMon" in the data folder to find all scripts that use that special and check out some of them to see what variables they use.
2. search for "ChoosePartyMon" in the src folder to find the C function that implements that special to see exactly what it does.
Either way you would find that the special only gives you the slot id and you need to get the corresponding species id yourself.
A way to check for a specific species? It has. In many different ways, in fact.surprised it hasnt been made before
A way to check for a specific species? It has. In many different ways, in fact.
https://www.pokecommunity.com/posts/10213715/
Yes, the game has a special that you can use for that too, it's calledHey that's pretty good right there, thanks for pointing that out out, I can definitely use that. What I meant was for a special like choosepartymon that stores the species name into a string or variable that can be used for comparisons.
To simplify I would like to choose my Swampert in the ChoosePartyMon menu, and the npc tell me something like "Oh yeah thats a swampert"
or an npc that compares it for either trades or givemon reasons like "oh you have a swampert? here is a mudkip" or "thats a beedrill, so heres a better beedrill"
that's what i meant, but either way, thanks for that previous post
BufferMonNickname
. It stores the nickname of the species present in the slotId stored in the var 0x8004, inside of the 1st text buffer aka gStringVar1
/STR_VAR_1
.Yes, the game has a special that you can use for that too, it's calledBufferMonNickname
. It stores the nickname of the species present in the slotId stored in the var 0x8004, inside of the 1st text buffer akagStringVar1
/STR_VAR_1
.
Are you sure that it works?I actually made the special needed to check the level
u8 ScriptGetPartyMonLevel(void)
{
return GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_LEVEL);
}
it worked perfectly, the from choosepartymon it read back to me what the species was and its level.
glad to finally move on.
ChoosePartyMon
stores the slotId of the Pokémon selected in the var 0x8004, not the 0x8005.ScriptGetPartyMonLevel
is reading the level of the Pokémon that comes after the one chosen through ChoosePartyMon
.Are you sure that it works?
BecauseChoosePartyMon
stores the slotId of the Pokémon selected in the var 0x8004, not the 0x8005.
As is, thatScriptGetPartyMonLevel
is reading the level of the Pokémon that comes after the one chosen throughChoosePartyMon
.