I'm making a command to respawn the closest vehicle, But it does nothing. This is what I've got.
pawn Код:
dcmd_respawn(playerid,params[])
{
#pragma unused params
if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGM] >= 2)
{
//new vehid = GetPlayerVehicleID(playerid);
new vehid = GetClosestVehicle(playerid);
SetVehicleToRespawn(vehid);
}
return 1;
}
pawn Код:
stock Float:GetPlayerDistanceToPoint(playerid, {Float,_}:...)
{
new num = numargs(), Float:pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
if(num == 3) return floatsqroot(floatpower(floatabs(floatsub(pos[0], Float:getarg(1))), 2) + floatpower(floatabs(floatsub(pos[1], Float:getarg(2))), 2));
else if(num == 4) return floatsqroot(floatpower(floatabs(floatsub(pos[0], Float:getarg(1))), 2) + floatpower(floatabs(floatsub(pos[1], Float:getarg(2))), 2) + floatpower(floatabs(floatsub(pos[2], Float:getarg(3))), 2));
return -1.0;
}
stock Float:GetPlayerDistanceToVehicle(playerid, vehicleid)
{
new Float:pos[3];
GetVehiclePos(vehicleid, pos[0], pos[1], pos[2]);
return GetPlayerDistanceToPoint(playerid, pos[0], pos[1], pos[2]);
}
stock GetClosestVehicle(playerid)
{
new vehicle = -1, Float:dis = 2000.0;
for(new i = 0; i < MAX_VEHICLES; i++)
{
new Float:dis2 = GetPlayerDistanceToVehicle(playerid, i);
if(dis2 > dis)
{
dis = dis2;
vehicle = i;
}
}
return vehicle;
}