SA-MP Forums Archive
[Ajuda] Pegar nome do player - 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] Pegar nome do player (/showthread.php?tid=402235)



Pegar nome do player - Serjnrg - 25.12.2012

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?


Re: Pegar nome do player - mau.tito - 25.12.2012

Use assim

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


// USARA ASSIM
  Name[playerid]



Re: Pegar nome do player - AndrePls - 25.12.2012

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);


Re: Pegar nome do player - Serjnrg - 25.12.2012

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

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


// USARA ASSIM
  Name[playerid]
Como assim pode explicar


Re: Pegar nome do player - AndrePls - 25.12.2012

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


Re: Pegar nome do player - mau.tito - 25.12.2012

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




Re: Pegar nome do player - Serjnrg - 25.12.2012

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",);
    }



Re: Pegar nome do player - mau.tito - 25.12.2012

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",);
    }



Re: Pegar nome do player - RebeloX - 25.12.2012

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


Re: Pegar nome do player - Serjnrg - 25.12.2012

Fiz oque disseram , mais ainda continua

Olha sу :

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