Base de /trocarnick -
Luiiiz - 04.04.2017
Em minha GM, fiz um /TrocarNick porйm na parte do DOF2_RenameFile nгo entendi como usar pra alterar o nome do arquivo dentro da pasta '-'
Entгo queria uma base pra ver o modo de usar DOF2_RenameFile em um /TrocarNick. ^^
Re: Base de /trocarnick -
IlanZ - 04.04.2017
Olб ja que vocк quer uma base vou mandar a minha,
Re: Base de /trocarnick -
Luiiiz - 04.04.2017
Quote:
Originally Posted by IlanZ
Olб ja que vocк quer uma base vou mandar a minha,
PHP код:
CMD:mudarnick(playerid, params[])
{
new nome[24];
if(sscanf(params,"s[24]",nome)) return SendClientMessage(playerid, Corretamente, "Use corretamente: /mudarnick [Novo nick]");
if(DOF2_FileExists(PlayerConta(playerid))) return SendClientMessage(playerid, Vermelho, "ERROR: Esse nome jб estб registrado no servidor");
if(strfind(nome, "Luiiz", true) != -1 || strfind(nome, "nelsu", true) != -1 || strfind(nome, "blabla", true) != -1 || strfind(nome, "blabla", true) != -1)
{
SendClientMessage(playerid, Vermelho, "ERROR: Vocк nгo pode botar esse nome");
return 1;
}
if(strlen(nome) < 3 || strlen(nome) > 24)
{
SendClientMessage(playerid, Vermelho, "ERROR: Digite um nome entre 3 a 24 caracteres.");
return 1;
}
else
{
new String[90], string[90],stringold[90], ilan[80];
format(stringold, sizeof(stringold), "Contas/%s.ini",PlayerName(playerid));
format(String, sizeof(String), "Vocк mudou seu nick para '%s' nгo esqueзa de mudar no SA-MP Client",nome);
format(ilan, sizeof(ilan), "%s acabou de mudar o nick para '%s'", PlayerName(playerid), nome);
SendClientMessageToAll(-1, ilan);
SendClientMessage(playerid, -1, String);
format(string, sizeof(string), "Contas/%s.ini", nome);
DOF2_RenameFile(stringold, string);
SetPlayerName(playerid, nome);
}
return 1;
}
|
Pelo o que eu entendi, sу tinha que criar 2 new(nickantigo e nicknovo) e definir elas. Fiz o mesmo mas nгo tб alterando o nick na pasta. Continua o mesmo ;-;
PHP код:
CMD:mudarnick(playerid, params[])
{
new nickn[20], nickold[20], pname[20], Ano1, Mes1, Dia1, Hora1, Minuto1, Segundo1, string[200];
getdate(Ano1, Mes1, Dia1);
gettime(Hora1, Minuto1, Segundo1);
GetPlayerName(playerid, pname, 20);
format(nickold, sizeof(nickold), "Contas/%s.ini", pname);
if(NickLiberado[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida.");
if(NickLiberado[playerid] == 1)
{
format(string, sizeof(string), "Contas/%s.ini", pname);
DOF2_RenameFile(nickold, string);
if(sscanf(params, "s[128]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
SetPlayerName(playerid, nickn);
format(string, sizeof(string), "| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), pname, playerid, nickn, Dia1, Mes1, Ano1, Hora1, Minuto1, Segundo1);
SendClientMessageToAll(0xF3FF00AA, string);
NickLiberado[playerid] = 0;
}
return 1;
}
Edit: Vi que criou um arquivo na pasta scriptfiles. Arquivo com o nick sу que sem .ini. Apenas um arquivo sem extensгo '-'
Re: Base de /trocarnick -
IlanZ - 04.04.2017
PHP код:
CMD:mudarnick(playerid, params[])
{
new nickn[20], nickold[24], pname[20], Ano1, Mes1, Dia1, Hora1, Minuto1, Segundo1, string[70], string2[80], string3[70];
if(sscanf(params, "s[20]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
getdate(Ano1, Mes1, Dia1);
gettime(Hora1, Minuto1, Segundo1);
GetPlayerName(playerid, pname, 20);
GetPlayerName(playerid,nickold,24)
format(nickold, sizeof(nickold), "Contas/%s.ini", pname);
if(NickLiberado[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida.");
if(NickLiberado[playerid] == 1)
{
format(string, sizeof(string), "Contas/%s.ini", nickold);
format(string3, sizeof(string3),"Contas/%s.ini", nickn);
format(string2,sizeof(string2), "| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), pname, playerid, nickn, Dia1, Mes1, Ano1, Hora1, Minuto1, Segundo1);
SendClientMessageToAll(0xF3FF00AA, string2);
NickLiberado[playerid] = 0;
DOF2_RenameFile(string, string3);
SetPlayerName(playerid, nickn);
}
return 1;
}
Re: Base de /trocarnick -
Luiiiz - 04.04.2017
Quote:
Originally Posted by IlanZ
PHP код:
CMD:mudarnick(playerid, params[])
{
new nickn[20], nickold[24], pname[20], Ano1, Mes1, Dia1, Hora1, Minuto1, Segundo1, string[70], string2[80], string3[70];
if(sscanf(params, "s[20]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
getdate(Ano1, Mes1, Dia1);
gettime(Hora1, Minuto1, Segundo1);
GetPlayerName(playerid, pname, 20);
GetPlayerName(playerid,nickold,24)
format(nickold, sizeof(nickold), "Contas/%s.ini", pname);
if(NickLiberado[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida.");
if(NickLiberado[playerid] == 1)
{
format(string, sizeof(string), "Contas/%s.ini", nickold);
format(string3, sizeof(string3),"Contas/%s.ini", nickn);
format(string2,sizeof(string2), "| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), pname, playerid, nickn, Dia1, Mes1, Ano1, Hora1, Minuto1, Segundo1);
SendClientMessageToAll(0xF3FF00AA, string2);
NickLiberado[playerid] = 0;
DOF2_RenameFile(string, string3);
SetPlayerName(playerid, nickn);
}
return 1;
}
|
Msm coisa. Agr nem cria mais da scriptfiles nem na pasta Contas.
Re: Base de /trocarnick -
IlanZ - 04.04.2017
Percebeu que Geta o nome do player no pname e nгo utiliza? haha
Pode ser o problema!
PHP код:
CMD:mudarnick(playerid, params[])
{
new nickn[20], nickold[24], pname[20], Ano1, Mes1, Dia1, Hora1, Minuto1, Segundo1, string[70], string2[80], string3[70];
if(sscanf(params, "s[20]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
getdate(Ano1, Mes1, Dia1);
gettime(Hora1, Minuto1, Segundo1);
GetPlayerName(playerid, pname,20);
GetPlayerName(playerid,nickold,24)
format(nickold, sizeof(nickold), "Contas/%s.ini", pname);
if(NickLiberado[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida.");
if(NickLiberado[playerid] == 1)
{
format(string, sizeof(string), "Contas/%s.ini", pname);
format(string3, sizeof(string3),"Contas/%s.ini", nickn);
format(string2,sizeof(string2), "| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), pname, playerid, nickn, Dia1, Mes1, Ano1, Hora1, Minuto1, Segundo1);
SendClientMessageToAll(0xF3FF00AA, string2);
NickLiberado[playerid] = 0;
DOF2_RenameFile(string, string3);
SetPlayerName(playerid, nickn);
}
return 1;
}
Re: Base de /trocarnick -
Luiiiz - 04.04.2017
Quote:
Originally Posted by IlanZ
Percebeu que Geta o nome do player no pname e nгo utiliza? haha
Pode ser o problema!
PHP код:
CMD:mudarnick(playerid, params[])
{
new nickn[20], nickold[24], pname[20], Ano1, Mes1, Dia1, Hora1, Minuto1, Segundo1, string[70], string2[80], string3[70];
if(sscanf(params, "s[20]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
getdate(Ano1, Mes1, Dia1);
gettime(Hora1, Minuto1, Segundo1);
GetPlayerName(playerid, pname,20);
GetPlayerName(playerid,nickold,24)
format(nickold, sizeof(nickold), "Contas/%s.ini", pname);
if(NickLiberado[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida.");
if(NickLiberado[playerid] == 1)
{
format(string, sizeof(string), "Contas/%s.ini", pname);
format(string3, sizeof(string3),"Contas/%s.ini", nickn);
format(string2,sizeof(string2), "| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), pname, playerid, nickn, Dia1, Mes1, Ano1, Hora1, Minuto1, Segundo1);
SendClientMessageToAll(0xF3FF00AA, string2);
NickLiberado[playerid] = 0;
DOF2_RenameFile(string, string3);
SetPlayerName(playerid, nickn);
}
return 1;
}
|
Na verdade usa sim. No format do SendClientMessageToAll '-'
Re: Base de /trocarnick -
IlanZ - 04.04.2017
Cara eu passei minutos refazendo e acho que agora vai funcionar, nгo й possivel kkk
PHP код:
CMD:mudarnick(playerid, params[])
{
new nickn[24], data[6];
if(sscanf(params, "s[24]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
getdate(data[0], data[1], data[2]);
gettime(data[3], data[4], data[5]);
if(NickLiberado[playerid] == 0)
{
SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida.");
}
else
{
new nicknovo[70], string[80], nickantigo[70];
format(nickantigo,sizeof(nickantigo), "Contas/%s.ini", PlayerName(playerid));
format(nicknovo,sizeof(nicknovo),"Contas/%s.ini",nickn);
format(string,sizeof(string),"| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), PlayerName(playerid), playerid, nickn, data[2], data[1], data[0], data[3], data[4], data[5]);
SendClientMessageToAll(0xF3FF00AA, string);
DOF2_RenameFile(nickantigo, nicknovo);
SetPlayerName(playerid, nickn);
NickLiberado[playerid] = 0;
}
return 1;
}
stock PlayerName(playerid){
new aname[24];
GetPlayerName(playerid, aname, sizeof(aname));
return aname;
}
Re: Base de /trocarnick -
Luiiiz - 04.04.2017
Quote:
Originally Posted by IlanZ
Cara eu passei minutos refazendo e acho que agora vai funcionar, nгo й possivel kkk
PHP код:
CMD:mudarnick(playerid, params[])
{
new nickn[24], data[6];
if(sscanf(params, "s[24]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
getdate(data[0], data[1], data[2]);
gettime(data[3], data[4], data[5]);
if(NickLiberado[playerid] == 0)
{
SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida.");
}
else
{
new nicknovo[70], string[80], nickantigo[70];
format(nickantigo,sizeof(nickantigo), "Contas/%s.ini", PlayerName(playerid));
format(nicknovo,sizeof(nicknovo),"Contas/%s.ini",nickn);
format(string,sizeof(string),"| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), PlayerName(playerid), playerid, nickn, data[2], data[1], data[0], data[3], data[4], data[5]);
SendClientMessageToAll(0xF3FF00AA, string);
DOF2_RenameFile(nickantigo, nicknovo);
SetPlayerName(playerid, nickn);
NickLiberado[playerid] = 0;
}
return 1;
}
stock PlayerName(playerid){
new aname[24];
GetPlayerName(playerid, aname, sizeof(aname));
return aname;
}
|
Agora funcionou. Darei +REP se jб nгo tiver dado