Hallo.
Immer wenn ich einen GMX mache, speichert mein Server keine Daten. Ich lasse den Server über MySQL laufen.
Hier einige Codes:
public OnGameModeExit()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
OnPlayerDisconnect(i, false);
}
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
if(pRoller[playerid] != INVALID_VEHICLE_ID)DestroyVehicle(pRoller[playerid]);
KillTimer(pTutorialTimer[playerid]);
SavePlayer(playerid);
return 1;
}
public SavePlayer(playerid)
{
if(IsPlayerConnected(playerid))
{
if(Spieler[playerid][pConnected])
{
printf("Save..");
Spieler[playerid][pGeld] = GetPlayerCash(playerid);
new curdate[32], curtime[32], stunde, minute, sekunde, tag, monat, jahr;
getdate(jahr, monat, tag);
gettime(stunde, minute, sekunde);
format(curdate, sizeof(curdate), "%02d.%02d.%d", tag, monat, jahr);
format(curtime, sizeof(curtime), "%02d:%02d:%02d", stunde, minute, sekunde);
mysql_SetInt("accounts", "Level", Spieler[playerid][pLevel], "Name", Spieler[playerid][pName]);
mysql_SetInt("accounts", "Geld", Spieler[playerid][pGeld], "Name", Spieler[playerid][pName]);
mysql_SetInt("accounts", "Kills", Spieler[playerid][pKills], "Name", Spieler[playerid][pName]);
mysql_SetInt("accounts", "Tode", Spieler[playerid][pTode], "Name", Spieler[playerid][pName]);
mysql_SetInt("accounts", "Geschlecht", Spieler[playerid][pGeschlecht], "Name", Spieler[playerid][pName]);
mysql_SetInt("accounts", "Perso", Spieler[playerid][pPerso], "Name", Spieler[playerid][pName]);
mysql_SetInt("accounts", "Job", Spieler[playerid][pJob], "Name", Spieler[playerid][pName]);
mysql_SetInt("accounts", "Skin", Spieler[playerid][pSkin], "Name", Spieler[playerid][pName]);
mysql_SetString("accounts", "Datum", curdate, "Name", Spieler[playerid][pName]);
mysql_SetString("accounts", "Zeit", curtime, "Name", Spieler[playerid][pName]);
printf("Save end..");
}
}
return 1;
}
Das Problem ist, dass die Daten alle auf "0" gesetzt werden, sprich die Standart Variablen.
Name und Passwort bleibt aber.