if(strcmp(cmd, "/trocarpneus", true) == 0)
{
if(IsPlayerConnected(playerid))
{
//new tmpcar = GetPlayerVehicleID(playerid);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Use: /trocarpneu [Nъmero da Placa]");
return 1;
}
new testcar = strval(tmp);
//GetVehiclePos(testcar);
new Float:cwx2,Float:cwy2,Float:cwz2;
GetVehiclePos(testcar, cwx2, cwy2, cwz2);
if(ProxDetectorS(8.0, playerid, testcar) && !IsPlayerInAnyVehicle(playerid) && PlayerInfo[playerid][pMechSkill] >= 51)
{
new panels, doors, lights, tires;
GetVehicleDamageStatus(testcar, panels, doors, lights, tires);
UpdateVehicleDamageStatus(testcar, panels, doors, lights, 15);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб perto do carro, nгo sabe trocar pneus ou estб dentro de um carro.");
return 1;
}
}
return 1;
}
.
.
|
Use IsPlayerInRangeOfPoint utilizando as coordenadas obtidas no GetVehiclePos
|
|
Alйm do que foi dito acima, faзa com que o quinto argumento do UpdateVehicleDamageStatus seja igual a 0 para que as rodas do veнculo indicado sejam reparadas .
Espero ter ajudado . |
stock IsPlayerNearVehicle(playerid, vehicleid, Float:distance)
{
static
Float:vPos[3];
GetVehiclePos(vehicleid, vPos[0], vPos[1], vPos[2]);
return IsPlayerInRangeOfPoint(playerid, distance, vPos[0], vPos[1], vPos[2]);
}
if(ProxDetectorS(8.0, playerid, testcar)
if(IsPlayerNearVehicle(playerid, testcar, 8.0))