Vehicle Saving Problem. +rep for any comment!
#1

Okay I'm going to give you all the information, I have a mysql saving vehicle system but for some reason when you buy a car and restart the server it doesn't run and in the log it crashes right when it goes to load the vehicle.

Theres both vehicles and then permvehicles and when either one of them are created it will crash the server on
restart.

I've had this problem for a very long time now, you have no idea how appreciative I will be If someone can assist me with this. Thank you in advance.
Vehicle Loading
Код:
stock LoadVehicles()
{
	new
	    query[128],
	    data[128],
		vehicleid;
	    
	for (new i = 1; i < MAX_VEHICLES; i++)
	{
	    format(query, sizeof(query), "SELECT * FROM `vehicles` WHERE `veh_id` = '%d'", i);
		mysql_query(query);
		mysql_store_result();
		if (mysql_num_rows())
	    {
	        new model, Float:position[4];
            while (mysql_retrieve_row())
            {
	    		mysql_fetch_field_row(data, "veh_id");
				printf("Loading vehicle %d...", strval(data));
				VehicleEnum[vehicleid][veh_id] = strval(data);

                mysql_fetch_field_row(data, "veh_model"); model = strval(data);
				mysql_fetch_field_row(data, "veh_x"); position[0] = floatstr(data);
                mysql_fetch_field_row(data, "veh_y"); position[1] = floatstr(data);
                mysql_fetch_field_row(data, "veh_z"); position[2] = floatstr(data);
                mysql_fetch_field_row(data, "veh_rot"); position[3] = floatstr(data);
		        vehicleid = AddStaticVehicleEx(model, position[0], position[1], position[2], position[3], 1, 1, -1);

		        mysql_fetch_field_row(data, "veh_plate"); format(VehicleEnum[vehicleid][veh_plate], MAX_PLATE_LENGTH + 1, data);
		        mysql_fetch_field_row(data, "veh_owner"); format(VehicleEnum[vehicleid][veh_owner], MAX_PLAYER_NAME, data);

                mysql_fetch_field_row(data, "veh_price");
	  			VehicleEnum[vehicleid][veh_model] = model;
		        VehicleEnum[vehicleid][veh_owned] = 1;
		        VehicleEnum[vehicleid][veh_price] = strval(data);
		        VehicleEnum[vehicleid][veh_x] = position[0];
		        VehicleEnum[vehicleid][veh_y] = position[1];
		        VehicleEnum[vehicleid][veh_z] = position[2];
		        VehicleEnum[vehicleid][veh_rot] = position[3];

				for(new c = 1, var[32]; c < 18; c++)
				{
				    format(var, sizeof(var), "veh_component%d", c);
				    mysql_fetch_field_row(data, var);
				    VehicleEnum[vehicleid][veh_comp][c] = strval(data);
				}
				mysql_fetch_field_row(data, "veh_color1"); VehicleEnum[vehicleid][veh_colors][1] = strval(data);
				mysql_fetch_field_row(data, "veh_color2"); VehicleEnum[vehicleid][veh_colors][2] = strval(data);
				mysql_fetch_field_row(data, "veh_paintjob"); VehicleEnum[vehicleid][veh_paintjob] = strval(data);
				mysql_fetch_field_row(data, "veh_locked"); VehicleEnum[vehicleid][veh_locked] = strval(data);
				mysql_fetch_field_row(data, "veh_slot"); VehicleEnum[vehicleid][veh_slot] = strval(data);
				mysql_fetch_field_row(data, "veh_int"); VehicleEnum[vehicleid][veh_int] = strval(data);
				mysql_fetch_field_row(data, "veh_world"); VehicleEnum[vehicleid][veh_world] = strval(data);
				mysql_fetch_field_row(data, "veh_neon"); VehicleEnum[vehicleid][veh_neon] = strval(data);
				mysql_fetch_field_row(data, "veh_impounded"); VehicleEnum[vehicleid][veh_impounded] = strval(data);
				mysql_fetch_field_row(data, "veh_impoundprice"); VehicleEnum[vehicleid][veh_impoundprice] = strval(data);
	            mysql_fetch_field_row(data, "veh_haslock"); VehicleEnum[vehicleid][veh_haslock] = strval(data);
	            mysql_fetch_field_row(data, "veh_registerdate1"); VehicleEnum[vehicleid][veh_registerdate][1] = strval(data);
	            mysql_fetch_field_row(data, "veh_registerdate2"); VehicleEnum[vehicleid][veh_registerdate][2] = strval(data);
	            mysql_fetch_field_row(data, "veh_registerdate3"); VehicleEnum[vehicleid][veh_registerdate][3] = strval(data);
	            mysql_fetch_field_row(data, "veh_registerdate4"); VehicleEnum[vehicleid][veh_registerdate][4] = strval(data);
	            mysql_fetch_field_row(data, "veh_registerdate5"); VehicleEnum[vehicleid][veh_registerdate][5] = strval(data);
	            mysql_fetch_field_row(data, "veh_registerdate6"); VehicleEnum[vehicleid][veh_registerdate][6] = strval(data);
	            mysql_fetch_field_row(data, "NeonActivated"); NeonActivated[vehicleid] = strval(data);
	            mysql_fetch_field_row(data, "veh_trunkgun1"); VehicleEnum[vehicleid][veh_trunkgun1] = strval(data);
		        mysql_fetch_field_row(data, "veh_trunkgun2"); VehicleEnum[vehicleid][veh_trunkgun2] = strval(data);
		        mysql_fetch_field_row(data, "veh_trunkgun3"); VehicleEnum[vehicleid][veh_trunkgun3] = strval(data);
		        mysql_fetch_field_row(data, "veh_trunkgun4"); VehicleEnum[vehicleid][veh_trunkgun4] = strval(data);
		        mysql_fetch_field_row(data, "veh_trunkarmor"); VehicleEnum[vehicleid][veh_trunkarmor] = floatstr(data);
	            mysql_fetch_field_row(data, "veh_trunkcocaine"); VehicleEnum[vehicleid][veh_trunkcocaine] = strval(data);
	        	mysql_fetch_field_row(data, "veh_trunkweed"); VehicleEnum[vehicleid][veh_trunkweed] = strval(data);
	        	mysql_fetch_field_row(data, "veh_trunkmeth"); VehicleEnum[vehicleid][veh_trunkmeth] = strval(data);
	        	mysql_fetch_field_row(data, "veh_trunkheroin"); VehicleEnum[vehicleid][veh_trunkheroin] = strval(data);
	         	mysql_fetch_field_row(data, "veh_trunkmats"); VehicleEnum[vehicleid][veh_trunkmats] = strval(data);
	         	mysql_fetch_field_row(data, "veh_trunkcash"); VehicleEnum[vehicleid][veh_trunkcash] = strval(data);
			}
			ModifyVehicle(vehicleid);
			LinkVehicleToInterior(vehicleid, VehicleEnum[vehicleid][veh_int]);
			SetVehicleVirtualWorld(vehicleid, VehicleEnum[vehicleid][veh_world]);
			if(VehicleEnum[vehicleid][veh_locked]) LockVehicle(vehicleid);
			if (NeonActivated[vehicleid])
			{
			    AddNeonToVehicle(-1, vehicleid, VehicleEnum[vehicleid][veh_neon]);
			}
			if(vehicleid != INVALID_VEHICLE_ID) ownedcars++;
			if (IsABicycle(vehicleid) || IsATrain(vehicleid) || IsVehicleRCVehicle(vehicleid)) SetVehicleEngine(vehicleid, 1);
			else SetVehicleEngine(vehicleid, 0);
		}
		mysql_free_result();
	}
	return 1;
}
Vehicle Saving
Код:
stock SaveVehicle(vehicleid)
{
	new 
	    i = 1,
	    query[1024],
	    var[128];
	    
	if (!VehicleEnum[vehicleid][veh_owned]) return 0;

	format(query, sizeof(query), "UPDATE `vehicles` SET `veh_id` = '%d', `veh_plate` = '%s', `veh_owner` = '%s', `veh_model` = '%d', `veh_owned` = '%d', `veh_price` = '%d', `veh_x` = '%f', `veh_y` = '%f', `veh_z` = '%f', `veh_rot` = '%f' WHERE `veh_id` = '%d'",
	vehicleid, VehicleEnum[vehicleid][veh_plate], VehicleEnum[vehicleid][veh_owner], VehicleEnum[vehicleid][veh_model], VehicleEnum[vehicleid][veh_owned], VehicleEnum[vehicleid][veh_price], VehicleEnum[vehicleid][veh_x], VehicleEnum[vehicleid][veh_y], VehicleEnum[vehicleid][veh_z], VehicleEnum[vehicleid][veh_rot], VehicleEnum[vehicleid][veh_id]);
	mysql_query(query);

	format(query, sizeof(query), "UPDATE `vehicles` SET ");
	while (i < 18)
	{
	    i++;
		format(var, sizeof(var), "`veh_component%d` = '%d', ", i, VehicleEnum[vehicleid][veh_comp][i]);
		if (i == 17)
		{
			format(var, sizeof(var), "`veh_component%d` = '%d' WHERE `veh_id` = '%d'", i, VehicleEnum[vehicleid][veh_comp][i], vehicleid);
			strcat(query, var);
			break;
		}
		strcat(query, var);
	}
	mysql_query(query);
	
	format(query, sizeof(query), "UPDATE `vehicles` SET `veh_color1` = '%d', `veh_color2` = '%d', `veh_paintjob` = '%d', `veh_locked` = '%d', `veh_slot` = '%d', `veh_int` = '%d', `veh_world` = '%d', `veh_neon` = '%d', `veh_impounded` = '%d', `veh_impoundprice` = '%d', `veh_haslock` = '%d' WHERE `veh_id` = '%d'",
	VehicleEnum[vehicleid][veh_colors][1], VehicleEnum[vehicleid][veh_colors][2], VehicleEnum[vehicleid][veh_paintjob], VehicleEnum[vehicleid][veh_locked], VehicleEnum[vehicleid][veh_slot], VehicleEnum[vehicleid][veh_int], VehicleEnum[vehicleid][veh_world], VehicleEnum[vehicleid][veh_neon], VehicleEnum[vehicleid][veh_impounded],
	VehicleEnum[vehicleid][veh_impoundprice], VehicleEnum[vehicleid][veh_haslock], VehicleEnum[vehicleid][veh_id]);
	mysql_query(query);

	format(query, sizeof(query), "UPDATE `vehicles` SET `veh_registerdate1` = '%d', `veh_registerdate2` = '%d', `veh_registerdate3` = '%d', `veh_registerdate4` = '%d', `veh_registerdate5` = '%d', `veh_registerdate6` = '%d', `NeonActivated` = '%d', `veh_trunkgun1` = '%d', `veh_trunkgun2` = '%d', `veh_trunkgun3` = '%d', `veh_trunkgun4` = '%d' WHERE `veh_id` = '%d'",
	VehicleEnum[vehicleid][veh_registerdate][1], VehicleEnum[vehicleid][veh_registerdate][2], VehicleEnum[vehicleid][veh_registerdate][3], VehicleEnum[vehicleid][veh_registerdate][4], VehicleEnum[vehicleid][veh_registerdate][5], VehicleEnum[vehicleid][veh_registerdate][6], NeonActivated[vehicleid], VehicleEnum[vehicleid][veh_trunkgun1], VehicleEnum[vehicleid][veh_trunkgun2],
	VehicleEnum[vehicleid][veh_trunkgun3], VehicleEnum[vehicleid][veh_trunkgun4], VehicleEnum[vehicleid][veh_id]);
	mysql_query(query);

	format(query, sizeof(query), "UPDATE `vehicles` SET `veh_trunkarmor` = '%f', `veh_trunkcocaine` = '%d', `veh_trunkweed` = '%d', `veh_trunkmeth` = '%d', `veh_trunkheroin` = '%d', `veh_trunkmats` = '%d', `veh_trunkcash` = '%d' WHERE `veh_id` = '%d'",
	VehicleEnum[vehicleid][veh_trunkarmor], VehicleEnum[vehicleid][veh_trunkcocaine], VehicleEnum[vehicleid][veh_trunkweed], VehicleEnum[vehicleid][veh_trunkmeth], VehicleEnum[vehicleid][veh_trunkheroin], VehicleEnum[vehicleid][veh_trunkmats], VehicleEnum[vehicleid][veh_trunkcash], VehicleEnum[vehicleid][veh_id]);
	mysql_query(query);
	return 1;
}
Server_log
Код:
139442 	----------
139443 	Loaded log file: "server_log.txt".
139444 	----------
139445 	
139446 	SA-MP Dedicated Server
139447 	----------------------
139448 	v0.3x, ©2005-2013 SA-MP Team
139449 	
139450 	[18:40:43]
139451 	[18:40:43] Server Plugins
139452 	[18:40:43] --------------
139453 	[18:40:43] Loading plugin: mysql.so
139454 	[18:40:43]
139455 	
139456 	> MySQL plugin R6 successfully loaded.
139457 	
139458 	[18:40:43] Loaded.
139459 	[18:40:43] Loading plugin: streamer.so
139460 	[18:40:44]
139461 	
139462 	*** Streamer Plugin v2.6.1 by Incognito loaded ***
139463 	
139464 	[18:40:44] Loaded.
139465 	[18:40:44] Loading plugin: sscanf.so
139466 	[18:40:44]
139467 	
139468 	[18:40:44] ===============================
139469 	
139470 	[18:40:44] sscanf plugin loaded.
139471 	
139472 	[18:40:44] © 2009 Alex "******" Cole
139473 	
139474 	[18:40:44] 0.3d-R2 500 Players "dnee"
139475 	
139476 	[18:40:44] ===============================
139477 	
139478 	[18:40:44] Loaded.
139479 	[18:40:44] Loading plugin: audio.so
139480 	[18:40:44]
139481 	
139482 	*** Audio Plugin v0.5 R2 by Incognito loaded ***
139483 	
139484 	[18:40:44] Loaded.
139485 	[18:40:44] Loading plugin: nativechecker.so
139486 	[18:40:44] Loaded.
139487 	[18:40:44] Loaded 5 plugins.
139488 	
139489 	[18:40:44]
139490 	[18:40:44] Ban list
139491 	[18:40:44] --------
139492 	[18:40:44] Loaded: samp.ban
139493 	[18:40:44]
139494 	[18:40:44]
139495 	[18:40:44] Filterscripts
139496 	[18:40:44] ---------------
139497 	[18:40:44] Loaded 0 filterscripts.
139498 	
139499 	[18:40:44] [MySQL] Connecting to 'localhost'...
139500 	[18:40:44] [MySQL] Connected to 'localhost' successfully.
139501 	[18:40:44] [OnGameModeInit] Textdraws loaded.
139502 	[18:40:44] [OnGameModeInit] Elevator initialized.
139503 	[18:40:44] *** Audio Plugin: Started TCP server on port 8031
139504 	[18:40:44] [OnGameModeInit] Vehicle gas set to 100, points reset, unallied families reset
139505 	[18:40:44] [OnGameModeInit] Boxer.cfg loaded.
139506 	[18:40:44] rcon_password = "1234" (string)
139507 	[18:40:44] [OnGameModeInit] Stuff.cfg loaded.
139508 	[18:40:44] [OnGameModeInit] JobIcons.cfg loaded.
139509 	[18:40:44] [OnGameModeInit] IRC channels loaded.
139510 	[18:40:44] [OnGameModeInit] Families.cfg loaded.
139511 	[18:40:44] [OnGameModeInit] Weed.cfg loaded.
139512 	[18:40:44] [OnGameModeInit] Businesses.cfg loaded (business count: 10)
139513 	[18:40:44] [OnGameModeInit] Garages.cfg loaded (garage count: 1)
139514 	[18:40:44] [OnGameModeInit] Houses.cfg loaded (house count: 100)
139515 	[18:40:44] [OnGameModeInit] Drive Thrus loaded.
139516 	[18:40:44] [OnGameModeInit] Gates.cfg loaded (gate count: 1)
139517 	[18:40:45] [OnGameModeInit] Objects.cfg loaded (object count: 0)
139518 	[18:40:45] [OnGameModeInit] FamilyHQs.cfg loaded.
139519 	[18:40:45] [OnGameModeInit] FactionHQs.cfg loaded.
139520 	[18:40:45] [OnGameModeInit] Entrances loaded.
139521 	[18:40:45] [OnGameModeInit] FacGates.cfg loaded.
139522 	[18:40:45] [OnGameModeInit] FactionPay.cfg loaded.
139523 	[18:40:45] [OnGameModeInit] Factions.cfg loaded.
139524 	[18:40:45] [OnGameModeInit] FactionSkins.cfg loaded.
139525 	[18:40:45] [OnGameModeInit] Points loaded.
139526 	[18:40:45] [OnGameModeInit] Faction duty menus loaded.
139527 	[18:40:45] [OnGameModeInit] Dynamic pickups loaded.
139528 	[18:40:45] [OnGameModeInit] Family gates loaded.
139529 	[18:40:45] [OnGameModeInit] Divisions loaded.
139530 	[18:40:45] [OnGameModeInit] Gamemode text set to: WLS v1.0
139531 	[18:40:45] [OnGameModeInit] Time set to 2:00.
139532 	[18:40:45] [OnGameModeInit] Added player skins to class selection.
139533 	[18:40:45] [OnGameModeInit] 20 buttons loaded.
139534 	[18:40:45] [OnGameModeInit] Dynamic buttons loaded.
139535 	[18:40:45] [OnGameModeInit] Airport licenses & gate loaded.
139536 	[18:40:45] [OnGameModeInit] Dynamic objects loaded - around 5,000 - 5,500.
139537 	[18:40:45] [OnGameModeInit] Pickups Loaded.
139538 	[18:40:45] [OnGameModeInit] Timers started.
139539 	[18:40:45] [OnGameModeInit] NPC loading... (if enabled).
139540 	[18:40:45] [OnGameModeInit] Permanent vehicles loading...
139541 	[18:40:45] Loading vehicle 17...
Mysql debug log
Код:
[Thu Oct 31 01:02:43 2013] -------------------------
[Thu Oct 31 01:02:43 2013]      Logging Started
[Thu Oct 31 01:02:43 2013] -------------------------
[Thu Oct 31 01:04:36 2013] -------------------------
[Thu Oct 31 01:04:36 2013]      Logging Started
[Thu Oct 31 01:04:36 2013] -------------------------
Reply
#2

Anyone Please? Even just and Idea will help!
Reply
#3

Seriously, I'll pay someone to help me with this.. I'm so stuck. Anyone ever seen this issue before?
Reply
#4

bump
Reply
#5

Better create a new datebase!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)