[Pedido] Novo nick
#1

Bom, eu quero criar um comando para as pessoas mudarem o nick, meu sistema de salvamento й em dini, quem puder me ajudar eu agradeзo de coraзгo.
Reply
#2

Aki: http://pastebin.com/TN6M0JTR
bom nгo й em DINI mas e so voce mudar de D0F2 para dini, nao conheзo as funзхes de Dini se nao eu mesmo passava
й so voce Adptar para seu Gm
Reply
#3

Pode ser desse tipo, mas precisava em dini e dcmd.
Reply
#4

http://pastebin.com/BWJyNjyV
Reply
#5

Whoo, jб olhei esse link, mais na real que achei mt complicado, mas se nгo tiver nenhum outro, vou ter que vк o que faзo.
Reply
#6

Quote:
Originally Posted by Dishz
Посмотреть сообщение
Whoo, jб olhei esse link, mais na real que achei mt complicado, mas se nгo tiver nenhum outro, vou ter que vк o que faзo.
https://sampforum.blast.hk/showthread.php?tid=614793

A lуgica й exatamente a mesma, o que muda sгo as funзхes, pois estб estб em dof2.
Reply
#7

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
https://sampforum.blast.hk/showthread.php?tid=614793

A lуgica й exatamente a mesma, o que muda sгo as funзхes, pois estб estб em dof2.
Ok, mas onde encontro essa funзгo DOF2_RenameFile em dini?
Reply
#8

Lуgica bбsica de File Functions:

@edit
Код:
stock RenameFile(File_Name[], To_Name[])
{
	if(!fexist(File_Name)) return 0;
	if(fexist(To_Name)) return 0;
	
	new Buf[128], CopyLines[256], File:Rename, File:NewFile;
	
	Rename = fopen(File_Name, io_read);
	
	for(new i = 0; i < 50; ++ i)
	{
		fread(Rename, Buf);
		strcat(CopyLines, Buf);
	}
	
	NewFile = fopen(To_Name, io_write);
	
	fclose(Rename);
	fremove(File_Name);
	
	fwrite(NewFile, CopyLines);
	fclose(NewFile);
	
	return true;
}
Reply
#9

Код:
dcmd_mudarnick(playerid,params[])
{
	new str[60], str2[60], name[32], logstring[60];

	if(isnull(params)) return SendClientMessage(playerid, ERRO, "[NOVONICK] /MudarNick [Nick novo]");
	if(!IsPlayerSpawned(playerid)) return SendClientMessage(playerid, ERRO, "[ERRO] Vocк nгo pode usar comandos antes de spawnar!");
	if(strlen(params) < 3) return SendClientMessage(playerid, ERRO,"[ERRO] Tamanho incorreto (Muito Pequeno)");
	if(strlen(params) > 20) return SendClientMessage(playerid, ERRO,"[ERRO] Tamanho incorreto (Muito Grande)");
	if(dini_Exists(str2)) return SendClientMessage(playerid, -1, "Esse nome jб estб registrado!!!!");

	GetPlayerName(playerid, name, sizeof(name));
	format(logstring, sizeof(logstring), "[NICK] %s mudou o nick para \"%s\"", name,params);
	SendClientMessageToAll(0xFFFF00FF,logstring);

	format(str, sizeof(str), "Admin/Contas/%s.ini", name);

	if(!dini_Exists(str)) return SendClientMessage(playerid, ERRO, "[ERRO] Seu nick atual nгo bate com o nick dos nossos arquivos, consulte um administrador!");

	format(str2, sizeof(str2), "Admin/Contas/%s.ini", params);

	RenameFile(str, str2);

	SetPlayerName(playerid, params);
	SendClientMessage(playerid, ERRO,"[NICK] Vocк trocou seu NickName com sucesso! Vocк deve relogar.");
	SetPlayerHealth(playerid,0.0);
	ForceClassSelection(playerid);

	return true;
}
Atualmente estб assim, mas quando o player coloca o nick igual ao atual, ele nгo estб chamando essa funзгo.
Код:
if(dini_Exists(str2)) return SendClientMessage(playerid, -1, "Esse nome jб estб registrado!");
E seta o novo nick, igual ao o antigo.
Reply
#10

Vocк nгo estб usando os parвmetros digitados, mas sim uma string nula!

Altere para params
Код:
if(dini_Exists(str2)) return SendClientMessage(playerid, -1, "Esse nome jб estб registrado!!!!");
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)