Here's the database structure;
http://prntscr.com/80sbdo
And, here's how I save them;
pawn Код:
stock SaveVehicles() {
new query[1024];
for(new i = 1; i != loadedCars; i++) {
if(VehicleInfo[i][vInGarage] == 0) {
GetVehicleHealth(i, VehicleInfo[i][vHealth]);
GetVehicleDamageStatus(i, VehicleInfo[i][vPanels], VehicleInfo[i][vDoors], VehicleInfo[i][vLights], VehicleInfo[i][vTires]);
format(query, sizeof query, "UPDATE `server_vehicles` SET `ID`=%d,`Model`=%d,`X`=%f,`Y`=%f,`Z`=%f,`A`=%f,`Owner`='%s',`ColorOne`=%d,`ColorTwo`=%d,`FactionID`=%d,`JobID`=%d,`Owned`=%d,`Plate`='%s',`Locked`=%d,\
`Health`=%f,`Doors`=%d,`Tires`=%d,`Lights`=%d,`Panels`=%d,`Fuel`=%d,`Mileage`=%d,`GangID`=%d,`InGarage`=%d WHERE `ID` = %d",
i, VehicleInfo[i][vModel], VehicleInfo[i][vX], VehicleInfo[i][vY], VehicleInfo[i][vZ], VehicleInfo[i][vA], VehicleInfo[i][vOwner],
VehicleInfo[i][vColor1], VehicleInfo[i][vColor2], VehicleInfo[i][vFactionID], VehicleInfo[i][vJobID], VehicleInfo[i][vOwned], VehicleInfo[i][vPlate], VehicleInfo[i][vLocked],
VehicleInfo[i][vHealth], VehicleInfo[i][vDoors], VehicleInfo[i][vTires], VehicleInfo[i][vLights], VehicleInfo[i][vPanels], VehicleInfo[i][vFuel], VehicleInfo[i][vMileage], VehicleInfo[i][vGangID], VehicleInfo[i][vInGarage], VehicleInfo[i][vID]);
mysql_tquery(dbHandle, query);
}
}
return 1;
}
Here's what I do when they're scrapped;
pawn Код:
CMD:dumpcar(playerid) {
new query[128];
if(!IsPlayerInVehicle(playerid, PlayerInfo[playerid][pCarKey])) return SendClientMessage(playerid, COLOR_GREY, "You need to be inside your vehicle!");
if(PlayerInfo[playerid][pCarKey] <= 0) return SendClientMessage(playerid, COLOR_GREY, "You don't own a car.");
if(IsPlayerInRangeOfPoint(playerid, 5.5, 2183.6150,-1988.7555,13.8917)) {
format(query, sizeof query, "DELETE FROM `server_vehicles` WHERE `ID` = %d", PlayerInfo[playerid][pCarKey]);
mysql_tquery(dbHandle, query);
DestroyVehicle(PlayerInfo[playerid][pCarKey]);
SetPlayerMoney(playerid, 500+random(2500));
VehicleInfo[PlayerInfo[playerid][pCarKey]][vModel] = 0;
VehicleInfo[PlayerInfo[playerid][pCarKey]][vX] = 0;
VehicleInfo[PlayerInfo[playerid][pCarKey]][vY] = 0;
VehicleInfo[PlayerInfo[playerid][pCarKey]][vZ] = 0;
VehicleInfo[PlayerInfo[playerid][pCarKey]][vA] = 0;
VehicleInfo[PlayerInfo[playerid][pCarKey]][vColor1] = 1;
VehicleInfo[PlayerInfo[playerid][pCarKey]][vColor2] = 1;
PlayerInfo[playerid][pCarKey] = 0;
SendClientMessage(playerid, COLOR_WHITE, "You have scrapped your car and have earned some money by doing so.");
loadedCars--;
}
return 1;
}