OnPlayerEnterVehicle Problem
#1

When a player spawns their car and then they try to enter and if they are not in the faction LSPD they get the message, [SERVER]: You do not have permissions for this faction vehicle.

Код:
//=========Factions=========//
#define CIVILIAN 0
#define LSPD 1
#define LSFD 2
//Types
#define FACTION_LEGAL 1
#define FACTION_ILLEGAL 2
//=========Factions=========//
Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	OldVehicle[playerid] = vehicleid;
	if(CityVehicles[vehicleid][vCarOn])
	{
		if(CityVehicles[vehicleid][vFaction] != 0 && PlayerInfo[playerid][pFaction] != CityVehicles[vehicleid][vFaction] && !ispassenger)
		{
			SCM(playerid, COLOR_WHITE, "[SERVER]: You do not have permissions for this faction vehicle.");
			PutPlayer(playerid, PlayerPosX(playerid), PlayerPosY(playerid), PlayerPosZ(playerid));
			return 1;
		}
	}
	if(VehicleInfo[vehicleid][carOwned] == 1)
	{
		if(VehicleInfo[vehicleid][carFaction] > CIVILIAN && !ispassenger)
		{
			if(VehicleInfo[vehicleid][carFaction] != PlayerInfo[playerid][pFaction])
			{
				SCM(playerid, COLOR_WHITE, "[SERVER]: You do not have permissions for this faction vehicle.");
				PutPlayer(playerid, PlayerPosX(playerid), PlayerPosY(playerid), PlayerPosZ(playerid));
				return 1;
			}
		}
	}
	if(Gas[vehicleid] <= 0)
	{
		PutPlayer(playerid, PlayerPosX(playerid), PlayerPosY(playerid), PlayerPosZ(playerid)+0.1);
		SCM(playerid, COLOR_WHITE, "This vehicle is out of fuel!");
		return 1;
	}
	if(vLocked{vehicleid} && ispassenger)
	{
		SCM(playerid, COLOR_LIGHTRED, "Vehicle is locked.");
		PutPlayer(playerid, PlayerPosX(playerid), PlayerPosY(playerid), PlayerPosZ(playerid));
		return 1;
	}
	if(IsAPlane(vehicleid) && !IsADMVHeli(vehicleid) && !ispassenger || !IsADMVHeli(vehicleid) && IsAHelicopter(vehicleid) && !ispassenger)
	{
		if(PlayerInfo[playerid][pFlyLic] == 0)
		{
			SCM(playerid, COLOR_LIGHTRED, "You do not have a flying license");
			PutPlayer(playerid, PlayerPosX(playerid), PlayerPosY(playerid), PlayerPosZ(playerid)+0.1);
		}
	}
	if(ispassenger == 0)
	{
		if(IsADMVCar(vehicleid))
		{
			if(PlayerInfo[playerid][pCarLic])
			{
				DmvMSG(playerid, "You already have a driving license.");
				PutPlayer(playerid, PlayerPosX(playerid), PlayerPosY(playerid), PlayerPosZ(playerid)+0.1);
			}
		}
		if(IsADMVHeli(vehicleid))
		{
			if(PlayerInfo[playerid][pFlyLic])
			{
				DmvMSG(playerid, "You already have a flying license.");
				PutPlayer(playerid, PlayerPosX(playerid), PlayerPosY(playerid), PlayerPosZ(playerid)+0.1);
			}
		}
	}
	if(IsABicycle(vehicleid))
	{
		if(PlayerInfo[playerid][pBMX] == 0)
		{
			PutPlayer(playerid, PlayerPosX(playerid), PlayerPosY(playerid), PlayerPosZ(playerid)+0.1);
			SCM(playerid, COLOR_LIGHTRED, "You do not have permission to ride a bicycle.");
		}
		else if(!engineOn{vehicleid})
		{
			VehicleEngine(vehicleid, true);
		}
	}
	return 1;
}
Reply
#2

Spawn command?
Reply
#3

