Help MySQL
#3

I do not sign up for a dealership creation.

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,
        DID
};
new DealershipStatistics[MAX_DEALERSHIPS][dealership_enum];

enum vehicle_stats
{
	vehicle_dealership,
	vehicle_model,
	vehicle_price,
	Float:vehicle_position[5],
	Text3D:vehicle_label,
	vehicle_onsale,
        VID
};
new VehicleStatistics[MAX_VEHICLES][vehicle_stats];

new bool:dealership_taken[MAX_DEALERSHIPS];

public OnFilterScriptInit()
{
        ConnectMySQL();
	SetupDealershipsTable();
        SetupVehiclesTable();
	return 1;
}

public OnFilterScriptExit()
{
	for(new i = 1; i < MAX_DEALERSHIPS; i++)
	{
	    if(dealership_taken[i] == true)
	    {
	    	SaveDealership_MySQL(i);
	    	for(new v = 1; v < MAX_VEHICLES; v++)
	    	{
	        	if(VehicleStatistics[v][vehicle_dealership] == i)
	        	{
	            	VehicleStatistics[v][vehicle_dealership] = 0;
					VehicleStatistics[v][vehicle_model] = 0;
					VehicleStatistics[v][vehicle_price] = 0;
					VehicleStatistics[v][vehicle_position][1] = 0.0;
					VehicleStatistics[v][vehicle_position][2] = 0.0;
					VehicleStatistics[v][vehicle_position][3] = 0.0;
					VehicleStatistics[v][vehicle_position][4] = 0.0;
					VehicleStatistics[v][vehicle_onsale] = 0;
					Delete3DTextLabel(VehicleStatistics[v][vehicle_label]);
					DestroyVehicle(v);
	        	}
			}
	    	strmid(DealershipStatistics[i][dealership_name], "None", 0, strlen("None"), 255);
			strmid(DealershipStatistics[i][dealership_owner], "No-one", 0, strlen("No-one"), 255);
			DealershipStatistics[i][dealership_price] = 0;
			DealershipStatistics[i][dealership_owned] = 0;
			DealershipStatistics[i][dealership_x] = 0.0;
			DealershipStatistics[i][dealership_y] = 0.0;
			DealershipStatistics[i][dealership_z] = 0.0;
			DealershipStatistics[i][dealership_radius] = 0.0;
			DealershipStatistics[i][dealership_earnings] = 0;
			dealership_taken[i] = false;
	   	 	Delete3DTextLabel(DealershipStatistics[i][dealership_label]);
	    	DestroyPickup(DealershipStatistics[i][dealership_id]);
		}
	}
	return 1;
}

