ChangeName


Započeo Shaw Salcedo, Januar 25, 2020, 13:54:31 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Changename
Dio skripte:
Pravim changename, e sada, kada kucam /changename 0 Aleksa_M, promeni nick i sacuva igraca sa tim nick, a izbrise staro ime  u korisnicima. Ali ne cuva sifru, napise samo Password = i tjt
CMD:changename(playerid, params[])
{
	if(PI[playerid][pAdmin] < 6) return SCM(playerid,COLOR_GREY,"Niste ovlasceni za koriscenje ove komande!");
	new newnick[25],target;
	if(sscanf(params, "us[25]", target, newnick)) return SCM(playerid,COLOR_WHITE,"Koriscenje: /changename [ID/Ime] [New Nick]");
	if(!IsPlayerConnected(target)) return SCM(playerid,COLOR_GREY,"Taj igrac je offline!");
	if(Maskiran[target]==true) return SCM(playerid,COLOR_GREY,"Taj igrac je maskiran!");
	new starinick[25];
	starinick = GetName(target);
	SetPlayerName(target, newnick);
	SavePlayer(target);
	new INI:File = INI_Open(Korisnici(target));
	INI_SetTag(File,"data");
	INI_WriteString(File,"Password",PI[target][pSifra]);
	INI_Close(File);
	SavePlayer(target);
	Kick(target);
	new str[50];
	format(str,50,"Korisnici/%s.ini",starinick);
	if(fexist(str))
	{
	 	fremove(str);
	}
	return 1;
}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Slika/video ingame problema(obavezno ako je ingame problem):
Poslednja Izmena: Januar 26, 2020, 12:53:59 POSLE PODNE od Galardo
GAD SAM JA

Dodaj komandu /potvrdipass i neka je potvdi svakom kome bude chengovano ime i bice sve reseno !

Zasto bi cuvao sifru kada je to vec verovatno uradjeno u obe saveplayer funkcije koji si pozvao?
Moras proveriti da li to ime postoji vec negde u korisnickom folderu sa fexist.
Kada mu menjas ime moras i svaku kucu/firmu koju poseduje updateovati na njegovo ime jer ce staro ostati.
Ne mozes koristiti INI funkcije tako kako ti se cefne jer one moraju imati posebnu funkciju kao sto je SavePlayer sa njenim parametrima i tagovima.
Kada sredis sve to sa frename funkcijom preimenujes fajl na kraju u novo ime.



Citat: MR.UrkeLa poslato Januar 25, 2020, 15:45:23 POSLE PODNE
Dodaj komandu /potvrdipass i neka je potvdi svakom kome bude chengovano ime i bice sve reseno !
Zelim da sredim ovaj problem
Citat: malipablo poslato Januar 25, 2020, 16:15:04 POSLE PODNE
Zasto bi cuvao sifru kada je to vec verovatno uradjeno u obe saveplayer funkcije koji si pozvao?
Moras proveriti da li to ime postoji vec negde u korisnickom folderu sa fexist.
Kada mu menjas ime moras i svaku kucu/firmu koju poseduje updateovati na njegovo ime jer ce staro ostati.
Ne mozes koristiti INI funkcije tako kako ti se cefne jer one moraju imati posebnu funkciju kao sto je SavePlayer sa njenim parametrima i tagovima.
Kada sredis sve to sa frename funkcijom preimenujes fajl na kraju u novo ime.


Na saveplayer nemam cuvanje sifre, ovo da li egzistuje zar je bitno kad je on ingame i mora da ima u koriscnima taj akaunt, nisam jos ubacio kuce i firme na mod, sta da koristim onda umesto inia?

Citat: .agency poslato Januar 25, 2020, 17:25:57 POSLE PODNE
Koristis li udb_hash?


Ne
GAD SAM JA

Onda obrisi cuvanje passworda pod tom komandom i stavi pod saveplayer jer ne mozes ovako otvarati INI fajl.

Citat: malipablo poslato Januar 26, 2020, 12:24:30 POSLE PODNE
Onda obrisi cuvanje passworda pod tom komandom i stavi pod saveplayer jer ne mozes ovako otvarati INI fajl.
Okey sad cu da probam pa ti javljam
GAD SAM JA

Citat: malipablo poslato Januar 26, 2020, 12:24:30 POSLE PODNE
Onda obrisi cuvanje passworda pod tom komandom i stavi pod saveplayer jer ne mozes ovako otvarati INI fajl.
Sredjeno, ako nekoga zanima kako sam sredio
Na stock saveplayer dodao sam
INI_WriteString(File,"Password",PI[playerid][pSifra]);
a pod IgracNoviUcitaj tj kada se igrac registruje ispod pisanja WriteString-a password dodao sam ovo
strmid(PI[playerid][pSifra], inputtext, 0, strlen(inputtext), 255);
GAD SAM JA