milanosie

MilFuncs

Jul 31st, 2012
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.60 KB | None | 0 0
  1. /*
  2. Version: 0.1
  3. Author: Milanosie
  4. Last Updated: 31-07-2012
  5. Copyright: Milanosie
  6. */
  7.  
  8.  
  9.  
  10. #include <a_samp>
  11.  
  12.  
  13. /*=========================Defines=========================*/
  14.  
  15. #define kmh 1
  16. #define mph 2
  17.  
  18. #define far 0xF5D5E2FF
  19. #define medium 0xF2B6CEFF
  20. #define close 0xF57FAEFF
  21.  
  22. #define Model_Plane 1
  23. #define Model_Heli 2
  24. #define Model_Boat 3
  25. #define Model_Car 4
  26. #define Model_Bike 5
  27. #define Model_Bicycle 6
  28. #define Model_Unique 7
  29.  
  30. /*=========================Forwards=========================*/
  31.  
  32. forward GetVehicleSpeed(vehicleid, unit);
  33. forward GetClosestVehicleFromPoint(Float:x, Float:y, Float:z);
  34. forward GetClosestVehicleFromPlayer(playerid);
  35. forward GetClosestPlayerFromPlayer(playerid);
  36. forward GetClosestPlayerFromPoint(Float:x, Float:y, Float:z);
  37. forward LocalChat(playerid, Float:range, text[]);
  38. forward GetVehicleType(vehicleid);
  39.  
  40.  
  41. /*=========================Callbacks=========================*/
  42.  
  43. public GetVehicleSpeed(vehicleid, unit)
  44. {
  45.     new
  46.         Float:x_speed, Float:y_speed, Float:z_speed, Float:speedf, speed;
  47.  
  48.  
  49.     GetVehicleVelocity(vehicleid,x_speed,y_speed,z_speed);
  50.     if(unit == kmh)
  51.     {
  52.         speedf = floatsqroot(((x_speed*x_speed)+(y_speed*y_speed))+(z_speed*z_speed)) * 187.666667;
  53.     }
  54.     else if(unit == mph)
  55.     {
  56.         speedf = floatsqroot(((x_speed*x_speed)+(y_speed*y_speed))+(z_speed*z_speed)) * 116.541;
  57.     }
  58.     speed = floatround(speedf,floatround_round);
  59.     return speed;
  60. }
  61.  
  62.  
  63.  
  64.  
  65. public GetClosestVehicleFromPoint(Float:x, Float:y, Float:z)
  66. {
  67.     new Float:dis = 99999999.0;
  68.     new veh = -1;
  69.     for(new i = 1; i < MAX_VEHICLES; i++)
  70.     {
  71.         new Float:distance = GetVehicleDistanceFromPoint(i, x, y, z);
  72.         if(distance < dis)
  73.         {
  74.             dis = distance;
  75.             veh = i;
  76.         }
  77.     }
  78.     return veh;
  79. }
  80.  
  81.  
  82. public GetClosestVehicleFromPlayer(playerid)
  83. {
  84.     new Float:dis = 99999999.0;
  85.     new veh = -1;
  86.     new Float:x, Float:y, Float:z;
  87.     GetPlayerPos(playerid, x, y, z);
  88.     for(new i = 1; i < MAX_VEHICLES; i++)
  89.     {
  90.         new Float:distance = GetVehicleDistanceFromPoint(i, x, y, z);
  91.         if(distance < dis)
  92.         {
  93.             dis = distance;
  94.             veh = i;
  95.         }
  96.     }
  97.     return veh;
  98. }
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108. public GetClosestPlayerFromPoint(Float:x, Float:y, Float:z)
  109. {
  110.     new Float:dis = 99999999.0;
  111.     new veh = -1;
  112.     for(new i = 1; i < MAX_PLAYERS; i++)
  113.     {
  114.         new Float:distance = GetPlayerDistanceFromPoint(i, x, y, z);
  115.         if(distance < dis)
  116.         {
  117.             dis = distance;
  118.             veh = i;
  119.         }
  120.     }
  121.     return veh;
  122. }
  123.  
  124.  
  125. public GetClosestPlayerFromPlayer(playerid)
  126. {
  127.     new Float:dis = 99999999.0;
  128.     new veh = -1;
  129.     new Float:x, Float:y, Float:z;
  130.     GetPlayerPos(playerid, x, y, z);
  131.     for(new i = 1; i <= MAX_PLAYERS; i++)
  132.     {
  133.         new Float:distance = GetPlayerDistanceFromPoint(playerid, x, y, z);
  134.         if(distance < dis)
  135.         {
  136.             dis = distance;
  137.             veh = i;
  138.         }
  139.     }
  140.     return veh;
  141. }
  142.  
  143.  
  144. public LocalChat(playerid, Float:range, text[])
  145. {
  146.     new vw = GetPlayerVirtualWorld(playerid);
  147.     new int = GetPlayerInterior(playerid);
  148.     new Float:x, Float:y, Float:z;
  149.     GetPlayerPos(playerid, x, y, z);
  150.     for(new i = 0; i <= MAX_PLAYERS; i++)
  151.     {
  152.         if(GetPlayerVirtualWorld(i) == vw)
  153.         {
  154.             if(GetPlayerInterior(i) == int)
  155.             {
  156.                 if(IsPlayerInRangeOfPoint(i, range / 3, x, y, z))
  157.                 {
  158.                     SendClientMessage(i, close, text);
  159.                 }
  160.                 else if(IsPlayerInRangeOfPoint(i, range / 2, x, y, z))
  161.                 {
  162.                     SendClientMessage(i, medium, text);
  163.                 }
  164.                 else if(IsPlayerInRangeOfPoint(i, range, x, y, z))
  165.                 {
  166.                     SendClientMessage(i, far, text);
  167.                 }
  168.             }
  169.         }
  170.     }
  171.     return 1;
  172. }
  173.  
  174.  
  175.  
  176. public GetVehicleType(vehicleid)
  177. {
  178.     new m = GetVehicleModel(vehicleid);
  179.     if(m == 592|| m == 577|| m == 511|| m == 512|| m == 593|| m == 520|| m == 553|| m == 476|| m == 519|| m == 460|| m == 513) return Model_Plane;
  180.     else if(m == 548|| m == 425|| m == 417|| m == 487|| m == 488|| m == 497|| m == 563|| m == 447|| m == 469) return Model_Heli;
  181.     else if(m == 472|| m == 473|| m == 493|| m == 595|| m == 484|| m == 430|| m == 453|| m == 452|| m == 446|| m == 454) return Model_Boat;
  182.     else if(m == 509|| m == 481|| m == 510) return Model_Bicycle;
  183.     else if(m == 462|| m == 448|| m == 581|| m == 522|| m == 461|| m == 521|| m == 523|| m == 463|| m == 586|| m == 468|| m == 471) return Model_Bike;
  184.     else if(m == 406|| m == 435|| m == 411|| m == 449|| m == 450|| m == 464|| m == 465|| m == 501|| m == 537|| m == 538|| m == 539|| m == 564|| m == 569|| m == 570|| m == 584|| m == 590|| m == 591|| m == 594|| m == 606|| m == 607|| m == 608|| m == 610|| m == 611) return Model_Unique;
  185.     else return Model_Car;
  186. }
Advertisement
Add Comment
Please, Sign In to add comment