Southclaw

GetClosestDynamicObject

Apr 13th, 2013
304
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 0.79 KB | None | 0 0
  1. PrintClosestObjectModel(playerid)
  2. {
  3.     new objectid = GetClosestDynamicObject(playerid);
  4.  
  5.     printf("Closest object model to player %d: %d", playerid, Streamer_GetIntData(STREAMER_TYPE_OBJECT, objectid, E_STREAMER_MODEL_ID));
  6. }
  7.  
  8. stock GetClosestDynamicObject(playerid)
  9. {
  10.     new
  11.         Float:px,
  12.         Float:py,
  13.         Float:pz,
  14.         Float:ox,
  15.         Float:oy,
  16.         Float:oz,
  17.         Float:dist,
  18.         Float:check = 99999.9,
  19.         result;
  20.  
  21.     GetPlayerPos(playerid, px, py, pz);
  22.  
  23.     for(new i; i < Streamer_GetUpperBound(STREAMER_TYPE_OBJECT); i++)
  24.     {
  25.         GetDynamicObjectPos(i, ox, oy, oz);
  26.  
  27.         dist = floatsqroot(floatpower(floatabs(floatsub(px, ox)), 2) + floatpower(floatabs(floatsub(py, oy)), 2) + floatpower(floatabs(floatsub(pz, oz)), 2));
  28.  
  29.         if(dist < check)
  30.         {
  31.             check = dist;
  32.             result = i;
  33.         }
  34.     }
  35.  
  36.     return result;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment