01.11.2018, 16:43
I know. I only have a problem with CMD dealerships that do not save.
I've done it again.
What am I doing wrong?
I've done it again.
Code:
#define MAX_DEALERSHIPS 50
enum dealership_enum
{
dealership_name[32],
dealership_owner[24],
dealership_price,
dealership_id,
dealership_owned,
Text3D:dealership_label,
Float:dealership_x,
Float:dealership_y,
Float:dealership_z,
Float:dealership_radius,
dealership_earnings
};
new DealershipStatistics[MAX_DEALERSHIPS][dealership_enum];
new bool:dealership_taken[MAX_DEALERSHIPS];
public OnGameModeInit()
{
SetupDealershipsTable();
return 1;
}
SetupDealershipsTable()
{
mysql_tquery(g_SQL, "CREATE TABLE IF NOT EXISTS `dealerships` (\
`dealership_id` int(11) NOT NULL,\
`dealership_name` varchar(25) NOT NULL,\
`dealership_owner` varchar(25) NOT NULL default '-',\
`dealership_price` int(11) NOT NULL,\
`dealership_owned` int(11) NOT NULL,\
`dealership_x` float NOT NULL,\
`dealership_y` float NOT NULL,\
`dealership_z` float NOT NULL,\
`dealership_radius` float NOT NULL,\
`dealership_earnings` int(11) NOT NULL,\
UNIQUE KEY `dealership_id` (`dealership_id`))");
return 1;
}
CMD:createdealer(playerid, params[])
{
new
price,
dealername[32],
Float:radius,
dealershipid = -1,
bool:assigned = false,
string[256],
Float:x,
Float:y,
Float:z;
GetPlayerPos(playerid, x, y, z);
if(sscanf(params, "dfs[32]", price, radius, dealername))
return SendClientMessage(playerid, -1, "* [Usage]: /createdealer [price] [radius] [name of dealership]");
for(new i = 1; i < MAX_DEALERSHIPS; i++)
{
if(dealership_taken[i] == false)
{
dealershipid = i;
assigned = true;
break;
}
}
if(assigned == false) return SendClientMessage(playerid, -1, "Something went wrong while creating the dealership !");
strmid(DealershipStatistics[dealershipid][dealership_name], dealername, 0, strlen(dealername), 255);
strmid(DealershipStatistics[dealershipid][dealership_owner], "No-one", 0, strlen("No-one"), 255);
DealershipStatistics[dealershipid][dealership_price] = price;
DealershipStatistics[dealershipid][dealership_owned] = 0;
DealershipStatistics[dealershipid][dealership_x] = x;
DealershipStatistics[dealershipid][dealership_y] = y;
DealershipStatistics[dealershipid][dealership_z] = z;
DealershipStatistics[dealershipid][dealership_radius] = radius;
DealershipStatistics[dealershipid][dealership_id] = CreatePickup(1274, 23, x, y, z);
format(string, sizeof(string), "{FF6347}%s{FFFFFF} is for sale!\n\n{FF6347}Price:{FFFFFF} $%d\n\nTo purchase this dealership, type /buydealer.", dealername, price);
DealershipStatistics[dealershipid][dealership_label] = Create3DTextLabel(string, -1, x, y, z, 10.0, 0);
format(string, sizeof(string), " Dealership %d created.", dealershipid);
SendClientMessage(playerid, -1, string);
dealership_taken[dealershipid] = true;
SaveDealership(dealershipid);
return 1;
}
stock SaveDealership(dealershipid)
{
if(dealership_taken[dealershipid] == true)
{
new query[500];
mysql_format(g_SQL, query, sizeof(query), "UPDATE `dealerships` SET `dealership_name` = '%e', `dealership_owner` = '%e', `dealership_price` = %i, `dealership_owned` = %i,\
`dealership_x` = %f, `dealership_y` = %f, `dealership_z` = %f, `dealership_radius` = %f, `dealership_earnings` = %i WHERE `dealership_id` = %d",
DealershipStatistics[dealershipid][dealership_name], DealershipStatistics[dealershipid][dealership_owner], DealershipStatistics[dealershipid][dealership_price],
DealershipStatistics[dealershipid][dealership_owned], DealershipStatistics[dealershipid][dealership_x], DealershipStatistics[dealershipid][dealership_y],
DealershipStatistics[dealershipid][dealership_z], DealershipStatistics[dealershipid][dealership_radius], DealershipStatistics[dealershipid][dealership_earnings],
DealershipStatistics[dealershipid][dealership_id]);
mysql_tquery(g_SQL, query);
}
return 1;
}

