Not loading MySQL info -
benjaminjones - 30.03.2016
Hello. So, I am editing the South Central RP gamemode and I tried adding the siren sound that comes in 0.3.7. -
Link. I managed to implement it into the /createcar command.
pawn Код:
CMD:createcar(playerid, params[])
{
static
model[32],
color1,
color2,
id = -1,
type = 0,
addsiren = 0;
if (PlayerData[playerid][pAdmin] < 5)
return SendErrorMessage(playerid, "You don't have permission to use this command.");
if (sscanf(params, "s[32]I(-1)I(-1)I(0)I(0)", model, color1, color2, type, addsiren))
{
SendSyntaxMessage(playerid, "/createcar [model id/name] [color 1] [color 2] <faction> <siren>");
SendClientMessage(playerid, COLOR_YELLOW, "[TYPES]:{FFFFFF} 1: Police | 2: News | 3: Medical | 4: Government | 5: Company");
return 1;
}
if ((model[0] = GetVehicleModelByName(model)) == 0)
return SendErrorMessage(playerid, "Invalid model ID.");
static
Float:x,
Float:y,
Float:z,
Float:angle;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, angle);
id = Car_Create(0, model[0], x, y, z, angle, color1, color2, type, addsiren);
if (id == -1)
return SendErrorMessage(playerid, "The server has reached the limit for dynamic vehicles.");
SetPlayerPosEx(playerid, x, y, z + 2, 1000);
SendServerMessage(playerid, "You have successfully created vehicle ID: %d.", CarData[id][carVehicle]);
return 1;
}
. It is creating the car and I am able to play the siren by pressing H. Its all good. But here comes the part I cant handle. I created a new column into the database to be saving the siren, If 0 or 1. Screenshot:
http://i.imgur.com/gyPVnbQ.jpg
I followed the exact way the carFaction had been created, for some reason its not loading the carSiren.
Every info about the carSiren I have added.
pawn Код:
enum carData {
carID,
carExists,
carModel,
carOwner,
Float:carPos[4],
carColor1,
carColor2,
carPaintjob,
carLocked,
carMods[14],
carImpounded,
carImpoundPrice,
carFaction,
carSiren,
carWeapons[5],
carAmmo[5],
carVehicle
};
pawn Код:
forward Car_Load();
public Car_Load()
{
static
rows,
fields,
str[128];
cache_get_data(rows, fields, g_iHandle);
for (new i = 0; i < rows; i ++) if (i < MAX_DYNAMIC_CARS)
{
CarData[i][carExists] = true;
CarData[i][carID] = cache_get_field_int(i, "carID");
CarData[i][carModel] = cache_get_field_int(i, "carModel");
CarData[i][carOwner] = cache_get_field_int(i, "carOwner");
CarData[i][carPos][0] = cache_get_field_float(i, "carPosX");
CarData[i][carPos][1] = cache_get_field_float(i, "carPosY");
CarData[i][carPos][2] = cache_get_field_float(i, "carPosZ");
CarData[i][carPos][3] = cache_get_field_float(i, "carPosR");
CarData[i][carColor1] = cache_get_field_int(i, "carColor1");
CarData[i][carColor2] = cache_get_field_int(i, "carColor2");
CarData[i][carPaintjob] = cache_get_field_int(i, "carPaintjob");
CarData[i][carLocked] = cache_get_field_int(i, "carLocked");
CarData[i][carImpounded] = cache_get_field_int(i, "carImpounded");
CarData[i][carImpoundPrice] = cache_get_field_int(i, "carImpoundPrice");
CarData[i][carFaction] = cache_get_field_int(i, "carFaction");
CarData[i][carSiren] = cache_get_field_int(i, "carSiren");
for (new j = 0; j < 14; j ++)
{
if (j < 5)
{
format(str, sizeof(str), "carWeapon%d", j + 1);
CarData[i][carWeapons][j] = cache_get_field_int(i, str);
format(str, sizeof(str), "carAmmo%d", j + 1);
CarData[i][carAmmo][j] = cache_get_field_int(i, str);
}
format(str, sizeof(str), "carMod%d", j + 1);
CarData[i][carMods][j] = cache_get_field_int(i, str);
}
Car_Spawn(i);
}
for (new i = 0; i < MAX_DYNAMIC_CARS; i ++) if (CarData[i][carExists]) {
format(str, sizeof(str), "SELECT * FROM `carstorage` WHERE `ID` = '%d'", CarData[i][carID]);
mysql_tquery(g_iHandle, str, "OnLoadCarStorage", "d", i);
}
return 1;
}
pawn Код:
Car_Create(ownerid, modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, type = 0, addsiren = 0)
{
for (new i = 0; i != MAX_DYNAMIC_CARS; i ++)
{
if (!CarData[i][carExists])
{
if (color1 == -1)
color1 = random(127);
if (color2 == -1)
color2 = random(127);
CarData[i][carExists] = true;
CarData[i][carModel] = modelid;
CarData[i][carOwner] = ownerid;
CarData[i][carPos][0] = x;
CarData[i][carPos][1] = y;
CarData[i][carPos][2] = z;
CarData[i][carPos][3] = angle;
CarData[i][carColor1] = color1;
CarData[i][carColor2] = color2;
CarData[i][carPaintjob] = -1;
CarData[i][carLocked] = false;
CarData[i][carImpounded] = -1;
CarData[i][carImpoundPrice] = 0;
CarData[i][carFaction] = type;
CarData[i][carSiren] = addsiren;
for (new j = 0; j < 14; j ++)
{
if (j < 5)
{
CarData[i][carWeapons][j] = 0;
CarData[i][carAmmo][j] = 0;
}
CarData[i][carMods][j] = 0;
}
CarData[i][carVehicle] = CreateVehicle(modelid, x, y, z, angle, color1, color2, -1, -1);
if (CarData[i][carVehicle] != INVALID_VEHICLE_ID) {
ResetVehicle(CarData[i][carVehicle]);
}
mysql_tquery(g_iHandle, "INSERT INTO `cars` (`carModel`) VALUES(0)", "OnCarCreated", "d", i);
return i;
}
}
return -1;
}
pawn Код:
Car_Save(carid)
{
static
query[900];
if (CarData[carid][carVehicle] != INVALID_VEHICLE_ID)
{
for (new i = 0; i < 14; i ++) {
CarData[carid][carMods][i] = GetVehicleComponentInSlot(CarData[carid][carVehicle], i);
}
}
format(query, sizeof(query), "UPDATE `cars` SET `carModel` = '%d', `carOwner` = '%d', `carPosX` = '%.4f', `carPosY` = '%.4f', `carPosZ` = '%.4f', `carPosR` = '%.4f', `carColor1` = '%d', `carColor2` = '%d', `carPaintjob` = '%d', `carLocked` = '%d'",
CarData[carid][carModel],
CarData[carid][carOwner],
CarData[carid][carPos][0],
CarData[carid][carPos][1],
CarData[carid][carPos][2],
CarData[carid][carPos][3],
CarData[carid][carColor1],
CarData[carid][carColor2],
CarData[carid][carPaintjob],
CarData[carid][carLocked]
);
format(query, sizeof(query), "%s, `carMod1` = '%d', `carMod2` = '%d', `carMod3` = '%d', `carMod4` = '%d', `carMod5` = '%d', `carMod6` = '%d', `carMod7` = '%d', `carMod8` = '%d', `carMod9` = '%d', `carMod10` = '%d', `carMod11` = '%d', `carMod12` = '%d', `carMod13` = '%d', `carMod14` = '%d'",
query,
CarData[carid][carMods][0],
CarData[carid][carMods][1],
CarData[carid][carMods][2],
CarData[carid][carMods][3],
CarData[carid][carMods][4],
CarData[carid][carMods][5],
CarData[carid][carMods][6],
CarData[carid][carMods][7],
CarData[carid][carMods][8],
CarData[carid][carMods][9],
CarData[carid][carMods][10],
CarData[carid][carMods][11],
CarData[carid][carMods][12],
CarData[carid][carMods][13]
);
format(query, sizeof(query), "%s, `carImpounded` = '%d', `carImpoundPrice` = '%d', `carFaction` = '%d', `carSiren` = '%d', `carWeapon1` = '%d', `carWeapon2` = '%d', `carWeapon3` = '%d', `carWeapon4` = '%d', `carWeapon5` = '%d', `carAmmo1` = '%d', `carAmmo2` = '%d', `carAmmo3` = '%d', `carAmmo4` = '%d', `carAmmo5` = '%d' WHERE `carID` = '%d'",
query,
CarData[carid][carImpounded],
CarData[carid][carImpoundPrice],
CarData[carid][carFaction],
CarData[carid][carSiren],
CarData[carid][carWeapons][0],
CarData[carid][carWeapons][1],
CarData[carid][carWeapons][2],
CarData[carid][carWeapons][3],
CarData[carid][carWeapons][4],
CarData[carid][carAmmo][0],
CarData[carid][carAmmo][1],
CarData[carid][carAmmo][2],
CarData[carid][carAmmo][3],
CarData[carid][carAmmo][4],
CarData[carid][carID]
);
return mysql_tquery(g_iHandle, query);
}
As you can see, everywhere that I had to add the carSiren info, its added. What did I do wrong, so its not working?
Re: Not loading MySQL info -
Mencent - 30.03.2016
Hi!
Can you show us your callback
OnLoadCarStorage, please? Maybe there is the mistake.
Re: Not loading MySQL info -
benjaminjones - 30.03.2016
Hey, Mencent. Here it is.
pawn Код:
forward OnLoadCarStorage(carid);
public OnLoadCarStorage(carid)
{
static
rows,
fields,
str[32];
cache_get_data(rows, fields, g_iHandle);
for (new i = 0; i != rows; i ++) {
CarStorage[carid][i][cItemExists] = true;
CarStorage[carid][i][cItemID] = cache_get_field_int(i, "itemID");
CarStorage[carid][i][cItemModel] = cache_get_field_int(i, "itemModel");
CarStorage[carid][i][cItemQuantity] = cache_get_field_int(i, "itemQuantity");
cache_get_field_content(i, "itemName", str, g_iHandle, sizeof(str));
strpack(CarStorage[carid][i][cItemName], str, 32 char);
}
return 1;
}
I highly doubt the problem is there.
Re: Not loading MySQL info -
WeirdestYeti - 30.03.2016
I didn`t get your exact problem.
What`s not working? Saving to the database or loading from the database?
Re: Not loading MySQL info -
benjaminjones - 30.03.2016
Saving to the database is working fine, but the loading is not working.
Re: Not loading MySQL info -
theonethatownz - 30.03.2016
Use the print function when a car is loaded from the database to see if it's pulling it from the database.
Also check your mysql_log in the server directory.
Re: Not loading MySQL info -
benjaminjones - 30.03.2016
Can you give an example, or what exactly do I have to do?
I will check the mysql_log now.
Re: Not loading MySQL info -
theonethatownz - 30.03.2016
Check under gamemodeinit ensure you have this:
under your load vehicles script, add this:
pawn Код:
new string [128];
format(string, sizeof(string), "Car Siren == %d", CarData[i][carSiren]);
printf(string);
Also, show your Car_Spawn(i) script
Re: Not loading MySQL info -
benjaminjones - 30.03.2016
There is no error in mysql_log.
Re: Not loading MySQL info -
theonethatownz - 30.03.2016
Show your Car_Spawn script