Portal SAMP
[Ajuda] Skin não está salvando - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Skin não está salvando (/showthread.php?tid=1913)



Skin não está salvando - fear - 09/12/2021

boa noite. estou com um problema de salvamento de skin eu olhei e verifiquei que e pelo que entendo ta certo o salvamento de skin..

SALVAMENTO
Código PHP:
DOF2_SetInt(StringRegistro"Skin"ContaPlayer[playerid][Skin]); 

ONPLAYERSPAWN
Código PHP:
if(ContaPlayer[playerid][Skin] > 0)
     {
        
SetPlayerSkin(playeridContaPlayer[playerid][Skin]);
     } 

Foi refazer o dialog de login que começou a ocorrer isso.

ONDIALOG:
Código PHP:
if(dialogid == REGISTRO)
    {
        if(
response)
        {
            if(!
strlen(inputtext))
            {
                 
format(Stringsizeof(String), "{FFFFFF}Bem vindo! \n\nNick: %s\n\nRegistre-se:"Nome(playerid));
                 
ShowPlayerDialog(playeridREGISTRODIALOG_STYLE_INPUT"{FFFFFF}Registro"String"Registrar""Sair");
                return 
1;
               }
            new 
StrIp[300];
            
GetPlayerIp(playeridStrIp300);
            
format(StringRegistrosizeof(StringRegistro), "zP/Contas/%s.ini"Nome(playerid));
            
DOF2_CreateFile(StringRegistro);
            
DOF2_SetString(StringRegistro"Senha"inputtext);
            
DOF2_SetInt(StringRegistro"Dinheiro"50000);
            
DOF2_SetInt(StringRegistro"Score"0);
            
DOF2_SetInt(StringRegistro"TempoOn"0);
            
DOF2_SetString(StringRegistro"IP"StrIp);
            
DOF2_SaveFile();
            
ContaNova[playerid] = true;
            
GivePlayerMoney(playerid,5000);
            
ContaPlayer[playerid][Dinheiro] = DOF2_GetInt(StringRegistro"Dinheiro");
            
ContaPlayer[playerid][Score] = DOF2_GetInt(StringRegistro"Score");
            
SetPlayerScore(playerid,GetPlayerScore(playerid)+20);
            new 
str[50];
            
format(strsizeof(str), "zP/ADM/%s.ini"Nome(playerid));
            
ContaPlayer[playerid][Level] = DOF2_GetInt(str"Level");
            
Msg(playeridcortag"{90EE90}CONTA: {FFFFFF}Logado com sucesso!");
             
Msg(playeridcortag"{E84F33}CONTA: {FFFFFF}Você se registrou em nosso servidor,e foi automaticamente logado!");
            
Msg(playeridAmarelo"{FFFF00}CONTA: {FFFFFF}Você ganhou $5000 + 20 score!");
            
CarregarVariaveis(playerid);
            return 
1;
        }
        else
        {
             
format(Stringsizeof(String), "{E84F33}CONTA: {FF0000}Player %s Kickado Motivo:[Cancelou o registro]"Nome(playerid));
            
MsgToAll(cortagString);
            
zPKick(playerid);
            return 
1;
        }
    }
    if (
dialogid == LOGIN)
    {
        if(
response)
        {
            if(!
strlen(inputtext))
            {
                    
format(Stringsizeof(String), "{FFFFFF}Bem vindo novamente! \n\nNick: {90EE90}%s\n\n{FFFFFF}IP: {90EE90}%s\n\n{FFFFFF}Digite sua senha:"Nome(playerid));
                    
ShowPlayerDialog(playeridLOGINDIALOG_STYLE_PASSWORD"{FFFFFF}Login"String"Login""Sair");
                return 
1;
             }
            
format(StringRegistrosizeof(StringRegistro), "zP/Contas/%s.ini"Nome(playerid));
            if(
strcmp(inputtextDOF2_GetString(StringRegistro"Senha"), true))
            {
                 if(
ErrouSenha[playerid] == 4)
                 {
                     
format(Stringsizeof(String), "{E84F33}CONTA: {FF0000}Player %s Kickado Motivo:[Errou a senha]"Nome(playerid));
                    
MsgToAll(cortagString);
                    
zPKick(playerid);
                      return 
1;
                 }
                
ShowPlayerDialog(playeridLOGINDIALOG_STYLE_PASSWORD"Errou a senha!""{FFFFFF}Senha {FF0000}Errada!\n\n{FFFFFF}Digita sua senha:""Login""Sair");
                
ErrouSenha[playerid]++;
                return 
1;
               }
            else
            {
                   new 
str[50];
                
format(str50"zP/ADM/%s.ini"Nome(playerid));
                if(
DOF2_FileExists(str))
                {
                    if(
DOF2_IsSet(str"Level"))
                    {
                        
format(strsizeof(str), "zP/ADM/%s.ini"Nome(playerid));
                        
ContaPlayer[playerid][Level] = DOF2_GetInt(str"Level");
                    }
                }
                
ContaPlayer[playerid][Dinheiro] = DOF2_GetInt(StringRegistro"Dinheiro");
                
ContaPlayer[playerid][Skin] = DOF2_GetInt(StringRegistro"Skin");
                  
ContaPlayer[playerid][Score] = DOF2_GetInt(StringRegistro"Score");
                   
ContaPlayer[playerid][TempoOn] = DOF2_GetInt(StringRegistro"TempoOn");
                
GivePlayerMoney(playeridContaPlayer[playerid][Dinheiro]);
                
SetPlayerScore(playeridContaPlayer[playerid][Score]);
                new 
StrIp[300];
                
GetPlayerIp(playeridStrIp300);
                
DOF2_SetString(StringRegistro"IP"StrIp);
                
DOF2_SaveFile();
                
ContaNova[playerid] = false;
                
Msg(playeridcortag"{E84F33}CONTA: {FFFFFF}Logado com suceeso!");
                
CarregarVariaveis(playerid);
                
TimerHora[playerid] = SetTimerEx("HoraP"60000 201"i"playerid); // 60000 * 60 seria multiplicar 1 minuto x 60 minutos = 1 hora
                
return 1;
            }
        }
        else
        {
            
format(Stringsizeof(String), "{E84F33}CONTA: {FF0000}Player %s Kickado Motivo:[Cancelou o Login]"Nome(playerid));
            
MsgToAll(cortagString);
            
zPKick(playerid);
            return 
1;
        }
    } 



