Advertisement
Guest User

uSpeedoFuel v1.0 R3

a guest
May 11th, 2013
315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 98.60 KB | None | 0 0
  1. #include <a_samp>
  2. #include <streamer>
  3. #include <zones>
  4. #include <zcmd>
  5. #include <sscanf2>
  6.  
  7. /*==============================================================================
  8.                                     DEFINES
  9. ==============================================================================*/
  10.  
  11. //Languahe||Sprache ||other things||andere Dinge
  12.  
  13. #define ENGLISH //To use German comment this out.||Um deutsch zu nutzen dies auskommentieren.
  14.  
  15. #define SpeedoUpdate 650 //Time the Speedometer updates.||Zeit in welcher sich der Speedometer updaten soll.
  16. #define RefuelUpdate 900 //Time it needs the vehicle to refuel per percent.||Zeit welche benötigt wird das Fahrzeug pro Prozent zu betanken.
  17.  
  18. #define BENZINMETERS 2500 //After how much meters 1% fuel should be took for benzin vehicles||Nach wieviel Meter 1% vom Tank bei Benzin Fahrzeugen herabgesetzt werden soll
  19. #define BOATBENZINMETERS 6500 //After how much meters 1% fuel should be took for boats||Nach wieviel Meter 1% vom Tank bei Booten herabgesetzt werden soll
  20. #define DIESELMETERS 5000 //After how much meters 1% fuel should be took for diesel vehicles||Nach wieviel Meter 1% vom Tank bei Diesel Fahrzeugen herabgesetzt werden soll
  21. #define KEROSINMETERS 3500 //After how much meters 1% fuel should be took for kerosin vehicles||Nach wieviel Meter 1% vom Tank bei Kersoin Fahrzeugen herabgesetzt werden soll
  22.  
  23. #define MAX_STATIONS 100 //Define for maximum Gasstations || Definierung die maximalen Tankstellen
  24.  
  25. //Dialogs
  26.  
  27. #define CREDITS 500
  28. #define CREATESTATIONFUELTYPE 501
  29. #define CREATESTATIONFUELPRICE 502
  30. #define EDITSTATION 503
  31. #define EDITSTATIONFUEL 504
  32. #define EDITSTATIONPRICE 505
  33. #define UCMDSDIALOG 506
  34. #define VEHPARAMS 507
  35.  
  36. //Keys Holding || Releasing
  37.  
  38. #define HOLDING(%0) \
  39.     ((newkeys & (%0)) == (%0))
  40.    
  41. #define RELEASED(%0) \
  42.     (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
  43.  
  44. /*==============================================================================
  45.                                     VARIABLES
  46. ==============================================================================*/
  47.  
  48. enum FuelStationInfo
  49. {
  50.     ID,
  51.     Float:PosX,
  52.     Float:PosZ,
  53.     Float:PosY,
  54.     Price,
  55.     FuelType
  56. }
  57.  
  58. enum PlayerInfo
  59. {
  60.     Fuel,
  61.     FuelTime,
  62.     OldFuel,
  63.     Float:Meters,
  64.     Float:KMS,
  65.     Float:CurrentMeters,
  66.     Float:OldMeters,
  67.     VehFuelType,
  68.     VehIDOld,
  69.     Refueling,
  70.     Refueled,
  71.     PricePer,
  72.     ToPay,
  73.     EngineOn,
  74.     Fuelupdate,
  75.     SpeedoColor,
  76.     Float:CreatePosX,
  77.     Float:CreatePosY,
  78.     Float:CreatePosZ,
  79.     CreateFuelType,
  80.     IDToEdit,
  81.     PriceToEdit,
  82.     TypeToEdit,
  83. }
  84.  
  85. new VehicleNames[][] =
  86. {
  87.     "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
  88.     "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
  89.     "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
  90.     "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection",
  91.     "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
  92.     "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
  93.     "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
  94.     "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
  95.     "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van",
  96.     "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale",
  97.     "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy",
  98.     "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
  99.     "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper",
  100.     "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
  101.     "Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin",
  102.     "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
  103.     "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt",
  104.     "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
  105.     "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
  106.     "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer",
  107.     "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
  108.     "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo",
  109.     "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
  110.     "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
  111.     "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
  112.     "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
  113.     "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
  114.     "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
  115.     "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
  116.     "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
  117.     "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
  118.     "Tiller", "Utility Trailer"
  119. };
  120.  
  121.  
  122. new fInfo[MAX_STATIONS][FuelStationInfo],pInfo[MAX_PLAYERS][PlayerInfo],DB:database,PlayerText:SpeedoBox[MAX_PLAYERS],PlayerText:Vehicle[MAX_PLAYERS];
  123. new PlayerText:VehHealth[MAX_PLAYERS],PlayerText:Location[MAX_PLAYERS],PlayerText:Speed[MAX_PLAYERS],PlayerText:Odo[MAX_PLAYERS],PlayerText:FuelText[MAX_PLAYERS],PlayerText:FuelTypeText[MAX_PLAYERS];
  124. new Pickup[MAX_STATIONS],MapIcon[MAX_STATIONS],count,Refuelupdate[MAX_PLAYERS],Speedoupdate[MAX_PLAYERS];
  125. new Text3D:DLabel[MAX_STATIONS];
  126. /*==============================================================================
  127.                                 STOCKS & FORWARDS
  128. ==============================================================================*/
  129.  
  130. stock GetVehicleName(vehicleid)
  131. {
  132.     new String[128];
  133.     format(String,sizeof(String),"%s",VehicleNames[GetVehicleModel(vehicleid) - 400]);
  134.     return String;
  135. }
  136.  
  137. stock GetPlayerSpeed(playerid)
  138. {
  139.     new Float:ST[4];
  140.     if(IsPlayerInAnyVehicle(playerid))
  141.     GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
  142.     else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
  143.     ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 179.28625;
  144.     return floatround(ST[3]);
  145. }
  146.  
  147. stock HexToInt(string[])
  148. {
  149.     if (string[0]==0) return 0;
  150.     new i;
  151.     new cur=1;
  152.     new res=0;
  153.     for (i=strlen(string);i>0;i--)
  154.     {
  155.         if (string[i-1]<58) res=res+cur*(string[i-1]-48); else res=res+cur*(string[i-1]-65+10);
  156.         cur=cur*16;
  157.     }
  158.     return res;
  159. }
  160.  
  161. forward SpeedoUpdateTime(playerid);
  162. forward RefuelUpdateTimer(playerid);
  163. forward FuelUsageTime(playerid);
  164.  
  165. /*==============================================================================
  166.                                     MAINSCRIPT
  167. ==============================================================================*/
  168.  
  169. public OnFilterScriptInit()
  170. {
  171.     print(" ");
  172.     print("\t\t|=========================|");
  173.     print("\t\t|   uSpeedoFuel v1.0 R3   |");
  174.     print("\t\t|Speedometer + Fuel System|");
  175.     print("\t\t|   scriptet by ulbi1990  |");
  176.     print("\t\t|-------------------------|");
  177.     print("\t\t| create Fuelstations IG  |");
  178.     print("\t\t|=========================|");
  179.     print(" ");
  180.    
  181.     database=db_open("uSystems.db");
  182.     db_query(database,"CREATE TABLE IF NOT EXISTS `FuelStations`(`ID`INTEGER PRIMARY KEY AUTOINCREMENT,`PosX`,`PosY`,`PosZ`,`Price`,`FuelType`)");
  183.  
  184.     new DBResult:Result,str[128];
  185.     for(new i=0;i<MAX_STATIONS;i++)
  186.     {
  187.         format(str,sizeof(str),"SELECT * FROM `FuelStations` WHERE `ID`='%i'",i);
  188.         Result=db_query(database,str);
  189.         if(db_num_rows(Result)>0)
  190.         {
  191.             db_get_field_assoc(Result,"ID",str,sizeof(str));
  192.             fInfo[i][ID]=strval(str);
  193.             db_get_field_assoc(Result,"PosX",str,sizeof(str));
  194.             fInfo[i][PosX]=floatstr(str);
  195.             db_get_field_assoc(Result,"PosY",str,sizeof(str));
  196.             fInfo[i][PosY]=floatstr(str);
  197.             db_get_field_assoc(Result,"PosZ",str,sizeof(str));
  198.             fInfo[i][PosZ]=floatstr(str);
  199.             db_get_field_assoc(Result,"Price",str,sizeof(str));
  200.             fInfo[i][Price]=strval(str);
  201.             db_get_field_assoc(Result,"FuelType",str,sizeof(str));
  202.             fInfo[i][FuelType]=strval(str);
  203.             count++;
  204.             i=count;
  205.             Pickup[i]=CreateDynamicPickup(1274,1,fInfo[i][PosX],fInfo[i][PosY],fInfo[i][PosZ],0);
  206.             MapIcon[i]=CreateDynamicMapIcon(fInfo[i][PosX],fInfo[i][PosY],fInfo[i][PosZ],52,-1,-1,-1,-1,100);
  207.             #if defined ENGLISH
  208.             {
  209.                 if(fInfo[i][FuelType]==1)
  210.                 {
  211.                     format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Petrol\nPrice: %d",fInfo[i][Price]);
  212.                 }
  213.                 else if(fInfo[i][FuelType]==2)
  214.                 {
  215.                     format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Diesel\nPrice: %d",fInfo[i][Price]);
  216.                 }
  217.                 else if(fInfo[i][FuelType]==3)
  218.                 {
  219.                     format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Kerosene\nPrice: %d",fInfo[i][Price]);
  220.                 }
  221.                 else if(fInfo[i][FuelType]==4)
  222.                 {
  223.                     format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Boat Petrol\nPrice: %d",fInfo[i][Price]);
  224.                 }
  225.                 i=count;
  226.                 DLabel[i]=CreateDynamic3DTextLabel(str,0x5EFF00FF,fInfo[i][PosX],fInfo[i][PosY],fInfo[i][PosZ],40,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,-1,-1,-1,100);
  227.             }
  228.             #else
  229.             {
  230.                 if(fInfo[i][FuelType]==1)
  231.                 {
  232.                     format(str,sizeof(str),"Gebe /tanken ein um dein Fahrzeug zu betanken!\nArt: Benzin\nPreis: %d",fInfo[i][Price]);
  233.                 }
  234.                 else if(fInfo[i][FuelType]==2)
  235.                 {
  236.                     format(str,sizeof(str),"Gebe /tanken ein um dein Fahrzeug zu betanken!\nArt: Diesel\nPreis: %d",fInfo[i][Price]);
  237.                 }
  238.                 else if(fInfo[i][FuelType]==3)
  239.                 {
  240.                     format(str,sizeof(str),"Gebe /tanken ein um dein Fahrzeug zu betanken!\nArt: Kerosin\nPreis: %d",fInfo[i][Price]);
  241.                 }
  242.                 else if(fInfo[i][FuelType]==4)
  243.                 {
  244.                     format(str,sizeof(str),"Gebe /tanken ein um dein Fahrzeug zu betanken!\nArt: Boot Benzin\nPreis: %d",fInfo[i][Price]);
  245.                 }
  246.                 CreateDynamic3DTextLabel(str,0x5EFF00FF,fInfo[i][PosX],fInfo[i][PosY],fInfo[i][PosZ],40,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,-1,-1,-1,100);
  247.             }
  248.             #endif
  249.         }
  250.         db_free_result(Result);
  251.     }
  252.     printf("%d Fuel Stations created. %d Tankstellen erstellt.",count,count);
  253.     return 1;
  254. }
  255.  
  256. public OnFilterScriptExit()
  257. {
  258.     db_close(database);
  259.     return 1;
  260. }
  261.  
  262. /*==============================================================================
  263.                                     ENGLISH
  264. ==============================================================================*/
  265.  
  266. #if defined ENGLISH
  267.  
  268. public OnPlayerConnect(playerid)
  269. {
  270.     SendClientMessage(playerid,-1,"This server uses the Speedometer and Fuel System {93FF00}'uSpeedoFuel'{FFFFFF} by ulbi1990!");
  271.     SendClientMessage(playerid,-1,"Commands: /ucmds");
  272.     pInfo[playerid][Fuel]=0;
  273.     pInfo[playerid][FuelTime]=0;
  274.     pInfo[playerid][OldFuel]=0;
  275.     pInfo[playerid][Meters]=0;
  276.     pInfo[playerid][KMS]=0;
  277.     pInfo[playerid][CurrentMeters]=0;
  278.     pInfo[playerid][OldMeters]=0;
  279.     pInfo[playerid][VehFuelType]=0;
  280.     pInfo[playerid][VehIDOld]=0;
  281.     pInfo[playerid][Refueling]=0;
  282.     pInfo[playerid][Refueled]=0;
  283.     pInfo[playerid][PricePer]=0;
  284.     pInfo[playerid][ToPay]=0;
  285.     pInfo[playerid][EngineOn]=0;
  286.     pInfo[playerid][Fuelupdate]=0;
  287.     pInfo[playerid][CreatePosX]=0;
  288.     pInfo[playerid][CreatePosY]=0;
  289.     pInfo[playerid][CreatePosZ]=0;
  290.     pInfo[playerid][CreateFuelType]=0;
  291.     pInfo[playerid][IDToEdit]=0;
  292.     pInfo[playerid][PriceToEdit]=0;
  293.     pInfo[playerid][TypeToEdit]=0;
  294.     return 1;
  295. }
  296.  
  297. public OnPlayerStateChange(playerid, newstate, oldstate)
  298. {
  299.     if(oldstate==PLAYER_STATE_ONFOOT && newstate==PLAYER_STATE_DRIVER)
  300.     {
  301.         new str[258],Float:health,zone[128],engine, lights, alarm, doors, bonnet, boot, objective;
  302.         SpeedoBox[playerid] = CreatePlayerTextDraw(playerid,664.000000, 373.000000, "_");
  303.         PlayerTextDrawBackgroundColor(playerid,SpeedoBox[playerid], 255);
  304.         PlayerTextDrawFont(playerid,SpeedoBox[playerid], 1);
  305.         PlayerTextDrawLetterSize(playerid,SpeedoBox[playerid], 0.500000, 10.000000);
  306.         PlayerTextDrawColor(playerid,SpeedoBox[playerid], -1);
  307.         PlayerTextDrawSetOutline(playerid,SpeedoBox[playerid], 0);
  308.         PlayerTextDrawSetProportional(playerid,SpeedoBox[playerid], 1);
  309.         PlayerTextDrawSetShadow(playerid,SpeedoBox[playerid], 1);
  310.         PlayerTextDrawUseBox(playerid,SpeedoBox[playerid], 1);
  311.         PlayerTextDrawBoxColor(playerid,SpeedoBox[playerid], 16758608);
  312.         PlayerTextDrawTextSize(playerid,SpeedoBox[playerid], 139.000000, 2.000000);
  313.         PlayerTextDrawShow(playerid,SpeedoBox[playerid]);
  314.  
  315.         Vehicle[playerid] = CreatePlayerTextDraw(playerid,263.000000, 400.000000, "Vehicle:");
  316.         PlayerTextDrawAlignment(playerid,Vehicle[playerid], 2);
  317.         PlayerTextDrawBackgroundColor(playerid,Vehicle[playerid], 255);
  318.         PlayerTextDrawFont(playerid,Vehicle[playerid], 1);
  319.         PlayerTextDrawLetterSize(playerid,Vehicle[playerid], 0.430000, 1.800000);
  320.         PlayerTextDrawColor(playerid,Vehicle[playerid], -1);
  321.         PlayerTextDrawSetOutline(playerid,Vehicle[playerid], 0);
  322.         PlayerTextDrawSetProportional(playerid,Vehicle[playerid], 1);
  323.         PlayerTextDrawSetShadow(playerid,Vehicle[playerid], 1);
  324.         format(str,sizeof(str),"Vehicle: %s",GetVehicleName(GetPlayerVehicleID(playerid)));
  325.         PlayerTextDrawSetString(playerid,Vehicle[playerid],str);
  326.         PlayerTextDrawShow(playerid,Vehicle[playerid]);
  327.  
  328.         VehHealth[playerid] = CreatePlayerTextDraw(playerid,263.000000, 424.000000, "Health:");
  329.         PlayerTextDrawAlignment(playerid,VehHealth[playerid], 2);
  330.         PlayerTextDrawBackgroundColor(playerid,VehHealth[playerid], 255);
  331.         PlayerTextDrawFont(playerid,VehHealth[playerid], 1);
  332.         PlayerTextDrawLetterSize(playerid,VehHealth[playerid], 0.430000, 1.700000);
  333.         PlayerTextDrawColor(playerid,VehHealth[playerid], -1);
  334.         PlayerTextDrawSetOutline(playerid,VehHealth[playerid], 0);
  335.         PlayerTextDrawSetProportional(playerid,VehHealth[playerid], 1);
  336.         PlayerTextDrawSetShadow(playerid,VehHealth[playerid], 1);
  337.         GetVehicleHealth(GetPlayerVehicleID(playerid),health);
  338.         format(str,sizeof(str),"Health: %0.0f%",health/10);
  339.         PlayerTextDrawSetString(playerid,VehHealth[playerid],str);
  340.         PlayerTextDrawShow(playerid,VehHealth[playerid]);
  341.  
  342.         Location[playerid] = CreatePlayerTextDraw(playerid,381.000000, 375.000000, "Location:");
  343.         PlayerTextDrawAlignment(playerid,Location[playerid], 2);
  344.         PlayerTextDrawBackgroundColor(playerid,Location[playerid], 255);
  345.         PlayerTextDrawFont(playerid,Location[playerid], 1);
  346.         PlayerTextDrawLetterSize(playerid,Location[playerid], 0.500000, 1.800000);
  347.         PlayerTextDrawColor(playerid,Location[playerid], -6815489);
  348.         PlayerTextDrawSetOutline(playerid,Location[playerid], 0);
  349.         PlayerTextDrawSetProportional(playerid,Location[playerid], 1);
  350.         PlayerTextDrawSetShadow(playerid,Location[playerid], 1);
  351.         GetPlayer2DZone(playerid,zone,sizeof(zone));
  352.         format(str,sizeof(str),"Location: %s",zone);
  353.         PlayerTextDrawSetString(playerid,Location[playerid],str);
  354.         PlayerTextDrawShow(playerid,Location[playerid]);
  355.        
  356.         Speed[playerid] = CreatePlayerTextDraw(playerid,426.000000, 401.000000, "Speed: 123km/h");
  357.         PlayerTextDrawAlignment(playerid,Speed[playerid], 2);
  358.         PlayerTextDrawBackgroundColor(playerid,Speed[playerid], 255);
  359.         PlayerTextDrawFont(playerid,Speed[playerid], 1);
  360.         PlayerTextDrawLetterSize(playerid,Speed[playerid], 0.430000, 1.800000);
  361.         PlayerTextDrawColor(playerid,Speed[playerid], -1);
  362.         PlayerTextDrawSetOutline(playerid,Speed[playerid], 0);
  363.         PlayerTextDrawSetProportional(playerid,Speed[playerid], 1);
  364.         PlayerTextDrawSetShadow(playerid,Speed[playerid], 1);
  365.  
  366.         Odo[playerid] = CreatePlayerTextDraw(playerid,426.000000, 423.000000, "Odo: 12345kms");
  367.         PlayerTextDrawAlignment(playerid,Odo[playerid], 2);
  368.         PlayerTextDrawBackgroundColor(playerid,Odo[playerid], 255);
  369.         PlayerTextDrawFont(playerid,Odo[playerid], 1);
  370.         PlayerTextDrawLetterSize(playerid,Odo[playerid], 0.430000, 1.800000);
  371.         PlayerTextDrawColor(playerid,Odo[playerid], -1);
  372.         PlayerTextDrawSetOutline(playerid,Odo[playerid], 0);
  373.         PlayerTextDrawSetProportional(playerid,Odo[playerid], 1);
  374.         PlayerTextDrawSetShadow(playerid,Odo[playerid], 1);
  375.         format(str,sizeof(str),"Odo: %0.1fkms",pInfo[playerid][KMS]);
  376.         PlayerTextDrawSetString(playerid,Odo[playerid],str);
  377.         PlayerTextDrawShow(playerid,Odo[playerid]);
  378.  
  379.         FuelTypeText[playerid] = CreatePlayerTextDraw(playerid,571.000000, 423.000000, "Type:");
  380.         PlayerTextDrawAlignment(playerid,FuelTypeText[playerid], 2);
  381.         PlayerTextDrawBackgroundColor(playerid,FuelTypeText[playerid], 255);
  382.         PlayerTextDrawFont(playerid,FuelTypeText[playerid], 1);
  383.         PlayerTextDrawLetterSize(playerid,FuelTypeText[playerid], 0.430000, 1.800000);
  384.         PlayerTextDrawColor(playerid,FuelTypeText[playerid], -1);
  385.         PlayerTextDrawSetOutline(playerid,FuelTypeText[playerid], 0);
  386.         PlayerTextDrawSetProportional(playerid,FuelTypeText[playerid], 1);
  387.         PlayerTextDrawSetShadow(playerid,FuelTypeText[playerid], 1);
  388.         if(GetVehicleModel(GetPlayerVehicleID(playerid))==400||GetVehicleModel(GetPlayerVehicleID(playerid))==403||GetVehicleModel(GetPlayerVehicleID(playerid))==404||GetVehicleModel(GetPlayerVehicleID(playerid))==406||GetVehicleModel(GetPlayerVehicleID(playerid))==407||
  389.            GetVehicleModel(GetPlayerVehicleID(playerid))==408||GetVehicleModel(GetPlayerVehicleID(playerid))==413||GetVehicleModel(GetPlayerVehicleID(playerid))==414||GetVehicleModel(GetPlayerVehicleID(playerid))==416||GetVehicleModel(GetPlayerVehicleID(playerid))==418||
  390.            GetVehicleModel(GetPlayerVehicleID(playerid))==420||GetVehicleModel(GetPlayerVehicleID(playerid))==423||GetVehicleModel(GetPlayerVehicleID(playerid))==427||GetVehicleModel(GetPlayerVehicleID(playerid))==428||GetVehicleModel(GetPlayerVehicleID(playerid))==431||
  391.            GetVehicleModel(GetPlayerVehicleID(playerid))==432||GetVehicleModel(GetPlayerVehicleID(playerid))==433||GetVehicleModel(GetPlayerVehicleID(playerid))==437||GetVehicleModel(GetPlayerVehicleID(playerid))==440||GetVehicleModel(GetPlayerVehicleID(playerid))==442||
  392.            GetVehicleModel(GetPlayerVehicleID(playerid))==443||GetVehicleModel(GetPlayerVehicleID(playerid))==444||GetVehicleModel(GetPlayerVehicleID(playerid))==455||GetVehicleModel(GetPlayerVehicleID(playerid))==456||GetVehicleModel(GetPlayerVehicleID(playerid))==459||
  393.            GetVehicleModel(GetPlayerVehicleID(playerid))==470||GetVehicleModel(GetPlayerVehicleID(playerid))==478||GetVehicleModel(GetPlayerVehicleID(playerid))==479||GetVehicleModel(GetPlayerVehicleID(playerid))==482||GetVehicleModel(GetPlayerVehicleID(playerid))==486||
  394.            GetVehicleModel(GetPlayerVehicleID(playerid))==489||GetVehicleModel(GetPlayerVehicleID(playerid))==490||GetVehicleModel(GetPlayerVehicleID(playerid))==498||GetVehicleModel(GetPlayerVehicleID(playerid))==499||GetVehicleModel(GetPlayerVehicleID(playerid))==505||
  395.            GetVehicleModel(GetPlayerVehicleID(playerid))==508||GetVehicleModel(GetPlayerVehicleID(playerid))==514||GetVehicleModel(GetPlayerVehicleID(playerid))==515||GetVehicleModel(GetPlayerVehicleID(playerid))==524||GetVehicleModel(GetPlayerVehicleID(playerid))==525||
  396.            GetVehicleModel(GetPlayerVehicleID(playerid))==528||GetVehicleModel(GetPlayerVehicleID(playerid))==530||GetVehicleModel(GetPlayerVehicleID(playerid))==531||GetVehicleModel(GetPlayerVehicleID(playerid))==532||GetVehicleModel(GetPlayerVehicleID(playerid))==543||
  397.            GetVehicleModel(GetPlayerVehicleID(playerid))==544||GetVehicleModel(GetPlayerVehicleID(playerid))==552||GetVehicleModel(GetPlayerVehicleID(playerid))==554||GetVehicleModel(GetPlayerVehicleID(playerid))==556||GetVehicleModel(GetPlayerVehicleID(playerid))==557||
  398.            GetVehicleModel(GetPlayerVehicleID(playerid))==572||GetVehicleModel(GetPlayerVehicleID(playerid))==573||GetVehicleModel(GetPlayerVehicleID(playerid))==574||GetVehicleModel(GetPlayerVehicleID(playerid))==578||GetVehicleModel(GetPlayerVehicleID(playerid))==579||
  399.            GetVehicleModel(GetPlayerVehicleID(playerid))==580||GetVehicleModel(GetPlayerVehicleID(playerid))==582||GetVehicleModel(GetPlayerVehicleID(playerid))==583||GetVehicleModel(GetPlayerVehicleID(playerid))==596||GetVehicleModel(GetPlayerVehicleID(playerid))==597||
  400.            GetVehicleModel(GetPlayerVehicleID(playerid))==598||GetVehicleModel(GetPlayerVehicleID(playerid))==599||GetVehicleModel(GetPlayerVehicleID(playerid))==600||GetVehicleModel(GetPlayerVehicleID(playerid))==601||GetVehicleModel(GetPlayerVehicleID(playerid))==609)
  401.         {
  402.             format(str,sizeof(str),"Type: Diesel");
  403.             pInfo[playerid][VehFuelType]=2;
  404.         }
  405.         else if(GetVehicleModel(GetPlayerVehicleID(playerid))==401||GetVehicleModel(GetPlayerVehicleID(playerid))==402||GetVehicleModel(GetPlayerVehicleID(playerid))==405||GetVehicleModel(GetPlayerVehicleID(playerid))==409||GetVehicleModel(GetPlayerVehicleID(playerid))==410||
  406.                 GetVehicleModel(GetPlayerVehicleID(playerid))==411||GetVehicleModel(GetPlayerVehicleID(playerid))==412||GetVehicleModel(GetPlayerVehicleID(playerid))==415||GetVehicleModel(GetPlayerVehicleID(playerid))==419||GetVehicleModel(GetPlayerVehicleID(playerid))==421||
  407.                 GetVehicleModel(GetPlayerVehicleID(playerid))==422||GetVehicleModel(GetPlayerVehicleID(playerid))==424||GetVehicleModel(GetPlayerVehicleID(playerid))==426||GetVehicleModel(GetPlayerVehicleID(playerid))==429||GetVehicleModel(GetPlayerVehicleID(playerid))==434||
  408.                 GetVehicleModel(GetPlayerVehicleID(playerid))==436||GetVehicleModel(GetPlayerVehicleID(playerid))==438||GetVehicleModel(GetPlayerVehicleID(playerid))==439||GetVehicleModel(GetPlayerVehicleID(playerid))==445||GetVehicleModel(GetPlayerVehicleID(playerid))==448||
  409.                 GetVehicleModel(GetPlayerVehicleID(playerid))==451||GetVehicleModel(GetPlayerVehicleID(playerid))==457||GetVehicleModel(GetPlayerVehicleID(playerid))==458||GetVehicleModel(GetPlayerVehicleID(playerid))==461||GetVehicleModel(GetPlayerVehicleID(playerid))==462||
  410.                 GetVehicleModel(GetPlayerVehicleID(playerid))==463||GetVehicleModel(GetPlayerVehicleID(playerid))==466||GetVehicleModel(GetPlayerVehicleID(playerid))==467||GetVehicleModel(GetPlayerVehicleID(playerid))==468||GetVehicleModel(GetPlayerVehicleID(playerid))==471||
  411.                 GetVehicleModel(GetPlayerVehicleID(playerid))==474||GetVehicleModel(GetPlayerVehicleID(playerid))==475||GetVehicleModel(GetPlayerVehicleID(playerid))==477||GetVehicleModel(GetPlayerVehicleID(playerid))==480||GetVehicleModel(GetPlayerVehicleID(playerid))==483||
  412.                 GetVehicleModel(GetPlayerVehicleID(playerid))==485||GetVehicleModel(GetPlayerVehicleID(playerid))==491||GetVehicleModel(GetPlayerVehicleID(playerid))==492||GetVehicleModel(GetPlayerVehicleID(playerid))==494||GetVehicleModel(GetPlayerVehicleID(playerid))==495||
  413.                 GetVehicleModel(GetPlayerVehicleID(playerid))==496||GetVehicleModel(GetPlayerVehicleID(playerid))==500||GetVehicleModel(GetPlayerVehicleID(playerid))==502||GetVehicleModel(GetPlayerVehicleID(playerid))==503||GetVehicleModel(GetPlayerVehicleID(playerid))==504||
  414.                 GetVehicleModel(GetPlayerVehicleID(playerid))==506||GetVehicleModel(GetPlayerVehicleID(playerid))==507||GetVehicleModel(GetPlayerVehicleID(playerid))==516||GetVehicleModel(GetPlayerVehicleID(playerid))==517||GetVehicleModel(GetPlayerVehicleID(playerid))==518||
  415.                 GetVehicleModel(GetPlayerVehicleID(playerid))==521||GetVehicleModel(GetPlayerVehicleID(playerid))==522||GetVehicleModel(GetPlayerVehicleID(playerid))==523||GetVehicleModel(GetPlayerVehicleID(playerid))==526||GetVehicleModel(GetPlayerVehicleID(playerid))==527||
  416.                 GetVehicleModel(GetPlayerVehicleID(playerid))==529||GetVehicleModel(GetPlayerVehicleID(playerid))==533||GetVehicleModel(GetPlayerVehicleID(playerid))==534||GetVehicleModel(GetPlayerVehicleID(playerid))==535||GetVehicleModel(GetPlayerVehicleID(playerid))==536||
  417.                 GetVehicleModel(GetPlayerVehicleID(playerid))==540||GetVehicleModel(GetPlayerVehicleID(playerid))==541||GetVehicleModel(GetPlayerVehicleID(playerid))==542||GetVehicleModel(GetPlayerVehicleID(playerid))==545||GetVehicleModel(GetPlayerVehicleID(playerid))==546||
  418.                 GetVehicleModel(GetPlayerVehicleID(playerid))==547||GetVehicleModel(GetPlayerVehicleID(playerid))==549||GetVehicleModel(GetPlayerVehicleID(playerid))==550||GetVehicleModel(GetPlayerVehicleID(playerid))==551||GetVehicleModel(GetPlayerVehicleID(playerid))==555||
  419.                 GetVehicleModel(GetPlayerVehicleID(playerid))==558||GetVehicleModel(GetPlayerVehicleID(playerid))==559||GetVehicleModel(GetPlayerVehicleID(playerid))==560||GetVehicleModel(GetPlayerVehicleID(playerid))==561||GetVehicleModel(GetPlayerVehicleID(playerid))==562||
  420.                 GetVehicleModel(GetPlayerVehicleID(playerid))==565||GetVehicleModel(GetPlayerVehicleID(playerid))==566||GetVehicleModel(GetPlayerVehicleID(playerid))==567||GetVehicleModel(GetPlayerVehicleID(playerid))==568||GetVehicleModel(GetPlayerVehicleID(playerid))==571||
  421.                 GetVehicleModel(GetPlayerVehicleID(playerid))==575||GetVehicleModel(GetPlayerVehicleID(playerid))==576||GetVehicleModel(GetPlayerVehicleID(playerid))==581||GetVehicleModel(GetPlayerVehicleID(playerid))==585||GetVehicleModel(GetPlayerVehicleID(playerid))==586||
  422.                 GetVehicleModel(GetPlayerVehicleID(playerid))==587||GetVehicleModel(GetPlayerVehicleID(playerid))==588||GetVehicleModel(GetPlayerVehicleID(playerid))==589||GetVehicleModel(GetPlayerVehicleID(playerid))==602||GetVehicleModel(GetPlayerVehicleID(playerid))==603||
  423.                 GetVehicleModel(GetPlayerVehicleID(playerid))==604||GetVehicleModel(GetPlayerVehicleID(playerid))==605)
  424.         {
  425.             format(str,sizeof(str),"Type: Petrol");
  426.             pInfo[playerid][VehFuelType]=1;
  427.         }
  428.         else if(GetVehicleModel(GetPlayerVehicleID(playerid))==417||GetVehicleModel(GetPlayerVehicleID(playerid))==425||GetVehicleModel(GetPlayerVehicleID(playerid))==447||GetVehicleModel(GetPlayerVehicleID(playerid))==460||GetVehicleModel(GetPlayerVehicleID(playerid))==469||
  429.                 GetVehicleModel(GetPlayerVehicleID(playerid))==476||GetVehicleModel(GetPlayerVehicleID(playerid))==487||GetVehicleModel(GetPlayerVehicleID(playerid))==488||GetVehicleModel(GetPlayerVehicleID(playerid))==497||GetVehicleModel(GetPlayerVehicleID(playerid))==511||
  430.                 GetVehicleModel(GetPlayerVehicleID(playerid))==512||GetVehicleModel(GetPlayerVehicleID(playerid))==513||GetVehicleModel(GetPlayerVehicleID(playerid))==519||GetVehicleModel(GetPlayerVehicleID(playerid))==520||GetVehicleModel(GetPlayerVehicleID(playerid))==548||
  431.                 GetVehicleModel(GetPlayerVehicleID(playerid))==553||GetVehicleModel(GetPlayerVehicleID(playerid))==563||GetVehicleModel(GetPlayerVehicleID(playerid))==577||GetVehicleModel(GetPlayerVehicleID(playerid))==592||GetVehicleModel(GetPlayerVehicleID(playerid))==593)
  432.         {
  433.             format(str,sizeof(str),"Type: Kerosene");
  434.             pInfo[playerid][VehFuelType]=3;
  435.         }
  436.         else if(GetVehicleModel(GetPlayerVehicleID(playerid))==430||GetVehicleModel(GetPlayerVehicleID(playerid))==446||GetVehicleModel(GetPlayerVehicleID(playerid))==452||GetVehicleModel(GetPlayerVehicleID(playerid))==453||GetVehicleModel(GetPlayerVehicleID(playerid))==454||
  437.                 GetVehicleModel(GetPlayerVehicleID(playerid))==472||GetVehicleModel(GetPlayerVehicleID(playerid))==473||GetVehicleModel(GetPlayerVehicleID(playerid))==484||GetVehicleModel(GetPlayerVehicleID(playerid))==493||GetVehicleModel(GetPlayerVehicleID(playerid))==595)
  438.         {
  439.             format(str,sizeof(str),"Type: Boat Petrol");
  440.             pInfo[playerid][VehFuelType]=4;
  441.         }
  442.         else if(GetVehicleModel(GetPlayerVehicleID(playerid))==441||GetVehicleModel(GetPlayerVehicleID(playerid))==449||GetVehicleModel(GetPlayerVehicleID(playerid))==450||GetVehicleModel(GetPlayerVehicleID(playerid))==464||GetVehicleModel(GetPlayerVehicleID(playerid))==465||
  443.                 GetVehicleModel(GetPlayerVehicleID(playerid))==481||GetVehicleModel(GetPlayerVehicleID(playerid))==501||GetVehicleModel(GetPlayerVehicleID(playerid))==509||GetVehicleModel(GetPlayerVehicleID(playerid))==510||GetVehicleModel(GetPlayerVehicleID(playerid))==537||
  444.                 GetVehicleModel(GetPlayerVehicleID(playerid))==538||GetVehicleModel(GetPlayerVehicleID(playerid))==564||GetVehicleModel(GetPlayerVehicleID(playerid))==569||GetVehicleModel(GetPlayerVehicleID(playerid))==570||GetVehicleModel(GetPlayerVehicleID(playerid))==584||
  445.                 GetVehicleModel(GetPlayerVehicleID(playerid))==590||GetVehicleModel(GetPlayerVehicleID(playerid))==591||GetVehicleModel(GetPlayerVehicleID(playerid))==594||GetVehicleModel(GetPlayerVehicleID(playerid))==606||GetVehicleModel(GetPlayerVehicleID(playerid))==607||
  446.                 GetVehicleModel(GetPlayerVehicleID(playerid))==608||GetVehicleModel(GetPlayerVehicleID(playerid))==610||GetVehicleModel(GetPlayerVehicleID(playerid))==611)
  447.         {
  448.             format(str,sizeof(str),"Type: None");
  449.             pInfo[playerid][VehFuelType]=0;
  450.         }
  451.         PlayerTextDrawSetString(playerid,FuelTypeText[playerid],str);
  452.         PlayerTextDrawShow(playerid,FuelTypeText[playerid]);
  453.        
  454.         FuelText[playerid] = CreatePlayerTextDraw(playerid,566.000000, 400.000000, "Fuel:");
  455.         PlayerTextDrawAlignment(playerid,FuelText[playerid], 2);
  456.         PlayerTextDrawBackgroundColor(playerid,FuelText[playerid], 255);
  457.         PlayerTextDrawFont(playerid,FuelText[playerid], 1);
  458.         PlayerTextDrawLetterSize(playerid,FuelText[playerid], 0.430000, 1.800000);
  459.         PlayerTextDrawColor(playerid,FuelText[playerid], -1);
  460.         PlayerTextDrawSetOutline(playerid,FuelText[playerid], 0);
  461.         PlayerTextDrawSetProportional(playerid,FuelText[playerid], 1);
  462.         PlayerTextDrawSetShadow(playerid,FuelText[playerid], 1);
  463.         if(pInfo[playerid][VehFuelType]==0)
  464.         {
  465.             if(pInfo[playerid][VehIDOld]==GetPlayerVehicleID(playerid))
  466.             {
  467.                 format(str,sizeof(str)," ");
  468.                 pInfo[playerid][Fuel]=-1;
  469.                 pInfo[playerid][CurrentMeters]=pInfo[playerid][OldMeters];
  470.             }
  471.             else
  472.             {
  473.                 format(str,sizeof(str)," ");
  474.                 pInfo[playerid][Fuel]=-1;
  475.                 pInfo[playerid][CurrentMeters]=0;
  476.             }
  477.         }
  478.         else if(pInfo[playerid][VehFuelType]>0)
  479.         {
  480.             if(pInfo[playerid][VehIDOld]==GetPlayerVehicleID(playerid))
  481.             {
  482.                 format(str,sizeof(str),"Fuel: %d%",pInfo[playerid][OldFuel]);
  483.                 pInfo[playerid][Fuel]=pInfo[playerid][OldFuel];
  484.                 pInfo[playerid][CurrentMeters]=pInfo[playerid][OldMeters];
  485.             }
  486.             else
  487.             {
  488.                 format(str,sizeof(str),"Fuel: 100%");
  489.                 pInfo[playerid][Fuel]=100;
  490.                 pInfo[playerid][CurrentMeters]=0;
  491.             }
  492.             GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
  493.             SetVehicleParamsEx(GetPlayerVehicleID(playerid),0, lights, alarm, doors, bonnet, boot, objective);
  494.             GameTextForPlayer(playerid,"~w~Press ~r~~k~~CONVERSATION_YES~~w~ to start your ~r~engine~w~!",3000,3);
  495.             pInfo[playerid][EngineOn]=0;
  496.         }
  497.         PlayerTextDrawSetString(playerid,FuelText[playerid],str);
  498.         PlayerTextDrawShow(playerid,FuelText[playerid]);
  499.        
  500.         pInfo[playerid][VehIDOld]=GetPlayerVehicleID(playerid);
  501.         Speedoupdate[playerid]=SetTimerEx("SpeedoUpdateTime",SpeedoUpdate,1,"i",playerid);
  502.     }
  503.     if(oldstate==PLAYER_STATE_DRIVER && newstate==PLAYER_STATE_ONFOOT)
  504.     {
  505.         pInfo[playerid][OldFuel]=pInfo[playerid][Fuel];
  506.         pInfo[playerid][OldMeters]=pInfo[playerid][CurrentMeters];
  507.         PlayerTextDrawDestroy(playerid,SpeedoBox[playerid]);
  508.         PlayerTextDrawDestroy(playerid,Vehicle[playerid]);
  509.         PlayerTextDrawDestroy(playerid,VehHealth[playerid]);
  510.         PlayerTextDrawDestroy(playerid,Location[playerid]);
  511.         PlayerTextDrawDestroy(playerid,Speed[playerid]);
  512.         PlayerTextDrawDestroy(playerid,Odo[playerid]);
  513.         PlayerTextDrawDestroy(playerid,FuelText[playerid]);
  514.         PlayerTextDrawDestroy(playerid,FuelTypeText[playerid]);
  515.     }
  516.     return 1;
  517. }
  518.  
  519. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  520. {
  521.     if(pInfo[playerid][Refueling]==1)
  522.     {
  523.         if((newkeys&KEY_HANDBRAKE)&&!(oldkeys&KEY_HANDBRAKE)) //Detecting if key for hanadbrake is pressed and holded
  524.         {
  525.             Refuelupdate[playerid]=SetTimerEx("RefuelUpdateTimer",RefuelUpdate,1,"i",playerid);
  526.         }
  527.         if((oldkeys&KEY_HANDBRAKE)&&!(newkeys&KEY_HANDBRAKE)) //Detecting if key for handbreak got released
  528.         {
  529.             KillTimer(Refuelupdate[playerid]);
  530.             SendClientMessage(playerid,-1,"To end refueling your vehicle type /endfuel!");
  531.         }
  532.     }
  533.     if((newkeys&KEY_YES)&&!(oldkeys&KEY_YES))
  534.     {
  535.         if(pInfo[playerid][EngineOn]==0&&pInfo[playerid][Refueling]!=1)
  536.         {
  537.             new engine, lights, alarm, doors, bonnet, boot, objective;
  538.             GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
  539.             SetVehicleParamsEx(GetPlayerVehicleID(playerid),1, lights, alarm, doors, bonnet, boot, objective);
  540.             pInfo[playerid][EngineOn]=1;
  541.         }
  542.     }
  543.     return 1;
  544. }
  545.  
  546. public OnPlayerExitVehicle(playerid, vehicleid)
  547. {
  548.     pInfo[playerid][VehIDOld]=GetPlayerVehicleID(playerid);
  549.     KillTimer(Speedoupdate[playerid]);
  550.     new engine, lights, alarm, doors, bonnet, boot, objective;
  551.     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  552.     SetVehicleParamsEx(vehicleid,0, lights, alarm, doors, bonnet, boot, objective);
  553.     return 1;
  554. }
  555.  
  556. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  557. {
  558.     switch(dialogid)
  559.     {
  560.         case CREATESTATIONFUELTYPE:
  561.         {
  562.             if(!response)
  563.             {
  564.                 pInfo[playerid][CreatePosX]=0;
  565.                 pInfo[playerid][CreatePosY]=0;
  566.                 pInfo[playerid][CreatePosZ]=0;
  567.                 SendClientMessage(playerid,-1,"You canceled creating a new fuel station!");
  568.             }
  569.             if(response)
  570.             {
  571.                 switch(listitem)
  572.                 {
  573.                     case 0:
  574.                     {
  575.                         pInfo[playerid][CreateFuelType]=1;
  576.                         ShowPlayerDialog(playerid,CREATESTATIONFUELPRICE,DIALOG_STYLE_INPUT,"Fuel Price","Please insert a fuel price!","Okay","");
  577.                     }
  578.                     case 1:
  579.                     {
  580.                         pInfo[playerid][CreateFuelType]=2;
  581.                         ShowPlayerDialog(playerid,CREATESTATIONFUELPRICE,DIALOG_STYLE_INPUT,"Fuel Price","Please insert a fuel price!","Okay","");
  582.                     }
  583.                     case 2:
  584.                     {
  585.                         pInfo[playerid][CreateFuelType]=3;
  586.                         ShowPlayerDialog(playerid,CREATESTATIONFUELPRICE,DIALOG_STYLE_INPUT,"Fuel Price","Please insert a fuel price!","Okay","");
  587.                     }
  588.                     case 3:
  589.                     {
  590.                         pInfo[playerid][CreateFuelType]=4;
  591.                         ShowPlayerDialog(playerid,CREATESTATIONFUELPRICE,DIALOG_STYLE_INPUT,"Fuel Price","Please insert a fuel price!","Okay","");
  592.                     }
  593.                 }
  594.             }
  595.         }
  596.         case CREATESTATIONFUELPRICE:
  597.         {
  598.             if(!response)
  599.             {
  600.                 pInfo[playerid][CreatePosX]=0;
  601.                 pInfo[playerid][CreatePosY]=0;
  602.                 pInfo[playerid][CreatePosZ]=0;
  603.                 pInfo[playerid][CreateFuelType]=0;
  604.                 SendClientMessage(playerid,-1,"You canceled creating a new fuel station!");
  605.             }
  606.             if(response)
  607.             {
  608.                 new str[258],input[4],i;
  609.                 if(strlen(inputtext)<1||strlen(inputtext)>3) return SendClientMessage(playerid,-1,"Minimum value 1 and maximum value 999!");
  610.                 if(sscanf(inputtext,"i",i)) return SendClientMessage(playerid,-1,"Only values between 1 and 999");
  611.                 if(i<1||i>999) return SendClientMessage(playerid,-1,"Only values between 1 and 999");
  612.                 {
  613.                     count++;
  614.                     format(input,sizeof(input),"%i",strval(inputtext));
  615.                     format(str,sizeof(str),"INSERT INTO `FuelStations`(`PosX`,`PosY`,`PosZ`,`Price`,`FuelType`)VALUES('%f','%f','%f','%s','%d')",pInfo[playerid][CreatePosX],pInfo[playerid][CreatePosY],pInfo[playerid][CreatePosZ],input,pInfo[playerid][CreateFuelType]);
  616.                     db_query(database,str);
  617.                     SendClientMessage(playerid,-1,"Created successfully new Gas Station!");
  618.                     format(str,sizeof(str),"Pos X: %f || Pos Y: %f || Pos Z: %f",pInfo[playerid][CreatePosX],pInfo[playerid][CreatePosY],pInfo[playerid][CreatePosZ]);
  619.                     SendClientMessage(playerid,-1,str);
  620.                     i=count;
  621.                     Pickup[i]=CreateDynamicPickup(1274,1,pInfo[playerid][CreatePosX],pInfo[playerid][CreatePosY],pInfo[playerid][CreatePosZ],0);
  622.                     MapIcon[i]=CreateDynamicMapIcon(pInfo[playerid][CreatePosX],pInfo[playerid][CreatePosY],pInfo[playerid][CreatePosZ],52,-1,-1,-1,-1,100);
  623.                     if(pInfo[playerid][CreateFuelType]==1)
  624.                     {
  625.                         format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Benzin\nPrice: %d",strval(inputtext));
  626.                     }
  627.                     else if(pInfo[playerid][CreateFuelType]==2)
  628.                     {
  629.                         format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Diesel\nPrice: %d",strval(inputtext));
  630.                     }
  631.                     else if(pInfo[playerid][CreateFuelType]==3)
  632.                     {
  633.                         format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Kerosene\nPrice: %d",strval(inputtext));
  634.                     }
  635.                     else if(pInfo[playerid][CreateFuelType]==3)
  636.                     {
  637.                         format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Boat Petrol\nPrice: %d",strval(inputtext));
  638.                     }
  639.                     DLabel[i]=CreateDynamic3DTextLabel(str,0x5EFF00FF,pInfo[playerid][CreatePosX],pInfo[playerid][CreatePosY],pInfo[playerid][CreatePosZ],40,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,-1,-1,-1,100);
  640.                     pInfo[playerid][CreatePosX]=0;
  641.                     pInfo[playerid][CreatePosY]=0;
  642.                     pInfo[playerid][CreatePosZ]=0;
  643.                     pInfo[playerid][CreateFuelType]=0;
  644.                 }
  645.             }
  646.         }
  647.         case EDITSTATION:
  648.         {
  649.             if(!response)
  650.             {
  651.                 SendClientMessage(playerid,-1,"You canceled editing this Gas Station!");
  652.                 pInfo[playerid][IDToEdit]=0;
  653.             }
  654.             if(response)
  655.             {
  656.                 switch(listitem)
  657.                 {
  658.                     case 0:
  659.                     {
  660.                         ShowPlayerDialog(playerid,EDITSTATIONFUEL,DIALOG_STYLE_LIST,"Fuel Type","Petrol\nDiesel\nKerosene\nBoat Petrol","Okay","");
  661.                     }
  662.                     case 1:
  663.                     {
  664.                         ShowPlayerDialog(playerid,EDITSTATIONPRICE,DIALOG_STYLE_INPUT,"Fuel Price","Please insert a fuel price!","Okay","");
  665.                     }
  666.                     case 2:
  667.                     {
  668.                         new str[128],i;
  669.                         format(str,sizeof(str),"DELETE FROM `FuelStations` WHERE `ID`='%i'",pInfo[playerid][IDToEdit]);
  670.                         db_query(database,str);
  671.                         format(str,sizeof(str),"Gas Station [ID %i] successfully removed!",pInfo[playerid][IDToEdit]);
  672.                         SendClientMessage(playerid,-1,str);
  673.                         i=pInfo[playerid][IDToEdit];
  674.                         DestroyDynamicPickup(Pickup[i]);
  675.                         DestroyDynamicMapIcon(MapIcon[i]);
  676.                         DestroyDynamic3DTextLabel(DLabel[i]);
  677.                         pInfo[playerid][IDToEdit]=0;
  678.                     }
  679.                 }
  680.             }
  681.         }
  682.         case EDITSTATIONFUEL:
  683.         {
  684.             new str[128],i;
  685.             if(!response)
  686.             {
  687.                 SendClientMessage(playerid,-1,"You canceled editing this Gas Station!");
  688.                 pInfo[playerid][IDToEdit]=0;
  689.             }
  690.             if(response)
  691.             {
  692.                 switch(listitem)
  693.                 {
  694.                     case 0:
  695.                     {
  696.                         i=pInfo[playerid][IDToEdit];
  697.                         format(str,sizeof(str),"UPDATE `FuelStations`SET`FuelType`='1'WHERE`ID`='%i'",pInfo[playerid][IDToEdit]);
  698.                         db_query(database,str);
  699.                         format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Benzin\nPrice: %d",pInfo[playerid][PriceToEdit]);
  700.                         UpdateDynamic3DTextLabelText(DLabel[i],0x5EFF00FF,str);
  701.                         SendClientMessage(playerid,-1,"Gas Station successfully edited!");
  702.                         pInfo[playerid][IDToEdit]=0;
  703.                     }
  704.                     case 1:
  705.                     {
  706.                         i=pInfo[playerid][IDToEdit];
  707.                         format(str,sizeof(str),"UPDATE `FuelStations`SET`FuelType`='2'WHERE`ID`='%i'",pInfo[playerid][IDToEdit]);
  708.                         db_query(database,str);
  709.                         format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Diesel\nPrice: %d",pInfo[playerid][PriceToEdit]);
  710.                         UpdateDynamic3DTextLabelText(DLabel[i],0x5EFF00FF,str);
  711.                         SendClientMessage(playerid,-1,"Gas Station successfully edited!");
  712.                         pInfo[playerid][IDToEdit]=0;
  713.                     }
  714.                     case 2:
  715.                     {
  716.                         i=pInfo[playerid][IDToEdit];
  717.                         format(str,sizeof(str),"UPDATE `FuelStations`SET`FuelType`='3'WHERE`ID`='%i'",pInfo[playerid][IDToEdit]);
  718.                         db_query(database,str);
  719.                         format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Kerosene\nPrice: %d",pInfo[playerid][PriceToEdit]);
  720.                         UpdateDynamic3DTextLabelText(DLabel[i],0x5EFF00FF,str);
  721.                         SendClientMessage(playerid,-1,"Gas Station successfully edited!");
  722.                         pInfo[playerid][IDToEdit]=0;
  723.                     }
  724.                     case 3:
  725.                     {
  726.                         i=pInfo[playerid][IDToEdit];
  727.                         format(str,sizeof(str),"UPDATE `FuelStations`SET`FuelType`='4'WHERE`ID`='%i'",pInfo[playerid][IDToEdit]);
  728.                         db_query(database,str);
  729.                         format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Boat Fuel\nPrice: %d",pInfo[playerid][PriceToEdit]);
  730.                         UpdateDynamic3DTextLabelText(DLabel[i],0x5EFF00FF,str);
  731.                         SendClientMessage(playerid,-1,"Gas Station successfully edited!");
  732.                         pInfo[playerid][IDToEdit]=0;
  733.                     }
  734.                 }
  735.             }
  736.         }
  737.         case EDITSTATIONPRICE:
  738.         {
  739.             new str[128],input[4],i,d;
  740.             if(!response)
  741.             {
  742.                 SendClientMessage(playerid,-1,"You canceled editing this Gas Station!");
  743.                 pInfo[playerid][IDToEdit]=0;
  744.             }
  745.             if(response)
  746.             {
  747.                 if(strlen(inputtext)<1||strlen(inputtext)>3) return SendClientMessage(playerid,-1,"Minimum value 1 and maximum value 999!");
  748.                 {
  749.                     if(sscanf(inputtext,"i",d)) return SendClientMessage(playerid,-1,"Only values between 1 and 999");
  750.                     if(d<1||d>999) return SendClientMessage(playerid,-1,"Only values between 1 and 999");
  751.                     format(input,sizeof(input),"%i",strval(inputtext));
  752.                     format(str,sizeof(str),"UPDATE`FuelStations`SET`Price`='%i'WHERE`ID`='%i'",input,pInfo[playerid][IDToEdit]);
  753.                     db_query(database,str);
  754.                     i=pInfo[playerid][IDToEdit];
  755.                     if(pInfo[playerid][TypeToEdit]==1)
  756.                     {
  757.                         format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Benzin\nPrice: %d",strval(inputtext));
  758.                     }
  759.                     else if(pInfo[playerid][TypeToEdit]==2)
  760.                     {
  761.                         format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Diesel\nPrice: %d",strval(inputtext));
  762.                     }
  763.                     else if(pInfo[playerid][TypeToEdit]==3)
  764.                     {
  765.                         format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Kerosene\nPrice: %d",strval(inputtext));
  766.                     }
  767.                     else if(pInfo[playerid][TypeToEdit]==4)
  768.                     {
  769.                         format(str,sizeof(str),"Type /refuel to refuel your vehicle!\nFuel: Boat Petrol\nPrice: %d",strval(inputtext));
  770.                     }
  771.                     UpdateDynamic3DTextLabelText(DLabel[i],0x5EFF00FF,str);
  772.                     SendClientMessage(playerid,-1,"Gas Station successfully edited!");
  773.                     pInfo[playerid][IDToEdit]=0;
  774.                 }
  775.             }
  776.         }
  777.     }
  778.     return 0;
  779. }
  780.  
  781. public SpeedoUpdateTime(playerid)
  782. {
  783.     new str[128],Float:health,zone[128],engine, lights, alarm, doors, bonnet, boot, objective;
  784.     GetVehicleHealth(GetPlayerVehicleID(playerid),health);
  785.     if(health>310)
  786.     {
  787.         format(str,sizeof(str),"Health: %0.0f%",health/10);
  788.     }
  789.     else if(health<310)
  790.     {
  791.         format(str,sizeof(str),"Engine stalled!");
  792.         GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
  793.         SetVehicleParamsEx(GetPlayerVehicleID(playerid),0, lights, alarm, doors, bonnet, boot, objective);
  794.         SetVehicleHealth(GetPlayerVehicleID(playerid),305);
  795.     }
  796.     PlayerTextDrawSetString(playerid,VehHealth[playerid],str);
  797.     PlayerTextDrawShow(playerid,VehHealth[playerid]);
  798.     GetPlayer2DZone(playerid,zone,sizeof(zone));
  799.     format(str,sizeof(str),"Location: %s",zone);
  800.     PlayerTextDrawSetString(playerid,Location[playerid],str);
  801.     PlayerTextDrawShow(playerid,Location[playerid]);
  802.     format(str,sizeof(str),"Speed: %dkm/h",GetPlayerSpeed(playerid));
  803.     PlayerTextDrawSetString(playerid,Speed[playerid],str);
  804.     PlayerTextDrawShow(playerid,Speed[playerid]);
  805.     pInfo[playerid][FuelTime]++;
  806.     if(GetPlayerSpeed(playerid)==0)
  807.     {
  808.         pInfo[playerid][FuelTime]=0;
  809.     }
  810.     if(GetPlayerSpeed(playerid)!=0)
  811.     {
  812.         pInfo[playerid][Meters]=pInfo[playerid][Meters]+(GetPlayerSpeed(playerid)/7.2);
  813.         pInfo[playerid][KMS]=pInfo[playerid][Meters]/1000;
  814.         pInfo[playerid][CurrentMeters]=pInfo[playerid][CurrentMeters]+(GetPlayerSpeed(playerid)/7.2);
  815.         if(pInfo[playerid][VehFuelType]==1)
  816.         {
  817.             if(pInfo[playerid][CurrentMeters]>BENZINMETERS)
  818.             {
  819.                 pInfo[playerid][Fuel]--;
  820.                 pInfo[playerid][CurrentMeters]=0;
  821.             }
  822.         }
  823.         else if(pInfo[playerid][VehFuelType]==2)
  824.         {
  825.             if(pInfo[playerid][CurrentMeters]>DIESELMETERS)
  826.             {
  827.                 pInfo[playerid][Fuel]--;
  828.                 pInfo[playerid][CurrentMeters]=0;
  829.             }
  830.         }
  831.         else if(pInfo[playerid][VehFuelType]==3)
  832.         {
  833.             if(pInfo[playerid][CurrentMeters]>KEROSINMETERS)
  834.             {
  835.                 pInfo[playerid][Fuel]--;
  836.                 pInfo[playerid][CurrentMeters]=0;
  837.             }
  838.         }
  839.         else if(pInfo[playerid][VehFuelType]==4)
  840.         {
  841.             if(pInfo[playerid][CurrentMeters]>BOATBENZINMETERS)
  842.             {
  843.                 pInfo[playerid][Fuel]--;
  844.                 pInfo[playerid][CurrentMeters]=0;
  845.             }
  846.         }
  847.         else if(pInfo[playerid][VehFuelType]==0)
  848.         {
  849.             pInfo[playerid][CurrentMeters]=0;
  850.         }
  851.     }
  852.     if(pInfo[playerid][VehFuelType]!=0)
  853.     {
  854.         if(pInfo[playerid][Fuel]>0)
  855.         {
  856.             format(str,sizeof(str),"Fuel: %d%",pInfo[playerid][Fuel]);
  857.         }
  858.         else if(pInfo[playerid][Fuel]==0)
  859.         {
  860.             format(str,sizeof(str),"Out of Fuel!");
  861.             GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
  862.             SetVehicleParamsEx(GetPlayerVehicleID(playerid),0, lights, alarm, doors, bonnet, boot, objective);
  863.         }
  864.         PlayerTextDrawSetString(playerid,FuelText[playerid],str);
  865.         PlayerTextDrawShow(playerid,FuelText[playerid]);
  866.     }
  867.     format(str,sizeof(str),"Odo: %0.1fkms",pInfo[playerid][KMS]);
  868.     PlayerTextDrawSetString(playerid,Odo[playerid],str);
  869.     PlayerTextDrawShow(playerid,Odo[playerid]);
  870.     return 1;
  871. }
  872.  
  873. public RefuelUpdateTimer(playerid)
  874. {
  875.     if(pInfo[playerid][Fuel]==100)
  876.     {
  877.         if(pInfo[playerid][Refueled]==0)
  878.         {
  879.             SendClientMessage(playerid,-1,"Your vehicle is already refueled!");
  880.             pInfo[playerid][Refueled]=1;
  881.         }
  882.     }
  883.     else
  884.     {
  885.         if(GetPlayerMoney(playerid)>pInfo[playerid][ToPay])
  886.         {
  887.             new str[128];
  888.             pInfo[playerid][ToPay]=pInfo[playerid][ToPay]+pInfo[playerid][PricePer];
  889.             pInfo[playerid][Fuel]++;
  890.             format(str,sizeof(str),"Price: %d",pInfo[playerid][ToPay]);
  891.             GameTextForPlayer(playerid,str,RefuelUpdate,3);
  892.         }
  893.         else
  894.         {
  895.             SendClientMessage(playerid,-1,"You doesn't have enough money!");
  896.         }
  897.     }
  898.     return 1;
  899. }
  900.  
  901. CMD:createstation(playerid,params[])
  902. {
  903.     new Float:zPos[3];
  904.     if(IsPlayerAdmin(playerid))
  905.     {
  906.         if(IsPlayerInAnyVehicle(playerid))
  907.         {
  908.             SendClientMessage(playerid,-1,"You can't create a Gas Station while you are in a vehicle!");
  909.         }
  910.         else
  911.         {
  912.             GetPlayerPos(playerid,zPos[0],zPos[1],zPos[2]);
  913.             pInfo[playerid][CreatePosX]=zPos[0];
  914.             pInfo[playerid][CreatePosY]=zPos[1];
  915.             pInfo[playerid][CreatePosZ]=zPos[2];
  916.             ShowPlayerDialog(playerid,CREATESTATIONFUELTYPE,DIALOG_STYLE_LIST,"Fuel Type","Petrol\nDiesel\nKerosene\nBoat Petrol","Okay","");
  917.         }
  918.     }
  919.     else return SendClientMessage(playerid,-1,"You can't perform this command!");
  920.     return 1;
  921. }
  922.  
  923. CMD:porttostation(playerid,params[])
  924. {
  925.     new id,Float:zPos[3],DBResult:Result,str[128];
  926.     if(IsPlayerAdmin(playerid))
  927.     {
  928.         if(sscanf(params,"i",id)) return SendClientMessage(playerid,-1,"[USAGE]: /porttostation <station id>");
  929.         {
  930.             format(str,sizeof(str),"SELECT*FROM`FuelStations`WHERE`ID`='%i'",id);
  931.             Result=db_query(database,str);
  932.             if(db_num_rows(Result)>0)
  933.             {
  934.                 db_get_field_assoc(Result,"PosX",str,sizeof(str));
  935.                 zPos[0]=floatstr(str);
  936.                 db_get_field_assoc(Result,"PosY",str,sizeof(str));
  937.                 zPos[1]=floatstr(str);
  938.                 db_get_field_assoc(Result,"PosZ",str,sizeof(str));
  939.                 zPos[2]=floatstr(str);
  940.                 SetPlayerPos(playerid,zPos[0],zPos[1],zPos[2]);
  941.                 format(str,sizeof(str),"Successfully to Gas Station [ID: %i] ported!",id);
  942.             }
  943.             else
  944.             {
  945.                 SendClientMessage(playerid,-1,"This Gas Station ID doesn't exists!");
  946.             }
  947.         }
  948.     }
  949.     else return SendClientMessage(playerid,-1,"You can't perform this command!");
  950.     return 1;
  951. }
  952.  
  953. CMD:editstation(playerid,params[])
  954. {
  955.     new id,DBResult:Result,str[128];
  956.     if(IsPlayerAdmin(playerid))
  957.     {
  958.         if(sscanf(params,"i",id)) return SendClientMessage(playerid,-1,"[USAGE]: /editstation <station id>");
  959.         {
  960.             format(str,sizeof(str),"SELECT*FROM`FuelStations`WHERE`ID`='%i'",id);
  961.             Result=db_query(database,str);
  962.             if(db_num_rows(Result)>0)
  963.             {
  964.                 db_get_field_assoc(Result,"Price",str,sizeof(str));
  965.                 pInfo[playerid][PriceToEdit]=strval(str);
  966.                 db_get_field_assoc(Result,"FuelType",str,sizeof(str));
  967.                 pInfo[playerid][TypeToEdit]=strval(str);
  968.                 pInfo[playerid][IDToEdit]=id;
  969.                 ShowPlayerDialog(playerid,EDITSTATION,DIALOG_STYLE_LIST,"Edit Gas Station","Fuel Type\nPrice\n{FF0000}Remove Station","Okay","Cancel");
  970.             }
  971.             else
  972.             {
  973.                 SendClientMessage(playerid,-1,"This Gas Station ID doesn't exists!");
  974.             }
  975.         }
  976.     }
  977.     else return SendClientMessage(playerid,-1,"You can't perform this command!");
  978.     return 1;
  979. }
  980.  
  981. CMD:credits(playerid,params[])
  982. {
  983.     new str[128];
  984.     format(str,sizeof(str),"{00FF5E}SA:MP Team: a_samp.inc\n");
  985.     strcat(str,"~Cueball~: zones.inc\n",sizeof(str));
  986.     strcat(str,"Zamaroht: Textdraw Editor\n",sizeof(str));
  987.     strcat(str,"Incognito: Streamer\n",sizeof(str));
  988.     strcat(str,"Zeex: zcmd\n",sizeof(str));
  989.     strcat(str,"ulbi1990: Script",sizeof(str));
  990.     ShowPlayerDialog(playerid,CREDITS,DIALOG_STYLE_MSGBOX,"Credits",str,"Okay","");
  991.     return 1;
  992. }
  993.  
  994. CMD:refuel(playerid,params[])
  995. {
  996.     if(GetPlayerVehicleSeat(playerid)==0)
  997.     {
  998.         if(pInfo[playerid][VehFuelType]!=0)
  999.         {
  1000.             new DBResult:Result,str[128],engine, lights, alarm, doors, bonnet, boot, objective;
  1001.             for(new i=0;i<MAX_STATIONS;i++)
  1002.             {
  1003.                 format(str,sizeof(str),"SELECT * FROM `FuelStations` WHERE `ID`='%i'",i);
  1004.                 Result=db_query(database,str);
  1005.                 if(db_num_rows(Result)>0)
  1006.                 {
  1007.                     db_get_field_assoc(Result,"ID",str,sizeof(str));
  1008.                     fInfo[i][ID]=strval(str);
  1009.                     db_get_field_assoc(Result,"PosX",str,sizeof(str));
  1010.                     fInfo[i][PosX]=floatstr(str);
  1011.                     db_get_field_assoc(Result,"PosY",str,sizeof(str));
  1012.                     fInfo[i][PosY]=floatstr(str);
  1013.                     db_get_field_assoc(Result,"PosZ",str,sizeof(str));
  1014.                     fInfo[i][PosZ]=floatstr(str);
  1015.                     db_get_field_assoc(Result,"Price",str,sizeof(str));
  1016.                     pInfo[playerid][PricePer]=strval(str);
  1017.                     db_get_field_assoc(Result,"FuelType",str,sizeof(str));
  1018.                     fInfo[i][FuelType]=strval(str);
  1019.                     if(IsPlayerInRangeOfPoint(playerid,5,fInfo[i][PosX],fInfo[i][PosY],fInfo[i][PosZ]))
  1020.                     {
  1021.                         if(pInfo[playerid][VehFuelType]==fInfo[i][FuelType])
  1022.                         {
  1023.                             GameTextForPlayer(playerid,"~w~Press ~r~~k~~VEHICLE_HANDBRAKE~~w~to refuel your vehicle!",3000,3);
  1024.                             GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
  1025.                             SetVehicleParamsEx(GetPlayerVehicleID(playerid),0, lights, alarm, doors, bonnet, boot, objective);
  1026.                             pInfo[playerid][Refueling]=1;
  1027.                         }
  1028.                         else
  1029.                         {
  1030.                             SendClientMessage(playerid,-1,"Wrong Fuel Type!");
  1031.                         }
  1032.                     }
  1033.                 }
  1034.             }
  1035.             SendClientMessage(playerid,-1,"You are not close enough to a Gas Station!");
  1036.         }
  1037.         else
  1038.         {
  1039.             SendClientMessage(playerid,-1,"This vehicle doesn't requires Fuel!");
  1040.         }
  1041.     }
  1042.     else return SendClientMessage(playerid,-1,"You can't use this command On-Foot or as passenger!");
  1043.     return 1;
  1044. }
  1045.  
  1046. CMD:endfuel(playerid,params[])
  1047. {
  1048.     if(pInfo[playerid][Refueling]==1)
  1049.     {
  1050.         GameTextForPlayer(playerid,"~w~Press ~r~~k~~CONVERSATION_YES~~w~ to start your ~r~engine~w~!",3000,3);
  1051.         GivePlayerMoney(playerid,-pInfo[playerid][ToPay]);
  1052.         pInfo[playerid][ToPay]=0;
  1053.         pInfo[playerid][EngineOn]=0;
  1054.         pInfo[playerid][Refueled]=0;
  1055.         pInfo[playerid][Refueling]=0;
  1056.         pInfo[playerid][ToPay]=0;
  1057.     }
  1058.     return 1;
  1059. }
  1060.  
  1061. CMD:ucmds(playerid,params[])
  1062. {
  1063.     new str[512];
  1064.     format(str,sizeof(str),"/ucmds\t\tShows all commands for uSpeedoFuel\n");
  1065.     strcat(str,"/refuel\t\t\tTo refuel your vehicle at a Gas Station\n",sizeof(str));
  1066.     strcat(str,"/endfuel\t\tTo end and pay refueling your vehicle\n",sizeof(str));
  1067.     strcat(str,"/scolor <hex color>\t\tChanges the background of the speedometer\n",sizeof(str));
  1068.     if(IsPlayerAdmin(playerid))
  1069.     {
  1070.         strcat(str,"/createstation\t\tCreate a Gas Station\n",sizeof(str));
  1071.         strcat(str,"/porttostation <id>\tPort to the Gas Station (ID)\n",sizeof(str));
  1072.         strcat(str,"/editstation <id>\tEdit a Gas Station (ID) Price, Fuel Type and Removal\n",sizeof(str));
  1073.         strcat(str,"/getstationid\t\tShows the closest Gas Station ID",sizeof(str));
  1074.     }
  1075.     ShowPlayerDialog(playerid,UCMDSDIALOG,DIALOG_STYLE_MSGBOX,"uSpeedoFuel Commands",str,"Okay","");
  1076.     return 1;
  1077. }
  1078.  
  1079. CMD:scolor(playerid,params[])
  1080. {
  1081.     new color[11];
  1082.     if(sscanf(params,"x",color)) return SendClientMessage(playerid,-1,"[USAGE]: /scolor [hex color]");
  1083.     {
  1084.         if(strlen(params)<10||strlen(params)>10)
  1085.         {
  1086.             SendClientMessage(playerid,-1,"Please ONLY hex colors!");
  1087.         }
  1088.         else
  1089.         {
  1090.             format(color,sizeof(color),"0x%c%c%c%c%c%c50",params[2],params[3],params[4],params[5],params[6],params[7]);
  1091.             pInfo[playerid][SpeedoColor]=HexToInt(color);
  1092.             PlayerTextDrawHide(playerid,SpeedoBox[playerid]);
  1093.             PlayerTextDrawBoxColor(playerid,SpeedoBox[playerid],pInfo[playerid][SpeedoColor]);
  1094.             PlayerTextDrawShow(playerid,SpeedoBox[playerid]);
  1095.         }
  1096.     }
  1097.     return 1;
  1098. }
  1099.  
  1100. CMD:getstationid(playerid,params[])
  1101. {
  1102.     if(IsPlayerAdmin(playerid))
  1103.     {
  1104.         new DBResult:Result,str[128],str1[128];
  1105.         for(new i=0;i<MAX_STATIONS;i++)
  1106.         {
  1107.             format(str,sizeof(str),"SELECT * FROM `FuelStations` WHERE `ID`='%i'",i);
  1108.             Result=db_query(database,str);
  1109.             if(db_num_rows(Result)>0)
  1110.             {
  1111.                 db_get_field_assoc(Result,"ID",str,sizeof(str));
  1112.                 fInfo[i][ID]=strval(str);
  1113.                 db_get_field_assoc(Result,"PosX",str,sizeof(str));
  1114.                 fInfo[i][PosX]=floatstr(str);
  1115.                 db_get_field_assoc(Result,"PosY",str,sizeof(str));
  1116.                 fInfo[i][PosY]=floatstr(str);
  1117.                 db_get_field_assoc(Result,"PosZ",str,sizeof(str));
  1118.                 fInfo[i][PosZ]=floatstr(str);
  1119.                 if(IsPlayerInRangeOfPoint(playerid,5,fInfo[i][PosX],fInfo[i][PosY],fInfo[i][PosZ]))
  1120.                 {
  1121.                     format(str1,sizeof(str1),"Closest Gas Station ID: %i",fInfo[i][ID]);
  1122.                     SendClientMessage(playerid,-1,str1);
  1123.                 }
  1124.             }
  1125.         }
  1126.     }
  1127.     else
  1128.     {
  1129.         SendClientMessage(playerid,-1,"You can't perform this command!");
  1130.     }
  1131.     return 1;
  1132. }
  1133. /*==============================================================================
  1134.                                     GERMAN
  1135. ==============================================================================*/
  1136.  
  1137. #else
  1138.  
  1139. public OnPlayerConnect(playerid)
  1140. {
  1141.     SendClientMessage(playerid,-1,"Dieser Server nutzt das Speedometer und Tankstellen System {93FF00}'uSpeedoFuel'{FFFFFF} by ulbi1990!");
  1142.     SendClientMessage(playerid,-1,"Commands: /ucmds");
  1143.     pInfo[playerid][Fuel]=0;
  1144.     pInfo[playerid][FuelTime]=0;
  1145.     pInfo[playerid][OldFuel]=0;
  1146.     pInfo[playerid][Meters]=0;
  1147.     pInfo[playerid][KMS]=0;
  1148.     pInfo[playerid][CurrentMeters]=0;
  1149.     pInfo[playerid][OldMeters]=0;
  1150.     pInfo[playerid][VehFuelType]=0;
  1151.     pInfo[playerid][VehIDOld]=0;
  1152.     pInfo[playerid][Refueling]=0;
  1153.     pInfo[playerid][Refueled]=0;
  1154.     pInfo[playerid][PricePer]=0;
  1155.     pInfo[playerid][ToPay]=0;
  1156.     pInfo[playerid][EngineOn]=0;
  1157.     pInfo[playerid][Fuelupdate]=0;
  1158.     pInfo[playerid][CreatePosX]=0;
  1159.     pInfo[playerid][CreatePosY]=0;
  1160.     pInfo[playerid][CreatePosZ]=0;
  1161.     pInfo[playerid][CreateFuelType]=0;
  1162.     pInfo[playerid][IDToEdit]=0;
  1163.     pInfo[playerid][PriceToEdit]=0;
  1164.     pInfo[playerid][TypeToEdit]=0;
  1165.     return 1;
  1166. }
  1167.  
  1168. public OnPlayerStateChange(playerid, newstate, oldstate)
  1169. {
  1170.     if(oldstate==PLAYER_STATE_ONFOOT && newstate==PLAYER_STATE_DRIVER)
  1171.     {
  1172.         new str[258],Float:health,zone[128],engine, lights, alarm, doors, bonnet, boot, objective;
  1173.         SpeedoBox[playerid] = CreatePlayerTextDraw(playerid,664.000000, 373.000000, "_");
  1174.         PlayerTextDrawBackgroundColor(playerid,SpeedoBox[playerid], 255);
  1175.         PlayerTextDrawFont(playerid,SpeedoBox[playerid], 1);
  1176.         PlayerTextDrawLetterSize(playerid,SpeedoBox[playerid], 0.500000, 10.000000);
  1177.         PlayerTextDrawColor(playerid,SpeedoBox[playerid], -1);
  1178.         PlayerTextDrawSetOutline(playerid,SpeedoBox[playerid], 0);
  1179.         PlayerTextDrawSetProportional(playerid,SpeedoBox[playerid], 1);
  1180.         PlayerTextDrawSetShadow(playerid,SpeedoBox[playerid], 1);
  1181.         PlayerTextDrawUseBox(playerid,SpeedoBox[playerid], 1);
  1182.         PlayerTextDrawBoxColor(playerid,SpeedoBox[playerid], 16758608);
  1183.         PlayerTextDrawTextSize(playerid,SpeedoBox[playerid], 139.000000, 2.000000);
  1184.         PlayerTextDrawShow(playerid,SpeedoBox[playerid]);
  1185.  
  1186.         Vehicle[playerid] = CreatePlayerTextDraw(playerid,263.000000, 400.000000, "Fahrzeug:");
  1187.         PlayerTextDrawAlignment(playerid,Vehicle[playerid], 2);
  1188.         PlayerTextDrawBackgroundColor(playerid,Vehicle[playerid], 255);
  1189.         PlayerTextDrawFont(playerid,Vehicle[playerid], 1);
  1190.         PlayerTextDrawLetterSize(playerid,Vehicle[playerid], 0.430000, 1.800000);
  1191.         PlayerTextDrawColor(playerid,Vehicle[playerid], -1);
  1192.         PlayerTextDrawSetOutline(playerid,Vehicle[playerid], 0);
  1193.         PlayerTextDrawSetProportional(playerid,Vehicle[playerid], 1);
  1194.         PlayerTextDrawSetShadow(playerid,Vehicle[playerid], 1);
  1195.         format(str,sizeof(str),"Fahrzeug: %s",GetVehicleName(GetPlayerVehicleID(playerid)));
  1196.         PlayerTextDrawSetString(playerid,Vehicle[playerid],str);
  1197.         PlayerTextDrawShow(playerid,Vehicle[playerid]);
  1198.  
  1199.         VehHealth[playerid] = CreatePlayerTextDraw(playerid,263.000000, 424.000000, "Leben:");
  1200.         PlayerTextDrawAlignment(playerid,VehHealth[playerid], 2);
  1201.         PlayerTextDrawBackgroundColor(playerid,VehHealth[playerid], 255);
  1202.         PlayerTextDrawFont(playerid,VehHealth[playerid], 1);
  1203.         PlayerTextDrawLetterSize(playerid,VehHealth[playerid], 0.430000, 1.700000);
  1204.         PlayerTextDrawColor(playerid,VehHealth[playerid], -1);
  1205.         PlayerTextDrawSetOutline(playerid,VehHealth[playerid], 0);
  1206.         PlayerTextDrawSetProportional(playerid,VehHealth[playerid], 1);
  1207.         PlayerTextDrawSetShadow(playerid,VehHealth[playerid], 1);
  1208.         GetVehicleHealth(GetPlayerVehicleID(playerid),health);
  1209.         format(str,sizeof(str),"Leben: %0.0f%",health/10);
  1210.         PlayerTextDrawSetString(playerid,VehHealth[playerid],str);
  1211.         PlayerTextDrawShow(playerid,VehHealth[playerid]);
  1212.  
  1213.         Location[playerid] = CreatePlayerTextDraw(playerid,381.000000, 375.000000, "Ort:");
  1214.         PlayerTextDrawAlignment(playerid,Location[playerid], 2);
  1215.         PlayerTextDrawBackgroundColor(playerid,Location[playerid], 255);
  1216.         PlayerTextDrawFont(playerid,Location[playerid], 1);
  1217.         PlayerTextDrawLetterSize(playerid,Location[playerid], 0.500000, 1.800000);
  1218.         PlayerTextDrawColor(playerid,Location[playerid], -6815489);
  1219.         PlayerTextDrawSetOutline(playerid,Location[playerid], 0);
  1220.         PlayerTextDrawSetProportional(playerid,Location[playerid], 1);
  1221.         PlayerTextDrawSetShadow(playerid,Location[playerid], 1);
  1222.         GetPlayer2DZone(playerid,zone,sizeof(zone));
  1223.         format(str,sizeof(str),"Ort: %s",zone);
  1224.         PlayerTextDrawSetString(playerid,Location[playerid],str);
  1225.         PlayerTextDrawShow(playerid,Location[playerid]);
  1226.  
  1227.         Speed[playerid] = CreatePlayerTextDraw(playerid,426.000000, 401.000000, "Speed:");
  1228.         PlayerTextDrawAlignment(playerid,Speed[playerid], 2);
  1229.         PlayerTextDrawBackgroundColor(playerid,Speed[playerid], 255);
  1230.         PlayerTextDrawFont(playerid,Speed[playerid], 1);
  1231.         PlayerTextDrawLetterSize(playerid,Speed[playerid], 0.430000, 1.800000);
  1232.         PlayerTextDrawColor(playerid,Speed[playerid], -1);
  1233.         PlayerTextDrawSetOutline(playerid,Speed[playerid], 0);
  1234.         PlayerTextDrawSetProportional(playerid,Speed[playerid], 1);
  1235.         PlayerTextDrawSetShadow(playerid,Speed[playerid], 1);
  1236.         PlayerTextDrawShow(playerid,Speed[playerid]);
  1237.  
  1238.         Odo[playerid] = CreatePlayerTextDraw(playerid,426.000000, 423.000000, "Odo:");
  1239.         PlayerTextDrawAlignment(playerid,Odo[playerid], 2);
  1240.         PlayerTextDrawBackgroundColor(playerid,Odo[playerid], 255);
  1241.         PlayerTextDrawFont(playerid,Odo[playerid], 1);
  1242.         PlayerTextDrawLetterSize(playerid,Odo[playerid], 0.430000, 1.800000);
  1243.         PlayerTextDrawColor(playerid,Odo[playerid], -1);
  1244.         PlayerTextDrawSetOutline(playerid,Odo[playerid], 0);
  1245.         PlayerTextDrawSetProportional(playerid,Odo[playerid], 1);
  1246.         PlayerTextDrawSetShadow(playerid,Odo[playerid], 1);
  1247.         format(str,sizeof(str),"Odo: %0.1fkms",pInfo[playerid][KMS]);
  1248.         PlayerTextDrawSetString(playerid,Odo[playerid],str);
  1249.         PlayerTextDrawShow(playerid,Odo[playerid]);
  1250.  
  1251.         FuelTypeText[playerid] = CreatePlayerTextDraw(playerid,571.000000, 423.000000, "Typ:");
  1252.         PlayerTextDrawAlignment(playerid,FuelTypeText[playerid], 2);
  1253.         PlayerTextDrawBackgroundColor(playerid,FuelTypeText[playerid], 255);
  1254.         PlayerTextDrawFont(playerid,FuelTypeText[playerid], 1);
  1255.         PlayerTextDrawLetterSize(playerid,FuelTypeText[playerid], 0.430000, 1.800000);
  1256.         PlayerTextDrawColor(playerid,FuelTypeText[playerid], -1);
  1257.         PlayerTextDrawSetOutline(playerid,FuelTypeText[playerid], 0);
  1258.         PlayerTextDrawSetProportional(playerid,FuelTypeText[playerid], 1);
  1259.         PlayerTextDrawSetShadow(playerid,FuelTypeText[playerid], 1);
  1260.         if(GetVehicleModel(GetPlayerVehicleID(playerid))==400||GetVehicleModel(GetPlayerVehicleID(playerid))==403||GetVehicleModel(GetPlayerVehicleID(playerid))==404||GetVehicleModel(GetPlayerVehicleID(playerid))==406||GetVehicleModel(GetPlayerVehicleID(playerid))==407||
  1261.            GetVehicleModel(GetPlayerVehicleID(playerid))==408||GetVehicleModel(GetPlayerVehicleID(playerid))==413||GetVehicleModel(GetPlayerVehicleID(playerid))==414||GetVehicleModel(GetPlayerVehicleID(playerid))==416||GetVehicleModel(GetPlayerVehicleID(playerid))==418||
  1262.            GetVehicleModel(GetPlayerVehicleID(playerid))==420||GetVehicleModel(GetPlayerVehicleID(playerid))==423||GetVehicleModel(GetPlayerVehicleID(playerid))==427||GetVehicleModel(GetPlayerVehicleID(playerid))==428||GetVehicleModel(GetPlayerVehicleID(playerid))==431||
  1263.            GetVehicleModel(GetPlayerVehicleID(playerid))==432||GetVehicleModel(GetPlayerVehicleID(playerid))==433||GetVehicleModel(GetPlayerVehicleID(playerid))==437||GetVehicleModel(GetPlayerVehicleID(playerid))==440||GetVehicleModel(GetPlayerVehicleID(playerid))==442||
  1264.            GetVehicleModel(GetPlayerVehicleID(playerid))==443||GetVehicleModel(GetPlayerVehicleID(playerid))==444||GetVehicleModel(GetPlayerVehicleID(playerid))==455||GetVehicleModel(GetPlayerVehicleID(playerid))==456||GetVehicleModel(GetPlayerVehicleID(playerid))==459||
  1265.            GetVehicleModel(GetPlayerVehicleID(playerid))==470||GetVehicleModel(GetPlayerVehicleID(playerid))==478||GetVehicleModel(GetPlayerVehicleID(playerid))==479||GetVehicleModel(GetPlayerVehicleID(playerid))==482||GetVehicleModel(GetPlayerVehicleID(playerid))==486||
  1266.            GetVehicleModel(GetPlayerVehicleID(playerid))==489||GetVehicleModel(GetPlayerVehicleID(playerid))==490||GetVehicleModel(GetPlayerVehicleID(playerid))==498||GetVehicleModel(GetPlayerVehicleID(playerid))==499||GetVehicleModel(GetPlayerVehicleID(playerid))==505||
  1267.            GetVehicleModel(GetPlayerVehicleID(playerid))==508||GetVehicleModel(GetPlayerVehicleID(playerid))==514||GetVehicleModel(GetPlayerVehicleID(playerid))==515||GetVehicleModel(GetPlayerVehicleID(playerid))==524||GetVehicleModel(GetPlayerVehicleID(playerid))==525||
  1268.            GetVehicleModel(GetPlayerVehicleID(playerid))==528||GetVehicleModel(GetPlayerVehicleID(playerid))==530||GetVehicleModel(GetPlayerVehicleID(playerid))==531||GetVehicleModel(GetPlayerVehicleID(playerid))==532||GetVehicleModel(GetPlayerVehicleID(playerid))==543||
  1269.            GetVehicleModel(GetPlayerVehicleID(playerid))==544||GetVehicleModel(GetPlayerVehicleID(playerid))==552||GetVehicleModel(GetPlayerVehicleID(playerid))==554||GetVehicleModel(GetPlayerVehicleID(playerid))==556||GetVehicleModel(GetPlayerVehicleID(playerid))==557||
  1270.            GetVehicleModel(GetPlayerVehicleID(playerid))==572||GetVehicleModel(GetPlayerVehicleID(playerid))==573||GetVehicleModel(GetPlayerVehicleID(playerid))==574||GetVehicleModel(GetPlayerVehicleID(playerid))==578||GetVehicleModel(GetPlayerVehicleID(playerid))==579||
  1271.            GetVehicleModel(GetPlayerVehicleID(playerid))==580||GetVehicleModel(GetPlayerVehicleID(playerid))==582||GetVehicleModel(GetPlayerVehicleID(playerid))==583||GetVehicleModel(GetPlayerVehicleID(playerid))==596||GetVehicleModel(GetPlayerVehicleID(playerid))==597||
  1272.            GetVehicleModel(GetPlayerVehicleID(playerid))==598||GetVehicleModel(GetPlayerVehicleID(playerid))==599||GetVehicleModel(GetPlayerVehicleID(playerid))==600||GetVehicleModel(GetPlayerVehicleID(playerid))==601||GetVehicleModel(GetPlayerVehicleID(playerid))==609)
  1273.         {
  1274.             format(str,sizeof(str),"Typ: Diesel");
  1275.             pInfo[playerid][VehFuelType]=2;
  1276.         }
  1277.         else if(GetVehicleModel(GetPlayerVehicleID(playerid))==401||GetVehicleModel(GetPlayerVehicleID(playerid))==402||GetVehicleModel(GetPlayerVehicleID(playerid))==405||GetVehicleModel(GetPlayerVehicleID(playerid))==409||GetVehicleModel(GetPlayerVehicleID(playerid))==410||
  1278.                 GetVehicleModel(GetPlayerVehicleID(playerid))==411||GetVehicleModel(GetPlayerVehicleID(playerid))==412||GetVehicleModel(GetPlayerVehicleID(playerid))==415||GetVehicleModel(GetPlayerVehicleID(playerid))==419||GetVehicleModel(GetPlayerVehicleID(playerid))==421||
  1279.                 GetVehicleModel(GetPlayerVehicleID(playerid))==422||GetVehicleModel(GetPlayerVehicleID(playerid))==424||GetVehicleModel(GetPlayerVehicleID(playerid))==426||GetVehicleModel(GetPlayerVehicleID(playerid))==429||GetVehicleModel(GetPlayerVehicleID(playerid))==434||
  1280.                 GetVehicleModel(GetPlayerVehicleID(playerid))==436||GetVehicleModel(GetPlayerVehicleID(playerid))==438||GetVehicleModel(GetPlayerVehicleID(playerid))==439||GetVehicleModel(GetPlayerVehicleID(playerid))==445||GetVehicleModel(GetPlayerVehicleID(playerid))==448||
  1281.                 GetVehicleModel(GetPlayerVehicleID(playerid))==451||GetVehicleModel(GetPlayerVehicleID(playerid))==457||GetVehicleModel(GetPlayerVehicleID(playerid))==458||GetVehicleModel(GetPlayerVehicleID(playerid))==461||GetVehicleModel(GetPlayerVehicleID(playerid))==462||
  1282.                 GetVehicleModel(GetPlayerVehicleID(playerid))==463||GetVehicleModel(GetPlayerVehicleID(playerid))==466||GetVehicleModel(GetPlayerVehicleID(playerid))==467||GetVehicleModel(GetPlayerVehicleID(playerid))==468||GetVehicleModel(GetPlayerVehicleID(playerid))==471||
  1283.                 GetVehicleModel(GetPlayerVehicleID(playerid))==474||GetVehicleModel(GetPlayerVehicleID(playerid))==475||GetVehicleModel(GetPlayerVehicleID(playerid))==477||GetVehicleModel(GetPlayerVehicleID(playerid))==480||GetVehicleModel(GetPlayerVehicleID(playerid))==483||
  1284.                 GetVehicleModel(GetPlayerVehicleID(playerid))==485||GetVehicleModel(GetPlayerVehicleID(playerid))==491||GetVehicleModel(GetPlayerVehicleID(playerid))==492||GetVehicleModel(GetPlayerVehicleID(playerid))==494||GetVehicleModel(GetPlayerVehicleID(playerid))==495||
  1285.                 GetVehicleModel(GetPlayerVehicleID(playerid))==496||GetVehicleModel(GetPlayerVehicleID(playerid))==500||GetVehicleModel(GetPlayerVehicleID(playerid))==502||GetVehicleModel(GetPlayerVehicleID(playerid))==503||GetVehicleModel(GetPlayerVehicleID(playerid))==504||
  1286.                 GetVehicleModel(GetPlayerVehicleID(playerid))==506||GetVehicleModel(GetPlayerVehicleID(playerid))==507||GetVehicleModel(GetPlayerVehicleID(playerid))==516||GetVehicleModel(GetPlayerVehicleID(playerid))==517||GetVehicleModel(GetPlayerVehicleID(playerid))==518||
  1287.                 GetVehicleModel(GetPlayerVehicleID(playerid))==521||GetVehicleModel(GetPlayerVehicleID(playerid))==522||GetVehicleModel(GetPlayerVehicleID(playerid))==523||GetVehicleModel(GetPlayerVehicleID(playerid))==526||GetVehicleModel(GetPlayerVehicleID(playerid))==527||
  1288.                 GetVehicleModel(GetPlayerVehicleID(playerid))==529||GetVehicleModel(GetPlayerVehicleID(playerid))==533||GetVehicleModel(GetPlayerVehicleID(playerid))==534||GetVehicleModel(GetPlayerVehicleID(playerid))==535||GetVehicleModel(GetPlayerVehicleID(playerid))==536||
  1289.                 GetVehicleModel(GetPlayerVehicleID(playerid))==540||GetVehicleModel(GetPlayerVehicleID(playerid))==541||GetVehicleModel(GetPlayerVehicleID(playerid))==542||GetVehicleModel(GetPlayerVehicleID(playerid))==545||GetVehicleModel(GetPlayerVehicleID(playerid))==546||
  1290.                 GetVehicleModel(GetPlayerVehicleID(playerid))==547||GetVehicleModel(GetPlayerVehicleID(playerid))==549||GetVehicleModel(GetPlayerVehicleID(playerid))==550||GetVehicleModel(GetPlayerVehicleID(playerid))==551||GetVehicleModel(GetPlayerVehicleID(playerid))==555||
  1291.                 GetVehicleModel(GetPlayerVehicleID(playerid))==558||GetVehicleModel(GetPlayerVehicleID(playerid))==559||GetVehicleModel(GetPlayerVehicleID(playerid))==560||GetVehicleModel(GetPlayerVehicleID(playerid))==561||GetVehicleModel(GetPlayerVehicleID(playerid))==562||
  1292.                 GetVehicleModel(GetPlayerVehicleID(playerid))==565||GetVehicleModel(GetPlayerVehicleID(playerid))==566||GetVehicleModel(GetPlayerVehicleID(playerid))==567||GetVehicleModel(GetPlayerVehicleID(playerid))==568||GetVehicleModel(GetPlayerVehicleID(playerid))==571||
  1293.                 GetVehicleModel(GetPlayerVehicleID(playerid))==575||GetVehicleModel(GetPlayerVehicleID(playerid))==576||GetVehicleModel(GetPlayerVehicleID(playerid))==581||GetVehicleModel(GetPlayerVehicleID(playerid))==585||GetVehicleModel(GetPlayerVehicleID(playerid))==586||
  1294.                 GetVehicleModel(GetPlayerVehicleID(playerid))==587||GetVehicleModel(GetPlayerVehicleID(playerid))==588||GetVehicleModel(GetPlayerVehicleID(playerid))==589||GetVehicleModel(GetPlayerVehicleID(playerid))==602||GetVehicleModel(GetPlayerVehicleID(playerid))==603||
  1295.                 GetVehicleModel(GetPlayerVehicleID(playerid))==604||GetVehicleModel(GetPlayerVehicleID(playerid))==605)
  1296.         {
  1297.             format(str,sizeof(str),"Typ: Benzin");
  1298.             pInfo[playerid][VehFuelType]=1;
  1299.         }
  1300.         else if(GetVehicleModel(GetPlayerVehicleID(playerid))==417||GetVehicleModel(GetPlayerVehicleID(playerid))==425||GetVehicleModel(GetPlayerVehicleID(playerid))==447||GetVehicleModel(GetPlayerVehicleID(playerid))==460||GetVehicleModel(GetPlayerVehicleID(playerid))==469||
  1301.                 GetVehicleModel(GetPlayerVehicleID(playerid))==476||GetVehicleModel(GetPlayerVehicleID(playerid))==487||GetVehicleModel(GetPlayerVehicleID(playerid))==488||GetVehicleModel(GetPlayerVehicleID(playerid))==497||GetVehicleModel(GetPlayerVehicleID(playerid))==511||
  1302.                 GetVehicleModel(GetPlayerVehicleID(playerid))==512||GetVehicleModel(GetPlayerVehicleID(playerid))==513||GetVehicleModel(GetPlayerVehicleID(playerid))==519||GetVehicleModel(GetPlayerVehicleID(playerid))==520||GetVehicleModel(GetPlayerVehicleID(playerid))==548||
  1303.                 GetVehicleModel(GetPlayerVehicleID(playerid))==553||GetVehicleModel(GetPlayerVehicleID(playerid))==563||GetVehicleModel(GetPlayerVehicleID(playerid))==577||GetVehicleModel(GetPlayerVehicleID(playerid))==592||GetVehicleModel(GetPlayerVehicleID(playerid))==593)
  1304.         {
  1305.             format(str,sizeof(str),"Typ: Kerosin");
  1306.             pInfo[playerid][VehFuelType]=3;
  1307.         }
  1308.         else if(GetVehicleModel(GetPlayerVehicleID(playerid))==430||GetVehicleModel(GetPlayerVehicleID(playerid))==446||GetVehicleModel(GetPlayerVehicleID(playerid))==452||GetVehicleModel(GetPlayerVehicleID(playerid))==453||GetVehicleModel(GetPlayerVehicleID(playerid))==454||
  1309.                 GetVehicleModel(GetPlayerVehicleID(playerid))==472||GetVehicleModel(GetPlayerVehicleID(playerid))==473||GetVehicleModel(GetPlayerVehicleID(playerid))==484||GetVehicleModel(GetPlayerVehicleID(playerid))==493||GetVehicleModel(GetPlayerVehicleID(playerid))==595)
  1310.         {
  1311.             format(str,sizeof(str),"Typ: Boot Benzin");
  1312.             pInfo[playerid][VehFuelType]=4;
  1313.         }
  1314.         else if(GetVehicleModel(GetPlayerVehicleID(playerid))==441||GetVehicleModel(GetPlayerVehicleID(playerid))==449||GetVehicleModel(GetPlayerVehicleID(playerid))==450||GetVehicleModel(GetPlayerVehicleID(playerid))==464||GetVehicleModel(GetPlayerVehicleID(playerid))==465||
  1315.                 GetVehicleModel(GetPlayerVehicleID(playerid))==481||GetVehicleModel(GetPlayerVehicleID(playerid))==501||GetVehicleModel(GetPlayerVehicleID(playerid))==509||GetVehicleModel(GetPlayerVehicleID(playerid))==510||GetVehicleModel(GetPlayerVehicleID(playerid))==537||
  1316.                 GetVehicleModel(GetPlayerVehicleID(playerid))==538||GetVehicleModel(GetPlayerVehicleID(playerid))==564||GetVehicleModel(GetPlayerVehicleID(playerid))==569||GetVehicleModel(GetPlayerVehicleID(playerid))==570||GetVehicleModel(GetPlayerVehicleID(playerid))==584||
  1317.                 GetVehicleModel(GetPlayerVehicleID(playerid))==590||GetVehicleModel(GetPlayerVehicleID(playerid))==591||GetVehicleModel(GetPlayerVehicleID(playerid))==594||GetVehicleModel(GetPlayerVehicleID(playerid))==606||GetVehicleModel(GetPlayerVehicleID(playerid))==607||
  1318.                 GetVehicleModel(GetPlayerVehicleID(playerid))==608||GetVehicleModel(GetPlayerVehicleID(playerid))==610||GetVehicleModel(GetPlayerVehicleID(playerid))==611)
  1319.         {
  1320.             format(str,sizeof(str),"Typ: None");
  1321.             pInfo[playerid][VehFuelType]=0;
  1322.         }
  1323.         PlayerTextDrawSetString(playerid,FuelTypeText[playerid],str);
  1324.         PlayerTextDrawShow(playerid,FuelTypeText[playerid]);
  1325.        
  1326.         FuelText[playerid] = CreatePlayerTextDraw(playerid,566.000000, 400.000000, "Tank:");
  1327.         PlayerTextDrawAlignment(playerid,FuelText[playerid], 2);
  1328.         PlayerTextDrawBackgroundColor(playerid,FuelText[playerid], 255);
  1329.         PlayerTextDrawFont(playerid,FuelText[playerid], 1);
  1330.         PlayerTextDrawLetterSize(playerid,FuelText[playerid], 0.430000, 1.800000);
  1331.         PlayerTextDrawColor(playerid,FuelText[playerid], -1);
  1332.         PlayerTextDrawSetOutline(playerid,FuelText[playerid], 0);
  1333.         PlayerTextDrawSetProportional(playerid,FuelText[playerid], 1);
  1334.         PlayerTextDrawSetShadow(playerid,FuelText[playerid], 1);
  1335.         if(pInfo[playerid][VehFuelType]==0)
  1336.         {
  1337.             if(pInfo[playerid][VehIDOld]==GetPlayerVehicleID(playerid))
  1338.             {
  1339.                 format(str,sizeof(str)," ");
  1340.                 pInfo[playerid][Fuel]=-1;
  1341.                 pInfo[playerid][CurrentMeters]=pInfo[playerid][OldMeters];
  1342.             }
  1343.             else
  1344.             {
  1345.                 format(str,sizeof(str)," ");
  1346.                 pInfo[playerid][Fuel]=-1;
  1347.                 pInfo[playerid][CurrentMeters]=0;
  1348.             }
  1349.         }
  1350.         else if(pInfo[playerid][VehFuelType]>0)
  1351.         {
  1352.             if(pInfo[playerid][VehIDOld]==GetPlayerVehicleID(playerid))
  1353.             {
  1354.                 format(str,sizeof(str),"Tank: %d%",pInfo[playerid][OldFuel]);
  1355.                 pInfo[playerid][Fuel]=pInfo[playerid][OldFuel];
  1356.                 pInfo[playerid][CurrentMeters]=pInfo[playerid][OldMeters];
  1357.             }
  1358.             else
  1359.             {
  1360.                 format(str,sizeof(str),"Tank: 100%");
  1361.                 pInfo[playerid][Fuel]=100;
  1362.                 pInfo[playerid][CurrentMeters]=0;
  1363.             }
  1364.             GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
  1365.             SetVehicleParamsEx(GetPlayerVehicleID(playerid),0, lights, alarm, doors, bonnet, boot, objective);
  1366.             GameTextForPlayer(playerid,"~w~Druecke ~r~~k~~CONVERSATION_YES~~w~ um deinen ~r~Motor~w~ zu starten!",3000,3);
  1367.             pInfo[playerid][EngineOn]=0;
  1368.         }
  1369.         PlayerTextDrawSetString(playerid,FuelText[playerid],str);
  1370.         PlayerTextDrawShow(playerid,FuelText[playerid]);
  1371.        
  1372.         pInfo[playerid][VehIDOld]=GetPlayerVehicleID(playerid);
  1373.         Speedoupdate[playerid]=SetTimerEx("SpeedoUpdateTime",SpeedoUpdate,1,"i",playerid);
  1374.     }
  1375.     if(oldstate==PLAYER_STATE_DRIVER && newstate==PLAYER_STATE_ONFOOT)
  1376.     {
  1377.         pInfo[playerid][OldFuel]=pInfo[playerid][Fuel];
  1378.         pInfo[playerid][OldMeters]=pInfo[playerid][CurrentMeters];
  1379.         PlayerTextDrawDestroy(playerid,SpeedoBox[playerid]);
  1380.         PlayerTextDrawDestroy(playerid,Vehicle[playerid]);
  1381.         PlayerTextDrawDestroy(playerid,VehHealth[playerid]);
  1382.         PlayerTextDrawDestroy(playerid,Location[playerid]);
  1383.         PlayerTextDrawDestroy(playerid,Speed[playerid]);
  1384.         PlayerTextDrawDestroy(playerid,Odo[playerid]);
  1385.         PlayerTextDrawDestroy(playerid,FuelText[playerid]);
  1386.         PlayerTextDrawDestroy(playerid,FuelTypeText[playerid]);
  1387.     }
  1388.     return 1;
  1389. }
  1390.  
  1391. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1392. {
  1393.     if(pInfo[playerid][Refueling]==1)
  1394.     {
  1395.         if((newkeys&KEY_HANDBRAKE)&&!(oldkeys&KEY_HANDBRAKE)) //Detecting if key for hanadbrake is pressed and holded
  1396.         {
  1397.             Refuelupdate[playerid]=SetTimerEx("RefuelUpdateTimer",RefuelUpdate,1,"i",playerid);
  1398.         }
  1399.         if((oldkeys&KEY_HANDBRAKE)&&!(newkeys&KEY_HANDBRAKE)) //Detecting if key for handbreak got released
  1400.         {
  1401.             KillTimer(Refuelupdate[playerid]);
  1402.             SendClientMessage(playerid,-1,"Zum beenden des tankens gebe /endfuel ein!");
  1403.         }
  1404.     }
  1405.     if((newkeys&KEY_YES)&&!(oldkeys&KEY_YES))
  1406.     {
  1407.         if(pInfo[playerid][EngineOn]==0&&pInfo[playerid][Refueling]!=1)
  1408.         {
  1409.             new engine, lights, alarm, doors, bonnet, boot, objective;
  1410.             GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
  1411.             SetVehicleParamsEx(GetPlayerVehicleID(playerid),1, lights, alarm, doors, bonnet, boot, objective);
  1412.             pInfo[playerid][EngineOn]=1;
  1413.         }
  1414.     }
  1415.     return 1;
  1416. }
  1417.  
  1418. public OnPlayerExitVehicle(playerid, vehicleid)
  1419. {
  1420.     pInfo[playerid][VehIDOld]=GetPlayerVehicleID(playerid);
  1421.     KillTimer(Speedoupdate[playerid]);
  1422.     new engine, lights, alarm, doors, bonnet, boot, objective;
  1423.     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  1424.     SetVehicleParamsEx(vehicleid,0, lights, alarm, doors, bonnet, boot, objective);
  1425.     return 1;
  1426. }
  1427.  
  1428. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1429. {
  1430.     switch(dialogid)
  1431.     {
  1432.         case CREATESTATIONFUELTYPE:
  1433.         {
  1434.             if(!response)
  1435.             {
  1436.                 pInfo[playerid][CreatePosX]=0;
  1437.                 pInfo[playerid][CreatePosY]=0;
  1438.                 pInfo[playerid][CreatePosZ]=0;
  1439.                 SendClientMessage(playerid,-1,"Du hast den erstell Vorgang abgebrochen!");
  1440.             }
  1441.             if(response)
  1442.             {
  1443.                 switch(listitem)
  1444.                 {
  1445.                     case 0:
  1446.                     {
  1447.                         pInfo[playerid][CreateFuelType]=1;
  1448.                         ShowPlayerDialog(playerid,CREATESTATIONFUELPRICE,DIALOG_STYLE_INPUT,"Tank Preis","Bitte gebe einen preis an!","Okay","");
  1449.                     }
  1450.                     case 1:
  1451.                     {
  1452.                         pInfo[playerid][CreateFuelType]=2;
  1453.                         ShowPlayerDialog(playerid,CREATESTATIONFUELPRICE,DIALOG_STYLE_INPUT,"Tank Preis","Bitte gebe einen preis an!","Okay","");
  1454.                     }
  1455.                     case 2:
  1456.                     {
  1457.                         pInfo[playerid][CreateFuelType]=3;
  1458.                         ShowPlayerDialog(playerid,CREATESTATIONFUELPRICE,DIALOG_STYLE_INPUT,"Tank Preis","Bitte gebe einen preis an!","Okay","");
  1459.                     }
  1460.                     case 3:
  1461.                     {
  1462.                         pInfo[playerid][CreateFuelType]=4;
  1463.                         ShowPlayerDialog(playerid,CREATESTATIONFUELPRICE,DIALOG_STYLE_INPUT,"Tank Preis","Bitte gebe einen preis an!","Okay","");
  1464.                     }
  1465.                 }
  1466.             }
  1467.         }
  1468.         case CREATESTATIONFUELPRICE:
  1469.         {
  1470.             if(!response)
  1471.             {
  1472.                 pInfo[playerid][CreatePosX]=0;
  1473.                 pInfo[playerid][CreatePosY]=0;
  1474.                 pInfo[playerid][CreatePosZ]=0;
  1475.                 pInfo[playerid][CreateFuelType]=0;
  1476.                 SendClientMessage(playerid,-1,"Du hast den erstell Vorgang abgebrochen!");
  1477.             }
  1478.             if(response)
  1479.             {
  1480.                 new str[258],input[4],i;
  1481.                 if(sscanf(inputtext,"i",i)) return SendClientMessage(playerid,-1,"Nur Zahlen von 1-999");
  1482.                 if(i<1||i>999) return SendClientMessage(playerid,-1,"Nur Zahlen von 1-999");
  1483.                 if(strlen(inputtext)<1||strlen(inputtext)>3) return SendClientMessage(playerid,-1,"Minimaller Betrag 1 und maximaller Betrag 999!");
  1484.                 {
  1485.                     count++;
  1486.                     format(input,sizeof(input),"%i",strval(inputtext));
  1487.                     format(str,sizeof(str),"INSERT INTO `FuelStations`(`PosX`,`PosY`,`PosZ`,`Price`,`FuelType`)VALUES('%f','%f','%f','%s','%d')",pInfo[playerid][CreatePosX],pInfo[playerid][CreatePosY],pInfo[playerid][CreatePosZ],input,pInfo[playerid][CreateFuelType]);
  1488.                     db_query(database,str);
  1489.                     SendClientMessage(playerid,-1,"Neue Tankstelle erfolgreich erstellt!");
  1490.                     format(str,sizeof(str),"Pos X: %f || Pos Y: %f || Pos Z: %f",pInfo[playerid][CreatePosX],pInfo[playerid][CreatePosY],pInfo[playerid][CreatePosZ]);
  1491.                     SendClientMessage(playerid,-1,str);
  1492.                     i=count;
  1493.                     Pickup[i]=CreateDynamicPickup(1274,1,pInfo[playerid][CreatePosX],pInfo[playerid][CreatePosY],pInfo[playerid][CreatePosZ],0);
  1494.                     MapIcon[i]=CreateDynamicMapIcon(pInfo[playerid][CreatePosX],pInfo[playerid][CreatePosY],pInfo[playerid][CreatePosZ],52,-1,-1,-1,-1,100);
  1495.                     if(pInfo[playerid][CreateFuelType]==1)
  1496.                     {
  1497.                         format(str,sizeof(str),"Gebe /refuel ein um dein Fahrzeug zu betanken!\nArt: Benzin\nPreis: %d",strval(inputtext));
  1498.                     }
  1499.                     else if(pInfo[playerid][CreateFuelType]==2)
  1500.                     {
  1501.                         format(str,sizeof(str),"Gebe /refuel ein um dein Fahrzeug zu betanken!\nArt: Diesel\nPreis: %d",strval(inputtext));
  1502.                     }
  1503.                     else if(pInfo[playerid][CreateFuelType]==3)
  1504.                     {
  1505.                         format(str,sizeof(str),"Gebe /refuel ein um dein Fahrzeug zu betanken!\nArt: Kerosin\nPreis: %d",strval(inputtext));
  1506.                     }
  1507.                     else if(pInfo[playerid][CreateFuelType]==4)
  1508.                     {
  1509.                         format(str,sizeof(str),"Gebe /refuel ein um dein Fahrzeug zu betanken!\nArt: Boot Benzin\nPreis: %d",strval(inputtext));
  1510.                     }
  1511.                     DLabel[i]=CreateDynamic3DTextLabel(str,0x5EFF00FF,pInfo[playerid][CreatePosX],pInfo[playerid][CreatePosY],pInfo[playerid][CreatePosZ],40,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,-1,-1,-1,100);
  1512.                     pInfo[playerid][CreatePosX]=0;
  1513.                     pInfo[playerid][CreatePosY]=0;
  1514.                     pInfo[playerid][CreatePosZ]=0;
  1515.                     pInfo[playerid][CreateFuelType]=0;
  1516.                 }
  1517.             }
  1518.         }
  1519.         case EDITSTATION:
  1520.         {
  1521.             if(!response)
  1522.             {
  1523.                 SendClientMessage(playerid,-1,"Du hast den editier Vorgang abgebrochen!");
  1524.                 pInfo[playerid][IDToEdit]=0;
  1525.             }
  1526.             if(response)
  1527.             {
  1528.                 switch(listitem)
  1529.                 {
  1530.                     case 0:
  1531.                     {
  1532.                         ShowPlayerDialog(playerid,EDITSTATIONFUEL,DIALOG_STYLE_LIST,"Tank Typ","Benzin\nDiesel\nKerosin\nBoot Benzin","Okay","");
  1533.                     }
  1534.                     case 1:
  1535.                     {
  1536.                         ShowPlayerDialog(playerid,EDITSTATIONPRICE,DIALOG_STYLE_INPUT,"Tank Preris","Gebe bitte eine Tankpreis an!","Okay","");
  1537.                     }
  1538.                     case 2:
  1539.                     {
  1540.                         new str[128],i;
  1541.                         format(str,sizeof(str),"DELETE FROM `FuelStations` WHERE `ID`='%i'",pInfo[playerid][IDToEdit]);
  1542.                         db_query(database,str);
  1543.                         format(str,sizeof(str),"Tankstelle [ID %i] erfolgreich entfernt!",pInfo[playerid][IDToEdit]);
  1544.                         SendClientMessage(playerid,-1,str);
  1545.                         i=pInfo[playerid][IDToEdit];
  1546.                         DestroyDynamicPickup(Pickup[i]);
  1547.                         DestroyDynamicMapIcon(MapIcon[i]);
  1548.                         DestroyDynamic3DTextLabel(DLabel[i]);
  1549.                         pInfo[playerid][IDToEdit]=0;
  1550.                     }
  1551.                 }
  1552.             }
  1553.         }
  1554.         case EDITSTATIONFUEL:
  1555.         {
  1556.             new str[128],i;
  1557.             if(!response)
  1558.             {
  1559.                 SendClientMessage(playerid,-1,"Du hast den editier Vorgang abgebrochen!");
  1560.                 pInfo[playerid][IDToEdit]=0;
  1561.             }
  1562.             if(response)
  1563.             {
  1564.                 switch(listitem)
  1565.                 {
  1566.                     case 0:
  1567.                     {
  1568.                         i=pInfo[playerid][IDToEdit];
  1569.                         format(str,sizeof(str),"UPDATE `FuelStations`SET`FuelType`='1'WHERE`ID`='%i'",pInfo[playerid][IDToEdit]);
  1570.                         db_query(database,str);
  1571.                         format(str,sizeof(str),"Gebe /refuel ein um dein Fahrzeug zu betanken!\nArt: Benzin\nPreis: %d",pInfo[playerid][PriceToEdit]);
  1572.                         UpdateDynamic3DTextLabelText(DLabel[i],0x5EFF00FF,str);
  1573.                         SendClientMessage(playerid,-1,"Tankstelle erfollgreich editiert!");
  1574.                         pInfo[playerid][IDToEdit]=0;
  1575.                     }
  1576.                     case 1:
  1577.                     {
  1578.                         i=pInfo[playerid][IDToEdit];
  1579.                         format(str,sizeof(str),"UPDATE `FuelStations`SET`FuelType`='2'WHERE`ID`='%i'",pInfo[playerid][IDToEdit]);
  1580.                         db_query(database,str);
  1581.                         format(str,sizeof(str),"Gebe /refuel ein um dein Fahrzeug zu betanken!\nArt: Diesel\nPreis: %d",pInfo[playerid][PriceToEdit]);
  1582.                         UpdateDynamic3DTextLabelText(DLabel[i],0x5EFF00FF,str);
  1583.                         SendClientMessage(playerid,-1,"Tankstelle erfollgreich editiert!");
  1584.                         pInfo[playerid][IDToEdit]=0;
  1585.                     }
  1586.                     case 2:
  1587.                     {
  1588.                         i=pInfo[playerid][IDToEdit];
  1589.                         format(str,sizeof(str),"UPDATE `FuelStations`SET`FuelType`='3'WHERE`ID`='%i'",pInfo[playerid][IDToEdit]);
  1590.                         db_query(database,str);
  1591.                         format(str,sizeof(str),"Gebe /refuel ein um dein Fahrzeug zu betanken!\nArt: Kerosin\nPreis: %d",pInfo[playerid][PriceToEdit]);
  1592.                         UpdateDynamic3DTextLabelText(DLabel[i],0x5EFF00FF,str);
  1593.                         SendClientMessage(playerid,-1,"Tankstelle erfollgreich editiert!");
  1594.                         pInfo[playerid][IDToEdit]=0;
  1595.                     }
  1596.                     case 3:
  1597.                     {
  1598.                         i=pInfo[playerid][IDToEdit];
  1599.                         format(str,sizeof(str),"UPDATE `FuelStations`SET`FuelType`='4'WHERE`ID`='%i'",pInfo[playerid][IDToEdit]);
  1600.                         db_query(database,str);
  1601.                         format(str,sizeof(str),"Gebe /refuel ein um dein Fahrzeug zu betanken!\nArt: Boot Benzin\nPreis: %d",pInfo[playerid][PriceToEdit]);
  1602.                         UpdateDynamic3DTextLabelText(DLabel[i],0x5EFF00FF,str);
  1603.                         SendClientMessage(playerid,-1,"Tankstelle erfollgreich editiert!");
  1604.                         pInfo[playerid][IDToEdit]=0;
  1605.                     }
  1606.                 }
  1607.             }
  1608.         }
  1609.         case EDITSTATIONPRICE:
  1610.         {
  1611.             new str[128],input[4],i,d;
  1612.             if(!response)
  1613.             {
  1614.                 SendClientMessage(playerid,-1,"Du hast den editier Vorgang abgebrochen!");
  1615.                 pInfo[playerid][IDToEdit]=0;
  1616.             }
  1617.             if(response)
  1618.             {
  1619.                 if(strlen(inputtext)<1||strlen(inputtext)>3) return SendClientMessage(playerid,-1,"Minimum value 1 and maximum value 999!");
  1620.                 {
  1621.                     if(sscanf(inputtext,"i",d)) return SendClientMessage(playerid,-1,"Nur Beträge zwischen 1 und 999");
  1622.                     if(d<1||d>999) return SendClientMessage(playerid,-1,"Nur Beträge zwischen 1 und 999");
  1623.                     format(input,sizeof(input),"%i",strval(inputtext));
  1624.                     format(str,sizeof(str),"UPDATE`FuelStations`SET`Price`='%i'WHERE`ID`='%i'",input,pInfo[playerid][IDToEdit]);
  1625.                     db_query(database,str);
  1626.                     i=pInfo[playerid][IDToEdit];
  1627.                     if(pInfo[playerid][TypeToEdit]==1)
  1628.                     {
  1629.                         format(str,sizeof(str),"Gebe /refuel ein um dein Fahrzeug zu betanken!\nArt: Benzin\nPreis: %d",strval(inputtext));
  1630.                     }
  1631.                     else if(pInfo[playerid][TypeToEdit]==2)
  1632.                     {
  1633.                         format(str,sizeof(str),"Gebe /refuel ein um dein Fahrzeug zu betanken!\nArt: Diesel\nPreis: %d",strval(inputtext));
  1634.                     }
  1635.                     else if(pInfo[playerid][TypeToEdit]==3)
  1636.                     {
  1637.                         format(str,sizeof(str),"Gebe /refuel ein um dein Fahrzeug zu betanken!\nArt: Kerosin\nPreis: %d",strval(inputtext));
  1638.                     }
  1639.                     else if(pInfo[playerid][TypeToEdit]==4)
  1640.                     {
  1641.                         format(str,sizeof(str),"Gebe /refuel ein um dein Fahrzeug zu betanken!\nArt: Boot Benzin\nPreis: %d",strval(inputtext));
  1642.                     }
  1643.                     UpdateDynamic3DTextLabelText(DLabel[i],0x5EFF00FF,str);
  1644.                     SendClientMessage(playerid,-1,"Tankstelle erfollgreich editiert!");
  1645.                     pInfo[playerid][IDToEdit]=0;
  1646.                 }
  1647.             }
  1648.         }
  1649.     }
  1650.     return 0;
  1651. }
  1652.  
  1653. public SpeedoUpdateTime(playerid)
  1654. {
  1655.     new str[128],Float:health,zone[128],engine, lights, alarm, doors, bonnet, boot, objective;
  1656.     GetVehicleHealth(GetPlayerVehicleID(playerid),health);
  1657.     if(health>310)
  1658.     {
  1659.         format(str,sizeof(str),"Leben: %0.0f%",health/10);
  1660.     }
  1661.     else if(health<310)
  1662.     {
  1663.         format(str,sizeof(str),"Motor defekt!");
  1664.         GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
  1665.         SetVehicleParamsEx(GetPlayerVehicleID(playerid),0, lights, alarm, doors, bonnet, boot, objective);
  1666.         SetVehicleHealth(GetPlayerVehicleID(playerid),305);
  1667.     }
  1668.     PlayerTextDrawSetString(playerid,VehHealth[playerid],str);
  1669.     PlayerTextDrawShow(playerid,VehHealth[playerid]);
  1670.     GetPlayer2DZone(playerid,zone,sizeof(zone));
  1671.     format(str,sizeof(str),"Ort: %s",zone);
  1672.     PlayerTextDrawSetString(playerid,Location[playerid],str);
  1673.     PlayerTextDrawShow(playerid,Location[playerid]);
  1674.     format(str,sizeof(str),"Speed: %dkm/h",GetPlayerSpeed(playerid));
  1675.     PlayerTextDrawSetString(playerid,Speed[playerid],str);
  1676.     PlayerTextDrawShow(playerid,Speed[playerid]);
  1677.     pInfo[playerid][FuelTime]++;
  1678.     if(GetPlayerSpeed(playerid)==0)
  1679.     {
  1680.         pInfo[playerid][FuelTime]=0;
  1681.     }
  1682.     if(GetPlayerSpeed(playerid)!=0)
  1683.     {
  1684.         pInfo[playerid][Meters]=pInfo[playerid][Meters]+(GetPlayerSpeed(playerid)/7.2);
  1685.         pInfo[playerid][KMS]=pInfo[playerid][Meters]/1000;
  1686.         pInfo[playerid][CurrentMeters]=pInfo[playerid][CurrentMeters]+(GetPlayerSpeed(playerid)/7.2);
  1687.         if(pInfo[playerid][VehFuelType]==1)
  1688.         {
  1689.             if(pInfo[playerid][CurrentMeters]>BENZINMETERS)
  1690.             {
  1691.                 pInfo[playerid][Fuel]--;
  1692.                 pInfo[playerid][CurrentMeters]=0;
  1693.             }
  1694.         }
  1695.         else if(pInfo[playerid][VehFuelType]==2)
  1696.         {
  1697.             if(pInfo[playerid][CurrentMeters]>DIESELMETERS)
  1698.             {
  1699.                 pInfo[playerid][Fuel]--;
  1700.                 pInfo[playerid][CurrentMeters]=0;
  1701.             }
  1702.         }
  1703.         else if(pInfo[playerid][VehFuelType]==3)
  1704.         {
  1705.             if(pInfo[playerid][CurrentMeters]>KEROSINMETERS)
  1706.             {
  1707.                 pInfo[playerid][Fuel]--;
  1708.                 pInfo[playerid][CurrentMeters]=0;
  1709.             }
  1710.         }
  1711.         else if(pInfo[playerid][VehFuelType]==4)
  1712.         {
  1713.             if(pInfo[playerid][CurrentMeters]>BOATBENZINMETERS)
  1714.             {
  1715.                 pInfo[playerid][Fuel]--;
  1716.                 pInfo[playerid][CurrentMeters]=0;
  1717.             }
  1718.         }
  1719.         else if(pInfo[playerid][VehFuelType]==0)
  1720.         {
  1721.             pInfo[playerid][CurrentMeters]=0;
  1722.         }
  1723.     }
  1724.     if(pInfo[playerid][VehFuelType]!=0)
  1725.     {
  1726.         if(pInfo[playerid][Fuel]>0)
  1727.         {
  1728.             format(str,sizeof(str),"Tank: %d%",pInfo[playerid][Fuel]);
  1729.         }
  1730.         else if(pInfo[playerid][Fuel]==0)
  1731.         {
  1732.             format(str,sizeof(str),"Tank leer!");
  1733.             GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
  1734.             SetVehicleParamsEx(GetPlayerVehicleID(playerid),0, lights, alarm, doors, bonnet, boot, objective);
  1735.         }
  1736.         PlayerTextDrawSetString(playerid,FuelText[playerid],str);
  1737.         PlayerTextDrawShow(playerid,FuelText[playerid]);
  1738.     }
  1739.     format(str,sizeof(str),"Odo: %0.1fkms",pInfo[playerid][KMS]);
  1740.     PlayerTextDrawSetString(playerid,Odo[playerid],str);
  1741.     PlayerTextDrawShow(playerid,Odo[playerid]);
  1742.     return 1;
  1743. }
  1744.  
  1745. public RefuelUpdateTimer(playerid)
  1746. {
  1747.     if(pInfo[playerid][Fuel]==100)
  1748.     {
  1749.         if(pInfo[playerid][Refueled]==0)
  1750.         {
  1751.             SendClientMessage(playerid,-1,"Dein Fahrzeug ist bereits voll getankt!");
  1752.             pInfo[playerid][Refueled]=1;
  1753.         }
  1754.     }
  1755.     else
  1756.     {
  1757.         if(GetPlayerMoney(playerid)>pInfo[playerid][ToPay])
  1758.         {
  1759.             new str[128];
  1760.             pInfo[playerid][ToPay]=pInfo[playerid][ToPay]+pInfo[playerid][PricePer];
  1761.             pInfo[playerid][Fuel]++;
  1762.             format(str,sizeof(str),"Preis: %d",pInfo[playerid][ToPay]);
  1763.             GameTextForPlayer(playerid,str,RefuelUpdate,3);
  1764.         }
  1765.         else
  1766.         {
  1767.             SendClientMessage(playerid,-1,"Du hast nicht mehr genug Geld!");
  1768.         }
  1769.     }
  1770.     return 1;
  1771. }
  1772.  
  1773. CMD:createstation(playerid,params[])
  1774. {
  1775.     new Float:zPos[3];
  1776.     if(IsPlayerAdmin(playerid))
  1777.     {
  1778.         if(IsPlayerInAnyVehicle(playerid))
  1779.         {
  1780.             SendClientMessage(playerid,-1,"Du kannst keine Tankstelle erstellen während du in einem Fahrzeug bist!");
  1781.         }
  1782.         else
  1783.         {
  1784.             GetPlayerPos(playerid,zPos[0],zPos[1],zPos[2]);
  1785.             pInfo[playerid][CreatePosX]=zPos[0];
  1786.             pInfo[playerid][CreatePosY]=zPos[1];
  1787.             pInfo[playerid][CreatePosZ]=zPos[2];
  1788.             ShowPlayerDialog(playerid,CREATESTATIONFUELTYPE,DIALOG_STYLE_LIST,"Tank Typ","Benzin\nDiesel\nKerosin\nBoot Benzin","Okay","");
  1789.         }
  1790.     }
  1791.     else return SendClientMessage(playerid,-1,"Du kannst diesen Befehl nicht nutzen!");
  1792.     return 1;
  1793. }
  1794.  
  1795. CMD:porttostation(playerid,params[])
  1796. {
  1797.     new id,Float:zPos[3],DBResult:Result,str[128];
  1798.     if(IsPlayerAdmin(playerid))
  1799.     {
  1800.         if(sscanf(params,"i",id)) return SendClientMessage(playerid,-1,"[NUTZUNG]: /porttostation <station id>");
  1801.         {
  1802.             format(str,sizeof(str),"SELECT*FROM`FuelStations`WHERE`ID`='%i'",id);
  1803.             Result=db_query(database,str);
  1804.             if(db_num_rows(Result)>0)
  1805.             {
  1806.                 db_get_field_assoc(Result,"PosX",str,sizeof(str));
  1807.                 zPos[0]=floatstr(str);
  1808.                 db_get_field_assoc(Result,"PosY",str,sizeof(str));
  1809.                 zPos[1]=floatstr(str);
  1810.                 db_get_field_assoc(Result,"PosZ",str,sizeof(str));
  1811.                 zPos[2]=floatstr(str);
  1812.                 SetPlayerPos(playerid,zPos[0],zPos[1],zPos[2]);
  1813.                 format(str,sizeof(str),"Erfolgreich zu Tankstelle [ID: %i] teleportiert!",id);
  1814.             }
  1815.             else
  1816.             {
  1817.                 SendClientMessage(playerid,-1,"Diese tankstelle ID existiert nicht!");
  1818.             }
  1819.         }
  1820.     }
  1821.     else return SendClientMessage(playerid,-1,"Du kannst diesen Befehl nicht nutzen!");
  1822.     return 1;
  1823. }
  1824.  
  1825. CMD:editstation(playerid,params[])
  1826. {
  1827.     new id,DBResult:Result,str[128];
  1828.     if(IsPlayerAdmin(playerid))
  1829.     {
  1830.         if(sscanf(params,"i",id)) return SendClientMessage(playerid,-1,"[BENUTZUNG]: /editstation <station id>");
  1831.         {
  1832.             format(str,sizeof(str),"SELECT*FROM`FuelStations`WHERE`ID`='%i'",id);
  1833.             Result=db_query(database,str);
  1834.             if(db_num_rows(Result)>0)
  1835.             {
  1836.                 db_get_field_assoc(Result,"Price",str,sizeof(str));
  1837.                 pInfo[playerid][PriceToEdit]=strval(str);
  1838.                 db_get_field_assoc(Result,"FuelType",str,sizeof(str));
  1839.                 pInfo[playerid][TypeToEdit]=strval(str);
  1840.                 pInfo[playerid][IDToEdit]=id;
  1841.                 ShowPlayerDialog(playerid,EDITSTATION,DIALOG_STYLE_LIST,"Edit Tankstelle","Tank Typ\nPreis\n{FF0000}Tankstelle Löschen","Okay","Cancel");
  1842.             }
  1843.             else
  1844.             {
  1845.                 SendClientMessage(playerid,-1,"Diese Tankstellen ID existiert nicht!");
  1846.             }
  1847.         }
  1848.     }
  1849.     else return SendClientMessage(playerid,-1,"Du kannst diesen Befehl nicht nutzen!");
  1850.     return 1;
  1851. }
  1852.  
  1853. CMD:credits(playerid,params[])
  1854. {
  1855.     new str[128];
  1856.     format(str,sizeof(str),"{00FF5E}SA:MP Team: a_samp.inc\n");
  1857.     strcat(str,"~Cueball~: zones.inc\n",sizeof(str));
  1858.     strcat(str,"Zamaroht: Textdraw Editor\n",sizeof(str));
  1859.     strcat(str,"Incognito: Streamer\n",sizeof(str));
  1860.     strcat(str,"Zeex: zcmd\n",sizeof(str));
  1861.     strcat(str,"ulbi1990: Script",sizeof(str));
  1862.     ShowPlayerDialog(playerid,CREDITS,DIALOG_STYLE_MSGBOX,"Credits",str,"Okay","");
  1863.     return 1;
  1864. }
  1865.  
  1866. CMD:refuel(playerid,params[])
  1867. {
  1868.     if(GetPlayerVehicleSeat(playerid)==0)
  1869.     {
  1870.         new DBResult:Result,str[128],engine, lights, alarm, doors, bonnet, boot, objective;
  1871.         for(new i=0;i<MAX_STATIONS;i++)
  1872.         {
  1873.             format(str,sizeof(str),"SELECT * FROM `FuelStations` WHERE `ID`='%i'",i);
  1874.             Result=db_query(database,str);
  1875.             if(db_num_rows(Result)>0)
  1876.             {
  1877.                 db_get_field_assoc(Result,"ID",str,sizeof(str));
  1878.                 fInfo[i][ID]=strval(str);
  1879.                 db_get_field_assoc(Result,"PosX",str,sizeof(str));
  1880.                 fInfo[i][PosX]=floatstr(str);
  1881.                 db_get_field_assoc(Result,"PosY",str,sizeof(str));
  1882.                 fInfo[i][PosY]=floatstr(str);
  1883.                 db_get_field_assoc(Result,"PosZ",str,sizeof(str));
  1884.                 fInfo[i][PosZ]=floatstr(str);
  1885.                 db_get_field_assoc(Result,"Price",str,sizeof(str));
  1886.                 pInfo[playerid][PricePer]=strval(str);
  1887.                 db_get_field_assoc(Result,"FuelType",str,sizeof(str));
  1888.                 fInfo[i][FuelType]=strval(str);
  1889.                 if(IsPlayerInRangeOfPoint(playerid,5,fInfo[i][PosX],fInfo[i][PosY],fInfo[i][PosZ]))
  1890.                 {
  1891.                     if(pInfo[playerid][VehFuelType]==fInfo[i][FuelType])
  1892.                     {
  1893.                         GameTextForPlayer(playerid,"~w~Druecke ~r~~k~~VEHICLE_HANDBRAKE~~w~ um dein Fahrzeug zu tanken!",3000,3);
  1894.                         GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
  1895.                         SetVehicleParamsEx(GetPlayerVehicleID(playerid),0, lights, alarm, doors, bonnet, boot, objective);
  1896.                         pInfo[playerid][Refueling]=1;
  1897.                     }
  1898.                     else
  1899.                     {
  1900.                         SendClientMessage(playerid,-1,"Falscher Tanktyp!");
  1901.                     }
  1902.                 }
  1903.             }
  1904.         }
  1905.         SendClientMessage(playerid,-1,"Du bist nicht in der Nähe einer Tankstelle!");
  1906.     }
  1907.     else return SendClientMessage(playerid,-1,"Du kannst diesen Befehl nicht zu Fuss nutzen!");
  1908.     return 1;
  1909. }
  1910.  
  1911. CMD:endfuel(playerid,params[])
  1912. {
  1913.     if(pInfo[playerid][Refueling]==1)
  1914.     {
  1915.         GameTextForPlayer(playerid,"~w~Druecke ~r~~k~~CONVERSATION_YES~~w~ um deinen ~r~Motor~w~ zu starten!",3000,3);
  1916.         GivePlayerMoney(playerid,-pInfo[playerid][ToPay]);
  1917.         pInfo[playerid][ToPay]=0;
  1918.         pInfo[playerid][EngineOn]=0;
  1919.         pInfo[playerid][Refueled]=0;
  1920.         pInfo[playerid][Refueling]=0;
  1921.         pInfo[playerid][ToPay]=0;
  1922.     }
  1923.     return 1;
  1924. }
  1925.  
  1926. CMD:ucmds(playerid,params[])
  1927. {
  1928.     new str[512];
  1929.     format(str,sizeof(str),"/ucmds\t\tZeigt alle Befehle für uSpeedoFuel an\n");
  1930.     strcat(str,"/refuel\t\t\tZum betanken deines Fahrzeuges an einer Tankstelle\n",sizeof(str));
  1931.     strcat(str,"/endfuel\t\tZum beenden des betankens und zum bezahlen\n",sizeof(str));
  1932.     strcat(str,"/scolor <hex color>\t\tÄndert den Hintergrund des Speedometers\n",sizeof(str));
  1933.     if(IsPlayerAdmin(playerid))
  1934.     {
  1935.         strcat(str,"/createstation\t\tErstellen einer Tankstelle\n",sizeof(str));
  1936.         strcat(str,"/porttostation <id>\tZu einer Tankstelle (ID) teleportieren\n",sizeof(str));
  1937.         strcat(str,"/editstation <id>\tZum editieren einer Tankstelle (ID) Preis, Tanktyp und zum entfernen der Tankstelle\n",sizeof(str));
  1938.         strcat(str,"/getstationid\t\tZeigt die am nächsten liegende Tankstellen ID an",sizeof(str));
  1939.     }
  1940.     ShowPlayerDialog(playerid,UCMDSDIALOG,DIALOG_STYLE_MSGBOX,"uSpeedoFuel Befehle",str,"Okay","");
  1941.     return 1;
  1942. }
  1943.  
  1944. CMD:scolor(playerid,params[])
  1945. {
  1946.     new color[11];
  1947.     if(sscanf(params,"x",color)) return SendClientMessage(playerid,-1,"[BENUTZUNG]: /scolor [hexadezimal Farbe]");
  1948.     {
  1949.         if(strlen(params)<10||strlen(params)>10)
  1950.         {
  1951.             SendClientMessage(playerid,-1,"Bitte NUR hexadezimal Farben!");
  1952.         }
  1953.         else
  1954.         {
  1955.             format(color,sizeof(color),"0x%c%c%c%c%c%c50",params[2],params[3],params[4],params[5],params[6],params[7]);
  1956.             pInfo[playerid][SpeedoColor]=HexToInt(color);
  1957.             PlayerTextDrawHide(playerid,SpeedoBox[playerid]);
  1958.             PlayerTextDrawBoxColor(playerid,SpeedoBox[playerid],pInfo[playerid][SpeedoColor]);
  1959.             PlayerTextDrawShow(playerid,SpeedoBox[playerid]);
  1960.         }
  1961.     }
  1962.     return 1;
  1963. }
  1964.  
  1965. CMD:getstationid(playerid,params[])
  1966. {
  1967.     if(IsPlayerAdmin(playerid))
  1968.     {
  1969.         new DBResult:Result,str[128],str1[128];
  1970.         for(new i=0;i<MAX_STATIONS;i++)
  1971.         {
  1972.             format(str,sizeof(str),"SELECT * FROM `FuelStations` WHERE `ID`='%i'",i);
  1973.             Result=db_query(database,str);
  1974.             if(db_num_rows(Result)>0)
  1975.             {
  1976.                 db_get_field_assoc(Result,"ID",str,sizeof(str));
  1977.                 fInfo[i][ID]=strval(str);
  1978.                 db_get_field_assoc(Result,"PosX",str,sizeof(str));
  1979.                 fInfo[i][PosX]=floatstr(str);
  1980.                 db_get_field_assoc(Result,"PosY",str,sizeof(str));
  1981.                 fInfo[i][PosY]=floatstr(str);
  1982.                 db_get_field_assoc(Result,"PosZ",str,sizeof(str));
  1983.                 fInfo[i][PosZ]=floatstr(str);
  1984.                 if(IsPlayerInRangeOfPoint(playerid,5,fInfo[i][PosX],fInfo[i][PosY],fInfo[i][PosZ]))
  1985.                 {
  1986.                     format(str1,sizeof(str1),"nächste Tankstellen ID: %i",fInfo[i][ID]);
  1987.                     SendClientMessage(playerid,-1,str1);
  1988.                 }
  1989.             }
  1990.         }
  1991.     }
  1992.     else
  1993.     {
  1994.         SendClientMessage(playerid,-1,"Du kannst diesen Befehl nicht ausführen!");
  1995.     }
  1996.     return 1;
  1997. }
  1998. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement