23/07/2023 18:01
Eu estava tendo criar um sistema de renomear uma conta in-game com ZCMD, DOF2 e sscanf. Não aparece nenhum erro ou warning na compilação, porém não funciona de jeito nenhum.
Código:
CMD:renomearplayer(playerid, params[])
{
new id, nome, str[256], str1[200], str2[200];
if(cargoadmin[playerid] < 4)
return SCM(playerid, -1, MSGPERM);
if(sscanf(params, "ds[16]", id, nome))
return SCM(playerid, -1, "{FF0000}[Erro] Use /renomearplayer [id] [novo nome].");
if(Player[playerid][Logado] == 0)
return SCM(playerid, -1, "{FF0000}[Erro] Jogador nao conectado.");
if(Player[id][Logado] == 0)
return SCM(playerid, -1, "{FF0000}[Erro] Jogador nao conectado.");
if(Trabalhando[playerid] < 1)
return SCM(playerid, -1, "{FF0000}[Erro] Voce nao esta trabalhando! /tb");
if(nome < 4 || nome > 16)
return SCM(playerid, -1, "{FF0000}[Erro] Nome invalido. 4 a 16 caracteres.");
format(str, sizeof(str), "contas/%s.ini", nome);
if(DOF2_FileExists(str)) {
SCM(playerid, -1, "{FF0000}[Erro] Esse nome ja existe no sistema.");
}
else {
DOF2_RenameFile(file(id), str);
if(pAdmin[id] == true) {
format(str1, sizeof(str1), "admins/%s.ini", pName(id));
format(str2, sizeof(str2), "admins/%s.ini", nome);
DOF2_RenameFile(str1, str2);
}
}
format(str, 256, "Voce teve seu nick renomeado pelo administrador: %s. \n\nNovo nick: ( %s )", pName(playerid), nome);
SCM(id, -1, str);
format(str, 256, "renomeou o nick do jogador: %s. para o novo nick: ( %s )", pName(id), nome);
Admlog(str, 1);
SetTimerEx("KickTempo", 10000, false, "i", id);
SCM(id, -1, "Voce teve seu nick alterado e sera kickado para carrega-lo. Nao se esqueca de mudar o nick no samp!");
DOF2_SaveFile();
return 1;
}