Hallo Brotfische,
habe heute folgendes Problem:
Ich habe in meinem Script ein normales EP System, noch nichts besonderes, auch noch nicht ganz fertig.
Mit einem Befehl (/ep) kann ich mir ingame 20 Erfahrungspunkte geben, dieser Befehl dient zum testen.
Der Befehl funktioniert auch. und die Erfahrungspunkte werden ingame in meinem Stats angezeigt, das heißt also ich habe die EP.
Nun habe ich das Problem, dass die EP nach einem Relogg wieder weg sind, bzw auf 0 sind.
Ich lasse eigentlich alles ganz normal speichern und laden, kann aber auch sein das irgendwo ein Fehler ist, den ich übersehen habe.
Hier mal die Zeilen:
//enum wo uEP drin ist
enum _sInfo
{
uEP
}
//Der Befehl mit dem ich mir EP geben kann
cmd:ep(playerid,params[])
{
SpielerInfo[playerid][uEP]+= 20;
SendClientMessage(playerid,FARBE_INFO,"Du hast dir 20 Erfahrunspunkte gegeben!");
return 1;
}
//Hier wird alles gespeichert
stock SavePlayer(playerid)
{
new query[500];
#define SA SpielerInfo[playerid]
format(query, sizeof(query), "UPDATE `accounts` SET Adminlevel='%d',Score='%d',Sprache='%d',Geld='%d',Erfahrung='%d' WHERE
`Name`='%s';",SA[uAdmin],SA[uScore],SA[uSprache],SA[uGeld],SA[uEP],PlayerName(playerid));
mysql_tquery(MysqlConnection, query, "","");
#undef SA
}
//Hier wird alles geladen
forward LoadPlayer(playerid);
public LoadPlayer(playerid)
{
if(!IsPlayerConnected(playerid)) return 1;
SpielerInfo[playerid][uAdmin] = cache_get_field_content_int(0, "Admin");
SpielerInfo[playerid][uScore] = cache_get_field_content_int(0, "Score");
SpielerInfo[playerid][uGeld] = cache_get_field_content_int(0, "Geld");
SpielerInfo[playerid][uEP] = cache_get_field_content_int(0, "Erfahrung");
CreateThings(playerid);
return 1;
}
Die Datenbankspalte in der alles gespeichert wird, heißt accounts, und die Spalte für die Erfahrungspunkte heißt "Erfahrung".
Leider finde ich den Fehler nicht, und frage deshalb mal hier nach.
Danke im Voraus.
MfG
Anthony