[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:
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.