Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Speedometer By Shawn Miller Thanks for use. Please leave the credits !
- #include <a_samp>
- #define MAX_CAR 100000 // Put here your number of maximum cars on your server.
- enum pKilometre {Text:Kilometre}
- new speedometre[MAX_PLAYERS][pKilometre];
- enum pVitesse{Text:Vitesse}
- new speedometre1[MAX_PLAYERS][pVitesse];
- enum pVehicule{Text:Vehicule}
- new speedometre3[MAX_PLAYERS][pVehicule];
- new Gas[MAX_CAR];
- new speed[MAX_PLAYERS];
- new Text:Textdraw1337;
- new Text:Textdraw1338;
- new Text:Textdraw1339;
- new Text:Textdraw1340;
- new Text:Textdraw1341;
- new Text:Textdraw1342;
- new Text:Textdraw1343;
- new Text:Textdraw1344;
- new Text:Textdraw1345;
- new Text:Textdraw1346;
- new Text:Textdraw1347;
- new VehiclesName[][] = {
- "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus",
- "Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
- "Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
- "Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
- "Reefer","Tropic","Sultan","Yankee","Caddy","Solair","Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
- "Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Hustler","ZR3 50","Walton","Regina",
- "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
- "Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring Racer","Hotring",
- "Bloodring","Rancher","Super GT","Elegant","Journey","Bike","Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain",
- "Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
- "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover",
- "Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A",
- "Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
- "Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer","Emperor",
- "Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car","Police Car",
- "Police Car","Police Ranger","Picador","S.W.A.T.","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer","Luggage Trailer",
- "Stair Trailer","Boxville","Farm Plow","Utility Trailer" };
- forward GetVehicleSpeed(vehicleid);
- public GetVehicleSpeed(vehicleid)
- {
- new Float:X, Float:Y, Float:Z;
- GetVehicleVelocity(vehicleid, X, Y, Z);
- return floatround(floatsqroot(X * X + Y * Y + Z * Z) * 180);
- }
- forward IsASportCar(carid);
- public IsASportCar(carid)
- {
- if(carid==0)
- { return 0; }
- new car = GetVehicleModel(carid);
- if(car == 402 || car == 411 || car == 415 || car == 429 || car == 451 || car == 475 || car == 477 || car == 496 || car == 506 || car == 551 || car == 558 || car == 559 || car == 565 || car == 587 || car == 589)
- { return 1; }
- else if(car == 602 || car == 603)
- {return 1;}
- return 0;
- }
- /*forward CarUpdate(i);
- public CarUpdate(i)
- {
- new vid = GetPlayerVehicleID(i);
- // Compteur de kilomčtres
- CarInfo[vid][cMetre] += (speed[i]*10)/36;
- if(CarInfo[vid][cMetre] > 999)
- {
- CarInfo[vid][cKilometre] += 1;
- CarInfo[vid][cMetre] = 0;
- }
- // Essence
- if(IsASportCar(vid))
- {
- if(speed[vid] == 0)
- {
- Gas[vid]-=10;
- }
- else if(speed[vid] > 0 && speed[vid] <= 60)
- {
- Gas[vid]-=20;
- }
- else if(speed[vid] > 60 && speed[vid] <= 120)
- {
- Gas[vid]-=30;
- }
- else if(speed[vid] > 120 && speed[vid] <= 400)
- {
- Gas[vid]-=45;
- }
- }
- else
- {
- if(speed[vid] == 0)
- {
- Gas[vid]-=5;
- }
- else if(speed[vid] > 0 && speed[vid] <= 60)
- {
- Gas[vid]-=10;
- }
- else if(speed[vid] > 60 && speed[vid] <= 120)
- {
- Gas[vid]-=15;
- }
- else if(speed[vid] > 120 && speed[vid] <= 400)
- {
- Gas[vid]-=25;
- }
- }
- return 1;
- }*/
- #define MAX_SPEED 300 // Put here the max speed of cars on your server (maximum speed which will be writen on your speedo)
- #define SPEED_1 70 // Put here your city max speed
- #define SPEED_2 120 // Put here your speedway max speed
- enum cInfo
- {
- cKilometer, // Kilometers of the vehicle
- cMeter, // Meters of the vehicle
- };
- new CarInfo[MAX_CAR][cInfo];
- stock arrlen(&constinteger)
- {
- new tmp[12];
- format(tmp, 12, "%i", constinteger);
- return strlen(tmp);
- }
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Speedometer by Shawn Miller");
- print("--------------------------------------\n");
- print("Loading Speedometer ...\n");
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- speedometre[i][Kilometre] = TextDrawCreate(540.000000, 430.000000, "_");
- TextDrawBackgroundColor(speedometre[i][Kilometre], 255);
- TextDrawFont(speedometre[i][Kilometre], 2);
- TextDrawLetterSize(speedometre[i][Kilometre], 0.270000, 1.000000);
- TextDrawColor(speedometre[i][Kilometre], -1);
- TextDrawSetOutline(speedometre[i][Kilometre], 1);
- TextDrawSetProportional(speedometre[i][Kilometre], 1);
- speedometre1[i][Vitesse] = TextDrawCreate(506.000000,389.000000,"_");
- speedometre3[i][Vehicule] = TextDrawCreate(521.000000,369.000000,"_");
- TextDrawAlignment(speedometre1[i][Vitesse],0);
- TextDrawAlignment(speedometre3[i][Vehicule],0);
- TextDrawBackgroundColor(speedometre1[i][Vitesse],0x000000ff);
- TextDrawBackgroundColor(speedometre3[i][Vehicule],0xff000066);
- TextDrawFont(speedometre1[i][Vitesse],0);
- TextDrawLetterSize(speedometre1[i][Vitesse],0.499999,1.300001);
- TextDrawFont(speedometre3[i][Vehicule],1);
- TextDrawLetterSize(speedometre3[i][Vehicule],0.299999,1.000000);
- TextDrawColor(speedometre1[i][Vitesse],0xff00ffff);
- TextDrawColor(speedometre3[i][Vehicule],0xffffffff);
- TextDrawSetOutline(speedometre1[i][Vitesse],1);
- TextDrawSetOutline(speedometre3[i][Vehicule],1);
- TextDrawSetProportional(speedometre1[i][Vitesse],1);
- TextDrawSetProportional(speedometre3[i][Vehicule],1);
- TextDrawSetShadow(speedometre3[i][Vehicule],1);
- Textdraw1337 = TextDrawCreate(550.000000,364.000000,"_");
- TextDrawUseBox(Textdraw1337,1);
- TextDrawBoxColor(Textdraw1337,0x00000066);
- TextDrawTextSize(Textdraw1337,639.000000,160.000000);
- TextDrawAlignment(Textdraw1337,2);
- TextDrawBackgroundColor(Textdraw1337,0x00000000);
- TextDrawFont(Textdraw1337,3);
- TextDrawLetterSize(Textdraw1337,0.599999,8.300000);
- TextDrawColor(Textdraw1337,0xffffffff);
- TextDrawSetOutline(Textdraw1337,1);
- Textdraw1339 = TextDrawCreate(473.000000,390.000000,"Speed:");
- Textdraw1340 = TextDrawCreate(605.000000,395.500000,"I");
- Textdraw1341 = TextDrawCreate(588.000000,401.000000,"I");
- Textdraw1342 = TextDrawCreate(571.000000,406.900000,"I");
- Textdraw1343 = TextDrawCreate(555.000000,412.400000,"I");
- Textdraw1344 = TextDrawCreate(540.000000,416.000000,"I");
- Textdraw1345 = TextDrawCreate(473.000000,413.000000,"Fuel:");
- Textdraw1346 = TextDrawCreate(472.000000,369.000000,"Vehicle:");
- Textdraw1347 = TextDrawCreate(472.000000,430.000000,"Kilometers:");
- TextDrawUseBox(Textdraw1340,1);
- TextDrawBoxColor(Textdraw1340,0x00ffffff);
- TextDrawTextSize(Textdraw1340,614.000000,2.000000);
- TextDrawUseBox(Textdraw1341,1);
- TextDrawBoxColor(Textdraw1341,0x00ffffff);
- TextDrawTextSize(Textdraw1341,597.000000,0.000000);
- TextDrawUseBox(Textdraw1342,1);
- TextDrawBoxColor(Textdraw1342,0x00ffffff);
- TextDrawTextSize(Textdraw1342,580.000000,-2.000000);
- TextDrawUseBox(Textdraw1343,1);
- TextDrawBoxColor(Textdraw1343,0x00ffffff);
- TextDrawTextSize(Textdraw1343,564.000000,0.000000);
- TextDrawUseBox(Textdraw1344,1);
- TextDrawBoxColor(Textdraw1344,0x00ffffff);
- TextDrawTextSize(Textdraw1344,548.000000,0.000000);
- TextDrawAlignment(Textdraw1339,0);
- TextDrawAlignment(Textdraw1340,0);
- TextDrawAlignment(Textdraw1341,0);
- TextDrawAlignment(Textdraw1342,0);
- TextDrawAlignment(Textdraw1343,0);
- TextDrawAlignment(Textdraw1344,0);
- TextDrawAlignment(Textdraw1345,0);
- TextDrawAlignment(Textdraw1346,0);
- TextDrawAlignment(Textdraw1347,0);
- TextDrawBackgroundColor(Textdraw1339,0x000000ff);
- TextDrawBackgroundColor(Textdraw1340,0x00ffffff);
- TextDrawBackgroundColor(Textdraw1341,0x00ffffff);
- TextDrawBackgroundColor(Textdraw1342,0x00ffffff);
- TextDrawBackgroundColor(Textdraw1343,0x00ffffff);
- TextDrawBackgroundColor(Textdraw1344,0x00ffffff);
- TextDrawBackgroundColor(Textdraw1345,0x000000ff);
- TextDrawBackgroundColor(Textdraw1346,0x000000ff);
- TextDrawBackgroundColor(Textdraw1347,0x000000ff);
- TextDrawFont(Textdraw1339,1);
- TextDrawLetterSize(Textdraw1339,0.199999,1.199999);
- TextDrawFont(Textdraw1340,3);
- TextDrawLetterSize(Textdraw1340,1.000000,2.899999);
- TextDrawFont(Textdraw1341,3);
- TextDrawLetterSize(Textdraw1341,1.000000,2.299999);
- TextDrawFont(Textdraw1342,3);
- TextDrawLetterSize(Textdraw1342,1.000000,1.600000);
- TextDrawFont(Textdraw1343,3);
- TextDrawLetterSize(Textdraw1343,1.000000,1.000000);
- TextDrawFont(Textdraw1344,3);
- TextDrawLetterSize(Textdraw1344,1.000000,0.599999);
- TextDrawFont(Textdraw1345,1);
- TextDrawLetterSize(Textdraw1345,0.299999,1.000000);
- TextDrawFont(Textdraw1346,2);
- TextDrawLetterSize(Textdraw1346,0.199999,1.000000);
- TextDrawFont(Textdraw1347,2);
- TextDrawLetterSize(Textdraw1347,0.199999,1.000000);
- TextDrawColor(Textdraw1339,0xffffffff);
- TextDrawColor(Textdraw1340,0x00ffffff);
- TextDrawColor(Textdraw1341,0x00ffffff);
- TextDrawColor(Textdraw1342,0x00ffffff);
- TextDrawColor(Textdraw1343,0x00ffffff);
- TextDrawColor(Textdraw1344,0x00ffffff);
- TextDrawColor(Textdraw1345,0xffffffff);
- TextDrawColor(Textdraw1346,0xffffffff);
- TextDrawColor(Textdraw1347,0xffffffff);
- TextDrawSetOutline(Textdraw1339,1);
- TextDrawSetOutline(Textdraw1340,1);
- TextDrawSetOutline(Textdraw1341,1);
- TextDrawSetOutline(Textdraw1342,1);
- TextDrawSetOutline(Textdraw1343,1);
- TextDrawSetOutline(Textdraw1344,1);
- TextDrawSetOutline(Textdraw1345,1);
- TextDrawSetOutline(Textdraw1346,1);
- TextDrawSetOutline(Textdraw1347,1);
- TextDrawSetProportional(Textdraw1339,1);
- TextDrawSetProportional(Textdraw1340,1);
- TextDrawSetProportional(Textdraw1341,1);
- TextDrawSetProportional(Textdraw1342,1);
- TextDrawSetProportional(Textdraw1343,1);
- TextDrawSetProportional(Textdraw1344,1);
- TextDrawSetProportional(Textdraw1345,1);
- TextDrawSetProportional(Textdraw1346,1);
- TextDrawSetProportional(Textdraw1347,1);
- TextDrawSetShadow(Textdraw1339,1);
- TextDrawSetShadow(Textdraw1340,1);
- TextDrawSetShadow(Textdraw1341,1);
- TextDrawSetShadow(Textdraw1342,1);
- TextDrawSetShadow(Textdraw1343,1);
- TextDrawSetShadow(Textdraw1344,1);
- TextDrawSetShadow(Textdraw1345,1);
- TextDrawSetShadow(Textdraw1346,1);
- TextDrawSetShadow(Textdraw1347,1);
- print("Speedometer loaded\n");
- return 1;
- }
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_ONFOOT) // A pied
- {
- TextDrawHideForPlayer(playerid, speedometre[playerid][Kilometre]);
- TextDrawHideForPlayer(playerid, speedometre1[playerid][Vitesse]);
- TextDrawHideForPlayer(playerid, speedometre3[playerid][Vehicule]);
- TextDrawHideForPlayer(playerid, Textdraw1337);
- TextDrawHideForPlayer(playerid, Textdraw1338);
- TextDrawHideForPlayer(playerid, Textdraw1339);
- TextDrawHideForPlayer(playerid, Textdraw1340);
- TextDrawHideForPlayer(playerid, Textdraw1341);
- TextDrawHideForPlayer(playerid, Textdraw1342);
- TextDrawHideForPlayer(playerid, Textdraw1343);
- TextDrawHideForPlayer(playerid, Textdraw1344);
- TextDrawHideForPlayer(playerid, Textdraw1345);
- TextDrawHideForPlayer(playerid, Textdraw1346);
- TextDrawHideForPlayer(playerid, Textdraw1347);
- return 1;
- }
- else if(newstate == PLAYER_STATE_DRIVER)
- {
- new plname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, plname, sizeof(plname));
- new vehicleid = GetPlayerVehicleID(playerid);
- TextDrawShowForPlayer(playerid, speedometre[playerid][Kilometre]);
- TextDrawShowForPlayer(playerid, speedometre1[playerid][Vitesse]);
- TextDrawShowForPlayer(playerid, speedometre3[playerid][Vehicule]);
- TextDrawShowForPlayer(playerid, Text:Textdraw1337);
- TextDrawShowForPlayer(playerid, Text:Textdraw1338);
- TextDrawShowForPlayer(playerid, Text:Textdraw1339);
- TextDrawShowForPlayer(playerid, Text:Textdraw1345);
- TextDrawShowForPlayer(playerid, Text:Textdraw1346);
- TextDrawShowForPlayer(playerid, Text:Textdraw1347);
- if( Gas[vehicleid] >= 8000 && Gas[vehicleid] <= 10000 )
- {
- TextDrawShowForPlayer(playerid,Text:Textdraw1340);
- TextDrawShowForPlayer(playerid,Text:Textdraw1341);
- TextDrawShowForPlayer(playerid,Text:Textdraw1342);
- TextDrawShowForPlayer(playerid,Text:Textdraw1343);
- TextDrawShowForPlayer(playerid,Text:Textdraw1344);
- }
- if( Gas[vehicleid] >= 6000 && Gas[vehicleid] < 8000 )
- {
- TextDrawShowForPlayer(playerid,Text:Textdraw1341);
- TextDrawShowForPlayer(playerid,Text:Textdraw1342);
- TextDrawShowForPlayer(playerid,Text:Textdraw1343);
- TextDrawShowForPlayer(playerid,Text:Textdraw1344);
- }
- if( Gas[vehicleid] >= 4000 && Gas[vehicleid] < 6000 )
- {
- TextDrawShowForPlayer(playerid,Text:Textdraw1342);
- TextDrawShowForPlayer(playerid,Text:Textdraw1343);
- TextDrawShowForPlayer(playerid,Text:Textdraw1344);
- }
- if( Gas[vehicleid] >= 2000 && Gas[vehicleid] < 4000 )
- {
- TextDrawShowForPlayer(playerid,Text:Textdraw1343);
- TextDrawShowForPlayer(playerid,Text:Textdraw1344);
- }
- if( Gas[vehicleid] > 0 && Gas[vehicleid] < 2000 )
- {
- TextDrawShowForPlayer(playerid,Text:Textdraw1344);
- }
- if( Gas[vehicleid] == 0)
- {
- return 1;
- }
- }
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- new Float:fPos[3],vehicleid,Sspeed[256],string[256],kilo[256];
- vehicleid = GetPlayerVehicleID(playerid);
- GetVehicleVelocity(GetPlayerVehicleID(playerid), fPos[0], fPos[1], fPos[2]);
- speed[playerid] = GetVehicleSpeed(vehicleid);
- if( speed[playerid] <= SPEED_1 )
- {
- format(Sspeed,sizeof(Sspeed),"%d~W~km/h", speed[playerid]);
- }
- else if(speed[playerid] <= SPEED_2 )
- {
- format(Sspeed,sizeof(Sspeed),"%d~W~km/h", speed[playerid]);
- }
- else if(speed[playerid] <= MAX_SPEED )
- {
- format(Sspeed,sizeof(Sspeed),"%d~W~km/h", speed[playerid]);
- }
- else
- {
- format(Sspeed,sizeof(Sspeed),"~R~Too much");
- }
- new carid=GetPlayerVehicleID(playerid);
- if(arrlen(CarInfo[vehicleid][cKilometer]) == 1)
- {
- format(kilo,sizeof(kilo),"00000%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/100);
- }
- if(arrlen(CarInfo[vehicleid][cKilometer]) == 2)
- {
- format(kilo,sizeof(kilo),"0000%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/100);
- }
- if(arrlen(CarInfo[vehicleid][cKilometer]) == 3)
- {
- format(kilo,sizeof(kilo),"000%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/100);
- }
- if(arrlen(CarInfo[vehicleid][cKilometer]) == 4)
- {
- format(kilo,sizeof(kilo),"00%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/100);
- }
- if(arrlen(CarInfo[vehicleid][cKilometer]) == 5)
- {
- format(kilo,sizeof(kilo),"0%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/100);
- }
- if(arrlen(CarInfo[vehicleid][cKilometer]) == 6)
- {
- format(kilo,sizeof(kilo),"%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/100);
- }
- format(string,sizeof(string),"%s",kilo);
- TextDrawSetString(speedometre[playerid][Kilometre], string);
- format(string,sizeof(string),"%s",Sspeed);
- TextDrawSetString(speedometre1[playerid][Vitesse], string);
- format(string,sizeof(string),"%s",VehiclesName[GetVehicleModel(carid)-400]);
- TextDrawSetString(speedometre3[playerid][Vehicule], string);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment