[Ajuda] Sistema de registro.
#1

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,
Reply
#2

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

Coloco o codigo todo?
Reply
#4

Sу a parte do registro amigo..
Reply
#5

faltou colocar o salvamento de dados quando o player й desconectado.
Reply
#6

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

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.
Reply
#8

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

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;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)