Hallo,
ich habe ein Problem mit dem Speichern von Useraccounts in meinem Script. Ich verwende MySQL zur Speicherung, was auch gut beim Laden der Accounts usw. funktioniert. Beim Compilen werden keine Fehler angezeigt und das Public zum Speichern wird aufgerufen nur irgendwie nicht ausgeführt/beendet bzw. ist es falsch geschrieben. Kann mir jemand helfen wo der Fehler in den Zeilen liegt? Hier mal das Public, was beim Gamemodeexit, bei OnPlayerDisconnect und bei einem Speichertimer aufgerufen wird:
public SaveUser(playerid)
{
if(PlayerInfo[playerid][Logged] == 1 && !IsPlayerNPC(playerid))
{
GetPlayerPos(playerid,PlayerInfo[playerid][PosX],PlayerInfo[playerid][PosY],PlayerInfo[playerid][PosZ]);
GetPlayerFacingAngle(playerid,PlayerInfo[playerid][Angle]);
new accFormat1[1024];
format(accFormat1,sizeof(accFormat1),"UPDATE `user` SET `firstlogin` = '%e',`skin` = '%e',`hanf` = '%e',`invite` = '%e',`age` = '%e',`muted` = '%e',`crimes` = '%e',`wanted` = '%e',`sex` = '%e' WHERE `id` = '%e'",\
PlayerInfo[playerid][FirstLogin],PlayerInfo[playerid][Skin],PlayerInfo[playerid][Hanf],PlayerInfo[playerid][Invite],PlayerInfo[playerid][Age],PlayerInfo[playerid][Muted],PlayerInfo[playerid][Crimes],\
PlayerInfo[playerid][Wanted],PlayerInfo[playerid][Sex],PlayerInfo[playerid][ID]);
mysql_function_query(dbhandle,accFormat1,false,"","");
new accFormat2[1024];
format(accFormat2,sizeof(accFormat2),"UPDATE `user` SET `kokain` = '%e',`leader` = '%e',`job` = '%e',`member` = '%e',`jailed` = '%e',`dead` = '%e',`perso` = '%e',`admin` = '%e',`deaths` = '%e' WHERE `id` = '%e'",\
PlayerInfo[playerid][Kokain],PlayerInfo[playerid][Leader],PlayerInfo[playerid][Job],PlayerInfo[playerid][Member],PlayerInfo[playerid][Jailed],PlayerInfo[playerid][Dead],PlayerInfo[playerid][Perso],PlayerInfo[playerid][Admin],\
PlayerInfo[playerid][Deaths],PlayerInfo[playerid][ID]);
mysql_function_query(dbhandle,accFormat2,false,"","");
new accFormat3[1024];
format(accFormat3,sizeof(accFormat3),"UPDATE `user` SET `kills` = '%e',`bank` = '%e',`number` = '%e' WHERE `id` = '%e'",PlayerInfo[playerid][Kills],PlayerInfo[playerid][Bank],PlayerInfo[playerid][Number],PlayerInfo[playerid][ID]);
mysql_function_query(dbhandle,accFormat3,false,"","");
new accFormat4[1024];
format(accFormat4,sizeof(accFormat4),"UPDATE `user` SET `money` = '%e',`rank` = '%e',`level` = '%e',`banned` = '%e',`exp` = '%e',`posx` = '%f',`posy` = '%f',`posz` = '%f',`angle` = '%f' WHERE `id` = '%e'",\
PlayerInfo[playerid][Money],PlayerInfo[playerid][Rank],PlayerInfo[playerid][Level],PlayerInfo[playerid][Banned],\
PlayerInfo[playerid][EXP],PlayerInfo[playerid][PosX],PlayerInfo[playerid][PosY],PlayerInfo[playerid][PosZ],PlayerInfo[playerid][Angle],PlayerInfo[playerid][ID]);
mysql_function_query(dbhandle,accFormat4,false,"","");
}
new player[MAX_PLAYER_NAME];
GetPlayerName(playerid, player, sizeof(player));
printf("AUTO-SAVE: Der Spieler %s wurde automatisch in der MySQL Tabelle 'user' abgespeichert!",player);
return 1;
}
Sieht irgendwer, warum die Accounts nicht gespeichert werden?
Freue mich über Hilfe.
LG MacTavish