Moin
ich finde meinen Fehler nicht.
Es werden alle Fahrzeuge aus der Datenbank geholt und auch angezeigt.
Ich steige ein, speichere das Fahrzeug und nach dem GMX steht dort ein anderes als das eben gespeicherte.
Der fehler kann ja nur darin liegen das die Zuordnung der CarID beim speichern oder laden fehlerhaft ist. Ich finde den aber nicht.
hier mal das Fahrzeug holen und danach das speichern der Fahrzeuge
PHP
stock LoadVehiclesFromDB()
{
new index;
mysql_query("SELECT * FROM `car_info` ORDER BY carID ASC");
mysql_store_result();
if(mysql_num_rows() > 0)
{
while(mysql_fetch_row(Query))
{
sscanf(Query, "e<p<|>dddffffffs[45]ffddddd>", Vehicles[index]);
CreateVehicle(Vehicles[index][vModelID], Vehicles[index][vPosX], Vehicles[index][vPosY],
Vehicles[index][vPosZ], Vehicles[index][vAngleZ], Vehicles[index][vColor1], Vehicles[index][vColor2], -1);
index++;
}
}
mysql_free_result();
print("\n");
printf("SERVER: Erfolgreich %d Fahrzeuge aus der Datenbank geladen.", index);
return 1;
}
Alles anzeigen
PHP
command(savecar, playerid, params[])
{
new Color1, Color2, Float:PositionX, Float:PositionY, Float:PositionZ, Float:AngleZ;
new Float:Health;
if(pUserData[playerid][pLevel] < 3)
return SendClientMessage(playerid, COLOR_GREY, CMD_ERROR);
if(!IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, COLOR_RED, "Du musst zum speichern im Fahrzeug sitzen!");
new vehicleid = GetPlayerVehicleID(playerid);
GetVehiclePos(vehicleid, PositionX, PositionY, PositionZ);
GetVehicleZAngle(vehicleid, AngleZ);
GetVehicleHealth(vehicleid, Health);
GetVehicleColor(GetPlayerVehicleID(playerid), Color1, Color2);
format(Query, sizeof(Query), "UPDATE car_info SET X=%f, Y=%f, Z=%f, A=%f, Health=%f, Color1=%d, Color2=%d WHERE carID = %d and userID = %d", PositionX, PositionY, PositionZ, AngleZ, Health, Color1, Color2, GetPlayerVehicleID(playerid), pUserData[playerid][pUserID]);
mysql_query(Query);
return SendClientMessage(playerid, COLOR_RED, "Dein Fahrzeug wurde an dieser Position gespeichert.");
}
Alles anzeigen