Код:
CMD:vcreate(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be admin to use this command!");
new
Float:Pos[4],
ivModel,
ivPrice,
ivColors[2],
Query[256],
iMsg[148];
if(sscanf(params, "iiii", ivModel, ivPrice, ivColors[0], ivColors[1])) return SendClientMessage(playerid, -1, ""#CRED"Usage: "#CORANGE"/VCreate < Vehicle Model > < Price > < Color 1 > < Color 2 >");
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);
++ Total_Veh_Created;
vInfo[Total_Veh_Created][vModel] = ivModel;
vInfo[Total_Veh_Created][vColor1] = ivColors[0];
vInfo[Total_Veh_Created][vColor2] = ivColors[1];
vInfo[Total_Veh_Created][vPrice] = ivPrice;
vInfo[Total_Veh_Created][vPosX] = Pos[0];
vInfo[Total_Veh_Created][vPosY] = Pos[1];
vInfo[Total_Veh_Created][vPosZ] = Pos[2];
vInfo[Total_Veh_Created][vPosA] = Pos[3];
strmid(vInfo[Total_Veh_Created][vOwner], "Unbought", 0, 20, 20);
strmid(vInfo[Total_Veh_Created][vPlate], "ChangeME", 0, 32, 32);
vInfo[Total_Veh_Created][vPaintJ] = 0;
vInfo[Total_Veh_Created][vLocked] = 1;
for(new i = 0; i < MAX_VEH_MODS; ++i) vMods[Total_Veh_Created][i] = 0;
format(Query, sizeof(Query), "INSERT INTO `privateveh` (`vID`, `vModel`, `vColor1`, `vColor2`, `vPrice`, `vOwner`, `vPosX`, `vPosY`, `vPosZ`, `vPosA`, `vPlate`, `vPaintJ`) VALUES (%d, %d, %d, %d, %d, 'Unbought', %f, %f, %f, %f, 'ChangeME', 0)",
Total_Veh_Created,
ivModel,
ivColors[0],
ivColors[1],
ivPrice,
Pos[0],
Pos[1],
Pos[2],
Pos[3]);
mysql_query(Query);
new
cCar = CreateVehicle(ivModel, Pos[0], Pos[1], Pos[2], Pos[3], ivColors[0], ivColors[1], 500000);
SetVehicleNumberPlate(cCar, "ChangeME");
OwnedVeh(cCar) = Total_Veh_Created;
SavePrivVeh(Total_Veh_Created);
format(iMsg, sizeof(iMsg), ""#CYELLOW"Vehicle: "#CBLUE"%i (VID: %i) "#CYELLOW"has been created. Price: "#CBLUE"$%i "#CYELLOW"Plate: "#CBLUE"ChangeME", ivModel, Total_Veh_Created, ivPrice);
SendClientMessage(playerid, -1, iMsg);
return 1;
}
CMD:removeveh(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be in a vehicle to use this command!");
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be admin to use this command!");
new
ivID = GetPlayerVehicleID(playerid);
if(OwnedVeh(ivID) != 0)
{
new
Query[80];
format(Query, sizeof(Query), "DELETE FROM `privateveh` WHERE `vID` = %i LIMIT 1", OwnedVeh(ivID));
mysql_query(Query);
vInfo[OwnedVeh(ivID)][vModel] = 0;
vInfo[OwnedVeh(ivID)][vPosX] = 0.0;
vInfo[OwnedVeh(ivID)][vPosY] = 0.0;
vInfo[OwnedVeh(ivID)][vPosZ] = 0.0;
vInfo[OwnedVeh(ivID)][vPosA] = 0.0;
vInfo[OwnedVeh(ivID)][vColor1] = 0;
vInfo[OwnedVeh(ivID)][vColor2] = 0;
vInfo[OwnedVeh(ivID)][vPrice] = 0;
strmid(vInfo[OwnedVeh(ivID)][vOwner], " ", 0, 5, 5);
strmid(vInfo[OwnedVeh(ivID)][vPlate], " ", 0, 5, 5);
vInfo[OwnedVeh(ivID)][vPaintJ] = 0;
vInfo[OwnedVeh(ivID)][vLocked] = 0;
DestroyVehicle(ivID);
OwnedVeh(OwnedVeh(ivID)) = 0;
-- Total_Veh_Created;
TogglePlayerControllable(playerid, true);
SendClientMessage(playerid, COLOR_GREY, "This vehicle has been removed!");
return 1;
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle is not ownable!");
}
#else
CMD:vcreate(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be admin to use this command!");
new
Float:Pos[4],
ivModel,
ivPrice,
ivColors[2],
iMsg[148];
if(sscanf(params, "iiii", ivModel, ivPrice, ivColors[0], ivColors[1])) return SendClientMessage(playerid, -1, ""#CRED"Usage: "#CORANGE"/VCreate < Vehicle Model > < Price > < Color 1 > < Color 2 >");
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);
++ Total_Veh_Created;
vInfo[Total_Veh_Created][vModel] = ivModel;
vInfo[Total_Veh_Created][vColor1] = ivColors[0];
vInfo[Total_Veh_Created][vColor2] = ivColors[1];
vInfo[Total_Veh_Created][vPrice] = ivPrice;
vInfo[Total_Veh_Created][vPosX] = Pos[0];
vInfo[Total_Veh_Created][vPosY] = Pos[1];
vInfo[Total_Veh_Created][vPosZ] = Pos[2];
vInfo[Total_Veh_Created][vPosA] = Pos[3];
strmid(vInfo[Total_Veh_Created][vOwner], "Unbought", 0, 20, 20);
strmid(vInfo[Total_Veh_Created][vPlate], "ChangeME", 0, 32, 32);
vInfo[Total_Veh_Created][vPaintJ] = 0;
vInfo[Total_Veh_Created][vLocked] = 1;
new
vFile[15];
format(vFile, sizeof(vFile), "%d.ini", Total_Veh_Created);
INI_Open(vFile);
INI_WriteInt("Model", vModel);
INI_WriteInt("Color1", ivColors[0]);
INI_WriteInt("Color2", ivColors[1]);
INI_WriteInt("Price", ivPrice);
INI_WriteString("Owner", "Unbought");
INI_WriteFloat("vPosX", Pos[0]);
INI_WriteFloat("vPosY", Pos[1]);
INI_WriteFloat("vPosZ", Pos[2]);
INI_WriteFloat("vPosA", Pos[3]);
INI_WriteString("Plate", "ChangeME");
INI_WriteInt("PaintJ", 0);
INI_Save();
INI_Close();
new
cCar = CreateVehicle(ivModel, Pos[0], Pos[1], Pos[2], Pos[3], ivColors[0], ivColors[1], 500000);
SetVehicleNumberPlate(cCar, "ChangeME");
OwnedVeh(cCar) = Total_Veh_Created;
SavePrivVeh(Total_Veh_Created);
format(iMsg, sizeof(iMsg), ""#CYELLOW"Vehicle: "#CBLUE"%i (VID: %i) "#CYELLOW"has been created. Price: "#CBLUE"$%i "#CYELLOW"Plate: "#CBLUE"ChangeME", ivModel, Total_Veh_Created, ivPrice);
SendClientMessage(playerid, -1, iMsg);
return 1;
}
CMD:removeveh(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be in a vehicle to use this command!");
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be admin to use this command!");
new
ivID = GetPlayerVehicleID(playerid);
if(OwnedVeh(ivID) != 0)
{
new
vFile[12];
format(vFile, sizeof(vFile), "%d.ini", OwnedVeh(ivID));
INI_Remove(vFile);
vInfo[OwnedVeh(ivID)][vModel] = 0;
vInfo[OwnedVeh(ivID)][vPosX] = 0.0;
vInfo[OwnedVeh(ivID)][vPosY] = 0.0;
vInfo[OwnedVeh(ivID)][vPosZ] = 0.0;
vInfo[OwnedVeh(ivID)][vPosA] = 0.0;
vInfo[OwnedVeh(ivID)][vColor1] = 0;
vInfo[OwnedVeh(ivID)][vColor2] = 0;
vInfo[OwnedVeh(ivID)][vPrice] = 0;
strmid(vInfo[OwnedVeh(ivID)][vOwner], " ", 0, 5, 5);
strmid(vInfo[OwnedVeh(ivID)][vPlate], " ", 0, 5, 5);
vInfo[OwnedVeh(ivID)][vPaintJ] = 0;
vInfo[OwnedVeh(ivID)][vLocked] = 1;
DestroyVehicle(ivID);
OwnedVeh(OwnedVeh(ivID)) = 0;
-- Total_Veh_Created;
TogglePlayerControllable(playerid, true);
SendClientMessage(playerid, COLOR_GREY, "This vehicle has been removed!");
return 1;
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle is not ownable!");
}
#endif
CMD:buyveh(playerid, params[])
{
for(new i = 0; i < MAX_BUYABLE_VEH; ++i)
{
if(strmatch(vInfo[i][vOwner], pName(playerid)))
{
Total_Player_Vehicles[playerid] = Total_Player_Vehicles[playerid] + 1;
}
}
if(Total_Player_Vehicles[playerid] >= MAX_OWNABLE_VEH) return SendClientMessage(playerid, -1, ""#CRED"You've reached the limit of "#CBLUE""#MAX_OWNABLE_VEH" "#CRED"ownable vehicles!!");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You need to be in a buyable vehicle to purchase it!");
new
ivID = GetPlayerVehicleID(playerid);
if(OwnedVeh(ivID) != 0)
{
if(strmatch(vInfo[OwnedVeh(ivID)][vOwner], pName(playerid)))
{
SendClientMessage(playerid, COLOR_RED, "This vehicle already has an owner!");
return 1;
}
if(strmatch(vInfo[OwnedVeh(ivID)][vOwner], "Unbought"))
{
if(vInfo[OwnedVeh(ivID)][vPrice] < GetPlayerMoney(playerid))
{
strmid(vInfo[OwnedVeh(ivID)][vOwner], pName(playerid), 0, 128, 128);
new
Float:vPos[4];
GetVehiclePos(ivID, vPos[0], vPos[1], vPos[2]);
GetVehicleZAngle(ivID, vPos[3]);
strmid(vInfo[OwnedVeh(ivID)][vPlate], pName(playerid), 0, 32, 32);
vInfo[OwnedVeh(ivID)][vLocked] = 1;
SetVehicleNumberPlate(ivID, pName(playerid));
SetVehicleToRespawn(ivID);
SetVehiclePos(ivID, vPos[0], vPos[1], vPos[2]);
SetVehicleZAngle(ivID, vPos[3]);
PutPlayerInVehicle(playerid, ivID, 0);
GivePlayerMoney(playerid, - vInfo[OwnedVeh(ivID)][vPrice]);
SendClientMessage(playerid, -1, ""#CYELLOW"Have fun with your private vehicle!");
SendClientMessage(playerid, -1, ""#CBLUE"Your vehicle is "#CDGREEN"locked.");
TogglePlayerControllable(playerid, true);
SavePrivVeh(OwnedVeh(ivID));
printf("=- Vehicle id: %i has been bought by: %s -=", OwnedVeh(ivID), pName(playerid));
return 1;
}
else return SendClientMessage(playerid, COLOR_RED, "You don't have enough cash to purchase this vehicle!");
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle is not for sale!");
}
else return SendClientMessage(playerid, COLOR_RED, "This is not a buyable vehicle!");
}
CMD:sellveh(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be in a vehicle to use this command!");
new
ivID = GetPlayerVehicleID(playerid),
Float:Pos[4];
GetVehiclePos(ivID, Pos[0], Pos[1], Pos[2]);
GetVehicleZAngle(ivID, Pos[3]);
if(OwnedVeh(ivID) != 0)
{
if(strmatch(vInfo[OwnedVeh(ivID)][vOwner], pName(playerid)))
{
vInfo[OwnedVeh(ivID)][vPosX] = Pos[0];
vInfo[OwnedVeh(ivID)][vPosY] = Pos[1];
vInfo[OwnedVeh(ivID)][vPosZ] = Pos[2];
vInfo[OwnedVeh(ivID)][vPosA] = Pos[3];
vInfo[OwnedVeh(ivID)][vPrice] = vInfo[OwnedVeh(ivID)][vPrice];
strmid(vInfo[OwnedVeh(ivID)][vOwner], "Unbought", 0, 20, 20);
strmid(vInfo[OwnedVeh(ivID)][vPlate], "ChangeME", 0, 32, 32);
vInfo[OwnedVeh(ivID)][vLocked] = 1;
GivePlayerMoney(playerid, vInfo[OwnedVeh(ivID)][vPrice] - 10000);
SendClientMessage(playerid, COLOR_GREY, "You've sold this vehicle and the money has been given back!");
SetVehicleNumberPlate(ivID, "ChangeME");
SetVehicleToRespawn(ivID);
SetVehiclePos(ivID, Pos[0], Pos[1], Pos[2]);
SetVehicleZAngle(ivID, Pos[3]);
SavePrivVeh(OwnedVeh(ivID));
printf("=- Vehicle id: %i has been sold by: %s -=", OwnedVeh(ivID), pName(playerid));
return 1;
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle does not belong to you!");
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle is not ownable!");
}
CMD:park(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be in a vehicle to use this command!");
new
ivID = GetPlayerVehicleID(playerid),
Float:Pos[4];
if(OwnedVeh(ivID) != 0)
{
if(strmatch(vInfo[OwnedVeh(ivID)][vOwner], pName(playerid)))
{
GetVehiclePos(ivID, Pos[0], Pos[1], Pos[2]);
GetVehicleZAngle(ivID, Pos[3]);
vInfo[OwnedVeh(ivID)][vPosX] = Pos[0];
vInfo[OwnedVeh(ivID)][vPosY] = Pos[1];
vInfo[OwnedVeh(ivID)][vPosZ] = Pos[2];
vInfo[OwnedVeh(ivID)][vPosA] = Pos[3];
SendClientMessage(playerid, COLOR_GREY, "This vehicle has been parked here. This will also be the spawn point!");
SavePrivVeh(OwnedVeh(ivID));
printf("=- Vehicle id: %i has been parked by: %s at: x: %.2f .. y: %.2f .. z: %.2f .. a: %.2f -=", OwnedVeh(ivID), pName(playerid), Pos[0], Pos[1], Pos[2], Pos[3]);
return 1;
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle does not belong to you!");
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle is not ownable!");
}
CMD:removemods(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be in a vehicle to use this command!");
new
ivID = GetPlayerVehicleID(playerid);
if(OwnedVeh(ivID) != 0)
{
if(strmatch(vInfo[OwnedVeh(ivID)][vOwner], pName(playerid)))
{
for(new i = 0; i < MAX_VEH_MODS; ++i) vMods[OwnedVeh(ivID)][i] = 0;
SendClientMessage(playerid, COLOR_GREY, "All mods on this vehicle have been successfully removed!");
SavePrivVeh(OwnedVeh(ivID));
printf("=- Vehicle id: %i has had all its mods removed -=", OwnedVeh(ivID));
return 1;
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle does not belong to you!");
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle is not ownable!");
}
CMD:plate(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be in a vehicle to use this command!");
new
ivID = GetPlayerVehicleID(playerid),
iMsg[120];
if(isnull(params)) return SendClientMessage(playerid, -1, ""#CRED"Usage: "#CORANGE"/Plate < Plate Number / Name >");
if(strlen(params) < 0 || strlen(params) > 32) return SendClientMessage(playerid, COLOR_RED, "The plate number / name must be between 0 - 32 characters!");
if(OwnedVeh(ivID) != 0)
{
if(strmatch(vInfo[OwnedVeh(ivID)][vOwner], pName(playerid)))
{
new
Float:vPos[4];
GetVehiclePos(ivID, vPos[0], vPos[1], vPos[2]);
GetVehicleZAngle(ivID, vPos[3]);
strmid(vInfo[OwnedVeh(ivID)][vPlate], params, 0, 32, 32);
SetVehicleNumberPlate(ivID, params);
SetVehicleToRespawn(ivID);
SetVehiclePos(ivID, vPos[0], vPos[1], vPos[2]);
SetVehicleZAngle(ivID, vPos[3]);
PutPlayerInVehicle(playerid, ivID, 0);
format(iMsg, sizeof(iMsg), ""#CBLUE"You've set your vehicle's plate number to: "#CDGREEN"%s", params);
SendClientMessage(playerid, -1, iMsg);
SavePrivVeh(ivID);
return 1;
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle does not belong to you!");
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle is not ownable!");
}
CMD:lock(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be in a vehicle to use this command!");
new
ivID = GetPlayerVehicleID(playerid);
if(OwnedVeh(ivID) != 0)
{
if(strmatch(vInfo[OwnedVeh(ivID)][vOwner], pName(playerid)))
{
vInfo[OwnedVeh(ivID)][vLocked] = 1;
SendClientMessage(playerid, -1, ""#CBLUE"You've successfully "#CDGREEN"locked "#CBLUE"your vehicle!");
SavePrivVeh(OwnedVeh(ivID));
return 1;
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle does not belong to you!");
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle is not ownable!");
}
CMD:unlock(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be in a vehicle to use this command!");
new
ivID = GetPlayerVehicleID(playerid);
if(OwnedVeh(ivID) != 0)
{
if(strmatch(vInfo[OwnedVeh(ivID)][vOwner], pName(playerid)))
{
vInfo[OwnedVeh(ivID)][vLocked] = 0;
SendClientMessage(playerid, -1, ""#CBLUE"You've successfully "#CRED"unlocked "#CBLUE"your vehicle!");
SavePrivVeh(OwnedVeh(ivID));
return 1;
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle does not belong to you!");
}
else return SendClientMessage(playerid, COLOR_RED, "This vehicle is not ownable!");
}
CMD:vsetprice(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be admin to use this command!");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You need to be in a buyable vehicle to set a price!");
new
ivPrice = strval(params),
ivID = GetPlayerVehicleID(playerid),
iMsg[75];
if(isnull(params)) return SendClientMessage(playerid, -1, ""#CRED"Usage: "#CORANGE"/VSetPrice < Price >");
if(OwnedVeh(ivID) != 0)
{
vInfo[OwnedVeh(ivID)][vPrice] = ivPrice;
format(iMsg, sizeof(iMsg), ""#CDGREEN"The price for this vehicle has been set to: "#CBLUE"$%i", ivPrice);
SendClientMessage(playerid, -1, iMsg);
SavePrivVeh(OwnedVeh(ivID));
printf("=- Vehicle id: %i's price has been set to: $%i by: %s -=", OwnedVeh(ivID), ivPrice, pName(playerid));
return 1;
}
else return SendClientMessage(playerid, COLOR_RED, "This is not a buyable vehicle!");
}
CMD:vsetowner(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be admin to use this command!");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You need to be in a vehicle to set an owner!");
new
nvOwner,
iMsg[95],
Float:aPos[3],
ivID = GetPlayerVehicleID(playerid);
if(sscanf(params, "u", nvOwner)) return SendClientMessage(playerid, -1, ""#CRED"Usage: "#CORANGE"/vSetOwner < New Owner >");
if(!IsPlayerConnected(nvOwner)) return SendClientMessage(playerid, COLOR_RED, "That user is not online!");
if(OwnedVeh(ivID) != 0)
{
strmid(vInfo[OwnedVeh(ivID)][vOwner], pName(nvOwner), 0, 24, 24);
strmid(vInfo[OwnedVeh(ivID)][vPlate], pName(nvOwner), 0, 32, 32);
format(iMsg, sizeof(iMsg), ""#CDGREEN"You've made: "#CBLUE"%s(%d) "#CDGREEN"owner of this vehicle!", pName(nvOwner), nvOwner);
SendClientMessage(playerid, -1, iMsg);
GetPlayerPos(playerid, aPos[0], aPos[1], aPos[2]);
format(iMsg, sizeof(iMsg), ""#CDGREEN"Admin: "#CBLUE"%s(%d) "#CDGREEN"has made you owner of vehicle id: "#CBLUE"%i", pName(playerid), playerid, OwnedVeh(ivID));
SendClientMessage(nvOwner, -1, iMsg);
SetPlayerPos(nvOwner, aPos[0], aPos[1], aPos[2]);
SavePrivVeh(OwnedVeh(ivID));
return 1;
}
else return SendClientMessage(playerid, COLOR_RED, "This is not a buyable vehicle!");
}
CMD:vsetcolor(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be admin to use this command!");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You must be in a vehicle to change its color!");
new
vColors[2],
iMsg[65],
ivID = GetPlayerVehicleID(playerid);
if(sscanf(params, "ii", vColors[0], vColors[1])) return SendClientMessage(playerid, -1, ""#CRED"Usage: "#CORANGE"/vSetColor < Color1 > < Color2 >");
if(OwnedVeh(ivID) != 0)
{
ChangeVehicleColor(OwnedVeh(ivID), vColors[0], vColors[1]);
vInfo[OwnedVeh(ivID)][vColor1] = vColors[0];
vInfo[OwnedVeh(ivID)][vColor2] = vColors[1];
format(iMsg, sizeof(iMsg), ""#CDGREEN"You've set this vehicle's color to: "#CBLUE"%i - %i", vColors[0], vColors[1]);
SendClientMessage(playerid, -1, iMsg);
SavePrivVeh(OwnedVeh(ivID));
return 1;
}
else return SendClientMessage(playerid, COLOR_RED, "This is not a buyable vehicle!");
}
CMD:vexit(playerid, params[])
{
if(ivCreated[GetPlayerVehicleID(playerid)] != 0)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, true);
}
return 1;
}
You should stick with ZCMD as it's faster and better.