01.07.2011, 17:55
pawn Код:
stock IsVehicleInCheckpoint(vehicleid, checkpointid)
{
if(!IsValidDynamicCP(checkpointid)) return 0;
new Float:x, Float:y, Float:z, Float:cpx, Float:cpy, Float:cpz,Float:range;
if(!GetVehiclePos(vehicleid, x, y, z)) return 0;
Streamer_GetFloatData(STREAMER_TYPE_CP, checkpointid, E_STREAMER_X, cpx);
Streamer_GetFloatData(STREAMER_TYPE_CP, checkpointid, E_STREAMER_Y, cpy);
Streamer_GetFloatData(STREAMER_TYPE_CP, checkpointid, E_STREAMER_Z, cpz);
Streamer_GetFloatData(STREAMER_TYPE_CP, checkpointid, E_STREAMER_DISTANCE, range);
if(PointInRangeOfPoint(x, y, z, cpx, cpy, cpz, range)) return checkpointid;
return 0;
}
stock PointInRangeOfPoint(Float:x, Float:y, Float:z, Float:X, Float:Y, Float:Z, Float:range)
{
X -= x; Y -= y; Z -= z;
return ((X * X) + (Y * Y) + (Z * Z)) < (range * range);
}

