Advertisement
Guest User

Raf

a guest
Nov 10th, 2007
4,117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.15 KB | None | 0 0
  1. //-----0000----0----0--------00000---------0-------000000-----------------------
  2. //-----0---0----0--0---------0----0-------0-0------0----------------------------
  3. //-----0000------0-----------00000-------0---0-----00000------------------------
  4. //-----0---0----0------------0-00-------0000000----0----------------------------
  5. //-----0000----0-------------0---00----0-------0---0-----------------by R@f ©---
  6. #include <a_samp>
  7.  
  8. #define SLOTS 200
  9.  
  10. forward UpdateSpeed ();
  11.  
  12. enum SavePlayerPosEnum {
  13. Float:LastX,
  14. Float:LastY,
  15. Float:LastZ
  16. }
  17.  
  18. new SavePlayerPos[SLOTS][SavePlayerPosEnum];
  19. new Text:Speedo[SLOTS];
  20. new UpdateSeconds;
  21.  
  22. new CarName[][] =
  23. {
  24.     "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
  25.     "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
  26.     "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
  27.     "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection",
  28.     "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
  29.     "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
  30.     "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
  31.     "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
  32.     "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van",
  33.     "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale",
  34.     "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy",
  35.     "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
  36.     "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper",
  37.     "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
  38.     "Blista Compact", "Police Maverick", "Boxvillde", "Benson", "Mesa", "RC Goblin",
  39.     "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
  40.     "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt",
  41.     "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
  42.     "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
  43.     "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer",
  44.     "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
  45.     "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo",
  46.     "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
  47.     "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
  48.     "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
  49.     "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
  50.     "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
  51.     "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
  52.     "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
  53.     "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
  54.     "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
  55.     "Tiller", "Utility Trailer"
  56. };
  57.  
  58. public OnFilterScriptInit()
  59. {
  60.     print("\n--------------------------------------");
  61.     print("----------R@f's speedo script---------");
  62.     print("--------------------------------------\n");
  63.     SetTimer("UpdateSpeed",1000, 1);
  64.     return 1;
  65. }
  66.  
  67. public OnFilterScriptExit()
  68. {
  69.     for(new i=0; i<SLOTS; i++)
  70.     {
  71.         if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
  72.         {
  73.             TextDrawDestroy(Speedo[i]);
  74.         }
  75.     }
  76.     return 1;
  77. }
  78.  
  79. main()
  80. {
  81. }
  82.  
  83. public OnPlayerConnect(playerid)
  84. {
  85.     SendClientMessage(playerid,0x00FF00FF,"This server is running whit R@f's Speedo FilterScript");
  86.     return 1;
  87. }
  88.  
  89. public OnPlayerStateChange(playerid, newstate, oldstate)
  90. {
  91.     if(newstate == PLAYER_STATE_ONFOOT)
  92.     {
  93.     TextDrawHideForPlayer(playerid, Speedo[playerid]);
  94.     }
  95.     return 1;
  96. }
  97.  
  98. public UpdateSpeed()
  99. {
  100.     new Float:x,Float:y,Float:z;
  101.     new Float:distance,value,string[256];
  102.     new Float:health;
  103.     for(new i=0; i<SLOTS; i++)
  104.     {
  105.         if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
  106.         {
  107.             TextDrawDestroy(Speedo[i]);
  108.         }
  109.     }
  110.  
  111.     for(new i=0; i<SLOTS; i++)
  112.     {
  113.         if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
  114.         {
  115.             GetPlayerPos(i, x, y, z);
  116.             GetVehicleHealth(GetPlayerVehicleID(i), health);
  117.             distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
  118.             value = floatround(distance * 5000);
  119.             if(UpdateSeconds > 1)
  120.             {
  121.                 value = floatround(value / UpdateSeconds);
  122.             }
  123.             format(string,sizeof(string),"~g~Vehicle : ~w~%s ~n~~b~MPH : ~w~%d / ~b~KM/H : ~w~%d~n~~r~Vehicle Health:~w~ %.2f",CarName[GetVehicleModel(GetPlayerVehicleID(i))-400],floatround(value/1600),floatround(value/1000),health);
  124.             Speedo[i] = TextDrawCreate(320.00, 380.00, string);
  125.             TextDrawSetOutline(Speedo[i], 0);
  126.             TextDrawFont(Speedo[i], 3);
  127.             TextDrawSetProportional(Speedo[i], 2);
  128.             TextDrawAlignment(Speedo[i], 2);
  129.             TextDrawShowForPlayer (i, Speedo[i]);
  130.         }
  131.         SavePlayerPos[i][LastX] = x;
  132.         SavePlayerPos[i][LastY] = y;
  133.         SavePlayerPos[i][LastZ] = z;
  134.     }
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement