Ich habe folgendes Problem das wenn ich mir was ingame Kaufe wird der geld wert von 1500$ zwar abgezogen dann aber nicht gespeichert und somit wieder auf 1500$ gesetzt.
So sieht es aus:
savePlayer(playerid)
{
if(sInfo[playerid][eingeloggt]==0)return 1;
//speichern level,money
new query[128];
format(query,sizeof(query),"UPDATE user SET level= '%i', money= '%i', alevel= '%i', fraktion= '%i', rang= '%i' WHERE `id` ='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][db_id]);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}
resetPlayer(playerid)
{
for(new i=0; i<sizeof(sInfo[]); i++)
{
sInfo[playerid][playerInfo:i]=0;
loadPlayerCars(playerid);
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
for(new i=0; i<sizeof(aInfo); i++)
{
if(aInfo[i][id_x]==0)continue;
if(aInfo[i][besitzer]!=sInfo[playerid][db_id])continue;
GetVehiclePos(aInfo[i][id_x],aInfo[i][c_x],aInfo[i][c_y],aInfo[i][c_z]);
GetVehicleZAngle(aInfo[i][id_x],aInfo[i][c_r]);
new query[128];
format(query,sizeof(query),"UPDATE autos SET x='%f', y='%f', z='%f', r='%f' WHERE id='%i' ",aInfo[i][c_x],aInfo[i][c_y],aInfo[i][c_z],aInfo[i][c_r],aInfo[i][db_id]);
mysql_function_query(dbhandle,query,false,"","");
DestroyVehicle(aInfo[i][id_x]);
aInfo[i][id_x]=0;
break;
}
resetPlayer(playerid);
savePlayer(playerid);
loadPlayerCars(playerid);
return 1;
}
Das hier gehört auch noch dazu:
SetPlayerMoney(playerid,money)
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,money);
return 1;
}
public OnPasswordResponse(playerid)
{
new num_rows,num_fields;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==1)
{
//passwort Richtig
sInfo[playerid][eingeloggt] = 1;
sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
SetPlayerScore(playerid,sInfo[playerid][level]);
sInfo[playerid][db_id] = cache_get_field_content_int(0,"id",dbhandle);
SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
sInfo[playerid][fraktion] = cache_get_field_content_int(0,"fraktion",dbhandle);
sInfo[playerid][rang] = cache_get_field_content_int(0,"rang",dbhandle);
//autosladen:
loadPlayerCars(playerid);
}
else
{
//Passwort Falsch
SendClientMessage(playerid,grün,"Du hast dein Passwort falsch eingetippt. Versuche es nochmal!");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Anmelden","Abbrechen");
}
return 1;
}