RE: Skin não está salvando - xbruno1000x - 09/12/2021

se colocar só o SetPlayerSkin(playerid, ContaPlayer[playerid][Skin]);, sem a if, funciona?


RE: Skin não está salvando - fear - 09/12/2021

(09/12/2021 19:41)xbruno1000x Escreveu: se colocar só o SetPlayerSkin(playerid, ContaPlayer[playerid][Skin]);, sem a if, funciona?

Não resolveu.. quando morre volta pra skin que aparece no seleção de skins porém no .ini ele salva a skin que eu selecionei porém no logar não esta carregando essa informação.. oque sera que ta errado ou faltando??

(09/12/2021 19:41)xbruno1000x Escreveu: se colocar só o SetPlayerSkin(playerid, ContaPlayer[playerid][Skin]);, sem a if, funciona?

Sempre quando morre seta a skin 1 novamente. mesmo eu salvando no /skin id
OBS: quando reloga tb não puxa a skin que ta no .ini do player mesmo ela estando la não seta ao spawnar.
SKIN ID

Código PHP:
CMD:skin(playerid,params[])
{
    if(
ChecarPermissoes(playerid)) return 1;
    new 
skinnumeroskinidstring[128];
    if(
sscanf(params"d"skinid)) return Msg(playeridVermelho"<!> {FFFFFF}Use: {FF0000}/Skin [id]");
    else if(!(
<= skinid <= 311)) Msg(playeridVermelho"<!> {FFFFFF}SkinID 0 a 311!");
    else
    {
        switch(
skinid)
        {
            case 
46..48192:
            {
                if(!
IsPlayerPCC(playerid))
                    return 
SendClientMessage(playeridCOLOR_RED"<!> {FFFFFF}Essa skin é somente para Ladrões!");
            }
            case 
265..267280..288300..302306307309..311:
            {
                if(!
IsPlayerPolice(playerid))
                    return 
SendClientMessage(playeridCOLOR_RED"<!> {FFFFFF}Essa skin é somente para Policiais!");
            }
        }
        
SetPlayerSkin(playeridskinid);

        
ContaPlayer[playerid][Skin] = skinid;

        
skinnumero GetPlayerSkin(playerid);
        
format(stringsizeof(string), "{90EE90}Skin: {FFFFFF}[%d]"skinnumero);
        
Msg(playeridcortagstring);
    }
    return 
1;




RE: Skin não está salvando - SrBlue - 09/12/2021

amigo, sua gamemode possui alguma stock ou algun lugar que reseta as variaveis quando desloga? ou somente reseta quando o jogador loga?


RE: Skin não está salvando - fear - 09/12/2021

(09/12/2021 20:33)SrBlue Escreveu: amigo, sua gamemode possui alguma stock ou algun lugar que reseta as variaveis quando desloga? ou somente reseta quando o jogador loga?

Descobri o problema eu coloquei na ultima atualização para setar a tag no chat de STAFF fiz assim

Código PHP:
        if(ContaPlayer[playerid][Level] > 1)
        {
            
spawnou[playerid] = true;
               
SetPlayerClass(playeridPLAYER_CLASS_ADMIN);
               return 
1;
        } 

eu removo isso do onplayerspawn volta a funcionar 100% lembrando que o problema ocorre somente pra staff agora que eu vi que so setados de staff acontece esse bug eu remove isso acima funciona normal... qual é o erro ai?


RE: Skin não está salvando - SrBlue - 09/12/2021

no inicio do onplayerspawn adicione:
if(spawnou[playerid] == false){spawnou[playerid] = true}


RE: Skin não está salvando - fear - 09/12/2021

(09/12/2021 20:43)SrBlue Escreveu: no inicio do onplayerspawn adicione:
if(spawnou[playerid] == false){spawnou[playerid] = true}

error 001: expected token: ";", but found "-identifier-"


RE: Skin não está salvando - SrBlue - 09/12/2021

if(spawnou[playerid] == false){spawnou[playerid] = true;}..


RE: Skin não está salvando - fear - 09/12/2021

(09/12/2021 22:00)SrBlue Escreveu: if(spawnou[playerid] == false){spawnou[playerid] = true;}..

resolveu pelo visto. vlw mano! +REP qualquer coisa posto dnv.. vlw msm