Class Selection -
BrunoPasqualini - 30.07.2014
Quando o jogador entrar no server quero que mostre na seleзгo de skins a skin dele, sу que isso sу acontece uma vez, ou seja, na primeira vez que ele se conecta, se eu for no banco e mudar quando ele entrar novamente nгo atualiza a seleзгo mesmo trocando de skin(<< >>), existe alguma forma de resetar essa seleзгo ou uma outra maneira para fazer isso ?
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
if(!Player[playerid][IsLogged]){
SetPlayerPos(playerid,1310.2540,-1369.5389,13.5638);
SetPlayerFacingAngle(playerid, 181.9483);
SetPlayerCameraPos(playerid, 1310.0526123047, -1387.81640625, 18.711109161377);
SetPlayerCameraLookAt(playerid, 1310.0526123047, -1381.2322998047, 16.190980911255);
if(Player[playerid][IsRegistered]){
ShowPlayerDialog(playerid, DIALOG_PLAYER_LOGIN, DIALOG_STYLE_PASSWORD, "Efetue seu login", "Informe sua senha:", "Logar", "Sair");
}
else{
ShowPlayerDialog(playerid, DIALOG_PLAYER_REGISTER, DIALOG_STYLE_PASSWORD, "Registre-se", "Informe uma senha:", "Cadastrar", "Sair");
}
}
else{
SetSpawnInfo(playerid,0,Player[playerid][Skin],1310.2540,-1369.5389,13.5638,180.1962, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
}
return 1;
}
pawn Код:
public OnMysqlQuery(resultid, spareid, MySQL:handle)
{
switch(resultid)
{
case MYSQL_EXISTS_PLAYER:
{
mysql_store_result(handle);
if(mysql_num_rows() == 1){
Player[spareid][Skin] = mysql_fetch_int(cnx);
Player[spareid][IsRegistered] = true;
}
AddPlayerClass(Player[spareid][Skin],1310.2540,-1369.5389,13.5638,181.9483,0,0,0,0,0,0);
mysql_free_result(handle);
}
}
return 1;
}
Re: Class Selection -
ViniBorn - 30.07.2014
Se bem entendi, vocк precisa usar
ForceClassSelection
Re: Class Selection -
BrunoPasqualini - 30.07.2014
Nгo, vou tentar explicar melhor. Quando eu ligo o servidor ainda nгo existe nenhuma skin na class selection, ai eu verifico se o jogador possui uma conta, caso ele possuir eu seto a skin dele no enum Player e em seguida uso o AddPlayerClass com a skin dele, atй ai funciona. Em algum momento ele trocou de skin e alterou no banco, quando ele entrar no server novamente quero que na seleзгo de skin apareзa a ъltima skin dele(ex: primeira skin = 100 alterou para 200, logo deve aparecer a 200 e nгo a 100). O sql vem certo, sempre traz o atual.
Re: Class Selection -
ViniBorn - 30.07.2014
Vocк tб usando AddPlayerClass em OnPlayerConnect?
Se for, adiciona as skins que irгo ser usadas em OnGameModeInit.
E em OnPlayerConnect, vocк usa SetPlayerSkin, de acordo com o que foi salvo no arquivo/DB
Re: Class Selection -
BrunoPasqualini - 31.07.2014
SetPlayerSkin nгo funciona sу quando o player jб spawno ? Porque quando ele conectar quero que apareзa somente a skin dele na seleзгo, como se fosse uma seleзгo de skin por jogador e nгo para o jogo "inteiro". Se nгo for isso vou testar.
Re: Class Selection -
ViniBorn - 31.07.2014
Entendi sua idaia.
Pra ser sincero eu nunca testei isso.
Mas vale a pena tentar usa SetPlayerSkin na tela inicial, ao mesmo tempo em que vocк esconde as setas <> e botгo de spawn.