Moin, ich möchte einem beliebigen Spieler eine Zufällige Nummer zuweisen, welche noch nicht vergeben ist. Dafür geht das Script mehr oder weniger rekursiv vor.
Das Problem ist jetzt, dass eine Nummer auch vergeben wird, wenn ein anderer Spieler sie bereits besitzt.
Es wird "Nummer ist frei" in die Konsole geschrieben, auch wenn sie eben nicht frei ist. Sieht jemand den Fehler und kann mir helfen
Code
stock GivePlayerRandomNumber(playerid)
{
// new number = 10000 + random(90000);
new number = random(10)+1;
printf("Nummer: %i", number);
new query[128];
mysql_format(handle, query, sizeof(query), "SELECT id FROM users WHERE number = '%e'", number);
mysql_pquery(handle, query, "OnPlayerGetRandomNumber", "dd", playerid, number);
return number;
}
public OnPlayerGetRandomNumber(playerid, number)
{
if(cache_get_row_count() == 0)
{
PlayerInfo[playerid][pNumber] = number;
print("Nummer ist frei");
}
else
{
print("Nummer ist schon vergeben");
GivePlayerRandomNumber(playerid);
}
return 1;
}
Alles anzeigen
