[Ajuda] Pegar nome do player
#1

Galera , o sistema de registro nгo ta pegando o nome do player em questгo que vai se registrar/logar

Podem me ajudar? eu tentei uma maneira mais acabou nгo dando.

Cуdigo:

pawn Код:
#define DIALOG_REGISTRO 10
#define DIALOG_LOGAR    11
pawn Код:
enum pInfo
{
    pSenha,
    pScore,
    pDinheiro,
    pAdmin
}
new PlayerInfo[MAX_PLAYERS][pInfo];
pawn Код:
stock ObterINI(playerid)
{
  new conta[64];
  format(conta,30,"Contas/%s.ini",gPlayerName[playerid]);
  return conta;
}
pawn Код:
if (fexist(ObterINI(playerid)))
    {
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD,"Login","Bem vindo novamente %s! Logue-se em sua conta\n \nDigite sua senha e clique em Logar","Logar","Sair");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD,"Registrando","Vocк nгo tem uma conta registrada %s!\n \nDigite uma senha e clique em Registrar","Registrar","Sair");
    }
pawn Код:
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();
    }
pawn Код:
switch( dialogid )
    {
        case DIALOG_REGISTRO:
        {
            if (!response) return Kick(playerid);
            if (response)
            {
                if(!strlen(inputtext)) {
                ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "Registrando...","Vocк digitou uma senha invбlida.\nDigite 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_PASSWORD,"Logar","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_PASSWORD, "Logar","Vocк digitou uma senha invбlida.\nDigite 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_PASSWORD, "Logar","Vocк digitou uma senha incorreta.\nDigite sua senha abaixo para acessar.","Logar","Quit");
                }

                SetPlayerScore( playerid, INI_ReadInt("Score" ) );
                ResetPlayerMoney( playerid );
                SpawnPlayer(playerid);
                GivePlayerMoney( playerid, INI_ReadInt( "Dinheiro" ) );
                PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
                INI_Close();
                }
            }
        }
    }
Tem como me ajudarem?
Reply
#2

Use assim

pawn Код:
new Name[MAX_PLAYERS][MAX_PLAYER_NAME];


// USARA ASSIM
  Name[playerid]
Reply
#3

pawn Код:
stock PegarNome(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
}
Quando quiser pegar o nome sу colocar PegarNome(playerid);
Reply
#4

Quote:
Originally Posted by mau.tito
Посмотреть сообщение
Use assim

pawn Код:
new Name[MAX_PLAYERS][MAX_PLAYER_NAME];


// USARA ASSIM
  Name[playerid]
Como assim pode explicar
Reply
#5

Quote:
Originally Posted by Serjnrg
Посмотреть сообщение
Como assim pode explicar
Olha meu cуdigo ali cara. '-'
Reply
#6

o codigo new name voce botara no comeзo do gamemode
o outro code voce pra pega o nome do player !

Reply
#7

Entгo exemplo, eu usaria assim?

pawn Код:
if (fexist(ObterINI(playerid)))
    {
        Name[playerid]
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD,"Login","Bem vindo novamente %s! Logue-se em sua conta\n \nDigite sua senha e clique em Logar","Logar","Sair",);
    }
    else
    {
        Name[playerid]
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD,"Registrando","Vocк nгo tem uma conta registrada %s!\n \nDigite uma senha e clique em Registrar","Registrar","Sair",);
    }
Reply
#8

Correзao
pawn Код:
new file[30];
format(file, sizeof(file), " Contas/%s.ini", Name[playerid]);
if (fexist(file))
    {
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD,"Login","Bem vindo novamente %s! Logue-se em sua conta\n \nDigite sua senha e clique em Logar","Logar","Sair",);
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD,"Registrando","Vocк nгo tem uma conta registrada %s!\n \nDigite uma senha e clique em Registrar","Registrar","Sair",);
    }
Reply
#9

pawn Код:
enum pInfo
{
    pName[25],
    pSenha,
    pScore,
    pDinheiro,
    pAdmin
}
new PlayerInfo[MAX_PLAYERS][pInfo];

stock player_GetName(playerid) return GetPlayerName(playerid,PlayerInfo[playerid][pName],25);

stock ObterINI(playerid)
{
    player_GetName(playerid);    
    new conta[64];
    format(conta,30,"Contas/%s.ini",PlayerInfo[playerid][pName]);
    return conta;
}
Espero que isto o ajude
Reply
#10

Fiz oque disseram , mais ainda continua

Olha sу :

http://i.imgur.com/wQVGZ.png
Reply


Forum Jump:


Users browsing this thread: