For the method to be included in the UserCmds array it needs to be of type UserCmdProc, which means that the arguments need to be (uint, wstring) (look at the typedef on line 11).
void UserCmd_PM(uint iClientID, wstring wscParam) ```The iClientID is the client-id of the player who entered in the command and the wscParam is all the text they entered after the command. For examples on how to parse the text, take a look at UserCmd_Ignore; there's the GetParam method that comes in handy.