The impetus behind this is to allow a map to contain a "changing room" of sorts, providing an alternative to the "Player Settings" menu.
Note - This is confirmed to work on multiplayer.
Note - I wasn't sure if PlayerInfo was the right place for these methods, but I saw SetFOV() in there, so it seemed appropriate.
Here's an example ZCODE using this functionality:
version "4.11.3"
class SkinAccessor
{
static int GetSkinIndex()
{
return Players[consolePlayer].GetSkin();
}
static int GetSkinCount()
{
return Players[consolePlayer].GetSkinCount();
}
play static int SetSkinIndex(int playerNumber, int newValue)
{
if (playerNumber != consolePlayer) return -1;
return Players[consolePlayer].SetSkin(newValue);
}
}
Also, I've attached a working example. A PK3 and MOD file to add to Doom2 or FreeDoom2.
This pull request adds the ability to set the client player's skin through ZScript. Specifically it adds the following functions:
The impetus behind this is to allow a map to contain a "changing room" of sorts, providing an alternative to the "Player Settings" menu.
Note - This is confirmed to work on multiplayer.
Note - I wasn't sure if PlayerInfo was the right place for these methods, but I saw SetFOV() in there, so it seemed appropriate.
Here's an example ZCODE using this functionality:
Also, I've attached a working example. A PK3 and MOD file to add to Doom2 or FreeDoom2.
setskin_test.zip