Advertisement
milanosie

MilFunctions 0.2

Aug 8th, 2012
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.04 KB | None | 0 0
  1.  
  2. /*
  3. Version: 0.2
  4. Author: Milanosie
  5. Last Updated: 08-08-2012
  6. Copyright: Milanosie
  7. */
  8.  
  9. /*=========================Changelog=========================*/
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18. /*=========================Changelog=========================*/
  19. #include <a_samp>
  20.  
  21.  
  22.  
  23. /*=========================Variables=========================*/
  24.  
  25. new P_Frozen[MAX_PLAYERS];
  26.  
  27.  
  28. /*=========================Defines=========================*/
  29.  
  30. #define kmh 1
  31. #define mph 2
  32.  
  33. #define far 0xF5D5E2FF
  34. #define medium 0xF2B6CEFF
  35. #define close 0xF57FAEFF
  36.  
  37. #define Model_Plane 1
  38. #define Model_Heli 2
  39. #define Model_Boat 3
  40. #define Model_Car 4
  41. #define Model_Bike 5
  42. #define Model_Bicycle 6
  43. #define Model_Unique 7
  44.  
  45. /*=========================Forwards=========================*/
  46.  
  47. forward GetVehicleSpeed(vehicleid, unit);
  48. forward GetClosestVehicleFromPoint(Float:x, Float:y, Float:z);
  49. forward GetClosestVehicleFromPlayer(playerid);
  50. forward GetClosestPlayerFromPlayer(playerid);
  51. forward GetClosestPlayerFromPoint(Float:x, Float:y, Float:z);
  52. forward LocalChat(playerid, Float:range, text[]);
  53. forward GetVehicleType(vehicleid);
  54.  
  55. forward ToggleVehicleEngine(vehicleid);
  56. forward StopVehicleEngine(vehicleid);
  57. forward StartVehicleEngine(vehicleid);
  58. forward Freeze(playerid);
  59. forward Unfreeze(playerid);
  60. forward TogFreeze(playerid);
  61. forward SetVehicleSpeed(vehicleid, Float:speed);
  62.  
  63. /*=========================Callbacks=========================*/
  64.  
  65. public GetVehicleSpeed(vehicleid, unit)
  66. {
  67.     new
  68.         Float:x_speed, Float:y_speed, Float:z_speed, Float:speedf, speed;
  69.  
  70.  
  71.     GetVehicleVelocity(vehicleid,x_speed,y_speed,z_speed);
  72.     if(unit == kmh)
  73.     {
  74.         speedf = floatsqroot(((x_speed*x_speed)+(y_speed*y_speed))+(z_speed*z_speed)) * 187.666667;
  75.     }
  76.     else if(unit == mph)
  77.     {
  78.         speedf = floatsqroot(((x_speed*x_speed)+(y_speed*y_speed))+(z_speed*z_speed)) * 116.541;
  79.     }
  80.     speed = floatround(speedf,floatround_round);
  81.     return speed;
  82. }
  83.  
  84.  
  85.  
  86.  
  87. public GetClosestVehicleFromPoint(Float:x, Float:y, Float:z)
  88. {
  89.     new Float:dis = 99999999.0;
  90.     new veh = -1;
  91.     for(new i = 1; i < MAX_VEHICLES; i++)
  92.     {
  93.         new Float:distance = GetVehicleDistanceFromPoint(i, x, y, z);
  94.         if(distance < dis)
  95.         {
  96.             dis = distance;
  97.             veh = i;
  98.         }
  99.     }
  100.     return veh;
  101. }
  102.  
  103.  
  104. public GetClosestVehicleFromPlayer(playerid)
  105. {
  106.     new Float:dis = 99999999.0;
  107.     new veh = -1;
  108.     new Float:x, Float:y, Float:z;
  109.     GetPlayerPos(playerid, x, y, z);
  110.     for(new i = 1; i < MAX_VEHICLES; i++)
  111.     {
  112.         new Float:distance = GetVehicleDistanceFromPoint(i, x, y, z);
  113.         if(distance < dis)
  114.         {
  115.             dis = distance;
  116.             veh = i;
  117.         }
  118.     }
  119.     return veh;
  120. }
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130. public GetClosestPlayerFromPoint(Float:x, Float:y, Float:z)
  131. {
  132.     new Float:dis = 99999999.0;
  133.     new veh = -1;
  134.     for(new i = 1; i < MAX_PLAYERS; i++)
  135.     {
  136.         new Float:distance = GetPlayerDistanceFromPoint(i, x, y, z);
  137.         if(distance < dis)
  138.         {
  139.             dis = distance;
  140.             veh = i;
  141.         }
  142.     }
  143.     return veh;
  144. }
  145.  
  146.  
  147. public GetClosestPlayerFromPlayer(playerid)
  148. {
  149.     new Float:dis = 99999999.0;
  150.     new veh = -1;
  151.     new Float:x, Float:y, Float:z;
  152.     GetPlayerPos(playerid, x, y, z);
  153.     for(new i = 1; i <= MAX_PLAYERS; i++)
  154.     {
  155.         new Float:distance = GetPlayerDistanceFromPoint(playerid, x, y, z);
  156.         if(distance < dis)
  157.         {
  158.             dis = distance;
  159.             veh = i;
  160.         }
  161.     }
  162.     return veh;
  163. }
  164.  
  165.  
  166. public LocalChat(playerid, Float:range, text[])
  167. {
  168.     new vw = GetPlayerVirtualWorld(playerid);
  169.     new int = GetPlayerInterior(playerid);
  170.     new Float:x, Float:y, Float:z;
  171.     GetPlayerPos(playerid, x, y, z);
  172.     for(new i = 0; i <= MAX_PLAYERS; i++)
  173.     {
  174.         if(GetPlayerVirtualWorld(i) == vw)
  175.         {
  176.             if(GetPlayerInterior(i) == int)
  177.             {
  178.                 if(IsPlayerInRangeOfPoint(i, range / 3, x, y, z))
  179.                 {
  180.                     SendClientMessage(i, close, text);
  181.                 }
  182.                 else if(IsPlayerInRangeOfPoint(i, range / 2, x, y, z))
  183.                 {
  184.                     SendClientMessage(i, medium, text);
  185.                 }
  186.                 else if(IsPlayerInRangeOfPoint(i, range, x, y, z))
  187.                 {
  188.                     SendClientMessage(i, far, text);
  189.                 }
  190.             }
  191.         }
  192.     }
  193.     return 1;
  194. }
  195.  
  196.  
  197.  
  198. public GetVehicleType(vehicleid)
  199. {
  200.     new m = GetVehicleModel(vehicleid);
  201.     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;
  202.     else if(m == 548|| m == 425|| m == 417|| m == 487|| m == 488|| m == 497|| m == 563|| m == 447|| m == 469) return Model_Heli;
  203.     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;
  204.     else if(m == 509|| m == 481|| m == 510) return Model_Bicycle;
  205.     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;
  206.     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;
  207.     else return Model_Car;
  208. }
  209.  
  210.  
  211. public ToggleVehicleEngine(vehicleid)
  212. {
  213.     new engine, lights, alarm, doors, bonnet, boot, objective;
  214.     GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  215.     if(engine)
  216.     {
  217.         SetVehicleParamsEx(vehicleid,false,lights,alarm,doors,bonnet,boot,objective);
  218.     }
  219.     else
  220.     {
  221.         SetVehicleParamsEx(vehicleid,true,lights,alarm,doors,bonnet,boot,objective);
  222.     }
  223.     return 1;
  224. }
  225.  
  226. public StartVehicleEngine(vehicleid)
  227. {
  228.     new engine, lights, alarm, doors, bonnet, boot, objective;
  229.     GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  230.     SetVehicleParamsEx(vehicleid,true,lights,alarm,doors,bonnet,boot,objective);
  231.     return 1;
  232. }
  233.  
  234. public StopVehicleEngine(vehicleid)
  235. {
  236.     new engine, lights, alarm, doors, bonnet, boot, objective;
  237.     GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  238.     SetVehicleParamsEx(vehicleid,false,lights,alarm,doors,bonnet,boot,objective);
  239.     return 1;
  240. }
  241.  
  242.  
  243.  
  244. public Freeze(playerid)
  245. {
  246.     TogglePlayerControllable(playerid, 0);
  247.     P_Frozen[playerid] = 1;
  248.     return 1;
  249. }
  250.  
  251.  
  252. public Unfreeze(playerid)
  253. {
  254.     TogglePlayerControllable(playerid, 1);
  255.     P_Frozen[playerid] = 0;
  256.     return 1;
  257. }
  258.  
  259. public TogFreeze(playerid)
  260. {
  261.     if(P_Frozen[playerid] == 1)
  262.     {
  263.         TogglePlayerControllable(playerid, 1);
  264.         P_Frozen[playerid] = 0;
  265.     }
  266.     else
  267.     {
  268.         TogglePlayerControllable(playerid, 0);
  269.         P_Frozen[playerid] = 1;
  270.     }
  271.     return 1;
  272. }
  273.  
  274.  
  275.  
  276. public SetVehicleSpeed(vehicleid, Float:speed)
  277. {
  278.     if(speed != -1)
  279.     {
  280.         new Float:px,   Float:py,   Float:pz,   Float:pvx,  Float:pvy,  Float:pvz, Float:fl;
  281.         GetVehiclePos(vehicleid, px,py, pz);
  282.         GetVehicleVelocity(vehicleid, pvx, pvy, pvz);
  283.         fl = floatsqroot((pvx * pvx) + (pvy * pvy) + (pvz * pvz));
  284.         pvx = (pvx / fl) * (speed * 0.00475);
  285.         pvy = (pvy / fl) * (speed * 0.00475);
  286.         pvz = (pvz / fl) * (speed * 0.00475);
  287.         SetVehicleVelocity(vehicleid, pvx, pvy, pvz);
  288.     }
  289.     return 1;
  290. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement