VehicleID skips from 0 to 40? -
TheLazySloth - 26.01.2012
Code:
stock LoadVehicle(VehicleID) {
new
Query[128];
format(Query, 128, "SELECT * FROM vehicledata WHERE ID = %d", VehicleID);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() >= 1) {
mysql_free_result();
mysql_query(Query);
mysql_store_result();
printf("%d", VehicleID);
while(mysql_fetch_row_format(Query, "|")) {
printf("%d", VehicleID);
new
Value[128];
mysql_fetch_field_row(Value, "GameID");
Vehicle[VehicleID][vGameID] = strval(Value);
mysql_fetch_field_row(Value, "ID");
Vehicle[VehicleID][vID] = strval(Value);
mysql_fetch_field_row(Value, "Spawned");
Vehicle[VehicleID][vSpawned] = strval(Value);
mysql_fetch_field_row(Value, "Saved");
Vehicle[VehicleID][vSaved] = strval(Value);
mysql_fetch_field_row(Value, "Model");
Vehicle[VehicleID][vModel] = strval(Value);
mysql_fetch_field_row(Value, "SpawnWorld");
Vehicle[VehicleID][vSpawnWorld] = strval(Value);
mysql_fetch_field_row(Value, "SpawnInterior");
Vehicle[VehicleID][vSpawnInterior] = strval(Value);
mysql_fetch_field_row(Value, "PosWorld");
Vehicle[VehicleID][vPosWorld] = strval(Value);
mysql_fetch_field_row(Value, "PosInterior");
Vehicle[VehicleID][vPosInterior] = strval(Value);
mysql_fetch_field_row(Value, "Color1");
Vehicle[VehicleID][vColor1] = strval(Value);
mysql_fetch_field_row(Value, "Color2");
Vehicle[VehicleID][vColor2] = strval(Value);
mysql_fetch_field_row(Value, "PaintJob");
Vehicle[VehicleID][vPaintJob] = strval(Value);
mysql_fetch_field_row(Value, "Mod0");
Vehicle[VehicleID][vMod][0] = strval(Value);
mysql_fetch_field_row(Value, "Mod1");
Vehicle[VehicleID][vMod][1] = strval(Value);
mysql_fetch_field_row(Value, "Mod2");
Vehicle[VehicleID][vMod][2] = strval(Value);
mysql_fetch_field_row(Value, "Mod3");
Vehicle[VehicleID][vMod][3] = strval(Value);
mysql_fetch_field_row(Value, "Mod4");
Vehicle[VehicleID][vMod][4] = strval(Value);
mysql_fetch_field_row(Value, "Mod5");
Vehicle[VehicleID][vMod][5] = strval(Value);
mysql_fetch_field_row(Value, "Mod6");
Vehicle[VehicleID][vMod][6] = strval(Value);
mysql_fetch_field_row(Value, "Mod7");
Vehicle[VehicleID][vMod][7] = strval(Value);
mysql_fetch_field_row(Value, "Mod8");
Vehicle[VehicleID][vMod][8] = strval(Value);
mysql_fetch_field_row(Value, "Mod9");
Vehicle[VehicleID][vMod][9] = strval(Value);
mysql_fetch_field_row(Value, "Mod10");
Vehicle[VehicleID][vMod][10] = strval(Value);
mysql_fetch_field_row(Value, "Mod11");
Vehicle[VehicleID][vMod][11] = strval(Value);
mysql_fetch_field_row(Value, "Mod12");
Vehicle[VehicleID][vMod][12] = strval(Value);
mysql_fetch_field_row(Value, "Mod13");
Vehicle[VehicleID][vMod][13] = strval(Value);
mysql_fetch_field_row(Vehicle[VehicleID][vLicense], "License");
mysql_fetch_field_row(Value, "EngineOn");
Vehicle[VehicleID][vEngineOn] = strval(Value);
mysql_fetch_field_row(Value, "LightsOn");
Vehicle[VehicleID][vLightsOn] = strval(Value);
mysql_fetch_field_row(Value, "AlarmOn");
Vehicle[VehicleID][vAlarmOn] = strval(Value);
mysql_fetch_field_row(Value, "DoorsOpen");
Vehicle[VehicleID][vDoorsOpen] = strval(Value);
mysql_fetch_field_row(Value, "HoodOpen");
Vehicle[VehicleID][vHoodOpen] = strval(Value);
mysql_fetch_field_row(Value, "TrunkOpen");
Vehicle[VehicleID][vTrunkOpen] = strval(Value);
mysql_fetch_field_row(Value, "Locked");
Vehicle[VehicleID][vLocked] = strval(Value);
mysql_fetch_field_row(Value, "EngineBroke");
Vehicle[VehicleID][vEngineBroke] = strval(Value);
mysql_fetch_field_row(Value, "PanelsBroke");
Vehicle[VehicleID][vPanelsBroke] = strval(Value);
mysql_fetch_field_row(Value, "DoorsBroke");
Vehicle[VehicleID][vDoorsBroke] = strval(Value);
mysql_fetch_field_row(Value, "LightsBroke");
Vehicle[VehicleID][vLightsBroke] = strval(Value);
mysql_fetch_field_row(Value, "TiresBroke");
Vehicle[VehicleID][vTiresBroke] = strval(Value);
mysql_fetch_field_row(Value, "SpeedKMH");
Vehicle[VehicleID][vSpeedKMH] = strval(Value);
mysql_fetch_field_row(Value, "SpeedMPH");
Vehicle[VehicleID][vSpeedMPH] = strval(Value);
}
mysql_free_result();
format(Query, 128, "SELECT SpawnX FROM vehicledata WHERE ID = %d", VehicleID);
mysql_query(Query);
mysql_store_result();
mysql_fetch_float(Vehicle[VehicleID][vSpawnX]);
mysql_free_result();
format(Query, 128, "SELECT SpawnY FROM vehicledata WHERE ID = %d", VehicleID);
mysql_query(Query);
mysql_store_result();
mysql_fetch_float(Vehicle[VehicleID][vSpawnY]);
mysql_free_result();
format(Query, 128, "SELECT SpawnZ FROM vehicledata WHERE ID = %d", VehicleID);
mysql_query(Query);
mysql_store_result();
mysql_fetch_float(Vehicle[VehicleID][vSpawnZ]);
mysql_free_result();
format(Query, 128, "SELECT SpawnA FROM vehicledata WHERE ID = %d", VehicleID);
mysql_query(Query);
mysql_store_result();
mysql_fetch_float(Vehicle[VehicleID][vSpawnA]);
mysql_free_result();
format(Query, 128, "SELECT PosX FROM vehicledata WHERE ID = %d", VehicleID);
mysql_query(Query);
mysql_store_result();
mysql_fetch_float(Vehicle[VehicleID][vPosX]);
mysql_free_result();
format(Query, 128, "SELECT PosY FROM vehicledata WHERE ID = %d", VehicleID);
mysql_query(Query);
mysql_store_result();
mysql_fetch_float(Vehicle[VehicleID][vPosY]);
mysql_free_result();
format(Query, 128, "SELECT PosZ FROM vehicledata WHERE ID = %d", VehicleID);
mysql_query(Query);
mysql_store_result();
mysql_fetch_float(Vehicle[VehicleID][vPosZ]);
mysql_free_result();
format(Query, 128, "SELECT PosA FROM vehicledata WHERE ID = %d", VehicleID);
mysql_query(Query);
mysql_store_result();
mysql_fetch_float(Vehicle[VehicleID][vPosA]);
mysql_free_result();
format(Query, 128, "SELECT Health FROM vehicledata WHERE ID = %d", VehicleID);
mysql_query(Query);
mysql_store_result();
mysql_fetch_float(Vehicle[VehicleID][vHealth]);
mysql_free_result();
printf("Vehicle %d has successfully loaded!", VehicleID);
} else {
mysql_free_result();
Vehicle[VehicleID][vGameID] = -1;
Vehicle[VehicleID][vID] = VehicleID;
Vehicle[VehicleID][vSpawned] = 0;
Vehicle[VehicleID][vSaved] = 0;
Vehicle[VehicleID][vModel] = 0;
Vehicle[VehicleID][vSpawnWorld] = 0;
Vehicle[VehicleID][vSpawnInterior] = 0;
Vehicle[VehicleID][vSpawnX] = 0;
Vehicle[VehicleID][vSpawnY] = 0;
Vehicle[VehicleID][vSpawnZ] = 0;
Vehicle[VehicleID][vSpawnA] = 0;
Vehicle[VehicleID][vPosWorld] = 0;
Vehicle[VehicleID][vPosInterior] = 0;
Vehicle[VehicleID][vPosX] = 0;
Vehicle[VehicleID][vPosY] = 0;
Vehicle[VehicleID][vPosZ] = 0;
Vehicle[VehicleID][vPosA] = 0;
Vehicle[VehicleID][vColor1] = 0;
Vehicle[VehicleID][vColor2] = 0;
Vehicle[VehicleID][vPaintJob] = 0;
Vehicle[VehicleID][vMod][0] = 0;
Vehicle[VehicleID][vMod][1] = 0;
Vehicle[VehicleID][vMod][2] = 0;
Vehicle[VehicleID][vMod][3] = 0;
Vehicle[VehicleID][vMod][4] = 0;
Vehicle[VehicleID][vMod][5] = 0;
Vehicle[VehicleID][vMod][6] = 0;
Vehicle[VehicleID][vMod][7] = 0;
Vehicle[VehicleID][vMod][8] = 0;
Vehicle[VehicleID][vMod][9] = 0;
Vehicle[VehicleID][vMod][10] = 0;
Vehicle[VehicleID][vMod][11] = 0;
Vehicle[VehicleID][vMod][12] = 0;
Vehicle[VehicleID][vMod][13] = 0;
format(Vehicle[VehicleID][vLicense], 128, "Unknown%d", VehicleID);
Vehicle[VehicleID][vEngineOn] = 0;
Vehicle[VehicleID][vLightsOn] = 0;
Vehicle[VehicleID][vAlarmOn] = 0;
Vehicle[VehicleID][vDoorsOpen] = 0;
Vehicle[VehicleID][vHoodOpen] = 0;
Vehicle[VehicleID][vTrunkOpen] = 0;
Vehicle[VehicleID][vLocked] = 0;
Vehicle[VehicleID][vHealth] = 1000.0;
Vehicle[VehicleID][vEngineBroke] = 0;
Vehicle[VehicleID][vPanelsBroke] = 0;
Vehicle[VehicleID][vDoorsBroke] = 0;
Vehicle[VehicleID][vLightsBroke] = 0;
Vehicle[VehicleID][vTiresBroke] = 0;
Vehicle[VehicleID][vSpeedKMH] = 0;
Vehicle[VehicleID][vSpeedMPH] = 0;
}
return true;
}
The code above is to my Vehicle loading system.
The script is trying to load VehicleID 0 from the MySQL database.
I get this weird problem. For some reason between the first
printf("%d", VehicleID); and the second
printf("%d", VehicleID); it goes from 0 to 40 without it being set.
I think it has something to do with
while(mysql_fetch_row_format(Query, "|")) {
Proof on the server console:
It's not supposed to do that and it's bugging my whole gamemode.
Anyone know why it is doing this?
Re: VehicleID skips from 0 to 40? -
TheLazySloth - 26.01.2012
My code does not rely on that fact,
I have two variables, vGameID and vID
vID (or VehicleID) is linearly custom, when an admin /createvehicle it will loop through my mysql database looking for a gap like if 2 was missing and 0, 1, and 3 were taken, it would make the Vehicle[VehicleID][vID] = 2 and that's the number it will save with and load with.
vGameID is set with CreateVehicle
Vehicle[VehicleID][vGameID] = CreateVehicle(...);
This is unset at loading or when the vehicle is destroyed and/or deleted from the database
Re: VehicleID skips from 0 to 40? -
TheLazySloth - 26.01.2012
That's why it is weird to me...
I don't know but it stops my loop when it jumps like that, I searched every VehicleID and the problem persists...
Re: VehicleID skips from 0 to 40? -
Casper001 - 26.01.2012
Bump. Have similar problem. Help please