VehicleID skips from 0 to 40?
#1

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?
Reply
#2

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
Reply
#3

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...
Reply
#4

Bump. Have similar problem. Help please
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)