Jump to content
  • 0

pomoc Udela mi nekdo prosim register system?


Dominik Rozporka

Dotaz

Cau udela mi nekdo prosim register system v dialogech?

aby to bylo takle: hrace se napoji na server a objevi se mu dialog s nazvem Registrace a s popisem zadejte heslo

a aby to heslo bylo v cernych puntikach a potom aby to dalo uzivateli napsat znovu heslo a pak ho to ulozilo do slozky Accounts nebo uzivatele to je jedno

a aby ho to automaticky prihlasilo a potom kdyz se odpoji a znovu napoji tak aby mu vyskocil dialog s nazvem Prihlaseni

a s popisem zadejte sve heslo

 

 

 

 

a jeste jedna vec prosim mi odpovezte ja chci umnet pawnit a ukladani nacitani souboru je moc hodne tezky

ja bych chtel vedet jak nacist ulozeny veci v souboru do promenny hezky po radku kazdej radek do promenny

a kdyz chci zase nacist nejakej radek tak jak nactu ten radek ze souboru do promenny treba napriklad ctvrty?

a jeste jak udelam to kdyz napisu napriklad jako je v modu realna zeme prikaze /zat tak jak udelam to ze si z toho textu /zat ID vezme to ID

ja vim ze uz asi na tomhle foru hodne otravuju ale chci umnet pawnit a navody mi nestaci :(

Link to comment
Share on other sites

9 odpovědí na tuto otázku

Recommended Posts

  • 0

Me to nejak nefunguje to co jsi mi poslal ja si to hezky postupne nakopiroval do pawna a pri spusteni kompilaci mi to haze errory

proc?

a pritom ostatni pisou ze jim to jde

jak to ze me ne?

v xcem jsem udella chybu:

#define MAX_STRING 					   	   128
#define textdraw(%1,%2) SendClientMessage(%1,0xFFFFFFAA,%2)
forward UlozSkore(playerid);
new Banka[MAX_PLAYERS];
new bool:Prihlasen[MAX_PLAYERS];
public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
{
	if(dialogid == 1)
	{
		if(!inputtext[0]) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Přihlášení","Prosím přihlašte se, napište své heslo","OK","OK");
		else if(Prihlasen[playerid] == true) textdraw(playerid,"Uz jste prihlaseny");
		new string[MAX_STRING];
		new Data[MAX_STRING];
		format(string,sizeof(string),"Ucty/%s.sav",Jmeno(playerid));//zde si naformatujeme jmeno souboru do jmena se formatuje i umisteni to je to "Ucty/". %s je jmeno hrace a pak pripona budeme pouzivat ".sav" (ve slozce scriptfiles musite vytvori slozku "Ucty")
		if(fexist(string))//pokud existuje soubor ve slozce. kdyz nebude existovat slozka tak se odesle nejako ze soubor neexistuje
		{
			new File:LogFile = fopen(string,io_read);//otevreme soubor pro cteni LogFile je aby jsme vedely s jakym pracujeme
			if(!LogFile) printf("problem se souborem %s (io_read)",string);//pokud nastala chyba
			fread(LogFile,Data,sizeof(Data));// precteme radek a mame heslo ve tvaru "heslo\r\n"
			strdel(Data,NajdiEnter(Data),strlen(Data));// pomoci funkce a oriznuti ziskame "heslo" bez tech odratkovani
			if(strcmp(Data,inputtext,false))//pokud zadal spatne heslo
			{
				textdraw(playerid,"Login selhal");
				ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Přihlášení","Prosím přihlašte se, napište své heslo","OK","OK");
			}else{//pokud zadal spravne heslo
			    SetPVarString(playerid,"PrihlasovaciHeslo",inputtext);//ulozime si jeho heslo do promene dale uvidite proc
				//vzdy kdyz pouzijete fread se precte radek a po pristim pouziti se precte ten dalsi (pod nim) lze fread pouzit do podminky true odesle ze radek existuje a false kyz neexistuje a nenahraje do promene
				fread(LogFile,Data,sizeof(Data)); GivePlayerMoney(playerid,strval(Data));//strval prevedeni textu na cislo
				//zde precteme ze souboru do promene Data s maximalnim poctem znaku velikosti Data
				fread(LogFile,Data,sizeof(Data)); Banka[playerid] = strval(Data);
				fread(LogFile,Data,sizeof(Data)); SetPlayerWantedLevel(playerid,strval(Data));
				fread(LogFile,Data,sizeof(Data)); SetPlayerFightingStyle(playerid,strval(Data));

				textdraw(playerid,"Uspesne prihlasen /info");
				Prihlasen[playerid] = true;//aby jsme vedely ze je prihlasen
			}
			fclose(LogFile);
		}else{//kdyz neexistuje
			Prihlasen[playerid] = true;//dame mu promenou aby chom vedeli ze je prihlaeny

		 	SetPVarString(playerid,"PrihlasovaciHeslo",inputtext);//ulozime si jim zadahe heslo do promene
		  	UlozSkore(playerid);//a zalozime mu soubor
		}
	}
	return 1;
}
public UlozSkore(playerid)
{
	if(Prihlasen[playerid] == true)//toto je pokud je prihlasen takze pokud nekdo zkousi nekomu uhodnout heslo a pak se odpoji neprihlasen tak tomu dotycnemu muze vybilit ucet 
	{
		new ucet[MAX_STRING];
		format(ucet,sizeof(ucet),"Ucty/%s.sav",Jmeno(playerid));//stejne jako u loginu
		new File:SaveFile = fopen(ucet,io_write);//otevreme pro cteni pokud soubor neexistuje vytvori se sam
		if(!SaveFile) printf("problem se souborem %s (io_write)",ucet);
	 	new napis[50];
	 	new heslo[128];
	 	GetPVarString(playerid,"PrihlasovaciHeslo",heslo,sizeof(heslo));//zde si zjistime heslo zadane v loginu a nahrajeme si ho promene s kterou muzeme pracovat
		format(napis,sizeof(napis),"%s\r\n",heslo);fwrite(SaveFile,napis); //zapiseme jeho heslo na zacatek pro pristi prihlaseni
		format(napis,sizeof(napis),"%d\r\n",GetPlayerMoney(playerid)); fwrite(SaveFile,napis);//a ulozime string ktery jsme si naformatovaly
		format(napis,sizeof(napis),"%d\r\n",Banka[playerid]);fwrite(SaveFile,napis);
		format(napis,sizeof(napis),"%d\r\n",GetPlayerWantedLevel(playerid));fwrite(SaveFile,napis);
		format(napis,sizeof(napis),"%d\r\n",GetPlayerFightingStyle(playerid));fwrite(SaveFile,napis);
		
		fclose(SaveFile);
	}
	return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
	UlozSkore(playerid);//pri odchodu aby se mu skore ulozilo
	Prihlasen[playerid] = false;
	return 1;
}
stock NajdiEnter(string[])
{
	for(new i=strlen(string) -1; i>-1; i--)
	{
		if(string[i] != '\r' && string[i] != '\n') return i +1;
	}
	return false;
}
stock Jmeno(playerid)
{
	new p[MAX_PLAYER_NAME];
	GetPlayerName(playerid,p,MAX_PLAYER_NAME);
	return p;
}
Link to comment
Share on other sites

  • 0

Podívej se jaký errory ti to háže a zkus to podle nich opravit..

na 100% se vsadím, že ti třeba nemůže jít tohle: textdraw(playerid

předělej to na ClientMessage

A nekopíruj, pročti si to alespoň a zkus to udělat podle sebe :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...