Ese comando es solo para los vehiculos que tienen la variable de venta, si lo usas con un vehiculo del pawno obviamente votara error ya que la funsion guarda el cambio del color via scriptfile.
|
else if(strcmp(x_nr,"color",true) == 0)
{
if(PlayerInfo[playerid][pPcarkey] == 999 && PlayerInfo[playerid][pPcarkey2] == 999 && PlayerInfo[playerid][pPcarkey3] == 999)
{
SendClientMessage(playerid, COLOR_GREY,"No tienes un coche para pintar!");
return 1;
}
if(GetPlayerMoney(playerid) < 99)
{
SendClientMessage(playerid, COLOR_GREY,"No Tienes Tanto Dinero Para Pintar Este Coche.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "Utiliza: /V Color [Color 1] [Color 2]");
return 1;
}
new color1;
color1 = strval(tmp);
if(color1 < 0 && color1 > 126)
{
SendClientMessage(playerid, COLOR_GREY, "Color Erronea. Utilize: Numero 0 ~ 126.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "Utiliza: /V Color [Color 1] [Color 2]");
return 1;
}
new color2;
color2 = strval(tmp);
if(color2 < 0 && color2 > 126)
{
SendClientMessage(playerid, COLOR_GREY, "Color Erronea. Utilize: Numero 0 ~ 126.");
return 1;
}
new vehid;
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { vehid = PlayerInfo[playerid][pPcarkey]; }
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { vehid = PlayerInfo[playerid][pPcarkey2]; }
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { vehid = PlayerInfo[playerid][pPcarkey3]; }
else { return 1; }
if(IsPlayerInVehicle(playerid, vehid))
{
CarInfo[vehid][cColorOne] = color1;
CarInfo[vehid][cColorTwo] = color2;
SafeGivePlayerMoney(playerid, -100);
GameTextForPlayer(playerid, "~w~Vehiculo Pintado Por~n~~r~-$100", 5000, 1);
ChangeVehicleColor(vehid, color1, color2);
OnPropUpdate();
OnPlayerUpdate(playerid);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY," Este Coche No Es Tuyo.");
return 1;
}
}
GetVehicleModelIDFromName(vname[])
{
for(new i = 0; i < 211; i++)
{
if(strfind(aVehicleNames[i], vname, true) != -1)
return i + 400;
}
return -1;
}
if(strcmp(cmd, "/v", true, 10) == 0)//Comando!
{
new String[200];
new tmp[256];
new Float:x, Float:y, Float:z;
new v[MAX_PLAYERS];
DestroyVehicle(v[playerid]);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, BLANCO, "Use /v [Nombre/Modelo]");
new vehicle = GetVehicleModelIDFromName(tmp);
if(vehicle < 400 || vehicle > 611) return SendClientMessage(playerid, COLOR_ROJO, "Nombre invalido.");
new Float:a;
GetPlayerFacingAngle(playerid, a);
GetPlayerPos(playerid, x, y, z);
DestroyVehicle(v[playerid]);
if(IsPlayerInAnyVehicle(playerid) == 1)
{
GetXYInFrontOfPlayer(playerid, x, y, 8);
}
else
{
GetXYInFrontOfPlayer(playerid, x, y, 5);
}
if(strcmp(cmd, "/v", true, 10) == 0)
DestroyVehicle(v[playerid]);
v[playerid] = CreateVehicle(vehicle, x, y, z, a, -1, -1, 60);
LinkVehicleToInterior(v[playerid], GetPlayerInterior(playerid));
PutPlayerInVehicle(playerid,v[playerid],0);
format(String, sizeof(String), "Toma tu %s", aVehicleNames[vehicle - 400]);
SendClientMessage(playerid, COLOR_VERDE, String);
return 1;
}
if(strcmp(cmd, "/veh", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] < 4)
{
SendClientMessage(playerid, COLOR_GRAD1, " No estas autorizado a usar ese comando!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USO: /veh [carid] [color1] [color2]");
return 1;
}
new car;
car = strval(tmp);
if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " El numero de vehiclo solo puede estar entre 400 y 611 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USO: /veh [carid] [color1] [color2]");
return 1;
}
new color1;
color1 = strval(tmp);
if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, " El numero de la pintura solo puede estar entre 0 y 126!"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USO: /veh [carid] [color1] [color2]");
return 1;
}
new color2;
color2 = strval(tmp);
if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, " El numero de la pintura solo puede estar entre 0 y 126"); return 1; }
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 600000);
CreatedCars[CreatedCar] = carid;
CreatedCar ++;
format(string, sizeof(string), " Vehiculo %d spawneado.", carid);
SendClientMessage(playerid, COLOR_GREY, string);
}
return 1;
}
stock GetXYInFrontOfPlayer(playerid, &Float:x2, &Float:y2, Float:distance)
{
new Float:a;
GetPlayerPos(playerid, x2, y2, a);
GetPlayerFacingAngle(playerid, a);
if(GetPlayerVehicleID(playerid))
{
GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
}
x2 += (distance * floatsin(-a, degrees));
y2 += (distance * floatcos(-a, degrees));
}