15/03/2024 18:50
Bom, quando um player vai trocar o nick no servidor, a senha não salva, e a conta fica sem senha, irei deixar o comando e a função de trocar nick abaixo
Estou uns meses preso nisso, se alguem puder ajudar...
Código:
CMD:amudarnick(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 5000) return SendClientMessage(playerid, COLOR_GRAD2, "Você não pode usar este comando");
new giveid;
if(sscanf(params, "r", giveid)) return SendClientMessage(playerid, COLOR_GRAD2, "USE: /amudarnick [ID do player]");
new NovoNick[MAX_PLAYER_NAME], NickAntigo[MAX_PLAYER_NAME];
GetPVarString(giveid, "VarNewNick", NovoNick, sizeof NovoNick);
format(NickAntigo, sizeof NickAntigo, NomePlayer(giveid));
if(isnull(NovoNick)) return SendClientMessage(playerid, -1, "O jogador não escolheu nenhum nick.");
new file[80];
format(file, sizeof file, "Pasta_Contas/%s.ini", NovoNick);
if(DOF2_FileExists(file)) return SendClientMessage(playerid, -1, "Já existe alguém com esse mesmo nick no servidor.");
if(TrocarNick(giveid, NickAntigo, NovoNick))
{
new file_antigo[80], file_novo[80];
getdate(year, month, day);
gettime(hour,minute);
new string[128];
format(string, sizeof(string), "%s Mudou o Nick para %s (%d/%d/%d - %d:%d)", NomePlayer(giveid), NovoNick, day, month, year, hour, minute);
SendClientMessageToAll(COLOR_LIGHTRED, string);
BPHLogs("mudarnick", string);
format(file_antigo, sizeof file_antigo, "Pasta_Contas/%s.ini", NickAntigo);
format(file_novo, sizeof file_novo, "Pasta_Contas/%s.ini", NovoNick);
DOF2_RenameFile(file_antigo, file_novo);
}
else
SendClientMessage(playerid, -1, "Já existe alguém com esse mesmo nick no servidor.");
return 1;
}
Código:
TrocarNick(playerid, antigo[], novo[])
{
new file_antigo[80], file_novo[80];
//Pasta - Contas
format(file_antigo, sizeof file_antigo, Pasta_Contas, antigo);
format(file_novo, sizeof file_novo, Pasta_Contas, novo);
DOF2_CreateFile(file_novo);
DOF2_RemoveFile(file_antigo);
SetPlayerName(playerid, novo);
OnPlayerSave(playerid);
//Pasta - Invent�rio
format(file_antigo, sizeof file_antigo, Pasta_Inventario, antigo);
format(file_novo, sizeof file_novo, Pasta_Inventario, novo);
DOF2_RenameFile(file_antigo, file_novo);
//Pasta - Acess�rios
format(file_antigo, sizeof file_antigo, "Acessorios/%s.ini", antigo);
format(file_novo, sizeof file_novo, "Acessorios/%s.ini", novo);
DOF2_RenameFile(file_antigo, file_novo);
//Pasta - CharAttach
format(file_antigo, sizeof file_antigo, "CharAttach/%s.ini", antigo);
format(file_novo, sizeof file_novo, "CharAttach/%s.ini", novo);
DOF2_RenameFile(file_antigo, file_novo);
//Casa
if(PlayerInfo[playerid][pPHousekey] < 500)
{
format(HouseInfo[PlayerInfo[playerid][pPHousekey]][hOwner], MAX_PLAYER_NAME, novo);
}
//Empresa
if(PlayerInfo[playerid][pPbiskey] != 255 && PlayerInfo[playerid][pPbiskey] >= 100)
{
new id = PlayerInfo[playerid][pPbiskey];
format(SBizzInfo[id][sbOwner], MAX_PLAYER_NAME, novo);
SalvarSEmpresa(id);
}
else if(PlayerInfo[playerid][pPbiskey] != 255)
{
new id = PlayerInfo[playerid][pPbiskey];
format(BizzInfo[id][bOwner], MAX_PLAYER_NAME, novo);
SalvarEmpresa(id);
}
//Fazenda
if(PlayerInfo[playerid][pPFazkey] != 255)
{
new id = PlayerInfo[playerid][pPFazkey];
format(FBizzInfo[id][fbOwner], MAX_PLAYER_NAME, novo);
SalvarFEmpresa(id);
}
//An�ncios
for(new i; i < MAX_ANUNCIOS; i ++)
{
if(!isnull(AnuncioItens[i][anitens_anunciante]) && strcmp(AnuncioItens[i][anitens_anunciante], antigo) == 0)
format(AnuncioItens[i][anitens_anunciante], MAX_PLAYER_NAME, novo), SalvarAnuncioItem(i);
if(!isnull(AnuncioCash[i][ancash_anunciante]) && strcmp(AnuncioCash[i][ancash_anunciante], antigo) == 0)
format(AnuncioCash[i][ancash_anunciante], MAX_PLAYER_NAME, novo), SalvarAnuncioCash(i);
}
//Port�es
for(new i; i < 1000; i ++)
{
if(strcmp(SistemaPortao[i][PortaoDono], antigo) == 0)
{
format(SistemaPortao[i][PortaoDono], MAX_PLAYER_NAME, novo);
if(IsValidDynamic3DTextLabel(SistemaPortao[i][Portao3d]))
DestroyDynamic3DTextLabel(SistemaPortao[i][Portao3d]);
SistemaPortao[i][Portao3d] = CreateDynamic3DTextLabel(SistemaPortao[i][PortaoText], -1, SistemaPortao[i][PortaoX],SistemaPortao[i][PortaoY], SistemaPortao[i][PortaoZ], 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, SistemaPortao[i][PortaoMundo], SistemaPortao[i][PortaoInterior], -1, 100.0);
}
}
SalvarPortoes();
Atualizar3Dtexts();
//Organiza��o
if(PlayerInfo[playerid][pMembro] > 0 || PlayerInfo[playerid][pLider] > 0)
{
new i = GetPlayerOrg(playerid);
new gstring[128];
if(strcmp(antigo,InfoOrg[i][Lider],true)==0)
{
format(InfoOrg[i][Lider], MAX_PLAYER_NAME, novo);
format(gstring, 128, Pasta_MembrosOrg, i);
DOF2_SetString(gstring,"L�der",novo);
}
else if(strcmp(antigo,InfoOrg[i][SubLider],true)==0)
{
format(InfoOrg[i][SubLider], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"SubL�der",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro1],true)==0)
{
format(InfoOrg[i][Membro1], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro1",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro2],true)==0)
{
format(InfoOrg[i][Membro2], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro2",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro3],true)==0)
{
format(InfoOrg[i][Membro3], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro3",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro4],true)==0)
{
format(InfoOrg[i][Membro4], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro4",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro5],true)==0)
{
format(InfoOrg[i][Membro5], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro5",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro6],true)==0)
{
format(InfoOrg[i][Membro6], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro6",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro7],true)==0)
{
format(InfoOrg[i][Membro7], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro7",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro8],true)==0)
{
format(InfoOrg[i][Membro8], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro8",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro9],true)==0)
{
format(InfoOrg[i][Membro9], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro9",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro10],true)==0)
{
format(InfoOrg[i][Membro10], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro10",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro11],true)==0)
{
format(InfoOrg[i][Membro11], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro11",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro12],true)==0)
{
format(InfoOrg[i][Membro12], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro12",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro13],true)==0)
{
format(InfoOrg[i][Membro13], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro13",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro14],true)==0)
{
format(InfoOrg[i][Membro14], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro14",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro15],true)==0)
{
format(InfoOrg[i][Membro15], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro15",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro16],true)==0)
{
format(InfoOrg[i][Membro16], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro16",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro17],true)==0)
{
format(InfoOrg[i][Membro17], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro17",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro18],true)==0)
{
format(InfoOrg[i][Membro18], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro18",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro19],true)==0)
{
format(InfoOrg[i][Membro19], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro19",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro20],true)==0)
{
format(InfoOrg[i][Membro20], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro20",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro21],true)==0)
{
format(InfoOrg[i][Membro21], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro21",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro22],true)==0)
{
format(InfoOrg[i][Membro22], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro22",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro23],true)==0)
{
format(InfoOrg[i][Membro23], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro23",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro24],true)==0)
{
format(InfoOrg[i][Membro24], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro24",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro25],true)==0)
{
format(InfoOrg[i][Membro25], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro25",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro26],true)==0)
{
format(InfoOrg[i][Membro26], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro26",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro27],true)==0)
{
format(InfoOrg[i][Membro27], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro27",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro28],true)==0)
{
format(InfoOrg[i][Membro28], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro28",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro29],true)==0)
{
format(InfoOrg[i][Membro29], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro29",novo);
}
else if(strcmp(antigo,InfoOrg[i][Membro30],true)==0)
{
format(InfoOrg[i][Membro30], MAX_PLAYER_NAME, novo);
DOF2_SetString(gstring,"Membro30",novo);
}
DOF2_SaveFile();
}
//admins
if(PlayerInfo[playerid][pAdmin] > 0)
{
AddAdmin(novo, PlayerInfo[playerid][pAdmin]);
RemoverAdmin(antigo);
}
else if(PlayerInfo[playerid][pAdminTemp] > 0)
{
AddAdminTemp(novo, PlayerInfo[playerid][pAdminTemp]);
RemoverAdminTemp(antigo);
}
//Maconhas
for(new i = 0; i < MAX_MACONHA; i++)
{
if(strcmp(MaconhaInfo[i][Dono], antigo, true) == 0)
format(MaconhaInfo[i][Dono], MAX_PLAYER_NAME, novo);
}
new string[128];
format(string, sizeof string, "Seu nick foi trocado de %s para %s!", antigo, novo);
SendClientMessage(playerid, COLOR_YELLOW, string);
SetTimerEx("OnKick", 200, false, "i", playerid);
return 1;
}
Estou uns meses preso nisso, se alguem puder ajudar...