Jump to content
  • 0

Problema salvare variabila


LeetRomania

Question

Salut, as dori ca la ora 00:00 sa se salveze la fiecare player pe variabila un numar random.

Problema este ca daca folosesc ceva de genul:

new value = random(10);

la toti playerii se va salva numarul la fel pe variabila. Cum as putea face sa fie diferit la fiecare player variabila?

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0
Acum 1 minut, LeetRomania a spus:

Stii, faza e ca vreau sa fac sa fie pentru fiecare player nu doar pentru contul cu ID-ul 1 in baza de date. 

Hai ca ai noroc, mi-a venit o idee acum.

new ora,minute,secunde;
gettime(ora, minute, secunde);
if(ora == 0)
{
	new sqlupdate[256],sqlcheck[512];
	mysql_format(SQL, sqlcheck, sizeof(sqlcheck), "SELECT * FROM `users` ORDER BY `ID`");
	new Cache: jucatori = mysql_query(SQL, sqlcheck);
	for(new i = 0, c = cache_get_row_count(); i < c; i++)
	{
		new id = cache_get_field_content_int(i, "ID");
		new value = random(10);
		mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `NumeColumn`='%d' WHERE `ID`='%d'",value,id);
		mysql_tqueyr(SQL, sqlupdate, "", "");
	}
	cache_delete(jucatori);
}

 

  • Upvote 1

                        

 

 

Link to comment
Share on other sites

  • 0
Acum 2 minute, WopsS a spus:

Faci o iteratie (for) care trece prin toti jucatorii si pentru fiecare jucator si faci un nou random pentru jucatorul respectiv.

De exemplu folosesti la functia PayDay acest cod.

new ora,minute,secunde;
gettime(ora, minute, secunde);
if(ora == 0)
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i))
		{
			new value = random(10);
			// value va fi diferit de alti jucatori, dar mai vor fi si cazuri in care variabila va fi egala cu a altor playeri, dar daca maresti randomul gen random(10000) nu prea sunt sanse sa fie la fel cu a altor jucatorii.
		}
	}
}

 

                        

 

 

Link to comment
Share on other sites

  • 0
11 hours ago, [RW]Robi said:

De exemplu folosesti la functia PayDay acest cod.


new ora,minute,secunde;
gettime(ora, minute, secunde);
if(ora == 0)
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i))
		{
			new value = random(10);
			// value va fi diferit de alti jucatori, dar mai vor fi si cazuri in care variabila va fi egala cu a altor playeri, dar daca maresti randomul gen random(10000) nu prea sunt sanse sa fie la fel cu a altor jucatorii.
		}
	}
}

 

Dar eu vreau sa fac si pentru playerii offline. Cum pot face asta?

Link to comment
Share on other sites

  • 0
Chiar acum, LeetRomania a spus:

Dar eu vreau sa fac si pentru playerii offline. Cum pot face asta?

E cam complicat, trebuie sa pui o cerinta ca sa nu fie pentru toti playeri la fel, de exemplu daca are id in baza de date egal cu 1, codul va functiona.

new ora,minute,secunde;
gettime(ora, minute, secunde);
if(ora == 0)
{
	new sqlupdate[256];
	new value = random(10);
	mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `NumeColumn`='%d' WHERE `id`='1'",value);
	mysql_tqueyr(SQL, sqlupdate, "", "");
}

 

                        

 

 

Link to comment
Share on other sites

  • 0
On 1/21/2017 at 1:13 AM, [RW]Robi said:

E cam complicat, trebuie sa pui o cerinta ca sa nu fie pentru toti playeri la fel, de exemplu daca are id in baza de date egal cu 1, codul va functiona.


new ora,minute,secunde;
gettime(ora, minute, secunde);
if(ora == 0)
{
	new sqlupdate[256];
	new value = random(10);
	mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `NumeColumn`='%d' WHERE `id`='1'",value);
	mysql_tqueyr(SQL, sqlupdate, "", "");
}

 

eu am variabila pentru id-ul contului ID

ce inseamna acel `id` = '1'? Ce este id? 

Link to comment
Share on other sites

  • 0
Chiar acum, LeetRomania a spus:

eu am variabila pentru id-ul contului ID

ce inseamna acel `id` = '1'? Ce este id? 

numele columnului `ID` care este egal cu 1, nu sunt sigur ca intelegi...

Daca IDUL in baza de date este 1 (primul inregistrat) acesta va primii acea valuta random in Columnulul pe care-l setezi, in cazul nostru NumeColumn.

                        

 

 

Link to comment
Share on other sites

  • 0
On 1/21/2017 at 1:18 AM, [RW]Robi said:

numele columnului `ID` care este egal cu 1, nu sunt sigur ca intelegi...

Daca IDUL in baza de date este 1 (primul inregistrat) acesta va primii acea valuta random in Columnulul pe care-l setezi, in cazul nostru NumeColumn.

Stii, faza e ca vreau sa fac sa fie pentru fiecare player nu doar pentru contul cu ID-ul 1 in baza de date. 

Link to comment
Share on other sites

  • 0
3 minutes ago, [RW]Robi said:

Hai ca ai noroc, mi-a venit o idee acum.


new ora,minute,secunde;
gettime(ora, minute, secunde);
if(ora == 0)
{
	new sqlupdate[256],sqlcheck[512];
	mysql_format(SQL, sqlcheck, sizeof(sqlcheck), "SELECT * FROM `users` ORDER BY `ID`");
	new Cache: jucatori = mysql_query(SQL, sqlcheck);
	for(new i = 0, c = cache_get_row_count(); i < c; i++)
	{
		new id = cache_get_field_content_int(i, "ID");
		new value = random(10);
		mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `NumeColumn`='%d' WHERE `ID`='%d'",value,id);
		mysql_tqueyr(SQL, sqlupdate, "", "");
	}
	cache_delete(jucatori);
}

 

Testez acum. 

Edited by LeetRomania
Link to comment
Share on other sites

  • 0
22 hours ago, [RW]Robi said:

Hai ca ai noroc, mi-a venit o idee acum.


new ora,minute,secunde;
gettime(ora, minute, secunde);
if(ora == 0)
{
	new sqlupdate[256],sqlcheck[512];
	mysql_format(SQL, sqlcheck, sizeof(sqlcheck), "SELECT * FROM `users` ORDER BY `ID`");
	new Cache: jucatori = mysql_query(SQL, sqlcheck);
	for(new i = 0, c = cache_get_row_count(); i < c; i++)
	{
		new id = cache_get_field_content_int(i, "ID");
		new value = random(10);
		mysql_format(SQL, sqlupdate, sizeof(sqlupdate), "UPDATE `users` SET `NumeColumn`='%d' WHERE `ID`='%d'",value,id);
		mysql_tqueyr(SQL, sqlupdate, "", "");
	}
	cache_delete(jucatori);
}

 

A mers. Multumesc mult. Primesti +1 de la mine. Doar mai raspunde-mi la o intrebare. Daca am random 10 imi pune numerele de la 1-10 sau de la 0 la 9? 

Link to comment
Share on other sites

  • 0
Acum 1 minut, LeetRomania a spus:

A mers. Multumesc mult. Primesti +1 de la mine. Doar mai raspunde-mi la o intrebare. Daca am random 10 imi pune numerele de la 1-10 sau de la 0 la 9? 

de la 0 la 10 sau 9, nu sunt sigur.

Cer T/C acestui subiect si sa fie marcat ca rezolvat.

 

Edited by [RW]Robi

                        

 

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.