ZiPoNz

ZiPoNz-LvDmPlus+-Version 2.1

May 13th, 2012
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 148.58 KB | None | 0 0
  1. //ZiPoNz © - LvDmPlus+ Version 2 - 2009 to 2012 for SAMP-IL.
  2. #include "a_samp"
  3. #include "DOF"
  4.     #pragma unused DOF2_Exit
  5. #define Settings "Settings.ini"
  6. #define White 0xFFFFFFAA // White - ìáï
  7. #define Orange 0xFFA500AA // Orange - ëúåí
  8. #define Grey 0xAFAFAFAA // Grey - àôåø
  9. #define Green 0x00FF00FF // Green - éøå÷
  10. #define Yellow 0xFFFF00AA // Yellow - öäåá
  11. #define Red 0xAA3333AA // Red - àãåí
  12. #define LightBlue 0x33CCFFAA // Light Blue - úëìú
  13. #define LightGreen 0x24FF0AB9 // LightGreen - éøå÷ áäéø
  14. //Z-Login/Register system.
  15. #define Register 500
  16. #define Login 501
  17. #define DNick 502
  18. #define DBank 503
  19. #define DDeposit 504
  20. #define DWithdraw 505
  21. #define DTransfer 506
  22. #define DTName 507
  23. #define MaxTimesInvalidPass 3
  24. #define Spawn_Money 800
  25. new TransferName[MAX_PLAYER_NAME][MAX_PLAYERS];
  26. //Z-PickIcon system.
  27. #define DPickups 512
  28. #define DModel 513
  29. #define DType 514
  30. #define DVW 515
  31. #define DDone 516
  32. #define DMessage 517
  33. #define DMapIcons 518
  34. #define DMID 519
  35. #define DMType 520
  36. #define DMStyle 521
  37. new FileName[30][MAX_PLAYERS];
  38. new PInfo[MAX_PLAYERS][3];
  39. //Z-Admins system.
  40. #define AdminLogin 526
  41. new bool:Chat = true;
  42. new CD[MAX_PLAYERS], CoD[MAX_PLAYERS], bool:CDS = false;
  43. //Z-Codes system.
  44. #define CodesFile           "Codes.ini"
  45. #define CodesDialog         981
  46. #define CodesDialog2        982
  47. #define CodesDialog3        983
  48. #define CodesDialogChose    984
  49. new letters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
  50. new CInfo[MAX_PLAYERS];
  51. //Z-Survey system.
  52. #define STitle 522
  53. #define SText 523
  54. #define MaxTime 30
  55. new bool:SurveyOn = false, bool:AChose[MAX_PLAYERS] = false, Title[30], YesNo[2];
  56. //Z-Tags system.
  57. #define ChooseID 508
  58. #define ChooseText 509
  59. #define ChooseColor 510
  60. #define ChooseIDR 511
  61. new ChoseID[MAX_PLAYERS],
  62.     ChoseColor[7][MAX_PLAYERS],
  63.     ChoseText[38][MAX_PLAYERS],
  64.     ChoseIDR[MAX_PLAYERS];
  65. //Z-Vehicles system.
  66. #define VehicleID GetPlayerVehicleID(playerid)
  67. #define DNeons 524
  68. #define DWheels 525
  69. new Text3D:VehicleText[MAX_VEHICLES];
  70. enum vDetails
  71. {
  72.     vOwner[30], vPlate[10], vBought, vModel, vAvailable, vType, vPrice,
  73.     Float:vPosX, Float:vPosY, Float:vPosZ, Float:vPosA,
  74.     vColor1, vColor2, vPaintjob, vNeon, vNeonUsed_1, vNeonUsed_2, vNHType, vWheels, vLock,
  75.     bool:vSpecialUsed
  76. }
  77. new VDetails[MAX_VEHICLES][vDetails];
  78. new Neon[MAX_PLAYERS][2];
  79. //Z-Levels system.
  80. enum LevelsInfo
  81. {
  82.     Level, NextKills
  83. }
  84. new Levels[][LevelsInfo] =
  85. {
  86.     {2,     100},
  87.     {3,     250},
  88.     {4,     500},
  89.     {5,     750},
  90.     {6,     900},
  91.     {7,     1100},
  92.     {8,     1250},
  93.     {9,     1300},
  94.     {10,    1450},
  95.     {11,    1600},
  96.     {12,    1750},
  97.     {13,    1800},
  98.     {14,    1950},
  99.     {15,    2000},
  100.     {16,    2150},
  101.     {17,    2200},
  102.     {18,    2350},
  103.     {19,    2400},
  104.     {20,    2550},
  105.     {21,    2650},
  106.     {22,    2800},
  107.     {23,    2950},
  108.     {24,    3050},
  109.     {25,    3150},
  110.     {26,    3300},
  111.     {27,    3450},
  112.     {28,    3600},
  113.     {29,    3750},
  114.     {30,    3800}
  115. };
  116. #define MaxLevel 30
  117. //
  118. forward AutoMessage();
  119. enum MyInfo
  120. {
  121.     Kills,
  122.     LevelKills,
  123.     Level,
  124.     Deaths,
  125.     Bank,
  126.     AdminLevel,
  127.     bool:Hide,
  128.     bool:Muted,
  129.     bool:CarJump,
  130.     bool:VSpeed,
  131.     bool:Jetpack,
  132.     bool:Logged,
  133.     bool:Tag,
  134.     bool:ALogged,
  135.     TagText[38],
  136.     TagColor[7],
  137.     InvalidPassword,
  138.     Skin,
  139.     Vehicle
  140. }
  141. new Player[MAX_PLAYERS][MyInfo];
  142. new Float:RandomSpawns[23][3] =
  143. {
  144.     {1958.3783,1343.1572,15.3746},
  145.     {2199.6531,1393.3678,10.8203},
  146.     {2483.5977,1222.0825,10.8203},
  147.     {2637.2712,1129.2743,11.1797},
  148.     {2000.0106,1521.1111,17.0625},
  149.     {2024.8190,1917.9425,12.3386},
  150.     {2261.9048,2035.9547,10.8203},
  151.     {2262.0986,2398.6572,10.8203},
  152.     {2244.2566,2523.7280,10.8203},
  153.     {2335.3228,2786.4478,10.8203},
  154.     {2150.0186,2734.2297,11.1763},
  155.     {2158.0811,2797.5488,10.8203},
  156.     {1969.8301,2722.8564,10.8203},
  157.     {1652.0555,2709.4072,10.8265},
  158.     {1564.0052,2756.9463,10.8203},
  159.     {1271.5452,2554.0227,10.8203},
  160.     {1441.5894,2567.9099,10.8203},
  161.     {1480.6473,2213.5718,11.0234},
  162.     {1400.5906,2225.6960,11.0234},
  163.     {1598.8419,2221.5676,11.0625},
  164.     {1318.7759,1251.3580,10.8203},
  165.     {1558.0731,1007.8292,10.8125},
  166.     {1705.2347,1025.6808,10.8203}
  167. };
  168. new vNames[][] =
  169. {
  170.     "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus", "Voodoo",
  171.     "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection", "Hunter", "Premier",
  172.     "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife", "Trailer 1", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo",
  173.     "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer 2", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed",
  174.     "Yankee", "Caddy", "Solair", "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic", "Sanchez", "Sparrow",
  175.     "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX", "Burrito", "Camper", "Marquis", "Baggage",
  176.     "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking", "Blista Compact", "Police Maverick", "Boxvillde",
  177.     "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle",
  178.     "Cropduster", "Stunt", "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck",
  179.     "Fortune", "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
  180.     "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster",
  181.     "Monster", "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart",
  182.     "Mower", "Dune", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer 3", "Emperor", "Wayfarer", "Euros",
  183.     "Hotdog", "Club", "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch","LSPD Car", "SFPD Car", "LVPD Car", "Police Ranger", "Picador", "S.W.A.T Tank", "Alpha",
  184.     "Phoenix", "Glendale", "Sadler", "Luggage Trailer 1", "Luggage Trailer 2", "Stairs Trailer", "Boxville", "Utility Trailer 1", "Utility Trailer 2"
  185. };
  186. new RandomColors[200] =
  187. {
  188.     0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,
  189.     0xEE82EEFF,0xFFD720FF,0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,
  190.     0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,
  191.     0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,0x275222FF,0xF09F5BFF,0x3D0A4FFF,
  192.     0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,0x057F94FF,
  193.     0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,
  194.     0x4B8987FF,0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,
  195.     0x48C000FF,0x2A51E2FF,0xE3AC12FF,0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0x2FD9DEFF,
  196.     0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,
  197.     0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,0x9F945CFF,0xDCDE3DFF,
  198.     0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,
  199.     0xD8C762FF,0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,
  200.     0xF4A460FF,0xEE82EEFF,0xFFD720FF,0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,
  201.     0x10DC29FF,0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,
  202.     0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,0x275222FF,0xF09F5BFF,
  203.     0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,
  204.     0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,
  205.     0x18F71FFF,0x4B8987FF,0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,
  206.     0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,
  207.     0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,
  208.     0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,0x9F945CFF,
  209.     0xDCDE3DFF,0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,
  210.     0xD8C762FF,0xD8C762FF
  211. };
  212. main() print("ZiPoNz © - LvDmPlus+ Version 2 - 2009 to 2012");
  213. public OnGameModeInit()
  214. {
  215.     SetGameModeText("LvDmPlus+ by ZiPoNz");
  216.     LoadAllVehicles();
  217.     SetTimer("AutoMessage", 1500000,1);
  218.     SetTimer("LoadZiPoNzVehicles", 2000, false);
  219.     for(new skin=0;skin<300;skin++) if((skin == 7)||(skin >= 9 && skin <= 41)||(skin >= 43 && skin <= 64)||(skin >= 66 && skin <= 73) ||(skin >= 75 && skin <= 85)||(skin >= 87 && skin <= 118)||(skin >= 120 && skin <= 148)||(skin >= 150 && skin <= 207) ||(skin >= 209 && skin <= 264)||(skin >= 274 && skin <= 288)||(skin >= 290 && skin <= 299)) AddPlayerClass(skin, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  220.     if(!DOF2_FileExists(CodesFile)) DOF2_CreateFile(CodesFile);
  221.     if(!DOF2_FileExists(Settings)) DOF2_CreateFile(Settings), DOF2_SetInt(Settings, "AdminPassword", 123), DOF2_SaveFile();
  222.     return true;
  223. }
  224. public OnGameModeExit()
  225. {
  226.     for(new v = 1; v < MAX_VEHICLES; v++)
  227.     {
  228.         Delete3DTextLabel(Text3D:VehicleText[v]);
  229.         new Float:Pos[4];
  230.         GetVehiclePos(v, Pos[0], Pos[1], Pos[2]);
  231.         GetVehicleZAngle(v, Pos[3]);
  232.         DOF2_SetString(CheckVehicle(v), "Owner", VDetails[v][vOwner]);
  233.         DOF2_SetString(CheckVehicle(v), "Plate", VDetails[v][vPlate]);
  234.         DOF2_SetInt(CheckVehicle(v), "Model", VDetails[v][vModel]);
  235.         DOF2_SetInt(CheckVehicle(v), "Available", VDetails[v][vAvailable]);
  236.         DOF2_SetInt(CheckVehicle(v), "Type", VDetails[v][vType]);
  237.         DOF2_SetInt(CheckVehicle(v), "Price", VDetails[v][vPrice]);
  238.         DOF2_SetFloat(CheckVehicle(v), "PosX", VDetails[v][vPosX]);
  239.         DOF2_SetFloat(CheckVehicle(v), "PosY", VDetails[v][vPosY]);
  240.         DOF2_SetFloat(CheckVehicle(v), "PosZ", VDetails[v][vPosZ]);
  241.         DOF2_SetFloat(CheckVehicle(v), "PosA", VDetails[v][vPosA]);
  242.         if(VDetails[v][vType] == 2)
  243.         {
  244.             DOF2_SetInt(CheckVehicle(v), "Color1", VDetails[v][vColor1]);
  245.             DOF2_SetInt(CheckVehicle(v), "Color2", VDetails[v][vColor2]);
  246.         }
  247.         DOF2_SetInt(CheckVehicle(v), "Paintjob", VDetails[v][vPaintjob]);
  248.         DOF2_SetInt(CheckVehicle(v), "Neon", VDetails[v][vNeon]);
  249.         DOF2_SetInt(CheckVehicle(v), "NHType", VDetails[v][vNHType]);
  250.         DOF2_SetInt(CheckVehicle(v), "Wheels", VDetails[v][vWheels]);
  251.     }
  252.     return true;
  253. }
  254. forward LoadZiPoNzVehicles();
  255. public LoadZiPoNzVehicles()
  256. {
  257.     for(new v = 1; v < MAX_VEHICLES; v++)
  258.     {
  259.         new Float:Pos[4];
  260.         GetVehiclePos(v, Pos[0], Pos[1], Pos[2]);
  261.         GetVehicleZAngle(v, Pos[3]);
  262.         if(!DOF2_FileExists(CheckVehicle(v)))
  263.         {
  264.             DOF2_CreateFile(CheckVehicle(v));
  265.             DOF2_SetString(CheckVehicle(v), "Owner", "None");
  266.             DOF2_SetString(CheckVehicle(v), "Plate", "Z-Vehicles");
  267.             DOF2_SetInt(CheckVehicle(v), "Model", GetVehicleModel(v));
  268.             DOF2_SetInt(CheckVehicle(v), "Available", 1);
  269.             DOF2_SetInt(CheckVehicle(v), "Type", 1);
  270.             DOF2_SetInt(CheckVehicle(v), "Price", 500000);
  271.             DOF2_SetFloat(CheckVehicle(v), "PosX", Pos[0]);
  272.             DOF2_SetFloat(CheckVehicle(v), "PosY", Pos[1]);
  273.             DOF2_SetFloat(CheckVehicle(v), "PosZ", Pos[2]);
  274.             DOF2_SetFloat(CheckVehicle(v), "PosA", Pos[3]);
  275.             DOF2_SetInt(CheckVehicle(v), "Paintjob", 3);
  276.             DOF2_SetInt(CheckVehicle(v), "Neon", 0);
  277.             DOF2_SetInt(CheckVehicle(v), "NHType", 0);
  278.             DOF2_SetInt(CheckVehicle(v), "Wheels", 0);
  279.         }
  280.         format(VDetails[v][vOwner], 30, "%s", DOF2_GetString(CheckVehicle(v), "Owner"));
  281.         format(VDetails[v][vPlate], 30, "%s", DOF2_GetString(CheckVehicle(v), "Plate"));
  282.         VDetails[v][vModel] = DOF2_GetInt(CheckVehicle(v), "Model");
  283.         VDetails[v][vAvailable] = DOF2_GetInt(CheckVehicle(v), "Available");
  284.         VDetails[v][vType] = DOF2_GetInt(CheckVehicle(v), "Type");
  285.         VDetails[v][vPrice] = DOF2_GetInt(CheckVehicle(v), "Price");
  286.         VDetails[v][vPosX] = DOF2_GetFloat(CheckVehicle(v), "PosX");
  287.         VDetails[v][vPosY] = DOF2_GetFloat(CheckVehicle(v), "PosY");
  288.         VDetails[v][vPosZ] = DOF2_GetFloat(CheckVehicle(v), "PosZ");
  289.         VDetails[v][vPosA] = DOF2_GetFloat(CheckVehicle(v), "PosA");
  290.         if(DOF2_IsSet(CheckVehicle(v), "Color1")) VDetails[v][vColor1] = DOF2_GetInt(CheckVehicle(v), "Color1");
  291.         if(DOF2_IsSet(CheckVehicle(v), "Color2")) VDetails[v][vColor2] = DOF2_GetInt(CheckVehicle(v), "Color2");
  292.         VDetails[v][vPaintjob] = DOF2_GetInt(CheckVehicle(v), "Paintjob");
  293.         VDetails[v][vNeon] = DOF2_GetInt(CheckVehicle(v), "Neon");
  294.         VDetails[v][vNHType] = DOF2_GetInt(CheckVehicle(v), "NHType");
  295.         VDetails[v][vWheels] = DOF2_GetInt(CheckVehicle(v), "Wheels");
  296.         VDetails[v][vLock] = 0;
  297.         VDetails[v][vSpecialUsed] = false;
  298.         SetVehicleNumberPlate(v, VDetails[v][vPlate]);
  299.         SetVehicleToRespawn(v);
  300.         if(VDetails[v][vNHType] == 1) AddVehicleComponent(v, 1010);
  301.         else if(VDetails[v][vNHType] == 2) AddVehicleComponent(v, 1087);
  302.         else if(VDetails[v][vNHType] == 3) AddVehicleComponent(v, 1087), AddVehicleComponent(v, 1010);
  303.         new string[128];
  304.         if(VDetails[v][vAvailable] == 1 && VDetails[v][vType] == 1) format(string, 128, ".äéðå øëá ìîëéøä %s äøëá\n\r%d :îçéø", vNames[VDetails[v][vModel]-400], VDetails[v][vPrice]);
  305.         else if(VDetails[v][vAvailable] == 1 && VDetails[v][vType] == 2) format(string, 128, ".äéðå øëá ìîëéøä %s äøëá\n\r.øëá æä äéðå îéåçã\n\r%d :îçéø", vNames[VDetails[v][vModel]-400], VDetails[v][vPrice]);
  306.         else if(!VDetails[v][vType]) format(string, 128, ".øëá öéáåøé %s äøëá", vNames[VDetails[v][vModel]-400]);
  307.         else if(!VDetails[v][vAvailable] && VDetails[v][vType] != 0) format(string, 128, ".%s ááòìåú %s äøëá", VDetails[v][vOwner], vNames[VDetails[v][vModel]-400]);
  308.         VehicleText[v] = Create3DTextLabel(string, RandomColors[random(sizeof(RandomColors))], Pos[0], Pos[1], Pos[2]-0.8, 20.0, 0, 1 );
  309.         Attach3DTextLabelToVehicle(VehicleText[v], v, 0.0, 0.0, 0.0);
  310.     }
  311.     for(new i = 0; i < MAX_PLAYERS; i++)
  312.     {
  313.         if(!IsPlayerConnected(i)) continue;
  314.         Player[i][Vehicle] = DOF2_GetInt(CheckFile(i), "Vehicle");
  315.     }
  316. }
  317. public OnPlayerRequestClass(playerid, classid)
  318. {
  319.     new string[150];
  320.     if(!Player[playerid][Logged])
  321.     {
  322.         if(!DOF2_FileExists(CheckFile(playerid)))
  323.         {
  324.             format(string, 150, "!áøåê äáà ,%s ùìåí\n\r.àéðê øùåí ìîòøëú\n\r.àðà øùåí àú ñéñîúê äçãùä\n\rMode by ZiPoNz - LvDmPlus+ - Version 2", CheckName(playerid));
  325.             ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, ".áøåê äáà ìùøú", string, "!äøùí", "");
  326.         }
  327.         else
  328.         {
  329.             if(!strcmp(DOF2_GetString(CheckFile(playerid), "IP"), CheckIP(playerid), true)) return LoginAutoPlayer(playerid);
  330.             format(string, 150, ".áøåê ùåáê ,%s ùìåí\n\r.àúä ëáø øùåí áîòøëú\n\r.àðà øùåí àú ñéñîúê äðåëçéú\n\rMode by ZiPoNz - LvDmPlus+ - Version 2", CheckName(playerid));
  331.             ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, ".áøåê äáà ìùøú", string, "!äúçáø", "");
  332.         }
  333.     }
  334.     SetPlayerInterior(playerid,14);
  335.     SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
  336.     SetPlayerFacingAngle(playerid, 270.0);
  337.     SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
  338.     return SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
  339. }
  340. public OnPlayerRequestSpawn(playerid)
  341. {
  342.     new string[150];
  343.     if(!Player[playerid][Logged])
  344.     {
  345.         if(!DOF2_FileExists(CheckFile(playerid)))
  346.         {
  347.             format(string, 150, "!áøåê äáà ,%s ùìåí\n\r.àéðê øùåí ìîòøëú\n\r.àðà øùåí àú ñéñîúê äçãùä\n\rMode by ZiPoNz - LvDmPlus+ - Version 2", CheckName(playerid));
  348.             return ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, ".áøåê äáà ìùøú", string, "!äøùí", ""),0;
  349.         }
  350.         else
  351.         {
  352.             if(!strcmp(DOF2_GetString(CheckFile(playerid), "IP"), CheckIP(playerid), true)) return LoginAutoPlayer(playerid);
  353.             format(string, 150, ".áøåê ùåáê ,%s ùìåí\n\r.àúä ëáø øùåí áîòøëú\n\r.àðà øùåí àú ñéñîúê äðåëçéú\n\rMode by ZiPoNz - LvDmPlus+ - Version 2", CheckName(playerid));
  354.             return ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, ".áøåê äáà ìùøú", string, "!äúçáø", ""),0;
  355.         }
  356.     }
  357.     return true;
  358. }
  359. public OnPlayerConnect(playerid)
  360. {
  361.     format(TransferName[playerid], 30, "%s", ("None"));
  362.     Player[playerid][Kills] = 0;
  363.     Player[playerid][Deaths] = 0;
  364.     Player[playerid][Bank] = 0;
  365.     Player[playerid][Skin] = 0;
  366.     Player[playerid][InvalidPassword] = 0;
  367.     Player[playerid][Logged] = false;
  368.     Player[playerid][Muted] = false;
  369.     Player[playerid][Hide] = false;
  370.     Player[playerid][AdminLevel] = 0;
  371.     Player[playerid][Vehicle] = 0;
  372.     SendClientMessage(playerid,Grey,"Mode LvDmPlus+ Version 2 - by ZiPoNz.");
  373.     new string[68];
  374.     format(string, 68, ".ðëðñ ìùøú %s", CheckName(playerid));
  375.     return SendClientMessageToAll(Orange,string);
  376. }
  377.  
  378. public OnPlayerDisconnect(playerid, reason)
  379. {
  380.     DOF2_SetInt(CheckFile(playerid), "Level", Player[playerid][Level]);
  381.     DOF2_SetInt(CheckFile(playerid), "Kills", Player[playerid][Kills]);
  382.     DOF2_SetInt(CheckFile(playerid), "LevelKills", Player[playerid][LevelKills]);
  383.     DOF2_SetInt(CheckFile(playerid), "Deaths", Player[playerid][Deaths]);
  384.     DOF2_SetInt(CheckFile(playerid), "Bank", Player[playerid][Bank]);
  385.     DOF2_SetInt(CheckFile(playerid), "AdminLevel", Player[playerid][AdminLevel]);
  386.     DOF2_SetString(CheckFile(playerid), "TagText", Player[playerid][TagText]);
  387.     DOF2_SetString(CheckFile(playerid), "TagColor", Player[playerid][TagColor]);
  388.     DOF2_SetInt(CheckFile(playerid), "Vehicle", Player[playerid][Vehicle]);
  389.     DOF2_SetInt(CheckFile(playerid), "Skin", Player[playerid][Skin]);
  390.     DOF2_SaveFile();
  391.     KillTimer(CoD[playerid]);
  392.     new string[68];
  393.     format(string, 68, ".éöà îäùøú %s", CheckName(playerid));
  394.     return SendClientMessageToAll(Orange,string);
  395. }
  396.  
  397. public OnPlayerSpawn(playerid)
  398. {
  399.     new randomaly = random(sizeof(RandomSpawns));
  400.     SetPlayerPos(playerid, RandomSpawns[randomaly][0], RandomSpawns[randomaly][1], RandomSpawns[randomaly][2]); // Warp the player
  401.     SetPlayerVirtualWorld(playerid, 0);
  402.     SetPlayerInterior(playerid, 0);
  403.     if(Player[playerid][Jetpack]) SetPlayerSpecialAction(playerid, 2);
  404.     ResetPlayerMoney(playerid);
  405.     GivePlayerMoney(playerid, Spawn_Money);
  406.     if(Player[playerid][Skin] >= 0) SetPlayerSkin(playerid, Player[playerid][Skin]);
  407.     GivePlayerWeapon(playerid, 24, 50);
  408.     return true;
  409. }
  410. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  411. {
  412.     if(newkeys & KEY_SUBMISSION && Player[playerid][CarJump])
  413.     {
  414.         new Float:Pos[3];
  415.         GetVehicleVelocity(GetPlayerVehicleID(playerid),Pos[0], Pos[1], Pos[2]);
  416.         SetVehicleVelocity(GetPlayerVehicleID(playerid),Pos[0], Pos[1], Pos[2]+0.2);
  417.     }
  418.     if(newkeys & KEY_FIRE && Player[playerid][VSpeed])
  419.     {
  420.         new Float:Pos[5];
  421.         GetVehicleVelocity(GetPlayerVehicleID(playerid), Pos[0], Pos[1], Pos[2]);
  422.         Pos[3] = floatsqroot(Pos[0]*Pos[0] + Pos[1]*Pos[1] + Pos[2]*Pos[2]);
  423.         if(Pos[3] > 0)
  424.         {
  425.             Pos[4] = ((50 + Pos[3] * 100) / (Pos[3] * 100));
  426.             return SetVehicleVelocity(GetPlayerVehicleID(playerid),Pos[0]*Pos[4],Pos[1]*Pos[4],Pos[2]*Pos[4]);
  427.         }
  428.     }
  429.     return true;
  430. }
  431. public OnPlayerDeath(playerid, killerid, reason)
  432. {
  433.     SendDeathMessage(killerid, playerid, reason);
  434.     Player[killerid][Kills]++;
  435.     Player[killerid][LevelKills]++;
  436.     if(Player[killerid][LevelKills] == Levels[Player[killerid][Level]-1][NextKills])
  437.     {
  438.         new string[128];
  439.         Player[killerid][Level]++;
  440.         Player[killerid][LevelKills] = 0;
  441.         GivePlayerMoney(killerid, GetPlayerMoney(playerid));
  442.         format(string, 128, ".òìä ìøîä %d %s äùç÷ï", Player[killerid][Level], CheckName(killerid));
  443.         SendClientMessageToAll(0xFFFFFF00, string);
  444.         if(Player[killerid][Level] == MaxLevel) format(string, 128, ".òìä ìøîä %d ùäéà äëé âáåää áùøú %s äùç÷ï", Player[killerid][Level], CheckName(killerid)), SendClientMessageToAll(0xFFFFFF00, string);
  445.     }
  446.     return true;
  447. }
  448. public OnVehicleSpawn(vehicleid)
  449. {
  450.     VDetails[vehicleid][vSpecialUsed] = false;
  451.     SetVehiclePos(vehicleid, VDetails[vehicleid][vPosX], VDetails[vehicleid][vPosY], VDetails[vehicleid][vPosZ]);
  452.     SetVehicleZAngle(vehicleid, VDetails[vehicleid][vPosA]);
  453.     if(VDetails[vehicleid][vType] == 2)
  454.     {
  455.         if(VDetails[vehicleid][vNeon] > 0)
  456.         {
  457.             DestroyObject(VDetails[vehicleid][vNeonUsed_1]);
  458.             DestroyObject(VDetails[vehicleid][vNeonUsed_2]);
  459.         }
  460.         ChangeVehicleColor(vehicleid, VDetails[vehicleid][vColor1], VDetails[vehicleid][vColor2]);
  461.         ChangeVehiclePaintjob(vehicleid, VDetails[vehicleid][vPaintjob]);
  462.         if(VDetails[vehicleid][vWheels] > 0) AddVehicleComponent(vehicleid, VDetails[vehicleid][vWheels]);
  463.         if(VDetails[vehicleid][vNHType] == 1) AddVehicleComponent(vehicleid, 1010);
  464.         else if(VDetails[vehicleid][vNHType] == 2) AddVehicleComponent(vehicleid, 1087);
  465.         else if(VDetails[vehicleid][vNHType] == 3) AddVehicleComponent(vehicleid, 1087), AddVehicleComponent(vehicleid, 1010);
  466.     }
  467.     SetVehicleNumberPlate(vehicleid, VDetails[vehicleid][vPlate]);
  468.     return true;
  469. }
  470. public OnPlayerText(playerid, text[])
  471. {
  472.     if(!Chat || Player[playerid][Muted]) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} You can't to write in this chat right now."), 0;
  473.     new string[256];
  474.     if(Player[playerid][Tag])
  475.     {
  476.         format(string, 256, "%s [{%s}%s{ffffff} | %d]",text, Player[playerid][TagColor], Player[playerid][TagText], playerid);
  477.         return SendPlayerMessageToAll(playerid, string),0;
  478.     }
  479.     else
  480.     {
  481.         format(string, 256, "%s [ID: %d]", text, playerid);
  482.         return SendPlayerMessageToAll(playerid,string),0;
  483.     }
  484. }
  485. public OnPlayerCommandText(playerid, cmdtext[])
  486. {
  487.     new cmd[256], string[256], idx;
  488.     cmd = strtok(cmdtext, idx);
  489.     if(!strcmp(cmd, "/v", true))
  490.     {
  491.         cmd = strtok(cmdtext, idx);
  492.         if(!strlen(cmd))
  493.         {
  494.             SendClientMessage(playerid, 0xFFFFFF00, "[Command] /v [àåôöéä]");
  495.             SendClientMessage(playerid, 0xFFFFFF00, "Normal vehicles: buy, sell, call, park, watch (stop), respawn, teleport, lock, plate, eject, ejectall.");
  496.             SendClientMessage(playerid, 0xFFFFFF00, "Special vehicles: neon, wheels, paint, repair, flip, hydraulics, nitro.");
  497.             if(IsPlayerAdmin(playerid)) SendClientMessage(playerid, 0xFFFFFF00, "Admin: price, available, type, paint, repair, flip, park, sell, lock, lock (un)all.");
  498.             return true;
  499.         }
  500.         if(!strcmp(cmd, "wheels", true))
  501.         {
  502.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  503.             if(strcmp(VDetails[VehicleID][vOwner], CheckName(playerid), false) != 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê äáòìéí ùì øëá æä");
  504.             if(VDetails[VehicleID][vType] != 2 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê éëåì ìäåñéó àåôöéä æå ìøëá æä");
  505.             if(GetPlayerMoney(playerid) < 500) return SendClientMessage(playerid, 0xFFFFFF00, ".àéï ìê îñôé÷ ëñó ëãé ì÷ðåú âìâìéí àìå - ãøåù: 500 ãåìø");
  506.             return ShowPlayerDialog(playerid, DWheels, DIALOG_STYLE_LIST, ".øùéîú âìâìéí", "1.\tSwitch\n2.\tMega\n3.\tCutter\n4.\tOffroad\n5.\tShadow\n6.\tRimshine\n7.\tWires\n8.\tClassic\n9.\tTwist\n10.\tGrove\n11.\tImport\n12.\tDollar\n13.\tTrance\n14.\tAtomic\n15.\tAhab\n16.\tVirtual", "Choose", "Back");
  507.         }
  508.         if(!strcmp(cmd, "buy", true))
  509.         {
  510.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  511.             if(Player[playerid][Vehicle] != -1) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .éù ëáø áøùåúê øëá ôøèé");
  512.             if(!VDetails[VehicleID][vAvailable]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .øëá æä àéðå ìîëéøä ëòú");
  513.             if(GetPlayerMoney(playerid) < VDetails[VehicleID][vPrice]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê îñôé÷ ëñó");
  514.             format(VDetails[VehicleID][vOwner], 30, "%s", CheckName(playerid));
  515.             Player[playerid][Vehicle] = VehicleID;
  516.             VDetails[VehicleID][vAvailable] = 0;
  517.             Update3DText(VehicleID);
  518.             GivePlayerMoney(playerid, -VDetails[VehicleID][vPrice]);
  519.             format(string, 128, "!áäöìçä, úäðä %s äéðê ÷ðéú ëòú àú äøëá", vNames[GetVehicleModel(VehicleID)-400]);
  520.             return SendClientMessage(playerid, 0xFFFFFF00, string);
  521.         }
  522.         if(!strcmp(cmd, "sell", true))
  523.         {
  524.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  525.             if(Player[playerid][Vehicle] == -1) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï áøùåúê øëá ôøèé");
  526.             if(VDetails[VehicleID][vAvailable]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .øëá æä äéðå ëáø ìîëéøä");
  527.             if(strcmp(VDetails[VehicleID][vOwner], CheckName(playerid), false) != 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê äáòìéí ùì øëá æä");
  528.             format(VDetails[VehicleID][vOwner], 30, "%s", "None");
  529.             Player[playerid][Vehicle] = -1;
  530.             VDetails[VehicleID][vAvailable] = 1;
  531.             Update3DText(VehicleID);
  532.             GivePlayerMoney(playerid, VDetails[VehicleID][vPrice]/2);
  533.             format(string, 128, ".å÷éáìú òìéå %d ãåìø %s äéðê îëøú ëòú àú øëáê ä", VDetails[VehicleID][vPrice]/2, vNames[GetVehicleModel(VehicleID)-400]);
  534.             return SendClientMessage(playerid, 0xFFFFFF00, string);
  535.         }
  536.         if(!strcmp(cmd, "plate", true))
  537.         {
  538.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  539.             if(strcmp(VDetails[VehicleID][vOwner], CheckName(playerid), false) != 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê äáòìéí ùì øëá æä");
  540.             cmd = strtok(cmdtext, idx);
  541.             if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] /v plate [Plate name(without spaces, 10 letters)]");
  542.             format(VDetails[VehicleID][vPlate], 10, "%s", cmd);
  543.             SetVehicleToRespawn(VehicleID);
  544.             return SendClientMessage(playerid, 0xFFFFFF00, ".äéðê ùéðéú àú ìåçéú äøéùåé ùì øëá æä");
  545.         }
  546.         if(!strcmp(cmd, "type", true))
  547.         {
  548.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  549.             if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 7) return AdminError(playerid);
  550.             cmd = strtok(cmdtext, idx);
  551.             if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /v type [0-Public, 1-Normal, 2-Special, 3-Admins]");
  552.             VDetails[VehicleID][vType] = strval(cmd);
  553.             SetVehicleToRespawn(VehicleID);
  554.             Update3DText(VehicleID);
  555.             format(string, 128, "äéðê ùéðéú ìøëá æä àú ñåâå ìîñôø: %d.", strval(cmd));
  556.             return SendClientMessage(playerid, 0xFFFFFF00, string);
  557.         }
  558.         if(!strcmp(cmd, "available", true))
  559.         {
  560.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  561.             if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 7) return AdminError(playerid);
  562.             cmd = strtok(cmdtext, idx);
  563.             if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /v available [0-Not available, 1-Available]");
  564.             VDetails[VehicleID][vAvailable] = strval(cmd);
  565.             SetVehicleToRespawn(VehicleID);
  566.             Update3DText(VehicleID);
  567.             format(string, 128, ".äéðê ùéðéú àú ñåâ äîëéøä ìøëá æä ì: %d", strval(cmd));
  568.             return SendClientMessage(playerid, 0xFFFFFF00, string);
  569.         }
  570.         if(!strcmp(cmd, "price", true))
  571.         {
  572.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  573.             if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 7) return AdminError(playerid);
  574.             cmd = strtok(cmdtext, idx);
  575.             if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /v price [îçéø äøëá]");
  576.             VDetails[VehicleID][vPrice] = strval(cmd);
  577.             SetVehicleToRespawn(VehicleID);
  578.             Update3DText(VehicleID);
  579.             format(string, 128, ".äéðê ùéðéú àú äîçéø ùì øëá æä ì: %d", strval(cmd));
  580.             return SendClientMessage(playerid, 0xFFFFFF00, string);
  581.         }
  582.         if(!strcmp(cmd, "watch", true))
  583.         {
  584.             if(Player[playerid][Vehicle] == -1) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï áøùåúê øëá ôøèé");
  585.             cmd = strtok(cmdtext, idx);
  586.             if(!strcmp(cmd, "stop", true)) TogglePlayerSpectating(playerid, 0);
  587.             if(!strlen(cmd))
  588.             {
  589.                 if(Player[playerid][Vehicle] == -1) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .éù ëáø áøùåúê øëá ôøèé");
  590.                 TogglePlayerSpectating(playerid, 1);
  591.                 PlayerSpectateVehicle(playerid, Player[playerid][Vehicle]);
  592.                 return SendClientMessage(playerid, 0xFFFFFF00, ".ëãé ìòöåø àú äöôééä áøëáê ,/v watch stop - ä÷ìã");
  593.             }
  594.             return true;
  595.         }
  596.         if(!strcmp(cmd, "respawn", true))
  597.         {
  598.             if(Player[playerid][Vehicle] == -1) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï áøùåúê øëá ôøèé");
  599.             SetVehicleToRespawn(Player[playerid][Vehicle]);
  600.             return SendClientMessage(playerid, 0xFFFFFF00, ".äéðê òùéú øéñôàåï ìøëáê");
  601.         }
  602.         if(!strcmp(cmd, "park", true))
  603.         {
  604.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  605.             if(strcmp(VDetails[VehicleID][vOwner], CheckName(playerid), false) != 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê äáòìéí ùì øëá æä");
  606.             new Float:Pos[4];
  607.             GetVehiclePos(VehicleID, Pos[0], Pos[1], Pos[2]);
  608.             GetVehicleZAngle(VehicleID, Pos[3]);
  609.             VDetails[VehicleID][vPosX] = Pos[0];
  610.             VDetails[VehicleID][vPosY] = Pos[1];
  611.             VDetails[VehicleID][vPosZ] = Pos[2];
  612.             VDetails[VehicleID][vPosA] = Pos[3];
  613.             return SendClientMessage(playerid, 0xFFFFFF00, ".äéðê äçðú àú øëáê áäöìçä");
  614.         }
  615.         if(!strcmp(cmd, "nitro", true))
  616.         {
  617.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  618.             if(strcmp(VDetails[VehicleID][vOwner], CheckName(playerid), false) != 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê äáòìéí ùì øëá æä");
  619.             if(VDetails[VehicleID][vType] != 2 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê éëåì ìäåñéó àåôöéä æå ìøëá æä");
  620.             cmd = strtok(cmdtext, idx);
  621.             if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /v nitro [buy/sell] - 500 ãåìø.");
  622.             if(!strcmp(cmd, "buy", true))
  623.             {
  624.                 if(GetPlayerMoney(playerid) < 500) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê îñôé÷ ëñó");
  625.                 if(!VDetails[VehicleID][vNHType]) return AddVehicleComponent(VehicleID, 1010), VDetails[VehicleID][vNHType] = 1, GivePlayerMoney(playerid, -500), SendClientMessage(playerid, 0xFFFFFF00, ".÷ðéú ðéèøå ìøëáê");
  626.                 else if(VDetails[VehicleID][vNHType] == 1) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .éù ìê ëáø ðéèøå");
  627.                 else if(VDetails[VehicleID][vNHType] == 2) return AddVehicleComponent(VehicleID, 1010), VDetails[VehicleID][vNHType] = 3, GivePlayerMoney(playerid, -500), SendClientMessage(playerid, 0xFFFFFF00, ".÷ðéú ðéèøå ìøëáê");
  628.                 else if(VDetails[VehicleID][vNHType] == 3) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .éù ìê ëáø ðéèøå");
  629.             }
  630.             if(!strcmp(cmd, "sell", true))
  631.             {
  632.                 if(!VDetails[VehicleID][vNHType]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê ðéèøå");
  633.                 else if(VDetails[VehicleID][vNHType] == 1) return RemoveVehicleComponent(VehicleID, 1010), VDetails[VehicleID][vNHType] = 0, GivePlayerMoney(playerid, 250), SendClientMessage(playerid, 0xFFFFFF00, ".îëøú àú äðéèøå îøëáê");
  634.                 else if(VDetails[VehicleID][vNHType] == 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê ðéèøå");
  635.                 else if(VDetails[VehicleID][vNHType] == 3) return RemoveVehicleComponent(VehicleID, 1010), VDetails[VehicleID][vNHType] = 2, GivePlayerMoney(playerid, 250), SendClientMessage(playerid, 0xFFFFFF00, ".îëøú àú äðéèøå îøëáê");
  636.             }
  637.         }
  638.         if(!strcmp(cmd, "neon", true))
  639.         {
  640.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  641.             if(strcmp(VDetails[VehicleID][vOwner], CheckName(playerid), false) != 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê äáòìéí ùì øëá æä");
  642.             if(VDetails[VehicleID][vType] != 2 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê éëåì ìäåñéó àåôöéä æå ìøëá æä");
  643.             if(GetPlayerMoney(playerid) < 500) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê îñôé÷ ëñó - ðãøù: 500 ãåìø");
  644.             cmd = strtok(cmdtext, idx);
  645.             if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /v neon [buy(àå îëéøä, ÷ðéä òáåø 500 ãåìøéí), on, off]");
  646.             if(!strcmp(cmd, "buy", true)) return ShowPlayerDialog(playerid, DNeons, DIALOG_STYLE_LIST, ".øùéîú äðàåðéí", "1. äú÷ï: ëçåì\r\n2. äú÷ï :àãåí\r\n3. äú÷ï: éøå÷\r\n4. äú÷ï: ìáï\r\n5. äú÷ï: åøåã\r\n6. äú÷ï: öäåá\r\näñø: ðàåðéí îøëáê", "áçø", "áèì");
  647.             if(!strcmp(cmd, "on", true))
  648.             {
  649.                 if(!VDetails[VehicleID][vNeon]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê ðàåï");
  650.                 CreateNeon(playerid, VDetails[VehicleID][vNeon], "", 0);
  651.                 return SendClientMessage(playerid, 0xFFFFFF00, ".äéðê äôòìú àú äðàåï îøëáê");
  652.             }
  653.             if(!strcmp(cmd, "off", true))
  654.             {
  655.                 if(!VDetails[VehicleID][vNeon]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê ðàåï");
  656.                 DestroyObject(VDetails[VehicleID][vNeonUsed_1]);
  657.                 DestroyObject(VDetails[VehicleID][vNeonUsed_2]);
  658.                 return SendClientMessage(playerid, 0xFFFFFF00, ".äéðê ëéáéú àú äðàåï îøëáê");
  659.             }
  660.         }
  661.         if(!strcmp(cmd, "hydraulics", true))
  662.         {
  663.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  664.             if(strcmp(VDetails[VehicleID][vOwner], CheckName(playerid), false) != 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê äáòìéí ùì øëá æä");
  665.             if(VDetails[VehicleID][vType] != 2 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê éëåì ìäåñéó àåôöéä æå ìøëá æä");
  666.             cmd = strtok(cmdtext, idx);
  667.             if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /v hydraulics [buy/sell] - 500 ãåìøéí.");
  668.             if(!strcmp(cmd, "buy", true))
  669.             {
  670.                 if(GetPlayerMoney(playerid) < 500) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê îñôé÷ ëñó");
  671.                 if(!VDetails[VehicleID][vNHType]) return AddVehicleComponent(VehicleID, 1087), VDetails[VehicleID][vNHType] = 2, GivePlayerMoney(playerid, -500), SendClientMessage(playerid, 0xFFFFFF00, ".÷ðéú äéãøåìé÷ñ");
  672.                 else if(VDetails[VehicleID][vNHType] == 1) return AddVehicleComponent(VehicleID, 1087), VDetails[VehicleID][vNHType] = 3, GivePlayerMoney(playerid, -500), SendClientMessage(playerid, 0xFFFFFF00, ".÷ðéú äéãøåìé÷ñ");
  673.                 else if(VDetails[VehicleID][vNHType] == 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .éù ëáø áøùåúê äéãøåìé÷ñ");
  674.                 else if(VDetails[VehicleID][vNHType] == 3) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .éù ëáø áøùåúê äéãøåìé÷ñ");
  675.             }
  676.             if(!strcmp(cmd, "sell", true))
  677.             {
  678.                 if(!VDetails[VehicleID][vNHType]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê äéãøåìé÷ñ");
  679.                 else if(VDetails[VehicleID][vNHType] == 1) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê äéãøåìé÷ñ");
  680.                 else if(VDetails[VehicleID][vNHType] == 2) return RemoveVehicleComponent(VehicleID, 1087), VDetails[VehicleID][vNHType] = 0, GivePlayerMoney(playerid, 250), SendClientMessage(playerid, 0xFFFFFF00, ".îëøú àú ääéãøåìé÷ñ");
  681.                 else if(VDetails[VehicleID][vNHType] == 3) return RemoveVehicleComponent(VehicleID, 1087), VDetails[VehicleID][vNHType] = 1, GivePlayerMoney(playerid, 250), SendClientMessage(playerid, 0xFFFFFF00, ".îëøú àú ääéãøåìé÷ñ");
  682.             }
  683.         }
  684.         if(!strcmp(cmd, "paint", true))
  685.         {
  686.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  687.             if(strcmp(VDetails[VehicleID][vOwner], CheckName(playerid), false) != 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê äáòìéí ùì øëá æä");
  688.             if(VDetails[VehicleID][vType] != 2 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê éëåì ìäåñéó àåôöéä æå ìøëá æä");
  689.             new cmd2[128], cmd3[128];
  690.             cmd = strtok(cmdtext, idx), cmd2 = strtok(cmdtext, idx), cmd3 = strtok(cmdtext, idx);
  691.             if(!strlen(cmd) && !strlen(cmd2) && !strlen(cmd3)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /v paint [Color: 1-254] [Color: 1-254] [Paintjob: 0,1,2(3=None)]");
  692.             ChangeVehicleColor(VehicleID, strval(cmd), strval(cmd2)), VDetails[VehicleID][vColor1] = strval(cmd), VDetails[VehicleID][vColor2] = strval(cmd2);
  693.             ChangeVehiclePaintjob(VehicleID, strval(cmd3)), VDetails[VehicleID][vPaintjob] = strval(cmd3);
  694.             return SendClientMessage(playerid, 0xFFFFFF00, ".äéðê ùéðéú àú äöáò åäôàéðè â'åá ìøëá æä");
  695.         }
  696.         if(!strcmp(cmd, "flip", true))
  697.         {
  698.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  699.             if(strcmp(VDetails[VehicleID][vOwner], CheckName(playerid), false) != 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê äáòìéí ùì øëá æä");
  700.             if(VDetails[VehicleID][vType] != 2 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê éëåì ìäåñéó àåôöéä æå ìøëá æä");
  701.             if(VDetails[VehicleID][vSpecialUsed]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .äéðê ëáø äùúîùú áùéîåù äîéåçã, àðà äîúï òã äøéñôàåï äáà ùì øëáê");
  702.             new Float:Angle;
  703.             VDetails[VehicleID][vSpecialUsed] = true, GetVehicleZAngle(VehicleID, Angle);
  704.             return SetVehicleZAngle(VehicleID, Angle);
  705.         }
  706.         if(!strcmp(cmd, "repair", true))
  707.         {
  708.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  709.             if(strcmp(VDetails[VehicleID][vOwner], CheckName(playerid), false) != 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê äáòìéí ùì øëá æä");
  710.             if(VDetails[VehicleID][vType] != 2 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê éëåì ìú÷ï àú øëáê");
  711.             if(VDetails[VehicleID][vSpecialUsed]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .äéðê ëáø äùúîùú áùéîåù äîéåçã, àðà äîúï òã äøéñôàåï äáà ùì øëáê");
  712.             VDetails[VehicleID][vSpecialUsed] = true, RepairVehicle(VehicleID);
  713.             return SendClientMessage(playerid, 0xFFFFFF00, "You repaired your vehicle, wait now till the next vehicle respawn!");
  714.         }
  715.         if(!strcmp(cmd, "lock", true))
  716.         {
  717.             new engine, lights, alarm, doors, bonnet, boot, objective;
  718.             cmd = strtok(cmdtext, idx);
  719.             if(strlen(cmd))
  720.             {
  721.                 if(!strcmp(cmd, "unall", true))
  722.                 {
  723.                     if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 7) return AdminError(playerid);
  724.                     for(new v = 0; v < MAX_VEHICLES; v++)
  725.                     {
  726.                         GetVehicleParamsEx(v, engine, lights, alarm, doors, bonnet, boot, objective);
  727.                         VDetails[v][vLock] = 0, SetVehicleParamsEx(v, engine, lights, alarm, false, bonnet, boot, objective);
  728.                     }
  729.                     SendClientMessageToAll(0xFFFFFF00, ".äàãîéï ôúç àú ëì äøëáéí áùøú");
  730.                     return true;
  731.                 }
  732.                 if(!strcmp(cmd, "all", true))
  733.                 {
  734.                     if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 7) return AdminError(playerid);
  735.                     for(new v = 0; v < MAX_VEHICLES; v++)
  736.                     {
  737.                         GetVehicleParamsEx(v, engine, lights, alarm, doors, bonnet, boot, objective);
  738.                         VDetails[v][vLock] = 1, SetVehicleParamsEx(v, engine, lights, alarm, true, bonnet, boot, objective);
  739.                     }
  740.                     SendClientMessageToAll(0xFFFFFF00, ".äàãîéï ðòì àú ëì äøëáéí ùáùøú");
  741.                     return true;
  742.                 }
  743.             }
  744.             new nearvehicle = GetClosestCar(playerid);
  745.             if(Player[playerid][Vehicle] == -1) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï áøùåúê øëá ôøèé");
  746.             if(!CheckPlayerDistanceToVehicle(3, playerid, nearvehicle)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] You aren't near the vehicle.");
  747.             if(Player[playerid][AdminLevel] > 6)
  748.             {
  749.                 if(strcmp(VDetails[nearvehicle][vOwner], CheckName(playerid), false) != 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê äáòìéí ùì øëá æä");
  750.                 GetVehicleParamsEx(nearvehicle, engine, lights, alarm, doors, bonnet, boot, objective);
  751.                 if(!VDetails[nearvehicle][vLock]) VDetails[nearvehicle][vLock] = 1, SetVehicleParamsEx(nearvehicle, engine, lights, alarm, true, bonnet, boot, objective), SendClientMessage(playerid, 0xFFFFFF00, ".ðòìú àú øëáê");
  752.                 else if(VDetails[nearvehicle][vLock]) VDetails[nearvehicle][vLock] = 0, SetVehicleParamsEx(nearvehicle, engine, lights, alarm, false, bonnet, boot, objective), SendClientMessage(playerid, 0xFFFFFF00, ".ôúçú àú øëáê");
  753.                 return true;
  754.             }
  755.             else
  756.             {
  757.                 GetVehicleParamsEx(nearvehicle, engine, lights, alarm, doors, bonnet, boot, objective);
  758.                 if(!VDetails[nearvehicle][vLock]) VDetails[nearvehicle][vLock] = 1, SetVehicleParamsEx(nearvehicle, engine, lights, alarm, true, bonnet, boot, objective), SendClientMessage(playerid, 0xFFFFFF00, ".ðòìú àú äøëá æä ëàãîéï");
  759.                 else if(VDetails[nearvehicle][vLock]) VDetails[nearvehicle][vLock] = 0, SetVehicleParamsEx(nearvehicle, engine, lights, alarm, false, bonnet, boot, objective), SendClientMessage(playerid, 0xFFFFFF00, ".ôúçú øëá æä ëàãîéï");
  760.                 return true;
  761.             }
  762.         }
  763.         if(!strcmp(cmd, "eject", true))
  764.         {
  765.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  766.             if(strcmp(VDetails[VehicleID][vOwner], CheckName(playerid), false) != 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê äáòìéí ùì øëá æä");
  767.             if(Player[playerid][Vehicle] == -1) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï áøùåúê øëá ôøèé");
  768.             cmd = strtok(cmdtext, idx);
  769.             if(!IsPlayerConnected(strval(cmd))) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .ùç÷ï æä àéðå îçåáø");
  770.             if(!IsPlayerInVehicle(strval(cmd), Player[playerid][Vehicle])) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .ùç÷ï æä àéðå áøëáê");
  771.             RemovePlayerFromVehicle(strval(cmd));
  772.             return SendClientMessage(playerid, 0xFFFFFF00, ".äéðê äåöàú àú ùç÷ï æä îøëáê");
  773.         }
  774.         if(!strcmp(cmd, "ejectall", true))
  775.         {
  776.             if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê ðîöà áøëá ëðäâ");
  777.             if(Player[playerid][Vehicle] == -1) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï áøùåúê øëá ôøèé");
  778.             if(strcmp(VDetails[VehicleID][vOwner], CheckName(playerid), false) != 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê äáòìéí ùì øëá æä");
  779.             for(new i = 0; i < MAX_PLAYERS; i++)
  780.             {
  781.                 if(!IsPlayerConnected(playerid)) continue;
  782.                 if(IsPlayerInVehicle(i, Player[playerid][Vehicle])) RemovePlayerFromVehicle(i);
  783.             }
  784.             return SendClientMessage(playerid, 0xFFFFFF00, ".äéðê äåöàú àú ëì äùç÷ðéí îøëáê");
  785.         }
  786.         if(!strcmp(cmd, "call", true))
  787.         {
  788.             if(Player[playerid][Vehicle] == -1) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï áøùåúê øëá ôøèé");
  789.             for(new i = 0; i < MAX_PLAYERS; i++)
  790.             {
  791.                 if(!IsPlayerConnected(playerid)) continue;
  792.                 if(IsPlayerInVehicle(i, Player[playerid][Vehicle])) format(string, 128, ".ùéâø àú øëáå %s äáòìéí ùì øëá æä", VDetails[Player[playerid][Vehicle]][vOwner]), SendClientMessage(playerid, 0xFFFFFF00, string);
  793.             }
  794.             SendClientMessage(playerid, 0xFFFFFF00, ".äéðê ùéâøú àú øëáê àìéê");
  795.             new Float:Pos[4];
  796.             GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  797.             GetPlayerFacingAngle(playerid, Pos[3]);
  798.             SetVehiclePos(Player[playerid][Vehicle], Pos[0], Pos[1], Pos[2]);
  799.             SetVehicleZAngle(Player[playerid][Vehicle], Pos[3]);
  800.             return PutPlayerInVehicle(playerid, Player[playerid][Vehicle], 0);
  801.         }
  802.         if(!strcmp(cmd, "teleport", true))
  803.         {
  804.             if(Player[playerid][Vehicle] == -1) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï áøùåúê øëá ôøèé");
  805.             new Players = 0;
  806.             for(new i = 0; i < MAX_PLAYERS; i++)
  807.             {
  808.                 if(!IsPlayerConnected(playerid)) continue;
  809.                 if(IsPlayerInVehicle(i, Player[playerid][Vehicle])) Players++;
  810.             }
  811.             if(Players != 0) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê éëåì ìùâø àú øëáê ëàùø àðùéí áúåëå");
  812.             SendClientMessage(playerid, 0xFFFFFF00, ".äéðê äùúâøú ìøëáê");
  813.             new Float:Pos[4];
  814.             GetVehiclePos(Player[playerid][Vehicle], Pos[0], Pos[1], Pos[2]);
  815.             GetVehicleZAngle(Player[playerid][Vehicle], Pos[3]);
  816.             SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  817.             return SetPlayerFacingAngle(playerid, Pos[3]);
  818.         }
  819.         return true;
  820.     }
  821.     if(!strcmp(cmd, "/saveskin", true)) return Player[playerid][Skin] = GetPlayerSkin(playerid), ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, "ñ÷éï ðùîø áäöìçä", ".äñ÷éï ùáå äéðê ðîöà ëòú ðùîø áäöìçä\n\r./removeskin ëãé ìîçå÷ ä÷ìã", "ñâåø", "");
  822.     if(!strcmp(cmd, "/removeskin", true)) return Player[playerid][Skin] = -1, ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, "ñ÷éï ðîç÷ áäöìçä", ".äñ÷éï àùø äéðê ðîöà áå ðîç÷ áäöìçä\n\r./kill åàæ F4 ëãé ìáçåø ñ÷éï çãù ìçõ ", "ñâåø", "");
  823.     if(!strcmp(cmd, "/settag", true))
  824.     {
  825.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 6) return AdminError(playerid);
  826.         return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú äàééãé ùáøöåðê ìùéí àú äúàâ", "äáà", "áéèåì");
  827.     }
  828.     if(!strcmp(cmd, "/removetag", true))
  829.     {
  830.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 6) return AdminError(playerid);
  831.         return ShowPlayerDialog(playerid, ChooseIDR, DIALOG_STYLE_INPUT, "îçé÷ú úàâ ìùç÷ï", ".ðà áçø àú äàééãé ùáøöåðê ìäåøéã ìå àú äúàâ", "äáà", "áéèåì");
  832.     }
  833.     if(!strcmp(cmdtext, "/survey", true))
  834.     {
  835.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 6) return AdminError(playerid);
  836.         if(SurveyOn) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .éù ëáø ñ÷ø îåôòì");
  837.         return ShowPlayerDialog(playerid, STitle, DIALOG_STYLE_INPUT, ".öåø ñ÷ø çãù: ëåúøú", ".àðà øùåí àú äëåúøú ùì äñ÷ø ùìê", "äáà", "áéèåì");
  838.     }
  839.     if(!strcmp(cmd, "/stopsurvey", true))
  840.     {
  841.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 6) return AdminError(playerid);
  842.         new AName[24];
  843.         GetPlayerName(playerid, AName, 24);
  844.         SurveyOn = false;
  845.         YesNo[0] = 0, YesNo[1] = 0;
  846.         format(string, 128, ".òöø àú äñ÷ø ëòú %s äàãîéï", AName);
  847.         return SendClientMessageToAll(0xFFFFFF00, string);
  848.     }
  849.     if(!strcmp(cmd, "/vote", true))
  850.     {
  851.         if(!SurveyOn) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ñ÷ø îåôòì áùøú");
  852.         if(AChose[playerid]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] !ëáø äöáòú ìñ÷ø æä, àðà äîúï");
  853.         cmd = strtok(cmdtext, idx);
  854.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "ä÷ìã: /vote [Yes/No]");
  855.         if(!strcmp(cmd, "yes", true)) return SendClientMessage(playerid, 0xFFFFFF00, "[System] .äéðê äöáòú áñ÷ø æä ëäöáòä ùì: ëï"), YesNo[0]++, AChose[playerid] = true;
  856.         if(!strcmp(cmd, "no", true)) return SendClientMessage(playerid, 0xFFFFFF00, "[System] .äéðê äöáòú áñ÷ø æä ëäöáòä ùì: ìà"), YesNo[1]++, AChose[playerid] = true;
  857.     }
  858.     if(!strcmp(cmdtext, "/createpickup", true))
  859.     {
  860.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 6) return AdminError(playerid);
  861.         return ShowPlayerDialog(playerid, DPickups, DIALOG_STYLE_INPUT, ".éöøú ôé÷àô çãù: ùí", ".àðà øùåí àú äùí ùì äôé÷àô äçãù\n\r./scriptfiles/Z-PickIcon/ :úåëì ìîöåà àú ä÷åáõ áúé÷ééú", "öåø", "áèì");
  862.     }
  863.     if(!strcmp(cmdtext, "/createicon", true))
  864.     {
  865.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 6) return AdminError(playerid);
  866.         return ShowPlayerDialog(playerid, DMapIcons, DIALOG_STYLE_INPUT, ".éöéøú àéé÷åï çãù: ùí", ".àðà øùåí àú ùí äàéé÷åï äçãù\n\r./scriptfiles/Z-PickIcon/ :úåëì ìîöåà àú ä÷åáõ áúé÷ééú", "öåø", "áèì");
  867.     }
  868.     if(!strcmp(cmdtext, "/createcode", true))
  869.     {
  870.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 6) return AdminError(playerid);
  871.         return ShowPlayerDialog(playerid, CodesDialogChose, DIALOG_STYLE_LIST, ".éöéøú ÷åãéí áùøú", "1. áçéøú ñåâ+÷åã øðãåîàìé\n\r2. áçéøú ñåâ+÷åã\n\r\n\r.ZiPoNz îòøëú ÷åãéí æå ðåöøä òì éãé", "öåø", "áèì");
  872.     }
  873.     if(!strcmp(cmd, "/code", true))
  874.     {
  875.         cmd = strtok(cmdtext, idx);
  876.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] ./code [Code text] ä÷ìã");
  877.         if(!DOF2_IsSet(CodesFile, cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .÷åã æä àéðå ÷ééí");
  878.         switch(DOF2_GetInt(CodesFile, cmd))
  879.         {
  880.             case 1: GivePlayerMoney(playerid, random(20000));
  881.             case 2: GivePlayerWeapon(playerid, random(36), 500);
  882.             case 3: Player[playerid][CarJump] = true;
  883.             case 4: Player[playerid][VSpeed] = true;
  884.             case 5: Player[playerid][Jetpack] = true, SetPlayerSpecialAction(playerid, 2);
  885.         }
  886.         new PName[24];
  887.         GetPlayerName(playerid, PName, 24);
  888.         format(string, 128, ".æëä á÷åã: %s %s :äùç÷ï", IsCodeType(DOF2_GetInt(CodesFile, cmd)), PName);
  889.         SendClientMessageToAll(0xFFFFFF00, string);
  890.         return DOF2_Unset(CodesFile, cmd), DOF2_SaveFile();
  891.     }
  892.     if(!strcmp(cmd, "/chat", true))
  893.     {
  894.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 5) return AdminError(playerid);
  895.         Chat = Chat == true ? false : true;
  896.         format(string, 256, Chat == true ? ("{FF9500}[Server]{FFFFFF} .ôúç àú äö'àè %s äàãîéï") : ("{FF9500}[Server]{FFFFFF} .ñâø àú äö'àè %s äàãîéï"), CheckName(playerid));
  897.         return SendClientMessageToAll(0xFFFFFF00, string);
  898.     }
  899.     if(!strcmp(cmd, "/hideme", true))
  900.     {
  901.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 5) return AdminError(playerid);
  902.         Player[playerid][Hide] = Player[playerid][Hide] == true ? false : true;
  903.         format(string, 256, Player[playerid][Hide] == true ? ("{005EFF}[System]{FFFFFF} .ëòú àéðê îåôéò áøùéîú àãîéðéí") : ("{005EFF}[System]{FFFFFF} .ëòú äéðê îåôéò áøùéîú äàãîéðéí"), CheckName(playerid));
  904.         return SendClientMessageToAll(0xFFFFFF00, string);
  905.     }
  906.     if(!strcmp(cmd, "/admins", true))
  907.     {
  908.         new count = 0;
  909.         SendClientMessage(playerid, 0xFFA20000, ":øùéîú àãîéðéí îçåáøéí");
  910.         for(new p = 0; p < MAX_PLAYERS; p++)
  911.         {
  912.             if(!IsPlayerConnected(p)) continue;
  913.             if(!Player[p][AdminLevel]) continue;
  914.             if(Player[p][Hide]) continue;
  915.             count++;
  916.             format(string, 256, "%d. %s - øîä: %d%s.", count, CheckName(p), Player[p][AdminLevel], IsPlayerAdmin(playerid) == 1 ? ("+RCON") : (""));
  917.             SendClientMessage(playerid, 0xFFFFFF00, count == 0 ? ("None.") : string);
  918.         }
  919.         return true;
  920.     }
  921.     if(!strcmp(cmd, "/clearchat", true))
  922.     {
  923.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 3) return AdminError(playerid);
  924.         for(new c = 0; c < 101; c++)
  925.         {
  926.             for(new i = 0; i < MAX_PLAYERS; i++)
  927.             {
  928.                 if(!IsPlayerConnected(i)) continue;
  929.                 if(Player[i][AdminLevel] != 0) continue;
  930.                 SendClientMessage(i, RandomColors[random(sizeof(RandomColors))], " ");
  931.             }
  932.         }
  933.         format(string, 256, "{FF9500}[Server]{FFFFFF} .ðé÷ä àú äö'àè %s äàãîéï", CheckName(playerid));
  934.         return SendClientMessageToAll(0xFFFFFF00, string);
  935.     }
  936.     if(!strcmp(cmd, "/setadmin", true))
  937.     {
  938.         if(!IsPlayerAdmin(playerid) && Player[playerid][AdminLevel] != 7) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} You are not administrator(/rcon) to use it.");
  939.         new cmd2[256];
  940.         cmd = strtok(cmdtext, idx);
  941.         cmd2 = strtok(cmdtext, idx);
  942.         if(!strlen(cmd) || !strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setadmin [PlayerID] [Admin level 1-7]");
  943.         if(strval(cmd2) < 0 || strval(cmd2) > 7 || !IsNumeric(cmd) || !IsNumeric(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} .àðà øùåí àú äøîä äîúàéîä");
  944.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  945.         Player[strval(cmd)][AdminLevel] = strval(cmd2);
  946.         format(string, 150, ".%s ùìåí\n\r.àðà ä÷ìã àú ñéñîú äàãîéðéí ëãé ìäîùéê\n\rMode by ZiPoNz - LvDmPlus+ - Version 2", CheckName(playerid));
  947.         ShowPlayerDialog(strval(cmd), AdminLogin, DIALOG_STYLE_PASSWORD, ".áøåê äáà ìùøú", string, "!äúçáø", "");
  948.         format(string, 256, "{005EFF}[System]{FFFFFF} .ìöååú äàãîéðéí áúåø øîä %d %s äéðê äæîðú àú äùç÷ï", strval(cmd2), CheckName(strval(cmd)));
  949.         SendClientMessage(playerid, 0xFFFFFF00, string);
  950.         format(string, 256, "{005EFF}[System]{FFFFFF} .äæîéï àåúê ìöååú äàãîéðéí áúåø øîä %d %s äàãîéï", strval(cmd2), CheckName(playerid));
  951.         return SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  952.     }
  953.     if(!strcmp(cmd, "/respawnvehicles", true))
  954.     {
  955.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 5) return AdminError(playerid);
  956.         new bool:unused[MAX_VEHICLES];
  957.         for(new player=0; player<MAX_PLAYERS; player++) if(IsPlayerInAnyVehicle(player)) unused[GetPlayerVehicleID(player)]=true;
  958.         for(new car = 1; car <= 268; car++) if(!unused[car]) SetVehicleToRespawn(car);
  959.         format(string, 256, "{FF9500}[Server]{FFFFFF} .òùä øéñè ìëì äøëáéí áùøú %s äàãîéï", CheckName(playerid));
  960.         return SendClientMessageToAll(0xFFFFFF00, string);
  961.     }
  962.     if(!strcmp(cmd, "/say", true))
  963.     {
  964.         new text[256];
  965.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 1) return AdminError(playerid);
  966.         text = strrest(cmdtext, idx);
  967.         if(!strlen(text)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /say [è÷ñè ìëì äùç÷ðéí]");
  968.         format(string, 256, "Administrator %s: %s", CheckName(playerid), text);
  969.         return SendClientMessageToAll(0x006BFFFF, string);
  970.     }
  971.     if(!strcmp(cmd, "/changeapassword", true))
  972.     {
  973.         new text[256];
  974.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 7) return AdminError(playerid);
  975.         text = strrest(cmdtext, idx);
  976.         if(!strlen(text)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /changeapassword [ñéñîàú àãîéðéí]");
  977.         DOF2_SetString(Settings, "AdminPassword", text);
  978.         SendClientMessage(playerid, 0xFFFFFF00, ".ùéðéú àú ñéñîàú äàãîéðéí");
  979.         return DOF2_SaveFile();
  980.     }
  981.     if(!strcmp(cmd, "/report", true))
  982.     {
  983.         new reason[256];
  984.         cmd = strtok(cmdtext, idx);
  985.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /report [PlayerID] [Reason]");
  986.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  987.         reason = strrest(cmdtext,idx);
  988.         if(!strlen(reason)) return SendClientMessage(playerid,0xFFFFFF00,"[Command] /report [PlayerID] [Reason]");
  989.  
  990.         format(string,sizeof(string),"[Reports] %s[%d] reported the player %s[%d], reason: %s.", CheckName(playerid),playerid,CheckName(strval(cmd)),strval(cmd),reason);
  991.         for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && Player[i][AdminLevel] != 0) SendClientMessage(i,0xFFFFFF00,string);
  992.         return SendClientMessage(playerid, 0xFFFFFF00, "{005EFF}[System]{FFFFFF} .àðà äîúï, äãéååç ùìê ðùìç ìöååú äàãîéðéí äîçåáøéí");
  993.     }
  994.     if(!strcmp(cmd, "//", true))
  995.     {
  996.         new text[256];
  997.         if(!Player[playerid][AdminLevel]) return AdminError(playerid);
  998.         text = strrest(cmdtext,idx);
  999.         if(!strlen(text)) return SendClientMessage(playerid,0xFFFFFF00,"[Command] // [Admin chat]");
  1000.  
  1001.         format(string,sizeof(string),"[Admin chat] %s[%d]: %s.", CheckName(playerid),playerid, text);
  1002.         for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && Player[i][AdminLevel] != 0) SendClientMessage(i,0xFFA200FF,string);
  1003.         return true;
  1004.     }
  1005.     if(!strcmp(cmd, "/flip", true))
  1006.     {
  1007.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 3) return AdminError(playerid);
  1008.         cmd = strtok(cmdtext, idx);
  1009.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /flip [PlayerID]");
  1010.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1011.         format(string, 256, "{005EFF}[System]{FFFFFF} .%s äéðê äôëú àúä øëá ìùç÷ï", CheckName(strval(cmd)));
  1012.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1013.         format(string, 256, "{005EFF}[System]{FFFFFF} .äôê àú øëáê %s äàãîéï", CheckName(playerid));
  1014.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1015.         new Float:Angle;
  1016.         GetVehicleZAngle(GetPlayerVehicleID(strval(cmd)), Angle);
  1017.         return SetVehicleZAngle(GetPlayerVehicleID(strval(cmd)), Angle);
  1018.     }
  1019.     if(!strcmp(cmd, "/respawn", true))
  1020.     {
  1021.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 2) return AdminError(playerid);
  1022.         cmd = strtok(cmdtext, idx);
  1023.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /respawn [PlayerID]");
  1024.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1025.         format(string, 256, "{005EFF}[System]{FFFFFF} .%s àúä òùéú øéñôàåï ìùç÷ï", CheckName(strval(cmd)));
  1026.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1027.         format(string, 256, "{005EFF}[System]{FFFFFF} .òùä øéñôàåï ìùç÷ï ùìê %s äàãîéï", CheckName(playerid));
  1028.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1029.         return SpawnPlayer(strval(cmd));
  1030.     }
  1031.     if(!strcmp(cmd, "/mute", true))
  1032.     {
  1033.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 1) return AdminError(playerid);
  1034.         cmd = strtok(cmdtext, idx);
  1035.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /mute [PlayerID]");
  1036.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1037.         format(string, 256, "{005EFF}[System]{FFFFFF} .%s àúä ùîú áîöá äùú÷ä àú äùç÷ï", CheckName(strval(cmd)));
  1038.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1039.         format(string, 256, "{005EFF}[System]{FFFFFF} .ùí àåúê áîöá äùú÷ä %s äàãîéï", CheckName(playerid));
  1040.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1041.         return Player[strval(cmd)][Muted] = true;
  1042.     }
  1043.     if(!strcmp(cmd, "/unmute", true))
  1044.     {
  1045.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 1) return AdminError(playerid);
  1046.         cmd = strtok(cmdtext, idx);
  1047.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /unmute [PlayerID]");
  1048.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1049.         format(string, 256, "{005EFF}[System]{FFFFFF} .%s àúä äñøú àú îöá ääùú÷ä ùì äùç÷ï", CheckName(strval(cmd)));
  1050.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1051.         format(string, 256, "{005EFF}[System]{FFFFFF} .äñéø àú îöá ääùú÷ä ùìê %s äàãîéï", CheckName(playerid));
  1052.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1053.         Player[strval(cmd)][Muted] = false;
  1054.         return true;
  1055.     }
  1056.     if(!strcmp(cmd, "/settime", true))
  1057.     {
  1058.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 4) return AdminError(playerid);
  1059.         cmd = strtok(cmdtext, idx);
  1060.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /settime [Hour]");
  1061.         format(string, 256, "{005EFF}[System]{FFFFFF} .ùéðä àú äùòä ùì äùøú ì %d %s äàãîéï", strval(cmd), CheckName(playerid));
  1062.         SendClientMessageToAll(0xFFFFFF00, string);
  1063.         for(new p = 0; p < MAX_PLAYERS; p++) if(IsPlayerConnected(p)) SetPlayerTime(p, strval(cmd), 30);
  1064.         return true;
  1065.     }
  1066.     if(!strcmp(cmd, "/setweather", true))
  1067.     {
  1068.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 4) return AdminError(playerid);
  1069.         cmd = strtok(cmdtext, idx);
  1070.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setweather [Weather 0-45]");
  1071.         format(string, 256, "{005EFF}[System]{FFFFFF} .ùéðä àú îæâ äàååéø ì %d %s äàãîéï", strval(cmd), CheckName(playerid));
  1072.         SendClientMessageToAll(0xFFFFFF00, string);
  1073.         SetWeather(strval(cmd));
  1074.         return true;
  1075.     }
  1076.     if(!strcmp(cmd, "/resetweapons", true))
  1077.     {
  1078.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 4) return AdminError(playerid);
  1079.         cmd = strtok(cmdtext, idx);
  1080.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /resetweapons [PlayerID]");
  1081.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1082.         format(string, 256, "{005EFF}[System]{FFFFFF} .%s àúä òùéú øéñè ìðù÷éí ìùç÷ï", CheckName(strval(cmd)));
  1083.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1084.         format(string, 256, "{005EFF}[System]{FFFFFF} .òùä øéñè ìðù÷éí ùìê %s äàãîéï", CheckName(playerid));
  1085.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1086.         return ResetPlayerWeapons(strval(cmd));
  1087.     }
  1088.     if(!strcmp(cmd, "/cd", true))
  1089.     {
  1090.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 1) return AdminError(playerid);
  1091.         if(CDS) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} The countdown already turned on, please wait.");
  1092.         cmd = strtok(cmdtext, idx);
  1093.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /cd [PlayerID]");
  1094.         for(new i = 0; i < MAX_PLAYERS; i++)
  1095.         {
  1096.             if(!IsPlayerConnected(i)) continue;
  1097.             CD[i] = strval(cmd)+1;
  1098.             CoD[i] = SetTimerEx("CountDown", 1000, true, "%i", i);
  1099.         }
  1100.         CDS = true;
  1101.         return true;
  1102.     }
  1103.     if(!strcmp(cmd, "/inv", true))
  1104.     {
  1105.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 1) return AdminError(playerid);
  1106.         SendClientMessage(strval(cmd), 0xFFFFFF00, "{005EFF}[System]{FFFFFF} .äéðê ëòú îåñúø áîôä");
  1107.         return SetPlayerColor(playerid, 0xFFFFFFAA);
  1108.     }
  1109.     if(!strcmp(cmd, "/uninv", true))
  1110.     {
  1111.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 1) return AdminError(playerid);
  1112.         SendClientMessage(strval(cmd), 0xFFFFFF00, "{005EFF}[System]{FFFFFF} .àéðê ëòú îåñúø áîôä");
  1113.         new randcolor = random(sizeof(RandomColors));
  1114.         return SetPlayerColor(playerid, RandomColors[randcolor]);
  1115.     }
  1116.     if(!strcmp(cmd, "/checkip", true))
  1117.     {
  1118.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 3) return AdminError(playerid);
  1119.         cmd = strtok(cmdtext, idx);
  1120.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /checkip [PlayerID]");
  1121.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1122.         new IP[16];
  1123.         GetPlayerIp(strval(cmd), IP, 16);
  1124.         format(string, 256, "{005EFF}[System]{FFFFFF} The player %s's IP is: %s.", CheckName(strval(cmd)), IP);
  1125.         return SendClientMessage(playerid, 0xFFFFFF00, string);
  1126.     }
  1127.     if(!strcmp(cmd, "/freeze", true))
  1128.     {
  1129.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 1) return AdminError(playerid);
  1130.         cmd = strtok(cmdtext, idx);
  1131.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /freeze [PlayerID]");
  1132.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1133.         format(string, 256, "{005EFF}[System]{FFFFFF} .%s àúä ä÷ôàú àú äùç÷ï", CheckName(strval(cmd)));
  1134.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1135.         format(string, 256, "{005EFF}[System]{FFFFFF} .ä÷ôéà àåúê %s äàãîéï", CheckName(playerid));
  1136.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1137.         return TogglePlayerControllable(strval(cmd), false);
  1138.     }
  1139.     if(!strcmp(cmd, "/unfreeze", true))
  1140.     {
  1141.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 1) return AdminError(playerid);
  1142.         cmd = strtok(cmdtext, idx);
  1143.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /unfreeze [PlayerID]");
  1144.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1145.         format(string, 256, "{005EFF}[System]{FFFFFF} .%s àúä ùéçøøú àú äùç÷ï", CheckName(strval(cmd)));
  1146.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1147.         format(string, 256, "{005EFF}[System]{FFFFFF} .ùéçøø àú äùç÷ï ùìê %s äàãîéï", CheckName(playerid));
  1148.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1149.         return TogglePlayerControllable(strval(cmd), true);
  1150.     }
  1151.     if(!strcmp(cmd, "/ban", true))
  1152.     {
  1153.         new reason[256];
  1154.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 2) return AdminError(playerid);
  1155.         cmd = strtok(cmdtext, idx);
  1156.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /ban [PlayerID] [Reason]");
  1157.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1158.         reason = strrest(cmdtext, idx);
  1159.         if(!strlen(reason)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /ban [PlayerID] [Reason]");
  1160.  
  1161.         format(string, 256, "{FF9500}[Server]{FFFFFF} .%s :áàï, ñéáä %s :ðúï ìùç÷ï %s äàãîéï", reason, CheckName(strval(cmd)), CheckName(playerid));
  1162.         SendClientMessageToAll(0xFFFFFF00, string);
  1163.         return BanEx(strval(cmd), reason);
  1164.     }
  1165.     if(!strcmp(cmd, "/kick", true))
  1166.     {
  1167.         new reason[256];
  1168.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 1) return AdminError(playerid);
  1169.         cmd = strtok(cmdtext, idx);
  1170.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /kick [PlayerID] [Reason]");
  1171.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1172.         reason = strrest(cmdtext, idx);
  1173.         if(!strlen(reason)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /kick [PlayerID] [Reason]");
  1174.  
  1175.         format(string, 256, "{FF9500}[Server]{FFFFFF} .%s :÷é÷, ñéáä %s :ðúï ìùç÷ï %s äàãîéï", reason, CheckName(strval(cmd)), CheckName(playerid));
  1176.         SendClientMessageToAll(0xFFFFFF00, string);
  1177.         return Kick(strval(cmd));
  1178.     }
  1179.     if(!strcmp(cmd, "/repair", true))
  1180.     {
  1181.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 2) return AdminError(playerid);
  1182.         cmd = strtok(cmdtext, idx);
  1183.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /repair [PlayerID]");
  1184.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1185.         if(!IsPlayerInAnyVehicle(playerid)) return NotIV(playerid);
  1186.         format(string, 256, "{005EFF}[System]{FFFFFF} .%s úé÷ðú àú øëáå ùì äùç÷ï", CheckName(strval(cmd)));
  1187.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1188.         format(string, 256, "{005EFF}[System]{FFFFFF} .úé÷ï àú øëáê %s äàãîéï", CheckName(playerid));
  1189.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1190.         RepairVehicle(GetPlayerVehicleID(strval(cmd)));
  1191.         return true;
  1192.     }
  1193.     if(!strcmp(cmd, "/setworld", true))
  1194.     {
  1195.         new cmd2[256];
  1196.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 2) return AdminError(playerid);
  1197.         cmd = strtok(cmdtext, idx);
  1198.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setworld [PlayerID] [World]");
  1199.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1200.         cmd2 = strtok(cmdtext, idx);
  1201.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setworld [PlayerID] [Virtual World ID]");
  1202.         format(string, 256, "{005EFF}[System]{FFFFFF} .àú äòåìí äåéøèåàìé ùìå ì %d %s àúä ùéðéú ìùç÷ï", strval(cmd2), CheckName(strval(cmd)));
  1203.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1204.         format(string, 256, "{005EFF}[System]{FFFFFF} .ùéðä àú äòåìí äåéøèåàìé ùìê ì %d %s äàãîéï", strval(cmd2), CheckName(playerid));
  1205.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1206.         return SetPlayerVirtualWorld(strval(cmd), strval(cmd2));
  1207.     }
  1208.     if(!strcmp(cmd, "/setskin", true))
  1209.     {
  1210.         new cmd2[256];
  1211.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 2) return AdminError(playerid);
  1212.         cmd = strtok(cmdtext, idx);
  1213.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setskin [PlayerID] [Skin]");
  1214.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1215.         cmd2 = strtok(cmdtext, idx);
  1216.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setskin [PlayerID] [Skin ID]");
  1217.         format(string, 256, "{005EFF}[System]{FFFFFF} .àú äñ÷éï ùìå ì %d %s àúä ùéðéú ìùç÷ï", strval(cmd2), CheckName(strval(cmd)));
  1218.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1219.         format(string, 256, "{005EFF}[System]{FFFFFF} .ùéðä àú äñ÷éï ùìê ì %d %s äàãîéï", strval(cmd2), CheckName(playerid));
  1220.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1221.         return SetPlayerSkin(strval(cmd), strval(cmd2));
  1222.     }
  1223.     if(!strcmp(cmd, "/sethealth", true))
  1224.     {
  1225.         new cmd2[256];
  1226.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 3) return AdminError(playerid);
  1227.         cmd = strtok(cmdtext, idx);
  1228.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /sethealth [PlayerID] [Health]");
  1229.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1230.         cmd2 = strtok(cmdtext, idx);
  1231.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /sethealth [PlayerID] [Health amount]");
  1232.         format(string, 256, "{005EFF}[System]{FFFFFF} .àú ëîåú äçééí ùìå ì %d %s àúä ùéðéú ìùç÷ï", strval(cmd2), CheckName(strval(cmd)));
  1233.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1234.         format(string, 256, "{005EFF}[System]{FFFFFF} .ùéðä àú äëîåú äçééí ùìê ì %d %s äàãîéï", strval(cmd2), CheckName(playerid));
  1235.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1236.         return SetPlayerHealth(strval(cmd), strval(cmd2));
  1237.     }
  1238.     if(!strcmp(cmd, "/setarmour", true))
  1239.     {
  1240.         new cmd2[256];
  1241.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 3) return AdminError(playerid);
  1242.         cmd = strtok(cmdtext, idx);
  1243.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setarmour [PlayerID] [Armour]");
  1244.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1245.         cmd2 = strtok(cmdtext, idx);
  1246.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setarmour [PlayerID] [Armour]");
  1247.         format(string, 256, "{005EFF}[System]{FFFFFF} .àú ëîåú äîâï ùìå ì %d %s àúä ùéðéú ìùç÷ï", strval(cmd2), CheckName(strval(cmd)));
  1248.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1249.         format(string, 256, "{005EFF}[System]{FFFFFF} .ùéðä àú ëîåú äîâï ùìê ì %d %s äàãîéï", strval(cmd2), CheckName(playerid));
  1250.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1251.         return SetPlayerArmour(strval(cmd), strval(cmd2));
  1252.     }
  1253.     if(!strcmp(cmd, "/unbanip", true))
  1254.     {
  1255.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 3) return AdminError(playerid);
  1256.         cmd = strtok(cmdtext, idx);
  1257.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /unbanip [IP]");
  1258.         format(string,sizeof(string),"unbanip %s", cmd);
  1259.         SendRconCommand(string);
  1260.         SendRconCommand("reloadbans");
  1261.         format(string, 256, "{005EFF}[System]{FFFFFF} You unbanned the ip: %s.", cmd);
  1262.         return SendClientMessage(playerid, 0xFFFFFF00, string);
  1263.     }
  1264.     if(!strcmp(cmd, "/setmoney", true))
  1265.     {
  1266.         new cmd2[256];
  1267.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 5) return AdminError(playerid);
  1268.         cmd = strtok(cmdtext, idx);
  1269.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setmoney [PlayerID] [Money]");
  1270.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1271.         cmd2 = strtok(cmdtext, idx);
  1272.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setmoney [PlayerID] [Money amount]");
  1273.         format(string, 256, "{005EFF}[System]{FFFFFF} .àú ëîåú äëñó ùìå ì %d %s àúä ùéðéú ìùç÷ï", strval(cmd2), CheckName(strval(cmd)));
  1274.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1275.         format(string, 256, "{005EFF}[System]{FFFFFF} .ùéðä àú ëîåú äëñó ùìê ì %d %s äàãîéï", strval(cmd2), CheckName(playerid));
  1276.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1277.         ResetPlayerMoney(strval(cmd));
  1278.         return GivePlayerMoney(strval(cmd), strval(cmd2));
  1279.     }
  1280.     if(!strcmp(cmd, "/givemoney", true))
  1281.     {
  1282.         new cmd2[256];
  1283.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 5) return AdminError(playerid);
  1284.         cmd = strtok(cmdtext, idx);
  1285.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /givemoney [PlayerID] [Money]");
  1286.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1287.         cmd2 = strtok(cmdtext, idx);
  1288.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /give money [PlayerID] [Money amount]");
  1289.         format(string, 256, "{005EFF}[System]{FFFFFF} .ëîåú ëñó ùì %d %s àúä ðúú ìùç÷ï", strval(cmd2), CheckName(strval(cmd)));
  1290.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1291.         format(string, 256, "{005EFF}[System]{FFFFFF} .ðúï ìê ëîåú ëñó ùì %d %s äàãîéï", strval(cmd2), CheckName(playerid));
  1292.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1293.         return GivePlayerMoney(strval(cmd), strval(cmd2));
  1294.     }
  1295.     if(!strcmp(cmd, "/giveweapon", true))
  1296.     {
  1297.         new cmd2[256], cmd3[256], wname[64];
  1298.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 4) return AdminError(playerid);
  1299.         cmd = strtok(cmdtext, idx);
  1300.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /giveweapon [PlayerID] [Weapon ID] [Ammo]");
  1301.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1302.         cmd2 = strtok(cmdtext, idx);
  1303.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /giveweapon [PlayerID] [Weapon ID] [Ammo]");
  1304.         cmd3 = strtok(cmdtext, idx);
  1305.         if(!strlen(cmd3)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /giveweapon [PlayerID] [Weapon ID] [Ammo]");
  1306.         GetWeaponName(strval(cmd2), wname, 64);
  1307.         format(string, 256, "{005EFF}[System]{FFFFFF} .ëîåú ëãåøéí ùì %d %s ðù÷ ùùîå %s àúä ðúú ìùç÷ï", strval(cmd3), wname, CheckName(strval(cmd)));
  1308.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1309.         format(string, 256, "{005EFF}[System]{FFFFFF} .ëîåú ëãåøéí ùì %d %s ðúï ìê ðù÷ ùùîå %s äàãîéï", strval(cmd3), wname, CheckName(playerid));
  1310.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1311.         return GivePlayerWeapon(strval(cmd), strval(cmd2), strval(cmd3));
  1312.     }
  1313.     if(!strcmp(cmd, "/takemoney", true))
  1314.     {
  1315.         new cmd2[256];
  1316.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 4) return AdminError(playerid);
  1317.         cmd = strtok(cmdtext, idx);
  1318.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /takemoney [PlayerID] [Money]");
  1319.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1320.         cmd2 = strtok(cmdtext, idx);
  1321.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /takemoney [PlayerID] [Money amount]");
  1322.         format(string, 256, "{005EFF}[System]{FFFFFF} .ëîåú ùì ëñó áñê %d %s àúä ì÷çú îäùç÷ï", strval(cmd2), CheckName(strval(cmd)));
  1323.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1324.         format(string, 256, "{005EFF}[System]{FFFFFF} .ì÷ç îîê ëîåú ùì ëñó áñê %d %s äàãîéï", strval(cmd2), CheckName(playerid));
  1325.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1326.         return GivePlayerMoney(strval(cmd), -strval(cmd2));
  1327.     }
  1328.     if(!strcmp(cmd, "/setinterior", true))
  1329.     {
  1330.         new cmd2[256];
  1331.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 2) return AdminError(playerid);
  1332.         cmd = strtok(cmdtext, idx);
  1333.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setinterior [PlayerID] [Interior]");
  1334.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1335.         cmd2 = strtok(cmdtext, idx);
  1336.         if(!strlen(cmd2)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /setinterior [PlayerID] [Interior ID]");
  1337.         format(string, 256, "{005EFF}[System]{FFFFFF} .ùéðéú ìùç÷ï àú äàéðèøéåø ùìå ì %d %s àúä ùéðéú ìùç÷ï", strval(cmd2), CheckName(strval(cmd)));
  1338.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1339.         format(string, 256, "{005EFF}[System]{FFFFFF} .ùéðä àú îñôø äàéðèøéåø ùìê ì %d %s äàãîéï", strval(cmd2), CheckName(playerid));
  1340.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1341.         return SetPlayerInterior(strval(cmd), strval(cmd2));
  1342.     }
  1343.     if(!strcmp(cmd, "/spec", true))
  1344.     {
  1345.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 1) return AdminError(playerid);
  1346.         cmd = strtok(cmdtext, idx);
  1347.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /spec [PlayerID/Off]");
  1348.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1349.         if(!strcmp(cmd, "off", true)) return TogglePlayerSpectating(playerid, 0), SpawnPlayer(playerid);
  1350.         format(string, 256, "{005EFF}[System]{FFFFFF} .%s àúä öåôä ëòú áùç÷ï", CheckName(strval(cmd)));
  1351.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1352.         TogglePlayerSpectating(playerid,1);
  1353.         return PlayerSpectatePlayer(playerid,strval(cmd));
  1354.     }
  1355.     if(!strcmp(cmd, "/goto", true))
  1356.     {
  1357.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 1) return AdminError(playerid);
  1358.         cmd = strtok(cmdtext, idx);
  1359.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /goto [PlayerID]");
  1360.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1361.         format(string, 256, "{005EFF}[System]{FFFFFF} .%s àúä äùúâøú ìùç÷ï", CheckName(strval(cmd)));
  1362.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1363.         format(string, 256, "{005EFF}[System]{FFFFFF} .äùúâø àìéê %s äàãîéï", CheckName(playerid));
  1364.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1365.         new Float:Pos[3];
  1366.         GetPlayerPos(strval(cmd), Pos[0], Pos[1], Pos[2]);
  1367.         if(GetPlayerState(playerid) != 2) SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  1368.         else SetVehiclePos(GetPlayerVehicleID(playerid), Pos[0], Pos[1], Pos[2]);
  1369.         return true;
  1370.     }
  1371.     if(!strcmp(cmd, "/get", true))
  1372.     {
  1373.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 1) return AdminError(playerid);
  1374.         cmd = strtok(cmdtext, idx);
  1375.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /get [PlayerID]");
  1376.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1377.         format(string, 256, "{005EFF}[System]{FFFFFF} .àìéê %s àúä ùéâøú àú äùç÷ï", CheckName(strval(cmd)));
  1378.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1379.         format(string, 256, "{005EFF}[System]{FFFFFF} .ùéâø àåúê ìîé÷åîå %s äàãîéï", CheckName(playerid));
  1380.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1381.         new Float:Pos[3];
  1382.         GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  1383.         if(GetPlayerState(strval(cmd)) != 2) SetPlayerPos(strval(cmd), Pos[0], Pos[1], Pos[2]);
  1384.         else SetVehiclePos(GetPlayerVehicleID(strval(cmd)), Pos[0], Pos[1], Pos[2]);
  1385.         return true;
  1386.     }
  1387.     if(!strcmp(cmd, "/slap", true))
  1388.     {
  1389.         if(!Player[playerid][ALogged] || Player[playerid][AdminLevel] < 3) return AdminError(playerid);
  1390.         cmd = strtok(cmdtext, idx);
  1391.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /slap [PlayerID]");
  1392.         if(!IsPlayerConnected(strval(cmd))) return InvalidID(playerid);
  1393.         format(string, 256, "{005EFF}[System]{FFFFFF} .%s àúä ðúú ëàôä ìùç÷ï", CheckName(strval(cmd)));
  1394.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1395.         format(string, 256, "{005EFF}[System]{FFFFFF} .ðúï ìê ëàôä %s äàãîéï", CheckName(playerid));
  1396.         SendClientMessage(strval(cmd), 0xFFFFFF00, string);
  1397.         new Float:Pos[3];
  1398.         GetPlayerPos(strval(cmd), Pos[0], Pos[1], Pos[2]);
  1399.         return SetPlayerPos(strval(cmd), Pos[0], Pos[1], Pos[2]+3);
  1400.     }
  1401.     if(!strcmp(cmd, "/adminhelp", true))
  1402.     {
  1403.         if(!Player[playerid][ALogged] || !Player[playerid][AdminLevel]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] You aren't administrator.");
  1404.  
  1405.         if(Player[playerid][AdminLevel] >= 1) SendClientMessage(playerid, 0xFFFFFF00, "[Admin level 1] mute, unmute, inv, uninv, freeze, unfreeze, kick, cd, spec (off), say, goto, get, //.");
  1406.         if(Player[playerid][AdminLevel] >= 2) SendClientMessage(playerid, 0xFFFFFF00, "[Admin level 2] ban, repair, setskin, setinterior, setworld, respawn.");
  1407.         if(Player[playerid][AdminLevel] >= 3) SendClientMessage(playerid, 0xFFFFFF00, "[Admin level 3] checkip, unbanip, clearchat, slap, flip,  sethealth, setarmour.");
  1408.         if(Player[playerid][AdminLevel] >= 4) SendClientMessage(playerid, 0xFFFFFF00, "[Admin level 4] settime, setweather, resetweapons, giveweapon, takemoney.");
  1409.         if(Player[playerid][AdminLevel] >= 5) SendClientMessage(playerid, 0xFFFFFF00, "[Admin level 5] setmoney, givemoney, hideme,  chat, respawnvehicles.");
  1410.         if(Player[playerid][AdminLevel] >= 6) SendClientMessage(playerid, 0xFFFFFF00, "[Admin level 6] createcode, survey, stopsurvey, createicon, createpickup, settag, removetag.");
  1411.         if(Player[playerid][AdminLevel] >= 7) SendClientMessage(playerid, 0xFFFFFF00, "[Admin level 7] v type, v available, v price, v lock, v lock (un)all, setadmin, changeapassword.");
  1412.         return true;
  1413.     }
  1414.     if(!strcmp(cmd, "/changepassword", true))
  1415.     {
  1416.         cmd = strtok(cmdtext, idx);
  1417.         if(!Player[playerid][Logged]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê îçåáø");
  1418.         if(strlen(cmd) < 5) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àðà øùåí îòì ì 5 úååéí");
  1419.         DOF2_SetString(CheckFile(playerid), "Password", cmd);
  1420.         DOF2_SaveFile();
  1421.         return SendClientMessage(playerid, 0xFFFFFF00, "[System] .ùéðéú àú ñéñîúê");
  1422.     }
  1423.     if(!strcmp(cmd, "/changename", true))
  1424.     {
  1425.         if(!Player[playerid][Logged]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê îçåáø");
  1426.         return ShowPlayerDialog(playerid, DNick, DIALOG_STYLE_INPUT, ".ùðä àú ùîé", ".ùðä àú ùéîê òì éãé ä÷ìãä áúéáä äáàä", "ùðä", "áèì");
  1427.     }
  1428.     if(!strcmp(cmdtext, "/stats", true))
  1429.     {
  1430.         new ip[17];
  1431.         GetPlayerIp(playerid, ip, 17);
  1432.         if(Player[playerid][Level] != MaxLevel) format(string, 256, ".%s :ùí\n\rîéúåú: %d.\n\ráð÷: %d.\n\r.%s :äàééôé ùìé\n\rñê äëì äøéâåú: %d\n\røîä: %d\n\rëîåú äøéâåú ìøîä äáàä: %d/%d", CheckName(playerid), Player[playerid][Deaths], Player[playerid][Bank], ip, Player[playerid][Kills], Player[playerid][Level], Player[playerid][LevelKills], Levels[Player[playerid][Level]-1][NextKills]);
  1433.         else format(string, 256, ".%s :ùí\n\rîéúåú: %d.\n\ráð÷: %d.\n\r.%s :äàééôé ùìé\n\rñê äëì äøéâåú: %d\n\røîä: %d\n\r.àúä ðîöà áøîä äëé âáåää áùøú", CheckName(playerid), Player[playerid][Deaths], Player[playerid][Bank], ip, Player[playerid][Kills], Player[playerid][Level]);
  1434.         return ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, ".äñèàèéñèé÷åú ùìé", string, "ñâåø", "");
  1435.     }
  1436.     if(!strcmp(cmdtext, "/nstats", true))
  1437.     {
  1438.         new ip[17];
  1439.         GetPlayerIp(playerid, ip, 17);
  1440.         format(string, 128, ".%s :äàééôé ùìê ,%s :äùí", ip, CheckName(playerid));
  1441.         SendClientMessage(playerid, 0xFFFFFF00, string);
  1442.         format(string, 128, "äøéâåú: %d - îéúåú: %d - áð÷: %d", Player[playerid][Kills], Player[playerid][Deaths], Player[playerid][Bank]);
  1443.         return SendClientMessage(playerid, 0xFFFFFF00, string);
  1444.     }
  1445.     if(!strcmp(cmd, "/bank", true))
  1446.     {
  1447.         format(string, 128, ".ñëåí äëñó áçùáåï äáð÷: %d ãåìø\n\r\n\räô÷ã\n\räô÷ã äëì\n\rîùåê\n\rîùåê äëì\n\rùéâåø\n\räòáø ëñó îçùáåï ìçùáåï àçø", Player[playerid][Bank]);
  1448.         return ShowPlayerDialog(playerid, DBank, DIALOG_STYLE_LIST, ".øùéîú àåôöéåú äáð÷", string, "áçø", "áèì");
  1449.     }
  1450.     if(!strcmp(cmd, "/nbank", true))
  1451.     {
  1452.         cmd = strtok(cmdtext, idx);
  1453.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] /nbank [withdraw, deposit, balance]");
  1454.         if(!strcmp(cmd, "withdraw", true))
  1455.         {
  1456.             if(!IsPlayerInRangeOfPoint(playerid, 50, -27.312299,-29.277599,1003.557250)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .äéðê öøéê ìäéåú ááð÷");
  1457.             cmd = strtok(cmdtext, idx);
  1458.             if(Player[playerid][Bank] < strval(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê ñëåí æä");
  1459.             if(!CheckNumber(cmd) || !strval(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .øùåí îñôøéí îòì 0");
  1460.             GivePlayerMoney(playerid, strval(cmd));
  1461.             Player[playerid][Bank] -= strval(cmd);
  1462.             format(string, 128, "[System] .àúä îùëú îäáð÷ %d ãåìø, ëòú éù ìê áçùáåï äáð÷: %d.", strval(cmd), Player[playerid][Bank]);
  1463.             return SendClientMessage(playerid, 0xFFFFFF00, string);
  1464.         }
  1465.         if(!strcmp(cmd, "deposit", true))
  1466.         {
  1467.             if(!IsPlayerInRangeOfPoint(playerid, 50, -27.312299,-29.277599,1003.557250)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .äéðê öøéê ìäéåú ááð÷");
  1468.             cmd = strtok(cmdtext, idx);
  1469.             if(GetPlayerMoney(playerid) < strval(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê ñëåí æä");
  1470.             if(!CheckNumber(cmd) || !strval(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .øùåí îñôøéí îòì 0");
  1471.             GivePlayerMoney(playerid, -strval(cmd));
  1472.             Player[playerid][Bank] += strval(cmd);
  1473.             format(string, 128, "[System] àúä äô÷ãú ááð÷ %d, ëòú éù ìê áçùáåï äáð÷ %d ãåìø.", strval(cmd), Player[playerid][Bank]);
  1474.             return SendClientMessage(playerid, 0xFFFFFF00, string);
  1475.         }
  1476.         if(!strcmp(cmd, "status", true))
  1477.         {
  1478.             if(!IsPlayerInRangeOfPoint(playerid, 50, -27.312299,-29.277599,1003.557250)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .äéðê öøéê ìäéåú ááð÷");
  1479.             format(string, 128, "[System] éù ìê áçùáåï äáð÷: %d ãåìø.", Player[playerid][Bank]);
  1480.             return SendClientMessage(playerid, 0xFFFFFF00, string);
  1481.         }
  1482.         if(!strcmp(cmd, "teleport", true))
  1483.         {
  1484.             SetPlayerPos(playerid, -27.312299,-29.277599,1003.557250);
  1485.             SetPlayerInterior(playerid, 4);
  1486.             return SendClientMessage(playerid, 0xFFFFFF00, "[System] .äùúâøú ìáð÷");
  1487.         }
  1488.         return true;
  1489.     }
  1490.     if(!strcmp(cmdtext, "/help", true))
  1491.     {
  1492.         SendClientMessage(playerid, Orange, "Help commands - LvDmPlus+ Version 2 by ZiPoNz:");
  1493.         return SendClientMessage(playerid, White, "/teleports, /commands, /credits, /v, /code.");
  1494.     }
  1495.     if(!strcmp(cmdtext, "/commands", true)) return ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, "Commands list.", "/Clear - ðé÷åé äö'àè\n\r/Kill - äúàáãåú\n\r/RepairCar(/Rc) - úé÷åï äøëá\n\r/Heal - ìîìàåú çééí\n\r/Armour - ìîìàåú îâï\n\r/Saveskin - ùîéøú ñ÷éï\n\r/Removeskin - îçé÷ú ñ÷éï", "ñâåø", "");
  1496.     if(!strcmp(cmdtext, "/teleports", true)) return ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, "Teleports list.", "/Race - àéæåø äîéøåöéí\n\r/Lv - äòéø ìàñ åðèåøàñ\n\r/Sf - äòéø ñàï ôéàøå\n\r/Ls - äòéø ìåñ ñàðèåñ\n\r/Ap - (Air Port) ùãä úòåôä", "ñâåø", "");
  1497.     if(!strcmp(cmdtext, "/credit", true) || !strcmp(cmdtext, "/credits", true)) return SendClientMessage(playerid, 0xFFFFFF00, "Admin mode by: {FF0000}ZiPoNz{FFFFFF}."), ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, "Credits.", "Credit to: ZiPoNz - Programming of the mode LvDmPlus+ version 2.", "ñâåø", "");
  1498.     if(!strcmp(cmdtext, "/clear", true))
  1499.     {
  1500.         for (new i=0;i<70;i++) SendClientMessage(playerid, Red, "   ");
  1501.         return SendClientMessage(playerid, Yellow, "!ðé÷éú ëòè àú äö'àè ùìê");
  1502.     }
  1503.     if(!strcmp("/kill", cmdtext, true))
  1504.     {
  1505.         SetPlayerHealth(playerid, 0);
  1506.         return SendClientMessage(playerid, Red, "!äúàáãú");
  1507.     }
  1508.     if(!strcmp(cmdtext, "/rc", true) || !strcmp(cmdtext, "/repaircar", true))
  1509.     {
  1510.         SetVehicleHealth(GetPlayerVehicleID(playerid),1000);
  1511.         return SendClientMessage(playerid, Green, ".úé÷ðú àú øëáê áäöìçä");
  1512.     }
  1513.     if(!strcmp(cmdtext, "/race", true)) return Z_SetPlayerPos(playerid, 2058.0532, 843.1532, 6.7031, 178.7570, Yellow, "!ùåâøú ìàéæåø äîéøåöéí áäöìçä", 0, 0);
  1514.     if(!strcmp(cmdtext, "/ls", true)) return Z_SetPlayerPos(playerid, 369.9077,-2031.3615,7.6719, 0.0, Yellow, "!ùåâøú ìàéæåø ìåñ ñàðèåñ áäöìçä", 0, 0);
  1515.     if(!strcmp(cmdtext, "/lv", true)) return Z_SetPlayerPos(playerid, 2191.6841,1832.2417,10.8203, 87.9464, Yellow, "!áäöìçä Lv ùåâøú ìòéø", 0, 0);
  1516.     if(!strcmp(cmdtext, "/ap", true)) return Z_SetPlayerPos(playerid, 1707.5137, 1617.5172, 10.0933, 92.1286, Yellow, "!ùåâøú ìùãä äúòåôä áäöìçä", 0, 0);
  1517.     if(!strcmp(cmdtext, "/sf", true)) return Z_SetPlayerPos(playerid, -2276.1162,129.4282,35.1641, 92.1286, Yellow, "!ùåâøú ìñàï ôéàøå áäöìçä", 0, 0);
  1518.     if(!strcmp(cmdtext, "/heal", true))
  1519.     {
  1520.         SetPlayerHealth(playerid, 100.0);
  1521.         return SendClientMessage(playerid, LightBlue, "!îéìàú ìê çééí");
  1522.     }
  1523.     if(!strcmp(cmdtext, "/armour", true))
  1524.     {
  1525.         SetPlayerArmour(playerid, 100.0);
  1526.         return SendClientMessage(playerid, LightBlue, "!îéìàú ìê îâï");
  1527.     }
  1528.     return SendClientMessage(playerid,Grey,".ô÷åãä æå àéðä ÷ééîú");
  1529. }
  1530. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1531. {
  1532.     new string[64];
  1533.     format(string, 64, ".ðñéòä ðòéîä %s ", CheckName(playerid));
  1534.     return SendClientMessage(playerid,Yellow, string);
  1535. }
  1536. public OnPlayerStateChange(playerid, newstate, oldstate)
  1537. {
  1538.     if(newstate == PLAYER_STATE_DRIVER)
  1539.     {
  1540.         new string[128];
  1541.         if(!VDetails[VehicleID][vType]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .æäå øëá öéáåøé");
  1542.         else if(VDetails[VehicleID][vType] == 1)
  1543.         {
  1544.             if(!strcmp(VDetails[VehicleID][vOwner], CheckName(playerid), true)) SendClientMessage(playerid, 0xFFFFFF00, "!áøåê äáà ìøëáê");
  1545.             else format(string, 128, ".äéðå îåöò ìîëéøä òáåø %d ãåìø, ñåâ: øâéì %s äøëá", VDetails[VehicleID][vPrice], vNames[GetVehicleModel(VehicleID)-400]), SendClientMessage(playerid, 0xFFFFFF00, string);
  1546.             return true;
  1547.         }
  1548.         else if(VDetails[VehicleID][vType] == 3)
  1549.         {
  1550.             if(!IsPlayerAdmin(playerid)) RemovePlayerFromVehicle(playerid), SendClientMessage(playerid, 0xFFFFFF00, "[Error] .æäå øëá ìàãîéðéí áìáã");
  1551.             return true;
  1552.         }
  1553.     }
  1554.     return true;
  1555. }
  1556. public AutoMessage()
  1557. {
  1558.     SendClientMessageToAll(LightBlue, "---äåãòåú åòéãëåðéí àåèåîèéí--");
  1559.     SendClientMessageToAll(White, ".ZiPoNz ùðåöø òì éãé LvDmPlus+ îåã æä äéðå áâøñà äùðéä ùì");
  1560.     SendClientMessageToAll(White, "!äîùê éåí ðòéí, åîùç÷ îäðä");
  1561.     return SendClientMessageToAll(LightBlue, "------------------------------");
  1562. }
  1563. stock LoadAllVehicles()
  1564. {
  1565.     AddStaticVehicle(451,2040.0520,1319.2799,10.3779,183.2439,16,16);
  1566.     AddStaticVehicle(429,2040.5247,1359.2783,10.3516,177.1306,13,13);
  1567.     AddStaticVehicle(421,2110.4102,1398.3672,10.7552,359.5964,13,13);
  1568.     AddStaticVehicle(411,2074.9624,1479.2120,10.3990,359.6861,64,64);
  1569.     AddStaticVehicle(477,2075.6038,1666.9750,10.4252,359.7507,94,94);
  1570.     AddStaticVehicle(541,2119.5845,1938.5969,10.2967,181.9064,22,22);
  1571.     AddStaticVehicle(541,1843.7881,1216.0122,10.4556,270.8793,60,1);
  1572.     AddStaticVehicle(402,1944.1003,1344.7717,8.9411,0.8168,30,30);
  1573.     AddStaticVehicle(402,1679.2278,1316.6287,10.6520,180.4150,90,90);
  1574.     AddStaticVehicle(415,1685.4872,1751.9667,10.5990,268.1183,25,1);
  1575.     AddStaticVehicle(411,2034.5016,1912.5874,11.9048,0.2909,123,1);
  1576.     AddStaticVehicle(411,2172.1682,1988.8643,10.5474,89.9151,116,1);
  1577.     AddStaticVehicle(429,2245.5759,2042.4166,10.5000,270.7350,14,14);
  1578.     AddStaticVehicle(477,2361.1538,1993.9761,10.4260,178.3929,101,1);
  1579.     AddStaticVehicle(550,2221.9946,1998.7787,9.6815,92.6188,53,53);
  1580.     AddStaticVehicle(558,2243.3833,1952.4221,14.9761,359.4796,116,1);
  1581.     AddStaticVehicle(587,2276.7085,1938.7263,31.5046,359.2321,40,1);
  1582.     AddStaticVehicle(587,2602.7769,1853.0667,10.5468,91.4813,43,1);
  1583.     AddStaticVehicle(603,2610.7600,1694.2588,10.6585,89.3303,69,1);
  1584.     AddStaticVehicle(587,2635.2419,1075.7726,10.5472,89.9571,53,1);
  1585.     AddStaticVehicle(437,2577.2354,1038.8063,10.4777,181.7069,35,1);
  1586.     AddStaticVehicle(535,2039.1257,1545.0879,10.3481,359.6690,123,1);
  1587.     AddStaticVehicle(535,2009.8782,2411.7524,10.5828,178.9618,66,1);
  1588.     AddStaticVehicle(429,2010.0841,2489.5510,10.5003,268.7720,1,2);
  1589.     AddStaticVehicle(415,2076.4033,2468.7947,10.5923,359.9186,36,1);
  1590.     AddStaticVehicle(487,2093.2754,2414.9421,74.7556,89.0247,26,57);
  1591.     AddStaticVehicle(506,2352.9026,2577.9768,10.5201,0.4091,7,7);
  1592.     AddStaticVehicle(506,2166.6963,2741.0413,10.5245,89.7816,52,52);
  1593.     AddStaticVehicle(411,1960.9989,2754.9072,10.5473,200.4316,112,1);
  1594.     AddStaticVehicle(429,1919.5863,2760.7595,10.5079,100.0753,2,1);
  1595.     AddStaticVehicle(415,1673.8038,2693.8044,10.5912,359.7903,40,1);
  1596.     AddStaticVehicle(402,1591.0482,2746.3982,10.6519,172.5125,30,30);
  1597.     AddStaticVehicle(603,1580.4537,2838.2886,10.6614,181.4573,75,77);
  1598.     AddStaticVehicle(550,1555.2734,2750.5261,10.6388,91.7773,62,62);
  1599.     AddStaticVehicle(535,1455.9305,2878.5288,10.5837,181.0987,118,1);
  1600.     AddStaticVehicle(477,1537.8425,2578.0525,10.5662,0.0650,121,1);
  1601.     AddStaticVehicle(451,1433.1594,2607.3762,10.3781,88.0013,16,16);
  1602.     AddStaticVehicle(603,2223.5898,1288.1464,10.5104,182.0297,18,1);
  1603.     AddStaticVehicle(558,2451.6707,1207.1179,10.4510,179.8960,24,1);
  1604.     AddStaticVehicle(550,2461.7253,1357.9705,10.6389,180.2927,62,62);
  1605.     AddStaticVehicle(558,2461.8162,1629.2268,10.4496,181.4625,117,1);
  1606.     AddStaticVehicle(477,2395.7554,1658.9591,10.5740,359.7374,0,1);
  1607.     AddStaticVehicle(404,1553.3696,1020.2884,10.5532,270.6825,119,50);
  1608.     AddStaticVehicle(400,1380.8304,1159.1782,10.9128,355.7117,123,1);
  1609.     AddStaticVehicle(418,1383.4630,1035.0420,10.9131,91.2515,117,227);
  1610.     AddStaticVehicle(404,1445.4526,974.2831,10.5534,1.6213,109,100);
  1611.     AddStaticVehicle(400,1704.2365,940.1490,10.9127,91.9048,113,1);
  1612.     AddStaticVehicle(404,1658.5463,1028.5432,10.5533,359.8419,101,101);
  1613.     AddStaticVehicle(581,1677.6628,1040.1930,10.4136,178.7038,58,1);
  1614.     AddStaticVehicle(581,1383.6959,1042.2114,10.4121,85.7269,66,1);
  1615.     AddStaticVehicle(581,1064.2332,1215.4158,10.4157,177.2942,72,1);
  1616.     AddStaticVehicle(581,1111.4536,1788.3893,10.4158,92.4627,72,1);
  1617.     AddStaticVehicle(522,953.2818,1806.1392,8.2188,235.0706,3,8);
  1618.     AddStaticVehicle(522,995.5328,1886.6055,10.5359,90.1048,3,8);
  1619.     AddStaticVehicle(521,993.7083,2267.4133,11.0315,1.5610,75,13);
  1620.     AddStaticVehicle(535,1439.5662,1999.9822,10.5843,0.4194,66,1);
  1621.     AddStaticVehicle(522,1430.2354,1999.0144,10.3896,352.0951,6,25);
  1622.     AddStaticVehicle(522,2156.3540,2188.6572,10.2414,22.6504,6,25);
  1623.     AddStaticVehicle(598,2277.6846,2477.1096,10.5652,180.1090,0,1);
  1624.     AddStaticVehicle(598,2268.9888,2443.1697,10.5662,181.8062,0,1);
  1625.     AddStaticVehicle(598,2256.2891,2458.5110,10.5680,358.7335,0,1);
  1626.     AddStaticVehicle(598,2251.6921,2477.0205,10.5671,179.5244,0,1);
  1627.     AddStaticVehicle(523,2294.7305,2441.2651,10.3860,9.3764,0,0);
  1628.     AddStaticVehicle(523,2290.7268,2441.3323,10.3944,16.4594,0,0);
  1629.     AddStaticVehicle(523,2295.5503,2455.9656,2.8444,272.6913,0,0);
  1630.     AddStaticVehicle(522,2476.7900,2532.2222,21.4416,0.5081,8,82);
  1631.     AddStaticVehicle(522,2580.5320,2267.9595,10.3917,271.2372,8,82);
  1632.     AddStaticVehicle(522,2814.4331,2364.6641,10.3907,89.6752,36,105);
  1633.     AddStaticVehicle(535,2827.4143,2345.6953,10.5768,270.0668,97,1);
  1634.     AddStaticVehicle(521,1670.1089,1297.8322,10.3864,359.4936,87,118);
  1635.     AddStaticVehicle(487,1614.7153,1548.7513,11.2749,347.1516,58,8);
  1636.     AddStaticVehicle(487,1647.7902,1538.9934,11.2433,51.8071,0,8);
  1637.     AddStaticVehicle(487,1608.3851,1630.7268,11.2840,174.5517,58,8);
  1638.     AddStaticVehicle(476,1283.6847,1386.5137,11.5300,272.1003,89,91);
  1639.     AddStaticVehicle(476,1288.0499,1403.6605,11.5295,243.5028,119,117);
  1640.     AddStaticVehicle(415,1319.1038,1279.1791,10.5931,0.9661,62,1);
  1641.     AddStaticVehicle(521,1710.5763,1805.9275,10.3911,176.5028,92,3);
  1642.     AddStaticVehicle(521,2805.1650,2027.0028,10.3920,357.5978,92,3);
  1643.     AddStaticVehicle(535,2822.3628,2240.3594,10.5812,89.7540,123,1);
  1644.     AddStaticVehicle(521,2876.8013,2326.8418,10.3914,267.8946,115,118);
  1645.     AddStaticVehicle(429,2842.0554,2637.0105,10.5000,182.2949,1,3);
  1646.     AddStaticVehicle(549,2494.4214,2813.9348,10.5172,316.9462,72,39);
  1647.     AddStaticVehicle(549,2327.6484,2787.7327,10.5174,179.5639,75,39);
  1648.     AddStaticVehicle(549,2142.6970,2806.6758,10.5176,89.8970,79,39);
  1649.     AddStaticVehicle(521,2139.7012,2799.2114,10.3917,229.6327,25,118);
  1650.     AddStaticVehicle(521,2104.9446,2658.1331,10.3834,82.2700,36,0);
  1651.     AddStaticVehicle(521,1914.2322,2148.2590,10.3906,267.7297,36,0);
  1652.     AddStaticVehicle(549,1904.7527,2157.4312,10.5175,183.7728,83,36);
  1653.     AddStaticVehicle(549,1532.6139,2258.0173,10.5176,359.1516,84,36);
  1654.     AddStaticVehicle(521,1534.3204,2202.8970,10.3644,4.9108,118,118);
  1655.     AddStaticVehicle(549,1613.1553,2200.2664,10.5176,89.6204,89,35);
  1656.     AddStaticVehicle(400,1552.1292,2341.7854,10.9126,274.0815,101,1);
  1657.     AddStaticVehicle(404,1637.6285,2329.8774,10.5538,89.6408,101,101);
  1658.     AddStaticVehicle(400,1357.4165,2259.7158,10.9126,269.5567,62,1);
  1659.     AddStaticVehicle(411,1281.7458,2571.6719,10.5472,270.6128,106,1);
  1660.     AddStaticVehicle(522,1305.5295,2528.3076,10.3955,88.7249,3,8);
  1661.     AddStaticVehicle(521,993.9020,2159.4194,10.3905,88.8805,74,74);
  1662.     AddStaticVehicle(415,1512.7134,787.6931,10.5921,359.5796,75,1);
  1663.     AddStaticVehicle(522,2299.5872,1469.7910,10.3815,258.4984,3,8);
  1664.     AddStaticVehicle(522,2133.6428,1012.8537,10.3789,87.1290,3,8);
  1665.     AddStaticVehicle(415,2266.7336,648.4756,11.0053,177.8517,0,1);
  1666.     AddStaticVehicle(461,2404.6636,647.9255,10.7919,183.7688,53,1);
  1667.     AddStaticVehicle(506,2628.1047,746.8704,10.5246,352.7574,3,3);
  1668.     AddStaticVehicle(549,2817.6445,928.3469,10.4470,359.5235,72,39);
  1669.     AddStaticVehicle(562,1919.8829,947.1886,10.4715,359.4453,11,1);
  1670.     AddStaticVehicle(562,1881.6346,1006.7653,10.4783,86.9967,11,1);
  1671.     AddStaticVehicle(562,2038.1044,1006.4022,10.4040,179.2641,11,1);
  1672.     AddStaticVehicle(562,2038.1614,1014.8566,10.4057,179.8665,11,1);
  1673.     AddStaticVehicle(562,2038.0966,1026.7987,10.4040,180.6107,11,1);
  1674.     AddStaticVehicle(422,9.1065,1165.5066,19.5855,2.1281,101,25);
  1675.     AddStaticVehicle(463,19.8059,1163.7103,19.1504,346.3326,11,11);
  1676.     AddStaticVehicle(463,12.5740,1232.2848,18.8822,121.8670,22,22);
  1677.     AddStaticVehicle(586,69.4633,1217.0189,18.3304,158.9345,10,1);
  1678.     AddStaticVehicle(586,-199.4185,1223.0405,19.2624,176.7001,25,1);
  1679.     AddStaticVehicle(476,325.4121,2538.5999,17.5184,181.2964,71,77);
  1680.     AddStaticVehicle(476,291.0975,2540.0410,17.5276,182.7206,7,6);
  1681.     AddStaticVehicle(576,384.2365,2602.1763,16.0926,192.4858,72,1);
  1682.     AddStaticVehicle(586,423.8012,2541.6870,15.9708,338.2426,10,1);
  1683.     AddStaticVehicle(586,-244.0047,2724.5439,62.2077,51.5825,10,1);
  1684.     AddStaticVehicle(586,-311.1414,2659.4329,62.4513,310.9601,27,1);
  1685.     AddStaticVehicle(543,596.8064,866.2578,-43.2617,186.8359,67,8);
  1686.     AddStaticVehicle(543,835.0838,836.8370,11.8739,14.8920,8,90);
  1687.     AddStaticVehicle(549,843.1893,838.8093,12.5177,18.2348,79,39);
  1688.     AddStaticVehicle(400,-235.9767,1045.8623,19.8158,180.0806,75,1);
  1689.     AddStaticVehicle(599,-211.5940,998.9857,19.8437,265.4935,0,1);
  1690.     AddStaticVehicle(422,-304.0620,1024.1111,19.5714,94.1812,96,25);
  1691.     AddStaticVehicle(588,-290.2229,1317.0276,54.1871,81.7529,1,1);
  1692.     AddStaticVehicle(451,-290.3145,1567.1534,75.0654,133.1694,61,61);
  1693.     AddStaticVehicle(470,280.4914,1945.6143,17.6317,310.3278,43,0);
  1694.     AddStaticVehicle(470,272.2862,1949.4713,17.6367,285.9714,43,0);
  1695.     AddStaticVehicle(470,271.6122,1961.2386,17.6373,251.9081,43,0);
  1696.     AddStaticVehicle(470,279.8705,1966.2362,17.6436,228.4709,43,0);
  1697.     AddStaticVehicle(433,277.6437,1985.7559,18.0772,270.4079,43,0);
  1698.     AddStaticVehicle(433,277.4477,1994.8329,18.0773,267.7378,43,0);
  1699.     AddStaticVehicle(568,-441.3438,2215.7026,42.2489,191.7953,41,29);
  1700.     AddStaticVehicle(568,-422.2956,2225.2612,42.2465,0.0616,41,29);
  1701.     AddStaticVehicle(568,-371.7973,2234.5527,42.3497,285.9481,41,29);
  1702.     AddStaticVehicle(568,-360.1159,2203.4272,42.3039,113.6446,41,29);
  1703.     AddStaticVehicle(468,-660.7385,2315.2642,138.3866,358.7643,6,6);
  1704.     AddStaticVehicle(460,-1029.2648,2237.2217,42.2679,260.5732,1,3);
  1705.     AddStaticVehicle(419,95.0568,1056.5530,13.4068,192.1461,13,76);
  1706.     AddStaticVehicle(429,114.7416,1048.3517,13.2890,174.9752,1,2);
  1707.     AddStaticVehicle(411,-290.0065,1759.4958,42.4154,89.7571,116,1);
  1708.     AddStaticVehicle(522,-302.5649,1777.7349,42.2514,238.5039,6,25);
  1709.     AddStaticVehicle(522,-302.9650,1776.1152,42.2588,239.9874,8,82);
  1710.     AddStaticVehicle(533,-301.0404,1750.8517,42.3966,268.7585,75,1);
  1711.     AddStaticVehicle(535,-866.1774,1557.2700,23.8319,269.3263,31,1);
  1712.     AddStaticVehicle(550,-799.3062,1518.1556,26.7488,88.5295,53,53);
  1713.     AddStaticVehicle(521,-749.9730,1589.8435,26.5311,125.6508,92,3);
  1714.     AddStaticVehicle(522,-867.8612,1544.5282,22.5419,296.0923,3,3);
  1715.     AddStaticVehicle(554,-904.2978,1553.8269,25.9229,266.6985,34,30);
  1716.     AddStaticVehicle(521,-944.2642,1424.1603,29.6783,148.5582,92,3);
  1717.     AddStaticVehicle(429,-237.7157,2594.8804,62.3828,178.6802,1,2);
  1718.     AddStaticVehicle(431,-160.5815,2693.7185,62.2031,89.4133,47,74);
  1719.     AddStaticVehicle(463,-196.3012,2774.4395,61.4775,303.8402,22,22);
  1720.     AddStaticVehicle(483,-204.1827,2608.7368,62.6956,179.9914,1,5);
  1721.     AddStaticVehicle(490,-295.4756,2674.9141,62.7434,359.3378,0,0);
  1722.     AddStaticVehicle(500,-301.5293,2687.6013,62.7723,87.9509,28,119);
  1723.     AddStaticVehicle(500,-301.6699,2680.3293,62.7393,89.7925,13,119);
  1724.     AddStaticVehicle(519,-1341.1079,-254.3787,15.0701,321.6338,1,1);
  1725.     AddStaticVehicle(519,-1371.1775,-232.3967,15.0676,315.6091,1,1);
  1726.     AddStaticVehicle(552,-1396.2028,-196.8298,13.8434,286.2720,56,56);
  1727.     AddStaticVehicle(552,-1312.4509,-284.4692,13.8417,354.3546,56,56);
  1728.     AddStaticVehicle(552,-1393.5995,-521.0770,13.8441,187.1324,56,56);
  1729.     AddStaticVehicle(513,-1355.6632,-488.9562,14.7157,191.2547,48,18);
  1730.     AddStaticVehicle(513,-1374.4580,-499.1462,14.7482,220.4057,54,34);
  1731.     AddStaticVehicle(553,-1197.8773,-489.6715,15.4841,0.4029,91,87);
  1732.     AddStaticVehicle(553,1852.9989,-2385.4009,14.8827,200.0707,102,119);
  1733.     AddStaticVehicle(583,1879.9594,-2349.1919,13.0875,11.0992,1,1);
  1734.     AddStaticVehicle(583,1620.9697,-2431.0752,13.0951,126.3341,1,1);
  1735.     AddStaticVehicle(583,1545.1564,-2409.2114,13.0953,23.5581,1,1);
  1736.     AddStaticVehicle(583,1656.3702,-2651.7913,13.0874,352.7619,1,1);
  1737.     AddStaticVehicle(519,1642.9850,-2425.2063,14.4744,159.8745,1,1);
  1738.     AddStaticVehicle(519,1734.1311,-2426.7563,14.4734,172.2036,1,1);
  1739.     AddStaticVehicle(415,-680.9882,955.4495,11.9032,84.2754,36,1);
  1740.     AddStaticVehicle(460,-816.3951,2222.7375,43.0045,268.1861,1,3);
  1741.     AddStaticVehicle(460,-94.6885,455.4018,1.5719,250.5473,1,3);
  1742.     AddStaticVehicle(460,1624.5901,565.8568,1.7817,200.5292,1,3);
  1743.     AddStaticVehicle(460,1639.3567,572.2720,1.5311,206.6160,1,3);
  1744.     AddStaticVehicle(460,2293.4219,517.5514,1.7537,270.7889,1,3);
  1745.     AddStaticVehicle(460,2354.4690,518.5284,1.7450,270.2214,1,3);
  1746.     AddStaticVehicle(460,772.4293,2912.5579,1.0753,69.6706,1,3);
  1747.     AddStaticVehicle(560,2133.0769,1019.2366,10.5259,90.5265,9,39);
  1748.     AddStaticVehicle(560,2142.4023,1408.5675,10.5258,0.3660,17,1);
  1749.     AddStaticVehicle(560,2196.3340,1856.8469,10.5257,179.8070,21,1);
  1750.     AddStaticVehicle(560,2103.4146,2069.1514,10.5249,270.1451,33,0);
  1751.     AddStaticVehicle(560,2361.8042,2210.9951,10.3848,178.7366,37,0);
  1752.     AddStaticVehicle(560,-1993.2465,241.5329,34.8774,310.0117,41,29);
  1753.     AddStaticVehicle(559,-1989.3235,270.1447,34.8321,88.6822,58,8);
  1754.     AddStaticVehicle(559,-1946.2416,273.2482,35.1302,126.4200,60,1);
  1755.     AddStaticVehicle(558,-1956.8257,271.4941,35.0984,71.7499,24,1);
  1756.     AddStaticVehicle(562,-1952.8894,258.8604,40.7082,51.7172,17,1);
  1757.     AddStaticVehicle(411,-1949.8689,266.5759,40.7776,216.4882,112,1);
  1758.     AddStaticVehicle(429,-1988.0347,305.4242,34.8553,87.0725,2,1);
  1759.     AddStaticVehicle(559,-1657.6660,1213.6195,6.9062,282.6953,13,8);
  1760.     AddStaticVehicle(560,-1658.3722,1213.2236,13.3806,37.9052,52,39);
  1761.     AddStaticVehicle(558,-1660.8994,1210.7589,20.7875,317.6098,36,1);
  1762.     AddStaticVehicle(550,-1645.2401,1303.9883,6.8482,133.6013,7,7);
  1763.     AddStaticVehicle(460,-1333.1960,903.7660,1.5568,0.5095,46,32);
  1764.     AddStaticVehicle(411,113.8611,1068.6182,13.3395,177.1330,116,1);
  1765.     AddStaticVehicle(429,159.5199,1185.1160,14.7324,85.5769,1,2);
  1766.     AddStaticVehicle(411,612.4678,1694.4126,6.7192,302.5539,75,1);
  1767.     AddStaticVehicle(522,661.7609,1720.9894,6.5641,19.1231,6,25);
  1768.     AddStaticVehicle(522,660.0554,1719.1187,6.5642,12.7699,8,82);
  1769.     AddStaticVehicle(567,711.4207,1947.5208,5.4056,179.3810,90,96);
  1770.     AddStaticVehicle(567,1031.8435,1920.3726,11.3369,89.4978,97,96);
  1771.     AddStaticVehicle(567,1112.3754,1747.8737,10.6923,270.9278,102,114);
  1772.     AddStaticVehicle(567,1641.6802,1299.2113,10.6869,271.4891,97,96);
  1773.     AddStaticVehicle(567,2135.8757,1408.4512,10.6867,180.4562,90,96);
  1774.     AddStaticVehicle(567,2262.2639,1469.2202,14.9177,91.1919,99,81);
  1775.     AddStaticVehicle(567,2461.7380,1345.5385,10.6975,0.9317,114,1);
  1776.     AddStaticVehicle(567,2804.4365,1332.5348,10.6283,271.7682,88,64);
  1777.     AddStaticVehicle(560,2805.1685,1361.4004,10.4548,270.2340,17,1);
  1778.     AddStaticVehicle(506,2853.5378,1361.4677,10.5149,269.6648,7,7);
  1779.     AddStaticVehicle(567,2633.9832,2205.7061,10.6868,180.0076,93,64);
  1780.     AddStaticVehicle(567,2119.9751,2049.3127,10.5423,180.1963,93,64);
  1781.     AddStaticVehicle(567,2785.0261,-1835.0374,9.6874,226.9852,93,64);
  1782.     AddStaticVehicle(567,2787.8975,-1876.2583,9.6966,0.5804,99,81);
  1783.     AddStaticVehicle(411,2771.2993,-1841.5620,9.4870,20.7678,116,1);
  1784. }
  1785. stock Z_SetPlayerPos(playerid, Float:X, Float:Y, Float:Z, Float:A, color, text[], interior, virtualworldid)
  1786. {
  1787.     if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) SetPlayerFacingAngle(playerid, A), SetPlayerPos(playerid, X, Y, Z);
  1788.     else SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z), SetVehicleZAngle(GetPlayerVehicleID(playerid), A);
  1789.     SendClientMessage(playerid, color, text);
  1790.     SetPlayerInterior(playerid, interior);
  1791.     return SetPlayerVirtualWorld(playerid, virtualworldid);
  1792. }
  1793. stock CheckName(playerid)
  1794. {
  1795.     new Name[24];
  1796.     GetPlayerName(playerid, Name, 24);
  1797.     return Name;
  1798. }
  1799. stock LoginAutoPlayer(playerid)
  1800. {
  1801.     new string[135];
  1802.     Player[playerid][Kills] = DOF2_GetInt(CheckFile(playerid), "Kills");
  1803.     Player[playerid][Deaths] = DOF2_GetInt(CheckFile(playerid), "Deaths");
  1804.     Player[playerid][Bank] = DOF2_GetInt(CheckFile(playerid), "Bank");
  1805.     Player[playerid][AdminLevel] = DOF2_GetInt(CheckFile(playerid), "AdminLevel");
  1806.     Player[playerid][Skin] = DOF2_GetInt(CheckFile(playerid), "Skin");
  1807.     Player[playerid][Vehicle] = DOF2_GetInt(CheckFile(playerid), "Vehicle");
  1808.     format(Player[playerid][TagText], 30, "%s", DOF2_GetString(CheckFile(playerid), "TagText"));
  1809.     format(Player[playerid][TagColor], 30, "%s", DOF2_GetString(CheckFile(playerid), "TagColor"));
  1810.     Player[playerid][Level] = DOF2_GetInt(CheckFile(playerid), "Level");
  1811.     Player[playerid][Kills] = DOF2_GetInt(CheckFile(playerid), "Kills");
  1812.     Player[playerid][LevelKills] = DOF2_GetInt(CheckFile(playerid), "LevelKills");
  1813.     Player[playerid][Logged] = true;
  1814.     Player[playerid][ALogged] = false;
  1815.     if(strcmp(Player[playerid][TagText], "None", false) != 0)
  1816.     {
  1817.         Player[playerid][Tag] = true;
  1818.         format(Player[playerid][TagColor], 7, "%s", DOF2_GetString(CheckFile(playerid), "TagColor"));
  1819.         format(Player[playerid][TagText], 38, "%s", DOF2_GetString(CheckFile(playerid), "TagText"));
  1820.     }
  1821.     else
  1822.     {
  1823.         Player[playerid][Tag] = false;
  1824.         format(Player[playerid][TagColor], 7, "%s", ("None"));
  1825.         format(Player[playerid][TagText], 38, "%s", ("None"));
  1826.     }
  1827.     SendClientMessage(playerid, 0xFFFFFF00, "[System] äúçáøú ìôé ëúåáú äàééôé ùìê.");
  1828.     if(Player[playerid][AdminLevel] != 0)
  1829.     {
  1830.         format(string, 150, ".áøåê ùåáê ,%s ùìåí\n\r.àðà ä÷ìã àú ñéñîú äàãîéðéí ëãé ìäîùéê\n\rMode by ZiPoNz - LvDmPlus+ - Version 2", CheckName(playerid));
  1831.         return ShowPlayerDialog(playerid, AdminLogin, DIALOG_STYLE_PASSWORD, ".áøåê äáà ìùøú", string, "!äúçáø", "");
  1832.     }
  1833.     else
  1834.     {
  1835.         if(Player[playerid][Skin] != -1) SetSpawnInfo(playerid, 0, Player[playerid][Skin], 0.0, 0.0, 0.0, 0.0, 0,0,0,0,0,0), SpawnPlayer(playerid);
  1836.         format(string, 135, ".äúçáø ëòú ìùøú %s", CheckName(playerid));
  1837.         return SendClientMessageToAll(0xFFFFFF00, string);
  1838.     }
  1839. }
  1840.  
  1841. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1842. {
  1843.     switch(dialogid)
  1844.     {
  1845.         case DWheels:
  1846.         {
  1847.             if(!response) return true;
  1848.             if(GetPlayerMoney(playerid) < 500) return SendClientMessage(playerid, 0xFFFFFF00, ".àéï ìê îñôé÷ ëñó ìâìâìéí àìå - ãøåù: 500 ãåìø");
  1849.             switch(listitem)
  1850.             {
  1851.                 case 0: AddVehicleComponentEx(playerid, VehicleID, 1080);
  1852.                 case 1: AddVehicleComponentEx(playerid, VehicleID, 1074); //Mega
  1853.                 case 2: AddVehicleComponentEx(playerid, VehicleID, 1079); //Cutter
  1854.                 case 3: AddVehicleComponentEx(playerid, VehicleID, 1025); //Offroad
  1855.                 case 4: AddVehicleComponentEx(playerid, VehicleID, 1073); //Shadow
  1856.                 case 5: AddVehicleComponentEx(playerid, VehicleID, 1075); //Rimshine
  1857.                 case 6: AddVehicleComponentEx(playerid, VehicleID, 1076); //Wires
  1858.                 case 7: AddVehicleComponentEx(playerid, VehicleID, 1077); //Classic
  1859.                 case 8: AddVehicleComponentEx(playerid, VehicleID, 1078); //Twist
  1860.                 case 9: AddVehicleComponentEx(playerid, VehicleID, 1081); //Grove
  1861.                 case 10: AddVehicleComponentEx(playerid, VehicleID, 1082); //Import
  1862.                 case 11: AddVehicleComponentEx(playerid, VehicleID, 1083); //Dollar
  1863.                 case 12: AddVehicleComponentEx(playerid, VehicleID, 1084); //Trance
  1864.                 case 13: AddVehicleComponentEx(playerid, VehicleID, 1085); //Atomic
  1865.                 case 14: AddVehicleComponentEx(playerid, VehicleID, 1096); //Ahab
  1866.                 case 15: AddVehicleComponentEx(playerid, VehicleID, 1097); //Virtual
  1867.             }
  1868.         }
  1869.         case DNeons:
  1870.         {
  1871.             if(!response) return true;
  1872.             switch(listitem)
  1873.             {
  1874.                 case 0: GivePlayerMoney(playerid, -500), CreateNeon(playerid, 18648, ".äåú÷ï ðàåï áøëáê áöáò: ëçåì", 1); //Blue neon.
  1875.                 case 1: GivePlayerMoney(playerid, -500), CreateNeon(playerid, 18647, ".äåú÷ï ðàåï áøëáê áöáò: àãåí", 1); //Red neon.
  1876.                 case 2: GivePlayerMoney(playerid, -500), CreateNeon(playerid, 18649, ".äåú÷ï ðàåï áøëáê áöáò: éøå÷", 1); //Green neon.
  1877.                 case 3: GivePlayerMoney(playerid, -500), CreateNeon(playerid, 18652, ".äåú÷ï ðàåï áøëáê áöáò: ìáï", 1); //White neon.
  1878.                 case 4: GivePlayerMoney(playerid, -500), CreateNeon(playerid, 18651, ".äåú÷ï ðàåï áøëáê áöáò: åøåã", 1); //Pink neon.
  1879.                 case 5: GivePlayerMoney(playerid, -500), CreateNeon(playerid, 18650, ".äåú÷ï ðàåï áøëáê áöáò: öäåá", 1); //Yellow neon.
  1880.                 case 6: //Remove neons.
  1881.                 {
  1882.                     DestroyObject(VDetails[VehicleID][vNeonUsed_1]);
  1883.                     DestroyObject(VDetails[VehicleID][vNeonUsed_2]);
  1884.                     VDetails[VehicleID][vNeon] = 0;
  1885.                     SendClientMessage(playerid, 0xFFFFFFAA, "{FF1717}[Removed]{FFFFFF} .äðàåðéí îøëáê äåñøå");
  1886.                 }
  1887.             }
  1888.         }
  1889.         case ChooseIDR:
  1890.         {
  1891.             new string[256];
  1892.             if(!response) return true;
  1893.             if(!IsPlayerConnected(strval(inputtext))) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "äåøãú úàâ ìùç÷ï", ".ðà áçø àú äàééãé ùì äùç÷ï ùáøöåðê ìùéí úàâ", "äáà", "áéèåì"), SendClientMessage(playerid, 0xFFFFFF00, "[Error] .ùç÷ï æä àéðå îçåáø");
  1894.             if(!CheckNumber(inputtext)) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "äåøãú úàâ ìùç÷ï", ".ðà áçø àú äàééãé ùì äùç÷ï ùáøöåðê ìùéí úàâ", "äáà", "áéèåì"), SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àðà øùåí îñôøéí");
  1895.             if(!Player[strval(inputtext)][Tag]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìùç÷ï æä úàâ");
  1896.             ChoseIDR[playerid] = strval(inputtext);
  1897.             Player[ChoseIDR[playerid]][Tag] = false;
  1898.             format(Player[ChoseIDR[playerid]][TagText], 38, "None");
  1899.             format(Player[ChoseIDR[playerid]][TagColor], 7, "None");
  1900.             format(string, 128, ".äåøéã ìê àú äúàâ %s äàãîéï", CheckName(playerid));
  1901.             SendClientMessage(ChoseIDR[playerid], 0xFFFFFF00, string);
  1902.             format(string, 128, ".àú äúàâ %s àúä äåøãú ìùç÷ï", CheckName(ChoseIDR[playerid]));
  1903.             SendClientMessage(playerid, 0xFFFFFF00, string);
  1904.         }
  1905.         case ChooseID:
  1906.         {
  1907.             if(!response) return true;
  1908.             if(!IsPlayerConnected(strval(inputtext))) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú äàééãé ùáøöåðê ìùéí àú äúàâ", "äáà", "áéèåì"), SendClientMessage(playerid, 0xFFFFFF00, "[Error] .ùç÷ï æä àéðå îçåáø");
  1909.             if(!CheckNumber(inputtext)) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú äàééãé ùáøöåðê ìùéí àú äúàâ", "äáà", "áéèåì"), SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àðà øùåí îñôøéí");
  1910.             if(Player[strval(inputtext)][Tag]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .ìùç÷ï æä éù ëáø úàâ");
  1911.             ChoseID[playerid] = strval(inputtext);
  1912.             ShowPlayerDialog(playerid, ChooseText, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú è÷ñè äúàâ ùáøöåðê ìùéí ìàééãé æä", "äáà", "çæåø");
  1913.         }
  1914.         case ChooseText:
  1915.         {
  1916.             if(!response) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú äàééãé ùáøöåðê ìùéí ìå úàâ", "äáà", "áéèåì");
  1917.             format(ChoseText[playerid], 38, "%s", inputtext);
  1918.             ShowPlayerDialog(playerid, ChooseColor, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú ÷åã äöáò ùáøöåðê ìùéí ìúàâ\n\rãåâîàåú(HTML Color): FFFFFF, 0F0F0F, åòåã...", "ñééí", "çæåø");
  1919.         }
  1920.         case ChooseColor:
  1921.         {
  1922.             new string[256];
  1923.             if(!response) return ShowPlayerDialog(playerid, ChooseText, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".ðà øùåí àú äè÷ñè ùáøöåðê ìùéí ìúàâ", "äáà", "çæåø");
  1924.             format(ChoseColor[playerid], 7, "%s", inputtext);
  1925.             Player[ChoseID[playerid]][Tag] = true;
  1926.             format(Player[ChoseID[playerid]][TagColor], 38, "%s", inputtext);
  1927.             format(Player[ChoseID[playerid]][TagText], 38, "%s", ChoseText[playerid]);
  1928.             format(string, 256, ":îéãò òì äúàâ äçãù\n\r[%d]%s :ùç÷ï\n\r%s :è÷ñè äúàâ\n\r{%s}%s{A9C4E4} :öáò äúàâ\n\r\n\r./removetag úåëì ìäåøéã ìå úàâ æä áô÷åãä", ChoseID[playerid], CheckName(ChoseID[playerid]), ChoseText[playerid], inputtext, inputtext);
  1929.             ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, "úàâ ðåñó áäöìçä", string, "ñâåø", "");
  1930.             format(string, 256, ":îéãò òì äúàâ äçãù\n\r[%d]%s :ùç÷ï\n\r%s :è÷ñè äúàâ\n\r{%s}%s{A9C4E4} :öáò äúàâ\n\r\n\r./removetag úåëì ìäåøéã ìå úàâ æä áô÷åãä", ChoseID[playerid], CheckName(ChoseID[playerid]), ChoseText[playerid], inputtext, inputtext);
  1931.             ShowPlayerDialog(ChoseID[playerid], 999, DIALOG_STYLE_MSGBOX, "úàâ ðåñó áäöìçä", string, "ñâåø", "");
  1932.         }
  1933.         case STitle:
  1934.         {
  1935.             if(!response) return true;
  1936.             format(Title, 30, "%s", inputtext);
  1937.             ShowPlayerDialog(playerid, SText, DIALOG_STYLE_INPUT, ".öåø ñ÷ø çãù: è÷ñè", ".àðà øùåí àú è÷ñè äñ÷ø", "öåø", "çæåø");
  1938.         }
  1939.         case SText:
  1940.         {
  1941.             new string[256], AName[24];
  1942.             GetPlayerName(playerid, AName, 24);
  1943.             if(!response) return ShowPlayerDialog(playerid, STitle, DIALOG_STYLE_INPUT, ".öåø ñ÷ø çãù: ëåúøú", ".àðà øùåí àú ëåúøú äñ÷ø", "äáà", "áéèåì");
  1944.             SurveyOn = true;
  1945.             for(new p = 0; p < MAX_PLAYERS; p++)
  1946.             {
  1947.                 if(!IsPlayerConnected(p)) continue;
  1948.                 AChose[p] = false;
  1949.             }
  1950.             format(string, 128, "The survey is created! Title: %s by: %s.", Title, AName);
  1951.             SendClientMessageToAll(0xFFFFFF00, string);
  1952.             format(string, 256, "%s :(/vote è÷ñè äñ÷ø (ä÷ìã", inputtext);
  1953.             SendClientMessageToAll(0xFFFFFF00, string);
  1954.             SetTimer("SurveyStop", MaxTime*1000, false);
  1955.         }
  1956.         case DPickups:
  1957.         {
  1958.             if(!response) return true;
  1959.             new file[124];
  1960.             format(file, 124, "/Z-PickIcons/%s.ini", inputtext);
  1961.             if(fexist(file)) return true;
  1962.             format(FileName[playerid], 30, "%s", inputtext);
  1963.             ShowPlayerDialog(playerid, DModel, DIALOG_STYLE_INPUT, ".éöéøú ôé÷àô çãù: îåãì", ":øùéîä ùì ñåâéí îùåîùéí\n\r346 - Colt 45 Pistol\n\r347 - Silenced Pistol\n\r348 - Desert Eagle\n\r349 - Regular Shotgun\n\r350 - Sawn-Off Shotgun\n\r351 - Combat Shotgun\n\r352 - Micro Uzi\n\r353 - MP5\n\r355 - AK47 Assault Rifle\n\r356 - M4 Assault Rifle\n\r358 - Sniper Rifle\n\r359 - Rocket Launcher\n\r361 - Flamethrower\n\r362 - Minigun\n\r370 - Jetpack\n\r1212 - Money Packet", "äáà", "çæåø");
  1964.         }
  1965.         case DModel:
  1966.         {
  1967.             if(!response) return ShowPlayerDialog(playerid, DPickups, DIALOG_STYLE_INPUT, ".éöøú ôé÷àô çãù: ùí", ".àðà øùåí àú äùí ùì äôé÷àô äçãù\n\r./scriptfiles/Z-PickIcon/ :úåëì ìîöåà àú ä÷åáõ áúé÷ééú", "öåø", "áèì");
  1968.             PInfo[playerid][0] = strval(inputtext);
  1969.             ShowPlayerDialog(playerid, DType, DIALOG_STYLE_INPUT, ".öåø ôé÷àô çãù: ñåâ",
  1970.             ":àðà øùåí àú îñôø ñåâ äôé÷àô\n\r0-ìà îåôéò.\n\r1-ìà ðéúï ì÷çú.\n\r2. ðéúï ì÷çú+ñôàåï áëîä æîï.\n\r3. ðéúï ì÷çú ìàçø îååú.\n\r4. ðòìí áæîï ÷öø.\n\r8. ðéúï ì÷çú àê ìà ÷åøä ëìåí.\n\r12. îúôåöõ ìàçø ëîä ùðéåú.\n\r13. ðòìí ìàè ìàè ìúåê äàãîä.\n\r14. ðéúï ì÷çú áúåê øëá.\n\r19. ðéúï ì÷çú àê ìà ÷åøä ëìåí.", "äáà", "çæåø");
  1971.         }
  1972.         case DType:
  1973.         {
  1974.             if(!response) return
  1975.             ShowPlayerDialog(playerid, DModel, DIALOG_STYLE_INPUT, ".éöéøú ôé÷àô çãù: îåãì", ":øùéîä ùì ñåâéí îùåîùéí\n\r346 - Colt 45 Pistol\n\r347 - Silenced Pistol\n\r348 - Desert Eagle\n\r349 - Regular Shotgun\n\r350 - Sawn-Off Shotgun\n\r351 - Combat Shotgun\n\r352 - Micro Uzi\n\r353 - MP5\n\r355 - AK47 Assault Rifle\n\r356 - M4 Assault Rifle\n\r358 - Sniper Rifle\n\r359 - Rocket Launcher\n\r361 - Flamethrower\n\r362 - Minigun\n\r370 - Jetpack\n\r1212 - Money Packet", "äáà", "çæåø");
  1976.             PInfo[playerid][1] = strval(inputtext);
  1977.             ShowPlayerDialog(playerid, DVW, DIALOG_STYLE_INPUT, ".éöéøú ôé÷àô çãù: òåìí åéøèåàìé", ".àðà øùåí àú äòåìí äåéøèåàìé ùéåöâ ôé÷àô æä", "äáà", "çæåø");
  1978.         }
  1979.         case DVW:
  1980.         {
  1981.             if(!response) return
  1982.             ShowPlayerDialog(playerid, DType, DIALOG_STYLE_INPUT, ".öåø ôé÷àô çãù: ñåâ",
  1983.             ":àðà øùåí àú îñôø ñåâ äôé÷àô\n\r0-ìà îåôéò.\n\r1-ìà ðéúï ì÷çú.\n\r2. ðéúï ì÷çú+ñôàåï áëîä æîï.\n\r3. ðéúï ì÷çú ìàçø îååú.\n\r4. ðòìí áæîï ÷öø.\n\r8. ðéúï ì÷çú àê ìà ÷åøä ëìåí.\n\r12. îúôåöõ ìàçø ëîä ùðéåú.\n\r13. ðòìí ìàè ìàè ìúåê äàãîä.\n\r14. ðéúï ì÷çú áúåê øëá.\n\r19. ðéúï ì÷çú àê ìà ÷åøä ëìåí.", "äáà", "çæåø");
  1984.             PInfo[playerid][2] = strval(inputtext);
  1985.             ShowPlayerDialog(playerid, DDone, DIALOG_STYLE_INPUT, ".éöéøú ôé÷àô çãù: ëãåøéí/ñëåí", ".àí æä ðù÷ àå ëñó, àðà øùåí àú äñëåí áúéáä æå\n\r.àí ìà, úìçõ ìà", "ìà", "ëï");
  1986.         }
  1987.         case DDone:
  1988.         {
  1989.             if(!response) return true;
  1990.             new stringe[4][256], Float:Pos[3], FileNameEx[124];
  1991.             format(FileNameEx, 124, "/Z-PickIcons/%s.ini", FileName[playerid]);
  1992.             GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  1993.             CreatePickup(PInfo[playerid][0], PInfo[playerid][1], Pos[0], Pos[1]+2, Pos[2], PInfo[playerid][2]);
  1994.             //SetPlayerPos(playerid, Pos[0], Pos[1],Pos[2]+6);
  1995.             format(stringe[3], 256, ":äôé÷àô äåîø áäöìçä ì÷åáõ áúé÷ééä\n\rServer/scriptfiles/Z-PickIcons/Pickup: %s.\n\r\n\r.äîùê éåí ðòéí åîùç÷ îäðä", FileName[playerid]);
  1996.             ShowPlayerDialog(playerid, DMessage, DIALOG_STYLE_MSGBOX, ".äôé÷àô ðåöø áäöìçä", stringe[3], "ñâåø", "");
  1997.             new File:CreateFile = fopen(FileNameEx,io_write);
  1998.             fclose(CreateFile);
  1999.             new File:FileOpened = fopen(FileNameEx,io_append);
  2000.             format(stringe[0], 256, "// (-) Pickups and Mapicons converter - created by ZiPoNz © 2012.\r\n// OnGameModeInit ÷åã: \r\nCreatePickup(%d, %d, Float:%.f, Float:%.f, Float:%.f, %d);", PInfo[playerid][0], PInfo[playerid][1], Pos[0], Pos[1], Pos[2], PInfo[playerid][2]);
  2001.             if(!response) format(stringe[1], 256, "\r\n\r\nOnPlayerPickupPickup code: (ðù÷)\r\nif(pickupid == %s) GivePlayerWeapon(playerid, weaponid, %d);\r\nOnPlayerPickupPickup code: (ëñó)\r\nif(pickupid == %s) GivePlayerMoney(playerid, %d);", FileName[playerid], strval(inputtext), FileName[playerid], strval(inputtext));
  2002.             format(stringe[2], 256, "\r\n\r\n:àí úøöä ìîçå÷ ôé÷àô æä\r\nDestroyPickup(%s);", FileName[playerid]);
  2003.             for(new number; number < 3; number++) fwrite(FileOpened, stringe[number]);
  2004.             fclose(FileOpened);
  2005.         }
  2006.         case DMapIcons:
  2007.         {
  2008.             if(!response) return true;
  2009.             new file[124];
  2010.             format(file, 124, "/Z-PickIcons/%s.ini", inputtext);
  2011.             if(fexist(file)) return true;
  2012.             format(FileName[playerid], 30, "%s", inputtext);
  2013.             ShowPlayerDialog(playerid, DMID, DIALOG_STYLE_INPUT, ".(öåø àéé÷åï çãù: àééãé(ìà ñåâ", ".RemovePlayerMapIcon àðà øùåí àééãé áéï 0-99 òì îðú ìùîù ì", "Next", "Back");
  2014.         }
  2015.         case DMID:
  2016.         {
  2017.             if(!response) return ShowPlayerDialog(playerid, DMapIcons, DIALOG_STYLE_INPUT, ".éöéøú àéé÷åï çãù: ùí", ".àðà øùåí àú äùí ìàéé÷åï áîôä äçãù\n\r./scriptfiles/Z-PickIcon/ úåëì ìîöåà ÷åáõ æä áúé÷ééú", "öåø", "áèì");
  2018.             PInfo[playerid][0] = strval(inputtext);
  2019.             ShowPlayerDialog(playerid, DMType, DIALOG_STYLE_INPUT, ".öåø àéé÷åï çãù: ñåâ",
  2020.             ":øùéîä ùì àéé÷åðéí ùéîåùééí\n\r6-Ammunation\n\r10-Burger Shot\n\r15-Carl Johnson\n\r19-Enemy Attack\n\r20-Fire\n\r21-Girlfriend\n\r22-Hospital\n\r29-Well Stacked Pizza Co\n\r30-Police\n\r31-Property(to purchase).\n\r32-Property(isn't for purchase).\n\r33-Race\n\r35-SaveGame\n\r45-Clothes\n\r48-Disco\n\r49-Bar\n\r50-Restaurant\n\r51-Truck\n\r52-RobberyFrequently\n\r53-Race\n\r55-Car\n\r56-Light\n\r57-Closest airport\n\r63-Pay 'n' Spray", "äáà", "çæåø");
  2021.         }
  2022.         case DMType:
  2023.         {
  2024.             if(!response) return ShowPlayerDialog(playerid, DMID, DIALOG_STYLE_INPUT, "Create a new map icon: ID(not type).", "Please write the ID 0-99, to be used RemovePlayerMapIcon", "Next", "Back");
  2025.             PInfo[playerid][1] = strval(inputtext);
  2026.             ShowPlayerDialog(playerid, DMStyle, DIALOG_STYLE_INPUT, ".éöéøú àéé÷åï çãù: îé÷åí", ":àðà øùåí àú îñôø äáçéøä ùìê\n\r0: MAPICON_LOCAL                Display in the player's local area\n\r1: MAPICON_GLOBAL               Display always\n\r2: MAPICON_LOCAL_CHECKPOINT     Display in the player's local area and has a checkpoint marker\n\r3: MAPICON_GLOBAL_CHECKPOINT    Display always and has a checkpoint marker.", "ñééí", "çæåø");
  2027.         }
  2028.         case DMStyle:
  2029.         {
  2030.             new stringes[3][256];
  2031.             if(!response) return ShowPlayerDialog(playerid, DMType, DIALOG_STYLE_INPUT, ".öåø àéé÷åï çãù: ñåâ",
  2032.             ":øùéîä ùì àéé÷åðéí ùéîåùééí\n\r6-Ammunation\n\r10-Burger Shot\n\r15-Carl Johnson\n\r19-Enemy Attack\n\r20-Fire\n\r21-Girlfriend\n\r22-Hospital\n\r29-Well Stacked Pizza Co\n\r30-Police\n\r31-Property(to purchase).\n\r32-Property(isn't for purchase).\n\r33-Race\n\r35-SaveGame\n\r45-Clothes\n\r48-Disco\n\r49-Bar\n\r50-Restaurant\n\r51-Truck\n\r52-RobberyFrequently\n\r53-Race\n\r55-Car\n\r56-Light\n\r57-Closest airport\n\r63-Pay 'n' Spray", "äáà", "çæåø");
  2033.  
  2034.             new Float:Pos[3], FileNameEx[124], styletext[30];
  2035.             format(FileNameEx, 124, "/Z-PickIcons/%s.ini", FileName[playerid]);
  2036.             GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  2037.             switch(strval(inputtext))
  2038.             {
  2039.                 case 0: styletext = "MAPICON_LOCAL";
  2040.                 case 1: styletext = "MAPICON_GLOBAL";
  2041.                 case 2: styletext = "MAPICON_LOCAL_CHECKPOINT";
  2042.                 case 3: styletext = "MAPICON_GLOBAL_CHECKPOINT";
  2043.             }
  2044.             SetPlayerMapIcon(playerid, PInfo[playerid][0], Pos[0], Pos[1], Pos[2], PInfo[playerid][1], 1, strlen(styletext));
  2045.             format(stringe[2], 256, ":äàéé÷åï áîôä ðåöø áäöìçä åä÷åáõ ðîöà á\n\rServer/scriptfiles/Z-PickIcons/%s.\n\r\n\r.äîùê éåí ðòéí åîùç÷ îäðä", FileName[playerid]);
  2046.             ShowPlayerDialog(playerid, DMessage, DIALOG_STYLE_MSGBOX, ".äàéé÷åï áîôä ðåöø áäöìçä", stringe[2], "ñâåø", "");
  2047.             new File:CreateFile = fopen(FileNameEx,io_write);
  2048.             fclose(CreateFile);
  2049.             new File:FileOpened = fopen(FileNameEx,io_append);
  2050.             format(stringes[0], 256, "// (-) Pickups and Mapicons converter - created by ZiPoNz © 2012.\r\n// OnGameModeInit ÷åã: \r\nSetPlayerMapIcon(playerid, %d, %.f, %.f, %.f, %d, 1, %s);", PInfo[playerid][0], Pos[0], Pos[1], Pos[2], PInfo[playerid][1], styletext);
  2051.             format(stringes[1], 256, "\r\n\r\n:àí úøöä ìäåøéã àéé÷åï æä, äôåð÷öéä\r\nRemovePlayerMapIcon(playerid, %d);", PInfo[playerid][0]);
  2052.             for(new number; number < 2; number++) fwrite(FileOpened, stringes[number]);
  2053.             fclose(FileOpened);
  2054.  
  2055.         }
  2056.         case CodesDialogChose:
  2057.         {
  2058.             if(!response) return true;
  2059.             switch(listitem)
  2060.             {
  2061.                 case 0: ShowPlayerDialog(playerid, CodesDialog, DIALOG_STYLE_INPUT, ".éöéøú ÷åãéí áùøú", ".àðà øùåí àú {ffffff}äîñôø{a9c4e4} ùì ä÷åãéí äáàéí\n\r\n\r1. ëñó\n\r2. ðù÷ øðãåîìé\n\r3. ÷ôéöåú øëá\n\r4. îäéøåú øëá\n\r5. â'àè ôà÷\n\r\n\r.ZiPoNz îòøëú ÷åãéí æå ðåöøä òì éãé", "öåø", "áèì");
  2062.                 case 1: ShowPlayerDialog(playerid, CodesDialog2, DIALOG_STYLE_INPUT, ".éöéøú ÷åãéí áùøú", ".àðà øùåí àú {ffffff}äîñôø{a9c4e4} ùì ä÷åãéí äáàéí\n\r\n\r1. ëñó\n\r2. ðù÷ øðãåîìé\n\r3. ÷ôéöåú øëá\n\r4. îäéøåú øëá\n\r5. â'àè ôà÷\n\r\n\r.ZiPoNz îòøëú ÷åãéí æå ðåöøä òì éãé", "öåø", "áèì");
  2063.             }
  2064.         }
  2065.         case CodesDialog:
  2066.         {
  2067.             if(!response) return true;
  2068.             new code[15], string[128];
  2069.             search:
  2070.             for(new i; i < 6; i++)
  2071.             {
  2072.                 code[i] = letters[rand(0, sizeof(letters) - 1)];
  2073.             }
  2074.             if(DOF2_IsSet(CodesFile, code)) goto search;
  2075.             DOF2_SetInt(CodesFile, code, strval(inputtext));
  2076.             DOF2_SaveFile();
  2077.             format(string, 128, ".%s :ä÷åã äéðå\n\r.(ñåâ ÷åã æä äåà: %s(%d", code, IsCodeType(strval(inputtext)), strval(inputtext));
  2078.             ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, ".ä÷åã ðåöø áäöìçä", string, "ñâåø", "");
  2079.             format(string, 128, ".%s :÷åã çãù ðåöø áùøú, ä÷åã äéðå", code);
  2080.             SendClientMessageToAll(0xFFFFFF00, string);
  2081.         }
  2082.         case CodesDialog2:
  2083.         {
  2084.             if(!response) return true;
  2085.             CInfo[playerid] = strval(inputtext);
  2086.             ShowPlayerDialog(playerid, CodesDialog3, DIALOG_STYLE_INPUT, ".éöéøú ÷åãéí áùøú", ".àðà ä÷ìã àú ä÷åã", "öåø", "áèì");
  2087.         }
  2088.         case CodesDialog3:
  2089.         {
  2090.             if(!response) return true;
  2091.             if(strlen(inputtext) > 5) return ShowPlayerDialog(playerid, CodesDialog3, DIALOG_STYLE_INPUT, ".éöéøú ÷åãéí áùøú", ".àðà ä÷ìã àú ä÷åã òã 5 úååéí", "öåø", "áèì");
  2092.             new string[128];
  2093.             DOF2_SetInt(CodesFile, inputtext, CInfo[playerid]);
  2094.             DOF2_SaveFile();
  2095.             format(string, 128, ".%s :ä÷åã äéðå\n\r.(ñåâ ÷åã æä äåà: %s(%d", inputtext, IsCodeType(CInfo[playerid]), CInfo[playerid]);
  2096.             ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, ".ä÷åã ðåöø áäöìçä", string, "ñâåø", "");
  2097.             format(string, 128, ".%s :÷åã çãù ðåöø áùøú, ä÷åã äéðå", inputtext);
  2098.             SendClientMessageToAll(0xFFFFFF00, string);
  2099.         }
  2100.         case Register:
  2101.         {
  2102.             if(!response) return true;
  2103.             new string[128];
  2104.             if(strlen(inputtext) < 5) return ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Welcome to the server!", "Hello, welcome!\n\rYour'e not registered.\n\rPlease write your new password.\n\nPlease write more letters.", "Register", "");
  2105.             DOF2_CreateFile(CheckFile(playerid));
  2106.             DOF2_SetString(CheckFile(playerid), "Password", inputtext);
  2107.             DOF2_SetString(CheckFile(playerid), "IP", CheckIP(playerid));
  2108.             DOF2_SetInt(CheckFile(playerid), "Level", 1);
  2109.             DOF2_SetInt(CheckFile(playerid), "Kills", 0);
  2110.             DOF2_SetInt(CheckFile(playerid), "LevelKills", 0);
  2111.             DOF2_SetInt(CheckFile(playerid), "Deaths", 0);
  2112.             DOF2_SetInt(CheckFile(playerid), "Bank", 0);
  2113.             DOF2_SetInt(CheckFile(playerid), "Vehicle", -1);
  2114.             DOF2_SetInt(CheckFile(playerid), "Skin", -1);
  2115.             DOF2_SetString(CheckFile(playerid), "TagText", "None");
  2116.             DOF2_SetString(CheckFile(playerid), "TagColor", "None");
  2117.             DOF2_SaveFile();
  2118.             Player[playerid][Kills] = DOF2_GetInt(CheckFile(playerid), "Kills");
  2119.             Player[playerid][Deaths] = DOF2_GetInt(CheckFile(playerid), "Deaths");
  2120.             Player[playerid][Bank] = DOF2_GetInt(CheckFile(playerid), "Bank");
  2121.             Player[playerid][Skin] = DOF2_GetInt(CheckFile(playerid), "Skin");
  2122.             Player[playerid][AdminLevel] = DOF2_GetInt(CheckFile(playerid), "AdminLevel");
  2123.             Player[playerid][Vehicle] = DOF2_GetInt(CheckFile(playerid), "Vehicle");
  2124.             Player[playerid][Level] = DOF2_GetInt(CheckFile(playerid), "Level");
  2125.             Player[playerid][Kills] = DOF2_GetInt(CheckFile(playerid), "Kills");
  2126.             Player[playerid][LevelKills] = DOF2_GetInt(CheckFile(playerid), "LevelKills");
  2127.             Player[playerid][Tag] = false;
  2128.             format(Player[playerid][TagColor], 7, "%s", ("None"));
  2129.             format(Player[playerid][TagText], 38, "%s", ("None"));
  2130.             Player[playerid][Logged] = true;
  2131.             format(string, 128, ".ðøùí ëòú ìùøú %s", CheckName(playerid));
  2132.             SendClientMessageToAll(0xFFFFFF00, string);
  2133.         }
  2134.         case Login:
  2135.         {
  2136.             if(!response) return true;
  2137.             new string[128];
  2138.             if(strcmp(inputtext, DOF2_GetString(CheckFile(playerid), "Password"), false) != 0)
  2139.             {
  2140.                 if(Player[playerid][InvalidPassword] == MaxTimesInvalidPass)
  2141.                 {
  2142.                     SendClientMessage(playerid, 0xFFFFFF00, ".(äéðê ÷éáìú ÷é÷ òëá ääúçáøåú äëåùìú (ðñéåðåú: 3");
  2143.                     Kick(playerid);
  2144.                 }
  2145.                 format(string, 150, ".áøåê ùåáê ,%s ùìåí\n\r.àúä ëáø øùåí áîòøëú\n\r.àðà øùåí àú ñéñîúê äðåëçéú\n\rMode by ZiPoNz - LvDmPlus+ - Version 2", CheckName(playerid));
  2146.                 ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, ".áøåê äáà ìùøú", string, "!äúçáø", "");
  2147.  
  2148.                 Player[playerid][InvalidPassword]++;
  2149.                 return true;
  2150.             }
  2151.             Player[playerid][Kills] = DOF2_GetInt(CheckFile(playerid), "Kills");
  2152.             Player[playerid][Deaths] = DOF2_GetInt(CheckFile(playerid), "Deaths");
  2153.             Player[playerid][Bank] = DOF2_GetInt(CheckFile(playerid), "Bank");
  2154.             Player[playerid][Skin] = DOF2_GetInt(CheckFile(playerid), "Skin");
  2155.             Player[playerid][AdminLevel] = DOF2_GetInt(CheckFile(playerid), "AdminLevel");
  2156.             Player[playerid][Vehicle] = DOF2_GetInt(CheckFile(playerid), "Vehicle");
  2157.             format(Player[playerid][TagText], 30, "%s", DOF2_GetString(CheckFile(playerid), "TagText"));
  2158.             format(Player[playerid][TagColor], 30, "%s", DOF2_GetString(CheckFile(playerid), "TagColor"));
  2159.             Player[playerid][Level] = DOF2_GetInt(CheckFile(playerid), "Level");
  2160.             Player[playerid][Kills] = DOF2_GetInt(CheckFile(playerid), "Kills");
  2161.             Player[playerid][LevelKills] = DOF2_GetInt(CheckFile(playerid), "LevelKills");
  2162.             Player[playerid][Logged] = true;
  2163.             Player[playerid][ALogged] = false;
  2164.             if(strcmp(Player[playerid][TagText], "None", false) != 0)
  2165.             {
  2166.                 Player[playerid][Tag] = true;
  2167.                 format(Player[playerid][TagColor], 7, "%s", DOF2_GetString(CheckFile(playerid), "TagColor"));
  2168.                 format(Player[playerid][TagText], 38, "%s", DOF2_GetString(CheckFile(playerid), "TagText"));
  2169.             }
  2170.             else
  2171.             {
  2172.                 Player[playerid][Tag] = false;
  2173.                 format(Player[playerid][TagColor], 7, "%s", ("None"));
  2174.                 format(Player[playerid][TagText], 38, "%s", ("None"));
  2175.             }
  2176.             if(Player[playerid][Skin] != -1) SetSpawnInfo(playerid, 0, Player[playerid][Skin], 0.0, 0.0, 0.0, 0.0, 0,0,0,0,0,0), SpawnPlayer(playerid);
  2177.             if(Player[playerid][AdminLevel] != 0)
  2178.             {
  2179.                 format(string, 150, ".áøåê ùåáê ,%s ùìåí\n\r.àðà ä÷ìã àú ñéñîú äàãîéðéí ëãé ìäîùéê\n\rMode by ZiPoNz - LvDmPlus+ - Version 2", CheckName(playerid));
  2180.                 return ShowPlayerDialog(playerid, AdminLogin, DIALOG_STYLE_PASSWORD, ".áøåê äáà ìùøú", string, "!äúçáø", "");
  2181.             }
  2182.             else
  2183.             {
  2184.                 if(Player[playerid][Skin] != -1) SetSpawnInfo(playerid, 0, Player[playerid][Skin], 0.0, 0.0, 0.0, 0.0, 0,0,0,0,0,0), SpawnPlayer(playerid);
  2185.                 format(string, 135, ".äúçáø ëòú ìùøú %s", CheckName(playerid));
  2186.                 return SendClientMessageToAll(0xFFFFFF00, string);
  2187.             }
  2188.         }
  2189.         case AdminLogin:
  2190.         {
  2191.             new string[128];
  2192.             if(!response) return Kick(playerid);
  2193.             if(strcmp(inputtext, DOF2_GetString(Settings, "AdminPassword"), false) != 0) return SendClientMessage(playerid, Red, ".ñéñîà ùâåéä"), Kick(playerid);
  2194.             Player[playerid][ALogged] = true;
  2195.             if(Player[playerid][Skin] != -1) SetSpawnInfo(playerid, 0, Player[playerid][Skin], 0.0, 0.0, 0.0, 0.0, 0,0,0,0,0,0), SpawnPlayer(playerid);
  2196.             format(string, 128, ".äúçáø ëòú ìùøú %s", CheckName(playerid));
  2197.             SendClientMessageToAll(0xFFFFFF00, string);
  2198.         }
  2199.         case DNick:
  2200.         {
  2201.             if(!response) return true;
  2202.             new string[128], newname[30];
  2203.             format(newname, 30, "/Users/%s.ini", inputtext);
  2204.             if(DOF2_FileExists(newname)) return SendClientMessage(playerid, Red, ".ùí æä ëáø ÷ééí áîòøëú");
  2205.             DOF2_RenameFile(CheckFile(playerid), newname);
  2206.             SetPlayerName(playerid, inputtext);
  2207.             format(string, 128, "!%s ùéðéú àú ùéîê ì\n\r.æëåø ìäúçáø òí ùí æä áäúçáøåú äáàä", CheckName(playerid));
  2208.             ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, ".ùí ùåðä áäöìçä", string, "ñâåø", "");
  2209.         }
  2210.         case DBank:
  2211.         {
  2212.             new string[128];
  2213.             if(!response) return true;
  2214.             switch(listitem)
  2215.             {
  2216.                 case 0, 1: return true;
  2217.                 case 2:
  2218.                 {
  2219.                     if(!IsPlayerInRangeOfPoint(playerid, 50, -27.312299,-29.277599,1003.557250)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .äéðê öøéê ìäéåú ááð÷");
  2220.                     ShowPlayerDialog(playerid, DDeposit, DIALOG_STYLE_INPUT, "äô÷ã áçùáåï äáð÷", ".øùåí àú äñëåí ùáøöåðê ìäô÷éã ááð÷", "äô÷ã", "áèì");
  2221.                 }
  2222.                 case 3:
  2223.                 {
  2224.                     if(!IsPlayerInRangeOfPoint(playerid, 50, -27.312299,-29.277599,1003.557250)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .äéðê öøéê ìäéåú ááð÷");
  2225.                     if(GetPlayerMoney(playerid) < strval(inputtext)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê ñëåí æä");
  2226.                     Player[playerid][Bank] += GetPlayerMoney(playerid);
  2227.                     GivePlayerMoney(playerid, -GetPlayerMoney(playerid));
  2228.                     format(string, 128, "[System] äéðê äô÷ãú áçùáåï äáð÷ àú ëì ëñôê, ëòú éù áå: %d ãåìø.", Player[playerid][Bank]);
  2229.                     SendClientMessage(playerid, 0xFFFFFF00, string);
  2230.                 }
  2231.                 case 4:
  2232.                 {
  2233.                     if(!IsPlayerInRangeOfPoint(playerid, 50, -27.312299,-29.277599,1003.557250)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .äéðê öøéê ìäéåú ááð÷");
  2234.                     ShowPlayerDialog(playerid, DWithdraw, DIALOG_STYLE_INPUT, "îùåê îçùáåï äáð÷", ".àðà øùåí àú äñëåí ùáøöåðê ìîùåê îäáð÷", "îùåê", "áèì");
  2235.                 }
  2236.                 case 5:
  2237.                 {
  2238.                     if(!IsPlayerInRangeOfPoint(playerid, 50, -27.312299,-29.277599,1003.557250)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .äéðê öøéê ìäéåú ááð÷");
  2239.                     if(!Player[playerid][Bank]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê ëñó áçùáåï äáð÷");
  2240.                     GivePlayerMoney(playerid, Player[playerid][Bank]);
  2241.                     SendClientMessage(playerid, 0xFFFFFF00, "[System] äéðê îùëú îçùáåï äáð÷ àú ëì ëñôê, ëòú àéï áå ëñó");
  2242.                     Player[playerid][Bank] = 0;
  2243.                 }
  2244.                 case 6:
  2245.                 {
  2246.                     SetPlayerPos(playerid, -27.312299,-29.277599,1003.557250);
  2247.                     SetPlayerInterior(playerid, 4);
  2248.                     SendClientMessage(playerid, 0xFFFFFF00, "[System] .äùúâøú ìáð÷");
  2249.                 }
  2250.                 case 7:
  2251.                 {
  2252.                     if(!IsPlayerInRangeOfPoint(playerid, 50, -27.312299,-29.277599,1003.557250)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .äéðê öøéê ìäéåú ááð÷");
  2253.                     ShowPlayerDialog(playerid, DTName, DIALOG_STYLE_INPUT,"äòáøú ëñó ìçùáåï áð÷", ".àðà øùåí àú ùîå äîìà ùì äùç÷ï ùáøöåðê ìùìåç ëñó\n\r.ZiPoNz :ãåâîà", "äáà", "áèì");
  2254.                 }
  2255.             }
  2256.         }
  2257.         case DTransfer:
  2258.         {
  2259.             if(!response) return true;
  2260.             new string[128], exname[30], found;
  2261.             format(exname, 30, "/Users/%s.ini", TransferName[playerid]);
  2262.             if(!DOF2_FileExists(exname)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .ùí æä àéðå ÷ééí áîòøëú");
  2263.             if(GetPlayerMoney(playerid) < strval(inputtext)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê ñëåí æä");
  2264.             for(new i = 0; i < MAX_PLAYERS; i++)
  2265.             {
  2266.                 if(!strcmp(CheckName(i), TransferName[playerid], true))
  2267.                 {
  2268.                     found++;
  2269.                     Player[i][Bank] += strval(inputtext);
  2270.                     GivePlayerMoney(playerid, -strval(inputtext));
  2271.                     format(string, 128, "[System] äùç÷ï %s ùìç ìçùáåï äáð÷ ùìê %d ãåìø.", CheckName(playerid), strval(inputtext));
  2272.                     SendClientMessage(i, 0xFFFFFF00, string);
  2273.                     format(string, 128, "[System] äéðê ùìçú ìùç÷ï %s ìçùáåï äáð÷ ùìå %d ãåìø.", CheckName(i), strval(inputtext));
  2274.                     return SendClientMessage(playerid, 0xFFFFFF00, string);
  2275.                 }
  2276.             }
  2277.             if(!found) return DOF2_SetInt(TransferName[playerid], "Bank", DOF2_GetInt(TransferName[playerid], "Bank")+strval(inputtext)), DOF2_SaveFile();
  2278.  
  2279.         }
  2280.         case DTName:
  2281.         {
  2282.             if(!response) return ShowPlayerDialog(playerid, DTName, DIALOG_STYLE_INPUT,"äòáøú ëñó ìçùáåï áð÷", ".àðà øùåí àú ùîå äîìà ùì äùç÷ï ùáøöåðê ìùìåç ëñó\n\r.ZiPoNz :ãåâîà", "äáà", "áèì");
  2283.             format(TransferName[playerid], 30, "%s", inputtext);
  2284.             print(TransferName[playerid]);
  2285.             ShowPlayerDialog(playerid, DTransfer, DIALOG_STYLE_INPUT, "äòáøú ëñó ìçùáåï äáð÷", ".àðà øùåí àú ñëåí äëñó ùáøöåðê ìäòáéø\n\r.ãåâîà: 30000", "äòáø", "çæåø");
  2286.         }
  2287.         case DDeposit:
  2288.         {
  2289.             if(!response) return true;
  2290.             new string[128];
  2291.             if(GetPlayerMoney(playerid) < strval(inputtext)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê ñëåí æä");
  2292.             if(!CheckNumber(inputtext) || !strval(inputtext)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àðà øùåí îñôøéí îòì 0");
  2293.             GivePlayerMoney(playerid, -strval(inputtext));
  2294.             Player[playerid][Bank] += strval(inputtext);
  2295.             format(string, 128, "[System] äéðê äô÷ãú áçùáåï äáð÷ %d, ëòú éù áçùáåï äáð÷ ùìê %d ãåìø.", strval(inputtext), Player[playerid][Bank]);
  2296.             SendClientMessage(playerid, 0xFFFFFF00, string);
  2297.         }
  2298.         case DWithdraw:
  2299.         {
  2300.             if(!response) return true;
  2301.             new string[128];
  2302.             if(Player[playerid][Bank] < strval(inputtext)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìê ñëåí æä");
  2303.             if(!CheckNumber(inputtext) || !strval(inputtext)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àðà øùåí îñôøéí îòì 0");
  2304.             GivePlayerMoney(playerid, strval(inputtext));
  2305.             Player[playerid][Bank] -= strval(inputtext);
  2306.             format(string, 128, "[System] äéðê îùëú îäáð÷ %d, ëòú éù áçùáåï äáð÷ ùìê %d ãåìø.", strval(inputtext), Player[playerid][Bank]);
  2307.             SendClientMessage(playerid, 0xFFFFFF00, string);
  2308.         }
  2309.     }
  2310.     return true;
  2311. }
  2312. stock CheckIP(playerid)
  2313. {
  2314.     new MyIP[17];
  2315.     GetPlayerIp(playerid, MyIP, 17);
  2316.     return MyIP;
  2317. }
  2318. stock CheckFile(playerid)
  2319. {
  2320.     new file[64];
  2321.     format(file, 64, "/Users/%s.ini", CheckName(playerid));
  2322.     return file;
  2323. }
  2324. CheckNumber(const string[])
  2325. {
  2326.     for (new i = 0, j = strlen(string); i < j; i++) if (string[i] > '9' || string[i] < '0') return false;
  2327.     return true;
  2328. }
  2329. stock NotIV(playerid) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} The player isn't in a vehicle.");
  2330. stock InvalidID(playerid) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} The player isn't connected.");
  2331. stock AdminError(playerid) return SendClientMessage(playerid, 0xFFFFFF00, "{F2000C}[Error]{FFFFFF} You don't have the permissions to use this command.");
  2332. IsNumeric(const string[])
  2333. {
  2334.     for (new i = 0, j = strlen(string); i < j; i++) if (string[i] > '9' || string[i] < '0') return false;
  2335.     return true;
  2336. }
  2337. stock strrest(const string[], &index)
  2338. {
  2339.     new length = strlen(string);
  2340.     while ((index < length) && (string[index] <= ' ')) index++;
  2341.     new offset = index;
  2342.     new result[128];
  2343.     while ((index < length) && ((index - offset) < (sizeof(result) - 1))) result[index - offset] = string[index], index++;
  2344.     result[index - offset] = EOS;
  2345.     return result;
  2346. }
  2347. stock NoneVehicle(vehicleid)
  2348. {
  2349.     for(new i=0;i<MAX_PLAYERS;i++) if(IsPlayerInVehicle(i,vehicleid)) return true;
  2350.     return false;
  2351. }
  2352. rand(min, max) return random(max - min) + min;
  2353. forward CountDown(playerid);
  2354. public CountDown(playerid)
  2355. {
  2356.     new string[256];
  2357.     CD[playerid]--;
  2358.     if(!CD[playerid]) GameTextForPlayer(playerid, "~g~GO!", 1000, 4), KillTimer(CoD[playerid]), CDS = false;
  2359.     else format(string, 64, "~y~%d", CD[playerid]), GameTextForPlayer(playerid, string, 1000, 4);
  2360.     return true;
  2361. }
  2362. stock IsCodeType(type)
  2363. {
  2364.     new codename[30];
  2365.     switch(type)
  2366.     {
  2367.         case 1: codename = "ëñó";
  2368.         case 2: codename = "ðù÷ øðãåîìé";
  2369.         case 3: codename = "÷ôéöåú øëá";
  2370.         case 4: codename = "îäéøåú øëá";
  2371.         case 5: codename = "â'à÷ ôà÷";
  2372.     }
  2373.     return codename;
  2374. }
  2375. forward SurveyStop();
  2376. public SurveyStop()
  2377. {
  2378.     if(SurveyOn)
  2379.     {
  2380.         new string[128];
  2381.         SurveyOn = false;
  2382.         format(string, 128, "äñ÷ø äñúééí áäöìçä! %d äöáéòå ì'ëï' å %d äöáéòå 'ìà' áñ÷ø æ", YesNo[0], YesNo[1]);
  2383.         SendClientMessageToAll(0xFFFFFF00, string);
  2384.         YesNo[0] = 0, YesNo[1] = 0;
  2385.     }
  2386. }
  2387. stock AddVehicleComponentEx(playerid, vehicleid, comp)
  2388. {
  2389.     VDetails[vehicleid][vWheels] = comp;
  2390.     AddVehicleComponent(vehicleid, comp);
  2391.     GivePlayerMoney(playerid, -500);
  2392. }
  2393. stock CreateNeon(playerid, objectid, text[], message)
  2394. {
  2395.     DestroyObject(VDetails[VehicleID][vNeonUsed_1]);
  2396.     DestroyObject(VDetails[VehicleID][vNeonUsed_2]);
  2397.     VDetails[VehicleID][vNeonUsed_1] = CreateObject(objectid,0,0,0,0,0,0), Neon[playerid][1] = CreateObject(objectid,0,0,0,0,0,0);
  2398.     VDetails[VehicleID][vNeonUsed_2] = CreateObject(objectid,0,0,0,0,0,0), Neon[playerid][1] = CreateObject(objectid,0,0,0,0,0,0);
  2399.     AttachObjectToVehicle(VDetails[VehicleID][vNeonUsed_1], VehicleID, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  2400.     AttachObjectToVehicle(VDetails[VehicleID][vNeonUsed_2], VehicleID, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  2401.     VDetails[VehicleID][vNeon] = objectid;
  2402.     if(message && playerid != 0) SendClientMessage(playerid, 0xFFFFFFAA, text);
  2403. }
  2404. stock CheckVehicle(vehicleid)
  2405. {
  2406.     new vfile[128];
  2407.     format(vfile, 128, "Vehicles/%d.ini", vehicleid);
  2408.     return vfile;
  2409. }
  2410. stock CheckPlayerDistanceToVehicle(Float:radi, playerid, v) //not my, improved by me.
  2411. {
  2412.     new Float:Pos[3], Float:Pos2[3];
  2413.     GetPlayerPos(playerid, Pos2[0], Pos2[1], Pos2[2]);
  2414.     GetVehiclePos(v, Pos[0], Pos[1], Pos[2]);
  2415.     new Float:Distance = (Pos[0]-Pos2[0])*(Pos[0]-Pos2[0])+(Pos[1]-Pos2[1])*(Pos[1]-Pos2[1])+(Pos[2]-Pos2[2])*(Pos[2]-Pos2[2]);
  2416.     if(Distance <= radi*radi) return true;
  2417.     return false;
  2418. }
  2419. stock GetClosestCar(playerid) //not my, improved by me.
  2420. {
  2421.      new Float:prevdist = 100000.000, prevcar;
  2422.      for(new v = 0; v < MAX_VEHICLES; v++)
  2423.      {
  2424.           new Float:dist = GetDistanceToCar(playerid,v);
  2425.           if((dist < prevdist)) prevdist = dist, prevcar = v;
  2426.      }
  2427.      return prevcar;
  2428. }
  2429. stock GetDistanceToCar(playerid, v) //not my, improved by me.
  2430. {
  2431.      new Float:dis, Float:Pos1[3], Float:Pos2[3];
  2432.      GetPlayerPos(playerid, Pos1[0], Pos1[1], Pos1[2]);
  2433.      GetVehiclePos(v, Pos2[0], Pos2[1], Pos2[2]);
  2434.      dis = floatsqroot(floatpower(floatabs(floatsub(Pos2[0], Pos1[0])),2)+floatpower(floatabs(floatsub(Pos2[1], Pos1[1])),2)+floatpower(floatabs(floatsub(Pos2[2], Pos1[2])),2));
  2435.      return floatround(dis);
  2436. }
  2437. stock Update3DText(vehicleid)
  2438. {
  2439.     new string[128];
  2440.     if(VDetails[vehicleid][vAvailable] == 1 && VDetails[vehicleid][vType] == 1) format(string, 128, ".äéðå øëá ìîëéøä %s äøëá\n\r%d :îçéø", vNames[VDetails[vehicleid][vModel]-400], VDetails[vehicleid][vPrice]);
  2441.     else if(VDetails[vehicleid][vAvailable] == 1 && VDetails[vehicleid][vType] == 2) format(string, 128, ".äéðå øëá ìîëéøä %s äøëá\n\r.øëá æä äéðå îéåçã\n\r%d :îçéø", vNames[VDetails[vehicleid][vModel]-400], VDetails[vehicleid][vPrice]);
  2442.     else if(!VDetails[vehicleid][vType]) format(string, 128, ".øëá öéáåøé %s äøëá", vNames[VDetails[vehicleid][vModel]-400]);
  2443.     else if(!VDetails[vehicleid][vAvailable] && VDetails[vehicleid][vType] != 0) format(string, 128, ".%s ááòìåú %s äøëá", VDetails[vehicleid][vOwner], vNames[VDetails[vehicleid][vModel]-400]);
  2444.     Update3DTextLabelText(VehicleText[vehicleid],RandomColors[random(sizeof(RandomColors))], string);
  2445.     Attach3DTextLabelToVehicle(VehicleText[vehicleid],vehicleid,0.0,0.0,0.0);
  2446. }
  2447. strtok(const string[], &index)
  2448. {
  2449.     new length = strlen(string);
  2450.     while ((index < length) && (string[index] <= ' ')) index++;
  2451.     new offset = index, result[20];
  2452.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) result[index - offset] = string[index], index++;
  2453.     result[index - offset] = EOS;
  2454.     return result;
  2455. }
Advertisement
Add Comment
Please, Sign In to add comment