You tried to set the player's skin to the player caracter's skin in Classes Selection, if the player is registered?? like:
pawn Код:
SetPlayerSkin(playerid, P_Caracter[playerid][CaracterSkin]);
The code you did is good, but that just prevent the user from going any further from the limits. (Its not bad)
You must set the player's skin in current classes from the accounts's skin, wich I hope you have a saving system for that. also AddPlayerClass is out of option if you uses caracters with accounts, The script will monstly depends on the variable you created.
Example:
(1).Johm enters the server, he have a total of 6 caracters limits on his account. Each one has the skin of CJ.
You must set the limits between 0 and player's amount of max caracters (6 in this case)
(2). John enters the server, he have a total fo 6 caracters limits on his account, All of them has different skins, wich means we must set the classes that he watch (preview) (and that class represents the id of Classid in your OnGameModeInit, example: you have 3 AddPlayerClass, 22, 44, 33: there will be 3 ids, 1: 22, 2: 44, 3: 33, the current classid paramter, if classid == 1, it means classid == 22)
So we set the current skin that he watch being = to the id skin of the same number id of the account.
Example:
(1)Caracter 1: he have CJ
(2)C 2: Cop skn
(3)C 3: SWAT skin
Set the current skin = Your_Variable[playerid][CaracterSkin[classid]];