15.04.2012, 23:18
Para la Primera duda, Puedes usar el Proxdetector. Yo lo uso para Hacer esto.
u como dice JunkBuster, Puedes hacer una funciуn usando GetPlayerPos y GetVehiclePos. Aquн te la hise:
u como dice JunkBuster, Puedes hacer una funciуn usando GetPlayerPos y GetVehiclePos. Aquн te la hise:
Код:
stock CercadelAuto(playerid, vehicleid)
{
static Float:x[3], Float:xN[3], Float:Distancia;
GetPlayerPos(playerid, x[0], x[1], x[2]);
GetVehiclePos(vehicleid, xN[0], xN[1], xN[2]);
if(xN[2]-x[2]>15.0 || x[2]-xN[2]>15.0)return 0;
Distancia = floatsqroot(floatpower((x[0]-xN[0]), 2)+floatpower((x[1]-xN[1]), 2)+floatpower((x[2]-xN[2]), 2));
if(Distancia>100.0)return 0;
static Float:xZ[3], Float:rX[3], Float:T[3], Float:nY;
GetPlayerCameraPos(playerid, rX[0], rX[1], rX[2]);
GetPlayerCameraFrontVector(playerid, xZ[0], xZ[1], xZ[2]);
T[0] = xZ[0]*Distancia+rX[0];
T[1] = xZ[1]*Distancia+rX[1];
T[2] = xZ[2]*Distancia+rX[2];
if(xN[2]-T[2]>10.5 || T[2]-xN[2]>10.5)return 0;
if(Distancia<7.0)return 1;
nY=atan2((x[1]-T[1]), (x[0]-T[0]));
if(nY-42.0<(atan2((x[1]-xN[1]), (x[0]-xN[0])))<nY+42.0)return 1;
return 0;
}

