24.12.2012, 20:28
Well to explain the buffer overflow in your post before, in the sscanf line, you used s[25], when the max length of the owner name was 24.
Anyways, you're better off without the e specifier.
Also make sure the order of the variables of the code above matches the order of fields in your playerCars table. If that still doesn't work, enable debugging and check mysql_log.txt. It also couldn't hurt to print(query); after the mysql_fetch_row_format line
Anyways, you're better off without the e specifier.
pawn Code:
stock LoadPlayerVehicles(playerid)
{
new query[400];
format(query, sizeof(query), "SELECT * FROM `playervehicles` WHERE `OwnerName` = '%s'", PlayerName(playerid));
mysql_query(query);
mysql_store_result();
new i;
while(i < MAX_PLAYER_OWNED_CARS && mysql_retrieve_row())
{
mysql_fetch_row_format(query);
sscanf(query, "p<|>s[" #MAX_PLAYER_NAME "]dffffdddddddddddddddddddddddddddddddddddd",
PlayerOwnedVehicles[playerid][i][playerCarOwner],
PlayerOwnedVehicles[playerid][i][playerCarModel],
PlayerOwnedVehicles[playerid][i][playerCarX],
PlayerOwnedVehicles[playerid][i][playerCarY],
PlayerOwnedVehicles[playerid][i][playerCarZ],
PlayerOwnedVehicles[playerid][i][playerCarRot],
PlayerOwnedVehicles[playerid][i][playerCarColor1],
PlayerOwnedVehicles[playerid][i][playerCarColor2],
PlayerOwnedVehicles[playerid][i][playerCarPaintjob],
PlayerOwnedVehicles[playerid][i][playerCarMod1],
PlayerOwnedVehicles[playerid][i][playerCarMod2],
PlayerOwnedVehicles[playerid][i][playerCarMod3],
PlayerOwnedVehicles[playerid][i][playerCarMod4],
PlayerOwnedVehicles[playerid][i][playerCarMod5],
PlayerOwnedVehicles[playerid][i][playerCarMod6],
PlayerOwnedVehicles[playerid][i][playerCarMod7],
PlayerOwnedVehicles[playerid][i][playerCarMod8],
PlayerOwnedVehicles[playerid][i][playerCarMod9],
PlayerOwnedVehicles[playerid][i][playerCarMod10],
PlayerOwnedVehicles[playerid][i][playerCarMod11],
PlayerOwnedVehicles[playerid][i][playerCarMod12],
PlayerOwnedVehicles[playerid][i][playerCarMod13],
PlayerOwnedVehicles[playerid][i][playerCarMod14],
PlayerOwnedVehicles[playerid][i][playerCarMod15],
PlayerOwnedVehicles[playerid][i][playerCarMod16],
PlayerOwnedVehicles[playerid][i][playerCarMod17],
PlayerOwnedVehicles[playerid][i][playerCarHasLock],
PlayerOwnedVehicles[playerid][i][playerCarLocked],
PlayerOwnedVehicles[playerid][i][playerCarTrunkCash],
PlayerOwnedVehicles[playerid][i][playerCarTrunkGun1],
PlayerOwnedVehicles[playerid][i][playerCarTrunkGun2],
PlayerOwnedVehicles[playerid][i][playerCarTrunkGun3],
PlayerOwnedVehicles[playerid][i][playerCarTrunkGun4],
PlayerOwnedVehicles[playerid][i][playerCarTrunkAmmo1],
PlayerOwnedVehicles[playerid][i][playerCarTrunkAmmo2],
PlayerOwnedVehicles[playerid][i][playerCarTrunkAmmo3],
PlayerOwnedVehicles[playerid][i][playerCarTrunkAmmo4],
PlayerOwnedVehicles[playerid][i][playerCarSpawned],
PlayerOwnedVehicles[playerid][i][playerCarOwned],
PlayerOwnedVehicles[playerid][i][playerCarOwnerID],
PlayerOwnedVehicles[playerid][i][playerCarFuel],
PlayerOwnedVehicles[playerid][i][playerCarSlotID]
);
PlayerOwnedVehicles[playerid][i][pCarID] = CreateVehicle(PlayerOwnedVehicles[playerid][i][pCarModel], PlayerOwnedVehicles[playerid][i][pCarX], PlayerOwnedVehicles[playerid][i][pCarY], PlayerOwnedVehicles[playerid][i][pCarZ], PlayerOwnedVehicles[playerid][i][pCarRot], PlayerOwnedVehicles[playerid][i][pCarColor1], PlayerOwnedVehicles[playerid][i][pCarColor2], -1);
AddVehicleMods(playerid, i);
i++;
}
mysql_free_result();
return true;
}