Hi,
wie speichere ich alle Spieler beim Restart Befehl?
Normal machen ich so
SpielerSpeichern(playerid);
Aber wie speicher ich alle Accounts?
Hi,
wie speichere ich alle Spieler beim Restart Befehl?
Normal machen ich so
SpielerSpeichern(playerid);
Aber wie speicher ich alle Accounts?
for(new i = 0; i < MAX_PLAYERS; i++)
{
SpielerSpeichern(i);
}
for(new i = 0; i < GetMaxPlayers(); i++)//schleife, fängt bei 0 an, geht durch alle Spieler durch
{
SpielerSpeichern(i);
}
GetMaxPlayers ist besser als MAX_PLAYERS zu benutzen, da es nur die Anzahl der Slots durchgeht und nicht 500/800
Mal hier ein Beispiel von Mir .... Musst es halt anpassen:
Du gehst mit einer for Schleife alle spieler durch....
Und fügst die Funktion bei OnGameModeExit aus.
stock SaveAllCurrentOnlinePlayers()
{
for(new x = 0;x<MAX_PLAYERS;x++)
{
if(GetPVarInt(x,"eingeloggt") == 1)
{
GetPlayerName(x,SpielerInfo[x][pName],MAX_PLAYER_NAME);
if(r_LoadSQLEntrance("accounts","Name",SpielerInfo[x][pName]))
{
r_mysql_SetInt("Level",SpielerInfo[x][pLevel]);
r_mysql_SetInt("Geld",SpielerInfo[x][pGeld]);
r_mysql_SetInt("Fraktion",SpielerInfo[x][pFraktion]);
r_mysql_SetFloat("Health",SpielerInfo[x][pHealth]);
r_mysql_SetInt("Banned",SpielerInfo[x][pBanned]);
r_mysql_SetInt("Adminlevel",SpielerInfo[x][pAdminlevel]);
printf("[MySQL]Spielerdaten von allen Spielern erfolgreich in der Datenbank gespeichert.[MySQL]",SpielerName(x));
r_UnloadSQLEntrance();
}
}
}
return 1;
}
Mit ner schleife ...
for(new i = 0; i < GetMaxPlayers(); i++)
Dann abfragen ob i ueberhaupt im spiel ist
If(IsPlayerConnected(i));
Und dann halt SpielerSpeichern(i);