Vehicle Saving Problem. +rep for any comment! -
hewittpro - 17.11.2013
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] -------------------------
Re: Vehicle Saving Problem. +rep for any comment! -
hewittpro - 17.11.2013
Anyone Please? Even just and Idea will help!
Re: Vehicle Saving Problem. +rep for any comment! -
hewittpro - 17.11.2013
Seriously, I'll pay someone to help me with this.. I'm so stuck. Anyone ever seen this issue before?
Re: Vehicle Saving Problem. +rep for any comment! -
hewittpro - 18.11.2013
bump
Re: Vehicle Saving Problem. +rep for any comment! -
benjaminjones - 23.01.2014
Better create a new datebase!