stock CreateDealershipVehicle(creator, model, price, Float:carx, Float:cary, Float:carz, Float:carangle)
{
	new vehicleid, string[256];

	vehicleid = CreateVehicle(model, carx, cary, carz, carangle, 0, 0, -1);
	if(vehicleid == INVALID_VEHICLE_ID) return SendClientMessage(creator, -1, "The car couldn't be created !");
	VehicleStatistics[vehicleid][vehicle_dealership] = GetPVarInt(creator, "HasDealership");
	VehicleStatistics[vehicleid][vehicle_model] = model;
	VehicleStatistics[vehicleid][vehicle_price] = price;
	VehicleStatistics[vehicleid][vehicle_position][1] = carx;
    VehicleStatistics[vehicleid][vehicle_position][2] = cary;
    VehicleStatistics[vehicleid][vehicle_position][3] = carz;
    VehicleStatistics[vehicleid][vehicle_position][4] = carangle;
    VehicleStatistics[vehicleid][vehicle_onsale] = 1;
	format(string, sizeof(string), "%s For Sale - Price: $%d", GetVehicleName(vehicleid), price);
	VehicleStatistics[vehicleid][vehicle_label] = Create3DTextLabel(string, -1, carx, cary, carz, 10.0, 0);
	SaveDealership_MySQL(GetPVarInt(creator, "HasDealership"));
	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(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "    You are not authorized to use this command !");

	if(sscanf(params, "dfs", 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_MySQL(dealershipid);
	return 1;
}

stock SaveDealership_MySQL(dealershipid)
{
	if(dealership_taken[dealershipid] == true)
 	{
		new query[145];
		mysql_format(g_SQL, query, sizeof query, "UPDATE `dealerships` SET `dealership_name` = %s, `dealership_owner` = %s, `dealership_price` = %d, `dealership_owned` = %d, `dealership_x` = %f, `dealership_y` = %f, `dealership_z` = %f, `dealership_radius` = %f, `dealership_earnings` = %d WHERE `did` = %d LIMIT 1", 
			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][DID]);
		mysql_tquery(g_SQL, query);
	}
	for(new i = 1; i < MAX_VEHICLES; i++)
	{
	    if(VehicleStatistics[i][vehicle_dealership] == dealershipid)
	    {
			new query[145];
			mysql_format(g_SQL, query, sizeof query, "UPDATE `vehicles` SET `vehicle_dealership` = %d, `vehicle_model` = %d, `vehicle_price` = %d, `vehicle_x` = %f, `vehicle_y` = %f, `vehicle_z` = %f, `vehicle_angle` = %f, `vehicle_onsale` = %d WHERE `vid` = %d LIMIT 1", 
				VehicleStatistics[i][vehicle_dealership], VehicleStatistics[i][vehicle_model], VehicleStatistics[i][vehicle_price], VehicleStatistics[i][vehicle_position][1], 
				VehicleStatistics[i][vehicle_position][2], VehicleStatistics[i][vehicle_position][3], VehicleStatistics[i][vehicle_position][4], VehicleStatistics[i][vehicle_onsale], VehicleStatistics[i][VID]);
			mysql_tquery(g_SQL, query);
		}
	}
	return 1;
}

SetupDealershipsTable()
{
	new mysql_dealership[1000];
	strcat(mysql_dealership, "CREATE TABLE IF NOT EXISTS `dealerships` (");
	strcat(mysql_dealership, "`did` int(11) NOT NULL AUTO_INCREMENT, ");
	strcat(mysql_dealership, "`dealership_name` varchar(24) NOT NULL, ");
	strcat(mysql_dealership, "`dealership_owner` varchar(24) NOT NULL, ");
	strcat(mysql_dealership, "`dealership_price` int(11) NOT NULL, ");
	strcat(mysql_dealership, "`dealership_owned` int(11) NOT NULL DEFAULT '0', ");
	strcat(mysql_dealership, "`dealership_x` float NOT NULL DEFAULT '0', ");
	strcat(mysql_dealership, "`dealership_y` float NOT NULL DEFAULT '0', ");
	strcat(mysql_dealership, "`dealership_z` float NOT NULL DEFAULT '0', ");
	strcat(mysql_dealership, "`dealership_radius` float NOT NULL DEFAULT '0', ");
	strcat(mysql_dealership, "`dealership_earnings` int(11) NOT NULL DEFAULT '0', ");
	strcat(mysql_dealership, "PRIMARY KEY (`did`), ");
	strcat(mysql_dealership, "UNIQUE KEY `dealership_name` (`dealership_name`))");
	mysql_tquery(g_SQL, mysql_dealership);
	return 1;
}

SetupVehiclesTable()
{
	new mysql_cars[1000];
	strcat(mysql_cars, "CREATE TABLE IF NOT EXISTS `vehicle` (");
	strcat(mysql_cars, "`vid` int(11) NOT NULL AUTO_INCREMENT, ");
	strcat(mysql_cars, "`vehicle_dealership` int(11) NOT NULL, ");
	strcat(mysql_cars, "`vehicle_model` int(11) NOT NULL, ");
	strcat(mysql_cars, "`vehicle_price` int(11) NOT NULL, ");
	strcat(mysql_cars, "`vehicle_x` float NOT NULL DEFAULT '0', ");
	strcat(mysql_cars, "`vehicle_y` float NOT NULL DEFAULT '0', ");
	strcat(mysql_cars, "`vehicle_z` float NOT NULL DEFAULT '0', ");
	strcat(mysql_cars, "`vehicle_angle` float NOT NULL DEFAULT '0', ");
	strcat(mysql_cars, "`vehicle_onsale` int(11) NOT NULL DEFAULT '0', ");
	strcat(mysql_cars, "PRIMARY KEY (`vid`), ");
	strcat(mysql_cars, "UNIQUE KEY `vehicle_dealership` (`vehicle_dealership`))");
	mysql_tquery(g_SQL, mysql_cars);
	return 1;
}
Reply


Messages In This Thread
Help MySQL - by KamilPolska - 01.11.2018, 12:55
Re: Help MySQL - by TheToretto - 01.11.2018, 13:13
Re: Help MySQL - by KamilPolska - 01.11.2018, 13:33
Re: Help MySQL - by TheToretto - 01.11.2018, 13:49
Re: Help MySQL - by KamilPolska - 01.11.2018, 13:51
Re: Help MySQL - by Heress - 01.11.2018, 14:16
Re: Help MySQL - by KamilPolska - 01.11.2018, 15:07
Re: Help MySQL - by TheToretto - 01.11.2018, 15:39
Re: Help MySQL - by KamilPolska - 01.11.2018, 15:48
Re: Help MySQL - by TheToretto - 01.11.2018, 16:15
Re: Help MySQL - by KamilPolska - 01.11.2018, 16:43
Re: Help MySQL - by TheToretto - 01.11.2018, 16:50
Re: Help MySQL - by KamilPolska - 01.11.2018, 17:11
Re: Help MySQL - by KinderClans - 01.11.2018, 17:20
Re: Help MySQL - by KamilPolska - 01.11.2018, 17:28
Re: Help MySQL - by TheToretto - 01.11.2018, 17:35
Re: Help MySQL - by KamilPolska - 01.11.2018, 18:13
Re: Help MySQL - by TheToretto - 01.11.2018, 19:18
Re: Help MySQL - by KamilPolska - 01.11.2018, 20:29
Re: Help MySQL - by TheToretto - 01.11.2018, 20:56
Re: Help MySQL - by KamilPolska - 01.11.2018, 21:07

Forum Jump:


Users browsing this thread: 1 Guest(s)