Код:
CMD:v(playerid, params[]) return cmd_vehicle(playerid, params);
CMD:vehicle(playerid, params[])
{
	new option[24], secoption, thirdoption, fourthoption;
	if(gettime() - GetIntVar(playerid, "VehicleDelay") < 3) return SCM(playerid, COLOR_LIGHTRED, "Please wait 3 seconds between each vehicle operation.");
	SetIntVar(playerid, "VehicleDelay", gettime());
	if(sscanf(params, "s[24]D(-1)D(-1)D(-1)", option, secoption, thirdoption, fourthoption))
	{
		SCM(playerid, COLOR_YELLOW3, "_____________________________________________");
		SyntaxMSG(playerid, "(/v)ehicle [usage]");
		SCM(playerid, COLOR_GRAD2, "[Actions] list, get, park, sell, accept, refuse, lock, info, colour, faction");
		SCM(playerid, COLOR_GRAD2, "[Actions] buylock, buyalarm, buyimmob, buyinsurance, buygps, buypark, tow");
		SCM(playerid, COLOR_GRAD2, "[Actions] find, duplicatekey, lights, sell, refuse, buy, mod, tickets, payticket");
		SCM(playerid, COLOR_GRAD2, "[Actions] packages putpackage takepackage");
		SCM(playerid, COLOR_GRAD2, "[Delete] scrap (warning: deletes your vehicle permanently)");
		SCM(playerid, COLOR_YELLOW3, "_____________________________________________");
		return 1;
	}
	if(!strcmp(option, "packages", true))
	{
	    new id = GetNearestVehicle(playerid);

		if (id == INVALID_VEHICLE_ID) return SCM(playerid, COLOR_INFO, "You are not near any vehicle.");
		if (PlayerInfo[playerid][pCarKey] != id) return SCM(playerid, COLOR_INFO, "You don't own this vehicle.");

		SCM(playerid, COLOR_GREEN, "| ________________ Weapon Packages ________________");
		SCMEx(playerid, COLOR_WHITE, "| [1. %s (%d/1000)] | [2. %s (%d/1000)] | [3. %s (%d/1000)] | [4. %s (%d/1000)]", GetPackageType(VehicleInfo[id][carPackages][0]), VehicleInfo[id][carPackageAmmo][0], GetPackageType(VehicleInfo[id][carPackages][1]), VehicleInfo[id][carPackageAmmo][1], GetPackageType(VehicleInfo[id][carPackages][2]), VehicleInfo[id][carPackageAmmo][2], GetPackageType(VehicleInfo[id][carPackages][3]), VehicleInfo[id][carPackageAmmo][3]);
		SCMEx(playerid, COLOR_WHITE, "| [5. %s (%d/1000)] | [6. %s (%d/1000)] | [7. %s (%d/1000)] | [8. %s (%d/1000)]", GetPackageType(VehicleInfo[id][carPackages][4]), VehicleInfo[id][carPackageAmmo][4], GetPackageType(VehicleInfo[id][carPackages][5]), VehicleInfo[id][carPackageAmmo][5], GetPackageType(VehicleInfo[id][carPackages][6]), VehicleInfo[id][carPackageAmmo][6], GetPackageType(VehicleInfo[id][carPackages][7]), VehicleInfo[id][carPackageAmmo][7]);
		SCMEx(playerid, COLOR_WHITE, "| [9. %s (%d/1000)] | [10. %s (%d/1000)]", GetPackageType(VehicleInfo[id][carPackages][8]), VehicleInfo[id][carPackageAmmo][8], GetPackageType(VehicleInfo[playerid][carPackages][9]), VehicleInfo[id][carPackageAmmo][9]);
		SCM(playerid, COLOR_GREEN, "** Type /takepackage [slot] to take a package.");
		return 1;
	}
	if(!strcmp(option, "putpackage", true))
	{
	    new id = GetNearestVehicle(playerid), slotid;
		if (sscanf(params, "d", slotid)) return SyntaxMSG(playerid, "/storepackage [slotid]");
		if (id == INVALID_VEHICLE_ID) return SCM(playerid, COLOR_INFO, "You are not near any vehicle.");
		if (PlayerInfo[playerid][pCarKey] != id) return SCM(playerid, COLOR_INFO, "You don't own this vehicle.");
		if (slotid < 1 || slotid > 10) return SCM(playerid, COLOR_LIGHTRED, "Error: The package slot must be between 1 and 10.");
		if (!PlayerInfo[playerid][pGunPackages][slotid-1]) return SCM(playerid, COLOR_LIGHTRED, "Error: There is no package in this slot.");

		for (new i = 0; i < 10; i ++)
		{
		    if (!VehicleInfo[id][carPackages][slotid-1])
		    {
		        VehicleInfo[id][carPackages][slotid-1] = PlayerInfo[playerid][pGunPackages][slotid-1];
				VehicleInfo[id][carPackageAmmo][slotid-1] = PlayerInfo[playerid][pPackageAmmo][slotid-1];

				SCMEx(playerid, COLOR_ADGREEN, "* You have stored a %s with %d ammo into this vehicle.", GetPackageType(PlayerInfo[playerid][pGunPackages][slotid-1]), PlayerInfo[playerid][pPackageAmmo][slotid-1]);
				SaveVehicle(id);
				return 1;
		    }
		}
		SCM(playerid, COLOR_INFO, "There is no room in the vehicle.");
	    return 1;
	}
	if(!strcmp(option, "takepackage", true))
	{
		new id = GetNearestVehicle(playerid), slotid;
		if (sscanf(params, "d", slotid)) return SyntaxMSG(playerid, "/takepackage [slotid]");
		if (id == INVALID_VEHICLE_ID) return SCM(playerid, COLOR_INFO, "You are not near any vehicle.");
		if (PlayerInfo[playerid][pCarKey] != id) return SCM(playerid, COLOR_INFO, "You don't own this vehicle.");
		if (slotid < 1 || slotid > 10) return SCM(playerid, COLOR_LIGHTRED, "Error: The package slot must be between 1 and 10.");
		if (!VehicleInfo[id][carPackages][slotid-1]) return SCM(playerid, COLOR_LIGHTRED, "Error: There is no package in that slot.");
		if (GetAvailablePackage(playerid) == -1) return SCM(playerid, COLOR_LIGHTRED, "Error: You don't have any room for a weapon package.");

		GiveWeaponPackage(playerid, VehicleInfo[id][carPackages][slotid-1], VehicleInfo[id][carPackageAmmo][slotid-1]);
		SCMEx(playerid, COLOR_ADGREEN, "* You have taken a %s with %d ammo from this vehicle.", GetPackageType(VehicleInfo[id][carPackages][slotid-1]), VehicleInfo[id][carPackageAmmo][slotid-1]);

		VehicleInfo[id][carPackages][slotid-1] = 0;
		VehicleInfo[id][carPackageAmmo][slotid-1] = 0;

		SaveVehicle(id);
		return 1;
	}
	if(!strcmp(option, "list", true))
	{
		if(PlayerInfo[playerid][pVehicles] == 0) return SCM(playerid, COLOR_LIGHTRED, "You do not own any vehicles.");
		SCMEx(playerid, COLOR_GREEN, "______________Your Vehicles(%d)______________", PlayerInfo[playerid][pVehicles]);
		for(new i = 1; i <= PlayerInfo[playerid][pVehicles]; i++)
		{
			if(VehicleStatus[playerid][i][carOn] == 1)
			{
				if(FindVehicleByPlate(VehicleStatus[playerid][i][carPlate]))
				{
					SCMEx(playerid, COLOR_GREEN, "Vehicle %d: %s, Lock[%d], Alarm[%d], Immobiliser[%d], Insurances[%d], Times Destroyed[%d], Next Insurance Price[$%d]", i, VehicleNames[VehicleStatus[playerid][i][carModel]-400],VehicleStatus[playerid][i][carLock],VehicleStatus[playerid][i][carAlarm],VehicleStatus[playerid][i][carImmob],VehicleStatus[playerid][i][carInsurances],VehicleStatus[playerid][i][carDestroyed],GetInsurancePrice2(playerid, i));
				}
				else
				{
					SCMEx(playerid, COLOR_WHITE, "Vehicle %d: %s, Lock[%d], Alarm[%d], Immobiliser[%d], Insurances[%d], Times Destroyed[%d], Next Insurance Price[$%d]", i, VehicleNames[VehicleStatus[playerid][i][carModel]-400],  VehicleStatus[playerid][i][carLock],VehicleStatus[playerid][i][carAlarm],VehicleStatus[playerid][i][carImmob],VehicleStatus[playerid][i][carInsurances],VehicleStatus[playerid][i][carDestroyed],GetInsurancePrice2(playerid, i));
				}
			}
		}
		return 1;
	}
	if(!strcmp(option, "tickets", true))
	{
		new vehicle = GetPlayerVehicleID(playerid), string[500];
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, vehicle)) return SCM(playerid, -1, "You don't own this vehicle.");
		for(new i = 0; i < MAX_CAR_TICKETS; i++)
		{
			if(VehicleInfo[vehicle][carTicket][i] != 0)
				format(string, sizeof(string), "%s\n(Ticket %d) Amount: $%d.", string, i, VehicleInfo[vehicle][carTicket][i]);
			else
				format(string, sizeof(string), "%s\nNone.", string, i, VehicleInfo[vehicle][carTicket][i]);
		}
		Dialog_Show(playerid, CarTickets, DIALOG_STYLE_LIST, "Vehicle Tickets", string, "O", "K");
		return 1;
	}
	if(!strcmp(option, "tow", true))
	{
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(GetCash(playerid) < 1500) return SCM(playerid, COLOR_LIGHTRED, "Towing a car costs $1,500.");
		SetIntVar(playerid, "TowingCar", 30);
		SCM(playerid, COLOR_YELLOWG, "Towing your car to the parking place...");
		return 1;
	}
	if(!strcmp(option, "faction", true))
	{
		new vehicle = GetPlayerVehicleID(playerid);
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, vehicle)) return SCM(playerid, -1, "You don't own this vehicle.");
		if(PlayerInfo[playerid][pFaction] == CIVILIAN) return SCM(playerid, COLOR_GREY, "You are not in a faction.");
		VehicleInfo[vehicle][carFaction] = PlayerInfo[playerid][pFaction];
		SCMEx(playerid, COLOR_GREEN, "Your car has been successfully changed to faction [%d] - %s", PlayerInfo[playerid][pFaction], Factions[PlayerInfo[playerid][pFaction]][fName]);
		return 1;
	}
	if(!strcmp(option, "payticket", true))
	{
		new vehicle = GetPlayerVehicleID(playerid), slot, id;
		if(sscanf(params, "{s[16]}dd", slot, id)) return SyntaxMSG(playerid, "/v payticket [slot(0-9)] [OfficerID]");
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, vehicle)) return SCM(playerid, -1, "You don't own this vehicle.");
		if(VehicleInfo[vehicle][carTicket][slot] == 0) return SCM(playerid, COLOR_LIGHTRED, "You don't have a ticket in this slot.");
		if(id == playerid) return SCM(playerid, COLOR_LIGHTRED, "Not possible.");
		if(!PlayerIsOn(id)) return NotConnectedMSG(playerid);
		if(!PlayerNearPlayer(3.0, playerid, id)) return NotNearPlayerMSG(playerid);
		if(PlayerInfo[id][pFaction] != LSPD) return SCM(playerid, COLOR_GREY, "This player is not an officer in the LSPD.");
		format(msg, sizeof(msg), "You have successfully paid a ticket in slot %d, amount: $%d to officer %s.", slot, VehicleInfo[vehicle][carTicket][slot], GetNameWithMask(id));
		SCM(playerid, COLOR_LIGHTBLUE, msg);
		format(msg, sizeof(msg), "%s has paid you for his ticket, amount: $%d.", GetNameWithMask(playerid), VehicleInfo[vehicle][carTicket][slot]);
		SCM(id, COLOR_LIGHTBLUE, msg);
		GiveCash(playerid, -VehicleInfo[vehicle][carTicket][slot]);
		GiveCash(id, VehicleInfo[vehicle][carTicket][slot]);
		VehicleInfo[vehicle][carTicket][slot] = 0;
		return 1;
	}
	if(!strcmp(option, "mod", true))
	{
		new vehicle = GetPlayerVehicleID(playerid);
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, vehicle)) return SCM(playerid, -1, "You don't own this vehicle.");
		new dealerid = GetClosestDealerShip(playerid);
		if(dealerid == -1) return SCM(playerid, COLOR_FADE2, "Not near any car dealerships.");
		Dialog_Show(playerid, ModDialog, DIALOG_STYLE_LIST, "Vehicle Modification", "Wheels\nSpoilers\nScoops\nRoofs\nNitro\nPaintJobs\nSideskirts\nExhausts\nHydraulics $10,000\nBoomBox $20,000", "Select", "Cancel");
		return 1;
	}
	if(!strcmp(option, "buy", true))
	{
		new dealerid = GetClosestDealerShip(playerid);
		if(dealerid == -1) return SCM(playerid, COLOR_FADE2, "Not near any car dealerships.");
		if(GetOwnedVehicles(playerid) == MAX_OWNED_VEHICLES-1) return SCM(playerid, COLOR_GRAY, "You have reached to your maximum owned vehicles.");
		ShowBuyableCars(playerid);
	}
	if(!strcmp(option, "get", true))
	{
		new slot;
		if(sscanf(params, "{s[7]}d", slot)) return SyntaxMSG(playerid, "/v get [slot(1-3)]");
		if(slot < 1 || slot > MAX_OWNED_VEHICLES) return SCM(playerid, -1, "Invalid slot.");
		if(IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You already have a spawned vehicle.");
		if(VehSpawned != 0) return SCM(playerid, COLOR_LIGHTRED, "Someone has just spawned a vehicle, please wait 3 seconds.");
		LoadVehicleFromSlot(playerid, slot);
		return 1;
	}
	if(!strcmp(option, "park", true))
	{
		new veh = PlayerInfo[playerid][pCarKey];
		if(!IsVehicleSpawned(veh)) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, GetPlayerVehicleID(playerid))) return SCM(playerid, -1, "You don't own this vehicle.");
		if(!PlayerToPoint(5.0, playerid, VehicleInfo[veh][carParkX],VehicleInfo[veh][carParkY],VehicleInfo[veh][carParkZ]))
		{
			SCM(playerid, COLOR_WHITE, "You are not near the parking spot, here is a checkpoint.");
			SetCheckPoint(playerid, FINEVEH, VehicleInfo[veh][carParkX],VehicleInfo[veh][carParkY],VehicleInfo[veh][carParkZ], 6.0);
			return 1;
		}
		new Float:hp;
		GetVehicleHealth(veh, hp);
		if(hp < 400.0) return SCM(playerid, COLOR_LIGHTRED, "The car is near death so you can't park it.");
		SaveVehicle(veh);
		VehicleInfo[veh][carSpawned] = 0;
		VehicleInfo[veh][carOwned] = 0;
		StopCarBoomBox(veh);
		format(msg, sizeof(msg), "Your %s has been parked (despawned)", VehicleNames[VehicleInfo[veh][carModel]-400]);
		SCM(playerid, COLOR_GREEN, msg);
		DestoryCar(veh);
		PlayerInfo[playerid][pCarKey] = 0;
		PlayerInfo[playerid][pVehSlot] = 0;
		return 1;
	}
	if(!strcmp(option, "buypark", true))
	{
		new veh = PlayerInfo[playerid][pCarKey];
		new vehicle = GetPlayerVehicleID(playerid);
		new house = PlayerInfo[playerid][pHouseKey];
		if(!IsVehicleSpawned(veh)) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, vehicle)) return SCM(playerid, -1, "You don't own this vehicle.");
		new Float:X, Float:Y, Float:Z, Float:A;
		GetVehiclePos(vehicle, X, Y, Z);
		GetVehicleZAngle(vehicle, A);
		VehicleInfo[vehicle][carParkX] = X;
		VehicleInfo[vehicle][carParkY] = Y;
		VehicleInfo[vehicle][carParkZ] = Z;
		VehicleInfo[vehicle][carParkA] = A;
		if(house != -1 && PlayerToPoint(30.0, playerid, HouseInfo[house][hEntranceX], HouseInfo[house][hEntranceY], HouseInfo[house][hEntranceZ]))
		{
			SCM(playerid, COLOR_GREY, "Parking place purchased for $0 (Area change).");
			SCM(playerid, COLOR_ADGREEN, "You can now use /v park");
		}
		else if(GetCash(playerid) >= 2500)
		{
			SCM(playerid, COLOR_GREY, "Parking place purchased for $2,500 (Area change).");
			SCM(playerid, COLOR_ADGREEN, "You can now use /v park");
			GiveCash(playerid, -2500);
		}
		else
		{
			SCM(playerid, COLOR_GREEN, "Parking changing costs $2,500.");
		}
		format(query, sizeof(query), "UPDATE `ownedvehicles` SET `parkx` = %f, `parky` = %f, `parkz` = %f, `parka` = %f WHERE `owner` = '%s' AND `slot` = %d",
		X, Y, Z, A, GetName(playerid), PlayerInfo[playerid][pVehSlot]);
		mysql_function_query(dbHandle, query, false, "", "");
		return 1;
	}
	if(!strcmp(option, "buylock", true))
	{
		new vehicle = GetPlayerVehicleID(playerid);
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, vehicle)) return SCM(playerid, -1, "You don't own this vehicle.");
		new dealerid = GetClosestDealerShip(playerid);
		new level;
		if(dealerid == -1) return SCM(playerid, COLOR_FADE2, "Not near any car dealerships.");
		if(sscanf(params, "{s[64]}d", level))
		{
		 	SyntaxMSG(playerid, "/v buylock [level]");
		 	SCM(playerid, COLOR_INFO, "Level-1: $1500");
		 	SCM(playerid, COLOR_INFO, "Level-2: $3500");
		 	SCM(playerid, COLOR_INFO, "Level-3: $5500");
		 	SCM(playerid, COLOR_INFO, "Level-4: $7500");
		 	SCM(playerid, COLOR_INFO, "Level-5: $9500");
		    return 1;
		}
		if(level < 1 || level > 5) return SCM(playerid, COLOR_INFO, "Lock level can't be below 1 or above 5 !");
		if(level > VehicleInfo[vehicle][carLock]+1) return SCM(playerid, COLOR_LIGHTRED, "You must buy the locks in the right order.");
		if(VehicleInfo[vehicle][carLock] >= level)
		{
			format(msg, sizeof(msg), "You already own a lock level %d or more !", level);
			SCM(playerid, COLOR_LIGHTRED, msg);
			return 1;
		}
		new lockcost;
		if(level == 1)
		lockcost = 1500;
		if(level == 2)
		lockcost = 3500;
		if(level == 3)
		lockcost = 5500;
		if(level == 4)
		lockcost = 7500;
		if(level == 5)
		lockcost = 9500;
		if(GetCash(playerid) < lockcost) return NoCashMSG(playerid);
		format(msg, sizeof(msg), "You have succefully bought lock level %d.", level);
		SCM(playerid, COLOR_INFO, msg);
		GiveCash(playerid, -lockcost);
		VehicleInfo[vehicle][carLock] = level;
		format(query, sizeof(query), "UPDATE `ownedvehicles` SET `lock` = %d WHERE `owner` = '%s' AND `slot` = %d", level, GetName(playerid), PlayerInfo[playerid][pVehSlot]);
		mysql_function_query(dbHandle, query, false, "", "");
		UpdateVehicleStatus(playerid, vehicle);
		return 1;
	}
	if(!strcmp(option, "buyalarm", true))
	{
		new vehicle = GetPlayerVehicleID(playerid);
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, vehicle)) return SCM(playerid, -1, "You don't own this vehicle.");
		new dealerid = GetClosestDealerShip(playerid);
		new level;
		if(dealerid == -1) return SCM(playerid, COLOR_FADE2, "Not near any car dealerships.");
		if(sscanf(params, "{s[64]}d", level))
		{
		 	SyntaxMSG(playerid, "/v buyalarm [level]");
		 	SCM(playerid, COLOR_INFO, "Level-1: $2000");
		 	SCM(playerid, COLOR_INFO, "Level-2: $4000");
		 	SCM(playerid, COLOR_INFO, "Level-3: $6000");
		 	SCM(playerid, COLOR_INFO, "Level-4: $8000");
		 	SCM(playerid, COLOR_INFO, "Level-5: $10000");
		    return 1;
		}
		if(level < 1 || level > 5) return SCM(playerid, COLOR_INFO, "Alarm level can't be below 1 or above 5 !");
		if(level > VehicleInfo[vehicle][carAlarm]+1) return SCM(playerid, COLOR_LIGHTRED, "You must buy the alarm in the right order.");
		if(VehicleInfo[vehicle][carAlarm] >= level)
		{
			format(msg, sizeof(msg), "You already own a alarm level %d or more !", level);
			SCM(playerid, COLOR_LIGHTRED, msg);
			return 1;
		}
		new alarmcost;
		if(level == 1)
		alarmcost = 2000;
		if(level == 2)
		alarmcost = 4000;
		if(level == 3)
		alarmcost = 6000;
		if(level == 4)
		alarmcost = 8000;
		if(level == 5)
		alarmcost = 10000;
		if(GetCash(playerid) < alarmcost) return NoCashMSG(playerid);
		format(msg, sizeof(msg), "You have succefully bought alarm level %d.", level);
		SCM(playerid, COLOR_INFO, msg);
		GiveCash(playerid, -alarmcost);
		VehicleInfo[vehicle][carAlarm] = level;
		format(query, sizeof(query), "UPDATE `ownedvehicles` SET `alarm` = %d WHERE `owner` = '%s' AND `slot` = %d", level, GetName(playerid), PlayerInfo[playerid][pVehSlot]);
		mysql_function_query(dbHandle, query, false, "", "");
		UpdateVehicleStatus(playerid, vehicle);
		return 1;
	}
	if(!strcmp(option, "buyimmob", true))
	{
		new vehicle = GetPlayerVehicleID(playerid);
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, vehicle)) return SCM(playerid, -1, "You don't own this vehicle.");
		new dealerid = GetClosestDealerShip(playerid);
		new level;
		if(dealerid == -1) return SCM(playerid, COLOR_FADE2, "Not near any car dealerships.");
		if(sscanf(params, "{s[64]}d", level))
		{
		 	SyntaxMSG(playerid, "/v buyimmob [level]");
		 	SCM(playerid, COLOR_INFO, "Level-1: $900");
		 	SCM(playerid, COLOR_INFO, "Level-2: $1800");
		 	SCM(playerid, COLOR_INFO, "Level-3: $2700");
		 	SCM(playerid, COLOR_INFO, "Level-4: $3600");
		 	SCM(playerid, COLOR_INFO, "Level-5: $4500");
		    return 1;
		}
		if(level < 1 || level > 5) return SCM(playerid, COLOR_INFO, "Immob level can't be below 1 or above 5 !");
		if(level > VehicleInfo[vehicle][carImmob]+1) return SCM(playerid, COLOR_LIGHTRED, "You must buy the immob in the right order.");
		if(VehicleInfo[vehicle][carImmob] >= level)
		{
			format(msg, sizeof(msg), "You already own a immob level %d or more !", level);
			SCM(playerid, COLOR_LIGHTRED, msg);
			return 1;
		}
		new immobcost;
		if(level == 1)
		immobcost = 900;
		if(level == 2)
		immobcost = 1800;
		if(level == 3)
		immobcost = 2700;
		if(level == 4)
		immobcost = 3600;
		if(level == 5)
		immobcost = 4500;
		if(GetCash(playerid) < immobcost) return NoCashMSG(playerid);
		format(msg, sizeof(msg), "You have succefully bought immob level %d.", level);
		SCM(playerid, COLOR_INFO, msg);
		GiveCash(playerid, -immobcost);
		VehicleInfo[vehicle][carImmob] = level;
		format(query, sizeof(query), "UPDATE `ownedvehicles` SET `immob` = %d WHERE `owner` = '%s' AND `slot` = %d", level, GetName(playerid), PlayerInfo[playerid][pVehSlot]);
		mysql_function_query(dbHandle, query, false, "", "");
		UpdateVehicleStatus(playerid, vehicle);
		return 1;
	}
	if(!strcmp(option, "duplicatekey", true))
	{
		new vehicle = GetPlayerVehicleID(playerid);
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, vehicle)) return SCM(playerid, -1, "You don't own this vehicle.");
		new id;
		if(sscanf(params, "{s[64]}d", id)) return SyntaxMSG(playerid, "/v duplicatekey [playerid]");
		if(id == playerid) return ErrorMsg(playerid, "You may not duplicate a key to yourself.");
		if(!PlayerIsOn(id)) return NotConnectedMSG(playerid);
		if(!PlayerNearPlayer(3.0, playerid, id)) return NotNearPlayerMSG(playerid);
		if(GetCash(playerid) < 2000) return SCM(playerid, COLOR_LIGHTRED, "Duplicating key costs $2,000.");
		if(PlayerInfo[id][pSpareKey] != 0) return SCM(playerid, COLOR_INFO, "This player has another key, '/dropkey'");
		format(msg, sizeof(msg), "%s has given you a duplicated vehicle key to his vehicle.", GetNameWithMask(playerid));
		SCM(id, COLOR_INFO, msg);
		format(msg, sizeof(msg), "You have given %s a duplicated vehicle key to your vehicle.", GetNameWithMask(id));
		SCM(playerid, COLOR_INFO, msg);
		PlayerInfo[id][pSpareKey] = VehicleInfo[vehicle][carDupKey];
		GiveCash(playerid, -2000);
		return 1;
	}
	if(!strcmp(option, "sell", true))
	{
		new vehicle = GetPlayerVehicleID(playerid), id, price;
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, vehicle)) return SCM(playerid, -1, "You don't own this vehicle.");
		if(sscanf(params, "{s[64]}ud", id, price)) return SyntaxMSG(playerid, "/v sell [playerid/PartOfName] [price]");
		if(IsADonateCar(vehicle)) return SCM(playerid, COLOR_INFO, "You may not sell donating vehicles.");
		if(id == playerid) return ErrorMsg(playerid, "You may not sell the vehicle to yourself.");
		if(!PlayerNearPlayer(3.0, playerid, id)) return NotNearPlayerMSG(playerid);
		if(PlayerInfo[id][pCarKey] != 0) return SCM(playerid, COLOR_GRAD2, "That player has already spawned a car.");
		if(GetOwnedVehicles(id) == MAX_OWNED_VEHICLES-1) return SCMEx(playerid, COLOR_GRAD2, "That player has already %d owned vehicles.", MAX_OWNED_VEHICLES);
		if(price < 0) return ErrorMsg(playerid, "Invalid price.");
		format(msg, sizeof(msg), "%s offers you his %s for $%d, use '/v accept' or '/v refuse'.", GetNameWithMask(playerid), VehicleNames[GetVehicleModel(vehicle)-400], price);
		SCM(id, COLOR_YELLOW, msg);
		format(msg, sizeof(msg), "%s, Alarm[%d], Lock[%d], Immobilizer[%d], GPS[%d], Insurances[%d], Times destroyed[%d], Insurance price[%d]",
		VehicleNames[GetVehicleModel(vehicle)-400],
		VehicleInfo[vehicle][carAlarm],
		VehicleInfo[vehicle][carLock],
		VehicleInfo[vehicle][carImmob],
		VehicleInfo[vehicle][carGps],
		VehicleInfo[vehicle][carInsurances],
		VehicleInfo[vehicle][carDestroyed],
		GetInsurancePrice(vehicle));
		SCM(id, COLOR_YELLOW, msg);
		format(msg, sizeof(msg), "you offered your %s to %s for $%d.", VehicleNames[GetVehicleModel(vehicle)-400], GetNameWithMask(id), price);
		SCM(playerid, COLOR_GREEN, msg);
		pToAccept[id] = playerid;
		vToAccept[id] = vehicle;
		prToAccept[id] = price;
		return 1;
	}
	if(!strcmp(option, "refuse", true))
	{
		if(pToAccept[playerid] == INVALID_PLAYER_ID) return SCM(playerid, COLOR_LIGHTRED, "You haven't anything to accept");
		format(msg, sizeof(msg), "You refused the %s of %s.", VehicleNames[GetVehicleModel(vToAccept[playerid])-400], GetNameWithMask(vToAccept[playerid]));
	   	SCM(playerid, COLOR_LIGHTRED, msg);
	   	format(msg, sizeof(msg), "%s has refused your %s.", GetNameWithMask(playerid), VehicleNames[GetVehicleModel(vToAccept[playerid])-400]);
	   	SCM(pToAccept[playerid], COLOR_LIGHTRED, msg);
	   	pToAccept[playerid] = INVALID_PLAYER_ID; vToAccept[playerid] = INVALID_VEHICLE_ID; prToAccept[playerid] = 0;
	   	return 1;
	}
	if(!strcmp(option, "accept", true))
	{
		new slot = GetNextPlayerVehSlot(playerid);
		new sid = pToAccept[playerid];
		if(sid == INVALID_PLAYER_ID) return SCM(playerid, COLOR_LIGHTRED, "You haven't anything to accept");
		if(GetOwnedVehicles(playerid) == MAX_OWNED_VEHICLES-1)
		{
			SCM(playerid, COLOR_YELLOWG, "You can't accept any vehicles since you're having the maximum.");
			SCM(sid, COLOR_LIGHTRED, "You're vehicle cannot be sold because that player does not have enough slots.");
			pToAccept[playerid] = INVALID_PLAYER_ID; vToAccept[playerid] = INVALID_VEHICLE_ID; prToAccept[playerid] = 0;
			return 1;
		}
		if(GetCash(playerid) >= prToAccept[playerid])
		{
			format(msg, sizeof(msg), "You accepted the %s of %s for $%d.", VehicleNames[GetVehicleModel(vToAccept[playerid])-400], GetNameWithMask(sid), prToAccept[playerid]);
			SCM(playerid, COLOR_GREEN, msg);
			format(msg, sizeof(msg), "%s has accepted your %s for $%d.", GetNameWithMask(playerid), VehicleNames[GetVehicleModel(vToAccept[playerid])-400], prToAccept[playerid]);
			SCM(sid, COLOR_GREEN, msg);
			GiveCash(sid, prToAccept[playerid]);
			GiveCash(playerid, -prToAccept[playerid]);
			PlayerInfo[playerid][pCarKey] = vToAccept[playerid];
			PlayerInfo[sid][pCarKey] = 0;
			format(VehicleInfo[PlayerInfo[playerid][pCarKey]][carPlate], 128, "%s%d", FirstNameLetters(GetName(playerid)), randomEx(10000, 99999));
			format(VehicleInfo[PlayerInfo[playerid][pCarKey]][carOwner], 128, "%s", GetName(playerid));

			PlayerInfo[playerid][pVehicles]++;
			PlayerInfo[sid][pVehicles]--;
			format(query, sizeof(query), "UPDATE `users` SET `vehicles` = %d WHERE `name` = '%s'", PlayerInfo[playerid][pVehicles], GetName(playerid));
			mysql_function_query(dbHandle, query, false, "", "");
			format(query, sizeof(query), "UPDATE `users` SET `vehicles` = %d WHERE `name` = '%s'", PlayerInfo[sid][pVehicles], GetName(sid));
			mysql_function_query(dbHandle, query, false, "", "");

			format(query, sizeof(query), "UPDATE `ownedvehicles` SET `owner` = '%s', `plate` = '%s', `slot` = %d WHERE `owner` = '%s' AND `id` = %d",
			VehicleInfo[PlayerInfo[playerid][pCarKey]][carOwner], VehicleInfo[PlayerInfo[playerid][pCarKey]][carPlate], slot, GetName(sid), VehicleInfo[vToAccept[playerid]][carID]);
			mysql_function_query(dbHandle, query, false, "", "");
			PlayerInfo[playerid][pVehs][slot] = 1;

			new slot2 = PlayerInfo[pToAccept[playerid]][pVehSlot];
			PlayerInfo[sid][pVehs][slot2] = 0;
			ReAssignPlayerVehicles(sid);
			CheckOwnedVehicles(playerid);
			CheckOwnedVehicles(pToAccept[playerid]);
			pToAccept[playerid] = INVALID_PLAYER_ID; vToAccept[playerid] = INVALID_VEHICLE_ID; prToAccept[playerid] = 0;
 		}
		else
		{
			SCM(playerid, COLOR_LIGHTRED, "You do not have enough money for that.");
			SCM(pToAccept[playerid], COLOR_LIGHTRED, "You're vehicle cannot be sold because that player does not have enough money.");
			pToAccept[playerid] = INVALID_PLAYER_ID; vToAccept[playerid] = INVALID_VEHICLE_ID; prToAccept[playerid] = 0;
		}
		return 1;
	}
	if(!strcmp(option, "lights", true))
	{
		if(!IsDriver(playerid)) return NotInCarMSG(playerid);
		new vehicleid = GetPlayerVehicleID(playerid);
		new param[7];
		GetVehicleParamsEx(vehicleid,param[0],param[1],param[2],param[3],param[4],param[5],param[6]);
		if(param[1])
		{
			SetVehicleParamsEx(vehicleid,param[0],0,param[2],param[3],param[4],param[5],param[6]);
			ActionMessage(playerid, 15.0, "turns the lights in their vehicle off.");
			return 1;
		}
		else
		{
			SetVehicleParamsEx(vehicleid,param[0],1,param[2],param[3],param[4],param[5],param[6]);
			ActionMessage(playerid, 15.0, "turns the lights in their vehicle on.");
			return 1;
		}
	}
	if(!strcmp(option, "buygps", true))
	{
		new vehicle = GetPlayerVehicleID(playerid);
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, vehicle)) return SCM(playerid, -1, "You don't own this vehicle.");
		new dealerid = GetClosestDealerShip(playerid);
		if(dealerid == -1) return SCM(playerid, COLOR_FADE2, "Not near any car dealerships.");
		if(VehicleInfo[vehicle][carGps] == 1) return SCM(playerid, COLOR_LIGHTRED, "Your vehicle has a GPS already.");
		if(GetCash(playerid) < 3500) return SCM(playerid, COLOR_INFO, "GPS costs $3,500.");
		SCM(playerid, COLOR_INFO, "You have succefully bought a GPS for $3,500.");
		GiveCash(playerid, -3500);
		VehicleInfo[vehicle][carGps] = 1;
		format(query, sizeof(query), "UPDATE `ownedvehicles` SET `gps` = %d WHERE `owner` = '%s' AND `slot` = %d", 1, GetName(playerid), PlayerInfo[playerid][pVehSlot]);
		mysql_function_query(dbHandle, query, false, "", "");
		UpdateVehicleStatus(playerid, vehicle);
		return 1;
	}
	if(!strcmp(option, "buyinsurance", true))
	{
		new vehicle = GetPlayerVehicleID(playerid);
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, vehicle)) return SCM(playerid, -1, "You don't own this vehicle.");
		new dealerid = GetClosestDealerShip(playerid);
		if(dealerid == -1) return SCM(playerid, COLOR_FADE2, "Not near any car dealerships.");
		if(VehicleInfo[vehicle][carInsurances] >= 5) return SCM(playerid, COLOR_INFO, "You already have 5 insurances on this vehicle.");
		new price = GetInsurancePrice(vehicle);
		if(GetCash(playerid) < price) NoCashMSG(playerid);
		GiveCash(playerid, -price);
		VehicleInfo[vehicle][carInsurances] += 1;
		format(msg, sizeof(msg), "You have succefully bought an insurance for $%d.", price);
		SCM(playerid, COLOR_GREEN, msg);
		format(query, sizeof(query), "UPDATE `ownedvehicles` SET `insurances` = %d WHERE `owner` = '%s' AND `slot` = %d", VehicleInfo[vehicle][carInsurances], GetName(playerid), PlayerInfo[playerid][pVehSlot]);
		mysql_function_query(dbHandle, query, false, "", "");
		UpdateVehicleStatus(playerid, vehicle);
		return 1;
	}
	if(!strcmp(option, "colour", true))
	{
		new vehicle = GetPlayerVehicleID(playerid);
		new color1, color2;
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, vehicle)) return SCM(playerid, -1, "You don't own this vehicle.");
		new dealerid = GetClosestDealerShip(playerid);
		if(dealerid == -1) return SCM(playerid, COLOR_FADE2, "Not near any car dealerships.");
		if(sscanf(params, "{s[64]}dd", color1, color2)) return SyntaxMSG(playerid, "/v colour [color 1] [color 2]");
		if(color2 < 0 || color2 > 126 || color1 < 0 || color1 > 126) return SCM(playerid, COLOR_LIGHTRED, "Invalid color ID, (0-126)!");
		if(GetCash(playerid) < 500) SCM(playerid, COLOR_INFO, "Color changing costs $500.");
		VehColor1{playerid} = color1;
		VehColor2{playerid} = color2;
		Painting{playerid} = 12;
		return 1;
	}
	if(!strcmp(option, "lock", true))
	{
		if(PlayerNearVehicle(3.0, playerid, PlayerInfo[playerid][pCarKey]))
		{
			if(vLocked{PlayerInfo[playerid][pCarKey]})
			{
				PlaySound(playerid, 1145);
				ToggleVehicleLock(PlayerInfo[playerid][pCarKey], false);
				ToggleVehicleLockForPlayer(playerid, PlayerInfo[playerid][pCarKey], false);
				format(msg, sizeof(msg), "~b~%s ~n~~g~Unlocked", VehicleNames[GetVehicleModel(PlayerInfo[playerid][pCarKey])-400]);
				GameTextForPlayer(playerid, msg, 2000, 4);
				return 1;
			}
			else
			{
				PlaySound(playerid, 1145);
				ToggleVehicleLock(PlayerInfo[playerid][pCarKey], true);
				ToggleVehicleLockForPlayer(playerid, PlayerInfo[playerid][pCarKey], true);
				format(msg, sizeof(msg), "~b~%s ~n~~r~Locked", VehicleNames[GetVehicleModel(PlayerInfo[playerid][pCarKey])-400]);
				GameTextForPlayer(playerid, msg, 2000, 4);
				return 1;
			}
		}
		return 1;
	}
	if(!strcmp(option, "find", true))
	{
		if(!IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!VehicleEmpty(PlayerInfo[playerid][pCarKey])) return SCM(playerid, COLOR_GREY, "Somebody is inside your vehicle, cannot find it then.");
		if(VehicleInfo[PlayerInfo[playerid][pCarKey]][carGps] == 0) return SCM(playerid, COLOR_GREY, "Your car does not have a GPS installed.");
		new Float:x, Float:y, Float:z;
		GetVehiclePos(PlayerInfo[playerid][pCarKey], x, y, z);
		new vZone[MAX_ZONE_NAME];
		GetVehicleZone(PlayerInfo[playerid][pCarKey], vZone, MAX_ZONE_NAME);
		format(msg, sizeof(msg), "[GPS] Your %s is located in %s.", VehicleNames[GetVehicleModel(PlayerInfo[playerid][pCarKey])-400], vZone);
		SCM(playerid, COLOR_WHITE, msg);
		SetCheckPoint(playerid, FINEVEH, x, y, z, 6.0);
		return 1;
	}
	if(!strcmp(option, "info", true))
	{
		new veh = PlayerInfo[playerid][pCarKey];
		if(!IsVehicleSpawned(veh)) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, GetPlayerVehicleID(playerid))) return SCM(playerid, -1, "You don't own this vehicle.");
		format(msg, sizeof(msg), "%s, Alarm[%d], Lock[%d], Immobilizer[%d], GPS[%d], Insurances[%d], Times destroyed[%d], Insurance price[$%d]", VehicleNames[GetVehicleModel(veh)-400],
		VehicleInfo[veh][carAlarm], VehicleInfo[veh][carLock], VehicleInfo[veh][carImmob], VehicleInfo[veh][carGps], VehicleInfo[veh][carInsurances], VehicleInfo[veh][carDestroyed],
		GetInsurancePrice(veh));
		SCM(playerid, COLOR_LIGHTGREEN, msg);
		return 1;
	}
	if(!strcmp(option, "scrap", true))
	{
		new veh = PlayerInfo[playerid][pCarKey];
		new slot = PlayerInfo[playerid][pVehSlot];
		if(!IsVehicleSpawned(veh)) return ErrorMsg(playerid, "You don't have a spawned vehicle.");
		if(!PlayerInCar(playerid)) return NotInCarMSG(playerid);
		if(!PlayerOwnVehicle(playerid, GetPlayerVehicleID(playerid))) return SCM(playerid, -1, "You don't own this vehicle.");
		VehicleInfo[veh][carOwnerSlot] = 0;
		VehicleInfo[veh][carOwned] = 0;
		PlayerInfo[playerid][pCarKey] = 0;
		PlayerInfo[playerid][pVehicles]--;
		StopCarBoomBox(veh);
		format(msg, sizeof(msg), "You have scrapped your {FFFF00}%s{FFFFFF}, and got ${FFFF00}%d{FFFFFF} from it.", VehicleNames[VehicleInfo[veh][carModel]-400], GetVehiclePrice(VehicleInfo[veh][carModel])/2);
		ServerMSG(playerid, msg);
		GiveCash(playerid,  GetVehiclePrice(VehicleInfo[veh][carModel])/2);
		DestoryCar(veh);
		format(query, sizeof(query), "DELETE FROM `ownedvehicles` WHERE `owner` = '%s' AND `slot` = %d", GetName(playerid), PlayerInfo[playerid][pVehSlot]);
		mysql_function_query(dbHandle, query, false, "", "");
		format(query, sizeof(query), "UPDATE `users` SET `vehicles` = %d WHERE `name` = '%s'", PlayerInfo[playerid][pVehicles], GetName(playerid));
		mysql_function_query(dbHandle, query, false, "", "");
		PlayerInfo[playerid][pVehs][slot] = 0;
		ReAssignPlayerVehicles(playerid);
		PlayerInfo[playerid][pVehSlot] = 0;
		CheckOwnedVehicles(playerid);
		return 1;
	}
	return 1;
}
Reply
#4

-double post-
Reply
#5

Whats seems to be the problem?
Reply
#6

If a player is no in LSPD it says You do not have permission for this faction vehicle when they try to get in it.
Reply
#7

bump
Reply
#8

Quote:
Originally Posted by N0FeaR
Посмотреть сообщение
Whats seems to be the problem?
he explained before...
Reply
#9

Код:
if(VehicleInfo[vehicleid][carFaction] != PlayerInfo[playerid][pFaction])
Um, so if the player's faction ID is not the same as the car's faction ID, it will send that error message.

I am not so sure if that's what you want or not because if that's NOT what you want, then you gotta remove the code above.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)