Jump to content
  • 0

Question

Posted

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?

13 answers to this question

Recommended Posts

  • 0
Posted
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

                        

 

 

  • 0
  • Administrator
Posted

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

  • Upvote 1
  • 0
Posted
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.
		}
	}
}

 

                        

 

 

  • 0
Posted
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?

  • 0
Posted
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, "", "");
}

 

                        

 

 

  • 0
Posted
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? 

  • 0
Posted
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.

                        

 

 

  • 0
Posted
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. 

  • 0
Posted (edited)
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
  • 0
Posted
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? 

  • 0
Posted (edited)
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

                        

 

 

  • 0
  • Administrator
Posted
Just now, LeetRomania said:

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? 

Iti returneaza numerele de la 0 la 9.

  • 0
Posted
23 hours ago, WopsS said:

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

Ai primit si tu +1 pentru ca m-ai ajutat. Multumesc. 

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.