SA-MP Forums Archive
[Ajuda] Sistema de registro. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Sistema de registro. (/showthread.php?tid=525830)



Sistema de registro. - CaioMors - 14.07.2014

Galera, preciso de uma ajuda... estou com um sistema de registro que quando o jogador loga, aparece para ele se registrar, mas se ele clikar para sair do servidor ele й expulso.. ate ai tudo certo, mas eu vou nas scriptfiles e fica o arquivo com o nome desse jogador e ao clicar apararece tudo branco... mas salvou o arquivo, eu queria saber como fazer para nгo acontecer isso? e so ficar os arquivos de quem criaram a conta..
Obs: se precisarem de algum codigo avisem por favor,


Re: Sistema de registro. - MultiKill - 14.07.2014

Sem o cуdigo fica difнcil de ajudar.


Respuesta: Sistema de registro. - CaioMors - 14.07.2014

Coloco o codigo todo?


Re: Sistema de registro. - darkxdll - 14.07.2014

Sу a parte do registro amigo..


Re: Sistema de registro. - BGS-Jonas - 14.07.2014

faltou colocar o salvamento de dados quando o player й desconectado.


Re: Sistema de registro. - ipsLuan - 14.07.2014

Quote:
Originally Posted by BGS-Jonas
Посмотреть сообщение
faltou colocar o salvamento de dados quando o player й desconectado.
Ele quer que salve apenas quem se registrou.


Re: Sistema de registro. - BGS-Jonas - 14.07.2014

Quote:
Originally Posted by xCR7
Посмотреть сообщение
Ele quer que salve apenas quem se registrou.
entendi.
@CaioMors eu tambйm tive esse problema quando eu criei o sistema de registro do meu servidor,para resolver tal situaзгo eu criei uma verificaзгo de que o nome existe na pasta scriptfiles e outra que ele registrou ou nгo,e caso ele nгo quis registrar uma remoзгo do arquivo,й preciso ter conhecimento do seus sistema de salvamento,se nгo tiver um conhecimento total nгo irб conseguir resolver sem postar seu sistema de registro aqui para ajudar.


Re: Sistema de registro. - ipsLuan - 14.07.2014

Ou seja, coloque pra criar os dados apуs o spawn e o registro do jogador.


Respuesta: Sistema de registro. - CaioMors - 14.07.2014

o codigo seria esse:

pawn Код:
#include <a_samp>
#include <SII>

#define DIALOG_REGISTRO 2000
#define DIALOG_LOGAR 2001

#define BRANCO "{FFFFFF}"
#define VERMELHO "{F81414}"
#define VERDE "{00FF22}"
#define AZUL CLARO "{00CED1}"

new gPlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];

enum pInfo
{
    pSenha,
    pScore,
    pDinheiro,
    pAdmin
}


new PlayerInfo[MAX_PLAYERS][pInfo];

stock ObterINI(playerid)
{
    new conta[64];
    format(conta,30,"Contas/%s.ini",gPlayerName[playerid]);
    return conta;
}

public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, gPlayerName[playerid], MAX_PLAYER_NAME);
    if (fexist(ObterINI(playerid))) {
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT,""BRANCO"Login",""BRANCO"Digite sua senha abaixo para efetuar login.","logar","Quit");
    }
    else {
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT,""BRANCO"Registrando",""BRANCO"Digite sua senha abaixo para registrar uma nova conta.","Registrar","Quit");
    }
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch( dialogid ) {
        case DIALOG_REGISTRO:
        {
            if (!response) return Kick(playerid);
            if (response) {
                if(!strlen(inputtext)) {
                    ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, ""BRANCO"Registrando...",""VERMELHO"Vocк digitou uma senha invбlida.\n"BRANCO"Digite sua senha abaixo para registrar uma nova conta.","Registro","Quit");
                }

                if(INI_Open(ObterINI(playerid))) {
                    INI_WriteString("Senha",inputtext);
                    INI_WriteInt("Score",1);
                    INI_WriteInt("Dinheiro",5000);
                    INI_WriteInt("Admin",0);
                    INI_Save();
                    INI_Close();
                    ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT,""BRANCO"Logar",""BRANCO"Digite sua senha abaixo para efetuar login.","Logar","Quit");
                }
            }
        }
        case DIALOG_LOGAR:
        {
            if ( !response ) return Kick ( playerid );
            if( response ) {
                if(!strlen(inputtext)) {
                    ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Vocк digitou uma senha invбlida.\n"BRANCO"Digite sua senha abaixo para efetuar login.","Logar","Quit");
                }

                if(INI_Open(ObterINI(playerid))) {
                    INI_ReadString(PlayerInfo[playerid][pSenha],"Senha",20);

                    if(strcmp(inputtext,PlayerInfo[playerid][pSenha],false)) {
                        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Vocк digitou uma senha incorreta.\n"BRANCO"Digite sua senha abaixo para acessar.","Logar","Quit");
                    }

                    SetPlayerScore( playerid, INI_ReadInt("Score" ) );
                    ResetPlayerMoney( playerid );
                    GivePlayerMoney( playerid, INI_ReadInt( "Dinheiro" ) );
                    PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
                    INI_Close();
                    SpawnPlayer(playerid);
                }
            }
        }
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    if(INI_Open(ObterINI(playerid))) {

        INI_WriteInt("Score",PlayerInfo[playerid][pScore]);
        INI_WriteInt("Dinheiro",GetPlayerMoney(playerid));
        INI_WriteInt("Admin",PlayerInfo[playerid][pAdmin]);
        INI_Save();
        INI_Close();
    }
    return 1;
}