Код:
CMD:comprarvehiculo(playerid, params[]){
// Account Eating Bug Fix
if(!IsPlayerInAnyVehicle(playerid))
{
TogglePlayerControllable(playerid, 1);
SendClientMessageEx(playerid,COLOR_GRAD2,"Necesitas estar en el vehнculo que desea comprar.");
return 1;
}
new vehicleid = GetPlayerVehicleID(playerid);
new v = GetCarDealershipVehicleId(vehicleid);
new d = GetCarDealershipId(vehicleid);
{
if(carsforplayer[playerid] == 8) return SendClientMessageEx(playerid,COLOR_WHITE,"Sуlo puedes tener 4 vehнculos.");
if(CDSInfo[d][cdVehicleSpawn][0] == 0.0 && CDSInfo[d][cdVehicleSpawn][1] == 0.0 && CDSInfo[d][cdVehicleSpawn][2] == 0.0)
{
SendClientMessageEx(playerid, COLOR_GRAD1, "ERROR: El propietario de este Concesionario no ha configurado completamente los puntos de spawn de coches.");
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz+1.2);
TogglePlayerControllable(playerid, 1);
return 1;
}
new playervehicleid = GetPlayerFreeVehicleId(playerid);
new carsamount = VehicleCount(playerid);
if((Info[playerid][pVIP] == 0) && carsamount >= 2)
{
SendClientMessageEx(playerid, COLOR_GREY, "ERROR: No puedes tener mбs coches, usuarios normales sуlo pueden tener 2 coches.");
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz+1.2);
TogglePlayerControllable(playerid, 1);
return 1;
}
if(Info[playerid][pVIP] == 1 && carsamount >= 4)
{
SendClientMessageEx(playerid, COLOR_GREY, "ERROR: No puedes tener mбs coches, VIP1 Sуlo puede tener 4 coches.");
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz+1.2);
TogglePlayerControllable(playerid, 1);
return 1;
}
if(Info[playerid][pVIP] == 2 && carsamount >= 8)
{
SendClientMessageEx(playerid, COLOR_GREY, "ERROR: No puedes tener mбs coches, VIP2 Sуlo puede tener 8 coches.");
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz+1.2);
TogglePlayerControllable(playerid, 1);
return 1;
}
if(Info[playerid][pVIP] == 3 && carsamount >= 4)
{
SendClientMessageEx(playerid, COLOR_GREY, "ERROR: No puedes tener mбs coches, VIP1 Sуlo puede tener 4 coches.");
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz+1.2);
TogglePlayerControllable(playerid, 1);
return 1;
}
if(Info[playerid][pVIP] == 4 && carsamount >= 8)
{
SendClientMessageEx(playerid, COLOR_GREY, "ERROR: No puedes tener mбs coches, VIP2 Sуlo puede tener 8 coches.");
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz+1.2);
TogglePlayerControllable(playerid, 1);
return 1;
}
if(playervehicleid == -1)
{
SendClientMessageEx(playerid, COLOR_GREY, "ERROR: Este jugador no puede tener mбs coches.");
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz+1.2);
TogglePlayerControllable(playerid, 1);
return 1;
}
new randcolor1 = Random(0, 126);
new randcolor2 = Random(0, 126);
TogglePlayerControllable(playerid, 1);
new cost;
new string[127];
if(Info[playerid][pVIP] < 1)
{
cost = CDSInfo[d][cdVehicleCost][v];
if(GetPVarInt(playerid, "Cash") < CDSInfo[d][cdVehicleCost][v])
{
SendClientMessageEx(playerid, COLOR_GRAD1, "ERROR: No tienes dinero suficiente para comprar este coche.");
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz+1.2);
return 1;
}
format(string, sizeof(string), " Gracias por comprar en %s.", CDSInfo[d][cdMessage]);
SendClientMessageEx(playerid, COLOR_GRAD1, string);
SetPVarInt(playerid, "Cash", GetPVarInt(playerid, "Cash")-CDSInfo[d][cdVehicleCost][v]);
CDSInfo[d][cdTill] += ( CDSInfo[d][cdVehicleCost][v] * 40 ) / ( 100 );
}
else
{
cost = ( CDSInfo[d][cdVehicleCost][v] * 80 ) / ( 100 );
if(GetPVarInt(playerid, "Cash") < cost)
{
SendClientMessageEx(playerid, COLOR_GRAD1, "ERROR: No tienes dinero suficiente para comprar este coche.");
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz+1.2);
return 1;
}
format(string, sizeof(string), " Gracias por comprar en %s.", CDSInfo[d][cdMessage]);
SendClientMessageEx(playerid, COLOR_GRAD1, string);
SetPVarInt(playerid, "Cash", GetPVarInt(playerid, "Cash") - cost );
CDSInfo[d][cdTill] += cost;
}
new car = CreatePlayerVehicle(playerid, playervehicleid, CDSInfo[d][cdVehicleModel][v], CDSInfo[d][cdVehicleSpawn][0], CDSInfo[d][cdVehicleSpawn][1], CDSInfo[d][cdVehicleSpawn][2], CDSInfo[d][cdVehicleSpawn][3], randcolor1, randcolor2, cost);
SetPlayerPos(playerid, CDSInfo[d][cdVehicleSpawn][0], CDSInfo[d][cdVehicleSpawn][1], CDSInfo[d][cdVehicleSpawn][2]+2);
SetTimerEx("PutPlayerInVeh", 2000, 0, "dd", playerid, car);
SavecDealership(d);
return 1;
}
}