SA-MP Forums Archive
[AJUDA]Setar nome do arquivo PGD - 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]Setar nome do arquivo PGD (/showthread.php?tid=338481)



[AJUDA]Setar nome do arquivo PGD - Detonador - 29.04.2012

ola eu queria saber como usar a funзгo do PGD(Protioso Gerenciamento e Dados) para mudar o nome do jogador e do arquivo do jogador.
Eu sei q a funзгo й essa:
Код:
pgd_RenomearArquivo
Mas eu nгo sei como farei com o resto.
Preciso de um comando que o jogador digite: /Renomear [novo nome]
Eu realmente nгo estou conseguindo entгo pesso ajuda aos mais experientes.
Desde jб fico muito grato.
Para entenderem melhor, aqui estб o link da include PGD:
https://sampforum.blast.hk/showthread.php?tid=107748
Preciso de um comando que o jogador possa mudar o nome do arquivo dele que estб na Scriptfiles.
Obrigado desde jб a todos, aguardo ajuda.


Re: [AJUDA]Setar nome do arquivo PGD - Detonador - 30.04.2012

desculpem este double post, mas tive que fazer para o meu topico nao ser esquecido.
alguem pode me ajudar por favor?


Re: [AJUDA]Setar nome do arquivo PGD - steeldark - 30.04.2012

tenta assim:

pawn Код:
CMD:mudarnome(playerid,params[])
{
    new arq[30],arq2[30],novonome[24],string[100];
    if(sscanf(params, "s", novonome)) return SendClientMessage(playerid, CorCinza, "USE: /mudarnome [novonome].");
    format(arq,sizeof(arq),"/contas/%s.ini",pName(playerid));
    format(arq2,sizeof(arq2),"/contas/%s.ini",novonome);
    if(fexist(novonome)) return SendClientMessage(playerid, -1, "este nome ja exite");
    pgd_RenomearArquivo(arq, novonome);
    format(string, sizeof(string), "Parabйns! Seu novo nome й %s", novonome);
    SendClientMessage(playerid, -1, string);
    SetPlayerName(playerid, novonome);
    return 1;
}

stock pName(playerid)
{
    new name[25];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
}



Re: [AJUDA]Setar nome do arquivo PGD - Detonador - 30.04.2012

Код:
undefined symbol "sscanf"
ixi


Re: [AJUDA]Setar nome do arquivo PGD - steeldark - 30.04.2012

vc usa qual processador de comandos?

esse ai eu fiz em zcmd+sscanf



Re: [AJUDA]Setar nome do arquivo PGD - Detonador - 30.04.2012

uso o normal msm, nao troco ele.
pawn Код:
if(!strcmp(cmd, "/Renomear", true))
mas eu estou fazendo assim:
pawn Код:
if(!strcmp(cmd, "/Renomear", true))
{
    Renomear(playerid);
    return 1;
}
e:
pawn Код:
Renomear(playerid)
{
new arq[30],arq2[30],novonome[24],string[100];
if(sscanf(params, "s", novonome)) return SendClientMessage(playerid, COR_VERMELHO, "USE: /mudarnome [novonome].");
format(arq,sizeof(arq),"/contas/%s.txt",pName(playerid));
format(arq2,sizeof(arq2),"/contas/%s.txt",novonome);
if(fexist(novonome)) return SendClientMessage(playerid, -1, "este nome ja exite");
pgd_RenomearArquivo(arq, novonome);
format(string, sizeof(string), "Parabйns! Seu novo nome й %s", novonome);
SendClientMessage(playerid, -1, string);
SetPlayerName(playerid, novonome);
return 1;
}
vou aproveitar pra te pedir tambйm um sistema de mudar senha.
lembrando q a senha eh codificada com o PSF
vlws aguardo sua ajuda.
a funзao do PGD axo q eh essa:
Код:
pgd_MudarValor



Re: [AJUDA]Setar nome do arquivo PGD - steeldark - 30.04.2012

testa com esse aqui:
pawn Код:
if(strcmp(cmd, "/mudarnome", true) == 0)
    {
        new arq1[30],arq2[30],str[128];
       
        new length = strlen(cmdtext);
        while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; }
        new offset = idx; new result[128];
        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; }
        result[idx - offset] = EOS;
        if(!strlen(result)) return SendClientMessage(playerid, CINZA, "USE: /mudarnome [novonome].");

        format(arq1,sizeof(arq1),"/contas/%s.ini",pName(playerid));
        format(arq2,sizeof(arq2),"/contas/%s.ini",result);
        if(fexist(result)) return SendClientMessage(playerid, -1, "este nome ja exite");
        pgd_RenomearArquivo(arq1, result);
        format(str, sizeof(str), "Parabйns! Seu novo nome й %s", result);
        SendClientMessage(playerid, -1, str);
        SetPlayerName(playerid, result);
    }
o mudar a senha axo q nгo vai dar pra fazer, pois nгo tenho as includes do PGD/PSF..

mais posso postar uma base.. ficaria quase igual ao mudarnome, so q com a funзгo de encriptar, e salvar no arquivo etc.



Re: [AJUDA]Setar nome do arquivo PGD - Detonador - 30.04.2012

Код:
error 017: undefined symbol "arq"
error 035: argument type mismatch (argument 1)
:S


Re: [AJUDA]Setar nome do arquivo PGD - steeldark - 30.04.2012

Editei lб.. testa.


Re: [AJUDA]Setar nome do arquivo PGD - Detonador - 30.04.2012

compilou. vou testar. ah, mas cade o return?
@EDIT
nao deu certo, quando eu entro e digito, apenas mudar nome aparece:
seu nome foi alterado para mudarnome
e ele cria outro arquivo na pasta, nгo sobrescrevendo o nome do arquivo anterior.