stock CheckCar(playerid, vehicleid, Float:raio)
{
if(IsPlayerConnected(playerid))
{
new Float:x, Float:y, Float:z, Float:vx, Float:vy, Float:vz, Float:distancia;
GetVehiclePos(vehicleid, vx, vy, vz);
GetPlayerPos(playerid, x, y, z);
distancia = (vx-x) * (vx-x) + (vy-y) * (vy-y) + (vz-z) * (vz-z);
if(distancia <= raio*raio)
{
return 1;
}
}
return 0;
}
YCMD:setarcarro(playerid, params[], help)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][Admin] < 2)
return MSGPlayer(playerid, CINZA, "Vocк nгo tem permiзгo para usar esse comando!");
new idv, idvmax=0,string[60];
loop(i, MAX_VEHICLES)
{
new check = CheckCar(playerid, i, 5);
if(check)
{
idv = i;
++idvmax;
}
}
switch(idvmax)
{
case 0:
{
MSGPlayer(playerid, CINZA, "Nгo hб nenhum carro por perto.");
return 1;
}
case 1:
{
format(string, sizeof(string), "Vocк setou o carro %d", idv);
MSGPlayer(playerid, VERDE,string);
SetVehicleToRespawn(idv);
return 1;
}
default:
{
MSGPlayer(playerid, CINZA, "Hб mais de 1 carro nesse local.");
return 1;
}
}
}
return 1;
}
new Float:X, Float:Y, Float:Z, id = -1;
for(new i = 0; i < MAX_VEHICLES; i++)
{
GetVehiclePos(i, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))
{
//Funзгo para poder mudar a sua skin .
}else{
// Msg Erro : Vocк nгo pode alterar skin Proximo a um veнculo .
}
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
GetVehiclePos(i, X, Y, Z);
if(GetPlayerDistanceFromPoint(playerid, X, Y, Z) <= /*Coloca aqui o diametro exemplo: 7.0*/) return SendClientMessage(playerid, 0xFF0000FF, "Vocк nгo pode alterar skin Proximo a um veнculo");
}
Adapte esta funзгo ao seu comando (nгo testei mas penso que funciona):
pawn Код:
|