Advertisement
dylan4021

Velocimetro Simples

Aug 24th, 2011
863
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.27 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define MAXPLAYERS (5)
  4.  
  5. new stryng[128];
  6. new Text: Velocimetro[MAXPLAYERS][7];
  7. new VelocimetroTimer[MAXPLAYERS];
  8. new VeiculosNome[][] =
  9. {
  10.     "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster",
  11.     "Limosine","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulancia","Leviathan","Moonbeam","Esperanto",
  12.     "Taxi","Washington","Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer","Securicar","Banshee",
  13.     "Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion","Rumpo",
  14.     "RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer",
  15.     "Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer",
  16.     "PCJ-600","Faggio","Freeway","RC Baron","RC Raider","Glendale","Oceanic","Sanchez","Sparrow","Patriot",
  17.     "Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR-350","Walton","Regina","Comet","BMX",
  18.     "Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo",
  19.     "Greenwood","Jetmax","Hotring","Sandking","Blista Compact","Maverick Policial","Boxville","Benson","Mesa",
  20.     "RC Goblin","Hotring Racer A","Hotring Racer B","Bloodring Banger","Rancher","Super GT","Elegant",
  21.     "Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain","Nebula","Majestic",
  22.     "Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona",
  23.     "FBI Truck","Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight",
  24.     "Streak","Vortex","Vincent","Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob",
  25.     "Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A","Monster B","Uranus",
  26.     "Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight",
  27.     "Trailer","Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford",
  28.     "BF-400","Newsvan","Tug","Trailer A","Emperor","Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C",
  29.     "Andromada","Dodo","RC Cam","Launch","Viatura (LSPD)","Viatura (SFPD)","Viatura (LVPD)","Police Ranger",
  30.     "Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
  31.     "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  32. };
  33.  
  34. forward CriarTextDraws(playerid);
  35. forward AtualizarVelocimetro(playerid);
  36.  
  37. public OnPlayerConnect(playerid)
  38. {
  39.     CriarTextDraws(playerid);
  40.     return 1;
  41. }
  42.  
  43. public OnPlayerExitVehicle(playerid, vehicleid)
  44. {
  45.     KillTimer(VelocimetroTimer[playerid]);
  46.     TextDrawHideForPlayer(playerid, Velocimetro[playerid][0]);
  47.     TextDrawHideForPlayer(playerid, Velocimetro[playerid][1]);
  48.     TextDrawHideForPlayer(playerid, Velocimetro[playerid][2]);
  49.     TextDrawHideForPlayer(playerid, Velocimetro[playerid][3]);
  50.     TextDrawHideForPlayer(playerid, Velocimetro[playerid][4]);
  51.     TextDrawHideForPlayer(playerid, Velocimetro[playerid][5]);
  52.     TextDrawHideForPlayer(playerid, Velocimetro[playerid][6]);
  53.     return true;
  54. }
  55.  
  56. public OnPlayerStateChange(playerid, newstate, oldstate)
  57. {
  58.     new veiculo = GetPlayerVehicleID(playerid);
  59.     if(newstate == PLAYER_STATE_DRIVER) {
  60.         TextDrawShowForPlayer(playerid, Velocimetro[playerid][0]);
  61.         TextDrawShowForPlayer(playerid, Velocimetro[playerid][1]);
  62.         TextDrawShowForPlayer(playerid, Velocimetro[playerid][2]);
  63.         TextDrawShowForPlayer(playerid, Velocimetro[playerid][3]);
  64.         TextDrawShowForPlayer(playerid, Velocimetro[playerid][4]);
  65.         TextDrawShowForPlayer(playerid, Velocimetro[playerid][5]);
  66.         TextDrawShowForPlayer(playerid, Velocimetro[playerid][6]);
  67.  
  68.         VelocimetroTimer[playerid] = SetTimerEx("AtualizarVelocimetro", 100, true, "i", playerid);
  69.         TextDrawHideForPlayer(playerid, Velocimetro[playerid][2]);
  70.         format(stryng, sizeof(stryng), "Veiculo: ~r~%s", VeiculosNome[GetVehicleModel(veiculo)-400]);
  71.         TextDrawSetString(Velocimetro[playerid][2], stryng);
  72.         TextDrawShowForPlayer(playerid, Velocimetro[playerid][2]);
  73.         return true;
  74.     }
  75.     if(oldstate == PLAYER_STATE_DRIVER) {
  76.         KillTimer(VelocimetroTimer[playerid]);
  77.         TextDrawHideForPlayer(playerid, Velocimetro[playerid][0]);
  78.         TextDrawHideForPlayer(playerid, Velocimetro[playerid][1]);
  79.         TextDrawHideForPlayer(playerid, Velocimetro[playerid][2]);
  80.         TextDrawHideForPlayer(playerid, Velocimetro[playerid][3]);
  81.         TextDrawHideForPlayer(playerid, Velocimetro[playerid][4]);
  82.         TextDrawHideForPlayer(playerid, Velocimetro[playerid][5]);
  83.         TextDrawHideForPlayer(playerid, Velocimetro[playerid][6]);
  84.         return true;
  85.     }
  86.     return 1;
  87. }
  88.  
  89. public CriarTextDraws(playerid)
  90. {
  91.     Velocimetro[playerid][0] = TextDrawCreate(487.000000, 364.000000, "KM/H: 0");
  92.     TextDrawBackgroundColor(Velocimetro[playerid][0], 255);
  93.     TextDrawFont(Velocimetro[playerid][0], 3);
  94.     TextDrawLetterSize(Velocimetro[playerid][0], 0.500000, 1.000000);
  95.     TextDrawColor(Velocimetro[playerid][0], 819849215);
  96.     TextDrawSetOutline(Velocimetro[playerid][0], 0);
  97.     TextDrawSetProportional(Velocimetro[playerid][0], 1);
  98.     TextDrawSetShadow(Velocimetro[playerid][0], 1);
  99.  
  100.     Velocimetro[playerid][1] = TextDrawCreate(643.000000, 362.000000, "_");
  101.     TextDrawBackgroundColor(Velocimetro[playerid][1], 255);
  102.     TextDrawFont(Velocimetro[playerid][1], 1);
  103.     TextDrawLetterSize(Velocimetro[playerid][1], 0.500000, 5.999996);
  104.     TextDrawColor(Velocimetro[playerid][1], -1);
  105.     TextDrawSetOutline(Velocimetro[playerid][1], 0);
  106.     TextDrawSetProportional(Velocimetro[playerid][1], 1);
  107.     TextDrawSetShadow(Velocimetro[playerid][1], 1);
  108.     TextDrawUseBox(Velocimetro[playerid][1], 1);
  109.     TextDrawBoxColor(Velocimetro[playerid][1], 1229539776);
  110.     TextDrawTextSize(Velocimetro[playerid][1], 483.000000, 0.000000);
  111.  
  112.     Velocimetro[playerid][2] = TextDrawCreate(487.000000, 377.000000, "Veiculo: Nenhum");
  113.     TextDrawBackgroundColor(Velocimetro[playerid][2], 255);
  114.     TextDrawFont(Velocimetro[playerid][2], 3);
  115.     TextDrawLetterSize(Velocimetro[playerid][2], 0.500000, 1.000000);
  116.     TextDrawColor(Velocimetro[playerid][2], 819849215);
  117.     TextDrawSetOutline(Velocimetro[playerid][2], 0);
  118.     TextDrawSetProportional(Velocimetro[playerid][2], 1);
  119.     TextDrawSetShadow(Velocimetro[playerid][2], 1);
  120.  
  121.     Velocimetro[playerid][3] = TextDrawCreate(487.000000, 391.000000, "Lataria: 0");
  122.     TextDrawBackgroundColor(Velocimetro[playerid][3], 255);
  123.     TextDrawFont(Velocimetro[playerid][3], 3);
  124.     TextDrawLetterSize(Velocimetro[playerid][3], 0.500000, 1.000000);
  125.     TextDrawColor(Velocimetro[playerid][3], 819849215);
  126.     TextDrawSetOutline(Velocimetro[playerid][3], 0);
  127.     TextDrawSetProportional(Velocimetro[playerid][3], 1);
  128.     TextDrawSetShadow(Velocimetro[playerid][3], 1);
  129.  
  130.     Velocimetro[playerid][4] = TextDrawCreate(487.000000, 404.000000, "Estado: Nenhum");
  131.     TextDrawBackgroundColor(Velocimetro[playerid][4], 255);
  132.     TextDrawFont(Velocimetro[playerid][4], 3);
  133.     TextDrawLetterSize(Velocimetro[playerid][4], 0.500000, 1.000000);
  134.     TextDrawColor(Velocimetro[playerid][4], 819849215);
  135.     TextDrawSetOutline(Velocimetro[playerid][4], 0);
  136.     TextDrawSetProportional(Velocimetro[playerid][4], 1);
  137.     TextDrawSetShadow(Velocimetro[playerid][4], 1);
  138.  
  139.     Velocimetro[playerid][5] = TextDrawCreate(540.000000, 344.000000, "DylaN");
  140.     TextDrawBackgroundColor(Velocimetro[playerid][5], 255);
  141.     TextDrawFont(Velocimetro[playerid][5], 1);
  142.     TextDrawLetterSize(Velocimetro[playerid][5], 0.500000, 1.300000);
  143.     TextDrawColor(Velocimetro[playerid][5], 16711935);
  144.     TextDrawSetOutline(Velocimetro[playerid][5], 0);
  145.     TextDrawSetProportional(Velocimetro[playerid][5], 1);
  146.     TextDrawSetShadow(Velocimetro[playerid][5], 1);
  147.  
  148.     Velocimetro[playerid][6] = TextDrawCreate(620.000000, 344.000000, "_");
  149.     TextDrawBackgroundColor(Velocimetro[playerid][6], 255);
  150.     TextDrawFont(Velocimetro[playerid][6], 1);
  151.     TextDrawLetterSize(Velocimetro[playerid][6], 0.500000, 1.300000);
  152.     TextDrawColor(Velocimetro[playerid][6], -1);
  153.     TextDrawSetOutline(Velocimetro[playerid][6], 0);
  154.     TextDrawSetProportional(Velocimetro[playerid][6], 1);
  155.     TextDrawSetShadow(Velocimetro[playerid][6], 1);
  156.     TextDrawUseBox(Velocimetro[playerid][6], 1);
  157.     TextDrawBoxColor(Velocimetro[playerid][6], 1229539776);
  158.     TextDrawTextSize(Velocimetro[playerid][6], 506.000000, 0.000000);
  159.     return true;
  160. }
  161.  
  162. public AtualizarVelocimetro(playerid)
  163. {
  164.     new Float: Lataria,
  165.         vehicleid = GetPlayerVehicleID(playerid);
  166.     GetVehicleHealth(vehicleid, Lataria);
  167.  
  168.     TextDrawHideForPlayer(playerid, Velocimetro[playerid][0]);
  169.     format(stryng, sizeof(stryng), "KM/H: ~r~%d", GetPlayerSpeed(playerid));
  170.     TextDrawSetString(Velocimetro[playerid][0], stryng);
  171.     TextDrawShowForPlayer(playerid, Velocimetro[playerid][0]);
  172.  
  173.     TextDrawHideForPlayer(playerid, Velocimetro[playerid][3]);
  174.     format(stryng, sizeof(stryng), "Lataria: ~g~%0.f", Lataria);
  175.     TextDrawSetString(Velocimetro[playerid][3], stryng);
  176.     TextDrawShowForPlayer(playerid, Velocimetro[playerid][3]);
  177.  
  178.  
  179.     if(Lataria < 250) {
  180.         TextDrawHideForPlayer(playerid, Velocimetro[playerid][4]);
  181.         TextDrawSetString(Velocimetro[playerid][4], "Estado: ~r~Quebrou");
  182.         TextDrawShowForPlayer(playerid, Velocimetro[playerid][4]);
  183.     }
  184.     else if(Lataria > 250 && Lataria < 500) {
  185.         TextDrawHideForPlayer(playerid, Velocimetro[playerid][4]);
  186.         TextDrawSetString(Velocimetro[playerid][4], "Estado:~p~Quebrando");
  187.         TextDrawShowForPlayer(playerid, Velocimetro[playerid][4]);
  188.     }
  189.     else if(Lataria > 500 && Lataria < 800) {
  190.         TextDrawHideForPlayer(playerid, Velocimetro[playerid][4]);
  191.         TextDrawSetString(Velocimetro[playerid][4], "Estado: ~b~Bom");
  192.         TextDrawShowForPlayer(playerid, Velocimetro[playerid][4]);
  193.     }
  194.     else if(Lataria > 800) {
  195.         TextDrawHideForPlayer(playerid, Velocimetro[playerid][4]);
  196.         TextDrawSetString(Velocimetro[playerid][4], "Estado: ~g~Otimo");
  197.         TextDrawShowForPlayer(playerid, Velocimetro[playerid][4]);
  198.     }
  199.     return true;
  200. }
  201.  
  202. stock GetPlayerSpeed(playerid)//By Alguem que não sei '-'
  203. {
  204.     new Float:ST[4];                          
  205.     if(IsPlayerInAnyVehicle(playerid))
  206.     GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
  207.     else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
  208.     ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 100.3;
  209.     return floatround(ST[3]);
  210. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement