18.08.2015, 21:33
Hola, me preguntaba si alguien sabe como hacer para que detecte si un jugador esta cerca del maletero del vehнculo.
Tengo esto para saber si un jugador estб cerca de un vehнculo, pero no sй que deberнa cambiar para que detecte si esta cerca del maletero.
Tengo esto para saber si un jugador estб cerca de un vehнculo, pero no sй que deberнa cambiar para que detecte si esta cerca del maletero.
pawn Код:
CMD:maletero(playerid, params[])
{
new counter, result, engine, lights, alarm, doors, bonnet, boot, objective;
for(new xx=1, xxx=GetVehiclePoolSize(); xx<=xxx; xx++)
{
new dist = CheckPlayerDistanceToVehicle(3.0, playerid, xx);
if(dist)
{
result = xx;
counter++;
}
}
if(counter == 0) return SendClientMessage(playerid, -1, "No estas cerca de un vehнculo!");
if(counter > 1) return SendClientMessage(playerid, -1, "Se detecto mбs de un vehнculo cerca.");
GetVehicleParamsEx(result, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(result, engine, lights, alarm, doors, bonnet, true, objective);
return 1;
}
pawn Код:
stock CheckPlayerDistanceToVehicle(Float:radi, playerid, vehicleid)
{
if(IsPlayerConnected(playerid))
{
new Float:PX, Float:PY, Float:PZ, Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, PX, PY, PZ);
GetVehiclePos(vehicleid, X, Y, Z);
new Float:Distance = (X-PX)*(X-PX)+(Y-PY)*(Y-PY)+(Z-PZ)*(Z-PZ);
if(Distance <= radi*radi)
{
return 1;
}
}
return 0;
}