Guest User

Ladmin Ltehal

a guest
Dec 12th, 2014
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 426.08 KB | None | 0 0
  1. #include <a_samp>
  2. #include <lethaldudb2>
  3. #pragma tabsize 0
  4. #pragma dynamic 150000
  5.  
  6. /*
  7. |===============================================|
  8. | --== Shiny Adminscript ==-- |
  9. | -== Version 6.9 ==-- |
  10. | ladmin.pwn |
  11. |===============================================|
  12. */
  13.  
  14. //================================Configuraciones====================================//
  15. #define USE_MENUS // Comment to remove all menus. Uncomment to enable menus
  16. //#define DISPLAY_CONFIG // displays configuration in console window on filterscript load
  17. #define SAVE_LOGS // Comment if your server runs linux (logs wont be saved)
  18. #define ENABLE_SPEC // Comment if you are using a spectate system already
  19. #define USE_STATS // Comment to disable /stats
  20. #define USE_ALL_CMDS // ponerlo enable para si usarlos disable para no
  21. //#define ANTI_MINIGUN // Displays who has a minigun
  22. //#define USE_AREGISTER // Changes /register, /login etc to /areister, /alogin etc
  23. //#define HIDE_ADMINS // Displays number of admins online instead of level and names
  24. #define ENABLE_FAKE_CMDS // Comment to disable /fakechat, /fakedeath, /fakecmd commanads
  25. #define MAX_RCON_ATTEMPS 5
  26. #define EnableTwoRcon false
  27. #define UNBAN 2222
  28. //===================Natives Ocultos Por SA-MP Team============================//
  29. native gpci(playerid, hdserial[], len);
  30. native IsValidVehicle(vehicleid);
  31. //==============================Otras Configuraciones================================//
  32. #define MAX_WARNINGS 3 // /warn command
  33. #define MAX_REPORTS 7
  34. #define MAX_CHAT_LINES 7
  35. #define SPAM_MAX_MSGS 4
  36. #define SPAM_TIMELIMIT 5
  37. #define PING_MAX_EXCEEDS 4
  38. #define MAX_FAIL_LOGINS 6
  39. #define DIALOG_TYPE_RCON2 7004
  40. #define COLOR_ROJO 0xFF0000AA
  41. #define COLOR_LIGREEN 0x9ACD32AA
  42. #define Driver 0
  43. #define Passanger 2
  44. #define MAX_CONNECTIONS_FROM_IP 5
  45. #define MAX_R_ATTEMPTS 3
  46. #define STATUS_SECONDS 15
  47. #define RESET_CHECK 7
  48. #define SegundaRcon "RCON"
  49. #define Nick "User1"
  50. #define NickAutorizado "User2"
  51. //===================================================================================//
  52. new warneded[MAX_PLAYERS];
  53.  
  54. enum IP_DATA
  55. {
  56. IP_ADDRESS[16],
  57. bool:Ignore
  58. };
  59.  
  60. new
  61. IPDATA[MAX_PLAYERS][IP_DATA],
  62. JoinAttempts,
  63. JoinIP[16]
  64. ;
  65.  
  66. new string2[256];
  67. new file[256];
  68. new str[128];
  69. new tmp2[256];
  70. new tmp3[256];
  71.  
  72. // Admin Area
  73. new AdminArea[6] = {
  74. 377, // X
  75. 170, // Y
  76. 1008, // Z
  77. 90, // Angle
  78. 3, // Interior
  79. 0
  80. };
  81.  
  82. new ZonaVip[5] = {
  83. 957,
  84. -55,
  85. 1001,
  86. 280,
  87. 3
  88. };
  89.  
  90.  
  91. //-=Main colours=-
  92. #define blue 0x375FFFFF
  93. #define red 0xFF0000AA
  94. #define green 0x33FF33AA
  95. #define yellow 0xFFFF00AA
  96. #define grey 0xC0C0C0AA
  97. #define blue1 0x2641FEAA
  98. #define lightblue 0x33CCFFAA
  99. #define orange 0xFF9900AA
  100. #define black 0x2C2727AA
  101. #define COLOR_GREEN 0x33AA33AA
  102. #define COLOR_PINK 0xFF66FFAA
  103. #define COLOR_BLUE 0x0000BBAA
  104. #define COLOR_PURPLE 0x800080AA
  105. #define COLOR_BLACK 0x000000AA
  106. #define COLOR_WHITE 0xFFFFFFAA
  107. #define COLOR_GREEN1 0x33AA33AA
  108. #define COLOR_BROWN 0xA52A2AAA
  109. #define COLOR_ORANGE 0xFF8040FF
  110. #define COLOR_YELLOW 0xFFFF00AA
  111. #define COLOR_RED 0xFF0000AA
  112. #define COLOR_WHITE 0xFFFFFFAA
  113. #define LIGHTBLUE2 0x0BBF6AA
  114. #define Verde 0x00FF00FF
  115. #define Rojo 0xFF0000FF
  116. #define Azul 0x33CCFFAA
  117. #define AutosTuning 1123
  118. #define AutosRC 1137
  119. // DCMD
  120. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  121.  
  122. // Caps
  123. #define UpperToLower(%1) for ( new ToLowerChar; ToLowerChar < strlen( %1 ); ToLowerChar ++ ) if ( %1[ ToLowerChar ]> 64 && %1[ ToLowerChar ] < 91 ) %1[ ToLowerChar ] += 32
  124.  
  125. // Spec
  126. #define ADMIN_SPEC_TYPE_NONE 0
  127. #define ADMIN_SPEC_TYPE_PLAYER 1
  128. #define ADMIN_SPEC_TYPE_VEHICLE 2
  129.  
  130.  
  131. // Enums
  132. static bool:OnFly[MAX_PLAYERS];
  133. forward InitFly(playerid);
  134. forward bool:StartFly(playerid);
  135. forward Fly(playerid);
  136. forward bool:StopFly(playerid);
  137. forward static SetPlayerLookAt(playerid,Float:x,Float:y);
  138. new YaUsoNuclear[MAX_PLAYERS];
  139. new BuscadoPorNuclear[MAX_PLAYERS];
  140. new HanDesactivadaoLaBomba[MAX_PLAYERS];
  141.  
  142. enum PlayerData
  143. {
  144. Registered,
  145. LoggedIn,
  146. pVip,
  147. Hide,
  148. Level,
  149. #if EnableTwoRcon == true
  150. MaxRcon,
  151. #endif
  152. Muted,
  153. Caps,
  154. Jailed,
  155. JailTime,
  156. Frozen,
  157. FreezeTime,
  158. Kills,
  159. Deaths,
  160. hours,
  161. mins,
  162. secs,
  163. Experiencia,
  164. TotalTime,
  165. ConnectTime,
  166. MuteWarnings,
  167. Warnings,
  168. Spawned,
  169. TimesSpawned,
  170. God,
  171. GodCar,
  172. DoorsLocked,
  173. SpamCount,
  174. SpamTime,
  175. blip,
  176. blipS,
  177. pColour,
  178. pCar,
  179. SpecID,
  180. SpecType,
  181. bool:AllowedIn,
  182. FailLogin,
  183. };
  184.  
  185. new PlayerInfo[MAX_PLAYERS][PlayerData],
  186. AccType[128],
  187. iColor,
  188. ADpm[MAX_PLAYERS];
  189.  
  190.  
  191. enum ServerData
  192. {
  193. MaxPing,
  194. ReadPMs,
  195. ReadCmds,
  196. MaxAdminLevel,
  197. AdminOnlySkins,
  198. AdminSkin,
  199. AdminSkin2,
  200. NameKick,
  201. PartNameKick,
  202. AntiBot,
  203. AntiSpam,
  204. AntiSwear,
  205. NoCaps,
  206. Locked,
  207. Password[128],
  208. GiveWeap,
  209. GiveMoney,
  210. ConnectMessages,
  211. AdminCmdMsg,
  212. AutoLogin,
  213. MaxMuteWarnings,
  214. DisableChat,
  215. MustLogin,
  216. MustRegister,
  217. };
  218. new ServerInfo[ServerData];
  219.  
  220. new Float:Pos[MAX_PLAYERS][4];
  221. new iytring[128];
  222. new EstaEnFly[MAX_PLAYERS];
  223.  
  224. new NombreI;
  225.  
  226. new HaReportado[MAX_PLAYERS];
  227.  
  228. // rcon
  229. new Chat[MAX_CHAT_LINES][128];
  230.  
  231. //anti bots MAX_IP
  232. new AntiBotts=1;
  233. new AntiFreeScore=1;
  234.  
  235. //Timers
  236. new PingTimer;
  237. //new GodTimer;
  238. new BlipTimer[MAX_PLAYERS];
  239. new JailTimer[MAX_PLAYERS];
  240. new FreezeTimer[MAX_PLAYERS];
  241. new LockKickTimer[MAX_PLAYERS];
  242.  
  243. new CountDown = -1, cdt[MAX_PLAYERS] = -1;
  244. new InDuel[MAX_PLAYERS];
  245. new SaltosBici[MAX_PLAYERS];
  246. new SaltosAuto[MAX_PLAYERS];
  247. new UsarCMD[MAX_PLAYERS];
  248. static iPlayerChatTime[MAX_PLAYERS];
  249.  
  250. // Menus
  251. #if defined USE_MENUS
  252. new Menu:LMainMenu, Menu:AdminEnable, Menu:AdminDisable,
  253. Menu:LVehicles, Menu:twodoor, Menu:fourdoor, Menu:fastcar, Menu:Othercars,
  254. Menu:bikes, Menu:boats, Menu:planes, Menu:helicopters,
  255. Menu:XWeapons, Menu:XWeaponsBig, Menu:XWeaponsSmall, Menu:XWeaponsMore,
  256. Menu:LWeather,Menu:LTime,
  257. Menu:LTuneMenu, Menu:PaintMenu, Menu:LCars, Menu:LCars2,
  258. Menu:LTele, Menu:LasVenturasMenu, Menu:LosSantosMenu, Menu:SanFierroMenu,
  259. Menu:DesertMenu, Menu:FlintMenu, Menu:MountChiliadMenu, Menu:InteriorsMenu;
  260. #endif
  261.  
  262. // Forbidden Names & Words
  263. new BadNames[100][100], // Whole Names
  264. BadNameCount = 0,
  265. BadPartNames[100][100], // Part of name
  266. BadPartNameCount = 0,
  267. ForbiddenWords[100][100],
  268. ForbiddenWordCount = 0;
  269.  
  270. new XDeaths[MAX_PLAYERS];
  271. new LastDeath[MAX_PLAYERS];
  272.  
  273. // Report
  274. new Reports[MAX_REPORTS][128];
  275.  
  276. //==================================NEWS========================================
  277.  
  278. new VehicleNames[212][] = {
  279. "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus",
  280. "Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
  281. "Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
  282. "Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
  283. "Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
  284. "Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina",
  285. "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
  286. "Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring Racer A","Hotring Racer B",
  287. "Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain",
  288. "Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
  289. "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover",
  290. "Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A",
  291. "Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
  292. "Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
  293. "Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)",
  294. "Police Car (LVPD)","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
  295. "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  296. };
  297.  
  298. new legalmods[48][22] = {
  299. {400, 1024,1021,1020,1019,1018,1013,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  300. {401, 1145,1144,1143,1142,1020,1019,1017,1013,1007,1006,1005,1004,1003,1001,0000,0000,0000,0000},
  301. {404, 1021,1020,1019,1017,1016,1013,1007,1002,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  302. {405, 1023,1021,1020,1019,1018,1014,1001,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  303. {410, 1024,1023,1021,1020,1019,1017,1013,1007,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000},
  304. {415, 1023,1019,1018,1017,1007,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  305. {418, 1021,1020,1016,1006,1002,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  306. {420, 1021,1019,1005,1004,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  307. {421, 1023,1021,1020,1019,1018,1016,1014,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  308. {422, 1021,1020,1019,1017,1013,1007,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  309. {426, 1021,1019,1006,1005,1004,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  310. {436, 1022,1021,1020,1019,1017,1013,1007,1006,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000},
  311. {439, 1145,1144,1143,1142,1023,1017,1013,1007,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000},
  312. {477, 1021,1020,1019,1018,1017,1007,1006,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  313. {478, 1024,1022,1021,1020,1013,1012,1005,1004,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  314. {489, 1024,1020,1019,1018,1016,1013,1006,1005,1004,1002,1000,0000,0000,0000,0000,0000,0000,0000},
  315. {491, 1145,1144,1143,1142,1023,1021,1020,1019,1018,1017,1014,1007,1003,0000,0000,0000,0000,0000},
  316. {492, 1016,1006,1005,1004,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  317. {496, 1143,1142,1023,1020,1019,1017,1011,1007,1006,1003,1002,1001,0000,0000,0000,0000,0000,0000},
  318. {500, 1024,1021,1020,1019,1013,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  319. {516, 1021,1020,1019,1018,1017,1016,1015,1007,1004,1002,1000,0000,0000,0000,0000,0000,0000,0000},
  320. {517, 1145,1144,1143,1142,1023,1020,1019,1018,1017,1016,1007,1003,1002,0000,0000,0000,0000,0000},
  321. {518, 1145,1144,1143,1142,1023,1020,1018,1017,1013,1007,1006,1005,1003,1001,0000,0000,0000,0000},
  322. {527, 1021,1020,1018,1017,1015,1014,1007,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  323. {529, 1023,1020,1019,1018,1017,1012,1011,1007,1006,1003,1001,0000,0000,0000,0000,0000,0000,0000},
  324. {534, 1185,1180,1179,1178,1127,1126,1125,1124,1123,1122,1106,1101,1100,0000,0000,0000,0000,0000},
  325. {535, 1121,1120,1119,1118,1117,1116,1115,1114,1113,1110,1109,0000,0000,0000,0000,0000,0000,0000},
  326. {536, 1184,1183,1182,1181,1128,1108,1107,1105,1104,1103,0000,0000,0000,0000,0000,0000,0000,0000},
  327. {540, 1145,1144,1143,1142,1024,1023,1020,1019,1018,1017,1007,1006,1004,1001,0000,0000,0000,0000},
  328. {542, 1145,1144,1021,1020,1019,1018,1015,1014,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  329. {546, 1145,1144,1143,1142,1024,1023,1019,1018,1017,1007,1006,1004,1002,1001,0000,0000,0000,0000},
  330. {547, 1143,1142,1021,1020,1019,1018,1016,1003,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  331. {549, 1145,1144,1143,1142,1023,1020,1019,1018,1017,1012,1011,1007,1003,1001,0000,0000,0000,0000},
  332. {550, 1145,1144,1143,1142,1023,1020,1019,1018,1006,1005,1004,1003,1001,0000,0000,0000,0000,0000},
  333. {551, 1023,1021,1020,1019,1018,1016,1006,1005,1003,1002,0000,0000,0000,0000,0000,0000,0000,0000},
  334. {558, 1168,1167,1166,1165,1164,1163,1095,1094,1093,1092,1091,1090,1089,1088,0000,0000,0000,0000},
  335. {559, 1173,1162,1161,1160,1159,1158,1072,1071,1070,1069,1068,1067,1066,1065,0000,0000,0000,0000},
  336. {560, 1170,1169,1141,1140,1139,1138,1033,1032,1031,1030,1029,1028,1027,1026,0000,0000,0000,0000},
  337. {561, 1157,1156,1155,1154,1064,1063,1062,1061,1060,1059,1058,1057,1056,1055,1031,1030,1027,1026},
  338. {562, 1172,1171,1149,1148,1147,1146,1041,1040,1039,1038,1037,1036,1035,1034,0000,0000,0000,0000},
  339. {565, 1153,1152,1151,1150,1054,1053,1052,1051,1050,1049,1048,1047,1046,1045,0000,0000,0000,0000},
  340. {567, 1189,1188,1187,1186,1133,1132,1131,1130,1129,1102,0000,0000,0000,0000,0000,0000,0000,0000},
  341. {575, 1177,1176,1175,1174,1099,1044,1043,1042,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  342. {576, 1193,1192,1191,1190,1137,1136,1135,1134,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  343. {580, 1023,1020,1018,1017,1007,1006,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  344. {589, 1145,1144,1024,1020,1018,1017,1016,1013,1007,1006,1005,1004,1000,0000,0000,0000,0000,0000},
  345. {600, 1022,1020,1018,1017,1013,1007,1006,1005,1004,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  346. {603, 1145,1144,1143,1142,1024,1023,1020,1019,1018,1017,1007,1006,1001,0000,0000,0000,0000,0000}
  347. };
  348.  
  349. forward MessageToPlayerVIP(color,const string[]);
  350. forward SaltosBiciTimer(playerid);
  351.  
  352.  
  353.  
  354. //==============================================================================
  355.  
  356. public OnFilterScriptInit()
  357. {
  358. if(!fexist("ladmin/"))
  359. {
  360. print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
  361. SetTimerEx("PrintWarning",2500,0,"s","ladmin");
  362. return 1;
  363. }
  364. if(!fexist("ladmin/logs/"))
  365. {
  366. print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
  367. SetTimerEx("PrintWarning",2500,0,"s","ladmin/logs");
  368. return 1;
  369. }
  370. if(!fexist("ladmin/config/"))
  371. {
  372. print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
  373. SetTimerEx("PrintWarning",2500,0,"s","ladmin/config");
  374. return 1;
  375. }
  376. if(!fexist("ladmin/users/"))
  377. {
  378. print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
  379. SetTimerEx("PrintWarning",2500,0,"s","ladmin/users");
  380. return 1;
  381. }
  382.  
  383. UpdateConfig();
  384.  
  385. #if defined DISPLAY_CONFIG
  386. ConfigInConsole();
  387. #endif
  388.  
  389. //===================== [ The Menus ]===========================//
  390. #if defined USE_MENUS
  391.  
  392. LMainMenu = CreateMenu("Main Menu", 2, 55.0, 200.0, 100.0, 80.0);
  393. SetMenuColumnHeader(LMainMenu, 0, "Choose an option below");
  394. AddMenuItem(LMainMenu, 0, "Enable");
  395. AddMenuItem(LMainMenu, 0, "Disable");
  396. AddMenuItem(LMainMenu, 0, "Server Weather");
  397. AddMenuItem(LMainMenu, 0, "Server Time");
  398. AddMenuItem(LMainMenu, 0, "All Vehicles");
  399. AddMenuItem(LMainMenu, 0, "Admin Cars");
  400. AddMenuItem(LMainMenu, 0, "Tuning Menu");
  401. AddMenuItem(LMainMenu, 0, "Choose Weapon");
  402. AddMenuItem(LMainMenu, 0, "Teleports");
  403. AddMenuItem(LMainMenu, 0, "Exit Menu");//
  404.  
  405. AdminEnable = CreateMenu("~b~Configuration ~g~ Menu",2, 55.0, 200.0, 150.0, 80.0);
  406. SetMenuColumnHeader(AdminEnable, 0, "Enable");
  407. AddMenuItem(AdminEnable, 0, "Anti Swear");
  408. AddMenuItem(AdminEnable, 0, "Bad Name Kick");
  409. AddMenuItem(AdminEnable, 0, "Anti Spam");
  410. AddMenuItem(AdminEnable, 0, "Ping Kick");
  411. AddMenuItem(AdminEnable, 0, "Read Cmds");
  412. AddMenuItem(AdminEnable, 0, "Read PMs");
  413. AddMenuItem(AdminEnable, 0, "Capital Letters");
  414. AddMenuItem(AdminEnable, 0, "ConnectMessages");
  415. AddMenuItem(AdminEnable, 0, "AdminCmdMessages");
  416. AddMenuItem(AdminEnable, 0, "Auto Login");
  417. AddMenuItem(AdminEnable, 0, "Return");
  418.  
  419. AdminDisable = CreateMenu("~b~Configuration ~g~ Menu",2, 55.0, 200.0, 150.0, 80.0);
  420. SetMenuColumnHeader(AdminDisable, 0, "Disable");
  421. AddMenuItem(AdminDisable, 0, "Anti Swear");
  422. AddMenuItem(AdminDisable, 0, "Bad Name Kick");
  423. AddMenuItem(AdminDisable, 0, "Anti Spam");
  424. AddMenuItem(AdminDisable, 0, "Ping Kick");
  425. AddMenuItem(AdminDisable, 0, "Read Cmds");
  426. AddMenuItem(AdminDisable, 0, "Read PMs");
  427. AddMenuItem(AdminDisable, 0, "Capital Letters");
  428. AddMenuItem(AdminDisable, 0, "ConnectMessages");
  429. AddMenuItem(AdminDisable, 0, "AdminCmdMessages");
  430. AddMenuItem(AdminDisable, 0, "Auto Login");
  431. AddMenuItem(AdminDisable, 0, "Return");
  432.  
  433. LWeather = CreateMenu("~b~Weather ~g~ Menu",2, 55.0, 200.0, 100.0, 80.0);
  434. SetMenuColumnHeader(LWeather, 0, "Set Weather");
  435. AddMenuItem(LWeather, 0, "Clear Blue Sky");
  436. AddMenuItem(LWeather, 0, "Sand Storm");
  437. AddMenuItem(LWeather, 0, "Thunderstorm");
  438. AddMenuItem(LWeather, 0, "Foggy");
  439. AddMenuItem(LWeather, 0, "Cloudy");
  440. AddMenuItem(LWeather, 0, "High Tide");
  441. AddMenuItem(LWeather, 0, "Purple Sky");
  442. AddMenuItem(LWeather, 0, "Black/White Sky");
  443. AddMenuItem(LWeather, 0, "Dark, Green Sky");
  444. AddMenuItem(LWeather, 0, "Heatwave");
  445. AddMenuItem(LWeather,0,"Return");
  446.  
  447. LTime = CreateMenu("~b~Time ~g~ Menu", 2, 55.0, 200.0, 100.0, 80.0);
  448. SetMenuColumnHeader(LTime, 0, "Set Time");
  449. AddMenuItem(LTime, 0, "Morning");
  450. AddMenuItem(LTime, 0, "Mid day");
  451. AddMenuItem(LTime, 0, "Afternoon");
  452. AddMenuItem(LTime, 0, "Evening");
  453. AddMenuItem(LTime, 0, "Midnight");
  454. AddMenuItem(LTime, 0, "Return");
  455.  
  456. LCars = CreateMenu("~b~LethaL ~g~Cars", 2, 55.0, 150.0, 100.0, 80.0);
  457. SetMenuColumnHeader(LCars, 0, "Choose a car");
  458. AddMenuItem(LCars, 0, "Turismo");
  459. AddMenuItem(LCars, 0, "Bandito");
  460. AddMenuItem(LCars, 0, "Vortex");
  461. AddMenuItem(LCars, 0, "NRG");
  462. AddMenuItem(LCars, 0, "S.W.A.T");
  463. AddMenuItem(LCars, 0, "Hunter");
  464. AddMenuItem(LCars, 0, "Jetmax (boat)");
  465. AddMenuItem(LCars, 0, "Rhino");
  466. AddMenuItem(LCars, 0, "Monster Truck");
  467. AddMenuItem(LCars, 0, "Sea Sparrow");
  468. AddMenuItem(LCars, 0, "More");
  469. AddMenuItem(LCars, 0, "Return");
  470.  
  471. LCars2 = CreateMenu("~b~LethaL ~g~Cars", 2, 55.0, 150.0, 100.0, 80.0);
  472. SetMenuColumnHeader(LCars2, 0, "Choose a car");
  473. AddMenuItem(LCars2, 0, "Dumper");
  474. AddMenuItem(LCars2, 0, "RC Tank");
  475. AddMenuItem(LCars2, 0, "RC Bandit");
  476. AddMenuItem(LCars2, 0, "RC Baron");
  477. AddMenuItem(LCars2, 0, "RC Goblin");
  478. AddMenuItem(LCars2, 0, "RC Raider");
  479. AddMenuItem(LCars2, 0, "RC Cam");
  480. AddMenuItem(LCars2, 0, "Tram");
  481. AddMenuItem(LCars2, 0, "Return");
  482.  
  483. LTuneMenu = CreateMenu("~b~Tuning ~g~ Menu",2, 55.0, 200.0, 100.0, 80.0);
  484. SetMenuColumnHeader(LTuneMenu, 0, "Add to car");
  485. AddMenuItem(LTuneMenu,0,"NOS");
  486. AddMenuItem(LTuneMenu,0,"Hydraulics");
  487. AddMenuItem(LTuneMenu,0,"Wire Wheels");
  488. AddMenuItem(LTuneMenu,0,"Twist Wheels");
  489. AddMenuItem(LTuneMenu,0,"Access Wheels");
  490. AddMenuItem(LTuneMenu,0,"Mega Wheels");
  491. AddMenuItem(LTuneMenu,0,"Import Wheels");
  492. AddMenuItem(LTuneMenu,0,"Atomic Wheels");
  493. AddMenuItem(LTuneMenu,0,"Offroad Wheels");
  494. AddMenuItem(LTuneMenu,0,"Classic Wheels");
  495. AddMenuItem(LTuneMenu,0,"Paint Jobs");
  496. AddMenuItem(LTuneMenu,0,"Return");
  497.  
  498. PaintMenu = CreateMenu("~b~Paint Job ~g~ Menu",2, 55.0, 200.0, 100.0, 80.0);
  499. SetMenuColumnHeader(PaintMenu, 0, "Choose paint");
  500. AddMenuItem(PaintMenu,0,"Paint Job 1");
  501. AddMenuItem(PaintMenu,0,"Paint Job 2");
  502. AddMenuItem(PaintMenu,0,"Paint Job 3");
  503. AddMenuItem(PaintMenu,0,"Paint Job 4");
  504. AddMenuItem(PaintMenu,0,"Paint Job 5");
  505. AddMenuItem(PaintMenu,0,"Black");
  506. AddMenuItem(PaintMenu,0,"White");
  507. AddMenuItem(PaintMenu,0,"Blue");
  508. AddMenuItem(PaintMenu,0,"Pink");
  509. AddMenuItem(PaintMenu,0,"Return");
  510.  
  511. LVehicles = CreateMenu("~b~Vehicles ~g~ Menu",2, 55.0, 200.0, 100.0, 80.0);
  512. SetMenuColumnHeader(LVehicles, 0, "Choose a car");
  513. AddMenuItem(LVehicles,0,"2-door Cars");
  514. AddMenuItem(LVehicles,0,"4-door Cars");
  515. AddMenuItem(LVehicles,0,"Fast Cars");
  516. AddMenuItem(LVehicles,0,"Other Vehicles");
  517. AddMenuItem(LVehicles,0,"Bikes");
  518. AddMenuItem(LVehicles,0,"Boats");
  519. AddMenuItem(LVehicles,0,"Planes");
  520. AddMenuItem(LVehicles,0,"Helicopters");
  521. AddMenuItem(LVehicles,0,"Return");
  522.  
  523. twodoor = CreateMenu("~b~2-door Cars",2, 55.0, 200.0, 100.0, 80.0);
  524. SetMenuColumnHeader(twodoor, 0, "Choose a car");
  525. AddMenuItem(twodoor,0,"Feltzer");//533
  526. AddMenuItem(twodoor,0,"Stallion");//139
  527. AddMenuItem(twodoor,0,"Windsor");//555
  528. AddMenuItem(twodoor,0,"Bobcat");//422
  529. AddMenuItem(twodoor,0,"Yosemite");//554
  530. AddMenuItem(twodoor,0,"Broadway");//575
  531. AddMenuItem(twodoor,0,"Blade");//536
  532. AddMenuItem(twodoor,0,"Slamvan");//535
  533. AddMenuItem(twodoor,0,"Tornado");//576
  534. AddMenuItem(twodoor,0,"Bravura");//401
  535. AddMenuItem(twodoor,0,"Fortune");//526
  536. AddMenuItem(twodoor,0,"Return");
  537.  
  538. fourdoor = CreateMenu("~b~4-door Cars",2, 55.0, 200.0, 100.0, 80.0);
  539. SetMenuColumnHeader(fourdoor, 0, "Choose a car");
  540. AddMenuItem(fourdoor,0,"Perenniel");//404
  541. AddMenuItem(fourdoor,0,"Tahoma");//566
  542. AddMenuItem(fourdoor,0,"Voodoo");//412
  543. AddMenuItem(fourdoor,0,"Admiral");//445
  544. AddMenuItem(fourdoor,0,"Elegant");//507
  545. AddMenuItem(fourdoor,0,"Glendale");//466
  546. AddMenuItem(fourdoor,0,"Intruder");//546
  547. AddMenuItem(fourdoor,0,"Merit");//551
  548. AddMenuItem(fourdoor,0,"Oceanic");//467
  549. AddMenuItem(fourdoor,0,"Premier");//426
  550. AddMenuItem(fourdoor,0,"Sentinel");//405
  551. AddMenuItem(fourdoor,0,"Return");
  552.  
  553. fastcar = CreateMenu("~b~Fast Cars",2, 55.0, 200.0, 100.0, 80.0);
  554. SetMenuColumnHeader(fastcar, 0, "Choose a car");
  555. AddMenuItem(fastcar,0,"Comet");//480
  556. AddMenuItem(fastcar,0,"Buffalo");//402
  557. AddMenuItem(fastcar,0,"Cheetah");//415
  558. AddMenuItem(fastcar,0,"Euros");//587
  559. AddMenuItem(fastcar,0,"Hotring Racer");//494
  560. AddMenuItem(fastcar,0,"Infernus");//411
  561. AddMenuItem(fastcar,0,"Phoenix");//603
  562. AddMenuItem(fastcar,0,"Super GT");//506
  563. AddMenuItem(fastcar,0,"Turismo");//451
  564. AddMenuItem(fastcar,0,"ZR-350");//477
  565. AddMenuItem(fastcar,0,"Bullet");//541
  566. AddMenuItem(fastcar,0,"Return");
  567.  
  568. Othercars = CreateMenu("~b~Other Vehicles",2, 55.0, 200.0, 100.0, 80.0);
  569. SetMenuColumnHeader(Othercars, 0, "Choose a car?");
  570. AddMenuItem(Othercars,0,"Monster Truck");//556
  571. AddMenuItem(Othercars,0,"Trashmaster");//408
  572. AddMenuItem(Othercars,0,"Bus");//431
  573. AddMenuItem(Othercars,0,"Coach");//437
  574. AddMenuItem(Othercars,0,"Enforcer");//427
  575. AddMenuItem(Othercars,0,"Rhino (Tank)");//432
  576. AddMenuItem(Othercars,0,"S.W.A.T.Truck");//601
  577. AddMenuItem(Othercars,0,"Cement Truck");//524
  578. AddMenuItem(Othercars,0,"Flatbed");//455
  579. AddMenuItem(Othercars,0,"BF Injection");//424
  580. AddMenuItem(Othercars,0,"Dune");//573
  581. AddMenuItem(Othercars,0,"Return");
  582.  
  583. bikes = CreateMenu("~b~Bikes",2, 55.0, 200.0, 100.0, 80.0);
  584. SetMenuColumnHeader(bikes, 0, "Choose a bike");
  585. AddMenuItem(bikes,0,"BF-400");
  586. AddMenuItem(bikes,0,"BMX");
  587. AddMenuItem(bikes,0,"Faggio");
  588. AddMenuItem(bikes,0,"FCR-900");
  589. AddMenuItem(bikes,0,"Freeway");
  590. AddMenuItem(bikes,0,"NRG-500");
  591. AddMenuItem(bikes,0,"PCJ-600");
  592. AddMenuItem(bikes,0,"Pizzaboy");
  593. AddMenuItem(bikes,0,"Quad");
  594. AddMenuItem(bikes,0,"Sanchez");
  595. AddMenuItem(bikes,0,"Wayfarer");
  596. AddMenuItem(bikes,0,"Return");
  597.  
  598. boats = CreateMenu("~b~Boats",2, 55.0, 200.0, 100.0, 80.0);
  599. SetMenuColumnHeader(boats, 0, "Choose a boat");
  600. AddMenuItem(boats,0,"Coastguard");//472
  601. AddMenuItem(boats,0,"Dingy");//473
  602. AddMenuItem(boats,0,"Jetmax");//493
  603. AddMenuItem(boats,0,"Launch");//595
  604. AddMenuItem(boats,0,"Marquis");//484
  605. AddMenuItem(boats,0,"Predator");//430
  606. AddMenuItem(boats,0,"Reefer");//453
  607. AddMenuItem(boats,0,"Speeder");//452
  608. AddMenuItem(boats,0,"Squallo");//446
  609. AddMenuItem(boats,0,"Tropic");//454
  610. AddMenuItem(boats,0,"Return");
  611.  
  612. planes = CreateMenu("~b~Planes",2, 55.0, 200.0, 100.0, 80.0);
  613. SetMenuColumnHeader(planes, 0, "Choose a plane");
  614. AddMenuItem(planes,0,"Andromada");//592
  615. AddMenuItem(planes,0,"AT400");//577
  616. AddMenuItem(planes,0,"Beagle");//511
  617. AddMenuItem(planes,0,"Cropduster");//512
  618. AddMenuItem(planes,0,"Dodo");//593
  619. AddMenuItem(planes,0,"Hydra");//520
  620. AddMenuItem(planes,0,"Nevada");//553
  621. AddMenuItem(planes,0,"Rustler");//476
  622. AddMenuItem(planes,0,"Shamal");//519
  623. AddMenuItem(planes,0,"Skimmer");//460
  624. AddMenuItem(planes,0,"Stuntplane");//513
  625. AddMenuItem(planes,0,"Return");
  626.  
  627. helicopters = CreateMenu("~b~Helicopters",2, 55.0, 200.0, 100.0, 80.0);
  628. SetMenuColumnHeader(helicopters, 0, "Choose a helicopter");
  629. AddMenuItem(helicopters,0,"Cargobob");//
  630. AddMenuItem(helicopters,0,"Hunter");//
  631. AddMenuItem(helicopters,0,"Leviathan");//
  632. AddMenuItem(helicopters,0,"Maverick");//
  633. AddMenuItem(helicopters,0,"News Chopper");//
  634. AddMenuItem(helicopters,0,"Police Maverick");//
  635. AddMenuItem(helicopters,0,"Raindance");//
  636. AddMenuItem(helicopters,0,"Seasparrow");//
  637. AddMenuItem(helicopters,0,"Sparrow");//
  638. AddMenuItem(helicopters,0,"Return");
  639.  
  640. XWeapons = CreateMenu("~b~Weapons ~g~Main Menu",2, 55.0, 200.0, 100.0, 80.0);
  641. SetMenuColumnHeader(XWeapons, 0, "Choose a weapon");
  642. AddMenuItem(XWeapons,0,"Desert Eagle");//0
  643. AddMenuItem(XWeapons,0,"M4");
  644. AddMenuItem(XWeapons,0,"Sawnoff Shotgun");
  645. AddMenuItem(XWeapons,0,"Combat Shotgun");
  646. AddMenuItem(XWeapons,0,"UZI");
  647. AddMenuItem(XWeapons,0,"Rocket Launcher");
  648. AddMenuItem(XWeapons,0,"Minigun");//6
  649. AddMenuItem(XWeapons,0,"Sniper Rifle");
  650. AddMenuItem(XWeapons,0,"Big Weapons");
  651. AddMenuItem(XWeapons,0,"Small Weapons");//9
  652. AddMenuItem(XWeapons,0,"More");
  653. AddMenuItem(XWeapons,0,"Return");//11
  654.  
  655. XWeaponsBig = CreateMenu("~b~Weapons ~g~Big Weapons",2, 55.0, 200.0, 100.0, 80.0);
  656. SetMenuColumnHeader(XWeaponsBig, 0, "Choose a weapon");
  657. AddMenuItem(XWeaponsBig,0,"Shotgun");
  658. AddMenuItem(XWeaponsBig,0,"AK-47");
  659. AddMenuItem(XWeaponsBig,0,"Country Rifle");
  660. AddMenuItem(XWeaponsBig,0,"HS Rocket Launcher");
  661. AddMenuItem(XWeaponsBig,0,"Flamethrower");
  662. AddMenuItem(XWeaponsBig,0,"SMG");
  663. AddMenuItem(XWeaponsBig,0,"TEC9");
  664. AddMenuItem(XWeaponsBig,0,"Return");
  665.  
  666. XWeaponsSmall = CreateMenu("~b~Weapons ~g~Small Weapons",2, 55.0, 200.0, 100.0, 80.0);
  667. SetMenuColumnHeader(XWeaponsBig, 0, "Choose a weapon");
  668. AddMenuItem(XWeaponsSmall,0,"9mm");
  669. AddMenuItem(XWeaponsSmall,0,"Silenced 9mm");
  670. AddMenuItem(XWeaponsSmall,0,"Molotov Cocktail");
  671. AddMenuItem(XWeaponsSmall,0,"Fire Extinguisher");
  672. AddMenuItem(XWeaponsSmall,0,"Spraycan");
  673. AddMenuItem(XWeaponsSmall,0,"Frag Grenades");
  674. AddMenuItem(XWeaponsSmall,0,"Katana");
  675. AddMenuItem(XWeaponsSmall,0,"Chainsaw");
  676. AddMenuItem(XWeaponsSmall,0,"Return");
  677.  
  678. XWeaponsMore = CreateMenu("~b~Weapons ~g~More Weapons",2, 55.0, 200.0, 100.0, 80.0);
  679. SetMenuColumnHeader(XWeaponsBig, 0, "Choose a weapon");
  680. AddMenuItem(XWeaponsMore,0,"Jetpack");
  681. AddMenuItem(XWeaponsMore,0,"Knife");
  682. AddMenuItem(XWeaponsMore,0,"Flowers");
  683. AddMenuItem(XWeaponsMore,0,"Camera");
  684. AddMenuItem(XWeaponsMore,0,"Pool Cue");
  685. AddMenuItem(XWeaponsMore,0,"Baseball Bat");
  686. AddMenuItem(XWeaponsMore,0,"Golf Club");
  687. AddMenuItem(XWeaponsMore,0,"MAX AMMO");
  688. AddMenuItem(XWeaponsMore,0,"Return");
  689.  
  690. LTele = CreateMenu("Teleports", 2, 55.0, 200.0, 100.0, 80.0);
  691. SetMenuColumnHeader(LTele, 0, "Teleport to where?");
  692. AddMenuItem(LTele, 0, "Las Venturas");//0
  693. AddMenuItem(LTele, 0, "Los Santos");//1
  694. AddMenuItem(LTele, 0, "San Fierro");//2
  695. AddMenuItem(LTele, 0, "The Desert");//3
  696. AddMenuItem(LTele, 0, "Flint Country");//4
  697. AddMenuItem(LTele, 0, "Mount Chiliad");//5
  698. AddMenuItem(LTele, 0, "Interiors");//6
  699. AddMenuItem(LTele, 0, "Return");//8
  700.  
  701. LasVenturasMenu = CreateMenu("Las Venturas", 2, 55.0, 200.0, 100.0, 80.0);
  702. SetMenuColumnHeader(LasVenturasMenu, 0, "Teleport to where?");
  703. AddMenuItem(LasVenturasMenu, 0, "The Strip");//0
  704. AddMenuItem(LasVenturasMenu, 0, "Come-A-Lot");//1
  705. AddMenuItem(LasVenturasMenu, 0, "LV Airport");//2
  706. AddMenuItem(LasVenturasMenu, 0, "KACC Military Fuels");//3
  707. AddMenuItem(LasVenturasMenu, 0, "Yellow Bell Golf Club");//4
  708. AddMenuItem(LasVenturasMenu, 0, "Baseball Pitch");//5
  709. AddMenuItem(LasVenturasMenu, 0, "Return");//6
  710.  
  711. LosSantosMenu = CreateMenu("Los Santos", 2, 55.0, 200.0, 100.0, 80.0);
  712. SetMenuColumnHeader(LosSantosMenu, 0, "Teleport to where?");
  713. AddMenuItem(LosSantosMenu, 0, "Ganton");//0
  714. AddMenuItem(LosSantosMenu, 0, "LS Airport");//1
  715. AddMenuItem(LosSantosMenu, 0, "Ocean Docks");//2
  716. AddMenuItem(LosSantosMenu, 0, "Pershing Square");//3
  717. AddMenuItem(LosSantosMenu, 0, "Verdant Bluffs");//4
  718. AddMenuItem(LosSantosMenu, 0, "Santa Maria Beach");//5
  719. AddMenuItem(LosSantosMenu, 0, "Mulholland");//6
  720. AddMenuItem(LosSantosMenu, 0, "Richman");//7
  721. AddMenuItem(LosSantosMenu, 0, "Return");//8
  722.  
  723. SanFierroMenu = CreateMenu("San Fierro", 2, 55.0, 200.0, 100.0, 80.0);
  724. SetMenuColumnHeader(SanFierroMenu, 0, "Teleport to where?");
  725. AddMenuItem(SanFierroMenu, 0, "SF Station");//0
  726. AddMenuItem(SanFierroMenu, 0, "SF Airport");//1
  727. AddMenuItem(SanFierroMenu, 0, "Ocean Flats");//2
  728. AddMenuItem(SanFierroMenu, 0, "Avispa Country Club");//3
  729. AddMenuItem(SanFierroMenu, 0, "Easter Basin (docks)");//4
  730. AddMenuItem(SanFierroMenu, 0, "Esplanade North");//5
  731. AddMenuItem(SanFierroMenu, 0, "Battery Point");//6
  732. AddMenuItem(SanFierroMenu, 0, "Return");//7
  733.  
  734. DesertMenu = CreateMenu("The Desert", 2, 55.0, 200.0, 100.0, 80.0);
  735. SetMenuColumnHeader(DesertMenu, 0, "Teleport to where?");
  736. AddMenuItem(DesertMenu, 0, "Aircraft Graveyard");//0
  737. AddMenuItem(DesertMenu, 0, "Area 51");//1
  738. AddMenuItem(DesertMenu, 0, "The Big Ear");//2
  739. AddMenuItem(DesertMenu, 0, "The Sherman Dam");//3
  740. AddMenuItem(DesertMenu, 0, "Las Barrancas");//4
  741. AddMenuItem(DesertMenu, 0, "El Quebrados");//5
  742. AddMenuItem(DesertMenu, 0, "Octane Springs");//6
  743. AddMenuItem(DesertMenu, 0, "Return");//7
  744.  
  745. FlintMenu = CreateMenu("Flint Country", 2, 55.0, 200.0, 100.0, 80.0);
  746. SetMenuColumnHeader(FlintMenu, 0, "Teleport to where?");
  747. AddMenuItem(FlintMenu, 0, "The Lake");//0
  748. AddMenuItem(FlintMenu, 0, "Leafy Hollow");//1
  749. AddMenuItem(FlintMenu, 0, "The Farm");//2
  750. AddMenuItem(FlintMenu, 0, "Shady Cabin");//3
  751. AddMenuItem(FlintMenu, 0, "Flint Range");//4
  752. AddMenuItem(FlintMenu, 0, "Becon Hill");//5
  753. AddMenuItem(FlintMenu, 0, "Fallen Tree");//6
  754. AddMenuItem(FlintMenu, 0, "Return");//7
  755.  
  756. MountChiliadMenu = CreateMenu("Mount Chiliad", 2, 55.0, 200.0, 100.0, 80.0);
  757. SetMenuColumnHeader(MountChiliadMenu, 0, "Teleport to where?");
  758. AddMenuItem(MountChiliadMenu, 0, "Chiliad Jump");//0
  759. AddMenuItem(MountChiliadMenu, 0, "Bottom Of Chiliad");//1
  760. AddMenuItem(MountChiliadMenu, 0, "Highest Point");//2
  761. AddMenuItem(MountChiliadMenu, 0, "Chiliad Path");//3
  762. AddMenuItem(MountChiliadMenu, 0, "Return");//7
  763.  
  764. InteriorsMenu = CreateMenu("Interiors", 2, 55.0, 200.0, 130.0, 80.0);
  765. SetMenuColumnHeader(InteriorsMenu, 0, "Teleport to where?");
  766. AddMenuItem(InteriorsMenu, 0, "Planning Department");//0
  767. AddMenuItem(InteriorsMenu, 0, "LV PD");//1
  768. AddMenuItem(InteriorsMenu, 0, "Pizza Stack");//2
  769. AddMenuItem(InteriorsMenu, 0, "RC Battlefield");//3
  770. AddMenuItem(InteriorsMenu, 0, "Caligula's Casino");//4
  771. AddMenuItem(InteriorsMenu, 0, "Big Smoke's Crack Palace");//5
  772. AddMenuItem(InteriorsMenu, 0, "Madd Dogg's Mansion");//6
  773. AddMenuItem(InteriorsMenu, 0, "Dirtbike Stadium");//7
  774. AddMenuItem(InteriorsMenu, 0, "Vice Stadium (duel)");//8
  775. AddMenuItem(InteriorsMenu, 0, "Ammu-nation");//9
  776. AddMenuItem(InteriorsMenu, 0, "Atrium");//7
  777. AddMenuItem(InteriorsMenu, 0, "Return");//8
  778. #endif
  779.  
  780. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) OnPlayerConnect(i);
  781. for(new i = 1; i < MAX_CHAT_LINES; i++) Chat[i] = "<none>";
  782. for(new i = 1; i < MAX_REPORTS; i++) Reports[i] = "<none>";
  783.  
  784. PingTimer = SetTimer("PingKick",5000,1);
  785.  
  786. return 1;
  787. }
  788.  
  789. //==============================================================================
  790. public OnFilterScriptExit()
  791. {
  792. KillTimer(PingTimer);
  793. #if defined USE_MENUS
  794. DestroyAllMenus();
  795. #endif
  796.  
  797. }
  798. //==============================================================================
  799. public OnPlayerConnect(playerid)
  800. {
  801. new pame[MAX_PLAYER_NAME];
  802. GetPlayerName(playerid, pame, sizeof(pame));
  803. new connecting_ip[32+1];
  804. GetPlayerIp(playerid,connecting_ip,32);
  805. new num_players_on_ip = GetNumberOfPlayersOnThisIP(connecting_ip);
  806.  
  807. if(!strcmp("con",pame,true) || !strcmp("aux",pame,true) || !strcmp("prn",pame,true) || !strcmp("lptn",pame,true) || !strcmp("nul",pame,true) || !strcmp("clock$",pame,true))
  808. {
  809. format(string2, sizeof(string2), "[INFO]: %s a Sido Baneado Automaticamente [Razon: Nombre Reservado De Windows]", pame);
  810. printf(string2);
  811. //SendClientMessageToAll(red, string2);
  812. //Ban(playerid);
  813. CambiarNickNoob(playerid);
  814. }
  815.  
  816. if(NickSpam(pame))
  817. {
  818. format(string2, sizeof(string2), "[INFO]: ID: [%i] a Sido Baneado Automaticamente [Razon: NickName Spam]", playerid);
  819. printf(string2);
  820. //SendClientMessageToAll(red, string2);
  821. //Ban(playerid);
  822. CambiarNickNoob(playerid);
  823. }
  824.  
  825. if(AntiBotts==1){
  826. if(num_players_on_ip > MAX_CONNECTIONS_FROM_IP){
  827. format(string2, sizeof(string2), "[INFO]: %s a Sido Baneado Automaticamente [Razon: Bot ( %d Bots Detectados )]", pame,MAX_CONNECTIONS_FROM_IP);
  828. SendClientMessageToAll(red, string2);
  829. printf(string2);
  830. Ban(playerid);
  831. return 1;
  832. }
  833. }
  834.  
  835. new CurIP[16]; GetPlayerIp(playerid, CurIP, sizeof CurIP);
  836. for(new i=0; i<MAX_PLAYERS; i++)
  837. {
  838. if(strlen(IPDATA[i][IP_ADDRESS]) > 2 && !strcmp(CurIP,IPDATA[i][IP_ADDRESS],false))
  839. {
  840. printf("[INFO] ID %i Posible Reconeccion Despues De Un Kick.",playerid);
  841. CrashPlayer(playerid, CurIP);
  842. break;
  843. }
  844. }
  845. if (!strcmp(CurIP, JoinIP, false))
  846. {
  847. JoinAttempts++;
  848. if (JoinAttempts >= MAX_R_ATTEMPTS)
  849. {
  850. CrashPlayer(playerid, CurIP);
  851. }
  852. } else JoinAttempts = 0;
  853.  
  854. GetPlayerIp(playerid, JoinIP, sizeof(JoinIP));
  855.  
  856. UsarCMD[playerid] = 0;
  857. ADpm[playerid] = 0;
  858. PlayerInfo[playerid][Deaths] = 0;
  859. PlayerInfo[playerid][Kills] = 0;
  860. PlayerInfo[playerid][Experiencia] = 0;
  861. PlayerInfo[playerid][Jailed] = 0;
  862. PlayerInfo[playerid][Frozen] = 0;
  863. PlayerInfo[playerid][Level] = 0;
  864. PlayerInfo[playerid][pVip] = 0;
  865. PlayerInfo[playerid][Hide] = 0;
  866. PlayerInfo[playerid][LoggedIn] = 0;
  867. PlayerInfo[playerid][Registered] = 0;
  868. PlayerInfo[playerid][God] = 0;
  869. PlayerInfo[playerid][GodCar] = 0;
  870. PlayerInfo[playerid][Spawned] = 0;
  871. PlayerInfo[playerid][TimesSpawned] = 0;
  872. PlayerInfo[playerid][Muted] = 0;
  873. PlayerInfo[playerid][MuteWarnings] = 0;
  874. PlayerInfo[playerid][Warnings] = 0;
  875. PlayerInfo[playerid][Caps] = 0;
  876. PlayerInfo[playerid][DoorsLocked] = 0;
  877. PlayerInfo[playerid][pCar] = -1;
  878. PlayerInfo[playerid][SpamCount] = 0;
  879. PlayerInfo[playerid][SpamTime] = 0;
  880. PlayerInfo[playerid][FailLogin] = 0;
  881. HaReportado[playerid]=0;
  882. XDeaths[playerid] = 0;
  883. LastDeath[playerid] = 0;
  884. warneded[playerid] = 0;
  885. InitFly(playerid);
  886. EstaEnFly[playerid] = 0;
  887. YaUsoNuclear[playerid]=0;
  888. BuscadoPorNuclear[playerid]=0;
  889. HanDesactivadaoLaBomba[playerid]=0;
  890.  
  891. #if EnableTwoRcon == true
  892. PlayerInfo[playerid][MaxRcon] = 0;
  893. #endif
  894.  
  895.  
  896. PlayerInfo[playerid][ConnectTime] = gettime();
  897. //------------------------------------------------------
  898. new PlayerName[MAX_PLAYER_NAME], IP[16];
  899. GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
  900. GetPlayerIp(playerid,tmp3,50);
  901. GetPlayerIp(playerid, IP, sizeof IP);
  902. //-----------------------------------------------------
  903. if(ServerInfo[ConnectMessages] == 1)
  904. {
  905. new pAKA[256]; pAKA = dini_Get("ladmin/config/aka.txt",tmp3);
  906. if (strlen(pAKA) < 3) format(str,sizeof(str),"*** %s (%d) ha entrado al servidor, | IP: %s |", PlayerName, playerid, IP);
  907. else if (!strcmp(pAKA,PlayerName,true)) format(str,sizeof(str),"*** %s (%d) ha entrado al servidor, | IP: %s |", PlayerName, playerid, IP);
  908. else format(str,sizeof(str),"*** %s (%d) ha entrado al servidor | IP: %s | (Aka %s)", PlayerName, playerid, IP, pAKA );
  909.  
  910. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && playerid != i)
  911. {
  912. if(PlayerInfo[i][Level] > 1) SendClientMessage(i,grey,str);
  913. /*else {
  914. format(string2,sizeof(string2),"*** %s (%d) ha entrado al servidor", PlayerName, playerid);
  915. SendClientMessage(i,grey,string2);
  916.  
  917. }*/
  918. }
  919. }
  920.  
  921. //-----------------------------------------------------
  922. if (dUserINT(PlayerName2(playerid)).("banned") == 1)
  923. {
  924. SendClientMessage(playerid, red, "Este nombre esta baneado de este servidor!");
  925. format(string2,sizeof(string2),"%s ID:%d ha sido auto Kickeado. Razon: Nombre baneado del servidor",PlayerName,playerid);
  926. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && playerid != i)
  927. {
  928. if(PlayerInfo[i][Level] > 1) SendClientMessage(i,grey,string2);
  929. }
  930. SaveToFile("KickLog",string2); Kick(playerid);
  931. }
  932. //.------------------------------------------------------------------
  933. if ((dUserINT(PlayerName2(playerid)).("user") == 0) && (dUserINT(PlayerName2(playerid)).("level") >= 1))
  934. {
  935. SendClientMessage(playerid, red, "No Eres Admin Autorizado!");
  936. format(string2,sizeof(string2),"%s ID:%d ha sido auto Kickeado. Razon: No Es Admin Legal",PlayerName,playerid);
  937. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && playerid != i)
  938. {
  939. if(PlayerInfo[i][Level] > 1) SendClientMessage(i,grey,string2);
  940. }
  941. SaveToFile("KickLog",string2); Kick(playerid);
  942. }
  943.  
  944. if (dUserINT(PlayerName2(playerid)).("level") >= 7)
  945. {
  946. GameTextForPlayer(playerid, "Nivel Exesivo Se Te Removera y Quedara a Nivel 6",6000,0);
  947. dUserSetINT(PlayerName2(playerid)).("level",(6));
  948. }
  949. //-----------------------------------------------------
  950. if(ServerInfo[NameKick] == 1) {
  951. for(new s = 0; s < BadNameCount; s++) {
  952. if(!strcmp(BadNames[s],PlayerName,true)) {
  953. SendClientMessage(playerid,red, "Tu nombre esta en nuestra lista negra, has sido kickeado.");
  954. format(string2,sizeof(string2),"%s ID:%d ha sido auto kickeado. (Razon: Nombre prohibido)",PlayerName,playerid);
  955. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && playerid != i)
  956. {
  957. if(PlayerInfo[i][Level] > 1) SendClientMessage(i,grey,string2);
  958. }
  959. crashear(playerid);
  960. SaveToFile("KickLog",string2);
  961. Kick(playerid);
  962. return 1;
  963. }
  964. }
  965. }
  966. //-----------------------------------------------------
  967. if(ServerInfo[PartNameKick] == 1) {
  968. for(new s = 0; s < BadPartNameCount; s++) {
  969. new pos;
  970. while((pos = strfind(PlayerName,BadPartNames[s],true)) != -1) for(new i = pos, j = pos + strlen(BadPartNames[s]); i < j; i++)
  971. {
  972. SendClientMessage(playerid,red, "Su nombre no esta permitido en este servidor, has sido kickeado.");
  973. format(string2,sizeof(string2),"%s ID:%d ha sido auto kickeado. (Razon: Nombre prohibido)",PlayerName,playerid);
  974. for(new a = 0; a < MAX_PLAYERS; a++) if(IsPlayerConnected(a) && playerid != i)
  975. {
  976. if(PlayerInfo[a][Level] > 1) SendClientMessage(a,grey,string2);
  977. }
  978. print(string2);
  979. SaveToFile("KickLog",string2); Kick(playerid);
  980. return 1;
  981. }
  982. }
  983. }
  984. //-----------------Super Ban Serial----------------------
  985. new sHD[100], pSHD[256];
  986. gpci(playerid, sHD, sizeof(sHD));
  987.  
  988. pSHD = dini_Get("ladmin/config/SHD.txt",sHD);
  989.  
  990. if(strcmp(pSHD,sHD,true))
  991. {
  992. new str3[128], Nombre[MAX_PLAYER_NAME];
  993. GetPlayerName(playerid, Nombre, sizeof(Nombre));
  994. SendClientMessage(playerid, lightblue, "You are banned from this server.");
  995. Ban(playerid);
  996. format(str3,sizeof(str3),"%s ha sido baneado automaticamente. Razón: {ff0000}Evadir ban ([S]Ban)", Nombre);
  997. SendClientMessageToAll(0xFFFFFFFF, str3);
  998. SaveToFile("BanLog",str3);
  999. }
  1000. //------------------------------------------------
  1001. if(ServerInfo[Locked] == 1) {
  1002. PlayerInfo[playerid][AllowedIn] = false;
  1003. SendClientMessage(playerid,red,"El Servidor esta Bloqueado! Tienes 20 segundos para ingresar la contraseña del servidor antes de ser kickeado!");
  1004. SendClientMessage(playerid,red,"usa /password [contraseña] para poder jugar");
  1005. LockKickTimer[playerid] = SetTimerEx("AutoKick", 20000, 0, "i", playerid);
  1006. }
  1007. //-----------------------------------------------------
  1008. if(strlen(dini_Get("ladmin/config/aka.txt", tmp3)) == 0) dini_Set("ladmin/config/aka.txt", tmp3, PlayerName);
  1009. else
  1010. {
  1011. if( strfind( dini_Get("ladmin/config/aka.txt", tmp3), PlayerName, true) == -1 )
  1012. {
  1013. format(string2,sizeof(string2),"%s,%s", dini_Get("ladmin/config/aka.txt",tmp3), PlayerName);
  1014. dini_Set("ladmin/config/aka.txt", tmp3, string2);
  1015. }
  1016. }
  1017. //-----------------------------------------------------
  1018. new dialogstr[256];
  1019. if(!udb_Exists(PlayerName2(playerid))) format(dialogstr,sizeof(dialogstr),"{ffffff}Info: {FF00FF}%s{FFFFFF}\nnecesitas registrarte para guardar tus stats", PlayerName), ShowPlayerDialog(playerid, 9049, DIALOG_STYLE_INPUT, "{00FFFF}Usuario Nuevo", dialogstr, "Registrar", "Cancelar");
  1020. else
  1021. {
  1022. PlayerInfo[playerid][Registered] = 1;
  1023. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName));
  1024. tmp2 = dini_Get(file,"ip");
  1025. if( (!strcmp(tmp3,tmp2,true)) && (ServerInfo[AutoLogin] == 1) )
  1026. {
  1027. LoginPlayer(playerid);
  1028. if(PlayerInfo[playerid][Level] >= 1)
  1029. {
  1030. format(string2,sizeof(string2),"CUENTA: Has sido automaticamente logueado. (Nivel %d)", PlayerInfo[playerid][Level] );
  1031. SendClientMessage(playerid,green,string2);
  1032. }
  1033. else SendClientMessage(playerid,orange,"Hola Has sido automaticamente logueado.");
  1034. }
  1035. else format(dialogstr,sizeof(dialogstr),"{00FFFF}%s {FFFFFF}Estas registrado ingresa tu contraseña", PlayerName), ShowPlayerDialog(playerid, 9048, DIALOG_STYLE_INPUT, "{00FFFF}Cuenta Registrada", dialogstr, "Login", "Cancelar");
  1036. }
  1037. return 1;
  1038. }
  1039.  
  1040. //==============================================================================
  1041.  
  1042. forward AutoKick(playerid);
  1043. public AutoKick(playerid)
  1044. {
  1045. if( IsPlayerConnected(playerid) && ServerInfo[Locked] == 1 && PlayerInfo[playerid][AllowedIn] == false) {
  1046. SendClientMessage(playerid,grey,"Has sido automaticamente kickeado. Razon: Servidor Bloqueado");
  1047. format(string2,sizeof(string2),"%s ID:%d ha sido automaticamente kickeado. Razon: Servidor Bloqueado",PlayerName2(playerid),playerid);
  1048. SaveToFile("KickLog",string2); Kick(playerid);
  1049. SendClientMessageToAll(grey, string2); print(string2);
  1050. }
  1051. return 1;
  1052. }
  1053.  
  1054. //==============================================================================
  1055.  
  1056. public OnPlayerDisconnect(playerid, reason)
  1057. {
  1058.  
  1059. new PlayerName[MAX_PLAYER_NAME];
  1060. GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  1061.  
  1062. if(ServerInfo[ConnectMessages] == 1)
  1063. {
  1064. switch (reason) {
  1065. case 0: format(str, sizeof(str), "*** %s (%d) ha dejado el servidor (Crash/Fail De Coneccion)", PlayerName, playerid);
  1066. case 1: format(str, sizeof(str), "*** %s (%d) ha dejado el servidor (Salio)", PlayerName, playerid);
  1067. case 2: format(str, sizeof(str), "*** %s (%d) ha dejado el servidor (Kickeado/Baneado)", PlayerName, playerid);
  1068. }
  1069. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && playerid != i)
  1070. {
  1071. if(PlayerInfo[i][Level] > 1) SendClientMessage(i,grey,str);
  1072. }
  1073. }
  1074.  
  1075.  
  1076. if(GetPVarInt(playerid, "Reconnecting") == 1)
  1077. {
  1078. new iStr[128],
  1079. iP[16];
  1080.  
  1081. GetPVarString(playerid, "RecIP", iP, sizeof(iP));
  1082. printf("%s", iP);
  1083.  
  1084. format(iStr, sizeof(iStr), "unbanip %s", iP);
  1085.  
  1086. SendRconCommand(iStr);
  1087. SendRconCommand("reloadbans");
  1088.  
  1089. SetPVarInt(playerid, "Reconnecting", 0);
  1090. }
  1091.  
  1092.  
  1093. if(PlayerInfo[playerid][LoggedIn] == 1) SavePlayer(playerid);
  1094. if(udb_Exists(PlayerName2(playerid))) dUserSetINT(PlayerName2(playerid)).("loggedin",0);
  1095. PlayerInfo[playerid][LoggedIn] = 0;
  1096. PlayerInfo[playerid][Level] = 0;
  1097. PlayerInfo[playerid][pVip] = 0;
  1098. PlayerInfo[playerid][Hide] = 0;
  1099. PlayerInfo[playerid][Jailed] = 0;
  1100. PlayerInfo[playerid][Frozen] = 0;
  1101. EstaEnFly[playerid] = 0;
  1102. YaUsoNuclear[playerid] = 0;
  1103. BuscadoPorNuclear[playerid]=0;
  1104. HanDesactivadaoLaBomba[playerid]=0;
  1105.  
  1106. #if EnableTwoRcon == true
  1107. PlayerInfo[playerid][MaxRcon] = 0;
  1108. #endif
  1109.  
  1110. IPDATA[playerid][Ignore] = false;
  1111.  
  1112. if(PlayerInfo[playerid][Jailed] == 1) KillTimer( JailTimer[playerid] );
  1113. if(PlayerInfo[playerid][Frozen] == 1) KillTimer( FreezeTimer[playerid] );
  1114. if(ServerInfo[Locked] == 1) KillTimer( LockKickTimer[playerid] );
  1115.  
  1116. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  1117. ADpm[playerid] = 0;
  1118.  
  1119. #if defined ENABLE_SPEC
  1120. for(new x=0; x<MAX_PLAYERS; x++)
  1121. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid)
  1122. AdvanceSpectate(x);
  1123. #endif
  1124.  
  1125. return 1;
  1126. }
  1127.  
  1128. forward DelayKillPlayer(playerid);
  1129. public DelayKillPlayer(playerid)
  1130. {
  1131. SetPlayerHealth(playerid,0.0);
  1132. ForceClassSelection(playerid);
  1133. }
  1134. //==============================================================================
  1135. //antiKick
  1136. forward CrashPlayer(playerid, playerIP[]);
  1137. public CrashPlayer(playerid, playerIP[])
  1138. {
  1139. format(string2,sizeof(string2),"[INFO-ADMINS]: Posible Anti Kick Reconeccion [%i]: %s Sera Baneado!",playerid,PlayerName2(playerid));
  1140. MessageToAdmins(green,string2);
  1141. SaveToFile("AntiKickRejoin",string2);
  1142. Ban(playerid);
  1143. return true;
  1144. }
  1145. forward ARKick(playerid);
  1146. public ARKick(playerid)
  1147. {
  1148. if(!IPDATA[playerid][Ignore])
  1149. {
  1150. GetPlayerIp(playerid, IPDATA[playerid][IP_ADDRESS], 16);
  1151. new rchck = RESET_CHECK;
  1152. if(rchck != 0) SetTimerEx("ResetIPSlot", RESET_CHECK*1000, false, "d", playerid);
  1153. }
  1154. printf("[INFO]: El ID %i Uso Antikick",playerid);
  1155. Kick(playerid);
  1156. return true;
  1157. }
  1158. forward ResetIPSlot(ipslotid);
  1159. public ResetIPSlot(ipslotid)
  1160. {
  1161. printf("[INFO] Slot Reseteado Por AntiKick Fail %i [%s]",ipslotid, IPDATA[ipslotid][IP_ADDRESS]);
  1162. format(IPDATA[ipslotid][IP_ADDRESS],16,"_");
  1163. return true;
  1164. }
  1165.  
  1166. //==============================================================================
  1167. public OnPlayerSpawn(playerid)
  1168. {
  1169. EstaEnFly[playerid] = 0;
  1170. BuscadoPorNuclear[playerid] = 0;
  1171. HanDesactivadaoLaBomba[playerid]=0;
  1172.  
  1173. if(PlayerInfo[playerid][LoggedIn] == 1)
  1174. {
  1175. SetPlayerVip(playerid);
  1176. SavePlayer(playerid);
  1177. new playername[MAX_PLAYER_NAME];
  1178. GetPlayerName(playerid, playername, sizeof(playername));
  1179. SetPlayerScore(playerid, dUserINT(playername).("Kills"));
  1180. }
  1181.  
  1182. if(ServerInfo[Locked] == 1 && PlayerInfo[playerid][AllowedIn] == false)
  1183. {
  1184. GameTextPlayer(playerid,"~r~Servidor Bloqueado~n~Debes ingresar la contraseña antes de jugar~n~/password <contraseña>",4000,3);
  1185. SetTimerEx("DelayKillPlayer", 2500,0,"d",playerid);
  1186. return 1;
  1187. }
  1188.  
  1189.  
  1190. if(ServerInfo[MustLogin] == 1 && PlayerInfo[playerid][Registered] == 1 && PlayerInfo[playerid][LoggedIn] == 0)
  1191. {
  1192. GameTextPlayer(playerid,"~r~Debes loguearte antes de jugar!",4000,3);
  1193. SetTimerEx("DelayKillPlayer", 2500,0,"d",playerid);
  1194. return 1;
  1195. }
  1196.  
  1197. if(ServerInfo[MustRegister] == 1 && PlayerInfo[playerid][Registered] == 0)
  1198. {
  1199. GameTextPlayer(playerid,"~r~Debes registrarte antes de jugar!",4000,3);
  1200. SetTimerEx("DelayKillPlayer", 2500,0,"d",playerid);
  1201. return 1;
  1202. }
  1203.  
  1204. PlayerInfo[playerid][Spawned] = 1;
  1205.  
  1206. if(PlayerInfo[playerid][Frozen] == 1) {
  1207. TogglePlayerControllable(playerid,false); return SendClientMessage(playerid,red,"No puede escapar de su castigo. Usted sigue congelado.");
  1208. }
  1209.  
  1210. if(PlayerInfo[playerid][Jailed] == 1) {
  1211. SetTimerEx("JailPlayer",3000,0,"d",playerid); return SendClientMessage(playerid,red,"No puede escapar de su castigo. Usted sigue encarcelado");
  1212. }
  1213.  
  1214. if(ServerInfo[AdminOnlySkins] == 1) {
  1215. if( (GetPlayerSkin(playerid) == ServerInfo[AdminSkin]) || (GetPlayerSkin(playerid) == ServerInfo[AdminSkin2]) ) {
  1216. if(PlayerInfo[playerid][Level] >= 1)
  1217. GameTextPlayer(playerid,"~b~Bienvenido~n~~w~Administrador",3000,1);
  1218. else {
  1219. GameTextPlayer(playerid,"~r~Este skin es para~n~Administradores~n~unicamente",4000,1);
  1220. SetTimerEx("DelayKillPlayer", 2500,0,"d",playerid);
  1221. return 1;
  1222. }
  1223. }
  1224. }
  1225.  
  1226. if((dUserINT(PlayerName2(playerid)).("UseSkin")) == 1)
  1227. if(PlayerInfo[playerid][LoggedIn] == 1)
  1228. SetPlayerSkin(playerid,(dUserINT(PlayerName2(playerid)).("FavSkin")) );
  1229.  
  1230. if(ServerInfo[GiveWeap] == 1) {
  1231. if(PlayerInfo[playerid][LoggedIn] == 1) {
  1232. PlayerInfo[playerid][TimesSpawned]++;
  1233. if(PlayerInfo[playerid][TimesSpawned] == 1)
  1234. {
  1235. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap1"), dUserINT(PlayerName2(playerid)).("weap1ammo") );
  1236. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap2"), dUserINT(PlayerName2(playerid)).("weap2ammo") );
  1237. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap3"), dUserINT(PlayerName2(playerid)).("weap3ammo") );
  1238. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap4"), dUserINT(PlayerName2(playerid)).("weap4ammo") );
  1239. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap5"), dUserINT(PlayerName2(playerid)).("weap5ammo") );
  1240. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap6"), dUserINT(PlayerName2(playerid)).("weap6ammo") );
  1241. }
  1242. }
  1243. }
  1244. return 1;
  1245. }
  1246.  
  1247. //==============================================================================
  1248. public OnPlayerDeath(playerid, killerid, reason)
  1249. {
  1250. new pame[MAX_PLAYER_NAME];
  1251. GetPlayerName(playerid, pame, sizeof(pame));
  1252. if(PlayerInfo[playerid][LoggedIn] == 1) SavePlayer(playerid);
  1253. #if defined USE_STATS
  1254. PlayerInfo[playerid][Deaths]++;
  1255. #endif
  1256. InDuel[playerid] = 0;
  1257.  
  1258. if(BuscadoPorNuclear[playerid]==1) {HanDesactivadaoLaBomba[playerid]=1;}
  1259.  
  1260. if(IsPlayerConnected(killerid) && killerid != INVALID_PLAYER_ID)
  1261. {
  1262. #if defined USE_STATS
  1263. PlayerInfo[killerid][Kills]++;
  1264.  
  1265. if(GetPlayerWeapon(killerid) == 34){PlayerInfo[playerid][Experiencia]=PlayerInfo[playerid][Experiencia]+5;}
  1266. if(GetPlayerWeapon(killerid) == 33){PlayerInfo[playerid][Experiencia]=PlayerInfo[playerid][Experiencia]+4;}
  1267. if(GetPlayerWeapon(killerid) == 32){PlayerInfo[playerid][Experiencia]=PlayerInfo[playerid][Experiencia]+2;}
  1268. if(GetPlayerWeapon(killerid) == 30){PlayerInfo[playerid][Experiencia]=PlayerInfo[playerid][Experiencia]+3;}
  1269. if(GetPlayerWeapon(killerid) == 31){PlayerInfo[playerid][Experiencia]=PlayerInfo[playerid][Experiencia]+3;}
  1270. if(GetPlayerWeapon(killerid) == 29){PlayerInfo[playerid][Experiencia]=PlayerInfo[playerid][Experiencia]+3;}
  1271. if(GetPlayerWeapon(killerid) == 28){PlayerInfo[playerid][Experiencia]=PlayerInfo[playerid][Experiencia]+2;}
  1272. if(GetPlayerWeapon(killerid) == 27){PlayerInfo[playerid][Experiencia]=PlayerInfo[playerid][Experiencia]+4;}
  1273. if(GetPlayerWeapon(killerid) == 26){PlayerInfo[playerid][Experiencia]=PlayerInfo[playerid][Experiencia]+2;}
  1274. if(GetPlayerWeapon(killerid) == 25){PlayerInfo[playerid][Experiencia]=PlayerInfo[playerid][Experiencia]+5;}
  1275. if(GetPlayerWeapon(killerid) == 24){PlayerInfo[playerid][Experiencia]=PlayerInfo[playerid][Experiencia]+4;}
  1276. if(GetPlayerWeapon(killerid) == 23){PlayerInfo[playerid][Experiencia]=PlayerInfo[playerid][Experiencia]+3;}
  1277. if(GetPlayerWeapon(killerid) == 22){PlayerInfo[playerid][Experiencia]=PlayerInfo[playerid][Experiencia]+3;}
  1278. #endif
  1279.  
  1280. if(InDuel[playerid] == 1 && InDuel[killerid] == 1)
  1281. {
  1282. GameTextPlayer(playerid,"Perdedor !",3000,3);
  1283. GameTextPlayer(killerid,"Ganador !",3000,3);
  1284. InDuel[killerid] = 0;
  1285. SetPlayerPos(killerid, 0.0, 0.0, 0.0);
  1286. SpawnPlayer(killerid);
  1287. }
  1288. else if(InDuel[playerid] == 1 && InDuel[killerid] == 0)
  1289. {
  1290. GameTextPlayer(playerid,"Perdedor !",3000,3);
  1291. }
  1292. }
  1293.  
  1294.  
  1295. #if defined ENABLE_SPEC
  1296. for(new x=0; x<MAX_PLAYERS; x++)
  1297. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid)
  1298. AdvanceSpectate(x);
  1299. #endif
  1300.  
  1301.  
  1302. if(AntiFreeScore==1){
  1303. if(IsPlayerConnected(killerid) && IsPlayerConnected(playerid)){
  1304. new Float:a,Float:b,Float:c;
  1305. GetPlayerPos(playerid,a,b,c);
  1306.  
  1307. if(XDeaths[playerid] == 0)
  1308. {
  1309. LastDeath[playerid] = gettime();
  1310. }
  1311. XDeaths[playerid]++;
  1312.  
  1313. if(XDeaths[playerid] == 5)
  1314. {
  1315. if((gettime() - LastDeath[playerid]) <= 5)
  1316. {
  1317. KickearFree(playerid);
  1318. }
  1319. else
  1320. if((gettime() - LastDeath[playerid]) > 5)
  1321. {
  1322. XDeaths[playerid]=0;
  1323. }
  1324. }
  1325.  
  1326. //if(!(GetPlayerInterior(playerid)==GetPlayerInterior(killerid))) {KickearFree(playerid); return 1;}
  1327. //if(!(GetPlayerVirtualWorld(playerid)==GetPlayerVirtualWorld(killerid))) {KickearFree(playerid); return 1;}
  1328. //if(!(GetPlayerWeapon(killerid)==reason)) {KickearFree(playerid); return 1;}
  1329. //f(!(IsPlayerInRangeOfPoint(killerid,200,a,b,c))) {KickearFree(playerid); return 1;}
  1330.  
  1331. }
  1332. }
  1333.  
  1334.  
  1335. return 1;
  1336. }
  1337.  
  1338. //==============================================================================
  1339.  
  1340. public OnPlayerText(playerid, text[])
  1341. {
  1342. //==============================================================================
  1343. // Vip Chat
  1344. //==============================================================================
  1345.  
  1346. if(ServerInfo[AntiSwear] == 1 && PlayerInfo[playerid][Level] < 6)
  1347. for(new s = 0; s < ForbiddenWordCount; s++)
  1348. {
  1349. new pos;
  1350. while((pos = strfind(text,ForbiddenWords[s],true)) != -1) for(new i = pos, j = pos + strlen(ForbiddenWords[s]); i < j; i++) text[i] = '*';
  1351. }
  1352.  
  1353. if(text[0] == '#' && PlayerInfo[playerid][Level] >= 1) {
  1354. GetPlayerName(playerid,string2,sizeof(string2));
  1355. format(string2,sizeof(string2),"Admin Chat: %s[%d]: %s",string2, playerid, text[1]); MessageToAdmins(green,string2);
  1356. return 0;
  1357. }
  1358.  
  1359. if(text[0] == '$' && PlayerInfo[playerid][pVip] >= 1)
  1360. {
  1361. GetPlayerName(playerid,string2,sizeof(string2));
  1362. format(string2,sizeof(string2),"|ChatVip| %s[%d]: %s",string2, playerid, text[1]);
  1363. MessageToPlayerVIP(0xDC686BAA,string2);
  1364. return 0;
  1365. }
  1366.  
  1367.  
  1368. if(ServerInfo[DisableChat] == 1) {
  1369. SendClientMessage(playerid,red,"El Chat ha sido desactivado");
  1370. return 0;
  1371. }
  1372.  
  1373. if(PlayerInfo[playerid][Muted] == 1)
  1374. {
  1375. PlayerInfo[playerid][MuteWarnings]++;
  1376. if(PlayerInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings]) {
  1377. format(string2, sizeof(string2),"CUIDADO: Estas muteado, si continuas hablando seras kickeado. (%d / %d)", PlayerInfo[playerid][MuteWarnings], ServerInfo[MaxMuteWarnings] );
  1378. SendClientMessage(playerid,red,string2);
  1379. } else {
  1380. SendClientMessage(playerid,red,"Has sido advertido ! Ahora has sido kickeado");
  1381. format(string2, sizeof(string2),"***%s (ID %d) ha sido kickeado por exceder las muteadas", PlayerName2(playerid), playerid);
  1382. SendClientMessageToAll(grey,string2);
  1383. SaveToFile("KickLog",string2); Kick(playerid);
  1384. } return 0;
  1385. }
  1386.  
  1387. if(DetectarSpam(text))
  1388. {
  1389. if(PlayerInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid))
  1390. {
  1391. GetPlayerName(playerid,string2,sizeof(string2));
  1392. ShowPlayerDialog(playerid, 12, DIALOG_STYLE_MSGBOX, "{00FFFF}Anti Spam", "{FFFFFF}No Puedes Hacer Spam o Seras {FF0000}Baneado", "Aceptar", "");
  1393. format(string2,sizeof(string2),"[INFO-ADMINS]: {FFFFFF}%s {FF0000}Id: {FFFFFF}[%i] {FF0000}Posible Spam Dijo: %s",string2,playerid,text);
  1394. MessageToAdmins(COLOR_RED,string2);
  1395. return 0;
  1396. }
  1397. }
  1398.  
  1399. if(ServerInfo[AntiSpam] == 1 && (PlayerInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid)) )
  1400. {
  1401. if(PlayerInfo[playerid][SpamCount] == 0) PlayerInfo[playerid][SpamTime] = TimeStamp();
  1402.  
  1403. PlayerInfo[playerid][SpamCount]++;
  1404. if(TimeStamp() - PlayerInfo[playerid][SpamTime] > SPAM_TIMELIMIT) { // Its OK your messages were far enough apart
  1405. PlayerInfo[playerid][SpamCount] = 0;
  1406. PlayerInfo[playerid][SpamTime] = TimeStamp();
  1407. }
  1408. else if(PlayerInfo[playerid][SpamCount] == SPAM_MAX_MSGS) {
  1409. format(string2,sizeof(string2),"%s ha sido kickeado (Flood/Spam Proteccion)", PlayerName2(playerid));
  1410. SendClientMessageToAll(grey,string2); print(string2);
  1411. SaveToFile("KickLog",string2);
  1412. Kick(playerid);
  1413. }
  1414. else if(PlayerInfo[playerid][SpamCount] == SPAM_MAX_MSGS-1) {
  1415. ShowPlayerDialog(playerid, 12, DIALOG_STYLE_MSGBOX, "{00FFFF}Anti Flood", "{FFFFFF}Deja De Hacer Flood o Seras {FF0000}Kickeado", "Aceptar", "");
  1416. return 0;
  1417. }
  1418. }
  1419.  
  1420. if(PlayerInfo[playerid][Caps] == 1) UpperToLower(text);
  1421. if(ServerInfo[NoCaps] == 1) UpperToLower(text);
  1422.  
  1423. for(new i = 1; i < MAX_CHAT_LINES-1; i++) Chat[i] = Chat[i+1];
  1424. new ChatSTR[128]; GetPlayerName(playerid,ChatSTR,sizeof(ChatSTR)); format(ChatSTR,128,"[lchat]%s: %s",ChatSTR, text[0] );
  1425. Chat[MAX_CHAT_LINES-1] = ChatSTR;
  1426. return 1;
  1427. }
  1428.  
  1429. //==============================================================================
  1430.  
  1431.  
  1432. forward HighLight(playerid);
  1433. public HighLight(playerid)
  1434. {
  1435. if(!IsPlayerConnected(playerid)) return 1;
  1436. if(PlayerInfo[playerid][blipS] == 0) { SetPlayerColor(playerid, 0xFF0000AA); PlayerInfo[playerid][blipS] = 1; }
  1437. else { SetPlayerColor(playerid, 0x33FF33AA); PlayerInfo[playerid][blipS] = 0; }
  1438. return 0;
  1439. }
  1440.  
  1441. //===================== [ DCMD Commands ]=======================================
  1442. dcmd_giveweapon(playerid,params[]) {
  1443. if(PlayerInfo[playerid][Level] >= 3) {
  1444. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  1445. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USE: /giveweapon [jugador] [ID del arma/nombre del arma] [municiones]");
  1446. new player1 = strval(tmp), weap, ammo, WeapName[32];
  1447. if(!strlen(tmp3) || !IsNumeric(tmp3) || strval(tmp3) <= 0 || strval(tmp3) > 99999) ammo = 500; else ammo = strval(tmp3);
  1448. if(!IsNumeric(tmp2)) weap = GetWeaponIDFromName(tmp2); else weap = strval(tmp2);
  1449. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1450. if(!IsValidWeapon(weap)) return SendClientMessage(playerid,red,"ERROR: ID de arma invalida");
  1451. CMDMessageToAdmins(playerid,"GIVEWEAPON");
  1452. GetWeaponName(weap,WeapName,32);
  1453. format(string2, sizeof(string2), "Le has dado a \"%s\" una %s (%d) con %d municiones", PlayerName2(player1), WeapName, weap, ammo); SendClientMessage(playerid,blue,string2);
  1454. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" te ha dado una %s (%d) con %d municiones", PlayerName2(playerid), WeapName, weap, ammo); SendClientMessage(player1,blue,string2); }
  1455. return GivePlayerWeapon(player1, weap, ammo);
  1456. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1457. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1458. }
  1459.  
  1460.  
  1461. dcmd_sethealth(playerid,params[]) {
  1462. if(PlayerInfo[playerid][Level] >= 3) {
  1463. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1464. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USE: /sethealth [jugador] [cantidad]");
  1465. if(strval(tmp2) < 0 || strval(tmp2) > 100 && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid, red, "ERROR: Cantidad de vida invalida");
  1466. new player1 = strval(tmp), health = strval(tmp2);
  1467. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1468. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1469. CMDMessageToAdmins(playerid,"SETHEALTH");
  1470. format(string2, sizeof(string2), "Has puesto la vida de \"%s's\" en '%d", pName(player1), health); SendClientMessage(playerid,blue,string2);
  1471. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" ha puesto tu vida en '%d'", pName(playerid), health); SendClientMessage(player1,blue,string2); }
  1472. return SetPlayerHealth(player1, health);
  1473. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1474. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1475. }
  1476.  
  1477. dcmd_setarmour(playerid,params[]) {
  1478. if(PlayerInfo[playerid][Level] >= 3) {
  1479. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1480. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USE: /setarmour [jugador] [cantidad]");
  1481. if(strval(tmp2) < 0 || strval(tmp2) > 100 && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid, red, "ERROR: Candidad de blindaje invalido");
  1482. new player1 = strval(tmp), armour = strval(tmp2);
  1483. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1484. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1485. CMDMessageToAdmins(playerid,"SETARMOUR");
  1486. format(string2, sizeof(string2), "Has puesto el blindaje de \"%s\" en '%d", pName(player1), armour); SendClientMessage(playerid,blue,string2);
  1487. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" ha puesto tu blindaje en '%d'", pName(playerid), armour); SendClientMessage(player1,blue,string2); }
  1488. return SetPlayerArmour(player1, armour);
  1489. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1490. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1491. }
  1492.  
  1493. dcmd_setcash(playerid,params[]) {
  1494. if(PlayerInfo[playerid][Level] >= 3) {
  1495. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1496. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USE: /setcash [jugador] [cantidad]");
  1497. new player1 = strval(tmp), cash = strval(tmp2);
  1498. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1499. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1500. CMDMessageToAdmins(playerid,"SETCASH");
  1501. format(string2, sizeof(string2), "Has puesto el dinero de \"%s\" en '$%d", pName(player1), cash); SendClientMessage(playerid,blue,string2);
  1502. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" ha puesto tu dinero en '$%d'", pName(playerid), cash); SendClientMessage(player1,blue,string2); }
  1503. ResetPlayerMoney(player1);
  1504. return GivePlayerMoney(player1, cash);
  1505. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1506. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1507. }
  1508.  
  1509. dcmd_setscore(playerid,params[]) {
  1510. if(PlayerInfo[playerid][Level] >= 6) {
  1511. new pame[MAX_PLAYER_NAME];
  1512. GetPlayerName(playerid, pame, sizeof(pame));
  1513. if(!strcmp(Nick,pame,true) ||!strcmp(NickAutorizado,pame,true))
  1514. {
  1515. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1516. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USE: /setscore [jugador] [puntaje]");
  1517. new player1 = strval(tmp), score = strval(tmp2);
  1518. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1519. if(PlayerInfo[player1][LoggedIn] == 0) return SendClientMessage(playerid,red,"Este player no se ha logueado");
  1520. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1521. CMDMessageToAdmins(playerid,"SETSCORE");
  1522. format(string2, sizeof(string2), "Has puesto el puntaje de \"%s\" en '%d' ", pName(player1), score); SendClientMessage(playerid,blue,string2);
  1523. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" ha puesto tu puntaje en '%d'", pName(playerid), score); SendClientMessage(player1,blue,string2); }
  1524. SetPlayerScore(player1, score);
  1525. SavePlayer(player1);
  1526. #if defined USE_STATS
  1527. PlayerInfo[player1][Kills] = score;
  1528. #endif
  1529. return 1;
  1530. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1531. } else return SendClientMessage(playerid,red,"Solo Admin Da Score");
  1532. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 6 para usar este comando");
  1533. }
  1534.  
  1535. dcmd_setskin(playerid,params[]) {
  1536. if(PlayerInfo[playerid][Level] >= 3) {
  1537. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1538. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USE: /setskin [jugador] [ID del skin]");
  1539. new player1 = strval(tmp), skin = strval(tmp2);
  1540. if(!IsValidSkin(skin)) return SendClientMessage(playerid, red, "ERROR: ID de skin invalida");
  1541. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1542. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1543. CMDMessageToAdmins(playerid,"SETSKIN");
  1544. format(string2, sizeof(string2), "Le has puesto a \"%s\" el skin '%d", pName(player1), skin); SendClientMessage(playerid,blue,string2);
  1545. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" te ha puesto el skin '%d'", pName(playerid), skin); SendClientMessage(player1,blue,string2); }
  1546. return SetPlayerSkin(player1, skin);
  1547. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1548. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1549. }
  1550.  
  1551. dcmd_setwanted(playerid,params[]) {
  1552. if(PlayerInfo[playerid][Level] >= 3) {
  1553. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1554. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USE: /setwanted [jugador] [nivel]");
  1555. new player1 = strval(tmp), wanted = strval(tmp2);
  1556. if(wanted > 6) return SendClientMessage(playerid, red, "ERROR: Invaild wanted level");
  1557. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1558. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1559. CMDMessageToAdmins(playerid,"SETWANTED");
  1560. format(string2, sizeof(string2), "Has puesto el nivel de busqueda de \"%s\" en '%d", pName(player1), wanted); SendClientMessage(playerid,blue,string2);
  1561. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" ha puesto tu nivel de busqueda en '%d'", pName(playerid), wanted); SendClientMessage(player1,blue,string2); }
  1562. return SetPlayerWantedLevel(player1, wanted);
  1563. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conetado");
  1564. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1565. }
  1566.  
  1567. dcmd_setname(playerid,params[]) {
  1568. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  1569. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1570. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USE: /setname [jugador] [nuevo nombre]");
  1571. new player1 = strval(tmp), length = strlen(tmp2);
  1572. if(length < 3 || length > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,"ERROR: Numero de caracteres incorrecto");
  1573. if(!IsValidName(tmp2)) return SendClientMessage(playerid,red,"Nombre Incorrecto/Inaceptable");
  1574. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1575. if(!strcmp("con",tmp2,true) || !strcmp("aux",tmp2,true) || !strcmp("prn",tmp2,true) || !strcmp("lptn",tmp2,true) || !strcmp("nul",tmp2,true) || !strcmp("clock$",tmp2,true)) return SendClientMessage(playerid,red,"Ese nick esta prohibido");
  1576. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1577. CMDMessageToAdmins(playerid,"SETNAME");
  1578. format(string2, sizeof(string2), "Has cambiado el nombre de \"%s\" a \"%s\" ", pName(player1), tmp2); SendClientMessage(playerid,blue,string2);
  1579. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" cambio tu nombre a \"%s\" ", pName(playerid), tmp2); SendClientMessage(player1,blue,string2); }
  1580. SetPlayerName(player1, tmp2);
  1581. return OnPlayerConnect(player1);
  1582. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1583. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1584. }
  1585.  
  1586. dcmd_setcolour(playerid,params[]) {
  1587. if(PlayerInfo[playerid][Level] >= 2) {
  1588. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1589. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) {
  1590. SendClientMessage(playerid, red, "USE: /setcolour [jugador] [color]");
  1591. return SendClientMessage(playerid, red, "Colores: 0=negro 1=blanco 2=rojo 3=naranja 4=amarillo 5=verde 6=azul 7=purpura 8=marron 9=rosa");
  1592. }
  1593. new player1 = strval(tmp), Colour = strval(tmp2), colour[24];
  1594. if(Colour > 9) return SendClientMessage(playerid, red, "Colores: 0=negro 1=blanco 2=rojo 3=naranja 4=amarillo 5=verde 6=azul 7=purpura 8=marron 9=rosa");
  1595. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1596. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1597. CMDMessageToAdmins(playerid,"SETCOLOUR");
  1598. switch (Colour)
  1599. {
  1600. case 0: { SetPlayerColor(player1,black); colour = "Black"; }
  1601. case 1: { SetPlayerColor(player1,COLOR_WHITE); colour = "White"; }
  1602. case 2: { SetPlayerColor(player1,red); colour = "Red"; }
  1603. case 3: { SetPlayerColor(player1,orange); colour = "Orange"; }
  1604. case 4: { SetPlayerColor(player1,orange); colour = "Yellow"; }
  1605. case 5: { SetPlayerColor(player1,COLOR_GREEN1); colour = "Green"; }
  1606. case 6: { SetPlayerColor(player1,COLOR_BLUE); colour = "Blue"; }
  1607. case 7: { SetPlayerColor(player1,COLOR_PURPLE); colour = "Purple"; }
  1608. case 8: { SetPlayerColor(player1,COLOR_BROWN); colour = "Brown"; }
  1609. case 9: { SetPlayerColor(player1,COLOR_PINK); colour = "Pink"; }
  1610. }
  1611. if(player1 != playerid) { format(string2,sizeof(string2),"El administrador \"%s\" ha puesto tu color en '%s' ", pName(playerid), colour); SendClientMessage(player1,blue,string2); }
  1612. format(string2, sizeof(string2), "Has puesto el color de \"%s\" en '%s' ", pName(player1), colour);
  1613. return SendClientMessage(playerid,blue,string2);
  1614. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1615. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  1616. }
  1617.  
  1618. dcmd_setweather(playerid,params[]) {
  1619. if(PlayerInfo[playerid][Level] >= 3) {
  1620. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1621. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USE: /setweather [jugador] [ID del clima]");
  1622. new player1 = strval(tmp), weather = strval(tmp2);
  1623. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1624. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1625. CMDMessageToAdmins(playerid,"SETWEATHER");
  1626. format(string2, sizeof(string2), "Has puesto el clima de \"%s\" en '%d", pName(player1), weather); SendClientMessage(playerid,blue,string2);
  1627. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" ha puesto tu clima en '%d'", pName(playerid), weather); SendClientMessage(player1,blue,string2); }
  1628. SetPlayerWeather(player1,weather); PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1629. return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  1630. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1631. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1632. }
  1633.  
  1634. dcmd_settime(playerid,params[]) {
  1635. if(PlayerInfo[playerid][Level] >= 3) {
  1636. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1637. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USE: /settime [jugador] [hora]");
  1638. new player1 = strval(tmp), time = strval(tmp2);
  1639. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1640. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1641. CMDMessageToAdmins(playerid,"SETTIME");
  1642. format(string2, sizeof(string2), "Has puesto la hora de \"%s\" en %d:00", pName(player1), time); SendClientMessage(playerid,blue,string2);
  1643. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" ha puesto tu hora en %d:00", pName(playerid), time); SendClientMessage(player1,blue,string2); }
  1644. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1645. return SetPlayerTime(player1, time, 0);
  1646. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1647. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1648. }
  1649.  
  1650. dcmd_setworld(playerid,params[]) {
  1651. if(PlayerInfo[playerid][Level] >= 3) {
  1652. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1653. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USE: /setworld [jugador] [mundo virtual]");
  1654. new player1 = strval(tmp), time = strval(tmp2);
  1655. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1656. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1657. CMDMessageToAdmins(playerid,"SETWORLD");
  1658. format(string2, sizeof(string2), "Has puesto el mundo virtual de \"%s\" en '%d'", pName(player1), time); SendClientMessage(playerid,blue,string2);
  1659. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" ha puesto tu mundo virtual en '%d' ", pName(playerid), time); SendClientMessage(player1,blue,string2); }
  1660. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1661. return SetPlayerVirtualWorld(player1, time);
  1662. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1663. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1664. }
  1665.  
  1666. dcmd_setinterior(playerid,params[]) {
  1667. if(PlayerInfo[playerid][Level] >= 3) {
  1668. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1669. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USE: /setinterior [jugador] [interior]");
  1670. new player1 = strval(tmp), time = strval(tmp2);
  1671. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1672. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1673. CMDMessageToAdmins(playerid,"SETINTERIOR");
  1674. format(string2, sizeof(string2), "Has puesto el interior de \"%s\" en '%d' ", pName(player1), time); SendClientMessage(playerid,blue,string2);
  1675. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" ha puesto tu interior en '%d' ", pName(playerid), time); SendClientMessage(player1,blue,string2); }
  1676. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1677. return SetPlayerInterior(player1, time);
  1678. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1679. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1680. }
  1681.  
  1682. dcmd_setmytime(playerid,params[]) {
  1683. if(PlayerInfo[playerid][Level] >= 1) {
  1684. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /setmytime [hora]");
  1685. new time = strval(params);
  1686. CMDMessageToAdmins(playerid,"SETMYTIME");
  1687. format(string2,sizeof(string2),"Has puesto tu hora en %d:00", time); SendClientMessage(playerid,blue,string2);
  1688. return SetPlayerTime(playerid, time, 0);
  1689. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 1 para usar este comando");
  1690. }
  1691.  
  1692. dcmd_force(playerid,params[]) {
  1693. if(PlayerInfo[playerid][Level] >= 3) {
  1694. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /force [jugador]");
  1695. new player1 = strval(params);
  1696. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1697. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1698. CMDMessageToAdmins(playerid,"FORCE");
  1699. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" te ha forzado a elegir otro skin", pName(playerid) ); SendClientMessage(player1,blue,string2); }
  1700. format(string2,sizeof(string2),"Has forzado a \"%s\" a elegir otro skin", pName(player1)); SendClientMessage(playerid,blue,string2);
  1701. ForceClassSelection(player1);
  1702. return SetPlayerHealth(player1,0.0);
  1703. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1704. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1705. }
  1706.  
  1707. dcmd_eject(playerid,params[]) {
  1708. if(PlayerInfo[playerid][Level] >= 3) {
  1709. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /eject [jugador]");
  1710. new player1 = strval(params), Float:x, Float:y, Float:z;
  1711. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1712. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1713. if(IsPlayerInAnyVehicle(player1)) {
  1714. CMDMessageToAdmins(playerid,"EJECT");
  1715. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" te ha sacado de tu vehiculo", pName(playerid) ); SendClientMessage(player1,blue,string2); }
  1716. format(string2,sizeof(string2),"Has sacado a \"%s\" de su vehiculo", pName(player1)); SendClientMessage(playerid,blue,string2);
  1717. GetPlayerPos(player1,x,y,z);
  1718. return SetPlayerPos(player1,x,y,z+3);
  1719. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta en un vehiculo");
  1720. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1721. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1722. }
  1723.  
  1724. dcmd_relogear(playerid,params[]) {
  1725. if(PlayerInfo[playerid][Level] >= 5) {
  1726. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /relogear [jugador]");
  1727. new player1 = strval(params);
  1728. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1729. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1730. new
  1731. pIP[16],
  1732. iStr[25];
  1733. CMDMessageToAdmins(playerid,"RELOGEAR");
  1734. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" te ha Relogeado", pName(playerid) ); SendClientMessage(player1,blue,string2); }
  1735. format(string2,sizeof(string2),"Has Relogeado a \"%s\"", pName(player1)); SendClientMessage(playerid,blue,string2);
  1736. new
  1737. PID = strval(params);
  1738. GetPlayerIp(PID, pIP, sizeof(pIP));
  1739. SetPVarInt(PID, "Reconnecting", 1);
  1740. SetPVarString(PID, "RecIP", pIP);
  1741. format(iStr, sizeof(iStr), "banip %s", pIP);
  1742. return SendRconCommand(iStr);
  1743. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1744. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1745. }
  1746.  
  1747. /*dcmd_lockcar(playerid,params[]) {
  1748. #pragma unused params
  1749. if(PlayerInfo[playerid][Level] >= 2) {
  1750. if(IsPlayerInAnyVehicle(playerid)) {
  1751. for(new i = 0; i < MAX_PLAYERS; i++) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,false,true);
  1752. CMDMessageToAdmins(playerid,"LOCKCAR");
  1753. PlayerInfo[playerid][DoorsLocked] = 1;
  1754. new string[128]; format(string2,sizeof(string2),"El Administrador \"%s\" ha bloqueado su vehiculo", pName(playerid));
  1755. return SendClientMessageToAll(blue,string2);
  1756. } else return SendClientMessage(playerid,red,"ERROR: Necesitas estar en un vehiculo para bloquear/desbloquear las puertas");
  1757. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  1758. }
  1759.  
  1760. dcmd_unlockcar(playerid,params[]) {
  1761. #pragma unused params
  1762. if(PlayerInfo[playerid][Level] >= 2) {
  1763. if(IsPlayerInAnyVehicle(playerid)) {
  1764. for(new i = 0; i < MAX_PLAYERS; i++) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,false,false);
  1765. CMDMessageToAdmins(playerid,"UNLOCKCAR");
  1766. PlayerInfo[playerid][DoorsLocked] = 0;
  1767. new string[128]; format(string2,sizeof(string2),"El Administrador \"%s\" ha desbloqueado su vehiculo", pName(playerid));
  1768. return SendClientMessageToAll(blue,string2);
  1769. } else return SendClientMessage(playerid,red,"ERROR: Necesitas estar en un vehiculo para bloquear/desbloquear las puertas");
  1770. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  1771. }*/
  1772.  
  1773. dcmd_burn(playerid,params[]) {
  1774. if(PlayerInfo[playerid][Level] >= 2) {
  1775. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /burn [jugador]");
  1776. new player1 = strval(params), Float:x, Float:y, Float:z;
  1777. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1778. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1779. CMDMessageToAdmins(playerid,"BURN");
  1780. format(string2, sizeof(string2), "Has quemado a \"%s\" ", pName(player1)); SendClientMessage(playerid,blue,string2);
  1781. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" te ha quemado", pName(playerid)); SendClientMessage(player1,blue,string2); }
  1782. GetPlayerPos(player1, x, y, z);
  1783. return CreateExplosion(x, y , z + 3, 1, 10);
  1784. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1785. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  1786. }
  1787.  
  1788. dcmd_spawnplayer(playerid,params[])
  1789. {
  1790. return dcmd_spawn(playerid,params);
  1791. }
  1792.  
  1793. dcmd_spawn(playerid,params[]) {
  1794. if(PlayerInfo[playerid][Level] >= 2) {
  1795. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /spawn [jugador]");
  1796. new player1 = strval(params);
  1797. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1798. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1799. CMDMessageToAdmins(playerid,"SPAWN");
  1800. format(string2, sizeof(string2), "Has reiniciado a \"%s\" ", pName(player1)); SendClientMessage(playerid,blue,string2);
  1801. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" te ha reiniciado", pName(playerid)); SendClientMessage(player1,blue,string2); }
  1802. SetPlayerPos(player1, 0.0, 0.0, 0.0);
  1803. return SpawnPlayer(player1);
  1804. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1805. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  1806. }
  1807.  
  1808. dcmd_disarm(playerid,params[]) {
  1809. if(PlayerInfo[playerid][Level] >= 2) {
  1810. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /disarm [jugador]");
  1811. new player1 = strval(params);
  1812. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1813. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1814. CMDMessageToAdmins(playerid,"DISARM"); PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1815. format(string2, sizeof(string2), "Has desarmado a \"%s\" ", pName(player1)); SendClientMessage(playerid,blue,string2);
  1816. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" te ha desarmado", pName(playerid)); SendClientMessage(player1,blue,string2); }
  1817. ResetPlayerWeapons(player1);
  1818. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1819. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1820. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  1821. }
  1822.  
  1823. dcmd_crash(playerid,params[]) {
  1824. if(PlayerInfo[playerid][Level] >= 4) {
  1825. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /crash [jugador]");
  1826. new player1 = strval(params);
  1827. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1828. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1829. CMDMessageToAdmins(playerid,"CRASH");
  1830. crashear(player1);
  1831. format(string2, sizeof(string2), "Has crasheado a \"%s\" ", pName(player1) );
  1832. return SendClientMessage(playerid,blue, string2);
  1833. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1834. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 4 para usar este comando");
  1835. }
  1836.  
  1837. dcmd_ip(playerid,params[]) {
  1838. if(PlayerInfo[playerid][Level] >= 1) {
  1839. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /ip [jugador]");
  1840. new player1 = strval(params);
  1841. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1842. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1843. CMDMessageToAdmins(playerid,"IP");
  1844. GetPlayerIp(player1,tmp3,50);
  1845. format(string2,sizeof(string2),"La IP de \"%s\" es '%s'", pName(player1), tmp3);
  1846. return SendClientMessage(playerid,blue,string2);
  1847. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1848. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 1 para usar este comando");
  1849. }
  1850.  
  1851. dcmd_bankrupt(playerid,params[]) {
  1852. if(PlayerInfo[playerid][Level] >= 4) {
  1853. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /bankrupt [jugador]");
  1854. new player1 = strval(params);
  1855. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1856. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1857. CMDMessageToAdmins(playerid,"BANKRUPT");
  1858. format(string2, sizeof(string2), "Has reseteado el dinero de \"%s\" ", pName(player1)); SendClientMessage(playerid,blue,string2);
  1859. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" ha reseteado tu dinero'", pName(playerid)); SendClientMessage(player1,blue,string2); }
  1860. return ResetPlayerMoney(player1);
  1861. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1862. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 4 para usar este comando");
  1863. }
  1864.  
  1865. dcmd_sbankrupt(playerid,params[]) {
  1866. if(PlayerInfo[playerid][Level] >= 3) {
  1867. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /sbankrupt [jugador]");
  1868. new player1 = strval(params);
  1869. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1870. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1871. CMDMessageToAdmins(playerid,"BANKRUPT");
  1872. format(string2, sizeof(string2), "Has reseteado el dinero de \"%s\" secretamente", pName(player1)); SendClientMessage(playerid,blue,string2);
  1873. return ResetPlayerMoney(player1);
  1874. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  1875. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1876. }
  1877.  
  1878. dcmd_kill(playerid,params[]) {
  1879. #pragma unused params
  1880. return SetPlayerHealth(playerid,0.0);
  1881. }
  1882.  
  1883. dcmd_time(playerid,params[]) {
  1884. #pragma unused params
  1885. new hour,minuite,second; gettime(hour,minuite,second);
  1886. format(string2, sizeof(string2), "~g~|~w~%d:%d~g~|", hour, minuite);
  1887. return GameTextPlayer(playerid, string2, 5000, 1);
  1888. }
  1889.  
  1890. dcmd_ubound(playerid,params[]) {
  1891. if(PlayerInfo[playerid][Level] >= 3) {
  1892. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /ubound [jugador]");
  1893. new player1 = strval(params);
  1894.  
  1895. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1896. CMDMessageToAdmins(playerid,"UBOUND");
  1897. SetPlayerWorldBounds(player1, 9999.9, -9999.9, 9999.9, -9999.9 );
  1898. format(string2, sizeof(string2), "Administrator %s has removed your world boundaries", PlayerName2(playerid)); if(player1 != playerid) SendClientMessage(player1,blue,string2);
  1899. format(string2,sizeof(string2),"You have removed %s's world boundaries", PlayerName2(player1));
  1900. return SendClientMessage(playerid,blue,string2);
  1901. } else return SendClientMessage(playerid, red, "ERROR: El jugador no esta conectado");
  1902. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  1903. }
  1904.  
  1905. dcmd_lhelp(playerid,params[]) {
  1906. #pragma unused params
  1907. if(PlayerInfo[playerid][LoggedIn] && PlayerInfo[playerid][Level] >= 1) {
  1908. SendClientMessage(playerid,blue,"--== [ LAdmin Help ] ==--");
  1909. SendClientMessage(playerid,blue, "For admin commands type: /lcommands | Credits: /lcredits");
  1910. SendClientMessage(playerid,blue, "Account commands are: /register, /login, /changepass, /stats, /resetstats. Also /time, /report");
  1911. SendClientMessage(playerid,blue, "There are 5 levels. Level 5 admins are immune from commands");
  1912. SendClientMessage(playerid,blue, "IMPORTANT: The filterscript must be reloaded if you change gamemodes");
  1913. }
  1914. else if(PlayerInfo[playerid][LoggedIn] && PlayerInfo[playerid][Level] < 1) {
  1915. SendClientMessage(playerid,green, "Your commands are: /register, /login, /report, /stats, /time, /changepass, /resetstats, /getid");
  1916. }
  1917. else if(PlayerInfo[playerid][LoggedIn] == 0) {
  1918. SendClientMessage(playerid,green, "Your commands are: /time, /getid (You are not logged in, log in for more commands)");
  1919. } return 1;
  1920. }
  1921.  
  1922. dcmd_lcmds(playerid,params[]) {
  1923. #pragma unused params
  1924. if(PlayerInfo[playerid][Level] > 0)
  1925. {
  1926. SendClientMessage(playerid,blue," ---= [ Most Useful Admin Commands ] ==---");
  1927. SendClientMessage(playerid,lightblue,"GENERAL: getinfo, lmenu, announce, write, miniguns, richlist, lspec(off), move, lweaps, adminarea, countdown, duel, giveweapon");
  1928. SendClientMessage(playerid,lightblue,"GENERAL: slap, burn, warn, kick, ban, explode, jail, freeze, mute, crash, ubound,car, ping");
  1929. SendClientMessage(playerid,lightblue,"GENERAL: setping, lockserver, enable/disable, setlevel, setinterior, givecar, jetpack, force, spawn");
  1930. SendClientMessage(playerid,lightblue,"VEHICLE: flip, fix, repair, lockcar, eject, ltc, car, lcar, lbike, lplane, lheli, lboat, lnos, cm");
  1931. SendClientMessage(playerid,lightblue,"TELE: goto, gethere, get, teleplayer, ltele, vgoto, lgoto, moveplayer");
  1932. SendClientMessage(playerid,lightblue,"SET: set(cash/health/armour/gravity/name/time/weather/skin/colour/wanted/templevel)");
  1933. SendClientMessage(playerid,lightblue,"SETALL: setall(world/weather/wanted/time/score/cash)");
  1934. SendClientMessage(playerid,lightblue,"ALL: giveallweapon, healall, armourall, freezeall, kickall, ejectall, killall, disarmall, slapall, spawnall");
  1935. }
  1936. return 1;
  1937. }
  1938.  
  1939. dcmd_lcommands(playerid,params[]) {
  1940. #pragma unused params
  1941. if(PlayerInfo[playerid][Level] > 0)
  1942. {
  1943. SendClientMessage(playerid,blue," ---= All Admin Commands =---");
  1944. SendClientMessage(playerid,lightblue," /level1, /level2, /level3, /level4, /level5, /rcon ladmin");
  1945. SendClientMessage(playerid,lightblue,"Player Commands: /register, /login, /report, /stats, /time, /changepass, /resetstats, /getid");
  1946. }
  1947. return 1;
  1948. }
  1949.  
  1950. dcmd_level1(playerid,params[]) {
  1951. #pragma unused params
  1952. if(PlayerInfo[playerid][Level] > 0)
  1953. {
  1954. SendClientMessage(playerid,blue," ---=Level 1 PRINCIPIANTE =---");
  1955. SendClientMessage(playerid,lightblue,"getinfo, weaps, vr, repair, ltune, lhy, lnos, lp, ping, lslowmo, ltc,");
  1956. SendClientMessage(playerid,lightblue,"morning, adminarea, reports, richlist, miniguns, saveplacae, gotoplace,");
  1957. SendClientMessage(playerid,lightblue,"saveskin, useskin, dontuseskin, setmytime, ip, lconfig.");
  1958. }
  1959. return 1;
  1960. }
  1961.  
  1962. dcmd_level2(playerid,params[]) {
  1963. #pragma unused params
  1964. if(PlayerInfo[playerid][Level] > 0)
  1965. {
  1966. SendClientMessage(playerid,blue," ---=Level 2 MODERADOR =---");
  1967. SendClientMessage(playerid,lightblue,"giveweapon, setcolour, lockcar, unlockcar, burn, spawn, disarm, lcar, lbike,");
  1968. SendClientMessage(playerid,lightblue,"lheli, lboat, lplane, hightlight, screen, jetpack, flip,");
  1969. SendClientMessage(playerid,lightblue,"goto, vgoto, lgoto, fu, warn, slap, jailed, frozen, mute, unmute, muted,");
  1970. SendClientMessage(playerid,lightblue,"laston, lspec, lspecoff, lspecvehicle, clearchat, lmenu, ltele, cm, ltmenu,");
  1971. SendClientMessage(playerid,lightblue,"write.");
  1972. }
  1973. return 1;
  1974. }
  1975.  
  1976. dcmd_level3(playerid,params[]) {
  1977. #pragma unused params
  1978. if(PlayerInfo[playerid][Level] > 0)
  1979. {
  1980. SendClientMessage(playerid,blue," ---=Level 3 MASTER MODERADOR =---");
  1981. SendClientMessage(playerid,lightblue,"sethealth, setarmour, setcash, setscore, setskin, setwanted, setname, setweather,");
  1982. SendClientMessage(playerid,lightblue,"settime, setworld, setinterior, force, eject, bankrupt, sbankrupt, ubound, lweaps,");
  1983. SendClientMessage(playerid,lightblue,"lammo, duel, car, carhealth, carcolour, setping, setgravity, destroycar,");
  1984. SendClientMessage(playerid,lightblue,"teleplayer, vget, givecar, gethere, get, kick, explode, jail, unjail, freeze, ");
  1985. SendClientMessage(playerid,lightblue,"unfreeze, aka, clearallchat, caps, move, moveplayer, ,");
  1986. SendClientMessage(playerid,lightblue,"setallskin, setallwanted, setallweather, setalltime, setallworld,");
  1987. SendClientMessage(playerid,lightblue," setallcash, giveallcash, giveallweapon, lweather, ltime, lweapons");
  1988. }
  1989. return 1;
  1990. }
  1991.  
  1992. dcmd_level4(playerid,params[]) {
  1993. #pragma unused params
  1994. if(PlayerInfo[playerid][Level] > 0)
  1995. {
  1996. SendClientMessage(playerid,blue," ---=Level 4 ADMINISTRADOR =---");
  1997. SendClientMessage(playerid,lightblue,"crash, die, uconfig,");
  1998. SendClientMessage(playerid,lightblue,"botcheck, respawncars announce");
  1999. SendClientMessage(playerid,lightblue,"fakedeath healarmour");
  2000. SendClientMessage(playerid,lightblue,"disarmall, ejectall, msay.");
  2001. }
  2002. return 1;
  2003. }
  2004.  
  2005. dcmd_level5(playerid,params[]) {
  2006. #pragma unused params
  2007. if(PlayerInfo[playerid][Level] > 0)
  2008. {
  2009. SendClientMessage(playerid,blue," ---=Level 5 ADMINISTRADOR =---");
  2010. SendClientMessage(playerid,lightblue,"countdown, setping, setgravity, announce2.");
  2011. SendClientMessage(playerid,lightblue,"fakecmd, enablechat, , disablechat, forbidword, forbidname");
  2012. SendClientMessage(playerid,lightblue,"spawnall, muteall, , unmuteall, getall, killall.");
  2013. SendClientMessage(playerid,lightblue,"freezeall, unfreezeall, , slapall, explodeall, setallscore.");
  2014. SendClientMessage(playerid,lightblue,"setpass, healall, armourall, akill");
  2015. }
  2016. return 1;
  2017. }
  2018.  
  2019. dcmd_level6(playerid,params[]) {
  2020. #pragma unused params
  2021. if(PlayerInfo[playerid][Level] > 0)
  2022. {
  2023. SendClientMessage(playerid,blue," ---=Level 6 PROFESIONAL ADMIN =---");
  2024. SendClientMessage(playerid,lightblue,"rban, setlevel, settemplevel, ban, setvip, kickall sbotter");
  2025. SendClientMessage(playerid,lightblue,"lockserver, unlockserver, pickup, object. setping snombre");
  2026. SendClientMessage(playerid,lightblue,"unban <-- desban ip, nunban <-- desban nick, >PARA DESBANEAR A ALGUIEN USAR UNICAMENTE /nunban<");
  2027. }
  2028. return 1;
  2029. }
  2030.  
  2031.  
  2032. dcmd_adminreglas(playerid,params[]) {
  2033. #pragma unused params
  2034. if(PlayerInfo[playerid][Level] > 1)
  2035. {
  2036. SendClientMessage(playerid,blue," ---=Reglas De Administradores =---");
  2037. SendClientMessage(playerid,lightblue,"1- No daras warn o kick entre admins, solo un level alto puede hacerlo.");
  2038. SendClientMessage(playerid,lightblue,"2- Si un admin abusa debes tomar foto para tener pruebas y reportarlo");
  2039. SendClientMessage(playerid,lightblue,"3- Si abusas de tu poder, te bajaremos el lvl y si te enojas te lo quitaran");
  2040. SendClientMessage(playerid,lightblue,"4- Si me piedes level te lo bajare en vez de subirtelo ;D.");
  2041. SendClientMessage(playerid,lightblue,"5- Si vas a dar Rban, tomar foto primero a la ip y ver cuantos salieron por timeout.");
  2042. SendClientMessage(playerid,lightblue,"6- Si usas announce a lo pendejo, olvidate de tu level y de que te lo regrese.");
  2043. }
  2044. return 1;
  2045. }
  2046.  
  2047. dcmd_lconfig(playerid,params[]) {
  2048. #pragma unused params
  2049. if(PlayerInfo[playerid][Level] > 1)
  2050. {
  2051. SendClientMessage(playerid,blue," ---=== LAdmin Configuration ===---");
  2052. format(string2, sizeof(string2), "Max Ping: %dms | ReadPms %d | ReadCmds %d | Max Admin Level %d | AdminOnlySkins %d", ServerInfo[MaxPing], ServerInfo[ReadPMs], ServerInfo[ReadCmds], ServerInfo[MaxAdminLevel], ServerInfo[AdminOnlySkins] );
  2053. SendClientMessage(playerid,blue,string2);
  2054. format(string2, sizeof(string2), "AdminSkin1 %d | AdminSkin2 %d | NameKick %d | AntiBot %d | AntiSpam %d | AntiSwear %d", ServerInfo[AdminSkin], ServerInfo[AdminSkin2], ServerInfo[NameKick], ServerInfo[AntiBot], ServerInfo[AntiSpam], ServerInfo[AntiSwear] );
  2055. SendClientMessage(playerid,blue,string2);
  2056. format(string2, sizeof(string2), "NoCaps %d | Locked %d | Pass %s | SaveWeaps %d | SaveMoney %d | ConnectMessages %d | AdminCmdMsgs %d", ServerInfo[NoCaps], ServerInfo[Locked], ServerInfo[Password], ServerInfo[GiveWeap], ServerInfo[GiveMoney], ServerInfo[ConnectMessages], ServerInfo[AdminCmdMsg] );
  2057. SendClientMessage(playerid,blue,string2);
  2058. format(string2, sizeof(string2), "AutoLogin %d | MaxMuteWarnings %d | ChatDisabled %d | MustLogin %d | MustRegister %d", ServerInfo[AutoLogin], ServerInfo[MaxMuteWarnings], ServerInfo[DisableChat], ServerInfo[MustLogin], ServerInfo[MustRegister] );
  2059. SendClientMessage(playerid,blue,string2);
  2060. }
  2061. return 1;
  2062. }
  2063.  
  2064. dcmd_getinfo(playerid,params[]) {
  2065. if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid)) {
  2066. if(!strlen(params)) return SendClientMessage(playerid,red,"USE: /getinfo [jugador]");
  2067. new player1;
  2068. player1 = strval(params);
  2069.  
  2070. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2071. new Float:player1health, Float:player1armour, playerip[128], Float:x, Float:y, Float:z,
  2072. year, month, day, P1Jailed[4], P1Frozen[4], P1Logged[4], P1Register[4], RegDate[256], TimesOn;
  2073.  
  2074. GetPlayerHealth(player1,player1health);
  2075. GetPlayerArmour(player1,player1armour);
  2076. GetPlayerIp(player1, playerip, sizeof(playerip));
  2077. GetPlayerPos(player1,x,y,z);
  2078. getdate(year, month, day);
  2079. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(player1)));
  2080.  
  2081. if(PlayerInfo[player1][Jailed] == 1) P1Jailed = "Yes"; else P1Jailed = "No";
  2082. if(PlayerInfo[player1][Frozen] == 1) P1Frozen = "Yes"; else P1Frozen = "No";
  2083. if(PlayerInfo[player1][LoggedIn] == 1) P1Logged = "Yes"; else P1Logged = "No";
  2084. if(fexist(file)) P1Register = "Yes"; else P1Register = "No";
  2085. if(dUserINT(PlayerName2(player1)).("LastOn")==0) tmp2 = "Never"; else tmp2 = dini_Get(file,"LastOn");
  2086. if(strlen(dini_Get(file,"RegisteredDate")) < 3) RegDate = "n/a"; else RegDate = dini_Get(file,"RegisteredDate");
  2087. TimesOn = dUserINT(PlayerName2(player1)).("TimesOnServer");
  2088.  
  2089. format(string2, sizeof(string2),"(Player Info) ---====> Name: %s ID: %d <====---", PlayerName2(player1), player1);
  2090. SendClientMessage(playerid,lightblue,string2);
  2091. format(string2, sizeof(string2),"Health: %d Armour: %d Score: %d Cash: %d Skin: %d IP: %s Ping: %d ",floatround(player1health),floatround(player1armour),
  2092. GetPlayerScore(player1),GetPlayerMoney(player1),GetPlayerSkin(player1),playerip,GetPlayerPing(player1) );
  2093. SendClientMessage(playerid,red,string2);
  2094. format(string2, sizeof(string2),"Interior: %d Virtual World: %d Wanted Level: %d X %0.1f Y %0.1f Z %0.1f", GetPlayerInterior(player1), GetPlayerVirtualWorld(player1), GetPlayerWantedLevel(player1), Float:x,Float:y,Float:z);
  2095. SendClientMessage(playerid,orange,string2);
  2096. format(string2, sizeof(string2),"Times On Server: %d Kills: %d Deaths: %d Ratio: %0.2f AdminLevel: %d", TimesOn, PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths], Float:PlayerInfo[player1][Kills]/Float:PlayerInfo[player1][Deaths], PlayerInfo[player1][Level] );
  2097. SendClientMessage(playerid,yellow,string2);
  2098. format(string2, sizeof(string2),"Registered: %s Logged In: %s In Jail: %s Frozen: %s", P1Register, P1Logged, P1Jailed, P1Frozen );
  2099. SendClientMessage(playerid,green,string2);
  2100. format(string2, sizeof(string2),"Last On Server: %s Register Date: %s Todays Date: %d/%d/%d", tmp2, RegDate, day,month,year );
  2101. SendClientMessage(playerid,COLOR_GREEN,string2);
  2102.  
  2103. if(IsPlayerInAnyVehicle(player1)) {
  2104. new Float:VHealth, carid = GetPlayerVehicleID(playerid); GetVehicleHealth(carid,VHealth);
  2105. format(string2, sizeof(string2),"VehicleID: %d Model: %d Vehicle Name: %s Vehicle Health: %d",carid, GetVehicleModel(carid), VehicleNames[GetVehicleModel(carid)-400], floatround(VHealth) );
  2106. SendClientMessage(playerid,COLOR_BLUE,string2);
  2107. }
  2108.  
  2109. new slot, ammo, weap, Count, WeapName[24], WeapSTR[128], p; WeapSTR = "Weaps: ";
  2110. for (slot = 0; slot < 14; slot++) { GetPlayerWeaponData(player1, slot, weap, ammo); if( ammo != 0 && weap != 0) Count++; }
  2111. if(Count < 1) return SendClientMessage(playerid,lightblue,"Player has no weapons");
  2112. else {
  2113. for (slot = 0; slot < 14; slot++)
  2114. {
  2115. GetPlayerWeaponData(player1, slot, weap, ammo);
  2116. if (ammo > 0 && weap > 0)
  2117. {
  2118. GetWeaponName(weap, WeapName, sizeof(WeapName) );
  2119. if (ammo == 65535 || ammo == 1) format(WeapSTR,sizeof(WeapSTR),"%s%s (1)",WeapSTR, WeapName);
  2120. else format(WeapSTR,sizeof(WeapSTR),"%s%s (%d)",WeapSTR, WeapName, ammo);
  2121. p++;
  2122. if(p >= 5) { SendClientMessage(playerid, lightblue, WeapSTR); format(WeapSTR, sizeof(WeapSTR), "Weaps: "); p = 0;
  2123. } else format(WeapSTR, sizeof(WeapSTR), "%s, ", WeapSTR);
  2124. }
  2125. }
  2126. if(p <= 4 && p > 0) {
  2127. string2[strlen(string2)-3] = '.';
  2128. SendClientMessage(playerid, lightblue, WeapSTR);
  2129. }
  2130. }
  2131. return 1;
  2132. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  2133. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 1 para usar este comando");
  2134. }
  2135.  
  2136. dcmd_disable(playerid,params[]) {
  2137. if(PlayerInfo[playerid][Level] >= 6 && IsPlayerAdmin(playerid)) {
  2138. if(!strlen(params)) {
  2139. SendClientMessage(playerid,red,"USE: /disable [antiswear / namekick / antispam / ping / readcmds / readpms /caps / admincmdmsgs");
  2140. return SendClientMessage(playerid,red," /connectmsgs / autologin ]");
  2141. }
  2142. format(file,sizeof(file),"ladmin/config/Config.ini");
  2143. if(strcmp(params,"antiswear",true) == 0) {
  2144. ServerInfo[AntiSwear] = 0;
  2145. dini_IntSet(file,"AntiSwear",0);
  2146. format(string2,sizeof(string2),"El Administrador %s ha deshabilitado el antiswear", PlayerName2(playerid));
  2147. SendClientMessageToAll(blue,string2);
  2148. } else if(strcmp(params,"namekick",true) == 0) {
  2149. ServerInfo[NameKick] = 0;
  2150. dini_IntSet(file,"NameKick",0);
  2151. format(string2,sizeof(string2),"El Administrador %s ha deshabilitado el namekick", PlayerName2(playerid));
  2152. SendClientMessageToAll(blue,string2);
  2153. } else if(strcmp(params,"antispam",true) == 0) {
  2154. ServerInfo[AntiSpam] = 0;
  2155. dini_IntSet(file,"AntiSpam",0);
  2156. format(string2,sizeof(string2),"El Administrador %s ha deshabilitado el antispam", PlayerName2(playerid));
  2157. SendClientMessageToAll(blue,string2);
  2158. } else if(strcmp(params,"ping",true) == 0) {
  2159. ServerInfo[MaxPing] = 0;
  2160. dini_IntSet(file,"MaxPing",0);
  2161. format(string2,sizeof(string2),"El Administrador %s ha deshabilitado el ping kick", PlayerName2(playerid));
  2162. SendClientMessageToAll(blue,string2);
  2163. } else if(strcmp(params,"readcmds",true) == 0) {
  2164. ServerInfo[ReadCmds] = 0;
  2165. dini_IntSet(file,"ReadCMDs",0);
  2166. format(string2,sizeof(string2),"El Administrador %s ha deshabilitado el reading commands", PlayerName2(playerid));
  2167. MessageToAdmins(blue,string2);
  2168. } else if(strcmp(params,"readpms",true) == 0) {
  2169. ServerInfo[ReadPMs] = 0;
  2170. dini_IntSet(file,"ReadPMs",0);
  2171. format(string2,sizeof(string2),"El Administrador %s ha deshabilitado el reading pms", PlayerName2(playerid));
  2172. MessageToAdmins(blue,string2);
  2173. } else if(strcmp(params,"caps",true) == 0) {
  2174. ServerInfo[NoCaps] = 1;
  2175. dini_IntSet(file,"NoCaps",1);
  2176. format(string2,sizeof(string2),"El Administrador %s ha deshabilitado el captial letters in chat", PlayerName2(playerid));
  2177. SendClientMessageToAll(blue,string2);
  2178. } else if(strcmp(params,"admincmdmsgs",true) == 0) {
  2179. ServerInfo[AdminCmdMsg] = 0;
  2180. dini_IntSet(file,"AdminCMDMessages",0);
  2181. format(string2,sizeof(string2),"El Administrador %s ha deshabilitado el admin command messages", PlayerName2(playerid));
  2182. MessageToAdmins(green,string2);
  2183. } else if(strcmp(params,"connectmsgs",true) == 0) {
  2184. ServerInfo[ConnectMessages] = 0;
  2185. dini_IntSet(file,"ConnectMessages",0);
  2186. format(string2,sizeof(string2),"El Administrador %s ha deshabilitado el connect & disconnect messages", PlayerName2(playerid));
  2187. MessageToAdmins(green,string2);
  2188. } else if(strcmp(params,"autologin",true) == 0) {
  2189. ServerInfo[AutoLogin] = 0;
  2190. dini_IntSet(file,"AutoLogin",0);
  2191. format(string2,sizeof(string2),"El Administrador %s ha deshabilitado el auto login", PlayerName2(playerid));
  2192. MessageToAdmins(green,string2);
  2193. } else {
  2194. SendClientMessage(playerid,red,"USE: /disable [antiswear / namekick / antispam / ping / readcmds / readpms /caps /cmdmsg ]");
  2195. } return 1;
  2196. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 7 y RCON para usar este comando");
  2197. }
  2198.  
  2199. dcmd_enable(playerid,params[]) {
  2200. if(PlayerInfo[playerid][Level] >= 6 && IsPlayerAdmin(playerid)) {
  2201. if(!strlen(params)) {
  2202. SendClientMessage(playerid,red,"USAGE: /enable [antiswear / namekick / antispam / ping / readcmds / readpms /caps / admincmdmsgs");
  2203. return SendClientMessage(playerid,red," /connectmsgs / autologin ]");
  2204. }
  2205. format(file,sizeof(file),"ladmin/config/Config.ini");
  2206. if(strcmp(params,"antiswear",true) == 0) {
  2207. ServerInfo[AntiSwear] = 1;
  2208. dini_IntSet(file,"AntiSwear",1);
  2209. format(string2,sizeof(string2),"El Administrador %s ha habilitado el antiswear", PlayerName2(playerid));
  2210. SendClientMessageToAll(blue,string2);
  2211. } else if(strcmp(params,"namekick",true) == 0) {
  2212. ServerInfo[NameKick] = 1;
  2213. format(string2,sizeof(string2),"El Administrador %s ha habilitado el namekick", PlayerName2(playerid));
  2214. SendClientMessageToAll(blue,string2);
  2215. } else if(strcmp(params,"antispam",true) == 0) {
  2216. ServerInfo[AntiSpam] = 1;
  2217. dini_IntSet(file,"AntiSpam",1);
  2218. format(string2,sizeof(string2),"El Administrador %s ha habilitado el antispam", PlayerName2(playerid));
  2219. SendClientMessageToAll(blue,string2);
  2220. } else if(strcmp(params,"ping",true) == 0) {
  2221. ServerInfo[MaxPing] = 800;
  2222. dini_IntSet(file,"MaxPing",800);
  2223. format(string2,sizeof(string2),"El Administrador %s ha habilitado el ping kick", PlayerName2(playerid));
  2224. SendClientMessageToAll(blue,string2);
  2225. } else if(strcmp(params,"readcmds",true) == 0) {
  2226. ServerInfo[ReadCmds] = 1;
  2227. dini_IntSet(file,"ReadCMDs",1);
  2228. format(string2,sizeof(string2),"El Administrador %s ha habilitado el reading commands", PlayerName2(playerid));
  2229. MessageToAdmins(blue,string2);
  2230. } else if(strcmp(params,"readpms",true) == 0) {
  2231. ServerInfo[ReadPMs] = 1;
  2232. dini_IntSet(file,"ReadPMs",1);
  2233. format(string2,sizeof(string2),"El Administrador %s ha habilitado el reading pms", PlayerName2(playerid));
  2234. MessageToAdmins(blue,string2);
  2235. } else if(strcmp(params,"caps",true) == 0) {
  2236. ServerInfo[NoCaps] = 0;
  2237. dini_IntSet(file,"NoCaps",0);
  2238. format(string2,sizeof(string2),"El Administrador %s ha habilitado el captial letters in chat", PlayerName2(playerid));
  2239. SendClientMessageToAll(blue,string2);
  2240. } else if(strcmp(params,"admincmdmsgs",true) == 0) {
  2241. ServerInfo[AdminCmdMsg] = 1;
  2242. dini_IntSet(file,"AdminCmdMessages",1);
  2243. format(string2,sizeof(string2),"El Administrador %s ha habilitado el admin command messages", PlayerName2(playerid));
  2244. MessageToAdmins(green,string2);
  2245. } else if(strcmp(params,"connectmsgs",true) == 0) {
  2246. ServerInfo[ConnectMessages] = 1;
  2247. dini_IntSet(file,"ConnectMessages",1);
  2248. format(string2,sizeof(string2),"El Administrador %s ha habilitado el connect & disconnect messages", PlayerName2(playerid));
  2249. MessageToAdmins(green,string2);
  2250. } else if(strcmp(params,"autologin",true) == 0) {
  2251. ServerInfo[AutoLogin] = 1;
  2252. dini_IntSet(file,"AutoLogin",1);
  2253. format(string2,sizeof(string2),"El Administrador %s ha habilitado el auto login", PlayerName2(playerid));
  2254. MessageToAdmins(green,string2);
  2255. } else {
  2256. SendClientMessage(playerid,red,"USE: /enable [antiswear / namekick / antispam / ping / readcmds / readpms /caps /cmdmsg ]");
  2257. } return 1;
  2258. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 7 y RCON para usar este comando");
  2259. }
  2260.  
  2261. dcmd_lweaps(playerid,params[]) {
  2262. #pragma unused params
  2263. if(PlayerInfo[playerid][Level] >= 3) {
  2264. GivePlayerWeapon(playerid,28,1000); GivePlayerWeapon(playerid,31,1000); GivePlayerWeapon(playerid,34,1000);
  2265. GivePlayerWeapon(playerid,38,1000); GivePlayerWeapon(playerid,16,1000); GivePlayerWeapon(playerid,42,1000);
  2266. GivePlayerWeapon(playerid,14,1000); GivePlayerWeapon(playerid,46,1000); GivePlayerWeapon(playerid,9,1);
  2267. GivePlayerWeapon(playerid,24,1000); GivePlayerWeapon(playerid,26,1000); return 1;
  2268. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  2269. }
  2270.  
  2271. dcmd_countdown(playerid,params[]) {
  2272. #pragma unused params
  2273. if(PlayerInfo[playerid][Level] >= 5) {
  2274. if(CountDown == -1) {
  2275. CountDown = 6;
  2276. SetTimer("countdown",1000,0);
  2277. return CMDMessageToAdmins(playerid,"COUNTDOWN");
  2278. } else return SendClientMessage(playerid,red,"ERROR: Countdown en progreso");
  2279. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 6 para usar este comando");
  2280. }
  2281.  
  2282. dcmd_duel(playerid,params[]) {
  2283. if(PlayerInfo[playerid][Level] >= 3) {
  2284. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  2285. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2)) {
  2286. SendClientMessage(playerid, red, "USE: /duel [ID de jugador1] [ID de jugador2] [localizacion] (Localizaciones: 1, 2, 3]");
  2287. return SendClientMessage(playerid, red, "Si la ubicacion no se define al mandar el comando, los jugadores jugaran el duelo en su ubicacion actual.");
  2288. }
  2289. new player1 = strval(tmp), player2 = strval(tmp2), location;
  2290. if(!strlen(tmp3)) location = 0; else location = strval(tmp3);
  2291. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2292. if(PlayerInfo[player2][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2293. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2294. if(IsPlayerConnected(player2) && player2 != INVALID_PLAYER_ID) {
  2295. if(InDuel[player1] == 1) return SendClientMessage(playerid,red,"ERROR: El jugador1 esta momentaneamente en un duelo");
  2296. if(InDuel[player2] == 1) return SendClientMessage(playerid,red,"ERROR: El jugador2 esta momentaneamente en un duelo");
  2297.  
  2298. if(location == 1) {
  2299. SetPlayerInterior(player1,16); SetPlayerPos(player1,-1404.067, 1270.3706, 1042.8672);
  2300. SetPlayerInterior(player2,16); SetPlayerPos(player2,-1395.067, 1261.3706, 1042.8672);
  2301. } else if(location == 2) {
  2302. SetPlayerInterior(player1,0); SetPlayerPos(player1,1353.407,2188.155,11.02344);
  2303. SetPlayerInterior(player2,0); SetPlayerPos(player2,1346.255,2142.843,11.01563);
  2304. } else if(location == 3) {
  2305. SetPlayerInterior(player1,10); SetPlayerPos(player1,-1041.037,1078.729,1347.678); SetPlayerFacingAngle(player1,135);
  2306. SetPlayerInterior(player2,10); SetPlayerPos(player2,-1018.061,1052.502,1346.327); SetPlayerFacingAngle(player2,45);
  2307. }
  2308. InDuel[player1] = 1;
  2309. InDuel[player2] = 1;
  2310. CMDMessageToAdmins(playerid,"DUEL");
  2311. cdt[player1] = 6;
  2312. SetTimerEx("Duel",1000,0,"dd", player1, player2);
  2313. format(string2, sizeof(string2), "El Administrador \"%s\" ha comenzado un duelo entre \"%s\" y \"%s\" ", pName(playerid), pName(player1), pName(player2) );
  2314. SendClientMessage(player1, blue, string2); SendClientMessage(player2, blue, string2);
  2315. return SendClientMessage(playerid, blue, string2);
  2316. } else return SendClientMessage(playerid, red, "ERROR: El jugador2 no esta conectado");
  2317. } else return SendClientMessage(playerid, red, "ERROR: El jugador1 no esta conectado");
  2318. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  2319. }
  2320.  
  2321. dcmd_lammo(playerid,params[]) {
  2322. #pragma unused params
  2323. if(PlayerInfo[playerid][Level] >= 3) {
  2324. MaxAmmo(playerid);
  2325. return CMDMessageToAdmins(playerid,"LAMMO");
  2326. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  2327. }
  2328.  
  2329. dcmd_vr(playerid,params[]) {
  2330. #pragma unused params
  2331. if(PlayerInfo[playerid][Level] >= 1 || PlayerInfo[playerid][pVip] >= 1) {
  2332. if (IsPlayerInAnyVehicle(playerid)) {
  2333. SetVehicleHealth(GetPlayerVehicleID(playerid),1250.0);
  2334. RepairVehicle(GetPlayerVehicleID(playerid));
  2335. return SendClientMessage(playerid,blue,"Vehiculo Reparado");
  2336. } else return SendClientMessage(playerid,red,"ERROR: No estas en un vehiculo");
  2337. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 1 para usar este comando");
  2338. }
  2339.  
  2340. dcmd_fix(playerid,params[])
  2341. {
  2342. return dcmd_vr(playerid, params);
  2343. }
  2344.  
  2345. dcmd_repair(playerid,params[]) {
  2346. #pragma unused params
  2347. if(PlayerInfo[playerid][Level] >= 1) {
  2348. if (IsPlayerInAnyVehicle(playerid)) {
  2349. GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
  2350. GetVehicleZAngle(GetPlayerVehicleID(playerid), Pos[playerid][3]);
  2351. SetPlayerCameraPos(playerid, 1929.0, 2137.0, 11.0);
  2352. SetPlayerCameraLookAt(playerid,1935.0, 2138.0, 11.5);
  2353. SetVehiclePos(GetPlayerVehicleID(playerid), 1974.0,2162.0,11.0);
  2354. SetVehicleZAngle(GetPlayerVehicleID(playerid), -90);
  2355. SetTimerEx("RepairCar",5000,0,"i",playerid);
  2356. return SendClientMessage(playerid,blue,"Tu vehiculo estara listo en 5 segundos...");
  2357. } else return SendClientMessage(playerid,red,"ERROR: No estas en un vehiculo!");
  2358. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 1 para usar este comando");
  2359. }
  2360.  
  2361. dcmd_ltune(playerid,params[]) {
  2362. #pragma unused params
  2363. if(PlayerInfo[playerid][Level] >= 1 || PlayerInfo[playerid][pVip] >= 2) {
  2364. if(IsPlayerInAnyVehicle(playerid)) {
  2365. new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
  2366. switch(LModel)
  2367. {
  2368. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  2369. return SendClientMessage(playerid,red,"ERROR: No puedes tunear este vehiculo!");
  2370. }
  2371. CMDMessageToAdmins(playerid,"LTUNE");
  2372. SetVehicleHealth(LVehicleID,2000.0);
  2373. TuneLCar(LVehicleID);
  2374. return PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  2375. } else return SendClientMessage(playerid,red,"ERROR: No estas en un vehiculo!");
  2376. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 1 para usar este comando");
  2377. }
  2378.  
  2379. dcmd_lhy(playerid,params[]) {
  2380. #pragma unused params
  2381. if(PlayerInfo[playerid][Level] >= 1) {
  2382. if(IsPlayerInAnyVehicle(playerid)) {
  2383. new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
  2384. switch(LModel)
  2385. {
  2386. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  2387. return SendClientMessage(playerid,red,"ERROR: No puedes tunear este vehiculo!");
  2388. }
  2389. AddVehicleComponent(LVehicleID, 1087);
  2390. return PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  2391. } else return SendClientMessage(playerid,red,"ERROR: No estas en un vehiculo!");
  2392. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 1 para usar este comando");
  2393. }
  2394.  
  2395. dcmd_lcar(playerid,params[]) {
  2396. #pragma unused params
  2397. if(PlayerInfo[playerid][Level] >= 2) {
  2398. if (!IsPlayerInAnyVehicle(playerid)) {
  2399. CarSpawner(playerid,415);
  2400. CMDMessageToAdmins(playerid,"LCAR");
  2401. return SendClientMessage(playerid,blue,"Disfruta tu nuevo auto!");
  2402. } else return SendClientMessage(playerid,red,"ERROR: Ya estas en un vehiculo!");
  2403. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  2404. }
  2405.  
  2406. dcmd_lbike(playerid,params[]) {
  2407. #pragma unused params
  2408. if(PlayerInfo[playerid][Level] >= 2) {
  2409. if (!IsPlayerInAnyVehicle(playerid)) {
  2410. CarSpawner(playerid,522);
  2411. CMDMessageToAdmins(playerid,"LBIKE");
  2412. return SendClientMessage(playerid,blue,"Disfruta tu nueva moto!");
  2413. } else return SendClientMessage(playerid,red,"ERROR: Ya estas en un vehiculo!");
  2414. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  2415. }
  2416.  
  2417. dcmd_lheli(playerid,params[]) {
  2418. #pragma unused params
  2419. if(PlayerInfo[playerid][Level] >= 2) {
  2420. if (!IsPlayerInAnyVehicle(playerid)) {
  2421. CarSpawner(playerid,487);
  2422. CMDMessageToAdmins(playerid,"LHELI");
  2423. return SendClientMessage(playerid,blue,"Disfruta tu nuevo helicoptero!");
  2424. } else return SendClientMessage(playerid,red,"ERROR: Ya estas en un vehiculo!");
  2425. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  2426. }
  2427.  
  2428. dcmd_lboat(playerid,params[]) {
  2429. #pragma unused params
  2430. if(PlayerInfo[playerid][Level] >= 2) {
  2431. if (!IsPlayerInAnyVehicle(playerid)) {
  2432. CarSpawner(playerid,493);
  2433. CMDMessageToAdmins(playerid,"LBOAT");
  2434. return SendClientMessage(playerid,blue,"Disfruta tu nuevo barco!");
  2435. } else return SendClientMessage(playerid,red,"ERROR: Ya estas en un vehiculo!");
  2436. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  2437. }
  2438.  
  2439. dcmd_lplane(playerid,params[]) {
  2440. #pragma unused params
  2441. if(PlayerInfo[playerid][Level] >= 2) {
  2442. if (!IsPlayerInAnyVehicle(playerid)) {
  2443. CarSpawner(playerid,513);
  2444. CMDMessageToAdmins(playerid,"LPLANE");
  2445. return SendClientMessage(playerid,blue,"Disfruta tu nuevo avion!");
  2446. } else return SendClientMessage(playerid,red,"ERROR: Ya estas en un vehiculo!");
  2447. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  2448. }
  2449.  
  2450. dcmd_lnos(playerid,params[]) {
  2451. #pragma unused params
  2452. if(PlayerInfo[playerid][Level] >= 1) {
  2453. if(IsPlayerInAnyVehicle(playerid)) {
  2454. switch(GetVehicleModel( GetPlayerVehicleID(playerid) )) {
  2455. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  2456. return SendClientMessage(playerid,red,"ERROR: No puedes tunear este vehiculo!");
  2457. }
  2458. AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  2459. return PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  2460. } else return SendClientMessage(playerid,red,"ERROR: Necesitas estar en un vehiculo.");
  2461. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 1 para usar este comando");
  2462. }
  2463.  
  2464. dcmd_linkcar(playerid,params[]) {
  2465. #pragma unused params
  2466. if(IsPlayerInAnyVehicle(playerid)) {
  2467. LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(playerid));
  2468. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(playerid));
  2469. return SendClientMessage(playerid,lightblue, "Tu vehiculo ahora esta en tu mundo virtual e interior");
  2470. } else return SendClientMessage(playerid,red,"ERROR: Necesitas estar en un vehiculo.");
  2471. }
  2472.  
  2473. dcmd_car(playerid,params[]) {
  2474. if(PlayerInfo[playerid][Level] >= 3) {
  2475. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); tmp3 = strtok(params,Index);
  2476. if(!strlen(tmp)) return SendClientMessage(playerid, red, "USE: /car [modelo/nombre] [color1] [color2]");
  2477. new car, colour1, colour2;
  2478. if(!IsNumeric(tmp)) car = GetVehicleModelIDFromName(tmp); else car = strval(tmp);
  2479. if(car < 400 || car > 611) return SendClientMessage(playerid, red, "ERROR: Modelo de vehiculo invalido");
  2480. if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
  2481. if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
  2482. if(PlayerInfo[playerid][pCar] != -1 && !IsPlayerAdmin(playerid) ) CarDeleter(PlayerInfo[playerid][pCar]);
  2483. new LVehicleID,Float:X,Float:Y,Float:Z, Float:Angle,int1; GetPlayerPos(playerid, X,Y,Z); GetPlayerFacingAngle(playerid,Angle); int1 = GetPlayerInterior(playerid);
  2484. LVehicleID = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1); LinkVehicleToInterior(LVehicleID,int1);
  2485. PlayerInfo[playerid][pCar] = LVehicleID;
  2486. CMDMessageToAdmins(playerid,"CAR");
  2487. format(string2, sizeof(string2), "%s ha aparecido un \"%s\" (Modelo:%d) color (%d, %d), el %0.2f, %0.2f, %0.2f", pName(playerid), VehicleNames[car-400], car, colour1, colour2, X, Y, Z);
  2488. SaveToFile("CarSpawns",string2);
  2489. format(string2, sizeof(string2), "Has aparecido un \"%s\" (Modelo:%d) color (%d, %d)", VehicleNames[car-400], car, colour1, colour2);
  2490. return SendClientMessage(playerid,lightblue, string2);
  2491. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  2492. }
  2493.  
  2494. dcmd_carhealth(playerid,params[]) {
  2495. if(PlayerInfo[playerid][Level] >= 3) {
  2496. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2497. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USE: /carhealth [jugador] [cantidad]");
  2498. new player1 = strval(tmp), health = strval(tmp2);
  2499. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2500. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2501. if(IsPlayerInAnyVehicle(player1)) {
  2502. CMDMessageToAdmins(playerid,"CARHEALTH");
  2503. format(string2, sizeof(string2), "Has puesto la vida del vehiculo de \"%s\" en '%d", pName(player1), health); SendClientMessage(playerid,blue,string2);
  2504. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" ha puesto la vida de tu vehiculo en '%d'", pName(playerid), health); SendClientMessage(player1,blue,string2); }
  2505. return SetVehicleHealth(GetPlayerVehicleID(player1), health);
  2506. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta en un vehiculo");
  2507. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  2508. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  2509. }
  2510.  
  2511. dcmd_carcolour(playerid,params[]) {
  2512. if(PlayerInfo[playerid][Level] >= 3) {
  2513. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); tmp3 = strtok(params,Index);
  2514. if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USE: /carcolour [jugador] [color1] [color2]");
  2515. new player1 = strval(tmp), colour1, colour2;
  2516. if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
  2517. if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
  2518. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2519. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2520. if(IsPlayerInAnyVehicle(player1)) {
  2521. CMDMessageToAdmins(playerid,"CARCOLOUR");
  2522. format(string2, sizeof(string2), "Has cambiado el color del %s de \"%s's\" a '%d,%d'", pName(player1), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2 ); SendClientMessage(playerid,blue,string2);
  2523. if(player1 != playerid) { format(string2,sizeof(string2),"El Administrador \"%s\" ha cambiado el color de tu %s a '%d,%d''", pName(playerid), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2 ); SendClientMessage(player1,blue,string2); }
  2524. return ChangeVehicleColor(GetPlayerVehicleID(player1), colour1, colour2);
  2525. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta en un vehiculo");
  2526. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta conectado");
  2527. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  2528. }
  2529.  
  2530. dcmd_god(playerid,params[]) {
  2531. #pragma unused params
  2532. if(PlayerInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid)) {
  2533. if(PlayerInfo[playerid][God] == 0) {
  2534. PlayerInfo[playerid][God] = 1;
  2535. SetPlayerHealth(playerid,100000);
  2536. GivePlayerWeapon(playerid,16,50000); GivePlayerWeapon(playerid,26,50000);
  2537. SendClientMessage(playerid,green,"GODMODE ACTIVADO");
  2538. return CMDMessageToAdmins(playerid,"GOD");
  2539. } else {
  2540. PlayerInfo[playerid][God] = 0;
  2541. SendClientMessage(playerid,red,"GODMODE DESACTIVADO");
  2542. SetPlayerHealth(playerid, 100);
  2543. } return GivePlayerWeapon(playerid,35,0);
  2544. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 6 para usar este comando");
  2545. }
  2546.  
  2547. dcmd_sgod(playerid,params[]) {
  2548. #pragma unused params
  2549. if(PlayerInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid)) {
  2550. if(PlayerInfo[playerid][God] == 0) {
  2551. PlayerInfo[playerid][God] = 1;
  2552. SetPlayerHealth(playerid,100000);
  2553. GivePlayerWeapon(playerid,16,50000); GivePlayerWeapon(playerid,26,50000);
  2554. return SendClientMessage(playerid,green,"GODMODE ACTIVADO");
  2555. } else {
  2556. PlayerInfo[playerid][God] = 0;
  2557. SendClientMessage(playerid,red,"GODMODE DESACTIVADO");
  2558. SetPlayerHealth(playerid, 100); return GivePlayerWeapon(playerid,35,0); }
  2559. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 6 para usar este comando");
  2560. }
  2561.  
  2562. dcmd_godcar(playerid,params[]) {
  2563. #pragma unused params
  2564. if(PlayerInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid)) {
  2565. if(IsPlayerInAnyVehicle(playerid)) {
  2566. if(PlayerInfo[playerid][GodCar] == 0) {
  2567. PlayerInfo[playerid][GodCar] = 1;
  2568. CMDMessageToAdmins(playerid,"GODCAR");
  2569. return SendClientMessage(playerid,green,"GODCARMODE ACTIVADO");
  2570. } else {
  2571. PlayerInfo[playerid][GodCar] = 0;
  2572. return SendClientMessage(playerid,red,"GODCARMODE DESACTIVADO"); }
  2573. } else return SendClientMessage(playerid,red,"ERROR: Necesitas estar en un vehiculo para usar este comando");
  2574. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 6 para usar este comando");
  2575. }
  2576.  
  2577. dcmd_die(playerid,params[]) {
  2578. #pragma unused params
  2579. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid)) {
  2580. new Float:x, Float:y, Float:z ;
  2581. GetPlayerPos( playerid, Float:x, Float:y, Float:z );
  2582. CreateExplosion(Float:x+10, Float:y, Float:z, 8,10.0);
  2583. CreateExplosion(Float:x-10, Float:y, Float:z, 8,10.0);
  2584. CreateExplosion(Float:x, Float:y+10, Float:z, 8,10.0);
  2585. CreateExplosion(Float:x, Float:y-10, Float:z, 8,10.0);
  2586. CreateExplosion(Float:x+10, Float:y+10, Float:z, 8,10.0);
  2587. CMDMessageToAdmins(playerid,"DIE");
  2588. CreateExplosion(Float:x-10, Float:y+10, Float:z, 8,10.0);
  2589. return CreateExplosion(Float:x-10, Float:y-10, Float:z, 8,10.0);
  2590. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 4 para usar este comando");
  2591. }
  2592.  
  2593. dcmd_getid(playerid,params[]) {
  2594. if(!strlen(params)) return SendClientMessage(playerid,blue,"Uso Correcto: /getid [parte del nick]");
  2595. new found, playername[MAX_PLAYER_NAME];
  2596. format(string2,sizeof(string2),"Buscado por: \"%s\" ",params);
  2597. SendClientMessage(playerid,blue,string2);
  2598. for(new i=0; i <= MAX_PLAYERS; i++)
  2599. {
  2600. if(IsPlayerConnected(i))
  2601. {
  2602. GetPlayerName(i, playername, MAX_PLAYER_NAME);
  2603. new namelen = strlen(playername);
  2604. new bool:searched=false;
  2605. for(new pos=0; pos <= namelen; pos++)
  2606. {
  2607. if(searched != true)
  2608. {
  2609. if(strfind(playername,params,true) == pos)
  2610. {
  2611. found++;
  2612. format(string2,sizeof(string2),"%d. %s (ID %d)",found,playername,i);
  2613. SendClientMessage(playerid, green ,string2);
  2614. searched = true;
  2615. }
  2616. }
  2617. }
  2618. }
  2619. }
  2620. if(found == 0) SendClientMessage(playerid, lightblue, "Ningun jugador contiene esa parte en su nick");
  2621. return 1;
  2622. }
  2623.  
  2624. dcmd_asay(playerid,params[]) {
  2625. #pragma unused params
  2626. if(PlayerInfo[playerid][Level] >= 3) {
  2627. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /asay [texto]");
  2628. format(string2, sizeof(string2), "| - Admin %s: %s", PlayerName2(playerid), params[0] );
  2629. return SendClientMessageToAll(COLOR_PINK,string2);
  2630. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador para usar este comando");
  2631. }
  2632.  
  2633. dcmd_decir(playerid,params[]) {
  2634. #pragma unused params
  2635. if(PlayerInfo[playerid][pVip] >= 4) {
  2636. if (UsarCMD[playerid] == 1) return SendClientMessage(playerid,COLOR_RED,"Debes Esperar 5 Minutos Para Volver A Usar Este Comando !");
  2637. if(DetectarSpam(params))
  2638. {
  2639. if(PlayerInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid))
  2640. {
  2641. GetPlayerName(playerid,string2,sizeof(string2));
  2642. ShowPlayerDialog(playerid, 12, DIALOG_STYLE_MSGBOX, "{00FFFF}Anti Spam", "{FFFFFF}No Puedes Hacer Spam o Seras {FF0000}Baneado", "Aceptar", "");
  2643. format(string2,sizeof(string2),"[INFO-ADMINS]: {FFFFFF}%s {FF0000}Id: {FFFFFF}[%i] {FF0000}Posible Spam Dijo: %s",string2,playerid,params);
  2644. MessageToAdmins(COLOR_RED,string2);
  2645. return 0;
  2646. }
  2647. }
  2648. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /decir [texto]");
  2649. format(string2, sizeof(string2), "| - Vip %s [%i]: %s", PlayerName2(playerid),playerid, params[0] );
  2650. SendClientMessageToAll(LIGHTBLUE2,string2);
  2651. SendClientMessage(playerid,COLOR_YELLOW,"Ahora debes esperar 5 minutos para usar otro comando platinum.");
  2652. UsarCMD[playerid] = 1;
  2653. return SetTimerEx("Listo", 300000, false, "i", playerid);
  2654. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Usuario Vip Nivel 4 (platinum)");
  2655.  
  2656. }
  2657.  
  2658. dcmd_msay(playerid,params[]) {
  2659. #pragma unused params
  2660. if(PlayerInfo[playerid][Level] >= 1) {
  2661. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /msay [texto]");
  2662. format(string2, sizeof(string2), "| - Admin %s: %s", PlayerName2(playerid), params[0] );
  2663. return SendClientMessageToAll(LIGHTBLUE2,string2);
  2664. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Moderador para usar este comando");
  2665. }
  2666.  
  2667. dcmd_setping(playerid,params[]) {
  2668. if(PlayerInfo[playerid][Level] >= 6 && IsPlayerAdmin(playerid)) {
  2669. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setping [ping] 0=Desactivado");
  2670. new ping = strval(params);
  2671. ServerInfo[MaxPing] = ping;
  2672. CMDMessageToAdmins(playerid,"SETPING");
  2673. format(file,sizeof(file),"ladmin/config/Config.ini");
  2674. dini_IntSet(file,"MaxPing",ping);
  2675. for(new i = 0; i <= MAX_PLAYERS; i++) if(IsPlayerConnected(i)) PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2676. if(ping == 0) format(string2,sizeof(string2),"El Administrador %s ha desactivado el ping maximo", PlayerName2(playerid), ping);
  2677. else format(string2,sizeof(string2),"El Administrador %s ha puesto el maximo ping en %d", PlayerName2(playerid), ping);
  2678. return SendClientMessageToAll(blue,string2);
  2679. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 6 para usar este comando");
  2680. }
  2681.  
  2682. dcmd_highlight(playerid,params[]) {
  2683. if(PlayerInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid)) {
  2684. if(!strlen(params)) return SendClientMessage(playerid,red,"USE: /highlight [jugador]");
  2685. new player1, playername[MAX_PLAYER_NAME];
  2686. player1 = strval(params);
  2687.  
  2688. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2689. GetPlayerName(player1, playername, sizeof(playername));
  2690. if(PlayerInfo[player1][blip] == 0) {
  2691. CMDMessageToAdmins(playerid,"HIGHLIGHT");
  2692. PlayerInfo[player1][pColour] = GetPlayerColor(player1);
  2693. PlayerInfo[player1][blip] = 1;
  2694. BlipTimer[player1] = SetTimerEx("HighLight", 1000, 1, "i", player1);
  2695. format(string2,sizeof(string2),"Has resaltado el marcador de %s", playername);
  2696. } else {
  2697. KillTimer( BlipTimer[player1] );
  2698. PlayerInfo[player1][blip] = 0;
  2699. SetPlayerColor(player1, PlayerInfo[player1][pColour] );
  2700. format(string2,sizeof(string2),"Has parado de resaltar el marcador de %s", playername);
  2701. }
  2702. return SendClientMessage(playerid,blue,string2);
  2703. } else return SendClientMessage(playerid, red, "ERROR: El jugador no esta conectado");
  2704. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 6 para usar este comando");
  2705. }
  2706.  
  2707. dcmd_setgravity(playerid,params[]) {
  2708. if(PlayerInfo[playerid][Level] >= 6) {
  2709. new pame[MAX_PLAYER_NAME];
  2710. GetPlayerName(playerid, pame, sizeof(pame));
  2711. if(!strcmp(Nick,pame,true) || !strcmp(NickAutorizado,pame,true))
  2712. {
  2713. if(!strlen(params)||!(strval(params)<=50&&strval(params)>=-50)) return SendClientMessage(playerid,red,"USE: /setgravity <-50.0 - 50.0>");
  2714. CMDMessageToAdmins(playerid,"SETGRAVITY");
  2715. new adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname)); new Float:Gravity = floatstr(params);format(string2,sizeof(string2),"El Admnistrador %s ha cambiado la gravedad a %f",adminname,Gravity);
  2716. SetGravity(Gravity); return SendClientMessageToAll(blue,string2);
  2717. } else return SendClientMessage(playerid,red,"ERROR: Solo Admin Usa este CMD!");
  2718. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 6 para usar este comando");
  2719. }
  2720.  
  2721. dcmd_lcredits(playerid,params[]) {
  2722. #pragma unused params
  2723. return SendClientMessage(playerid,green,"LAdmin. Created by LethaL. Modificacion Por Admin Team Version: 6. Released: 11/2011");
  2724. }
  2725.  
  2726. dcmd_serverinfo(playerid,params[]) {
  2727. #pragma unused params
  2728. new TotalVehicles = CreateVehicle(411, 0, 0, 0, 0, 0, 0, 1000); DestroyVehicle(TotalVehicles);
  2729. new numo = CreateObject(1245,0,0,1000,0,0,0); DestroyObject(numo);
  2730. new nump = CreatePickup(371,2,0,0,1000); DestroyPickup(nump);
  2731. new gz = GangZoneCreate(3,3,5,5); GangZoneDestroy(gz);
  2732.  
  2733. new model[250], nummodel;
  2734. for(new i=1;i<TotalVehicles;i++) model[GetVehicleModel(i)-400]++;
  2735. for(new i=0;i<250;i++) if(model[i]!=0) nummodel++;
  2736.  
  2737. format(string2,sizeof(string2),"Server Info: [ Players Connected: %d || Maximum Players: %d ] [Ratio %0.2f ]",ConnectedPlayers(),GetMaxPlayers(),Float:ConnectedPlayers() / Float:GetMaxPlayers() );
  2738. SendClientMessage(playerid,green,string2);
  2739. format(string2,sizeof(string2),"Server Info: [ Vehicles: %d || Models %d || Players In Vehicle: %d || InCar %d / OnBike %d ]",TotalVehicles-1,nummodel, InVehCount(),InCarCount(),OnBikeCount() );
  2740. SendClientMessage(playerid,green,string2);
  2741. format(string2,sizeof(string2),"Server Info: [ Objects: %d || Pickups %d || Gangzones %d ]",numo-1, nump, gz);
  2742. SendClientMessage(playerid,green,string2);
  2743. format(string2,sizeof(string2),"Server Info: [ Players In Jail %d || Players Frozen %d || Muted %d ]",JailedPlayers(),FrozenPlayers(), MutedPlayers() );
  2744. return SendClientMessage(playerid,green,string2);
  2745. }
  2746.  
  2747. dcmd_announce(playerid,params[]) {
  2748. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid)) {
  2749. if(!strlen(params)) return SendClientMessage(playerid,red,"USE: /announce <texto>");
  2750. if(!IsValidAnnounce(params)) return SendClientMessage(playerid,red,"[INFO]: Signos Invalidos");
  2751. CMDMessageToAdmins(playerid,"ANNOUNCE");
  2752. return GameTextAll(params,1000,1);
  2753. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 4 para usar este comando");
  2754. }
  2755.  
  2756. dcmd_anuncio(playerid,params[]) {
  2757. #pragma unused params
  2758. if(PlayerInfo[playerid][pVip] >= 4) {
  2759. if (UsarCMD[playerid] == 1) return SendClientMessage(playerid,COLOR_RED,"Debes Esperar 5 Minutos Para Volver A Usar Este Comando !");
  2760. if(DetectarSpam(params))
  2761. {
  2762. if(PlayerInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid))
  2763. {
  2764. GetPlayerName(playerid,string2,sizeof(string2));
  2765. ShowPlayerDialog(playerid, 12, DIALOG_STYLE_MSGBOX, "{00FFFF}Anti Spam", "{FFFFFF}No Puedes Hacer Spam o Seras {FF0000}Baneado", "Aceptar", "");
  2766. format(string2,sizeof(string2),"[INFO-ADMINS]: {FFFFFF}%s {FF0000}Id: {FFFFFF}[%i] {FF0000}Posible Spam Dijo: %s",string2,playerid,params);
  2767. MessageToAdmins(COLOR_RED,string2);
  2768. return 0;
  2769. }
  2770. }
  2771. if(!strlen(params)) return SendClientMessage(playerid,red,"USE: /anuncio <texto>");
  2772. if(!IsValidAnnounce(params)) return SendClientMessage(playerid,red,"[INFO]: Signos Invalidos");
  2773. CMDMessageToVip(playerid,"ANUNCIO");
  2774. SendClientMessage(playerid,COLOR_YELLOW,"Ahora debes esperar 5 minutos para usar otro comando platinum.");
  2775. UsarCMD[playerid] = 1;
  2776. SetTimerEx("Listo", 300000, false, "i", playerid);
  2777. return GameTextAll(params,1000,1);
  2778. } else return SendClientMessage(playerid,COLOR_RED,"Usted No Es Un Player PLATINUM.");
  2779. }
  2780.  
  2781. dcmd_announce2(playerid,params[]) {
  2782. if(PlayerInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid)) {
  2783. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index) ,tmp3 = strtok(params,Index);
  2784. if(!strlen(tmp)||!strlen(tmp2)||!strlen(tmp3)) return SendClientMessage(playerid,red,"USE: /announce <estilo> <tiempo> <texto>");
  2785. if(!(strval(tmp) >= 0 && strval(tmp) <= 6) || strval(tmp) == 2) return SendClientMessage(playerid,red,"ERROR: Estilo de texto invalido. Range: 0 - 6");
  2786. CMDMessageToAdmins(playerid,"ANNOUNCE2");
  2787. return GameTextAll(params[(strlen(tmp)+strlen(tmp2)+2)], strval(tmp2), strval(tmp));
  2788. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 6 para usar este comando");
  2789. }
  2790.  
  2791. dcmd_lslowmo(playerid,params[]) {
  2792. #pragma unused params
  2793. if(PlayerInfo[playerid][Level] >= 1) {
  2794. new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); CreatePickup(1241, 4, x, y, z);
  2795. return CMDMessageToAdmins(playerid,"LSLOWMO");
  2796. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 1 para usar este comando");
  2797. }
  2798.  
  2799. dcmd_jetpack(playerid,params[]) {
  2800. if(!strlen(params)) {
  2801. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2802. SendClientMessage(playerid,blue,"Jetpack Aparecido.");
  2803. CMDMessageToAdmins(playerid,"JETPACK");
  2804. return SetPlayerSpecialAction(playerid, 2);
  2805. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  2806. } else {
  2807. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  2808. player1 = strval(params);
  2809. if(PlayerInfo[playerid][Level] >= 4) {
  2810. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2811. CMDMessageToAdmins(playerid,"JETPACK"); SetPlayerSpecialAction(player1, 2);
  2812. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2813. format(string2,sizeof(string2),"El Administrador \"%s\" te ha dado un jetpack",adminname); SendClientMessage(player1,blue,string2);
  2814. format(string2,sizeof(string2),"Le has dado a %s un jetpack", playername);
  2815. return SendClientMessage(playerid,blue,string2);
  2816. } else return SendClientMessage(playerid, red, "ERROR: El jugador no esta conectado o eres tu mismo!");
  2817. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 4 para usar este comando");
  2818. }
  2819. }
  2820.  
  2821. dcmd_flip(playerid,params[]) {
  2822. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2823. if(!strlen(params)) {
  2824. if(IsPlayerInAnyVehicle(playerid)) {
  2825. new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle; GetPlayerPos(playerid, X, Y, Z); VehicleID = GetPlayerVehicleID(playerid);
  2826. GetVehicleZAngle(VehicleID, Angle); SetVehiclePos(VehicleID, X, Y, Z); SetVehicleZAngle(VehicleID, Angle); SetVehicleHealth(VehicleID,1000.0);
  2827. CMDMessageToAdmins(playerid,"FLIP"); return SendClientMessage(playerid, blue,"Vehiculo Enderezado. Tambien puedes hacer /flip [jugador]");
  2828. } else return SendClientMessage(playerid,red,"ERROR: No estas en un vehiculo. Tambien puedes hacer /flip [jugador]");
  2829. }
  2830. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  2831. player1 = strval(params);
  2832.  
  2833. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2834. CMDMessageToAdmins(playerid,"FLIP");
  2835. if (IsPlayerInAnyVehicle(player1)) {
  2836. new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle; GetPlayerPos(player1, X, Y, Z); VehicleID = GetPlayerVehicleID(player1);
  2837. GetVehicleZAngle(VehicleID, Angle); SetVehiclePos(VehicleID, X, Y, Z); SetVehicleZAngle(VehicleID, Angle); SetVehicleHealth(VehicleID,1000.0);
  2838. CMDMessageToAdmins(playerid,"FLIP");
  2839. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2840. format(string2,sizeof(string2),"El AdministraDor %s ha enderezado tu vehiculo",adminname); SendClientMessage(player1,blue,string2);
  2841. format(string2,sizeof(string2),"Has enderezado el vehiculo de %s", playername);
  2842. return SendClientMessage(playerid, blue,string2);
  2843. } else return SendClientMessage(playerid,red,"ERROR: El jugador no esta en un vehiculo!");
  2844. } else return SendClientMessage(playerid, red, "ERROR: El jugador no esta conectado o eres tu mismo!");
  2845. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  2846. }
  2847.  
  2848. dcmd_vflip(playerid,params[]) {
  2849. #pragma unused params
  2850. if(PlayerInfo[playerid][pVip] >= 2) {
  2851. if(IsPlayerInAnyVehicle(playerid)) {
  2852. new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle; GetPlayerPos(playerid, X, Y, Z); VehicleID = GetPlayerVehicleID(playerid);
  2853. GetVehicleZAngle(VehicleID, Angle); SetVehiclePos(VehicleID, X, Y, Z); SetVehicleZAngle(VehicleID, Angle);
  2854. CMDMessageToAdmins(playerid,"FLIP"); return SendClientMessage(playerid, blue,"Vehiculo Enderezado.");
  2855. } else return SendClientMessage(playerid,red,"ERROR: No estas en un vehiculo.");
  2856.  
  2857. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Player GOLD Para Usar Este Comando");
  2858. }
  2859.  
  2860. dcmd_destroycar(playerid,params[]) {
  2861. #pragma unused params
  2862. if(PlayerInfo[playerid][Level] >= 3) return EraseVehicle(GetPlayerVehicleID(playerid));
  2863. else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  2864. }
  2865. dcmd_ltc(playerid,params[]) {
  2866. #pragma unused params
  2867. if(PlayerInfo[playerid][Level] >= 1) {
  2868. if(!IsPlayerInAnyVehicle(playerid)) {
  2869. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  2870. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  2871. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToAdmins(playerid,"LTunedCar"); AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138);
  2872. AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  2873. AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  2874. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,0);
  2875. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  2876. return PlayerInfo[playerid][pCar] = LVehicleIDt;
  2877. } else return SendClientMessage(playerid,red,"ERROR: Estas en un vehiculo!");
  2878. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 1 para usar este comando");
  2879. }
  2880.  
  2881. dcmd_warp(playerid,params[])
  2882. {
  2883. return dcmd_teleplayer(playerid,params);
  2884. }
  2885.  
  2886. dcmd_teleplayer(playerid,params[]) {
  2887. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2888. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2889. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USE: /teleplayer [jugador1] hacia [jugador2]");
  2890. new player1 = strval(tmp), player2 = strval(tmp2), Float:plocx,Float:plocy,Float:plocz;
  2891. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2892. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2893. if(IsPlayerConnected(player2) && player2 != INVALID_PLAYER_ID) {
  2894. CMDMessageToAdmins(playerid,"TELEPLAYER");
  2895. GetPlayerPos(player2, plocx, plocy, plocz);
  2896. new intid = GetPlayerInterior(player2); SetPlayerInterior(player1,intid);
  2897. SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(player2));
  2898. if (GetPlayerState(player1) == PLAYER_STATE_DRIVER)
  2899. {
  2900. new VehicleID = GetPlayerVehicleID(player1);
  2901. SetVehiclePos(VehicleID, plocx, plocy+4, plocz); LinkVehicleToInterior(VehicleID,intid);
  2902. SetVehicleVirtualWorld(VehicleID, GetPlayerVirtualWorld(player2) );
  2903. }
  2904. else SetPlayerPos(player1,plocx,plocy+2, plocz);
  2905. format(string2,sizeof(string2),"El Administrador \"%s\" ha teletransportado a \"%s\" a la ubicacion de \"%s's\"", pName(playerid), pName(player1), pName(player2) );
  2906. SendClientMessage(player1,blue,string2); SendClientMessage(player2,blue,string2);
  2907. format(string2,sizeof(string2),"Has teletransportado a \"%s\" hacia \"%s's\" location", pName(player1), pName(player2) );
  2908. return SendClientMessage(playerid,blue,string2);
  2909. } else return SendClientMessage(playerid, red, "ERROR: El jugador2 no esta conectado");
  2910. } else return SendClientMessage(playerid, red, "ERROR: El jugador1 no esta conectado");
  2911. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  2912. }
  2913.  
  2914. dcmd_goto(playerid,params[]) {
  2915. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid)) {
  2916. if(!strlen(params)) return SendClientMessage(playerid,red,"USE: /goto [jugador]");
  2917. new player1;
  2918. if(!IsNumeric(params)) player1 = ReturnPlayerID(params);
  2919. else player1 = strval(params);
  2920. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2921. CMDMessageToAdmins(playerid,"GOTO");
  2922. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z); SetPlayerInterior(playerid,GetPlayerInterior(player1));
  2923. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(player1));
  2924. if(GetPlayerState(playerid) == 2) {
  2925. SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z); LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(player1));
  2926. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(player1));
  2927. } else SetPlayerPos(playerid,x+2,y,z);
  2928. format(string2,sizeof(string2),"Has sido transportado hacia \"%s\"", pName(player1));
  2929. return SendClientMessage(playerid,blue,string2);
  2930. } else return SendClientMessage(playerid, red, "ERROR: El jugador no esta conectado o eres tu mismo!");
  2931. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 4 para usar este comando");
  2932. }
  2933.  
  2934. dcmd_vgoto(playerid,params[]) {
  2935. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2936. if(!strlen(params)) return SendClientMessage(playerid,red,"USE: /vgoto [vehiculo]");
  2937. new player1;
  2938. player1 = strval(params);
  2939. CMDMessageToAdmins(playerid,"VGOTO");
  2940. new Float:x, Float:y, Float:z; GetVehiclePos(player1,x,y,z);
  2941. SetPlayerVirtualWorld(playerid,GetVehicleVirtualWorld(player1));
  2942. if(GetPlayerState(playerid) == 2) {
  2943. SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z);
  2944. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetVehicleVirtualWorld(player1) );
  2945. } else SetPlayerPos(playerid,x+2,y,z);
  2946. format(string2,sizeof(string2),"Has sido teletransportado hacia un vehiculo de ID %d", player1);
  2947. return SendClientMessage(playerid,blue,string2);
  2948. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  2949. }
  2950.  
  2951. dcmd_vget(playerid,params[]) {
  2952. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2953. if(!strlen(params)) return SendClientMessage(playerid,red,"USE: /vget [vehiculo]");
  2954. new player1;
  2955. player1 = strval(params);
  2956. CMDMessageToAdmins(playerid,"VGET");
  2957. new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z);
  2958. SetVehiclePos(player1,x+3,y,z);
  2959. SetVehicleVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
  2960. format(string2,sizeof(string2),"Has traido a un vehiculo de IF %d a tu ubicacion", player1);
  2961. return SendClientMessage(playerid,blue,string2);
  2962. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  2963. }
  2964.  
  2965. dcmd_lgoto(playerid,params[]) {
  2966. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2967. new Float:x, Float:y, Float:z;
  2968. new tmp[256];
  2969. new Index; tmp = strtok(params,Index); tmp2 = strtok(params,Index); tmp3 = strtok(params,Index);
  2970. if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3)) return SendClientMessage(playerid,red,"USE: /lgoto [x] [y] [z]");
  2971. x = strval(tmp); y = strval(tmp2); z = strval(tmp3);
  2972. CMDMessageToAdmins(playerid,"LGOTO");
  2973. if(GetPlayerState(playerid) == 2) SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
  2974. else SetPlayerPos(playerid,x,y,z);
  2975. format(string2,sizeof(string2),"Has sido teletransportado a %f, %f, %f", x,y,z); return SendClientMessage(playerid,blue,string2);
  2976. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 2 para usar este comando");
  2977. }
  2978.  
  2979. dcmd_givecar(playerid,params[]) {
  2980. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2981. if(!strlen(params)) return SendClientMessage(playerid,red,"USE: /givecar [jugador]");
  2982. new player1 = strval(params), playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  2983. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2984. if(IsPlayerInAnyVehicle(player1)) return SendClientMessage(playerid,red,"ERROR: El jugador esta en un vehiculo");
  2985. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2986. CMDMessageToAdmins(playerid,"GIVECAR");
  2987. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
  2988. CarSpawner(player1,415);
  2989. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2990. format(string2,sizeof(string2),"El Administrador %s te ha dado un coche",adminname); SendClientMessage(player1,blue,string2);
  2991. format(string2,sizeof(string2),"Le has dado a %s un coche", playername); return SendClientMessage(playerid,blue,string2);
  2992. } else return SendClientMessage(playerid, red, "ERROR: El jugador no esta conectado o eres tu mismo");
  2993. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  2994. }
  2995.  
  2996. dcmd_gethere(playerid,params[]) {
  2997. if(PlayerInfo[playerid][Level] >= 3) {
  2998. if(!strlen(params)) return SendClientMessage(playerid, red, "USE: /gethere [jugador]");
  2999. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3000. player1 = strval(params);
  3001. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3002. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  3003. CMDMessageToAdmins(playerid,"GETHERE");
  3004. new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); SetPlayerInterior(player1,GetPlayerInterior(playerid));
  3005. SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
  3006. if(GetPlayerState(player1) == 2) {
  3007. new VehicleID = GetPlayerVehicleID(player1);
  3008. SetVehiclePos(VehicleID,x+3,y,z); LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
  3009. SetVehicleVirtualWorld(GetPlayerVehicleID(player1),GetPlayerVirtualWorld(playerid));
  3010. } else SetPlayerPos(player1,x+2,y,z);
  3011. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3012. format(string2,sizeof(string2),"Has sido teletransportado a la ubicacion de %s",adminname); SendClientMessage(player1,blue,string2);
  3013. format(string2,sizeof(string2),"Has traido a %s a tu ubicacion", playername); return SendClientMessage(playerid,blue,string2);
  3014. } else return SendClientMessage(playerid, red, "ERROR: El jugador no esta conectado o eres tu mismo");
  3015. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 3 para usar este comando");
  3016. }
  3017.  
  3018. dcmd_get(playerid,params[]) {
  3019. if(PlayerInfo[playerid][Level] >= 4|| IsPlayerAdmin(playerid)) {
  3020. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /get [jugador]");
  3021. new player1;
  3022. if(!IsNumeric(params)) player1 = ReturnPlayerID(params);
  3023. else player1 = strval(params);
  3024. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3025. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  3026. CMDMessageToAdmins(playerid,"GET");
  3027. new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); SetPlayerInterior(player1,GetPlayerInterior(playerid));
  3028. SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
  3029. if(GetPlayerState(player1) == 2) {
  3030. new VehicleID = GetPlayerVehicleID(player1);
  3031. SetVehiclePos(VehicleID,x+3,y,z); LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
  3032. SetVehicleVirtualWorld(GetPlayerVehicleID(player1),GetPlayerVirtualWorld(playerid));
  3033. } else SetPlayerPos(player1,x+2,y,z);
  3034. format(string2,sizeof(string2),"Has sido teletransportado a la ubicacion de \"%s\"", pName(playerid) ); SendClientMessage(player1,blue,string2);
  3035. format(string2,sizeof(string2),"Has traido a \"%s\" a tu ubicacion", pName(player1) );
  3036. return SendClientMessage(playerid,blue,string2);
  3037. } else return SendClientMessage(playerid, red, "ERROR: El jugador no esta conectado o eres tu mismo");
  3038. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 4 para usar este comando");
  3039. }
  3040.  
  3041. dcmd_fu(playerid,params[]) {
  3042. if(PlayerInfo[playerid][Level] >= 6) {
  3043. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /fu [jugador]");
  3044. new player1 = strval(params), NewName[MAX_PLAYER_NAME];
  3045. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3046. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3047. CMDMessageToAdmins(playerid,"FU");
  3048. SetPlayerHealth(player1,1.0); SetPlayerArmour(player1,0.0); ResetPlayerWeapons(player1);ResetPlayerMoney(player1);GivePlayerWeapon(player1,12,1);
  3049. SetPlayerSkin(player1, 137); SetPlayerScore(player1, 0); SetPlayerColor(player1,COLOR_PINK); SetPlayerWeather(player1,19); SetPlayerWantedLevel(player1,6);
  3050. format(NewName,sizeof(NewName),"[NOOB]%s", pName(player1) ); SetPlayerName(player1,NewName);
  3051. if(IsPlayerInAnyVehicle(player1)) EraseVehicle(GetPlayerVehicleID(player1));
  3052. if(player1 != playerid) { format(string2,sizeof(string2),"~w~%s: ~r~Fuck You", pName(playerid) ); GameTextPlayer(player1, string2, 2500, 3); }
  3053. format(string2,sizeof(string2),"Fuck you \"%s\"", pName(player1) ); return SendClientMessage(playerid,blue,string2);
  3054. } else return SendClientMessage(playerid, red, "ERROR: El jugador no esta conectado");
  3055. } else return SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 6 para usar este comando");
  3056. }
  3057.  
  3058. dcmd_warn(playerid,params[]) {
  3059. if(PlayerInfo[playerid][Level] >= 2) {
  3060. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3061. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /warn [playerid] [reason]");
  3062. new warned = strval(tmp);
  3063. if(PlayerInfo[warned][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3064. if(IsPlayerConnected(warned) && warned != INVALID_PLAYER_ID) {
  3065. if(warned != playerid) {
  3066. CMDMessageToAdmins(playerid,"WARN");
  3067. PlayerInfo[warned][Warnings]++;
  3068. if( PlayerInfo[warned][Warnings] == MAX_WARNINGS) {
  3069. format(str, sizeof (str), "***Administrator \"%s\" has kicked \"%s\". (Reason: %s) (Warning: %d/%d)***", pName(playerid), pName(warned), params[1+strlen(tmp)], PlayerInfo[warned][Warnings], MAX_WARNINGS);
  3070. SendClientMessageToAll(grey, str);
  3071. SaveToFile("KickLog",str); Kick(warned);
  3072. return PlayerInfo[warned][Warnings] = 0;
  3073. } else {
  3074. format(str, sizeof (str), "***Administrator \"%s\" has given \"%s\" a warning. (Reason: %s) (Warning: %d/%d)***", pName(playerid), pName(warned), params[1+strlen(tmp)], PlayerInfo[warned][Warnings], MAX_WARNINGS);
  3075. return SendClientMessageToAll(yellow, str);
  3076. }
  3077. } else return SendClientMessage(playerid, red, "ERROR: You cannot warn yourself");
  3078. } else return SendClientMessage(playerid, red, "ERROR: El Jugador No Esta Conectado!");
  3079. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3080. }
  3081.  
  3082. dcmd_kick(playerid,params[]) {
  3083. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3084. if(PlayerInfo[playerid][Level] >= 3) {
  3085. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3086. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /kick [playerid] [reason]");
  3087. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3088. player1 = strval(tmp);
  3089.  
  3090. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3091. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3092. CMDMessageToAdmins(playerid,"KICK");
  3093. if(!strlen(tmp2)) {
  3094. format(string2,sizeof(string2),"%s has been kicked by Administrator %s [no reason given] ",playername,adminname); SendClientMessageToAll(grey,string2);
  3095. SaveToFile("KickLog",string2); print(string2); return Kick(player1);
  3096. } else {
  3097. format(string2,sizeof(string2),"%s has been kicked by Administrator %s [reason: %s] ",playername,adminname,params[2]); SendClientMessageToAll(grey,string2);
  3098. SaveToFile("KickLog",string2); print(string2); return Kick(player1); }
  3099. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! o Tiene Un Alto Nivel De Admin!");
  3100. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3101. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3102. }
  3103.  
  3104. dcmd_ban(playerid,params[]) {
  3105. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3106. if(PlayerInfo[playerid][Level] >= 6) {
  3107. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3108. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /ban [playerid] [reason]");
  3109. if(!strlen(tmp2)) return SendClientMessage(playerid, red, "ERROR: You must give a reason");
  3110. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3111. player1 = strval(tmp);
  3112.  
  3113. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3114. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3115. new year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);
  3116. CMDMessageToAdmins(playerid,"BAN");
  3117. format(string2,sizeof(string2),"%s has been [B]anned by Administrator %s [Reason: %s] [Date: %d/%d/%d] [Time: %d:%d]",playername,adminname,params[2],day,month,year,hour,minuite);
  3118. SendClientMessageToAll(grey,string2);
  3119. SaveToFile("BanLog",string2);
  3120. print(string2);
  3121. if(udb_Exists(PlayerName2(player1)) && PlayerInfo[player1][LoggedIn] == 1) dUserSetINT(PlayerName2(player1)).("banned",1);
  3122. format(string2,sizeof(string2),"banned by Administrator %s. Reason: %s", adminname, params[2] );
  3123. return BanEx(player1, string2);
  3124. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! o Tiene Un Alto Nivel De Admin!");
  3125. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3126. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3127. }
  3128.  
  3129. dcmd_nunban(playerid,params[]) {
  3130. if(PlayerInfo[playerid][Level] >= 6)
  3131. {
  3132. new tmp[256], Index; tmp = strtok(params,Index);
  3133. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /nunban [name]");
  3134. new adminname[MAX_PLAYER_NAME], unbanname[256];
  3135. unbanname = tmp;
  3136. if(udb_Exists(unbanname)) {
  3137. dUserSetINT(unbanname).("banned", 0);
  3138. GetPlayerName(playerid, adminname, sizeof(adminname));
  3139. CMDMessageToAdmins(playerid,"NUNBAN");
  3140. format(string2,sizeof(string2),"Administrador: %s (ID: %d) ha unbanned (Desbaneado) el nombre : \"%s\" .",adminname,playerid,unbanname);
  3141. SendClientMessageToAll(green,string2);
  3142. ShowPlayerDialog(playerid,UNBAN,DIALOG_STYLE_INPUT,"Desbaneo de IP","Desban IP:\n","Desban!","Cancelar");
  3143. } else return SendClientMessage(playerid, red, "ERROR: Ese Nick No Se Encuentra En Nuestra Base de Datos.");
  3144. } else return SendClientMessage(playerid,red,"ERROR: Usted Necesita (LEVEL 7) Para Usar Este Comando");
  3145. return 1;
  3146. }
  3147.  
  3148. dcmd_snombre(playerid,params[]) {
  3149. #pragma unused params
  3150. if(PlayerInfo[playerid][Level] >= 6) {
  3151. CMDMessageToAdmins(playerid,"SNOMBRE");
  3152. if(NombreI == 0) {
  3153. NombreI = 1;
  3154. format(string2,sizeof(string2),"El Administrador \"%s\" Ha desactivado el cambio de nick", pName(playerid) );
  3155. } else {
  3156. NombreI = 0;
  3157. format(string2,sizeof(string2),"El Administrador \"%s\" Ha activado el cambio de nick", pName(playerid) );
  3158. } return SendClientMessageToAll(green,string2);
  3159. } else return SendClientMessage(playerid,red,"ERROR: Necesitas nivel 6 para usar este cmd");
  3160. }
  3161.  
  3162. dcmd_sbotter(playerid,params[]) {
  3163. #pragma unused params
  3164. if(PlayerInfo[playerid][Level] >= 6) {
  3165. CMDMessageToAdmins(playerid,"SBOTTER");
  3166. if(AntiBotts == 0) {
  3167. AntiBotts = 1;
  3168. format(string2,sizeof(string2),"El Administrador \"%s\" Ha Activado el Anti Bots", pName(playerid) );
  3169. } else {
  3170. AntiBotts = 0;
  3171. format(string2,sizeof(string2),"El Administrador \"%s\" Ha Desactivado el Anti Bots", pName(playerid) );
  3172. } return SendClientMessageToAll(green,string2);
  3173. } else return SendClientMessage(playerid,red,"ERROR: Necesitas nivel 6 para usar este cmd");
  3174. }
  3175.  
  3176. dcmd_antifreescore(playerid,params[]) {
  3177. #pragma unused params
  3178. if(PlayerInfo[playerid][Level] >= 6) {
  3179. CMDMessageToAdmins(playerid,"AntiFreeScore");
  3180. if(AntiFreeScore == 0) {
  3181. AntiFreeScore = 1;
  3182. format(string2,sizeof(string2),"El Administrador \"%s\" Ha Activado el Anti FreeScore", pName(playerid) );
  3183. } else {
  3184. AntiFreeScore = 0;
  3185. format(string2,sizeof(string2),"El Administrador \"%s\" Ha Desactivado el Anti FreeScore", pName(playerid) );
  3186. } return SendClientMessageToAll(green,string2);
  3187. } else return SendClientMessage(playerid,red,"ERROR: Necesitas nivel 6 para usar este cmd");
  3188. }
  3189.  
  3190.  
  3191.  
  3192. dcmd_nombre(playerid,params[]) {
  3193. new MiScore; MiScore=GetPlayerScore(playerid);
  3194. if(NombreI == 0){
  3195. if(MiScore>149)
  3196. {
  3197. if(IsValidName(params))
  3198. {
  3199. if(PlayerInfo[playerid][LoggedIn] == 1)
  3200. {
  3201. if(!strlen(params)) return SendClientMessage(playerid, red, "USA: /nombre [NuevoNombre]");
  3202. if (strlen(params) < 3 || strlen(params) > 20) return SendClientMessage(playerid,red,"ERROR: El Nombre Tiene Que Ser Entre 3 y 20 Caracteres");
  3203. new nombre[MAX_PLAYER_NAME];
  3204. if(!strcmp("con",params,true) || !strcmp("aux",params,true) || !strcmp("Admin",params,true) || !strcmp("prn",params,true) || !strcmp("lptn",params,true) || !strcmp("nul",params,true) || !strcmp("Anonymous",params,true) || !strcmp("clock$",params,true)) return SendClientMessage(playerid,red,"ERROR: Esos Nicks estan prohibidos en el servidor");
  3205. if(udb_Exists(params)) return SendClientMessage(playerid, red, "Este Nombre Ya Existe, Seleccione Otro");
  3206. GetPlayerName(playerid, nombre, sizeof(nombre));
  3207. format(string2,sizeof(string2),"%s (ID: %d) Se A Cambiado El Nombre A : \"%s\" .",nombre,playerid,params);
  3208. SendClientMessageToAll(green,string2);
  3209. udb_RenameUser(nombre, params);
  3210. format(string2,sizeof(string2),"{FFFFFF}Recuerda Que La Siguiente Vez Que Jueges Debes\nIniciar En El Sa-Mp Con El Nick De\n\n{FF0000}%s",params);
  3211. ShowPlayerDialog(playerid,78,DIALOG_STYLE_MSGBOX,"Nuevo NickName",string2,"Aceptar","");
  3212. SetPlayerName(playerid, params);
  3213. } else return SendClientMessage(playerid,red,"ERROR: Usted Necesita Identificarse (/login) Para Usar Este Comando");
  3214. } else SendClientMessage(playerid, red, "[ERROR]: Nombre No Admitido/Incorrecto");
  3215. } else SendClientMessage(playerid, red, "Debes Tener Minimo 150 De Score Para Usar Este Comando");
  3216. } else return SendClientMessage(playerid,red,"ERROR: El comando fue desactivado por un administrador");
  3217. return 1;
  3218. }
  3219.  
  3220. dcmd_unban(playerid,params[]) {
  3221. #pragma unused params
  3222. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3223. if(PlayerInfo[playerid][Level] >= 6) {
  3224. ShowPlayerDialog(playerid,UNBAN,DIALOG_STYLE_INPUT,"Desbaneo de IP","Desban IP:\n","Desban!","Cancelar");
  3225. } else return SendClientMessage(playerid,red,"Usted no cuenta con el nivel suficiente para esto. (LVL 7)");
  3226. } else return SendClientMessage(playerid,red,"ERROR: Usted debe identificarse (/login) para usar este comando");
  3227. return 1;
  3228. }
  3229.  
  3230.  
  3231.  
  3232. dcmd_rban(playerid,params[]) {
  3233. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3234. if(PlayerInfo[playerid][Level] >= 6 && IsPlayerAdmin(playerid)) {
  3235. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3236. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /rban [playerid] [reason]");
  3237. if(!strlen(tmp2)) return SendClientMessage(playerid, red, "ERROR: You must give a reason");
  3238. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3239. player1 = strval(tmp);
  3240.  
  3241. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3242. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3243. new year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);
  3244. CMDMessageToAdmins(playerid,"RBAN");
  3245. format(string2,sizeof(string2),"%s has been [R]banned by Administrator %s [Reason: %s] [Date: %d/%d/%d] [Time: %d:%d]",playername,adminname,params[2],day,month,year,hour,minuite);
  3246. SendClientMessageToAll(grey,string2);
  3247. SaveToFile("BanLog",string2);
  3248. print(string2);
  3249. if(udb_Exists(PlayerName2(player1)) && PlayerInfo[player1][LoggedIn] == 1) dUserSetINT(PlayerName2(player1)).("banned",1);
  3250. RangeBan(player1);
  3251. return 1;
  3252. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! o Tiene Un Alto Nivel De Admin!");
  3253. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3254. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3255. }
  3256.  
  3257. dcmd_sban(playerid,params[]) {
  3258. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3259. if(PlayerInfo[playerid][Level] >= 6 && IsPlayerAdmin(playerid)) {
  3260. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3261. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /sban [playerid] [reason]");
  3262. if(!strlen(tmp2)) return SendClientMessage(playerid, red, "ERROR: You must give a reason");
  3263. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3264. player1 = strval(tmp);
  3265.  
  3266. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3267. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3268. new serial[64],year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);
  3269. CMDMessageToAdmins(playerid,"SBAN");
  3270. gpci(player1, serial, sizeof serial);
  3271. format(string2,sizeof(string2),"%s has been [S]banned by Administrator %s [Reason: %s] [Date: %d/%d/%d] [Time: %d:%d]",playername,adminname,params[2],day,month,year,hour,minuite);
  3272. SendClientMessageToAll(grey,string2);
  3273. format(string2,sizeof(string2),"%s Fue [S]Ban Por %s [Reason: %s][Serial:%s]",playername,adminname,params[2],serial);
  3274. if(udb_Exists(PlayerName2(player1)) && PlayerInfo[player1][LoggedIn] == 1) dUserSetINT(PlayerName2(player1)).("banned",1);
  3275. print(string2);
  3276. SaveToFile("BanLog",string2);
  3277. SaveToSerial(serial);
  3278. Ban(player1);
  3279. return 1;
  3280. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! o Tiene Un Alto Nivel De Admin!");
  3281. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3282. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3283. }
  3284.  
  3285. /*dcmd_dnsban(playerid,params[]) {
  3286. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3287. if(PlayerInfo[playerid][Level] >= 6 && IsPlayerAdmin(playerid)) {
  3288. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3289. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /sban [playerid] [reason]");
  3290. if(!strlen(tmp2)) return SendClientMessage(playerid, red, "ERROR: You must give a reason");
  3291. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3292. player1 = strval(tmp);
  3293.  
  3294. new clientMsg[128], File:file;
  3295. if (!fexist("banned_hosts.txt"))
  3296. {
  3297. file = fopen("banned_hosts.txt", io_write);
  3298. }
  3299. else
  3300. {
  3301. file = fopen("banned_hosts.txt", io_append);
  3302. }
  3303. if (file)
  3304. {
  3305. fwrite(file, params);
  3306. fwrite(file, "\r\n");
  3307. fclose(file);
  3308. }
  3309. format(clientMsg, sizeof(clientMsg), "The hostname \"%s\" was successfully banned.", params);
  3310. SendClientMessage(playerid, 0xFF0000FF, clientMsg);
  3311.  
  3312. format(string2,sizeof(string2),"%s has been [S]banned by Administrator %s [Reason: %s] [Date: %d/%d/%d] [Time: %d:%d]",playername,adminname,params[2],day,month,year,hour,minuite);
  3313. SendClientMessageToAll(grey,string2);
  3314.  
  3315. return 1;
  3316. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! o Tiene Un Alto Nivel De Admin!");
  3317. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3318. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3319. }*/
  3320.  
  3321. dcmd_slap(playerid,params[]) {
  3322. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3323. if(PlayerInfo[playerid][Level] >= 2) {
  3324. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3325. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /slap [playerid] [reason/with]");
  3326. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3327. player1 = strval(tmp);
  3328.  
  3329. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3330. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3331. CMDMessageToAdmins(playerid,"SLAP");
  3332. new Float:Health, Float:x, Float:y, Float:z; GetPlayerHealth(player1,Health); SetPlayerHealth(player1,Health-25);
  3333. GetPlayerPos(player1,x,y,z); SetPlayerPos(player1,x,y,z+5); PlayerPlaySound(playerid,1190,0.0,0.0,0.0); PlayerPlaySound(player1,1190,0.0,0.0,0.0);
  3334.  
  3335. if(strlen(tmp2)) {
  3336. format(string2,sizeof(string2),"You have been slapped by Administrator %s %s ",adminname,params[2]); SendClientMessage(player1,red,string2);
  3337. format(string2,sizeof(string2),"You have slapped %s %s ",playername,params[2]); return SendClientMessage(playerid,blue,string2);
  3338. } else {
  3339. format(string2,sizeof(string2),"You have been slapped by Administrator %s ",adminname); SendClientMessage(player1,red,string2);
  3340. format(string2,sizeof(string2),"You have slapped %s",playername); return SendClientMessage(playerid,blue,string2); }
  3341. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! or is the highest level admin");
  3342. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3343. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3344. }
  3345.  
  3346. dcmd_explode(playerid,params[]) {
  3347. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3348. if(PlayerInfo[playerid][Level] >= 3) {
  3349. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3350. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /explode [playerid] [reason]");
  3351. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3352. player1 = strval(tmp);
  3353.  
  3354. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3355. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3356. CMDMessageToAdmins(playerid,"EXPLODE");
  3357. new Float:burnx, Float:burny, Float:burnz; GetPlayerPos(player1,burnx, burny, burnz); CreateExplosion(burnx, burny , burnz, 7,10.0);
  3358.  
  3359. if(strlen(tmp2)) {
  3360. format(string2,sizeof(string2),"You have been exploded by Administrator %s [reason: %s]",adminname,params[2]); SendClientMessage(player1,blue,string2);
  3361. format(string2,sizeof(string2),"You have exploded %s [reason: %s]", playername,params[2]); return SendClientMessage(playerid,blue,string2);
  3362. } else {
  3363. format(string2,sizeof(string2),"You have been exploded by Administrator %s",adminname); SendClientMessage(player1,blue,string2);
  3364. format(string2,sizeof(string2),"You have exploded %s", playername); return SendClientMessage(playerid,blue,string2); }
  3365. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! or is the highest level admin");
  3366. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3367. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3368. }
  3369.  
  3370. dcmd_jail(playerid,params[]) {
  3371. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3372. if(PlayerInfo[playerid][Level] >= 2) {
  3373. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  3374. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /jail [playerid] [minutes] [reason]");
  3375. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3376. player1 = strval(tmp);
  3377.  
  3378. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3379. if(PlayerInfo[player1][Jailed] == 0) {
  3380. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3381. new jtime = strval(tmp2);
  3382. if(jtime == 0) jtime = 9999;
  3383.  
  3384. CMDMessageToAdmins(playerid,"JAIL");
  3385. PlayerInfo[player1][JailTime] = jtime*1000*60;
  3386. SetTimerEx("JailPlayer",5000,0,"d",player1);
  3387. SetTimerEx("Jail1",1000,0,"d",player1);
  3388. PlayerInfo[player1][Jailed] = 1;
  3389.  
  3390. if(jtime == 9999) {
  3391. if(!strlen(params[strlen(tmp2)+1])) format(string2,sizeof(string2),"Administrator %s has jailed %s ",adminname, playername);
  3392. else format(string2,sizeof(string2),"Administrator %s has jailed %s [reason: %s]",adminname, playername, params[strlen(tmp)+1] );
  3393. } else {
  3394. if(!strlen(tmp3)) format(string2,sizeof(string2),"Administrator %s has jailed %s for %d minutes",adminname, playername, jtime);
  3395. else format(string2,sizeof(string2),"Administrator %s has jailed %s for %d minutes [reason: %s]",adminname, playername, jtime, params[strlen(tmp2)+strlen(tmp)+1] );
  3396. }
  3397. return SendClientMessageToAll(blue,string2);
  3398. } else return SendClientMessage(playerid, red, "Player is already in jail");
  3399. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! or is the highest level admin");
  3400. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3401. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3402. }
  3403.  
  3404. dcmd_unjail(playerid,params[]) {
  3405. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3406. if(PlayerInfo[playerid][Level] >= 2) {
  3407. new tmp[256], Index; tmp = strtok(params,Index);
  3408. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /jail [playerid]");
  3409. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3410. player1 = strval(tmp);
  3411.  
  3412. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3413. if(PlayerInfo[player1][Jailed] == 1) {
  3414. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3415. format(string2,sizeof(string2),"Administrator %s has unjailed you",adminname); SendClientMessage(player1,blue,string2);
  3416. format(string2,sizeof(string2),"Administrator %s has unjailed %s",adminname, playername);
  3417. JailRelease(player1);
  3418. return SendClientMessageToAll(blue,string2);
  3419. } else return SendClientMessage(playerid, red, "Player is not in jail");
  3420. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! or is the highest level admin");
  3421. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3422. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3423. }
  3424.  
  3425. dcmd_jailed(playerid,params[]) {
  3426. #pragma unused params
  3427. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3428. if(PlayerInfo[playerid][Level] >= 2) {
  3429. new bool:First2 = false, Count, adminname[MAX_PLAYER_NAME], i;
  3430. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Jailed]) Count++;
  3431. if(Count == 0) return SendClientMessage(playerid,red, "No players are jailed");
  3432.  
  3433. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Jailed]) {
  3434. GetPlayerName(i, adminname, sizeof(adminname));
  3435. if(!First2) { format(string2, sizeof(string2), "Jailed Players: (%d)%s", i,adminname); First2 = true; }
  3436. else format(string2,sizeof(string2),"%s, (%d)%s ",string2,i,adminname);
  3437. }
  3438. return SendClientMessage(playerid,COLOR_WHITE,string2);
  3439. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3440. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3441. }
  3442.  
  3443. dcmd_freeze(playerid,params[]) {
  3444. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3445. if(PlayerInfo[playerid][Level] >= 3) {
  3446. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  3447. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /freeze [playerid] [minutes] [reason]");
  3448. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3449. player1 = strval(tmp);
  3450.  
  3451. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3452. if(PlayerInfo[player1][Frozen] == 0) {
  3453. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3454. new ftime = strval(tmp2);
  3455. if(ftime == 0) ftime = 9999;
  3456.  
  3457. CMDMessageToAdmins(playerid,"FREEZE");
  3458. TogglePlayerControllable(player1,false); PlayerInfo[player1][Frozen] = 1; PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  3459. PlayerInfo[player1][FreezeTime] = ftime*1000*60;
  3460. FreezeTimer[player1] = SetTimerEx("UnFreezeMe",PlayerInfo[player1][FreezeTime],0,"d",player1);
  3461.  
  3462. if(ftime == 9999) {
  3463. if(!strlen(params[strlen(tmp2)+1])) format(string2,sizeof(string2),"Administrator %s has frozen %s ",adminname, playername);
  3464. else format(string2,sizeof(string2),"Administrator %s has frozen %s [reason: %s]",adminname, playername, params[strlen(tmp)+1] );
  3465. } else {
  3466. if(!strlen(tmp3)) format(string2,sizeof(string2),"Administrator %s has frozen %s for %d minutes",adminname, playername, ftime);
  3467. else format(string2,sizeof(string2),"Administrator %s has frozen %s for %d minutes [reason: %s]",adminname, playername, ftime, params[strlen(tmp2)+strlen(tmp)+1] );
  3468. }
  3469. return SendClientMessageToAll(blue,string2);
  3470. } else return SendClientMessage(playerid, red, "Player is already frozen");
  3471. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! or is the highest level admin");
  3472. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3473. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3474. }
  3475.  
  3476. dcmd_unfreeze(playerid,params[]) {
  3477. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3478. if(PlayerInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid)) {
  3479. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /unfreeze [playerid]");
  3480. new player1;
  3481. player1 = strval(params);
  3482.  
  3483. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3484. if(PlayerInfo[player1][Frozen] == 1) {
  3485. CMDMessageToAdmins(playerid,"UNFREEZE");
  3486. UnFreezeMe(player1);
  3487. format(string2,sizeof(string2),"Administrator %s has unfrozen you", PlayerName2(playerid) ); SendClientMessage(player1,blue,string2);
  3488. format(string2,sizeof(string2),"Administrator %s has unfrozen %s", PlayerName2(playerid), PlayerName2(player1));
  3489. return SendClientMessageToAll(blue,string2);
  3490. } else return SendClientMessage(playerid, red, "Player is not frozen");
  3491. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! or is the highest level admin");
  3492. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3493. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3494. }
  3495.  
  3496. dcmd_frozen(playerid,params[]) {
  3497. #pragma unused params
  3498. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3499. if(PlayerInfo[playerid][Level] >= 2) {
  3500. new bool:First2 = false, Count, adminname[MAX_PLAYER_NAME], i;
  3501. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Frozen]) Count++;
  3502. if(Count == 0) return SendClientMessage(playerid,red, "No players are frozen");
  3503.  
  3504. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Frozen]) {
  3505. GetPlayerName(i, adminname, sizeof(adminname));
  3506. if(!First2) { format(string2, sizeof(string2), "Frozen Players: (%d)%s", i,adminname); First2 = true; }
  3507. else format(string2,sizeof(string2),"%s, (%d)%s ",string2,i,adminname);
  3508. }
  3509. return SendClientMessage(playerid,COLOR_WHITE,string2);
  3510. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3511. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3512. }
  3513.  
  3514. dcmd_mute(playerid,params[]) {
  3515. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3516. if(PlayerInfo[playerid][Level] >= 2) {
  3517. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3518. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /mute [playerid] [reason]");
  3519. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3520. player1 = strval(tmp);
  3521.  
  3522. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3523. if(PlayerInfo[player1][Muted] == 0) {
  3524. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3525. CMDMessageToAdmins(playerid,"MUTE");
  3526. PlayerPlaySound(player1,1057,0.0,0.0,0.0); PlayerInfo[player1][Muted] = 1; PlayerInfo[player1][MuteWarnings] = 0;
  3527.  
  3528. if(strlen(tmp2)) {
  3529. format(string2,sizeof(string2),"You have been muted by Administrator %s [reason: %s]",adminname,params[2]); SendClientMessage(player1,blue,string2);
  3530. format(string2,sizeof(string2),"You have muted %s [reason: %s]", playername,params[2]); return SendClientMessage(playerid,blue,string2);
  3531. } else {
  3532. format(string2,sizeof(string2),"You have been muted by Administrator %s",adminname); SendClientMessage(player1,blue,string2);
  3533. format(string2,sizeof(string2),"You have muted %s", playername); return SendClientMessage(playerid,blue,string2); }
  3534. } else return SendClientMessage(playerid, red, "Player is already muted");
  3535. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! or is the highest level admin");
  3536. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3537. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3538. }
  3539.  
  3540. dcmd_unmute(playerid,params[]) {
  3541. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3542. if(PlayerInfo[playerid][Level] >= 2) {
  3543. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /unmute [playerid]");
  3544. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3545. player1 = strval(params);
  3546.  
  3547. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3548. if(PlayerInfo[player1][Muted] == 1) {
  3549. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3550. CMDMessageToAdmins(playerid,"UNMUTE");
  3551. PlayerPlaySound(player1,1057,0.0,0.0,0.0); PlayerInfo[player1][Muted] = 0; PlayerInfo[player1][MuteWarnings] = 0;
  3552. format(string2,sizeof(string2),"You have been unmuted by Administrator %s",adminname); SendClientMessage(player1,blue,string2);
  3553. format(string2,sizeof(string2),"You have unmuted %s", playername); return SendClientMessage(playerid,blue,string2);
  3554. } else return SendClientMessage(playerid, red, "Player is not muted");
  3555. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! or is the highest level admin");
  3556. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3557. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3558. }
  3559.  
  3560. dcmd_muted(playerid,params[]) {
  3561. #pragma unused params
  3562. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3563. if(PlayerInfo[playerid][Level] >= 2) {
  3564. new bool:First2 = false, Count, adminname[MAX_PLAYER_NAME], i;
  3565. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Muted]) Count++;
  3566. if(Count == 0) return SendClientMessage(playerid,red, "No players are muted");
  3567.  
  3568. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Muted]) {
  3569. GetPlayerName(i, adminname, sizeof(adminname));
  3570. if(!First2) { format(string2, sizeof(string2), "Muted Players: (%d)%s", i,adminname); First2 = true; }
  3571. else format(string2,sizeof(string2),"%s, (%d)%s ",string2,i,adminname);
  3572. }
  3573. return SendClientMessage(playerid,COLOR_WHITE,string2);
  3574. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3575. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3576. }
  3577.  
  3578. dcmd_akill(playerid,params[]) {
  3579. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3580. if(PlayerInfo[playerid][Level] >= 5|| IsPlayerAdmin(playerid)) {
  3581. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /akill [playerid]");
  3582. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3583. player1 = strval(params);
  3584.  
  3585. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3586. if( (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel] ) )
  3587. return SendClientMessage(playerid, red, "You cannot akill the highest level admin");
  3588. CMDMessageToAdmins(playerid,"AKILL");
  3589. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3590. format(string2,sizeof(string2),"Administrator %s has killed you",adminname); SendClientMessage(player1,blue,string2);
  3591. format(string2,sizeof(string2),"You have killed %s",playername); SendClientMessage(playerid,blue,string2);
  3592. return SetPlayerHealth(player1,0.0);
  3593. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado!");
  3594. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3595. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3596. }
  3597.  
  3598. dcmd_weaps(playerid,params[]) {
  3599. if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid)) {
  3600. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /weaps [playerid]");
  3601. new player1, WeapName[24], slot, weap, ammo, Count, x;
  3602. player1 = strval(params);
  3603.  
  3604. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3605. format(string2,sizeof(string2),"[>> %s Weapons (id:%d) <<]", PlayerName2(player1), player1); SendClientMessage(playerid,blue,string2);
  3606. for (slot = 0; slot < 14; slot++) { GetPlayerWeaponData(player1, slot, weap, ammo); if( ammo != 0 && weap != 0) Count++; }
  3607. if(Count < 1) return SendClientMessage(playerid,blue,"Player has no weapons");
  3608.  
  3609. if(Count >= 1)
  3610. {
  3611. for (slot = 0; slot < 14; slot++)
  3612. {
  3613. GetPlayerWeaponData(player1, slot, weap, ammo);
  3614. if( ammo != 0 && weap != 0)
  3615. {
  3616. GetWeaponName(weap, WeapName, sizeof(WeapName) );
  3617. if(ammo == 65535 || ammo == 1) format(string2,sizeof(string2),"%s%s (1)",string2, WeapName );
  3618. else format(string2,sizeof(string2),"%s%s (%d)",string2, WeapName, ammo );
  3619. x++;
  3620. if(x >= 5)
  3621. {
  3622. SendClientMessage(playerid, blue, string2);
  3623. x = 0;
  3624. format(string2, sizeof(string2), "");
  3625. }
  3626. else format(string2, sizeof(string2), "%s, ", string2);
  3627. }
  3628. }
  3629. if(x <= 4 && x > 0) {
  3630. string2[strlen(string2)-3] = '.';
  3631. SendClientMessage(playerid, blue, string2);
  3632. }
  3633. }
  3634. return 1;
  3635. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado!");
  3636. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3637. }
  3638.  
  3639. dcmd_aka(playerid,params[]) {
  3640. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  3641. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /aka [playerid]");
  3642. new player1, playername[MAX_PLAYER_NAME];
  3643. player1 = strval(params);
  3644. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3645. GetPlayerIp(player1,tmp3,50);
  3646. GetPlayerName(player1, playername, sizeof(playername));
  3647. format(str,sizeof(str),"AKA: [%s id:%d] [%s] %s", playername, player1, tmp3, dini_Get("ladmin/config/aka.txt",tmp3) );
  3648. return SendClientMessage(playerid,blue,str);
  3649. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! or is yourself");
  3650. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3651. }
  3652.  
  3653. dcmd_screen(playerid,params[]) {
  3654. if(PlayerInfo[playerid][Level] >= 2) {
  3655. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3656. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /screen [playerid] [text]");
  3657. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3658. player1 = strval(params);
  3659.  
  3660. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3661. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3662. CMDMessageToAdmins(playerid,"SCREEN");
  3663. format(string2,sizeof(string2),"Administrator %s has sent you a screen message",adminname); SendClientMessage(player1,blue,string2);
  3664. format(string2,sizeof(string2),"You have sent %s a screen message (%s)", playername, params[2]); SendClientMessage(playerid,blue,string2);
  3665.  
  3666. if(PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  3667. {
  3668. format(string2, sizeof(string2), "|-%s(%d) envio a %s(%d) : %s", adminname, playerid, playername, player1, params[2]);
  3669. for (new b = 0; b < MAX_PLAYERS; b++)
  3670. if(IsPlayerConnected(b) && (PlayerInfo[b][Level] >= 3) && b != playerid)
  3671. SendClientMessage(b, lightblue, string2);
  3672. }
  3673.  
  3674. return GameTextPlayer(player1, params[2],4000,3);
  3675. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! o Tiene Un Alto Nivel De Admin!");
  3676. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3677. }
  3678.  
  3679. dcmd_laston(playerid,params[]) {
  3680. if(PlayerInfo[playerid][Level] >= 2) {
  3681. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3682. GetPlayerName(playerid, adminname, sizeof(adminname));
  3683.  
  3684. if(!strlen(params)) {
  3685. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(adminname));
  3686. if(!fexist(file)) return SendClientMessage(playerid, red, "Error: File doesnt exist, player isnt registered");
  3687. if(dUserINT(PlayerName2(playerid)).("LastOn")==0) { format(str, sizeof(str),"Never"); tmp2 = str;
  3688. } else { tmp2 = dini_Get(file,"LastOn"); }
  3689. format(str, sizeof(str),"You were last on the server on %s",tmp2);
  3690. return SendClientMessage(playerid, red, str);
  3691. }
  3692. player1 = strval(params);
  3693. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  3694. CMDMessageToAdmins(playerid,"LASTON");
  3695. GetPlayerName(player1,playername,sizeof(playername)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(playername));
  3696. if(!fexist(file)) return SendClientMessage(playerid, red, "Error: File doesnt exist, player isnt registered");
  3697. if(dUserINT(PlayerName2(player1)).("LastOn")==0) { format(str, sizeof(str),"Never"); tmp2 = str;
  3698. } else { tmp2 = dini_Get(file,"LastOn"); }
  3699. format(str, sizeof(str),"%s was last on the server on %s",playername,tmp2);
  3700. return SendClientMessage(playerid, red, str);
  3701. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado! or is yourself");
  3702. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3703. }
  3704.  
  3705. dcmd_admins(playerid,params[])
  3706. {
  3707. #pragma unused params
  3708. new conteo, admins[1500],texto[128],titulo[128];
  3709. for(new i = 0; i < MAX_PLAYERS; i++)
  3710. {
  3711. if(IsPlayerAdmin(i))
  3712. {
  3713. conteo++;
  3714. }
  3715. else if(PlayerInfo[i][Level] >= 1)
  3716. {
  3717. conteo++;
  3718. }
  3719. }
  3720. if(conteo == 0)return SendClientMessage(playerid,red,"No hay Administradores conectados"); //esto para cuando no alla admins , No saldra el menu
  3721. format(titulo,128,"Admins Conectados: {FFFFFF}>> %d <<",conteo);
  3722. //Se contaron los admins conectados
  3723. for(new i = 0; i < MAX_PLAYERS; i++)
  3724. {
  3725. if(IsPlayerAdmin(i))
  3726. {
  3727. //Si el player es admin RCON...
  3728. format(texto,128,"{FFFFFF}%s [ID: %d] {FF0000}[Nivel: Admin RCON] \n",PlayerName2(i),i);
  3729. strcat(admins,texto);
  3730. }
  3731. else if(PlayerInfo[i][Level] >= 1)
  3732. {
  3733. //Si no es RCON pero si admin normal...
  3734. format(texto,128,"{FFFFFF}%s [ID: %d] {FF0000}[Nivel: %d] \n",PlayerName2(i),i,PlayerInfo[i][Level]);
  3735. strcat(admins,texto);
  3736. }
  3737. }
  3738. ShowPlayerDialog(playerid,78,DIALOG_STYLE_MSGBOX,titulo,admins,"Cerrar","");
  3739. return 1;
  3740. }
  3741.  
  3742. dcmd_listavip(playerid,params[])
  3743. {
  3744. #pragma unused params
  3745. new conteo, vips[7000],texto[128],titulo[128];
  3746. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
  3747. {
  3748. if(PlayerInfo[i][pVip] >= 1)
  3749. {
  3750. conteo++;
  3751. }
  3752. }
  3753. if(conteo == 0)return SendClientMessage(playerid,red,"No hay miembros Vips Conectados"); //Si no hay Vips
  3754. format(titulo,128,"Vips Conectados: {FFFFFF}>> %d <<",conteo);
  3755. //Se contaron los vips conectados
  3756. for(new i = 0; i < MAX_PLAYERS; i++)
  3757. {
  3758. if(PlayerInfo[i][pVip] >= 1)
  3759. {
  3760. //Si el player es VIP
  3761. format(texto,128,"{FFFFFF}%s [ID: %d] {FFD800}[Cuenta: %d] \n",PlayerName2(i),i,PlayerInfo[i][pVip]);
  3762. strcat(vips,texto);
  3763. }
  3764. }
  3765. ShowPlayerDialog(playerid,79,DIALOG_STYLE_LIST,titulo,vips,"Cerrar","");
  3766. return 1;
  3767. }
  3768.  
  3769. dcmd_morning(playerid,params[]) {
  3770. #pragma unused params
  3771. if(PlayerInfo[playerid][Level] >= 1) {
  3772. CMDMessageToAdmins(playerid,"MORNING");
  3773. return SetPlayerTime(playerid,7,0);
  3774. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 1 Para Usar Este Comando");
  3775. }
  3776.  
  3777. dcmd_adminarea(playerid,params[]) {
  3778. #pragma unused params
  3779. if(PlayerInfo[playerid][Level] >= 1) {
  3780. CMDMessageToAdmins(playerid,"ADMINAREA");
  3781. SetPlayerPos(playerid, AdminArea[0], AdminArea[1], AdminArea[2]);
  3782. SetPlayerFacingAngle(playerid, AdminArea[3]);
  3783. SetPlayerInterior(playerid, AdminArea[4]);
  3784. SetPlayerVirtualWorld(playerid, AdminArea[5]);
  3785. return GameTextPlayer(playerid,"Welcome Admin",1000,3);
  3786. } else {
  3787. SetPlayerHealth(playerid,1.0);
  3788. format(string2, sizeof(string2),"%s has used adminarea (non admin)", PlayerName2(playerid) );
  3789. MessageToAdmins(red,string2);
  3790. } return SendClientMessage(playerid,red, "ERROR: Tu Debes Ser Un Administrador Para Usar Este Comando!.");
  3791. }
  3792.  
  3793. dcmd_zonavip(playerid,params[]) {
  3794. #pragma unused params
  3795. if(PlayerInfo[playerid][pVip] >= 1) {
  3796. SetPlayerPos(playerid, ZonaVip[0], ZonaVip[1], ZonaVip[2]);
  3797. SetPlayerFacingAngle(playerid, ZonaVip[3]);
  3798. SetPlayerInterior(playerid, ZonaVip[4]);
  3799. return GameTextPlayer(playerid,"Bienvenido Vip",2000,3);
  3800. } else return SendClientMessage(playerid, COLOR_RED,"No Seas Homosexual (gay o lesbiana), tu no eres vip");
  3801. }
  3802.  
  3803. dcmd_zonavip2(playerid,params[]) {
  3804. #pragma unused params
  3805. if(PlayerInfo[playerid][pVip] >= 1) {
  3806. SetPlayerPos(playerid, -1131.4133,1057.4004,1346.4136);
  3807. SetPlayerFacingAngle(playerid, 274.9136);
  3808. SetPlayerInterior(playerid, 10);
  3809. return GameTextPlayer(playerid,"Bienvenido Vip",2000,3);
  3810. } else return SendClientMessage(playerid, COLOR_RED,"No Seas Homosexual (gay o lesbiana), tu no eres vip");
  3811. }
  3812.  
  3813. dcmd_porno(playerid,params[]) {
  3814. #pragma unused params
  3815. if(PlayerInfo[playerid][pVip] >= 2) {
  3816. SetPlayerPos(playerid,749.0486,1439.3495,1102.9531);
  3817. SetPlayerFacingAngle(playerid,1.9035);
  3818. SetPlayerInterior(playerid,6);
  3819. SendClientMessage(playerid,0x3333ffff,"¿Eres Mayor Verdad?");
  3820. return GameTextPlayer(playerid,"No Me Demandes",3000,3);
  3821. } else return SendClientMessage(playerid, COLOR_RED,"No Seas Homosexual (gay o lesbiana), tu no eres GOLD");
  3822. }
  3823.  
  3824. dcmd_setlevel(playerid,params[]) {
  3825. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3826. new pame[MAX_PLAYER_NAME];
  3827. GetPlayerName(playerid, pame, sizeof(pame));
  3828. if(!strcmp(Nick,pame,true) || !strcmp(NickAutorizado,pame,true))
  3829. {
  3830. if(PlayerInfo[playerid][Level] >= 6 && IsPlayerAdmin(playerid)) {
  3831. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3832. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setlevel [playerid] [level]");
  3833. new player1, level, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3834. player1 = strval(tmp);
  3835. if(!strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setlevel [playerid] [level]");
  3836. level = strval(tmp2);
  3837.  
  3838. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3839. if(PlayerInfo[player1][LoggedIn] == 1) {
  3840. if(level > ServerInfo[MaxAdminLevel] ) return SendClientMessage(playerid,red,"ERROR: Incorrect Level");
  3841. if(level == PlayerInfo[player1][Level]) return SendClientMessage(playerid,red,"ERROR: Player is already this level");
  3842. CMDMessageToAdmins(playerid,"SETLEVEL");
  3843. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3844. new year,month,day; getdate(year, month, day); new hour,minute,second; gettime(hour,minute,second);
  3845.  
  3846. if(level > 0) format(string2,sizeof(string2),"Administrator %s has set you to Administrator Status [level %d]",adminname, level);
  3847. else format(string2,sizeof(string2),"Administrator %s has set you to Player Status [level %d]",adminname, level);
  3848. SendClientMessage(player1,blue,string2);
  3849.  
  3850. if(level > PlayerInfo[player1][Level]) GameTextPlayer(player1,"Promoted", 2000, 3);
  3851. else GameTextPlayer(player1,"Demoted", 2000, 3);
  3852.  
  3853. format(string2,sizeof(string2),"You have made %s Level %d on %d/%d/%d at %d:%d:%d", playername, level, day, month, year, hour, minute, second); SendClientMessage(playerid,blue,string2);
  3854. format(string2,sizeof(string2),"Administrator %s has made %s Level %d on %d/%d/%d at %d:%d:%d",adminname, playername, level, day, month, year, hour, minute, second);
  3855. SaveToFile("AdminLog",string2);
  3856. //if(level == PlayerInfo[player1][Level])
  3857. dUserSetINT(PlayerName2(player1)).("level",(level));
  3858. if(level >= 1){dUserSetINT(PlayerName2(player1)).("user",(1));}
  3859. if(level == 0){dUserSetINT(PlayerName2(player1)).("user",(0));}
  3860. PlayerInfo[player1][Level] = level;
  3861. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  3862. } else return SendClientMessage(playerid,red,"ERROR: Player must be registered and logged in to be admin");
  3863. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado!");
  3864. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3865. } else return SendClientMessage(playerid,red,"ERROR: Solo Admin Da lvl,");
  3866. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3867. }
  3868.  
  3869. dcmd_setvip(playerid,params[])
  3870. {
  3871. if(PlayerInfo[playerid][LoggedIn] == 1)
  3872. {
  3873. new pame[MAX_PLAYER_NAME];
  3874. GetPlayerName(playerid, pame, sizeof(pame));
  3875. if(!strcmp(Nick,pame,true) || !strcmp(NickAutorizado,pame,true))
  3876. {
  3877. if(PlayerInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid))
  3878. {
  3879. new tmp [256];
  3880. new Index;
  3881. tmp = strtok(params,Index);
  3882. tmp2 = strtok(params,Index);
  3883. if(!strlen(params)) return
  3884. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setvip [PlayerID] [AccountType (0-5)]") &&
  3885. SendClientMessage(playerid, orange, "Función: Especifique el Tipo de Cuenta (0-NormalAcc,1-Silver,2-Gold,3-Premium,4-Platinum,5-Elite)");
  3886.  
  3887. new player1, type, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
  3888. player1 = strval(tmp);
  3889. if(!strlen(tmp2)) return
  3890. SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setvip [PlayerID] [AccountType (0-3)]") &&
  3891. SendClientMessage(playerid, orange, "Función: Especifique el Tipo de Cuenta (1-Silver,2-Gold,3-Premium,4-Platinum)");
  3892. type = strval(tmp2);
  3893.  
  3894. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  3895. {
  3896. if(PlayerInfo[player1][LoggedIn] == 1)
  3897. {
  3898. if(type > 5)
  3899. return SendClientMessage(playerid,red,"ERROR: Tipo de Cuenta Invalida!");
  3900. if(type == PlayerInfo[player1][pVip])
  3901. return SendClientMessage(playerid,red,"ERROR: Este Player Ya Tiene Este Tipo de Cuenta!");
  3902. CMDMessageToAdmins(playerid,"SetVip");
  3903. GetPlayerName(player1, playername, sizeof(playername));
  3904. GetPlayerName(playerid, adminname, sizeof(adminname));
  3905. new year,month,day;
  3906. new hour,minute,second;
  3907. getdate(year, month, day);
  3908. gettime(hour,minute,second);
  3909.  
  3910. switch(type)
  3911. {
  3912. case 1: AccType = "Silver";
  3913. case 2: AccType = "Gold";
  3914. case 3: AccType = "Premium";
  3915. case 4: AccType = "Platinum";
  3916. case 5: AccType = "Elite";
  3917. }
  3918. if(type > 0)
  3919. format(string2,sizeof(string2),"|- Administrador %s a Cambiado Tu Cuenta a: %s",adminname,AccType);
  3920. else
  3921. format(string2,sizeof(string2),"|- Administrador %s a Cambiado Tu Cuenta a: 'Cuenta Normal!",adminname);
  3922. SendClientMessage(player1,0x66C178AA,string2);
  3923. if(type > PlayerInfo[player1][pVip])
  3924. GameTextPlayer(player1,"Promoted", 2000, 3);
  3925. else GameTextPlayer(player1,"Demoted", 2000, 3);
  3926.  
  3927. format(string2,sizeof(string2),"Usted ha dado a %s El Tipo de Cuenta: %s on '%d/%d/%d' at '%d:%d:%d'", playername, AccType, day, month, year, hour, minute, second);
  3928. SendClientMessage(playerid,0x00C378AA,string2);
  3929. format(string2,sizeof(string2),"Administrador %s ha hecho a %s el Tipo de Cuenta: %s",adminname, playername, AccType);
  3930. SaveToFile("VipLog",string2);
  3931. dUserSetINT(PlayerName2(player1)).("AccountType",(type));
  3932. PlayerInfo[player1][pVip] = type;
  3933. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  3934. }
  3935. else return SendClientMessage(playerid,red,"ERROR: This player is not Registred or Logged!");
  3936. }
  3937. else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3938. }
  3939. else return SendClientMessage(playerid,red,"ERROR: El Jugador No Esta Conectado!");
  3940. }
  3941. else return SendClientMessage(playerid,red,"Lo Sentimos Solo Admin Puede Dar Cuenta VIP");
  3942. }
  3943. else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3944. }
  3945.  
  3946. dcmd_settemplevel(playerid,params[]) {
  3947. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3948. new pame[MAX_PLAYER_NAME];
  3949. GetPlayerName(playerid, pame, sizeof(pame));
  3950. if(!strcmp(Nick,pame,true) || !strcmp(NickAutorizado,pame,true)){
  3951.  
  3952. if(PlayerInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid)) {
  3953. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3954. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /settemplevel [playerid] [level]");
  3955. new player1, level;
  3956. player1 = strval(tmp);
  3957. level = strval(tmp2);
  3958.  
  3959. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3960. if(PlayerInfo[player1][LoggedIn] == 1) {
  3961. if(level >= ServerInfo[MaxAdminLevel] ) return SendClientMessage(playerid,red,"ERROR: Incorrect Level");
  3962. if(level == PlayerInfo[player1][Level]) return SendClientMessage(playerid,red,"ERROR: Player is already this level");
  3963. CMDMessageToAdmins(playerid,"SETTEMPLEVEL");
  3964. new year,month,day; getdate(year, month, day); new hour,minute,second; gettime(hour,minute,second);
  3965.  
  3966. if(level > 0) format(string2,sizeof(string2),"Administrator %s has temporarily set you to Administrator Status [level %d]", pName(playerid), level);
  3967. else format(string2,sizeof(string2),"Administrator %s has temporarily set you to Player Status [level %d]", pName(playerid), level);
  3968. SendClientMessage(player1,blue,string2);
  3969.  
  3970. if(level > PlayerInfo[player1][Level]) GameTextPlayer(player1,"Promoted", 2000, 3);
  3971. else GameTextPlayer(player1,"Demoted", 2000, 3);
  3972.  
  3973. format(string2,sizeof(string2),"You have made %s Level %d on %d/%d/%d at %d:%d:%d", pName(player1), level, day, month, year, hour, minute, second); SendClientMessage(playerid,blue,string2);
  3974. format(string2,sizeof(string2),"Administrator %s has made %s temp Level %d on %d/%d/%d at %d:%d:%d",pName(playerid), pName(player1), level, day, month, year, hour, minute, second);
  3975. SaveToFile("TempAdminLog",string2);
  3976. PlayerInfo[player1][Level] = level;
  3977. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  3978. } else return SendClientMessage(playerid,red,"ERROR: Player must be registered and logged in to be admin");
  3979. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado!");
  3980. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  3981. } else return SendClientMessage(playerid,red,"ERROR: Solo 'Admin', Puede Dar LEVEL");
  3982. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando");
  3983. }
  3984.  
  3985. dcmd_report(playerid,params[]) {
  3986. new reported, tmp[256], tp3[256], Index; tmp = strtok(params,Index), tp3 = strtok(params,Index);
  3987. if(!strlen(params)) return SendClientMessage(playerid, red, "USA: /report [playerid] [razon]");
  3988. reported = strval(tmp);
  3989.  
  3990. if(IsPlayerConnected(reported) && reported != INVALID_PLAYER_ID) {
  3991.  
  3992. if(IsPlayerFlooding(playerid)) return SendClientMessage(playerid,red,"[ADVERTENCIA]: No Agas Flood De Reportes! Espera 3 Segundos e Intentalo De Nuevo!");
  3993. iPlayerChatTime[playerid] = GetTickCount();
  3994.  
  3995. if(PlayerInfo[reported][Level] == ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"[ERROR]: Tu No Puedes Reportar a Ese Adminstrador");
  3996. if(playerid == reported) return SendClientMessage(playerid,red,"[ERROR]: No Te Puedes Reportar a Ti Mismo");
  3997. if(strlen(params) > 7) {
  3998. new reportedname[MAX_PLAYER_NAME], reporter[MAX_PLAYER_NAME], str2[128], hour,minute,second; gettime(hour,minute,second);
  3999. GetPlayerName(reported, reportedname, sizeof(reportedname)); GetPlayerName(playerid, reporter, sizeof(reporter));
  4000. format(str2, sizeof(str2), "||Reporte|| %s(%d) Reporto %s(%d) Razon: %s |@%d:%d:%d|", reporter,playerid, reportedname, reported, params[strlen(tmp)+1], hour,minute,second);
  4001. MessageToAdmins(COLOR_RED,str2);
  4002. SaveToFile("ReportLog",str2);
  4003. format(str2, sizeof(str2), "Reporte(%d:%d:%d): %s(%d) Reporto %s(%d) Razon: %s", hour,minute,second, reporter,playerid, reportedname, reported, params[strlen(tmp)+1]);
  4004. for(new i = 1; i < MAX_REPORTS-1; i++) Reports[i] = Reports[i+1];
  4005. Reports[MAX_REPORTS-1] = str2;
  4006. return SendClientMessage(playerid,yellow, "Tu Reporte Fue Enviado a Los Administradores Conectados!");
  4007. } else return SendClientMessage(playerid,red,"[ERROR]: Esa No Es Una Razon Valida");
  4008. } else return SendClientMessage(playerid, red, "El Jugador No Esta Conectado!");
  4009. }
  4010.  
  4011. dcmd_reportadmin(playerid,params[]) {
  4012. new reported, tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  4013. if(!strlen(params)) return SendClientMessage(playerid, red, "USA: /ReportAdmin [AdminId] [razon]");
  4014. reported = strval(tmp);
  4015.  
  4016. if(IsPlayerConnected(reported) && reported != INVALID_PLAYER_ID) {
  4017. if (PlayerInfo[playerid][pVip] >= 1) {
  4018. if(playerid == reported) return SendClientMessage(playerid,red,"ERROR: No Puedes Reportarte a Ti Mismo!");
  4019. if(PlayerInfo[reported][Level] == 0) return SendClientMessage(playerid,red,"ERROR: El Jugador No Es Administrador!");
  4020. if(HaReportado[playerid]==1) return SendClientMessage(playerid,red,"ERROR: Solo Se Puede Reportar Una Vez ");
  4021. if(strlen(params) > 7) {
  4022. new reportedname[MAX_PLAYER_NAME], reporter[MAX_PLAYER_NAME], hour,minute,second; gettime(hour,minute,second);
  4023. GetPlayerName(reported, reportedname, sizeof(reportedname)); GetPlayerName(playerid, reporter, sizeof(reporter));
  4024. format(str, sizeof(str), "%s Reporto a %s Razon: %s ", reporter, reportedname, params[strlen(tmp)+1]);
  4025. SaveToFile("AdminReport",str);
  4026. HaReportado[playerid]=1;
  4027. return SendClientMessage(playerid,yellow, "Tu Reporte Fue Guardado y Sera Revisado Por Gian!");
  4028. } else return SendClientMessage(playerid,red,"ERROR: Esa No Es Una Razon Valida!");
  4029. } else return SendClientMessage(playerid,red,"[Advertencia]: Lo Sentimos Solo Usuarios VIP!");
  4030. } else return SendClientMessage(playerid, red, "El Jugador Que Reportas No Esta Conectado");
  4031. }
  4032.  
  4033.  
  4034. dcmd_hide(playerid,params[])
  4035. {
  4036. #pragma unused params
  4037. if (PlayerInfo[playerid][Level] >= 6)
  4038. {
  4039. if (PlayerInfo[playerid][Hide] == 1)
  4040. return SendClientMessage(playerid,red,"ERROR: Tu ya estas en estado HIDE!");
  4041.  
  4042. PlayerInfo[playerid][Hide] = 1;
  4043. return SendClientMessage(playerid,green,"|- Has cambiado tu estado a HIDE haora no te veras en /admins -|");
  4044. }
  4045. return SendClientMessage(playerid,red,"NECESITA LEVEL 7 Admin Para Usar Este Cmd");
  4046. }
  4047.  
  4048. dcmd_unhide(playerid,params[])
  4049. {
  4050. #pragma unused params
  4051. if(PlayerInfo[playerid][Level] >= 6)
  4052. {
  4053. if (PlayerInfo[playerid][Hide] == 0)
  4054. return SendClientMessage(playerid,red,"ERROR: Tu no estas en estado HIDE!");
  4055. PlayerInfo[playerid][Hide] = 0;
  4056. return SendClientMessage(playerid,green,"|- Ya Esta De Nuevo Visible en /admins -|");
  4057. }
  4058. return SendClientMessage(playerid,red,"NECESITA LEVEL 7 Admin Para Usar Este Cmd");
  4059. }
  4060.  
  4061. dcmd_reports(playerid,params[]) {
  4062. #pragma unused params
  4063. if(PlayerInfo[playerid][Level] >= 1) {
  4064. new ReportCount;
  4065. for(new i = 1; i < MAX_REPORTS; i++)
  4066. {
  4067. if(strcmp( Reports[i], "<none>", true) != 0) { ReportCount++; SendClientMessage(playerid,COLOR_WHITE,Reports[i]); }
  4068. }
  4069. if(ReportCount == 0) SendClientMessage(playerid,COLOR_WHITE,"Aun No Hay Ningun Reporte!");
  4070. } else SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 1 Para Usar Este Comando");
  4071. return 1;
  4072. }
  4073.  
  4074. dcmd_richlist(playerid,params[]) {
  4075. #pragma unused params
  4076. if(PlayerInfo[playerid][Level] >= 1) {
  4077. new Slot1 = -1, Slot2 = -1, Slot3 = -1, Slot4 = -1, HighestCash = -9999;
  4078. SendClientMessage(playerid,COLOR_WHITE,"Rich List:");
  4079.  
  4080. for(new x=0; x<MAX_PLAYERS; x++) if (IsPlayerConnected(x)) if (GetPlayerMoney(x) >= HighestCash) {
  4081. HighestCash = GetPlayerMoney(x);
  4082. Slot1 = x;
  4083. }
  4084. HighestCash = -9999;
  4085. for(new x=0; x<MAX_PLAYERS; x++) if (IsPlayerConnected(x) && x != Slot1) if (GetPlayerMoney(x) >= HighestCash) {
  4086. HighestCash = GetPlayerMoney(x);
  4087. Slot2 = x;
  4088. }
  4089. HighestCash = -9999;
  4090. for(new x=0; x<MAX_PLAYERS; x++) if (IsPlayerConnected(x) && x != Slot1 && x != Slot2) if (GetPlayerMoney(x) >= HighestCash) {
  4091. HighestCash = GetPlayerMoney(x);
  4092. Slot3 = x;
  4093. }
  4094. HighestCash = -9999;
  4095. for(new x=0; x<MAX_PLAYERS; x++) if (IsPlayerConnected(x) && x != Slot1 && x != Slot2 && x != Slot3) if (GetPlayerMoney(x) >= HighestCash) {
  4096. HighestCash = GetPlayerMoney(x);
  4097. Slot4 = x;
  4098. }
  4099. format(string2, sizeof(string2), "(%d) %s - $%d", Slot1,PlayerName2(Slot1),GetPlayerMoney(Slot1) );
  4100. SendClientMessage(playerid,COLOR_WHITE,string2);
  4101. if(Slot2 != -1) {
  4102. format(string2, sizeof(string2), "(%d) %s - $%d", Slot2,PlayerName2(Slot2),GetPlayerMoney(Slot2) );
  4103. SendClientMessage(playerid,COLOR_WHITE,string2);
  4104. }
  4105. if(Slot3 != -1) {
  4106. format(string2, sizeof(string2), "(%d) %s - $%d", Slot3,PlayerName2(Slot3),GetPlayerMoney(Slot3) );
  4107. SendClientMessage(playerid,COLOR_WHITE,string2);
  4108. }
  4109. if(Slot4 != -1) {
  4110. format(string2, sizeof(string2), "(%d) %s - $%d", Slot4,PlayerName2(Slot4),GetPlayerMoney(Slot4) );
  4111. SendClientMessage(playerid,COLOR_WHITE,string2);
  4112. }
  4113. return 1;
  4114. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  4115. }
  4116.  
  4117. dcmd_miniguns(playerid,params[]) {
  4118. #pragma unused params
  4119. if(PlayerInfo[playerid][Level] >= 1) {
  4120. new bool:First2 = false, Count, i, slot, weap, ammo;
  4121. for(i = 0; i < MAX_PLAYERS; i++) {
  4122. if(IsPlayerConnected(i)) {
  4123. for(slot = 0; slot < 14; slot++) {
  4124. GetPlayerWeaponData(i, slot, weap, ammo);
  4125. if(ammo != 0 && weap == 38) {
  4126. Count++;
  4127. if(!First2) { format(string2, sizeof(string2), "Minigun: (%d)%s(ammo%d)", i, PlayerName2(i), ammo); First2 = true; }
  4128. else format(string2,sizeof(string2),"%s, (%d)%s(ammo%d) ",string2, i, PlayerName2(i), ammo);
  4129. }
  4130. }
  4131. }
  4132. }
  4133. if(Count == 0) return SendClientMessage(playerid,COLOR_WHITE,"No players have a minigun"); else return SendClientMessage(playerid,COLOR_WHITE,string2);
  4134. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  4135. }
  4136.  
  4137. dcmd_uconfig(playerid,params[]) {
  4138. #pragma unused params
  4139. if(PlayerInfo[playerid][Level] >= 6)
  4140. {
  4141. UpdateConfig();
  4142. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4143. return CMDMessageToAdmins(playerid,"UCONFIG");
  4144. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 7 Para Usar Este Comando");
  4145. }
  4146.  
  4147. dcmd_botcheck(playerid,params[]) {
  4148. #pragma unused params
  4149. if(PlayerInfo[playerid][Level] >= 4) {
  4150. for(new i=0; i<MAX_PLAYERS; i++) BotCheck(i);
  4151. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4152. return CMDMessageToAdmins(playerid,"BOTCHECK");
  4153. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 4 Para Usar Este Comando");
  4154. }
  4155.  
  4156. dcmd_lockserver(playerid,params[]) {
  4157. if(PlayerInfo[playerid][Level] >= 6 && IsPlayerAdmin(playerid)) {
  4158. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /lockserver [password]");
  4159. new adminname[MAX_PLAYER_NAME];
  4160. ServerInfo[Locked] = 1;
  4161. strmid(ServerInfo[Password], params[0], 0, strlen(params[0]), 128);
  4162. GetPlayerName(playerid, adminname, sizeof(adminname));
  4163. format(string2, sizeof(string2), "Administrator \"%s\" has locked the server",adminname);
  4164. SendClientMessageToAll(red,"________________________________________");
  4165. SendClientMessageToAll(red," ");
  4166. SendClientMessageToAll(red,string2);
  4167. SendClientMessageToAll(red,"________________________________________");
  4168. for(new i = 0; i <= MAX_PLAYERS; i++) if(IsPlayerConnected(i)) { PlayerPlaySound(i,1057,0.0,0.0,0.0); PlayerInfo[i][AllowedIn] = true; }
  4169. CMDMessageToAdmins(playerid,"LOCKSERVER");
  4170. format(string2, sizeof(string2), "Administrator \"%s\" has set the server password to '%s'",adminname, ServerInfo[Password] );
  4171. return MessageToAdmins(COLOR_WHITE, string2);
  4172. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  4173. }
  4174.  
  4175. dcmd_unlockserver(playerid,params[]) {
  4176. #pragma unused params
  4177. if(PlayerInfo[playerid][Level] >= 6 && IsPlayerAdmin(playerid)) {
  4178. if(ServerInfo[Locked] == 1) {
  4179. new adminname[MAX_PLAYER_NAME];
  4180. ServerInfo[Locked] = 0;
  4181. strmid(ServerInfo[Password], "", 0, strlen(""), 128);
  4182. GetPlayerName(playerid, adminname, sizeof(adminname));
  4183. format(string2, sizeof(string2), "Administrator \"%s\" has unlocked the server",adminname);
  4184. SendClientMessageToAll(green,"________________________________________");
  4185. SendClientMessageToAll(green," ");
  4186. SendClientMessageToAll(green,string2);
  4187. SendClientMessageToAll(green,"________________________________________");
  4188. for(new i = 0; i <= MAX_PLAYERS; i++) if(IsPlayerConnected(i)) { PlayerPlaySound(i,1057,0.0,0.0,0.0); PlayerInfo[i][AllowedIn] = true; }
  4189. return CMDMessageToAdmins(playerid,"UNLOCKSERVER");
  4190. } else return SendClientMessage(playerid,red,"ERROR: Server is not locked");
  4191. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  4192. }
  4193.  
  4194. dcmd_password(playerid,params[]) {
  4195. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /password [password]");
  4196. if(ServerInfo[Locked] == 1) {
  4197. if(PlayerInfo[playerid][AllowedIn] == false) {
  4198. if(!strcmp(ServerInfo[Password],params[0],true)) {
  4199. KillTimer( LockKickTimer[playerid] );
  4200. PlayerInfo[playerid][AllowedIn] = true;
  4201. SendClientMessage(playerid,COLOR_WHITE,"You have successsfully entered the server password and may now spawn");
  4202. format(string2, sizeof(string2), "%s has successfully entered server password",PlayerName2(playerid));
  4203. return MessageToAdmins(COLOR_WHITE, string2);
  4204. } else return SendClientMessage(playerid,red,"ERROR: Incorrect server password");
  4205. } else return SendClientMessage(playerid,red,"ERROR: You are already logged in");
  4206. } else return SendClientMessage(playerid,red,"ERROR: Server isnt Locked");
  4207. }
  4208.  
  4209. dcmd_respawncars(playerid,params[]) {
  4210. #pragma unused params
  4211. if(PlayerInfo[playerid][Level] >= 4 ) {
  4212. for(new i; i != MAX_VEHICLES; i++) if(!EsVehiculoOcupado(i)) SetVehicleToRespawn(i);
  4213. CMDMessageToAdmins(playerid,"RESPAWNCARS");
  4214. return SendClientMessage(playerid,red,"INFO: Vehiculos Respawneados");
  4215. } else return SendClientMessage(playerid,red,"ERROR: No Tienes El Nivel Suficiente Para Usar Este Comando");
  4216. }
  4217.  
  4218. dcmd_pm(playerid,params[])
  4219. {
  4220.  
  4221. if(IsPlayerFlooding(playerid)) return SendClientMessage(playerid,red,"[ADVERTENCIA]: Solo Puedes Enviar Pm's Cada 3 Segundos");
  4222. iPlayerChatTime[playerid] = GetTickCount();
  4223.  
  4224. new id;
  4225. new mensage[256];
  4226. new namax[MAX_PLAYERS];
  4227. new namax2[MAX_PLAYERS];
  4228. new idx, pid[256];
  4229. pid = strtok(params, idx); mensage = strtok(params, idx);
  4230. if(!strlen(pid) || !strlen(mensage)) return SendClientMessage(playerid,red,"Usage: /pm [ID] [message]");
  4231. id=strval(pid);
  4232.  
  4233. if(id == playerid) return SendClientMessage(playerid, COLOR_RED, "No Puedes Enviarte Un Mensaje Privado A Ti Mismo");
  4234.  
  4235. if(ADpm[id] == 0)
  4236. {
  4237. if(IsPlayerConnected(id))
  4238. {
  4239.  
  4240. if(ServerInfo[AntiSwear] == 1 && PlayerInfo[playerid][Level] < 6)
  4241. for(new s = 0; s < ForbiddenWordCount; s++)
  4242. {
  4243. new pos;
  4244. while((pos = strfind(mensage,ForbiddenWords[s],true)) != -1) for(new i = pos, j = pos + strlen(ForbiddenWords[s]); i < j; i++) mensage[i] = '*';
  4245. }
  4246.  
  4247. if(DetectarSpam(params[strlen(pid)+1]))
  4248. {
  4249. if(PlayerInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid))
  4250. {
  4251. GetPlayerName(playerid,string2,sizeof(string2));
  4252. ShowPlayerDialog(playerid, 12, DIALOG_STYLE_MSGBOX, "{00FFFF}Anti Spam", "{FFFFFF}No Puedes Hacer Spam o Seras {FF0000}Baneado", "Aceptar", "");
  4253. format(string2,sizeof(string2),"[INFO-ADMINS]: {FFFFFF}%s {FF0000}Id: {FFFFFF}[%i] {FF0000}Posible Spam Dijo: %s",string2,playerid,mensage);
  4254. MessageToAdmins(COLOR_RED,string2);
  4255. return 1;
  4256. }
  4257. }
  4258.  
  4259. GetPlayerName(playerid, namax, sizeof(namax));
  4260. GetPlayerName(id, namax2, sizeof(namax2));
  4261. format(string2, sizeof(string2), ">> %s(%d): %s", namax2, id, params[strlen(pid)+1]);
  4262. SendClientMessage(playerid,COLOR_YELLOW, string2);
  4263. format(string2, sizeof(string2), "** %s(%d): %s", namax, playerid, params[strlen(pid)+1]);
  4264. SendClientMessage(id,COLOR_YELLOW,string2);
  4265. PlayerPlaySound(id,1057,0.0,0.0,0.0);
  4266.  
  4267. if(ServerInfo[ReadPMs] == 1 && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  4268. {
  4269. format(string2, sizeof(string2), "|- PM: %s(%d) A %s(%d): %s", namax, playerid, namax2, id, params[strlen(pid)+1]);
  4270. for (new a = 0; a < MAX_PLAYERS; a++)
  4271. if(IsPlayerConnected(a) && (PlayerInfo[a][Level] >= 3) && a != playerid)
  4272. SendClientMessage(a, lightblue, string2);
  4273. }
  4274.  
  4275. }
  4276. else SendClientMessage(playerid, COLOR_RED, "Ese Player No Esta Conectado");
  4277. }
  4278. else SendClientMessage(playerid, COLOR_RED, "Este Player Tiene Desactivado Los Mensajes Privados");
  4279. return 1;
  4280. }
  4281.  
  4282. //------------------------------------------------------------------------------
  4283. dcmd_forbidname(playerid,params[]) {
  4284. if(PlayerInfo[playerid][Level] >= 6) {
  4285. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /forbidname [nickname]");
  4286. new File:BLfile, string[128];
  4287. BLfile = fopen("ladmin/config/ForbiddenNames.cfg",io_append);
  4288. format(string,sizeof(string),"%s\r\n",params[1]);
  4289. fwrite(BLfile,string);
  4290. fclose(BLfile);
  4291. UpdateConfig();
  4292. CMDMessageToAdmins(playerid,"FORBIDNAME");
  4293. format(string, sizeof(string), "Administrator \"%s\" has added the name \"%s\" to the forbidden name list", pName(playerid), params );
  4294. return MessageToAdmins(green,string);
  4295. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  4296. }
  4297.  
  4298. dcmd_forbidword(playerid,params[]) {
  4299. if(PlayerInfo[playerid][Level] >= 6) {
  4300. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /forbidword [word]");
  4301. new File:BLfile, string[128];
  4302. BLfile = fopen("ladmin/config/ForbiddenWords.cfg",io_append);
  4303. format(string,sizeof(string),"%s\r\n",params[1]);
  4304. fwrite(BLfile,string);
  4305. fclose(BLfile);
  4306. UpdateConfig();
  4307. CMDMessageToAdmins(playerid,"FORBIDWORD");
  4308. format(string, sizeof(string), "Administrator \"%s\" has added the word \"%s\" to the forbidden word list", pName(playerid), params );
  4309. return MessageToAdmins(green,string);
  4310. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  4311. }
  4312.  
  4313.  
  4314. //==========================[ Spectate Commands ]===============================
  4315. #if defined ENABLE_SPEC
  4316.  
  4317. dcmd_lspec(playerid,params[]) {
  4318. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  4319. if(!strlen(params) || !IsNumeric(params)) return SendClientMessage(playerid, red, "USAGE: /lspec [playerid]");
  4320. new specplayerid = strval(params);
  4321. if(PlayerInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4322. if(IsPlayerConnected(specplayerid) && specplayerid != INVALID_PLAYER_ID) {
  4323. if(specplayerid == playerid) return SendClientMessage(playerid, red, "ERROR: You cannot spectate yourself");
  4324. if(GetPlayerState(specplayerid) == PLAYER_STATE_SPECTATING && PlayerInfo[specplayerid][SpecID] != INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "Spectate: Player spectating someone else");
  4325. if(GetPlayerState(specplayerid) != 1 && GetPlayerState(specplayerid) != 2 && GetPlayerState(specplayerid) != 3) return SendClientMessage(playerid, red, "Spectate: Player not spawned");
  4326. if( (PlayerInfo[specplayerid][Level] != ServerInfo[MaxAdminLevel]) || (PlayerInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] == ServerInfo[MaxAdminLevel]) ) {
  4327. StartSpectate(playerid, specplayerid);
  4328. CMDMessageToAdmins(playerid,"LSPEC");
  4329. SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
  4330. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(specplayerid));
  4331. GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
  4332. GetPlayerFacingAngle(playerid,Pos[playerid][3]);
  4333. return SendClientMessage(playerid,blue,"Now Spectating");
  4334. } else return SendClientMessage(playerid,red,"ERROR: You cannot spectate the highest level admin");
  4335. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  4336. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");
  4337. }
  4338.  
  4339. dcmd_lspecvehicle(playerid,params[]) {
  4340. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  4341. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /lspecvehicle [vehicleid]");
  4342. new specvehicleid = strval(params);
  4343. if(specvehicleid < MAX_VEHICLES) {
  4344. TogglePlayerSpectating(playerid, 1);
  4345. PlayerSpectateVehicle(playerid, specvehicleid);
  4346. PlayerInfo[playerid][SpecID] = specvehicleid;
  4347. PlayerInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
  4348. CMDMessageToAdmins(playerid,"SPEC VEHICLE");
  4349. GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
  4350. GetPlayerFacingAngle(playerid,Pos[playerid][3]);
  4351. return SendClientMessage(playerid,blue,"Now Spectating");
  4352. } else return SendClientMessage(playerid,red, "ERROR: Invalid Vehicle ID");
  4353. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 2 Para Usar Este Comando");
  4354. }
  4355. dcmd_lspecoff(playerid,params[]) {
  4356. #pragma unused params
  4357. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  4358. if(PlayerInfo[playerid][SpecType] != ADMIN_SPEC_TYPE_NONE) {
  4359. StopSpectate(playerid);
  4360. SetTimerEx("PosAfterSpec",3000,0,"d",playerid);
  4361. return SendClientMessage(playerid,blue,"No Longer Spectating");
  4362. } else return SendClientMessage(playerid,red,"ERROR: You are not spectating");
  4363. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 2 Para Usar Este Comando");
  4364. }
  4365.  
  4366. #endif
  4367.  
  4368. //==========================[ CHAT COMMANDS ]===================================
  4369.  
  4370. dcmd_disablechat(playerid,params[]) {
  4371. #pragma unused params
  4372. if(PlayerInfo[playerid][Level] >= 6) {
  4373. CMDMessageToAdmins(playerid,"DISABLECHAT");
  4374. if(ServerInfo[DisableChat] == 0) {
  4375. ServerInfo[DisableChat] = 1;
  4376. format(string2,sizeof(string2),"Administrator \"%s\" has disabled chat", pName(playerid) );
  4377. } else {
  4378. ServerInfo[DisableChat] = 0;
  4379. format(string2,sizeof(string2),"Administrator \"%s\" has enabled chat", pName(playerid) );
  4380. } return SendClientMessageToAll(blue,string2);
  4381. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 6 Para Usar Este Comando");
  4382. }
  4383.  
  4384. dcmd_clearchat(playerid,params[]) {
  4385. #pragma unused params
  4386. if(PlayerInfo[playerid][Level] >= 2) {
  4387. CMDMessageToAdmins(playerid,"CLEARCHAT");
  4388. for(new i = 0; i < 11; i++) SendClientMessageToAll(green," "); return 1;
  4389. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 2 Para Usar Este Comando");
  4390. }
  4391.  
  4392. dcmd_clearallchat(playerid,params[]) {
  4393. #pragma unused params
  4394. if(PlayerInfo[playerid][Level] >= 3) {
  4395. CMDMessageToAdmins(playerid,"CLEARALLCHAT");
  4396. for(new i = 0; i < 100; i++) SendClientMessageToAll(green," "); return 1;
  4397. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 4 Para Usar Este Comando");
  4398. }
  4399.  
  4400. dcmd_caps(playerid,params[]) {
  4401. if(PlayerInfo[playerid][Level] >= 6) {
  4402. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  4403. if(!strlen(tmp) || !strlen(tmp2) || IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /caps [playerid] [\"on\" / \"off\"]");
  4404. new player1 = strval(tmp);
  4405. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4406. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  4407. if(strcmp(tmp2,"on",true) == 0) {
  4408. CMDMessageToAdmins(playerid,"CAPS");
  4409. PlayerInfo[player1][Caps] = 0;
  4410. if(player1 != playerid) { format(string2,sizeof(string2),"Administrator \"%s\" has allowed you to use capitals in chat", pName(playerid) ); SendClientMessage(playerid,blue,string2); }
  4411. format(string2,sizeof(string2),"You have allowed \"%s\" to use capitals in chat", pName(player1) ); return SendClientMessage(playerid,blue,string2);
  4412. } else if(strcmp(tmp2,"off",true) == 0) {
  4413. CMDMessageToAdmins(playerid,"CAPS");
  4414. PlayerInfo[player1][Caps] = 1;
  4415. if(player1 != playerid) { format(string2,sizeof(string2),"Administrator \"%s\" has prevented you from using capitals in chat", pName(playerid) ); SendClientMessage(playerid,blue,string2); }
  4416. format(string2,sizeof(string2),"You have prevented \"%s\" from using capitals in chat", pName(player1) ); return SendClientMessage(playerid,blue,string2);
  4417. } else return SendClientMessage(playerid, red, "USAGE: /caps [playerid] [\"on\" / \"off\"]");
  4418. } else return SendClientMessage(playerid,red,"ERROR: El Jugador No Esta Conectado!");
  4419. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  4420. }
  4421.  
  4422. //==================[ Object & Pickup ]=========================================
  4423. dcmd_pickup(playerid,params[]) {
  4424. if(PlayerInfo[playerid][Level] >= 6 && IsPlayerAdmin(playerid)) {
  4425. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /pickup [pickup id]");
  4426. new pickup = strval(params), Float:x, Float:y, Float:z, Float:a;
  4427. CMDMessageToAdmins(playerid,"PICKUP");
  4428. GetPlayerPos(playerid, x, y, z);
  4429. GetPlayerFacingAngle(playerid, a);
  4430. x += (3 * floatsin(-a, degrees));
  4431. y += (3 * floatcos(-a, degrees));
  4432. CreatePickup(pickup, 2, x+2, y, z);
  4433. format(string2, sizeof(string2), "CreatePickup(%d, 2, %0.2f, %0.2f, %0.2f);", pickup, x+2, y, z);
  4434. SaveToFile("Pickups",string2);
  4435. return SendClientMessage(playerid,yellow, string2);
  4436. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando! (6 y Rcon)");
  4437. }
  4438.  
  4439. dcmd_object(playerid,params[]) {
  4440. if(PlayerInfo[playerid][Level] >= 6 && IsPlayerAdmin(playerid)) {
  4441. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /object [object id]");
  4442. new object = strval(params), Float:x, Float:y, Float:z, Float:a;
  4443. CMDMessageToAdmins(playerid,"OBJECT");
  4444. GetPlayerPos(playerid, x, y, z);
  4445. GetPlayerFacingAngle(playerid, a);
  4446. x += (3 * floatsin(-a, degrees));
  4447. y += (3 * floatcos(-a, degrees));
  4448. CreateObject(object, x, y, z, 0.0, 0.0, a);
  4449. format(string2, sizeof(string2), "CreateObject(%d, %0.2f, %0.2f, %0.2f, 0.00, 0.00, %0.2f);", object, x, y, z, a);
  4450. SaveToFile("Objects",string2);
  4451. format(string2, sizeof(string2), "You Have Created Object %d, at %0.2f, %0.2f, %0.2f Angle %0.2f", object, x, y, z, a);
  4452. return SendClientMessage(playerid,yellow, string2);
  4453. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando! (6 y Rcon)");
  4454. }
  4455.  
  4456. //===================[ Move ]===================================================
  4457.  
  4458. dcmd_move(playerid,params[]) {
  4459. if(PlayerInfo[playerid][Level] >= 6) {
  4460. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /move [up / down / +x / -x / +y / -y / off]");
  4461. new Float:X, Float:Y, Float:Z;
  4462. if(strcmp(params,"up",true) == 0) {
  4463. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y,Z+5); SetCameraBehindPlayer(playerid); }
  4464. else if(strcmp(params,"down",true) == 0) {
  4465. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y,Z-5); SetCameraBehindPlayer(playerid); }
  4466. else if(strcmp(params,"+x",true) == 0) {
  4467. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X+5,Y,Z); }
  4468. else if(strcmp(params,"-x",true) == 0) {
  4469. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X-5,Y,Z); }
  4470. else if(strcmp(params,"+y",true) == 0) {
  4471. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y+5,Z); }
  4472. else if(strcmp(params,"-y",true) == 0) {
  4473. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y-5,Z); }
  4474. else if(strcmp(params,"off",true) == 0) {
  4475. TogglePlayerControllable(playerid,true); }
  4476. else return SendClientMessage(playerid,red,"USAGE: /move [up / down / +x / -x / +y / -y / off]");
  4477. return 1;
  4478. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  4479. }
  4480.  
  4481. dcmd_moveplayer(playerid,params[]) {
  4482. if(PlayerInfo[playerid][Level] >= 6) {
  4483. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  4484. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp)) return SendClientMessage(playerid, red, "USAGE: /moveplayer [playerid] [up / down / +x / -x / +y / -y / off]");
  4485. new Float:X, Float:Y, Float:Z, player1 = strval(tmp);
  4486. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4487. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  4488. if(strcmp(tmp2,"up",true) == 0) {
  4489. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y,Z+5); SetCameraBehindPlayer(player1); }
  4490. else if(strcmp(tmp2,"down",true) == 0) {
  4491. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y,Z-5); SetCameraBehindPlayer(player1); }
  4492. else if(strcmp(tmp2,"+x",true) == 0) {
  4493. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X+5,Y,Z); }
  4494. else if(strcmp(tmp2,"-x",true) == 0) {
  4495. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X-5,Y,Z); }
  4496. else if(strcmp(tmp2,"+y",true) == 0) {
  4497. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y+5,Z); }
  4498. else if(strcmp(tmp2,"-y",true) == 0) {
  4499. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y-5,Z); }
  4500. else SendClientMessage(playerid,red,"USAGE: /moveplayer [up / down / +x / -x / +y / -y / off]");
  4501. return 1;
  4502. } else return SendClientMessage(playerid,red,"ERROR: El Jugador No Esta Conectado!");
  4503. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  4504. }
  4505.  
  4506. //===================[ Fake ]===================================================
  4507.  
  4508. #if defined ENABLE_FAKE_CMDS
  4509. dcmd_fakedeath(playerid,params[]) {
  4510. if(PlayerInfo[playerid][Level] >= 6) {
  4511. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  4512. if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3)) return SendClientMessage(playerid, red, "USAGE: /fakedeath [killer] [killee] [weapon]");
  4513. new killer = strval(tmp), killee = strval(tmp2), weap = strval(tmp3);
  4514. if(!IsValidWeapon(weap)) return SendClientMessage(playerid,red,"ERROR: Invalid Weapon ID");
  4515. if(PlayerInfo[killer][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4516. if(PlayerInfo[killee][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4517.  
  4518. if(IsPlayerConnected(killer) && killer != INVALID_PLAYER_ID) {
  4519. if(IsPlayerConnected(killee) && killee != INVALID_PLAYER_ID) {
  4520. CMDMessageToAdmins(playerid,"FAKEDEATH");
  4521. SendDeathMessage(killer,killee,weap);
  4522. return SendClientMessage(playerid,blue,"Fake death message sent");
  4523. } else return SendClientMessage(playerid,red,"ERROR: Killee is not connected");
  4524. } else return SendClientMessage(playerid,red,"ERROR: Killer is not connected");
  4525. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  4526. }
  4527.  
  4528. dcmd_fakechat(playerid,params[]) {
  4529. if(PlayerInfo[playerid][Level] >= 6) {
  4530. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  4531. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /fakechat [playerid] [text]");
  4532. new player1 = strval(tmp);
  4533. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4534. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  4535. CMDMessageToAdmins(playerid,"FAKECHAT");
  4536. SendPlayerMessageToAll(player1, params[strlen(tmp)+1]);
  4537. return SendClientMessage(playerid,blue,"Fake message sent");
  4538. } else return SendClientMessage(playerid,red,"ERROR: El Jugador No Esta Conectado!");
  4539. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  4540. }
  4541.  
  4542. dcmd_fakecmd(playerid,params[]) {
  4543. if(PlayerInfo[playerid][Level] >= 6) {
  4544. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  4545. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /fakecmd [playerid] [command]");
  4546. new player1 = strval(tmp);
  4547. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  4548. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  4549. CMDMessageToAdmins(playerid,"FAKECMD");
  4550. CallRemoteFunction("OnPlayerCommandText", "is", player1, tmp2);
  4551. return SendClientMessage(playerid,blue,"Fake command sent");
  4552. } else return SendClientMessage(playerid,red,"ERROR: El Jugador No Esta Conectado!");
  4553. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  4554. }
  4555. #endif
  4556.  
  4557. //----------------------------------------------------------------------------//
  4558. // /all Commands //
  4559. //----------------------------------------------------------------------------//
  4560.  
  4561. //------------------------------------------------------------------------------
  4562. #if defined USE_ALL_CMDS
  4563.  
  4564. dcmd_spawnall(playerid,params[]) {
  4565. #pragma unused params
  4566. if(PlayerInfo[playerid][Level] >= 6) {
  4567. CMDMessageToAdmins(playerid,"SPAWNAll");
  4568. for(new i = 0; i < MAX_PLAYERS; i++) {
  4569. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4570. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerPos(i, 0.0, 0.0, 0.0); SpawnPlayer(i);
  4571. }
  4572. }
  4573. format(string2,sizeof(string2),"Administrator \"%s\" has spawned all players", pName(playerid) );
  4574. return SendClientMessageToAll(blue, string2);
  4575. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 6 Para Usar Este Comando");
  4576. }
  4577.  
  4578. dcmd_muteall(playerid,params[]) {
  4579. #pragma unused params
  4580. if(PlayerInfo[playerid][Level] >= 6) {
  4581. CMDMessageToAdmins(playerid,"MUTEALL");
  4582. for(new i = 0; i < MAX_PLAYERS; i++) {
  4583. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4584. PlayerPlaySound(i,1057,0.0,0.0,0.0); PlayerInfo[i][Muted] = 1; PlayerInfo[i][MuteWarnings] = 0;
  4585. }
  4586. }
  4587. format(string2,sizeof(string2),"Administrator \"%s\" has muted all players", pName(playerid) );
  4588. return SendClientMessageToAll(blue, string2);
  4589. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 6 Para Usar Este Comando");
  4590. }
  4591.  
  4592. dcmd_unmuteall(playerid,params[]) {
  4593. #pragma unused params
  4594. if(PlayerInfo[playerid][Level] >= 6) {
  4595. CMDMessageToAdmins(playerid,"UNMUTEAll");
  4596. for(new i = 0; i < MAX_PLAYERS; i++) {
  4597. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4598. PlayerPlaySound(i,1057,0.0,0.0,0.0); PlayerInfo[i][Muted] = 0; PlayerInfo[i][MuteWarnings] = 0;
  4599. }
  4600. }
  4601. format(string2,sizeof(string2),"Administrator \"%s\" has unmuted all players", pName(playerid) );
  4602. return SendClientMessageToAll(blue, string2);
  4603. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 6 Para Usar Este Comando");
  4604. }
  4605.  
  4606. dcmd_getall(playerid,params[]) {
  4607. #pragma unused params
  4608. if(PlayerInfo[playerid][Level] >= 6) {
  4609. CMDMessageToAdmins(playerid,"GETAll");
  4610. new Float:x,Float:y,Float:z, interior = GetPlayerInterior(playerid);
  4611. GetPlayerPos(playerid,x,y,z);
  4612. for(new i = 0; i < MAX_PLAYERS; i++) {
  4613. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4614. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerPos(i,x+(playerid/4)+1,y+(playerid/4),z); SetPlayerInterior(i,interior);
  4615. }
  4616. }
  4617. format(string2,sizeof(string2),"Administrator \"%s\" has teleported all players", pName(playerid) );
  4618. return SendClientMessageToAll(blue, string2);
  4619. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 6 Para Usar Este Comando");
  4620. }
  4621.  
  4622. dcmd_healall(playerid,params[]) {
  4623. #pragma unused params
  4624. if(PlayerInfo[playerid][Level] >= 6) {
  4625. CMDMessageToAdmins(playerid,"HEALALL");
  4626. for(new i = 0; i < MAX_PLAYERS; i++) {
  4627. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4628. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerHealth(i,100.0);
  4629. }
  4630. }
  4631. format(string2,sizeof(string2),"Administrator \"%s\" has healed all players", pName(playerid) );
  4632. return SendClientMessageToAll(blue, string2);
  4633. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 3 Para Usar Este Comando");
  4634. }
  4635.  
  4636. dcmd_armourall(playerid,params[]) {
  4637. #pragma unused params
  4638. if(PlayerInfo[playerid][Level] >= 6) {
  4639. CMDMessageToAdmins(playerid,"ARMOURALL");
  4640. for(new i = 0; i < MAX_PLAYERS; i++) {
  4641. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4642. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerArmour(i,100.0);
  4643. }
  4644. }
  4645. format(string2,sizeof(string2),"Administrator \"%s\" has restored all players armour", pName(playerid) );
  4646. return SendClientMessageToAll(blue, string2);
  4647. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 3 Para Usar Este Comando");
  4648. }
  4649.  
  4650. dcmd_healarmour(playerid,params[]) {
  4651. #pragma unused params
  4652. if(PlayerInfo[playerid][Level] >= 4) {
  4653. new Float:x, Float:y, Float:z;
  4654. GetPlayerPos(playerid, x, y, z);
  4655. CMDMessageToAdmins(playerid,"HEALARMOUR");
  4656. for(new i = 0; i < MAX_PLAYERS; i++) {
  4657. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4658. if(IsPlayerInRangeOfPoint(i,50, x, y, z)){
  4659. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4660. SetPlayerArmour(i,100.0);
  4661. SetPlayerHealth(i,100.0);
  4662. }
  4663. }
  4664. }
  4665. format(string2,sizeof(string2),"Administrator \"%s\" Restauro Vida y Chaleco En Un Evento", pName(playerid) );
  4666. return SendClientMessageToAll(blue, string2);
  4667. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 4 Para Usar Este Comando");
  4668. }
  4669.  
  4670. dcmd_killall(playerid,params[]) {
  4671. #pragma unused params
  4672. if(PlayerInfo[playerid][Level] >= 6) {
  4673. CMDMessageToAdmins(playerid,"KILLALL");
  4674. for(new i = 0; i < MAX_PLAYERS; i++) {
  4675. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4676. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerHealth(i,0.0);
  4677. }
  4678. }
  4679. format(string2,sizeof(string2),"Administrator \"%s\" has killed all players", pName(playerid) );
  4680. return SendClientMessageToAll(blue, string2);
  4681. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 6 Para Usar Este Comando");
  4682. }
  4683. #endif
  4684. //=============================================VIP CMD============================
  4685. dcmd_bici(playerid,params[]) {
  4686. #pragma unused params
  4687. if(PlayerInfo[playerid][pVip] >= 2)
  4688. {
  4689. if(SaltosBici[playerid] > 0)
  4690. {
  4691. CMDMessageToVip(playerid,"BICI");
  4692. SaltosBici[playerid] = 0;
  4693. SendClientMessage(playerid,COLOR_YELLOW,"Super saltos en bici desactivado.");
  4694. }
  4695. else
  4696. {
  4697. CMDMessageToVip(playerid,"BICI");
  4698. SaltosBici[playerid] = 1;
  4699. SendClientMessage(playerid,COLOR_YELLOW,"Super saltos en bici activado. Usa /bici para desactivarlo.");
  4700. }
  4701. }
  4702. else {
  4703. SendClientMessage(playerid,COLOR_RED,"Usted No Es Un Player GOLD o PREMIUM.");
  4704. }
  4705. return 1;
  4706. }
  4707.  
  4708. dcmd_auto(playerid,params[]) {
  4709. #pragma unused params
  4710. if(PlayerInfo[playerid][pVip] >= 4)
  4711. {
  4712. if(SaltosAuto[playerid] > 0)
  4713. {
  4714. SaltosAuto[playerid] = 0;
  4715. SendClientMessage(playerid,COLOR_YELLOW,"saltos en Auto desactivado.");
  4716. CMDMessageToVip(playerid,"AUTO");
  4717. }
  4718. else
  4719. {
  4720. SaltosAuto[playerid] = 1;
  4721. SendClientMessage(playerid,COLOR_YELLOW,"saltos en Auto activado. Usa /Auto para desactivarlo.");
  4722. CMDMessageToVip(playerid,"AUTO");
  4723. }
  4724. }
  4725. else {
  4726. SendClientMessage(playerid,COLOR_RED,"Usted No Es Un Player Platinum.");
  4727. }
  4728. return 1;
  4729. }
  4730.  
  4731.  
  4732.  
  4733. dcmd_vida(playerid,params[]) {
  4734. #pragma unused params
  4735. if (UsarCMD[playerid] == 1) return SendClientMessage(playerid,COLOR_RED,"Debes Esperar 5 Minutos Para Volver A Usar Este Comando !");
  4736. if(PlayerInfo[playerid][pVip] >= 3)
  4737. {
  4738. SetPlayerHealth(playerid,100);
  4739. SendClientMessage(playerid,COLOR_RED,"Se Restauro Vida.");
  4740. SendClientMessage(playerid,COLOR_YELLOW,"Ahora debes esperar 5 minutos para usar otro comando premium.");
  4741. UsarCMD[playerid] = 1;
  4742. SetTimerEx("Listo", 300000, false, "i", playerid);
  4743. CMDMessageToVip(playerid,"VIDA");
  4744. }
  4745. else {
  4746. SendClientMessage(playerid,COLOR_RED,"Usted No Es Un Player PREMIUM.");
  4747. }
  4748. return 1;
  4749. }
  4750.  
  4751. dcmd_bomberman(playerid,params[]) {
  4752. #pragma unused params
  4753. if (UsarCMD[playerid] == 1) return SendClientMessage(playerid,COLOR_RED,"Debes Esperar 5 Minutos Para Volver A Usar Este Comando !");
  4754. if(PlayerInfo[playerid][pVip] >= 5)
  4755. {
  4756. SetPlayerHealth(playerid,100);
  4757. SendClientMessage(playerid,COLOR_RED,"Preparate Para Morir");
  4758. SendClientMessage(playerid,COLOR_YELLOW,"Ahora debes esperar 5 minutos para usar otro comando Elite.");
  4759. UsarCMD[playerid] = 1;
  4760. SetTimerEx("Listo", 300000, false, "i", playerid);
  4761. CMDMessageToVip(playerid,"BOMBERMAN");
  4762. new Float:x, Float:y, Float:z;
  4763. GetPlayerPos(playerid, x, y, z);
  4764. SetPlayerHealth(playerid,0);
  4765.  
  4766. for(new a=0;a<20;a++)
  4767. {
  4768. CreateExplosion(x,y,z, 6, 20.0);
  4769. }
  4770. }
  4771.  
  4772. else
  4773. {
  4774. SendClientMessage(playerid,COLOR_RED,"Usted No Es Un Player Elite.");
  4775. }
  4776. return 1;
  4777. }
  4778.  
  4779. dcmd_nuclear(playerid,params[]) {
  4780. #pragma unused params
  4781. if (YaUsoNuclear[playerid] == 1) return SendClientMessage(playerid,COLOR_RED,"Ya Has Usado Este Comando, Solo Se Permite 1 Vez!");
  4782. if(PlayerInfo[playerid][pVip] >= 5)
  4783. {
  4784. YaUsoNuclear[playerid]=1;
  4785. SendClientMessage(playerid,COLOR_RED,"Suicida Plantaste Una Bomba Nuclear En EL Servidor!");
  4786. CMDMessageToVip(playerid,"NUCLEAR");
  4787. format(string2,sizeof(string2),"~n~~n~~n~~n~~n~~p~%s Planto Una Bomba En El Servidor, Tienen 60 Segundos~n~Para Buscarlo y Matarlo o Si No Moriran Todos!",PlayerName2(playerid));
  4788. GameTextForAll(string2,6000,4);
  4789. SetTimerEx("Bomba", 60000, false, "i", playerid);
  4790. BuscadoPorNuclear[playerid]=1;
  4791. }
  4792. else
  4793. {
  4794. SendClientMessage(playerid,COLOR_RED,"Usted No Es Un Player Elite.");
  4795. }
  4796. return 1;
  4797. }
  4798.  
  4799. dcmd_chaleco(playerid,params[]) {
  4800. #pragma unused params
  4801. if (UsarCMD[playerid] == 1) return SendClientMessage(playerid,COLOR_RED,"Debes Esperar 5 Minutos Para Volver A Usar Este Comando !");
  4802. if(PlayerInfo[playerid][pVip] >= 3)
  4803. {
  4804. SetPlayerArmour(playerid,100);
  4805. SendClientMessage(playerid,COLOR_RED,"Se Restauro Armadura.");
  4806. SendClientMessage(playerid,COLOR_YELLOW,"Ahora debes esperar 5 minutos para usar otro comando premium.");
  4807. UsarCMD[playerid] = 1;
  4808. SetTimerEx("Listo", 300000, false, "i", playerid);
  4809. CMDMessageToVip(playerid,"CHALECO");
  4810. }
  4811. else {
  4812. SendClientMessage(playerid,COLOR_RED,"Usted No Es Un Player PREMIUM.");
  4813. }
  4814. return 1;
  4815. }
  4816. dcmd_jetpack1(playerid,params[]) {
  4817. #pragma unused params
  4818. if (UsarCMD[playerid] == 1) return SendClientMessage(playerid,COLOR_RED,"Debes Esperar 5 Minutos Para Volver A Usar Este Comando !");
  4819. if(PlayerInfo[playerid][pVip] >= 3)
  4820. {
  4821. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
  4822. SendClientMessage(playerid,COLOR_YELLOW,"Ahora debes esperar 5 minutos para usar otro comando premium.");
  4823. UsarCMD[playerid] = 1;
  4824. SetTimerEx("Listo", 300000, false, "i", playerid);
  4825. CMDMessageToVip(playerid,"JETPACK1");
  4826. }
  4827. else {
  4828. SendClientMessage(playerid,COLOR_RED,"Usted No Es Un Player PREMIUM.");
  4829. }
  4830. return 1;
  4831. }
  4832.  
  4833. dcmd_invisible(playerid,params[])
  4834. {
  4835. #pragma unused params
  4836. if(PlayerInfo[playerid][pVip] >= 1)
  4837. {
  4838. if(PlayerInfo[playerid][Hide] == 0)
  4839. {
  4840. iColor = GetPlayerColor(playerid);
  4841. SetPlayerColor(playerid, 0xFFFFFF00);
  4842. GameTextPlayer(playerid, "~n~~n~~n~~n~~g~Invisible!",2500,3);
  4843. PlayerInfo[playerid][Hide] = 1;
  4844. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  4845. {
  4846. new int1 = GetPlayerInterior(playerid);
  4847. LinkVehicleToInterior(GetPlayerVehicleID(playerid),int1+1);
  4848. }
  4849. return 1;
  4850. }
  4851. else return SendClientMessage(playerid, red,"ERROR: Tu Ya Estas Invisible!");
  4852. }
  4853. else return SendClientMessage(playerid,red,"Tu No Eres Player Silver");
  4854. }
  4855.  
  4856.  
  4857. dcmd_visible(playerid,params[])
  4858. {
  4859. #pragma unused params
  4860. if(PlayerInfo[playerid][pVip] >= 1)
  4861. {
  4862. if(PlayerInfo[playerid][Hide] == 1)
  4863. {
  4864. SetPlayerColor(playerid, iColor);
  4865. GameTextPlayer(playerid, "~n~~n~~n~~n~~b~Visible!",2500,3);
  4866. PlayerInfo[playerid][Hide] = 0;
  4867. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  4868. {
  4869. new int1 = GetPlayerInterior(playerid);
  4870. LinkVehicleToInterior(GetPlayerVehicleID(playerid),int1);
  4871. }
  4872. return 1;
  4873. }
  4874. else return SendClientMessage(playerid, red,"ERROR: Tu Ya Estas Visible!");
  4875. }
  4876. else return SendClientMessage(playerid,red,"Tu No Eres Player Silver");
  4877. }
  4878.  
  4879. dcmd_autostun(playerid,params[])
  4880. {
  4881. #pragma unused params
  4882. if(PlayerInfo[playerid][pVip] >= 1)
  4883. {
  4884. ShowPlayerDialog(playerid, AutosTuning, DIALOG_STYLE_LIST, "Autos Tuneados para vip", "Auto 1\nAuto 2\nAuto 3\nAuto 4\nAuto 5\nAuto 6\nAuto 7\nAuto 8\nAuto 9\nAuto 10\nAuto 11\nAuto 12\nAuto 13", "Seleccionar","Cancelar");
  4885. } else SendClientMessage(playerid, red,"Tu No Eres Player Silver");
  4886. return 1;
  4887. }
  4888.  
  4889. dcmd_autosrc(playerid,params[])
  4890. {
  4891. #pragma unused params
  4892. if(PlayerInfo[playerid][pVip] >= 1)
  4893. {
  4894. ShowPlayerDialog(playerid, AutosRC, DIALOG_STYLE_LIST, "Autos RC para vip", "Bandit\nRaider\nGoblin\nTiger\nCam", "Seleccionar","Cancelar");
  4895. } else SendClientMessage(playerid, red,"Tu No Eres Player Silver");
  4896. return 1;
  4897. }
  4898.  
  4899. #if defined USE_ALL_CMDS
  4900.  
  4901. dcmd_freezeall(playerid,params[]) {
  4902. #pragma unused params
  4903. if(PlayerInfo[playerid][Level] >= 6) {
  4904. CMDMessageToAdmins(playerid,"FREEZEALL");
  4905. for(new i = 0; i < MAX_PLAYERS; i++) {
  4906. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4907. PlayerPlaySound(i,1057,0.0,0.0,0.0); TogglePlayerControllable(playerid,false); PlayerInfo[i][Frozen] = 1;
  4908. }
  4909. }
  4910. format(string2,sizeof(string2),"Administrator \"%s\" has frozen all players", pName(playerid) );
  4911. return SendClientMessageToAll(blue, string2);
  4912. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 7 Para Usar Este Comando");
  4913. }
  4914.  
  4915. dcmd_unfreezeall(playerid,params[]) {
  4916. #pragma unused params
  4917. if(PlayerInfo[playerid][Level] >= 6) {
  4918. CMDMessageToAdmins(playerid,"UNFREEZEALL");
  4919. for(new i = 0; i < MAX_PLAYERS; i++) {
  4920. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4921. PlayerPlaySound(i,1057,0.0,0.0,0.0); TogglePlayerControllable(playerid,true); PlayerInfo[i][Frozen] = 0;
  4922. }
  4923. }
  4924. format(string2,sizeof(string2),"Administrator \"%s\" has unfrozen all players", pName(playerid) );
  4925. return SendClientMessageToAll(blue, string2);
  4926. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 7 Para Usar Este Comando");
  4927. }
  4928.  
  4929. dcmd_kickall(playerid,params[]) {
  4930. #pragma unused params
  4931. if(PlayerInfo[playerid][Level] >= 6) {
  4932. CMDMessageToAdmins(playerid,"KICKALL");
  4933. for(new i = 0; i < MAX_PLAYERS; i++) {
  4934. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4935. PlayerPlaySound(i,1057,0.0,0.0,0.0); Kick(i);
  4936. }
  4937. }
  4938. format(string2,sizeof(string2),"Administrator \"%s\" has kicked all players", pName(playerid) );
  4939. SaveToFile("KickLog",string2);
  4940. return SendClientMessageToAll(blue, string2);
  4941. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 7 Para Usar Este Comando");
  4942. }
  4943.  
  4944. dcmd_slapall(playerid,params[]) {
  4945. #pragma unused params
  4946. if(PlayerInfo[playerid][Level] >= 6) {
  4947. CMDMessageToAdmins(playerid,"SLAPALL");
  4948. new Float:x, Float:y, Float:z;
  4949. for(new i = 0; i < MAX_PLAYERS; i++) {
  4950. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4951. PlayerPlaySound(i,1190,0.0,0.0,0.0); GetPlayerPos(i,x,y,z); SetPlayerPos(i,x,y,z+4);
  4952. }
  4953. }
  4954. format(string2,sizeof(string2),"Administrator \"%s\" has slapped all players", pName(playerid) );
  4955. return SendClientMessageToAll(blue, string2);
  4956. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 7 Para Usar Este Comando");
  4957. }
  4958.  
  4959. dcmd_explodeall(playerid,params[]) {
  4960. #pragma unused params
  4961. if(PlayerInfo[playerid][Level] >= 6) {
  4962. CMDMessageToAdmins(playerid,"EXPLODEALL");
  4963. new Float:x, Float:y, Float:z;
  4964. for(new i = 0; i < MAX_PLAYERS; i++) {
  4965. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4966. PlayerPlaySound(i,1190,0.0,0.0,0.0); GetPlayerPos(i,x,y,z); CreateExplosion(x, y , z, 7, 10.0);
  4967. }
  4968. }
  4969. format(string2,sizeof(string2),"Administrator \"%s\" has exploded all players", pName(playerid) );
  4970. return SendClientMessageToAll(blue, string2);
  4971. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 7 Para Usar Este Comando");
  4972. }
  4973.  
  4974. dcmd_disarmall(playerid,params[]) {
  4975. #pragma unused params
  4976. if(PlayerInfo[playerid][Level] >= 6) {
  4977. CMDMessageToAdmins(playerid,"DISARMALL");
  4978. for(new i = 0; i < MAX_PLAYERS; i++) {
  4979. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4980. PlayerPlaySound(i,1057,0.0,0.0,0.0); ResetPlayerWeapons(i);
  4981. }
  4982. }
  4983. format(string2,sizeof(string2),"Administrator \"%s\" has disarmed all players", pName(playerid) );
  4984. return SendClientMessageToAll(blue, string2);
  4985. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 7 Para Usar Este Comando");
  4986. }
  4987.  
  4988. dcmd_ejectall(playerid,params[]) {
  4989. #pragma unused params
  4990. if(PlayerInfo[playerid][Level] >= 6) {
  4991. CMDMessageToAdmins(playerid,"EJECTALL");
  4992. new Float:x, Float:y, Float:z;
  4993. for(new i = 0; i < MAX_PLAYERS; i++) {
  4994. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4995. if(IsPlayerInAnyVehicle(i)) {
  4996. PlayerPlaySound(i,1057,0.0,0.0,0.0); GetPlayerPos(i,x,y,z); SetPlayerPos(i,x,y,z+3);
  4997. }
  4998. }
  4999. }
  5000. format(string2,sizeof(string2),"Administrator \"%s\" has ejected all players", pName(playerid) );
  5001. return SendClientMessageToAll(blue, string2);
  5002. } else return SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 7 Para Usar Este Comando");
  5003. }
  5004.  
  5005. //-------------==== Set All Commands ====-------------//
  5006.  
  5007. dcmd_setallskin(playerid,params[]) {
  5008. if(PlayerInfo[playerid][Level] >= 6) {
  5009. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallskin [skinid]");
  5010. new var = strval(params);
  5011. if(!IsValidSkin(var)) return SendClientMessage(playerid, red, "ERROR: Invaild Skin ID");
  5012. CMDMessageToAdmins(playerid,"SETALLSKIN");
  5013. for(new i = 0; i < MAX_PLAYERS; i++) {
  5014. if(IsPlayerConnected(i)) {
  5015. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  5016. SetPlayerSkin(i,var);
  5017. }
  5018. }
  5019. format(string2,sizeof(string2),"Administrator \"%s\" has set all players skin to '%d'", pName(playerid), var );
  5020. return SendClientMessageToAll(blue, string2);
  5021. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5022. }
  5023.  
  5024. dcmd_setallwanted(playerid,params[]) {
  5025. if(PlayerInfo[playerid][Level] >= 6) {
  5026. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallwanted [wanted level]");
  5027. new var = strval(params);
  5028. CMDMessageToAdmins(playerid,"SETALLWANTED");
  5029. for(new i = 0; i < MAX_PLAYERS; i++) {
  5030. if(IsPlayerConnected(i)) {
  5031. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  5032. SetPlayerWantedLevel(i,var);
  5033. }
  5034. }
  5035. format(string2,sizeof(string2),"Administrator \"%s\" has set all players wanted level to '%d'", pName(playerid), var );
  5036. return SendClientMessageToAll(blue, string2);
  5037. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5038. }
  5039.  
  5040. dcmd_setallweather(playerid,params[]) {
  5041. if(PlayerInfo[playerid][Level] >= 6) {
  5042. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallweather [weather ID]");
  5043. new var = strval(params);
  5044. CMDMessageToAdmins(playerid,"SETALLWEATHER");
  5045. for(new i = 0; i < MAX_PLAYERS; i++) {
  5046. if(IsPlayerConnected(i)) {
  5047. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  5048. SetPlayerWeather(i, var);
  5049. }
  5050. }
  5051. format(string2,sizeof(string2),"Administrator \"%s\" has set all players weather to '%d'", pName(playerid), var );
  5052. return SendClientMessageToAll(blue, string2);
  5053. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5054. }
  5055.  
  5056. dcmd_setalltime(playerid,params[]) {
  5057. if(PlayerInfo[playerid][Level] >= 6) {
  5058. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setalltime [hour]");
  5059. new var = strval(params);
  5060. if(var > 24) return SendClientMessage(playerid, red, "ERROR: Invalid hour");
  5061. CMDMessageToAdmins(playerid,"SETALLTIME");
  5062. for(new i = 0; i < MAX_PLAYERS; i++) {
  5063. if(IsPlayerConnected(i)) {
  5064. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  5065. SetWorldTime(var);
  5066. }
  5067. }
  5068. format(string2,sizeof(string2),"Administrator \"%s\" has set all players time to '%d:00'", pName(playerid), var );
  5069. return SendClientMessageToAll(blue, string2);
  5070. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5071. }
  5072.  
  5073. dcmd_setallworld(playerid,params[]) {
  5074. if(PlayerInfo[playerid][Level] >= 6) {
  5075. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallworld [virtual world]");
  5076. new var = strval(params);
  5077. CMDMessageToAdmins(playerid,"SETALLWORLD");
  5078. for(new i = 0; i < MAX_PLAYERS; i++) {
  5079. if(IsPlayerConnected(i)) {
  5080. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  5081. SetPlayerVirtualWorld(i,var);
  5082. }
  5083. }
  5084. format(string2,sizeof(string2),"Administrator \"%s\" has set all players virtual worlds to '%d'", pName(playerid), var );
  5085. return SendClientMessageToAll(blue, string2);
  5086. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5087. }
  5088.  
  5089. dcmd_setallscore(playerid,params[]) {
  5090. if(PlayerInfo[playerid][Level] >= 6) {
  5091. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallscore [score]");
  5092. new var = strval(params);
  5093. CMDMessageToAdmins(playerid,"SETALLSCORE");
  5094. for(new i = 0; i < MAX_PLAYERS; i++) {
  5095. if(IsPlayerConnected(i)) {
  5096. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  5097. SetPlayerScore(i,var);
  5098. }
  5099. }
  5100. format(string2,sizeof(string2),"Administrator \"%s\" has set all players scores to '%d'", pName(playerid), var );
  5101. return SendClientMessageToAll(blue, string2);
  5102. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5103. }
  5104.  
  5105. dcmd_setallcash(playerid,params[]) {
  5106. if(PlayerInfo[playerid][Level] >= 6) {
  5107. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallcash [Amount]");
  5108. new var = strval(params);
  5109. CMDMessageToAdmins(playerid,"SETALLCASH");
  5110. for(new i = 0; i < MAX_PLAYERS; i++) {
  5111. if(IsPlayerConnected(i)) {
  5112. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  5113. ResetPlayerMoney(i);
  5114. GivePlayerMoney(i,var);
  5115. }
  5116. }
  5117. format(string2,sizeof(string2),"Administrator \"%s\" has set all players cash to '$%d'", pName(playerid), var );
  5118. return SendClientMessageToAll(blue, string2);
  5119. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5120. }
  5121.  
  5122. dcmd_giveallcash(playerid,params[]) {
  5123. if(PlayerInfo[playerid][Level] >= 6) {
  5124. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /giveallcash [Amount]");
  5125. new var = strval(params);
  5126. CMDMessageToAdmins(playerid,"GIVEALLCASH");
  5127. for(new i = 0; i < MAX_PLAYERS; i++) {
  5128. if(IsPlayerConnected(i)) {
  5129. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  5130. GivePlayerMoney(i,var);
  5131. }
  5132. }
  5133. format(string2,sizeof(string2),"Administrator \"%s\" has given all players '$%d'", pName(playerid), var );
  5134. return SendClientMessageToAll(blue, string2);
  5135. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5136. }
  5137.  
  5138. dcmd_giveallweapon(playerid,params[]) {
  5139. if(PlayerInfo[playerid][Level] >= 6) {
  5140. new tmp[256], Index, ammo, weap, WeapName[32]; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  5141. if(!strlen(tmp) ) return SendClientMessage(playerid, red, "USAGE: /giveallweapon [weapon id/weapon name] [ammo]");
  5142. if(!strlen(tmp2) || !IsNumeric(tmp2) || strval(tmp2) <= 0 || strval(tmp2) > 99999) ammo = 500;
  5143. if(!IsNumeric(tmp)) weap = GetWeaponIDFromName(tmp); else weap = strval(tmp);
  5144. if(!IsValidWeapon(weap)) return SendClientMessage(playerid,red,"ERROR: Invalid weapon ID");
  5145. CMDMessageToAdmins(playerid,"GIVEALLWEAPON");
  5146. for(new i = 0; i < MAX_PLAYERS; i++) {
  5147. if(IsPlayerConnected(i)) {
  5148. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  5149. GivePlayerWeapon(i,weap,ammo);
  5150. }
  5151. }
  5152. GetWeaponName(weap, WeapName, sizeof(WeapName) );
  5153. format(string2,sizeof(string2),"Administrator \"%s\" has given all players a %s (%d) with %d rounds of ammo", pName(playerid), WeapName, weap, ammo);
  5154. return SendClientMessageToAll(blue, string2);
  5155. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5156. }
  5157.  
  5158. #endif
  5159. //================================[ Menu Commands ]=============================
  5160. #if defined USE_MENUS
  5161.  
  5162. dcmd_lmenu(playerid,params[]) {
  5163. #pragma unused params
  5164. if(PlayerInfo[playerid][Level] >= 2) {
  5165. if(IsPlayerInAnyVehicle(playerid)) {
  5166. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LMainMenu,playerid);
  5167. } else return ShowMenuForPlayer(LMainMenu,playerid);
  5168. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5169. }
  5170. dcmd_ltele(playerid,params[]) {
  5171. #pragma unused params
  5172. if(PlayerInfo[playerid][Level] >= 2) {
  5173. if(IsPlayerInAnyVehicle(playerid)) {
  5174. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LTele,playerid);
  5175. } else return ShowMenuForPlayer(LTele,playerid);
  5176. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5177. }
  5178. dcmd_lweather(playerid,params[]) {
  5179. #pragma unused params
  5180. if(PlayerInfo[playerid][Level] >= 3) {
  5181. if(IsPlayerInAnyVehicle(playerid)) {
  5182. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LWeather,playerid);
  5183. } else return ShowMenuForPlayer(LWeather,playerid);
  5184. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5185. }
  5186. dcmd_ltime(playerid,params[]) {
  5187. #pragma unused params
  5188. if(PlayerInfo[playerid][Level] >= 3) {
  5189. if(IsPlayerInAnyVehicle(playerid)) {
  5190. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LTime,playerid);
  5191. } else return ShowMenuForPlayer(LTime,playerid);
  5192. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5193. }
  5194. dcmd_cm(playerid,params[]) {
  5195. #pragma unused params
  5196. if(PlayerInfo[playerid][Level] >= 2) {
  5197. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,red,"ERROR: You already have a car.");
  5198. else { ShowMenuForPlayer(LCars,playerid); return TogglePlayerControllable(playerid,false); }
  5199. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5200. }
  5201. dcmd_ltmenu(playerid,params[]) {
  5202. #pragma unused params
  5203. if(PlayerInfo[playerid][Level] >= 2) {
  5204. if(IsPlayerInAnyVehicle(playerid)) {
  5205. new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
  5206. switch(LModel) { case 448,461,462,463,468,471,509,510,521,522,523,581,586,449: return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle!"); }
  5207. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LTuneMenu,playerid);
  5208. } else return SendClientMessage(playerid,red,"ERROR: You do not have a vehicle to tune");
  5209. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5210. }
  5211. dcmd_lweapons(playerid,params[]) {
  5212. #pragma unused params
  5213. if(PlayerInfo[playerid][Level] >= 3) {
  5214. if(IsPlayerInAnyVehicle(playerid)) {
  5215. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(XWeapons,playerid);
  5216. } else return ShowMenuForPlayer(XWeapons,playerid);
  5217. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5218. }
  5219. dcmd_lvehicle(playerid,params[]) {
  5220. #pragma unused params
  5221. if(PlayerInfo[playerid][Level] >= 2) {
  5222. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,red,"ERROR: You already have a car.");
  5223. else { ShowMenuForPlayer(LVehicles,playerid); return TogglePlayerControllable(playerid,false); }
  5224. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5225. }
  5226.  
  5227. #endif
  5228.  
  5229. //----------------------===== Place & Skin Saving =====-------------------------
  5230. dcmd_gotoplace(playerid,params[]) {
  5231. #pragma unused params
  5232. if(PlayerInfo[playerid][LoggedIn] == 1 && PlayerInfo[playerid][Level] >= 1 || PlayerInfo[playerid][pVip] >= 1) {
  5233. if (dUserINT(PlayerName2(playerid)).("x")!=0) {
  5234. PutAtPos(playerid);
  5235. return SendClientMessage(playerid,yellow,"Ha sido transportado a su lugar guardado");
  5236. } else return SendClientMessage(playerid,red,"ERROR: Usted debe guardar un lugar para poder teletransportarse a el.");
  5237. } else return SendClientMessage(playerid,red, "ERROR: Usted Necesita Ser Player Silver, Para Poder Usar Este Cmd");
  5238. }
  5239.  
  5240. dcmd_saveplace(playerid,params[]) {
  5241. #pragma unused params
  5242. if(PlayerInfo[playerid][LoggedIn] == 1 && PlayerInfo[playerid][Level] >= 1 || PlayerInfo[playerid][pVip] >= 1) {
  5243. new Float:x,Float:y,Float:z, interior;
  5244. GetPlayerPos(playerid,x,y,z); interior = GetPlayerInterior(playerid);
  5245. dUserSetINT(PlayerName2(playerid)).("x",floatround(x));
  5246. dUserSetINT(PlayerName2(playerid)).("y",floatround(y));
  5247. dUserSetINT(PlayerName2(playerid)).("z",floatround(z));
  5248. dUserSetINT(PlayerName2(playerid)).("interior",interior);
  5249. return SendClientMessage(playerid,yellow,"You have successfully saved these coordinates");
  5250. } else return SendClientMessage(playerid,red, "ERROR: Tu Debes Ser Un Administrador Para Usar Este Comando!");
  5251. }
  5252.  
  5253. dcmd_saveskin(playerid,params[]) {
  5254. if(PlayerInfo[playerid][Level] >= 1 && PlayerInfo[playerid][LoggedIn] == 1) {
  5255. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /saveskin [skinid]");
  5256. new SkinID = strval(params);
  5257. if((SkinID == 0)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299))
  5258. {
  5259. dUserSetINT(PlayerName2(playerid)).("FavSkin",SkinID);
  5260. format(string2, sizeof(string2), "You have successfully saved this skin (ID %d)",SkinID);
  5261. SendClientMessage(playerid,yellow,string2);
  5262. SendClientMessage(playerid,yellow,"Type: /useskin to use this skin when you spawn or /dontuseskin to stop using skin");
  5263. dUserSetINT(PlayerName2(playerid)).("UseSkin",1);
  5264. return CMDMessageToAdmins(playerid,"SAVESKIN");
  5265. } else return SendClientMessage(playerid, green, "ERROR: Invalid Skin ID");
  5266. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Ser Un Administrador Para Usar Este Comando!");
  5267. }
  5268.  
  5269. dcmd_useskin(playerid,params[]) {
  5270. if(PlayerInfo[playerid][LoggedIn] == 1) {
  5271. if(!strlen(params)) return SendClientMessage(playerid, red, "USA: /saveskin [skinid]");
  5272. new SkinID = strval(params);
  5273. dUserSetINT(PlayerName2(playerid)).("FavSkin",SkinID);
  5274. dUserSetINT(PlayerName2(playerid)).("UseSkin",1);
  5275. SendClientMessage(playerid,yellow,"Ahora Al Spawnear Te Pondran Este Skin! Si Quieres Dejar De Usarlo Usa {FFFFFF}/dontuseskin");
  5276. SetPlayerSkin(playerid,dUserINT(PlayerName2(playerid)).("FavSkin"));
  5277. return SendClientMessage(playerid,yellow,"Nuevo Skin En Uso");
  5278. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) Para Usar Este Comando!");
  5279. }
  5280.  
  5281. dcmd_dontuseskin(playerid,params[]) {
  5282. #pragma unused params
  5283. if(PlayerInfo[playerid][LoggedIn] == 1) {
  5284. dUserSetINT(PlayerName2(playerid)).("UseSkin",0);
  5285. return SendClientMessage(playerid,yellow,"Ahora No Hay Un Skin En Uso!");
  5286. } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) Para Usar Este Comando!");
  5287. }
  5288.  
  5289. //====================== [REGISTER & LOGIN] ==================================
  5290. #if defined USE_AREGISTER
  5291.  
  5292. dcmd_aregister(playerid,params[])
  5293. {
  5294. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"CUENTA: Usted ya está registrado y conectado");
  5295. if (udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"CUENTA: Esta cuenta ya existe, por favor, utilice /alogin [contraseña]'.");
  5296. if (strlen(params) == 0) return SendClientMessage(playerid,red,"CUENTA: el uso correcto: '/ aregister [contraseña]'");
  5297. if (strlen(params) < 4 || strlen(params) > 20) return SendClientMessage(playerid,red,"CUENTA: La contraseña debe ser superior a tres caracteres");
  5298. if (udb_Create(PlayerName2(playerid),params))
  5299. {
  5300. name[MAX_PLAYER_NAME], tmp3[100];
  5301. new strdate[20], year,month,day; getdate(year, month, day);
  5302. GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
  5303. GetPlayerIp(playerid,tmp3,100); dini_Set(file,"ip",tmp3);
  5304. // dini_Set(file,"password",params);
  5305. dUserSetINT(PlayerName2(playerid)).("registered",1);
  5306. format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
  5307. dini_Set(file,"RegisteredDate",strdate);
  5308. dUserSetINT(PlayerName2(playerid)).("loggedin",1);
  5309. dUserSetINT(PlayerName2(playerid)).("banned",0);
  5310. dUserSetINT(PlayerName2(playerid)).("level",0);
  5311. dUserSetINT(PlayerName2(playerid)).("AccountType",0);
  5312. dUserSetINT(PlayerName2(playerid)).("LastOn",0);
  5313. dUserSetINT(PlayerName2(playerid)).("money",0);
  5314. dUserSetINT(PlayerName2(playerid)).("kills",0);
  5315. dUserSetINT(PlayerName2(playerid)).("deaths",0);
  5316. dUserSetINT(PlayerName2(playerid)).("Exper",0);
  5317. PlayerInfo[playerid][LoggedIn] = 1;
  5318. PlayerInfo[playerid][Registered] = 1;
  5319. SendClientMessage(playerid, green, "CUENTA: Usted está actualmente registrado, y te has registrado automáticamente");
  5320. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  5321. return 1;
  5322. }
  5323. return 1;
  5324. }
  5325.  
  5326. dcmd_alogin(playerid,params[])
  5327. {
  5328. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"CUENTA: Usted ya está logueado");
  5329. if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"CUENTA: La cuenta no existe por favor, utilice '/aregister [contraseña]'.");
  5330. if (strlen(params)==0) return SendClientMessage(playerid,red,"CUENTA: Uso correcto: /alogin [contraseña]'");
  5331. if (udb_CheckLogin(PlayerName2(playerid),params))
  5332. {
  5333. new tmp3[100];
  5334. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
  5335. GetPlayerIp(playerid,tmp3,100);
  5336. dini_Set(file,"ip",tmp3);
  5337. LoginPlayer(playerid);
  5338. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  5339. if(PlayerInfo[playerid][Level] > 0) {
  5340. format(string2,sizeof(string2),"CUENTA: Logueado correctamente! (Nivel %d)", PlayerInfo[playerid][Level] );
  5341. return SendClientMessage(playerid,green,string2);
  5342. } else return SendClientMessage(playerid,green,"CUENTA: Logueado correctamente!");
  5343. }
  5344. else {
  5345. PlayerInfo[playerid][FailLogin]++;
  5346. printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), params, PlayerInfo[playerid][FailLogin] );
  5347. if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
  5348. {
  5349. format(string2, sizeof(string2), "%s ha sido kickeado (Login Incorrecto)", PlayerName2(playerid) );
  5350. SendClientMessageToAll(grey, string2); print(string2);
  5351. Kick(playerid);
  5352. }
  5353. return SendClientMessage(playerid,red,"CUENTA: Contraseña incorrecta");
  5354. }
  5355. }
  5356.  
  5357. dcmd_achangepass(playerid,params[]) {
  5358. if(PlayerInfo[playerid][LoggedIn] == 1) {
  5359. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /achangepass [new password]");
  5360. if(strlen(params) < 4) return SendClientMessage(playerid,red,"ACCOUNT: Incorrect password length");
  5361. dUserSetINT(PlayerName2(playerid)).("password_hash",udb_hash(params) );
  5362. dUserSet(PlayerName2(playerid)).("Password",params);
  5363. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  5364. format(string2, sizeof(string2),"CUENTA: Has cambiado tu contraseña a [ %s ]",params);
  5365. return SendClientMessage(playerid,yellow,string2);
  5366. } else return SendClientMessage(playerid,red, "ERROR: Usted debe tener una cuenta para utilizar este comando");
  5367. }
  5368.  
  5369. dcmd_asetpass(playerid,params[]) {
  5370. if(PlayerInfo[playerid][Level] >= 6) {
  5371. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  5372. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /asetpass [playername] [new password]");
  5373. if(strlen(tmp2) < 4 || strlen(tmp2) > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,"ERROR: Incorrect password length");
  5374. if(udb_Exists(tmp)) {
  5375. dUserSetINT(tmp).("password_hash", udb_hash(tmp2));
  5376. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  5377. format(string2, sizeof(string2),"ACCOUNT: You have successfully set \"%s's\" account password to \"%s\"", tmp, tmp2);
  5378. return SendClientMessage(playerid,yellow,string2);
  5379. } else return SendClientMessage(playerid,red, "ERROR: El jugador no posee una cuenta");
  5380. } else return SendClientMessage(playerid,red,"ERROR: Usted no tiene un nivel alPara Usar Este Comando");
  5381. }
  5382.  
  5383. #if defined USE_STATS
  5384. dcmd_aresetstats(playerid,params[]) {
  5385. #pragma unused params
  5386. if(PlayerInfo[playerid][LoggedIn] == 1) {
  5387. // save as backup
  5388. dUserSetINT(PlayerName2(playerid)).("oldkills",PlayerInfo[playerid][Kills]);
  5389. dUserSetINT(PlayerName2(playerid)).("olddeaths",PlayerInfo[playerid][Deaths]);
  5390. // stats reset
  5391. PlayerInfo[playerid][Kills] = 0;
  5392. PlayerInfo[playerid][Deaths] = 0;
  5393. dUserSetINT(PlayerName2(playerid)).("kills",PlayerInfo[playerid][Kills]);
  5394. dUserSetINT(PlayerName2(playerid)).("deaths",PlayerInfo[playerid][Deaths]);
  5395. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  5396. return SendClientMessage(playerid,yellow,"ACCOUNT: You have successfully reset your stats. Your kills and deaths are: 0");
  5397. } else return SendClientMessage(playerid,red, "ERROR: Usted debe tener una cuenta para utilizar este comando");
  5398. }
  5399.  
  5400. dcmd_astats(playerid,params[]) {
  5401. new pDeaths, player1, h, m, s;
  5402. if(!strlen(params)) player1 = playerid;
  5403. else player1 = strval(params);
  5404.  
  5405. if(IsPlayerConnected(player1)) {
  5406. TotalGameTime(player1, h, m, s);
  5407. if(PlayerInfo[player1][Deaths] == 0) pDeaths = 1; else pDeaths = PlayerInfo[player1][Deaths];
  5408. format(string2, sizeof(string2), "| %s's Estadisticas: Matas: %d | Muertes: %d | Radio: %0.2f | Plata: $%d | Tiempo: %d hrs %d mins %d segs |",PlayerName2(player1), PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths], Float:PlayerInfo[player1][Kills]/Float:pDeaths,GetPlayerMoney(player1), h, m, s);
  5409. return SendClientMessage(playerid, green, string2);
  5410. } else return SendClientMessage(playerid, red, "Player no conectado!");
  5411. }
  5412. #endif
  5413.  
  5414.  
  5415. #else
  5416.  
  5417.  
  5418. dcmd_register(playerid,params[])
  5419. {
  5420. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"CUENTA: Usted ya está registrado y conectado.");
  5421. if (udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"CUENTA: Esta cuenta ya existe, por favor, utilice '/ login [contraseña]'.");
  5422. if (strlen(params) == 0) return SendClientMessage(playerid,red,"CUENTA: Uso correcto: '/ register [contraseña]'");
  5423. if (strlen(params) < 4 || strlen(params) > 20) return SendClientMessage(playerid,red,"CUENTA: La contraseña debe ser superior a tres caracteres");
  5424. if (udb_Create(PlayerName2(playerid),params))
  5425. {
  5426. new name[MAX_PLAYER_NAME];
  5427. new strdate[20], year,month,day; getdate(year, month, day);
  5428. GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
  5429. GetPlayerIp(playerid,tmp3,100); dini_Set(file,"ip",tmp3);
  5430. // dini_Set(file,"password",params);
  5431. dUserSetINT(PlayerName2(playerid)).("registered",1);
  5432. format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
  5433. dini_Set(file,"RegisteredDate",strdate);
  5434. dUserSetINT(PlayerName2(playerid)).("loggedin",1);
  5435. dUserSetINT(PlayerName2(playerid)).("banned",0);
  5436. dUserSetINT(PlayerName2(playerid)).("level",0);
  5437. dUserSetINT(PlayerName2(playerid)).("AccountType",0);
  5438. dUserSetINT(PlayerName2(playerid)).("LastOn",0);
  5439. dUserSetINT(PlayerName2(playerid)).("money",0);
  5440. dUserSetINT(PlayerName2(playerid)).("kills",0);
  5441. dUserSetINT(PlayerName2(playerid)).("deaths",0);
  5442. dUserSetINT(PlayerName2(playerid)).("Exper",0);
  5443. dUserSetINT(PlayerName2(playerid)).("hours",0);
  5444. dUserSetINT(PlayerName2(playerid)).("minutes",0);
  5445. dUserSetINT(PlayerName2(playerid)).("seconds",0);
  5446. dUserSetINT(PlayerName2(playerid)).("user",0);
  5447. dUserSetINT(PlayerName2(playerid)).("clan",0);
  5448. dUserSetINT(PlayerName2(playerid)).("banco",0);
  5449. PlayerInfo[playerid][LoggedIn] = 1;
  5450. PlayerInfo[playerid][Registered] = 1;
  5451. SendClientMessage(playerid, green, "CUENTA: Gracias Por Registrarte Disfruta De Nuestro Gran Servidor!");
  5452. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  5453. return 1;
  5454. }
  5455. return 1;
  5456. }
  5457.  
  5458. dcmd_login(playerid,params[])
  5459. {
  5460. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"CUENTA: Usted ya está conectado");
  5461. if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"CUENTA: La cuenta no existe, por favor, utilice '/register [contraseña]'.");
  5462. if (strlen(params)==0) return SendClientMessage(playerid,red,"CUENTA: Uso correcto: '/login [contraseña]'");
  5463. if (udb_CheckLogin(PlayerName2(playerid),params))
  5464. {
  5465. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
  5466. GetPlayerIp(playerid,tmp3,100);
  5467. dini_Set(file,"ip",tmp3);
  5468. LoginPlayer(playerid);
  5469. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  5470. if(PlayerInfo[playerid][Level] > 0) {
  5471. format(string2,sizeof(string2),"CUENTA: Logueado correctamente. [Admin Nivel: %d] [Vip Nivel: %d]", PlayerInfo[playerid][Level],PlayerInfo[playerid][pVip] );
  5472. return SendClientMessage(playerid,green,string2);
  5473. } else return SendClientMessage(playerid,green,"CUENTA: Logueado correctamente.");
  5474. }
  5475. else {
  5476. PlayerInfo[playerid][FailLogin]++;
  5477. printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), params, PlayerInfo[playerid][FailLogin] );
  5478. if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
  5479. {
  5480. format(string2, sizeof(string2), "%s Has sido kickeado (Logins incorrectos)", PlayerName2(playerid) );
  5481. SendClientMessageToAll(grey, string2);
  5482. print(string2);
  5483. Kick(playerid);
  5484. }
  5485. return SendClientMessage(playerid,red,"CUENTA: Error de inicio de sesión! Contraseña incorrecta");
  5486. }
  5487. }
  5488.  
  5489. dcmd_changepass(playerid,params[]) {
  5490. if(PlayerInfo[playerid][LoggedIn] == 1) {
  5491. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /changepass [new password]");
  5492. if(strlen(params) < 4) return SendClientMessage(playerid,red,"ACCOUNT: Incorrect password length");
  5493. dUserSetINT(PlayerName2(playerid)).("password_hash",udb_hash(params) );
  5494. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  5495. format(string2, sizeof(string2),"ACCOUNT: You have successfully changed your password to \"%s\"",params);
  5496. return SendClientMessage(playerid,yellow,string2);
  5497. } else return SendClientMessage(playerid,red, "ERROR: Tu Debes Tener Una Cuenta (/register) Para Usar Este Comando");
  5498. }
  5499.  
  5500.  
  5501. dcmd_setpass(playerid,params[]) {
  5502. new pame[MAX_PLAYER_NAME];
  5503. GetPlayerName(playerid, pame, sizeof(pame));
  5504. if(!strcmp(Nick,pame,true) || !strcmp(NickAutorizado,pame,true))
  5505. {
  5506. if(PlayerInfo[playerid][Level] >= 6) {
  5507. new tmp[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  5508. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setpass [playername] [new password]");
  5509. if(strlen(tmp2) < 4 || strlen(tmp2) > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,"ERROR: Incorrect password length");
  5510. if(udb_Exists(tmp)) {
  5511. dUserSetINT(tmp).("password_hash", udb_hash(tmp2));
  5512. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  5513. format(string2, sizeof(string2),"ACCOUNT: You have successfully set \"%s's\" account password to \"%s\"", tmp, tmp2);
  5514. return SendClientMessage(playerid,yellow,string2);
  5515. } else return SendClientMessage(playerid,red, "ERROR: This player doesnt have an account");
  5516. } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!");
  5517. } else return SendClientMessage(playerid, red, "ERROR: Solo 'Admin', puede usar este comando");
  5518. }
  5519.  
  5520. #if defined USE_STATS
  5521. dcmd_resetstats(playerid,params[]) {
  5522. #pragma unused params
  5523. if(PlayerInfo[playerid][LoggedIn] == 1) {
  5524. // save as backup
  5525. dUserSetINT(PlayerName2(playerid)).("oldkills",PlayerInfo[playerid][Kills]);
  5526. dUserSetINT(PlayerName2(playerid)).("olddeaths",PlayerInfo[playerid][Deaths]);
  5527. // stats reset
  5528. PlayerInfo[playerid][Kills] = 0;
  5529. PlayerInfo[playerid][Deaths] = 0;
  5530. dUserSetINT(PlayerName2(playerid)).("kills",PlayerInfo[playerid][Kills]);
  5531. dUserSetINT(PlayerName2(playerid)).("deaths",PlayerInfo[playerid][Deaths]);
  5532. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  5533. return SendClientMessage(playerid,yellow,"ACCOUNT: You have successfully reset your stats. Your kills and deaths are: 0");
  5534. } else return SendClientMessage(playerid,red, "ERROR: Tu Debes Crear Una Cuenta (/register) Para Usar Este Comando");
  5535. }
  5536. #endif
  5537.  
  5538. #if defined USE_STATS
  5539. dcmd_stats(playerid,params[]) {
  5540. new pDeaths, player1, h, m, s;
  5541. if(!strlen(params)) player1 = playerid;
  5542. else player1 = strval(params);
  5543.  
  5544. if(IsPlayerConnected(player1)) {
  5545. TotalGameTime(player1, h, m, s);
  5546. if(PlayerInfo[player1][Deaths] == 0) pDeaths = 1; else pDeaths = PlayerInfo[player1][Deaths];
  5547. format(string2, sizeof(string2), "| %s: Kills: %d | Deaths: %d | Experiencia: %d | Radio: %0.2f | Plata: $%d | Tiempo: %d hrs %d mins %d segs ",PlayerName2(player1), PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths],PlayerInfo[player1][Experiencia], Float:PlayerInfo[player1][Kills]/Float:pDeaths,GetPlayerMoney(player1), h, m, s);
  5548. return SendClientMessage(playerid, green, string2);
  5549. } else return SendClientMessage(playerid, red, "Jugador no conectado!");
  5550. }
  5551. #endif
  5552.  
  5553.  
  5554. #endif
  5555.  
  5556.  
  5557. LoginPlayer(playerid)
  5558. {
  5559. if(ServerInfo[GiveMoney] == 1) {ResetPlayerMoney(playerid); GivePlayerMoney(playerid, dUserINT(PlayerName2(playerid)).("money") ); }
  5560. dUserSetINT(PlayerName2(playerid)).("loggedin",1);
  5561. PlayerInfo[playerid][Kills] = (dUserINT(PlayerName2(playerid)).("kills"));
  5562. PlayerInfo[playerid][Deaths] = (dUserINT(PlayerName2(playerid)).("deaths"));
  5563. PlayerInfo[playerid][Experiencia] = (dUserINT(PlayerName2(playerid)).("Exper"));
  5564. PlayerInfo[playerid][Level] = (dUserINT(PlayerName2(playerid)).("level"));
  5565. PlayerInfo[playerid][pVip] = (dUserINT(PlayerName2(playerid)).("AccountType"));
  5566. PlayerInfo[playerid][hours] = dUserINT(PlayerName2(playerid)).("hours");
  5567. PlayerInfo[playerid][mins] = dUserINT(PlayerName2(playerid)).("minutes");
  5568. PlayerInfo[playerid][secs] = dUserINT(PlayerName2(playerid)).("seconds");
  5569. PlayerInfo[playerid][Registered] = 1;
  5570. PlayerInfo[playerid][LoggedIn] = 1;
  5571. }
  5572. //Información que verificara lo escrito entre otras cosas
  5573. strtok(const _string[], &index)
  5574. {
  5575. new length = strlen(_string);
  5576. while ((index < length) && (_string[index] <= ' '))
  5577. {
  5578. index++;
  5579. }
  5580.  
  5581. new offset = index;
  5582. new result[20];
  5583. while ((index < length) && (_string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  5584.  
  5585. {
  5586. result[index - offset] = _string[index];
  5587. index++;
  5588. }
  5589. result[index - offset] = EOS;
  5590. return result;
  5591. }
  5592. //==============================================================================
  5593. public OnPlayerCommandText(playerid, cmdtext[])
  5594. {
  5595. if(PlayerInfo[playerid][Jailed] == 1 && PlayerInfo[playerid][Level] < 1) return
  5596. SendClientMessage(playerid,red,"Usted no puede utilizar los comandos en la cárcel");
  5597.  
  5598.  
  5599. new cmd[256], tmp[256], idx;
  5600. cmd = strtok(cmdtext, idx);
  5601.  
  5602. #if defined USE_AREGISTER
  5603. dcmd(aregister,9,cmdtext);
  5604. dcmd(alogin,6,cmdtext);
  5605. dcmd(achangepass,11,cmdtext);
  5606. dcmd(asetpass,8,cmdtext);
  5607. #if defined USE_STATS
  5608. dcmd(astats,6,cmdtext);
  5609. dcmd(aresetstats,11,cmdtext);
  5610. #endif
  5611.  
  5612. #else
  5613.  
  5614. dcmd(register,8,cmdtext);
  5615. dcmd(login,5,cmdtext);
  5616. dcmd(changepass,10,cmdtext);
  5617. dcmd(setpass,7,cmdtext);
  5618. #if defined USE_STATS
  5619. dcmd(stats,5,cmdtext);
  5620. dcmd(resetstats,10,cmdtext);
  5621. #endif
  5622.  
  5623. #endif
  5624.  
  5625. dcmd(report,6,cmdtext);
  5626. dcmd(reportadmin,11,cmdtext);
  5627. dcmd(reports,7,cmdtext);
  5628.  
  5629. //================ [ Read Comamands ] ===========================//
  5630. if(ServerInfo[ReadCmds] == 1)
  5631. {
  5632. format(string2, sizeof(string2), "*** %s (%d) typed: %s", pName(playerid),playerid,cmdtext);
  5633. for(new i = 0; i < MAX_PLAYERS; i++) {
  5634. if(IsPlayerConnected(i)) {
  5635. if( (PlayerInfo[i][Level] > PlayerInfo[playerid][Level]) && (PlayerInfo[i][Level] > 1) && (i != playerid) ) {
  5636. SendClientMessage(i, grey, string2);
  5637. }
  5638. }
  5639. }
  5640. }
  5641.  
  5642. //-= Spectate Commands =-//
  5643. #if defined ENABLE_SPEC
  5644. dcmd(lspec,5,cmdtext);
  5645. dcmd(lspecoff,8,cmdtext);
  5646. dcmd(lspecvehicle,12,cmdtext);
  5647. #endif
  5648.  
  5649. //-= Chat Commands =-//
  5650. dcmd(disablechat,11,cmdtext);
  5651. dcmd(clearchat,9,cmdtext);
  5652. dcmd(clearallchat,12,cmdtext);
  5653. dcmd(caps,4,cmdtext);
  5654. dcmd(pm,2,cmdtext);
  5655.  
  5656. //-= Vehicle Commands =-//
  5657. dcmd(respawncars,11,cmdtext);
  5658. dcmd(destroycar,10,cmdtext);
  5659. // dcmd(lockcar,7,cmdtext);
  5660. // dcmd(unlockcar,9,cmdtext);
  5661. dcmd(carhealth,9,cmdtext);
  5662. dcmd(carcolour,9,cmdtext);
  5663. dcmd(car,3,cmdtext);
  5664. dcmd(vr,2,cmdtext);
  5665. dcmd(fix,3,cmdtext);
  5666. dcmd(repair,6,cmdtext);
  5667. dcmd(ltune,5,cmdtext);
  5668. dcmd(lhy,3,cmdtext);
  5669. dcmd(lcar,4,cmdtext);
  5670. dcmd(lbike,5,cmdtext);
  5671. dcmd(lheli,5,cmdtext);
  5672. dcmd(lboat,5,cmdtext);
  5673. dcmd(lnos,4,cmdtext);
  5674. dcmd(lplane,6,cmdtext);
  5675. dcmd(vgoto,5,cmdtext);
  5676. dcmd(vget,4,cmdtext);
  5677. dcmd(givecar,7,cmdtext);
  5678. dcmd(flip,4,cmdtext);
  5679. dcmd(ltc,3,cmdtext);
  5680. dcmd(linkcar,7,cmdtext);
  5681. dcmd(porno,5,cmdtext);
  5682. //-= Playerid Commands =-//
  5683. dcmd(crash,5,cmdtext);
  5684. dcmd(ip,2,cmdtext);
  5685. dcmd(snombre,7,cmdtext);
  5686. dcmd(sbotter,7,cmdtext);
  5687. dcmd(antifreescore,13,cmdtext);
  5688. dcmd(force,5,cmdtext);
  5689. dcmd(burn,4,cmdtext);
  5690. dcmd(spawn,5,cmdtext);
  5691. dcmd(spawnplayer,11,cmdtext);
  5692. dcmd(disarm,6,cmdtext);
  5693. dcmd(eject,5,cmdtext);
  5694. dcmd(relogear,8,cmdtext);
  5695. dcmd(bankrupt,8,cmdtext);
  5696. dcmd(sbankrupt,9,cmdtext);
  5697. dcmd(setworld,8,cmdtext);
  5698. dcmd(setinterior,11,cmdtext);
  5699. dcmd(ubound,6,cmdtext);
  5700. dcmd(setwanted,9,cmdtext);
  5701. dcmd(setcolour,9,cmdtext);
  5702. dcmd(settime,7,cmdtext);
  5703. dcmd(setweather,10,cmdtext);
  5704. dcmd(setname,7,cmdtext);
  5705. dcmd(setskin,7,cmdtext);
  5706. dcmd(setscore,8,cmdtext);
  5707. dcmd(setcash,7,cmdtext);
  5708. dcmd(sethealth,9,cmdtext);
  5709. dcmd(setarmour,9,cmdtext);
  5710. dcmd(giveweapon,10,cmdtext);
  5711. dcmd(warp,4,cmdtext);
  5712. dcmd(teleplayer,10,cmdtext);
  5713. dcmd(goto,4,cmdtext);
  5714. dcmd(gethere,7,cmdtext);
  5715. dcmd(get,3,cmdtext);
  5716. dcmd(setlevel,8,cmdtext);
  5717. dcmd(setvip,6,cmdtext);
  5718. dcmd(settemplevel,12,cmdtext);
  5719. dcmd(fu,2,cmdtext);
  5720. dcmd(warn,4,cmdtext);
  5721. dcmd(kick,4,cmdtext);
  5722. dcmd(ban,3,cmdtext);
  5723. dcmd(rban,4,cmdtext);
  5724. dcmd(sban,4,cmdtext);
  5725. dcmd(slap,4,cmdtext);
  5726. dcmd(explode,7,cmdtext);
  5727. dcmd(jail,4,cmdtext);
  5728. dcmd(unjail,6,cmdtext);
  5729. dcmd(jailed,6,cmdtext);
  5730. dcmd(freeze,6,cmdtext);
  5731. dcmd(unfreeze,8,cmdtext);
  5732. dcmd(frozen,6,cmdtext);
  5733. dcmd(mute,4,cmdtext);
  5734. dcmd(unmute,6,cmdtext);
  5735. dcmd(muted,5,cmdtext);
  5736. dcmd(akill,5,cmdtext);
  5737. dcmd(weaps,5,cmdtext);
  5738. dcmd(screen,6,cmdtext);
  5739. dcmd(lgoto,5,cmdtext);
  5740. dcmd(aka,3,cmdtext);
  5741. dcmd(highlight,9,cmdtext);
  5742. dcmd(adminreglas,11,cmdtext);
  5743. dcmd(autosrc,7,cmdtext);
  5744.  
  5745. //-= /All Commands =-//
  5746. #if defined USE_ALL_CMDS
  5747. dcmd(healarmour,10,cmdtext);
  5748. dcmd(healall,7,cmdtext);
  5749. dcmd(armourall,9,cmdtext);
  5750. dcmd(muteall,7,cmdtext);
  5751. dcmd(unmuteall,9,cmdtext);
  5752. dcmd(killall,7,cmdtext);
  5753. dcmd(getall,6,cmdtext);
  5754. dcmd(spawnall,8,cmdtext);
  5755. dcmd(freezeall,9,cmdtext);
  5756. dcmd(unfreezeall,11,cmdtext);
  5757. dcmd(explodeall,10,cmdtext);
  5758. dcmd(kickall,7,cmdtext);
  5759. dcmd(slapall,7,cmdtext);
  5760. dcmd(ejectall,8,cmdtext);
  5761. dcmd(disarmall,9,cmdtext);
  5762. dcmd(setallskin,10,cmdtext);
  5763. dcmd(setallwanted,12,cmdtext);
  5764. dcmd(setallweather,13,cmdtext);
  5765. dcmd(setalltime,10,cmdtext);
  5766. dcmd(setallworld,11,cmdtext);
  5767. dcmd(setallscore,11,cmdtext);
  5768. dcmd(setallcash,10,cmdtext);
  5769. dcmd(giveallcash,11,cmdtext);
  5770. dcmd(giveallweapon,13,cmdtext);
  5771. #endif
  5772.  
  5773. //-= No params =-//
  5774. dcmd(lslowmo,7,cmdtext);
  5775. dcmd(lweaps,6,cmdtext);
  5776. dcmd(lammo,5,cmdtext);
  5777. dcmd(god,3,cmdtext);
  5778. dcmd(sgod,4,cmdtext);
  5779. dcmd(godcar,6,cmdtext);
  5780. dcmd(die,3,cmdtext);
  5781. dcmd(jetpack,7,cmdtext);
  5782. dcmd(admins,6,cmdtext);
  5783. dcmd(listavip,8,cmdtext);
  5784. dcmd(morning,7,cmdtext);
  5785. dcmd(zonavip2,8,cmdtext);
  5786. dcmd(vflip,5,cmdtext);
  5787. dcmd(hide,4,cmdtext);
  5788. dcmd(unhide,6,cmdtext);
  5789.  
  5790. //-= Admin special =-//
  5791. dcmd(saveplace,9,cmdtext);
  5792. dcmd(gotoplace,9,cmdtext);
  5793. dcmd(saveskin,8,cmdtext);
  5794. dcmd(useskin,7,cmdtext);
  5795. dcmd(dontuseskin,11,cmdtext);
  5796.  
  5797. //-= Config =-//
  5798. dcmd(disable,7,cmdtext);
  5799. dcmd(enable,6,cmdtext);
  5800. dcmd(setping,7,cmdtext);
  5801. dcmd(setgravity,10,cmdtext);
  5802. dcmd(uconfig,7,cmdtext);
  5803. dcmd(lconfig,7,cmdtext);
  5804. dcmd(forbidname,10,cmdtext);
  5805. dcmd(forbidword,10,cmdtext);
  5806.  
  5807. //-= Misc =-//
  5808. dcmd(setmytime,9,cmdtext);
  5809. dcmd(kill,4,cmdtext);
  5810. dcmd(time,4,cmdtext);
  5811. dcmd(lhelp,5,cmdtext);
  5812. dcmd(lcmds,5,cmdtext);
  5813. dcmd(lcommands,9,cmdtext);
  5814. dcmd(level1,6,cmdtext);
  5815. dcmd(level2,6,cmdtext);
  5816. dcmd(level3,6,cmdtext);
  5817. dcmd(level4,6,cmdtext);
  5818. dcmd(level5,6,cmdtext);
  5819. dcmd(level6,6,cmdtext);
  5820. dcmd(lcredits,8,cmdtext);
  5821. dcmd(serverinfo,10,cmdtext);
  5822. dcmd(getid,5,cmdtext);
  5823. dcmd(getinfo,7,cmdtext);
  5824. dcmd(laston,6,cmdtext);
  5825. dcmd(countdown,9,cmdtext);
  5826. dcmd(duel,4,cmdtext);
  5827. dcmd(asay,4,cmdtext);
  5828. dcmd(msay,4,cmdtext);
  5829. dcmd(password,8,cmdtext);
  5830. dcmd(lockserver,10,cmdtext);
  5831. dcmd(unlockserver,12,cmdtext);
  5832. dcmd(adminarea,9,cmdtext);
  5833. dcmd(zonavip,7,cmdtext);
  5834. dcmd(announce,8,cmdtext);
  5835. dcmd(anuncio,7,cmdtext);
  5836. dcmd(decir,5,cmdtext);
  5837. dcmd(announce2,9,cmdtext);
  5838. dcmd(richlist,8,cmdtext);
  5839. dcmd(miniguns,8,cmdtext);
  5840. dcmd(botcheck,8,cmdtext);
  5841. dcmd(object,6,cmdtext);
  5842. dcmd(pickup,6,cmdtext);
  5843. dcmd(move,4,cmdtext);
  5844. dcmd(moveplayer,10,cmdtext);
  5845. dcmd(bici,4,cmdtext);
  5846. dcmd(auto,4,cmdtext);
  5847. dcmd(bomberman,9,cmdtext);
  5848. dcmd(nuclear,7,cmdtext);
  5849. dcmd(vida,4,cmdtext);
  5850. dcmd(chaleco,7,cmdtext);
  5851. dcmd(jetpack1,8,cmdtext);
  5852. dcmd(invisible,9,cmdtext);
  5853. dcmd(visible,7,cmdtext);
  5854. dcmd(autostun,8,cmdtext);
  5855. dcmd(unban,5,cmdtext);
  5856. dcmd(nunban,6,cmdtext);
  5857. dcmd(nombre,6,cmdtext);
  5858. #if defined ENABLE_FAKE_CMDS
  5859. dcmd(fakedeath,9,cmdtext);
  5860. dcmd(fakechat,8,cmdtext);
  5861. dcmd(fakecmd,7,cmdtext);
  5862. #endif
  5863.  
  5864.  
  5865. //-= Menu Commands =-//
  5866. #if defined USE_MENUS
  5867. dcmd(lmenu,5,cmdtext);
  5868. dcmd(ltele,5,cmdtext);
  5869. dcmd(lvehicle,8,cmdtext);
  5870. dcmd(lweapons,8,cmdtext);
  5871. dcmd(lweather,8,cmdtext);
  5872. dcmd(ltmenu,6,cmdtext);
  5873. dcmd(ltime,5,cmdtext);
  5874. dcmd(cm,2,cmdtext);
  5875. #endif
  5876.  
  5877.  
  5878.  
  5879. if(strcmp(cmdtext, "/nopm", true) == 0)
  5880. {
  5881. ADpm[playerid] = 1;
  5882. SendClientMessage(playerid, red,"Desactivaste los pm, ya no te llegaran mas");
  5883. SendClientMessage(playerid, red,"Activalos de nuevo con /sipm");
  5884. return 1;
  5885. }
  5886.  
  5887.  
  5888. if(strcmp(cmdtext, "/sipm", true) == 0)
  5889. {
  5890. ADpm[playerid] = 0;
  5891. SendClientMessage(playerid, red,"Pm's Activos, Ahora Puedes Recibir Mensajes Privados");
  5892. return 1;
  5893. }
  5894.  
  5895. if(strcmp(cmd, "/fly", true) == 0)
  5896. {
  5897. if(PlayerInfo[playerid][pVip] >= 5)
  5898. {
  5899. if(EstaEnFly[playerid]==0){
  5900. StartFly(playerid);
  5901. EstaEnFly[playerid] = 1;
  5902. return 1;
  5903. }
  5904. if(EstaEnFly[playerid]==1){
  5905. StopFly(playerid);
  5906. EstaEnFly[playerid] = 0;
  5907. return 1;
  5908. }
  5909. }
  5910. else SendClientMessage(playerid, COLOR_YELLOW,"No Eres Usuario Vip Nivel Elite");
  5911. return 1;
  5912. }
  5913.  
  5914. //__________________Elite___________________________________________________________//
  5915. if(strcmp(cmdtext, "/elite", true) == 0)
  5916. {
  5917. SendClientMessage(playerid, COLOR_BLUE,"**** VIP ELIT3 ****");
  5918. SendClientMessage(playerid, COLOR_YELLOW,"+ Comandos Silver Gold Premium Platinum");
  5919. SendClientMessage(playerid, COLOR_RED,"/bomberman /fly /nuclear");
  5920. SendClientMessage(playerid, LIGHTBLUE2,"/inforeport Para Reportar A Un Admin !");
  5921. SendClientMessage(playerid, COLOR_RED,"======================Necesario 5000 Score==================");
  5922. return 1;
  5923. }
  5924. //__________________PLATINUM___________________________________________________________//
  5925. if(strcmp(cmdtext, "/platinum", true) == 0)
  5926. {
  5927. SendClientMessage(playerid, COLOR_BLUE,"==========Comandos PLATINUM===========");
  5928. SendClientMessage(playerid, COLOR_YELLOW,"+ Comandos Silver Gold Premium");
  5929. SendClientMessage(playerid, COLOR_RED,"/auto /decir, y No Caerse De La Moto con Y ");
  5930. SendClientMessage(playerid, LIGHTBLUE2,"Usa /InfoReport Para Reportar Un Admin. Si Juegas Con Esto Te Quitare El Vip");
  5931. SendClientMessage(playerid, COLOR_RED,"======================Necesario 10000 Score==================");
  5932. return 1;
  5933. }
  5934. //__________________PREMIUM______________________________________________________________//
  5935. if(strcmp(cmdtext, "/premium", true) == 0)
  5936. {
  5937. SendClientMessage(playerid, COLOR_BLUE,"==========Comandos Premium===========");
  5938. SendClientMessage(playerid, COLOR_YELLOW,"+ Comandos Silver y Gold");
  5939. SendClientMessage(playerid, COLOR_RED,"/vida");
  5940. SendClientMessage(playerid, COLOR_YELLOW,"/chaleco");
  5941. SendClientMessage(playerid, COLOR_RED,"/jetpack1");
  5942. SendClientMessage(playerid, LIGHTBLUE2,"Usa /InfoReport Para Reportar Un Admin. Si Juegas Con Esto Te Quitare El Vip");
  5943. SendClientMessage(playerid, COLOR_RED,"======================Necesario 5000 Score==================");
  5944. return 1;
  5945. }
  5946. //__________________GOLD__________________________________________________________________
  5947. if(strcmp(cmdtext, "/gold", true) == 0)
  5948. {
  5949. SendClientMessage(playerid, COLOR_BLUE,"==========Comandos GOLD===========");
  5950. SendClientMessage(playerid, COLOR_YELLOW,"+ Comandos Silver");
  5951. SendClientMessage(playerid, COLOR_RED,"/bici");
  5952. SendClientMessage(playerid, COLOR_YELLOW,"/ltune");
  5953. SendClientMessage(playerid, COLOR_RED,"/vflip");
  5954. SendClientMessage(playerid, COLOR_YELLOW,"/porno <<<----- Espero Que Lo Uses Si Solo Eres Mayor");
  5955. SendClientMessage(playerid, LIGHTBLUE2,"Usa /InfoReport Para Reportar Un Admin. Si Juegas Con Esto Te Quitare El Vip");
  5956. SendClientMessage(playerid, COLOR_RED,"=================Necesario 2500 Score=====================");
  5957. return 1;
  5958. }
  5959. //===============================SILVERS=========================================================================
  5960. if(strcmp(cmdtext, "/silver", true) == 0)
  5961. {
  5962. SendClientMessage(playerid, COLOR_BLUE,"==========Comandos Silver===========");
  5963. SendClientMessage(playerid, COLOR_RED,"/saveplace <<<<<<<<-------------------- GUARDAR UNA POSICION");
  5964. SendClientMessage(playerid, COLOR_YELLOW,"/gotoplace <<<<<<<<-------------------- CARGAR UNA POSICION");
  5965. SendClientMessage(playerid, COLOR_RED,"/fix <<<<<<<<<--------------------Repara Auto");
  5966. SendClientMessage(playerid, COLOR_YELLOW,"/invisible y /visible <<--- Te haces invisible en el mapa");
  5967. SendClientMessage(playerid, COLOR_RED,"/autostun <<<<<---------Menu de autos tuneados");
  5968. SendClientMessage(playerid, COLOR_YELLOW,"/autosRC <<<<<---------Un Auto RC");
  5969. SendClientMessage(playerid, LIGHTBLUE2,"Usa /ZonaVip y /ZonaVip2 , para ir a una zona especialmente para ustedes");
  5970. SendClientMessage(playerid, LIGHTBLUE2,"Usa /InfoReport Para Reportar Un Admin. Si Juegas Con Esto Te Quitare El Vip");
  5971. SendClientMessage(playerid, COLOR_RED,"===============Necesario 1000 Score=============");
  5972. return 1;
  5973. }
  5974.  
  5975. if(strcmp(cmdtext, "/inforeport", true) == 0)
  5976. {
  5977. ShowPlayerDialog(playerid, 37, DIALOG_STYLE_MSGBOX, "Informacion Para Reportar Admins In The Game", "Siendo Usuario Silver Puedes Reportar a Un Admin Por Las Siguientes Causas\n{FF0000}Abusar De (razon) ejemplo Abusar De /fix\nUsa Autos Proibidos Tankes Etc\nJuega COn Tu Player o Da Kicks Sin Razon\nEtc.. Tienen que Ser Reportes Especificos\nDe Lo Contrario Seran Desechados\n\n{FF00FF}No Jueges Con Esto o Perderas El VIP\nEl Comando Para Reportar Es\n\n{FFFFFF}/ReportAdmin", "Aceptar", "");
  5978. return 1;
  5979. }
  5980.  
  5981.  
  5982. //========================= [ Car Commands ]====================================
  5983.  
  5984. if(strcmp(cmdtext, "/ltunedcar2", true)==0 || strcmp(cmdtext, "/ltc2", true)==0) {
  5985. if(PlayerInfo[playerid][Level] >= 1) {
  5986. if(IsPlayerInAnyVehicle(playerid)) {
  5987. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  5988. } else {
  5989. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5990. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  5991. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToAdmins(playerid,"LTunedCar"); AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  5992. AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  5993. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,1);
  5994. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  5995. PlayerInfo[playerid][pCar] = LVehicleIDt;
  5996. }
  5997. } else SendClientMessage(playerid,red,"ERROR: Necesitas nivel 1 para utilizar este comando.");
  5998. return 1; }
  5999. //------------------------------------------------------------------------------
  6000. if(strcmp(cmdtext, "/ltunedcar3", true)==0 || strcmp(cmdtext, "/ltc3", true)==0) {
  6001. if(PlayerInfo[playerid][Level] >= 1) {
  6002. if(IsPlayerInAnyVehicle(playerid)) {
  6003. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6004. } else {
  6005. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6006. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6007. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToAdmins(playerid,"LTunedCar"); AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  6008. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,2);
  6009. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  6010. PlayerInfo[playerid][pCar] = LVehicleIDt;
  6011. }
  6012. } else SendClientMessage(playerid,red,"ERROR: Necesitas nivel 1 para utilizar este comando.");
  6013. return 1; }
  6014. //------------------------------------------------------------------------------
  6015. if(strcmp(cmdtext, "/ltunedcar4", true)==0 || strcmp(cmdtext, "/ltc4", true)==0) {
  6016. if(PlayerInfo[playerid][Level] >= 1) {
  6017. if(IsPlayerInAnyVehicle(playerid)) {
  6018. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6019. } else {
  6020. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6021. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6022. carid = CreateVehicle(559,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  6023. AddVehicleComponent(carid,1065); AddVehicleComponent(carid,1067); AddVehicleComponent(carid,1162); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  6024. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6025. PlayerInfo[playerid][pCar] = carid;
  6026. }
  6027. } else SendClientMessage(playerid,red,"ERROR: Necesitas nivel 1 para utilizar este comando.");
  6028. return 1; }
  6029. //------------------------------------------------------------------------------
  6030. if(strcmp(cmdtext, "/ltunedcar5", true)==0 || strcmp(cmdtext, "/ltc5", true)==0) {
  6031. if(PlayerInfo[playerid][Level] >= 1) {
  6032. if(IsPlayerInAnyVehicle(playerid)) {
  6033. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6034. } else {
  6035. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6036. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6037. carid = CreateVehicle(565,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  6038. AddVehicleComponent(carid,1046); AddVehicleComponent(carid,1049); AddVehicleComponent(carid,1053); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  6039. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6040. PlayerInfo[playerid][pCar] = carid;
  6041. }
  6042. } else SendClientMessage(playerid,red,"ERROR: Necesitas nivel 1 para utilizar este comando.");
  6043. return 1; }
  6044. //------------------------------------------------------------------------------
  6045. if(strcmp(cmdtext, "/ltunedcar6", true)==0 || strcmp(cmdtext, "/ltc6", true)==0) {
  6046. if(PlayerInfo[playerid][Level] >= 1) {
  6047. if(IsPlayerInAnyVehicle(playerid)) {
  6048. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6049. } else {
  6050. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6051. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6052. carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  6053. AddVehicleComponent(carid,1088); AddVehicleComponent(carid,1092); AddVehicleComponent(carid,1139); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  6054. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6055. PlayerInfo[playerid][pCar] = carid;
  6056. }
  6057. } else SendClientMessage(playerid,red,"ERROR: Necesitas nivel 1 para utilizar este comando.");
  6058. return 1; }
  6059. //------------------------------------------------------------------------------
  6060. if(strcmp(cmdtext, "/ltunedcar7", true)==0 || strcmp(cmdtext, "/ltc7", true)==0) {
  6061. if(PlayerInfo[playerid][Level] >= 1) {
  6062. if(IsPlayerInAnyVehicle(playerid)) {
  6063. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6064. } else {
  6065. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6066. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6067. carid = CreateVehicle(561,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  6068. AddVehicleComponent(carid,1055); AddVehicleComponent(carid,1058); AddVehicleComponent(carid,1064); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  6069. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6070. PlayerInfo[playerid][pCar] = carid;
  6071. }
  6072. } else SendClientMessage(playerid,red,"ERROR: Necesitas nivel 1 para utilizar este comando.");
  6073. return 1; }
  6074. //------------------------------------------------------------------------------
  6075. if(strcmp(cmdtext, "/ltunedcar8", true)==0 || strcmp(cmdtext, "/ltc8", true)==0) {
  6076. if(PlayerInfo[playerid][Level] >= 1) {
  6077. if(IsPlayerInAnyVehicle(playerid)) {
  6078. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6079. } else {
  6080. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6081. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6082. carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  6083. AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038); AddVehicleComponent(carid,1147); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  6084. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6085. PlayerInfo[playerid][pCar] = carid;
  6086. }
  6087. } else SendClientMessage(playerid,red,"ERROR: Necesitas nivel 1 para utilizar este comando.");
  6088. return 1; }
  6089. //------------------------------------------------------------------------------
  6090. if(strcmp(cmdtext, "/ltunedcar9", true)==0 || strcmp(cmdtext, "/ltc9", true)==0) {
  6091. if(PlayerInfo[playerid][Level] >= 1) {
  6092. if(IsPlayerInAnyVehicle(playerid)) {
  6093. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6094. } else {
  6095. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6096. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6097. carid = CreateVehicle(567,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  6098. AddVehicleComponent(carid,1102); AddVehicleComponent(carid,1129); AddVehicleComponent(carid,1133); AddVehicleComponent(carid,1186); AddVehicleComponent(carid,1188); ChangeVehiclePaintjob(carid,1); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1085); AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1086);
  6099. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6100. PlayerInfo[playerid][pCar] = carid;
  6101. }
  6102. } else SendClientMessage(playerid,red,"ERROR: Necesitas nivel 1 para utilizar este comando.");
  6103. return 1; }
  6104. //------------------------------------------------------------------------------
  6105. if(strcmp(cmdtext, "/ltunedcar10", true)==0 || strcmp(cmdtext, "/ltc10", true)==0) {
  6106. if(PlayerInfo[playerid][Level] >= 1) {
  6107. if(IsPlayerInAnyVehicle(playerid)) {
  6108. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6109. } else {
  6110. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6111. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6112. carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  6113. AddVehicleComponent(carid,1092); AddVehicleComponent(carid,1166); AddVehicleComponent(carid,1165); AddVehicleComponent(carid,1090);
  6114. AddVehicleComponent(carid,1094); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1163);//SPOILER
  6115. AddVehicleComponent(carid,1091); ChangeVehiclePaintjob(carid,2);
  6116. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6117. PlayerInfo[playerid][pCar] = carid;
  6118. }
  6119. } else SendClientMessage(playerid,red,"ERROR: Necesitas nivel 1 para utilizar este comando.");
  6120. return 1; }
  6121. //------------------------------------------------------------------------------
  6122. if(strcmp(cmdtext, "/ltunedcar11", true)==0 || strcmp(cmdtext, "/ltc11", true)==0) {
  6123. if(PlayerInfo[playerid][Level] >= 1) {
  6124. if(IsPlayerInAnyVehicle(playerid)) {
  6125. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6126. } else {
  6127. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6128. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6129. carid = CreateVehicle(557,X,Y,Z,Angle,1,1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  6130. AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1081);
  6131. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6132. PlayerInfo[playerid][pCar] = carid;
  6133. }
  6134. } else SendClientMessage(playerid,red,"ERROR: Necesitas nivel 1 para utilizar este comando.");
  6135. return 1; }
  6136. //------------------------------------------------------------------------------
  6137. if(strcmp(cmdtext, "/ltunedcar12", true)==0 || strcmp(cmdtext, "/ltc12", true)==0) {
  6138. if(PlayerInfo[playerid][Level] >= 1) {
  6139. if(IsPlayerInAnyVehicle(playerid)) {
  6140. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6141. } else {
  6142. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6143. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6144. carid = CreateVehicle(535,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  6145. ChangeVehiclePaintjob(carid,1); AddVehicleComponent(carid,1109); AddVehicleComponent(carid,1115); AddVehicleComponent(carid,1117); AddVehicleComponent(carid,1073); AddVehicleComponent(carid,1010);
  6146. AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1114); AddVehicleComponent(carid,1081); AddVehicleComponent(carid,1119); AddVehicleComponent(carid,1121);
  6147. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6148. PlayerInfo[playerid][pCar] = carid;
  6149. }
  6150. } else SendClientMessage(playerid,red,"ERROR: Necesitas nivel 1 para utilizar este comando.");
  6151. return 1; }
  6152. //------------------------------------------------------------------------------
  6153. if(strcmp(cmdtext, "/ltunedcar13", true)==0 || strcmp(cmdtext, "/ltc13", true)==0) {
  6154. if(PlayerInfo[playerid][Level] >= 1) {
  6155. if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6156. else {
  6157. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6158. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6159. carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  6160. AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038); AddVehicleComponent(carid,1147);
  6161. AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,0);
  6162. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6163. PlayerInfo[playerid][pCar] = carid;
  6164. }
  6165. } else SendClientMessage(playerid,red,"ERROR: Necesitas nivel 1 para utilizar este comando.");
  6166. return 1; }
  6167. //------------------------------------------------------------------------------
  6168. if(strcmp(cmd, "/lp", true) == 0) {
  6169. if(PlayerInfo[playerid][Level] >= 1) {
  6170. if (GetPlayerState(playerid) == 2)
  6171. {
  6172. new VehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(VehicleID);
  6173. switch(LModel) { case 448,461,462,463,468,471,509,510,521,522,523,581,586, 449: return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle"); }
  6174. new Float:pos[3]; format(str, sizeof(str), "%s", cmdtext[2]);
  6175. SetVehicleNumberPlate(VehicleID, str);
  6176. GetPlayerPos(playerid, pos[0], pos[1], pos[2]); SetPlayerPos(playerid, pos[0]+1, pos[1], pos[2]);
  6177. SetVehicleToRespawn(VehicleID); SetVehiclePos(VehicleID, pos[0], pos[1], pos[2]);
  6178. SetTimerEx("TuneLCar",4000,0,"d",VehicleID); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  6179. SendClientMessage(playerid, blue, "You have changed your licence plate"); CMDMessageToAdmins(playerid,"LP");
  6180. } else {
  6181. SendClientMessage(playerid,red,"Error: You have to be the driver of a vehicle to change its licence plate"); }
  6182. } else {
  6183. SendClientMessage(playerid,red,"ERROR: Tu Necesitas Lvl 1 Para Usar Este Comando"); }
  6184. return 1; }
  6185.  
  6186.  
  6187. //------------------------------------------------------------------------------
  6188. if(strcmp(cmd, "/write", true) == 0) {
  6189. if(PlayerInfo[playerid][Level] >= 5) {
  6190. tmp = strtok(cmdtext, idx);
  6191. if(!strlen(tmp)) {
  6192. SendClientMessage(playerid, red, "USAGE: /write [Colour] [Text]");
  6193. return SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
  6194. }
  6195. new Colour;
  6196. Colour = strval(tmp);
  6197. if(Colour > 9 ) {
  6198. SendClientMessage(playerid, red, "USAGE: /write [Colour] [Text]");
  6199. return SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
  6200. }
  6201. tmp = strtok(cmdtext, idx);
  6202.  
  6203. CMDMessageToAdmins(playerid,"WRITE");
  6204.  
  6205. if(Colour == 0) { format(string2,sizeof(string2),"%s",cmdtext[9]); SendClientMessageToAll(black,string2); return 1; }
  6206. else if(Colour == 1) { format(string2,sizeof(string2),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_WHITE,string2); return 1; }
  6207. else if(Colour == 2) { format(string2,sizeof(string2),"%s",cmdtext[9]); SendClientMessageToAll(red,string2); return 1; }
  6208. else if(Colour == 3) { format(string2,sizeof(string2),"%s",cmdtext[9]); SendClientMessageToAll(orange,string2); return 1; }
  6209. else if(Colour == 4) { format(string2,sizeof(string2),"%s",cmdtext[9]); SendClientMessageToAll(yellow,string2); return 1; }
  6210. else if(Colour == 5) { format(string2,sizeof(string2),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_GREEN1,string2); return 1; }
  6211. else if(Colour == 6) { format(string2,sizeof(string2),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_BLUE,string2); return 1; }
  6212. else if(Colour == 7) { format(string2,sizeof(string2),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_PURPLE,string2); return 1; }
  6213. else if(Colour == 8) { format(string2,sizeof(string2),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_BROWN,string2); return 1; }
  6214. else if(Colour == 9) { format(string2,sizeof(string2),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_PINK,string2); return 1; }
  6215. return 1;
  6216. } else return SendClientMessage(playerid,red,"ERROR: Necesitas nivel 5 para utilizar este comando.");
  6217. }
  6218.  
  6219. return 0;
  6220. }
  6221.  
  6222.  
  6223. //==============================================================================
  6224. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  6225. {
  6226. //==============================================================================
  6227. #if EnableTwoRcon == true
  6228. if(dialogid == DIALOG_TYPE_RCON2)
  6229. {
  6230. if (response)
  6231. {
  6232. if (!strcmp(SegundaRcon, inputtext) && !(!strlen(inputtext)))
  6233. {
  6234. GameTextPlayer(playerid, "~n~~n~~n~~n~~n~~g~Acceso ~w~Autorizado!~n~~y~Bienvenido Administardor!",3000,3);
  6235. }
  6236. else
  6237. {
  6238. if(PlayerInfo[playerid][MaxRcon] == 3)
  6239. {
  6240. SendClientMessage(playerid, red, "|- Has Sido Automaticamente Kickeado! Razón: Exedido El Intento De Logueo De La Segunda RCON -|");
  6241. Kick(playerid);
  6242. }
  6243. PlayerInfo[playerid][MaxRcon]++;
  6244. new tmp[140];
  6245. SendClientMessage(playerid, red, "|- Contraseña RCON Invalida! -|");
  6246. format(tmp,sizeof(tmp),"Contraseña Invalida!. \n\nPara Acceder A La Cuenta RCON, Tienes Que Insertar CORRECTAMENTE La Segunda Contraseña RCON.\n\nIntentos: %d/3", PlayerInfo[playerid][MaxRcon]);
  6247. ShowPlayerDialog(playerid, DIALOG_TYPE_RCON2, DIALOG_STYLE_INPUT, "Ladmin - RCON!",tmp, "Aceptar", "Salir");
  6248. }
  6249. }
  6250. else
  6251. {
  6252. SendClientMessage(playerid, red, "|- ERROR: Kicked! -|");
  6253. return Kick(playerid);
  6254. }
  6255. return 1;
  6256. }
  6257. #endif
  6258. if(dialogid == AutosTuning)
  6259. {
  6260. if(response)
  6261. {
  6262. if(listitem == 0)
  6263. {
  6264. if(!IsPlayerInAnyVehicle(playerid)) {
  6265. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6266. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6267. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0); AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138);
  6268. AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  6269. AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  6270. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,0);
  6271. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  6272. return PlayerInfo[playerid][pCar] = LVehicleIDt;
  6273. } else return SendClientMessage(playerid,red,"ERROR: Estas en un vehiculo!");
  6274. }
  6275. if(listitem == 1)
  6276. {
  6277. if(IsPlayerInAnyVehicle(playerid)) {
  6278. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6279. } else {
  6280. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6281. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6282. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0); AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  6283. AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  6284. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,1);
  6285. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  6286. PlayerInfo[playerid][pCar] = LVehicleIDt;
  6287. }
  6288. }
  6289. if(listitem == 2)
  6290. {
  6291. if(IsPlayerInAnyVehicle(playerid)) {
  6292. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6293. } else {
  6294. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6295. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6296. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0); AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  6297. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,2);
  6298. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  6299. PlayerInfo[playerid][pCar] = LVehicleIDt;
  6300. }
  6301. }
  6302. if(listitem == 3)
  6303. {
  6304. if(IsPlayerInAnyVehicle(playerid)) {
  6305. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6306. } else {
  6307. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6308. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6309. carid = CreateVehicle(559,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0);
  6310. AddVehicleComponent(carid,1065); AddVehicleComponent(carid,1067); AddVehicleComponent(carid,1162); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  6311. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6312. PlayerInfo[playerid][pCar] = carid;
  6313. }
  6314.  
  6315. }
  6316. if(listitem == 4)
  6317. {
  6318. if(IsPlayerInAnyVehicle(playerid)) {
  6319. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6320. } else {
  6321. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6322. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6323. carid = CreateVehicle(565,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0);
  6324. AddVehicleComponent(carid,1046); AddVehicleComponent(carid,1049); AddVehicleComponent(carid,1053); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  6325. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6326. PlayerInfo[playerid][pCar] = carid;
  6327. }
  6328.  
  6329. }
  6330. if(listitem == 5)
  6331. {
  6332. if(IsPlayerInAnyVehicle(playerid)) {
  6333. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6334. } else {
  6335. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6336. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6337. carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0);
  6338. AddVehicleComponent(carid,1088); AddVehicleComponent(carid,1092); AddVehicleComponent(carid,1139); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  6339. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6340. PlayerInfo[playerid][pCar] = carid;
  6341. }
  6342.  
  6343. }
  6344. if(listitem == 6)
  6345. {
  6346. if(IsPlayerInAnyVehicle(playerid)) {
  6347. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6348. } else {
  6349. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6350. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6351. carid = CreateVehicle(561,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0);
  6352. AddVehicleComponent(carid,1055); AddVehicleComponent(carid,1058); AddVehicleComponent(carid,1064); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  6353. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6354. PlayerInfo[playerid][pCar] = carid;
  6355. }
  6356.  
  6357. }
  6358. if(listitem == 7)
  6359. {
  6360. if(IsPlayerInAnyVehicle(playerid)) {
  6361. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6362. } else {
  6363. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6364. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6365. carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0);
  6366. AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038); AddVehicleComponent(carid,1147); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  6367. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6368. PlayerInfo[playerid][pCar] = carid;
  6369. }
  6370.  
  6371. }
  6372. if(listitem == 8)
  6373. {
  6374. if(IsPlayerInAnyVehicle(playerid)) {
  6375. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6376. } else {
  6377. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6378. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6379. carid = CreateVehicle(567,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0);
  6380. AddVehicleComponent(carid,1102); AddVehicleComponent(carid,1129); AddVehicleComponent(carid,1133); AddVehicleComponent(carid,1186); AddVehicleComponent(carid,1188); ChangeVehiclePaintjob(carid,1); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1085); AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1086);
  6381. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6382. PlayerInfo[playerid][pCar] = carid;
  6383. }
  6384.  
  6385. }
  6386. if(listitem == 9)
  6387. {
  6388. if(IsPlayerInAnyVehicle(playerid)) {
  6389. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6390. } else {
  6391. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6392. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6393. carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0);
  6394. AddVehicleComponent(carid,1092); AddVehicleComponent(carid,1166); AddVehicleComponent(carid,1165); AddVehicleComponent(carid,1090);
  6395. AddVehicleComponent(carid,1094); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1163);//SPOILER
  6396. AddVehicleComponent(carid,1091); ChangeVehiclePaintjob(carid,2);
  6397. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6398. PlayerInfo[playerid][pCar] = carid;
  6399. }
  6400.  
  6401. }
  6402. if(listitem == 10)
  6403. {
  6404. if(IsPlayerInAnyVehicle(playerid)) {
  6405. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6406. } else {
  6407. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6408. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6409. carid = CreateVehicle(557,X,Y,Z,Angle,1,1,-1); PutPlayerInVehicle(playerid,carid,0);
  6410. AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1081);
  6411. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6412. PlayerInfo[playerid][pCar] = carid;
  6413. }
  6414.  
  6415. }
  6416. if(listitem == 11)
  6417. {
  6418. if(IsPlayerInAnyVehicle(playerid)) {
  6419. SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6420. } else {
  6421. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6422. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6423. carid = CreateVehicle(535,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0);
  6424. ChangeVehiclePaintjob(carid,1); AddVehicleComponent(carid,1109); AddVehicleComponent(carid,1115); AddVehicleComponent(carid,1117); AddVehicleComponent(carid,1073); AddVehicleComponent(carid,1010);
  6425. AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1114); AddVehicleComponent(carid,1081); AddVehicleComponent(carid,1119); AddVehicleComponent(carid,1121);
  6426. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6427. PlayerInfo[playerid][pCar] = carid;
  6428. }
  6429.  
  6430. }
  6431. if(listitem == 12)
  6432. {
  6433. if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid,red,"Error: Usted ya tiene un vehículo");
  6434. else {
  6435. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6436. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6437. carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0);
  6438. AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038); AddVehicleComponent(carid,1147);
  6439. AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,0);
  6440. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  6441. PlayerInfo[playerid][pCar] = carid;
  6442. }
  6443. }
  6444. }
  6445. return 1;
  6446. }
  6447.  
  6448.  
  6449.  
  6450. if(dialogid == 9048)
  6451. {
  6452. if(response == 1)
  6453. {
  6454. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"CUENTA: Usted ya está conectado");
  6455. if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"CUENTA: La cuenta no existe, por favor, utilice '/register [contraseña]'.");
  6456. if (strlen(inputtext)==0) return ShowPlayerDialog(playerid, 9048, DIALOG_STYLE_INPUT, "{FF8000}Logueo", "{FFFFFF}Tu cuenta está registrada\nEscribe tu contraseña:", "Login", "Cancelar");
  6457. if (udb_CheckLogin(PlayerName2(playerid),inputtext))
  6458. {
  6459. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
  6460. GetPlayerIp(playerid,tmp3,100);
  6461. dini_Set(file,"ip",tmp3);
  6462. LoginPlayer(playerid);
  6463. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  6464. switch(PlayerInfo[playerid][pVip])
  6465. {
  6466. case 0: AccType = "Normal";
  6467. case 1: AccType = "Silver";
  6468. case 2: AccType = "Gold";
  6469. case 3: AccType = "Premium";
  6470. case 4: AccType = "Platinum";
  6471. case 5: AccType = "Elite";
  6472. }
  6473. format(string2,sizeof(string2),"CUENTA: Logueado correctamente. [Admin Nivel: %d] [Cuenta: %s]", PlayerInfo[playerid][Level],AccType );
  6474. SendClientMessage(playerid,green,string2);
  6475. /*if(PlayerInfo[playerid][Level] > 0) {
  6476. format(string2,sizeof(string2),"CUENTA: Logueado correctamente. (Nivel %d)", PlayerInfo[playerid][Level] );
  6477. return SendClientMessage(playerid,green,string2);
  6478. } else return SendClientMessage(playerid,green,"CUENTA: Logueado correctamente.");*/
  6479. }
  6480. else {
  6481. PlayerInfo[playerid][FailLogin]++;
  6482. printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), inputtext, PlayerInfo[playerid][FailLogin] );
  6483. if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
  6484. {
  6485. format(string2, sizeof(string2), "%s Has sido kickeado (Logins incorrectos)", PlayerName2(playerid) );
  6486. SendClientMessageToAll(grey, string2);
  6487. print(string2);
  6488. Kick(playerid);
  6489. }
  6490. return ShowPlayerDialog(playerid, 9048, DIALOG_STYLE_INPUT, "{FF8000}Logueo", "{FF0000}ERROR: Contraseña incorrecta.\n{FFFFFF}Tu cuenta está registrada\nEscribe tu contraseña:", "Login", "Cancelar");
  6491. }
  6492. }
  6493. if(response == 0)
  6494. {}
  6495. }
  6496. if(dialogid == 9049)
  6497. {
  6498. if(response == 1)
  6499. {
  6500. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"CUENTA: Usted ya está registrado y conectado.");
  6501. if (udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"CUENTA: Esta cuenta ya existe, por favor, utilice '/ login [contraseña]'.");
  6502. if (strlen(inputtext) == 0) return ShowPlayerDialog(playerid, 9049, DIALOG_STYLE_INPUT, "{FF0000}Registro", "{FFFFFF}Tu cuenta no está registrada\nEscribe una contraseña:", "Registrar", "Cancelar");
  6503. if (strlen(inputtext) < 4 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid, 9049, DIALOG_STYLE_INPUT, "{FF0000}Registro", "{FF0000}La contraseña debe ser superior a 3 carácteres\n{FFFFFF}Tu cuenta no está registrada\nEscribe una contraseña:", "Registrar", "Cancelar");
  6504. if (udb_Create(PlayerName2(playerid),inputtext))
  6505. {
  6506. new name[MAX_PLAYER_NAME];
  6507. new strdate[20], year,month,day; getdate(year, month, day);
  6508. GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
  6509. GetPlayerIp(playerid,tmp3,100); dini_Set(file,"ip",tmp3);
  6510. // dini_Set(file,"password",params);
  6511. dUserSetINT(PlayerName2(playerid)).("registered",1);
  6512. format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
  6513. dini_Set(file,"RegisteredDate",strdate);
  6514. dUserSetINT(PlayerName2(playerid)).("loggedin",1);
  6515. dUserSetINT(PlayerName2(playerid)).("banned",0);
  6516. dUserSetINT(PlayerName2(playerid)).("level",0);
  6517. dUserSetINT(PlayerName2(playerid)).("AccountType",0);
  6518. dUserSetINT(PlayerName2(playerid)).("LastOn",0);
  6519. dUserSetINT(PlayerName2(playerid)).("money",0);
  6520. dUserSetINT(PlayerName2(playerid)).("Banka",0);
  6521. dUserSetINT(PlayerName2(playerid)).("kills",0);
  6522. dUserSetINT(PlayerName2(playerid)).("deaths",0);
  6523. dUserSetINT(PlayerName2(playerid)).("Exper",0);
  6524. dUserSetINT(PlayerName2(playerid)).("hours",0);
  6525. dUserSetINT(PlayerName2(playerid)).("minutes",0);
  6526. dUserSetINT(PlayerName2(playerid)).("seconds",0);
  6527. dUserSetINT(PlayerName2(playerid)).("user",0);
  6528. dUserSetINT(PlayerName2(playerid)).("clan",0);
  6529. dUserSetINT(PlayerName2(playerid)).("banco",0);
  6530. PlayerInfo[playerid][LoggedIn] = 1;
  6531. PlayerInfo[playerid][Registered] = 1;
  6532. SendClientMessage(playerid, green, "CUENTA: Gracias Por Registrarte Disfruta De Nuestro Grandioso Servidor");
  6533. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  6534. SavePlayer(playerid);
  6535. return 1;
  6536. }
  6537. return 1;
  6538. }
  6539. if(response == 0)
  6540. {}
  6541. }
  6542.  
  6543. if(dialogid == AutosRC)
  6544. {
  6545. if(response)
  6546. {
  6547. if(listitem == 0)
  6548. {
  6549. if(!IsPlayerInAnyVehicle(playerid)) {
  6550. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6551. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6552. LVehicleIDt = CreateVehicle(441,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0);
  6553. PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,0);
  6554. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  6555. return PlayerInfo[playerid][pCar] = LVehicleIDt;
  6556. } else return SendClientMessage(playerid,red,"ERROR: Estas en un vehiculo!");
  6557. }
  6558. if(listitem == 1)
  6559. {
  6560. if(!IsPlayerInAnyVehicle(playerid)) {
  6561. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6562. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6563. LVehicleIDt = CreateVehicle(465,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0);
  6564. PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,0);
  6565. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  6566. return PlayerInfo[playerid][pCar] = LVehicleIDt;
  6567. } else return SendClientMessage(playerid,red,"ERROR: Estas en un vehiculo!");
  6568. }
  6569. if(listitem == 2)
  6570. {
  6571. if(!IsPlayerInAnyVehicle(playerid)) {
  6572. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6573. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6574. LVehicleIDt = CreateVehicle(501,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0);
  6575. PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,0);
  6576. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  6577. return PlayerInfo[playerid][pCar] = LVehicleIDt;
  6578. } else return SendClientMessage(playerid,red,"ERROR: Estas en un vehiculo!");
  6579. }
  6580. if(listitem == 3)
  6581. {
  6582. if(!IsPlayerInAnyVehicle(playerid)) {
  6583. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6584. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6585. LVehicleIDt = CreateVehicle(564,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0);
  6586. PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,0);
  6587. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  6588. return PlayerInfo[playerid][pCar] = LVehicleIDt;
  6589. } else return SendClientMessage(playerid,red,"ERROR: Estas en un vehiculo!");
  6590. }
  6591. if(listitem == 4)
  6592. {
  6593. if(!IsPlayerInAnyVehicle(playerid)) {
  6594. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6595. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  6596. LVehicleIDt = CreateVehicle(594,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0);
  6597. PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,0);
  6598. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  6599. return PlayerInfo[playerid][pCar] = LVehicleIDt;
  6600. } else return SendClientMessage(playerid,red,"ERROR: Estas en un vehiculo!");
  6601. }
  6602. }
  6603. return 1;
  6604. }
  6605.  
  6606. if(dialogid == UNBAN)
  6607. {
  6608. if(response) {
  6609. new iName[MAX_PLAYER_NAME];
  6610. GetPlayerName(playerid, iName, MAX_PLAYER_NAME);
  6611. format(iytring,sizeof(iytring),"%s ha Unbaned(desbaneado) la '%s' Ip",iName,inputtext); SaveToFile("UnbanLog",iytring);
  6612. format(str,sizeof(iytring),"unbanip %s",inputtext);
  6613. SendRconCommand(str);
  6614. SendRconCommand("reloadbans");
  6615. SendClientMessageToAll(green,iytring);
  6616. CMDMessageToAdmins(playerid,"UNBAN");
  6617. SendClientMessage(playerid,orange,"|- Comando Enviado! -|");
  6618. }
  6619. return 1;
  6620. }
  6621. return 0;
  6622. }
  6623.  
  6624.  
  6625.  
  6626. #if defined ENABLE_SPEC
  6627.  
  6628. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  6629. {
  6630. new x = 0;
  6631. while(x!=MAX_PLAYERS) {
  6632. if( IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
  6633. PlayerInfo[x][SpecID] == playerid && PlayerInfo[x][SpecType] == ADMIN_SPEC_TYPE_PLAYER )
  6634. {
  6635. SetPlayerInterior(x,newinteriorid);
  6636. }
  6637. x++;
  6638. }
  6639. }
  6640. //==============================================================================
  6641. public OnPlayerEnterVehicle(playerid, vehicleid) {
  6642. for(new x=0; x<MAX_PLAYERS; x++) {
  6643. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid) {
  6644. TogglePlayerSpectating(x, 1);
  6645. PlayerSpectateVehicle(x, vehicleid);
  6646. PlayerInfo[x][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
  6647. }
  6648. }
  6649. if(!IsValidVehicle(vehicleid)){
  6650. DestroyVehicle(vehicleid);
  6651. format(string2,sizeof(string2),"%s [%i] ha sido kickeado del server. (Razon: Modelo Invalido De Vehiculo (Crasher))",PlayerName2(playerid),playerid);
  6652. SendClientMessageToAll(grey,string2);
  6653. SaveToFile("KickLog",string2);
  6654. Kick(playerid);
  6655. }
  6656.  
  6657. return 1;
  6658. }
  6659.  
  6660. #endif
  6661. //==============================================================================
  6662. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  6663. {
  6664.  
  6665. if ((oldkeys & (KEY_ACTION | KEY_ACTION)) == (KEY_ACTION | KEY_ACTION))
  6666. {
  6667. if(SaltosBici[playerid] == 1 && JugadorEnBici(playerid))
  6668. {
  6669. new Float:x,Float:y,Float:z;
  6670. GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z);
  6671. SetTimerEx("SaltosBiciTimer",150,0,"d",playerid);
  6672. SaltosBici[playerid] = 2;
  6673. }
  6674. }
  6675.  
  6676. if ((oldkeys & (KEY_ACTION | KEY_ACTION)) == (KEY_ACTION | KEY_ACTION))
  6677. {
  6678. if(SaltosAuto[playerid] == 1 && IsPlayerInAnyVehicle(playerid))
  6679. {
  6680. new Float:x, Float:y, Float:z;
  6681. GetVehicleVelocity(GetPlayerVehicleID(playerid), x, y, z);
  6682. SetVehicleVelocity(GetPlayerVehicleID(playerid) ,x ,y ,z+0.1);
  6683. }
  6684. }
  6685. return 1;
  6686. }
  6687.  
  6688. //==============================================================================
  6689. public OnPlayerStateChange(playerid, newstate, oldstate) {
  6690.  
  6691. switch(newstate) {
  6692. case PLAYER_STATE_ONFOOT: {
  6693. switch(oldstate) {
  6694. case PLAYER_STATE_DRIVER: OnPlayerExitVehicle(playerid,255);
  6695. case PLAYER_STATE_PASSENGER: OnPlayerExitVehicle(playerid,255);
  6696. }
  6697. }
  6698. }
  6699.  
  6700. if(newstate == PLAYER_STATE_ONFOOT)
  6701. {
  6702. if(SaltosBici[playerid] > 1) SaltosBici[playerid] = 1;
  6703. }
  6704.  
  6705. if(newstate == PLAYER_STATE_ONFOOT)
  6706. {
  6707. if(SaltosAuto[playerid] > 1) SaltosAuto[playerid] = 1;
  6708. }
  6709. return 1;
  6710. }
  6711. //==============================================================================
  6712.  
  6713. forward Bomba(playerid);
  6714. public Bomba(playerid)
  6715. {
  6716. if(HanDesactivadaoLaBomba[playerid]==0)
  6717. {
  6718. new Float:x, Float:y, Float:z;
  6719.  
  6720. for(new a=0;a<MAX_PLAYERS;a++)
  6721. {
  6722. GetPlayerPos(a, x, y, z);
  6723. CreateExplosion(x,y,z, 6, 20.0);
  6724. CreateExplosion(x,y,z, 6, 20.0);
  6725. CreateExplosion(x,y,z, 6, 20.0);
  6726. CreateExplosion(x,y,z, 6, 20.0);
  6727. }
  6728. }
  6729. else
  6730. {
  6731. GameTextForAll("Se Desactivo La Bomba Nuclear!",6000,4);
  6732. }
  6733. return 1;
  6734. }
  6735.  
  6736.  
  6737. //==============================================================================
  6738. public OnPlayerExitVehicle(playerid, vehicleid)
  6739. {
  6740. //if(PlayerInfo[playerid][DoorsLocked] == 1) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),playerid,false,false);
  6741.  
  6742. #if defined ENABLE_SPEC
  6743. for(new x=0; x<MAX_PLAYERS; x++) {
  6744. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid && PlayerInfo[x][SpecType] == ADMIN_SPEC_TYPE_VEHICLE) {
  6745. TogglePlayerSpectating(x, 1);
  6746. PlayerSpectatePlayer(x, playerid);
  6747. PlayerInfo[x][SpecType] = ADMIN_SPEC_TYPE_PLAYER;
  6748. }
  6749. }
  6750. #endif
  6751.  
  6752. return 1;
  6753. }
  6754.  
  6755.  
  6756. //==============================================================================
  6757. #if defined ENABLE_SPEC
  6758.  
  6759. stock StartSpectate(playerid, specplayerid)
  6760. {
  6761. for(new x=0; x<MAX_PLAYERS; x++) {
  6762. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid) {
  6763. AdvanceSpectate(x);
  6764. }
  6765. }
  6766. SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
  6767. TogglePlayerSpectating(playerid, 1);
  6768.  
  6769. if(IsPlayerInAnyVehicle(specplayerid)) {
  6770. PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specplayerid));
  6771. PlayerInfo[playerid][SpecID] = specplayerid;
  6772. PlayerInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
  6773. }
  6774. else {
  6775. PlayerSpectatePlayer(playerid, specplayerid);
  6776. PlayerInfo[playerid][SpecID] = specplayerid;
  6777. PlayerInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_PLAYER;
  6778. }
  6779. new Float:hp, Float:ar;
  6780. GetPlayerName(specplayerid,string2,sizeof(string2));
  6781. GetPlayerHealth(specplayerid, hp); GetPlayerArmour(specplayerid, ar);
  6782. format(string2,sizeof(string2),"~n~~n~~n~~n~~n~~n~~n~~n~~w~%s - id:%d~n~< sprint - jump >~n~hp:%0.1f ar:%0.1f $%d", string2,specplayerid,hp,ar,GetPlayerMoney(specplayerid) );
  6783. GameTextPlayer(playerid,string2,25000,3);
  6784. return 1;
  6785. }
  6786.  
  6787. stock StopSpectate(playerid)
  6788. {
  6789. TogglePlayerSpectating(playerid, 0);
  6790. PlayerInfo[playerid][SpecID] = INVALID_PLAYER_ID;
  6791. PlayerInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_NONE;
  6792. GameTextPlayer(playerid,"~n~~n~~n~~w~Spectate mode ended",1000,3);
  6793. return 1;
  6794. }
  6795.  
  6796. stock AdvanceSpectate(playerid)
  6797. {
  6798. if(ConnectedPlayers() == 2) { StopSpectate(playerid); return 1; }
  6799. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && PlayerInfo[playerid][SpecID] != INVALID_PLAYER_ID)
  6800. {
  6801. for(new x=PlayerInfo[playerid][SpecID]+1; x<=MAX_PLAYERS; x++)
  6802. {
  6803. if(x == MAX_PLAYERS) x = 0;
  6804. if(IsPlayerConnected(x) && x != playerid)
  6805. {
  6806. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] != INVALID_PLAYER_ID || (GetPlayerState(x) != 1 && GetPlayerState(x) != 2 && GetPlayerState(x) != 3))
  6807. {
  6808. continue;
  6809. }
  6810. else
  6811. {
  6812. StartSpectate(playerid, x);
  6813. break;
  6814. }
  6815. }
  6816. }
  6817. }
  6818. return 1;
  6819. }
  6820.  
  6821. stock ReverseSpectate(playerid)
  6822. {
  6823. if(ConnectedPlayers() == 2) { StopSpectate(playerid); return 1; }
  6824. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && PlayerInfo[playerid][SpecID] != INVALID_PLAYER_ID)
  6825. {
  6826. for(new x=PlayerInfo[playerid][SpecID]-1; x>=0; x--)
  6827. {
  6828. if(x == 0) x = MAX_PLAYERS;
  6829. if(IsPlayerConnected(x) && x != playerid)
  6830. {
  6831. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] != INVALID_PLAYER_ID || (GetPlayerState(x) != 1 && GetPlayerState(x) != 2 && GetPlayerState(x) != 3))
  6832. {
  6833. continue;
  6834. }
  6835. else
  6836. {
  6837. StartSpectate(playerid, x);
  6838. break;
  6839. }
  6840. }
  6841. }
  6842. }
  6843. return 1;
  6844. }
  6845.  
  6846. InitFly(playerid)
  6847. {
  6848. OnFly[playerid] = false;
  6849. return;
  6850. }
  6851.  
  6852. bool:StartFly(playerid)
  6853. {
  6854. if(OnFly[playerid])
  6855. return false;
  6856. OnFly[playerid] = true;
  6857. new Float:x,Float:y,Float:z;
  6858. GetPlayerPos(playerid,x,y,z);
  6859. SetPlayerPos(playerid,x,y,z+5.0);
  6860. ApplyAnimation(playerid,"PARACHUTE","PARA_steerR",6.1,1,1,1,1,0,1);
  6861. Fly(playerid);
  6862. GameTextForPlayer(playerid,"~y~Modo Vuelo~n~~r~Clic Izq ~w~- Subes~n~~r~Clic Derecho ~w~- Bajas~n~ ~r~Espacio ~w~- Rapido~n~~r~Alt Izq ~w~- Lento",10000,3);
  6863. return true;
  6864. }
  6865.  
  6866. public Fly(playerid) {
  6867. if(!IsPlayerConnected(playerid)) return 1; new k, ud,lr; GetPlayerKeys(playerid,k,ud,lr);
  6868. new Float:v_x,Float:v_y,Float:v_z, Float:x,Float:y,Float:z; if(ud < 0) { GetPlayerCameraFrontVector(playerid,x,y,z); v_x = x+0.1; v_y = y+0.1; }
  6869. if(k & 128) v_z = -0.2; else if(k & KEY_FIRE) v_z = 0.2; if(k & KEY_WALK) { v_x /=5.0; v_y /=5.0; v_z /=5.0; }
  6870. if(k & KEY_SPRINT) { v_x *=4.0; v_y *=4.0; v_z *=4.0; }
  6871. if(v_z == 0.0) v_z = 0.025; SetPlayerVelocity(playerid,v_x,v_y,v_z);
  6872. if(v_x == 0 && v_y == 0) { if(GetPlayerAnimationIndex(playerid) == 959) ApplyAnimation(playerid,"PARACHUTE","PARA_steerR",6.1,1,1,1,1,0,1); } else { GetPlayerCameraFrontVector(playerid,v_x,v_y,v_z); GetPlayerCameraPos(playerid,x,y,z); SetPlayerLookAt(playerid,v_x*500.0+x,v_y*500.0+y); if(GetPlayerAnimationIndex(playerid) != 959) ApplyAnimation(playerid,"PARACHUTE","FALL_SkyDive_Accel",6.1,1,1,1,1,0,1); }
  6873. if(OnFly[playerid]) SetTimerEx("Fly",80,0,"i",playerid); return 1; }
  6874. bool:StopFly(playerid) { if(!OnFly[playerid]) return false; new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); SetPlayerPos(playerid,x,y,z); OnFly[playerid] = false; return true; }
  6875. static SetPlayerLookAt(playerid,Float:x,Float:y) { new Float:Px, Float:Py, Float: Pa; GetPlayerPos(playerid, Px, Py, Pa); Pa = floatabs(atan((y-Py)/(x-Px))); if (x <= Px && y >= Py) Pa = floatsub(180.0, Pa); else if (x < Px && y < Py) Pa = floatadd(Pa, 180.0); else if (x >= Px && y <= Py) Pa = floatsub(360.0, Pa); Pa = floatsub(Pa, 90.0); if (Pa >= 360.0) Pa = floatsub(Pa, 360.0); SetPlayerFacingAngle(playerid, Pa); return; }
  6876.  
  6877. //-------------------------------------------
  6878. forward PosAfterSpec(playerid);
  6879. public PosAfterSpec(playerid)
  6880. {
  6881. SpawnPlayer(playerid);
  6882. }
  6883. #endif
  6884.  
  6885. //==============================================================================
  6886. EraseVehicle(vehicleid)
  6887. {
  6888. for(new players=0;players<=MAX_PLAYERS;players++)
  6889. {
  6890. new Float:X,Float:Y,Float:Z;
  6891. if (IsPlayerInVehicle(players,vehicleid))
  6892. {
  6893. GetPlayerPos(players,X,Y,Z);
  6894. SetPlayerPos(players,X,Y,Z+2);
  6895. SetVehicleToRespawn(vehicleid);
  6896. }
  6897. SetVehicleParamsForPlayer(vehicleid,players,0,1);
  6898. }
  6899. SetTimerEx("VehRes",3000,0,"d",vehicleid);
  6900. return 1;
  6901. }
  6902.  
  6903.  
  6904. forward CarSpawner(playerid,model);
  6905. public CarSpawner(playerid,model)
  6906. {
  6907. if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid, red, "Usted ya tiene un coche!");
  6908. else
  6909. {
  6910. new Float:x, Float:y, Float:z, Float:angle;
  6911. GetPlayerPos(playerid, x, y, z);
  6912. GetPlayerFacingAngle(playerid, angle);
  6913. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  6914. new vehicleid=CreateVehicle(model, x, y, z, angle, -1, -1, -1);
  6915. PutPlayerInVehicle(playerid, vehicleid, 0);
  6916. SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  6917. LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  6918. ChangeVehicleColor(vehicleid,0,7);
  6919. PlayerInfo[playerid][pCar] = vehicleid;
  6920. }
  6921. return 1;
  6922. }
  6923.  
  6924. forward CarDeleter(vehicleid);
  6925. public CarDeleter(vehicleid)
  6926. {
  6927. for(new i=0;i<MAX_PLAYERS;i++) {
  6928. new Float:X,Float:Y,Float:Z;
  6929. if(IsPlayerInVehicle(i, vehicleid)) {
  6930. RemovePlayerFromVehicle(i);
  6931. GetPlayerPos(i,X,Y,Z);
  6932. SetPlayerPos(i,X,Y+3,Z);
  6933. }
  6934. SetVehicleParamsForPlayer(vehicleid,i,0,1);
  6935. }
  6936. SetTimerEx("VehRes",1500,0,"i",vehicleid);
  6937. }
  6938.  
  6939. forward VehRes(vehicleid);
  6940. public VehRes(vehicleid)
  6941. {
  6942. DestroyVehicle(vehicleid);
  6943. }
  6944.  
  6945. public OnVehicleSpawn(vehicleid)
  6946. {
  6947. for(new i=0;i<MAX_PLAYERS;i++)
  6948. {
  6949. if(vehicleid==PlayerInfo[i][pCar])
  6950. {
  6951. CarDeleter(vehicleid);
  6952. PlayerInfo[i][pCar]=-1;
  6953. }
  6954. }
  6955. return 1;
  6956. }
  6957. //==============================================================================
  6958. forward TuneLCar(VehicleID);
  6959. public TuneLCar(VehicleID)
  6960. {
  6961. ChangeVehicleColor(VehicleID,0,7);
  6962. AddVehicleComponent(VehicleID, 1010); AddVehicleComponent(VehicleID, 1087);
  6963. }
  6964.  
  6965. forward AntiCheats();
  6966. public AntiCheats()
  6967. {
  6968.  
  6969. for(new i = 0; i < MAX_PLAYERS; i++)
  6970. {
  6971. if(PlayerInfo[i][Level] < 4)
  6972. {
  6973. if(EstaEnCuadrado(i,525.5044, 502.1487, 2977.858, 2977.858) || EstaEnCuadrado(i,-2317.429, -423.739, -1877.083, 69.38152))
  6974. {
  6975. if( GetVehicleModel(GetPlayerVehicleID(i)) == 520 || GetVehicleModel(GetPlayerVehicleID(i)) == 425 ||
  6976. GetVehicleModel(GetPlayerVehicleID(i)) == 447 || GetVehicleModel(GetPlayerVehicleID(i)) == 432 ||
  6977. GetVehicleModel(GetPlayerVehicleID(i)) == 464 )
  6978. {
  6979. EraseVehicle(GetPlayerVehicleID(i));
  6980. SendClientMessage(i, COLOR_LIGREEN, "<!> NO PUEDES ENTRAR A ESTA ZONA CON ESTO");
  6981. }
  6982.  
  6983.  
  6984. if(GetPlayerWeapon(i) == 16)
  6985. {
  6986. SetPlayerVirtualWorld(i, 1);
  6987. }
  6988.  
  6989. if(GetPlayerWeapon(i) == 18)
  6990. {
  6991. SetPlayerVirtualWorld(i, 1);
  6992. }
  6993.  
  6994. if(GetPlayerWeapon(i) == 35)
  6995. {
  6996. SetPlayerVirtualWorld(i, 1);
  6997. }
  6998.  
  6999. if(GetPlayerWeapon(i) == 36)
  7000. {
  7001. SetPlayerVirtualWorld(i, 1);
  7002. }
  7003.  
  7004. if(GetPlayerWeapon(i) == 37)
  7005. {
  7006. SetPlayerVirtualWorld(i, 1);
  7007. }
  7008.  
  7009. if(GetPlayerWeapon(i) == 38)
  7010. {
  7011. SetPlayerVirtualWorld(i, 1);
  7012. }
  7013.  
  7014. if(GetPlayerWeapon(i) == 39)
  7015. {
  7016. SetPlayerVirtualWorld(i, 1);
  7017. }
  7018. }
  7019. }
  7020. }
  7021. }
  7022.  
  7023. public OnVehicleMod(playerid, vehicleid, componentid) {
  7024. new vehicleide = GetVehicleModel(vehicleid);
  7025. new modok = islegalcarmod(vehicleide, componentid);
  7026. new name[24];
  7027. GetPlayerName(playerid, name, 24);
  7028. if (!modok) {
  7029. if(warneded[playerid] == 0) {
  7030. format(string2,sizeof(string2),"[invalid_mod - WARNING] %s %d %d %d %d %d", name, playerid, vehicleid, vehicleide, componentid);
  7031. DestroyVehicle(vehicleid);
  7032. warneded[playerid] = 1;
  7033. SaveToFile("InvalidModCrash",string2);
  7034. }
  7035. else
  7036. {
  7037. DestroyVehicle(vehicleid);
  7038. format(string2,sizeof(string2),"%s [%i] ha sido kickeado del server. (Razon: Car Crasher/Invalid Mod)", name,playerid);
  7039. SendClientMessageToAll(grey,string2);
  7040. SaveToFile("KickLog",string2);
  7041. Kick(playerid);
  7042. }
  7043. return 0;
  7044. }
  7045. return 1;
  7046. }
  7047.  
  7048. //==============================================================================
  7049. // Menus
  7050. //==============================================================================
  7051.  
  7052. #if defined USE_MENUS
  7053. public OnPlayerSelectedMenuRow(playerid, row) {
  7054. new Menu:Current = GetPlayerMenu(playerid);
  7055.  
  7056. if(Current == LMainMenu) {
  7057. switch(row)
  7058. {
  7059. case 0:
  7060. {
  7061. if(PlayerInfo[playerid][Level] >= 6) ShowMenuForPlayer(AdminEnable,playerid);
  7062. else {
  7063. SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 6 para usar este comando.");
  7064. TogglePlayerControllable(playerid,true);
  7065. }
  7066. }
  7067. case 1:
  7068. {
  7069. if(PlayerInfo[playerid][Level] >= 6) ShowMenuForPlayer(AdminDisable,playerid);
  7070. else {
  7071. SendClientMessage(playerid,red,"ERROR: Necesitas ser Administrador nivel 6 para usar este comando.");
  7072. TogglePlayerControllable(playerid,true);
  7073. }
  7074. }
  7075. case 2: ShowMenuForPlayer(LWeather,playerid);
  7076. case 3: ShowMenuForPlayer(LTime,playerid);
  7077. case 4: ShowMenuForPlayer(LVehicles,playerid);
  7078. case 5: ShowMenuForPlayer(LCars,playerid);
  7079. case 6:
  7080. {
  7081. if(PlayerInfo[playerid][Level] >= 2)
  7082. {
  7083. if(IsPlayerInAnyVehicle(playerid))
  7084. {
  7085. new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
  7086. switch(LModel)
  7087. {
  7088. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  7089. {
  7090. SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle"); TogglePlayerControllable(playerid,true);
  7091. return 1;
  7092. }
  7093. }
  7094. TogglePlayerControllable(playerid,false); ShowMenuForPlayer(LTuneMenu,playerid);
  7095. }
  7096. else { SendClientMessage(playerid,red,"ERROR: You do not have a vehicle to tune"); TogglePlayerControllable(playerid,true); }
  7097. } else { SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!"); TogglePlayerControllable(playerid,true); }
  7098. }
  7099. case 7:
  7100. {
  7101. if(PlayerInfo[playerid][Level] >= 3) ShowMenuForPlayer(XWeapons,playerid);
  7102. else SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!"); TogglePlayerControllable(playerid,true);
  7103. }
  7104. case 8: ShowMenuForPlayer(LTele,playerid);
  7105. case 9:
  7106. {
  7107. new Menu:Currentxmenu = GetPlayerMenu(playerid);
  7108. HideMenuForPlayer(Currentxmenu,playerid); TogglePlayerControllable(playerid,true);
  7109. }
  7110. }
  7111. return 1;
  7112. }//-------------------------------------------------------------------------
  7113. if(Current == AdminEnable) {
  7114. new adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname));
  7115. format(file,sizeof(file),"ladmin/config/Config.ini");
  7116. switch(row){
  7117. case 0: { ServerInfo[AntiSwear] = 1; dini_IntSet(file,"AntiSwear",1); format(string2,sizeof(string2),"Administrator %s habilito antiswear",adminname); SendClientMessageToAll(blue,string2); }
  7118. case 1: { ServerInfo[NameKick] = 1; dini_IntSet(file,"NameKick",1); format(string2,sizeof(string2),"Administrator %s habilito namekick",adminname); SendClientMessageToAll(blue,string2); }
  7119. case 2: { ServerInfo[AntiSpam] = 1; dini_IntSet(file,"AntiSpam",1); format(string2,sizeof(string2),"Administrator %s habilito antispam",adminname); SendClientMessageToAll(blue,string2); }
  7120. case 3: { ServerInfo[MaxPing] = 1000; dini_IntSet(file,"MaxPing",1000); format(string2,sizeof(string2),"Administrator %s habilito ping kick",adminname); SendClientMessageToAll(blue,string2); }
  7121. case 4: { ServerInfo[ReadCmds] = 1; dini_IntSet(file,"ReadCmds",1); format(string2,sizeof(string2),"Administrator %s habilito reading commands",adminname); MessageToAdmins(green,string2); }
  7122. case 5: { ServerInfo[ReadPMs] = 1; dini_IntSet(file,"ReadPMs",1); format(string2,sizeof(string2),"Administrator %s habilito reading pms",adminname); MessageToAdmins(green,string2); }
  7123. case 6: { ServerInfo[NoCaps] = 0; dini_IntSet(file,"NoCaps",0); format(string2,sizeof(string2),"Administrator %s has allowed captial letters in chat",adminname); SendClientMessageToAll(blue,string2); }
  7124. case 7: { ServerInfo[ConnectMessages] = 1; dini_IntSet(file,"ConnectMessages",1); format(string2,sizeof(string2),"Administrator %s habilito connect messages",adminname); SendClientMessageToAll(blue,string2); }
  7125. case 8: { ServerInfo[AdminCmdMsg] = 1; dini_IntSet(file,"AdminCmdMessages",1); format(string2,sizeof(string2),"Administrator %s habilito admin command messages",adminname); MessageToAdmins(green,string2); }
  7126. case 9: { ServerInfo[AutoLogin] = 1; dini_IntSet(file,"AutoLogin",1); format(string2,sizeof(string2),"Administrator %s habilito auto login",adminname); SendClientMessageToAll(blue,string2); }
  7127. case 10: return ChangeMenu(playerid,Current,LMainMenu);
  7128. }
  7129. return TogglePlayerControllable(playerid,true);
  7130. }//------------------------------------------------------------------------
  7131. if(Current == AdminDisable) {
  7132. new adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname));
  7133. format(file,sizeof(file),"ladmin/config/Config.ini");
  7134. switch(row){
  7135. case 0: { ServerInfo[AntiSwear] = 0; dini_IntSet(file,"AntiSwear",0); format(string2,sizeof(string2),"Administrator %s desactivo antiswear",adminname); SendClientMessageToAll(blue,string2); }
  7136. case 1: { ServerInfo[NameKick] = 0; dini_IntSet(file,"NameKick",0); format(string2,sizeof(string2),"Administrator %s desactivo namekick",adminname); SendClientMessageToAll(blue,string2); }
  7137. case 2: { ServerInfo[AntiSpam] = 0; dini_IntSet(file,"AntiSpam",0); format(string2,sizeof(string2),"Administrator %s desactivo antispam",adminname); SendClientMessageToAll(blue,string2); }
  7138. case 3: { ServerInfo[MaxPing] = 0; dini_IntSet(file,"MaxPing",0); format(string2,sizeof(string2),"Administrator %s desactivo ping kick",adminname); SendClientMessageToAll(blue,string2); }
  7139. case 4: { ServerInfo[ReadCmds] = 0; dini_IntSet(file,"ReadCmds",0); format(string2,sizeof(string2),"Administrator %s desactivo reading commands",adminname); MessageToAdmins(green,string2); }
  7140. case 5: { ServerInfo[ReadPMs] = 0; dini_IntSet(file,"ReadPMs",0); format(string2,sizeof(string2),"Administrator %s desactivo reading pms",adminname); MessageToAdmins(green,string2); }
  7141. case 6: { ServerInfo[NoCaps] = 1; dini_IntSet(file,"NoCaps",1); format(string2,sizeof(string2),"Administrator %s has prevented captial letters in chat",adminname); SendClientMessageToAll(blue,string2); }
  7142. case 7: { ServerInfo[ConnectMessages] = 0; dini_IntSet(file,"ConnectMessages",0); format(string2,sizeof(string2),"Administrator %s has disabled connect messages",adminname); SendClientMessageToAll(blue,string2); }
  7143. case 8: { ServerInfo[AdminCmdMsg] = 0; dini_IntSet(file,"AdminCmdMessages",0); format(string2,sizeof(string2),"Administrator %s desactivo admin command messages",adminname); MessageToAdmins(green,string2); }
  7144. case 9: { ServerInfo[AutoLogin] = 0; dini_IntSet(file,"AutoLogin",0); format(string2,sizeof(string2),"Administrator %s desactivo auto login",adminname); SendClientMessageToAll(blue,string2); }
  7145. case 10: return ChangeMenu(playerid,Current,LMainMenu);
  7146. }
  7147. return TogglePlayerControllable(playerid,true);
  7148. }//-------------------------------------------------------------------------
  7149. if(Current==LVehicles){
  7150. switch(row){
  7151. case 0: ChangeMenu(playerid,Current,twodoor);
  7152. case 1: ChangeMenu(playerid,Current,fourdoor);
  7153. case 2: ChangeMenu(playerid,Current,fastcar);
  7154. case 3: ChangeMenu(playerid,Current,Othercars);
  7155. case 4: ChangeMenu(playerid,Current,bikes);
  7156. case 5: ChangeMenu(playerid,Current,boats);
  7157. case 6: ChangeMenu(playerid,Current,planes);
  7158. case 7: ChangeMenu(playerid,Current,helicopters);
  7159. case 8: return ChangeMenu(playerid,Current,LMainMenu);
  7160. }
  7161. return 1;
  7162. }
  7163. if(Current==twodoor){
  7164. new vehid;
  7165. switch(row){
  7166. case 0: vehid = 533;
  7167. case 1: vehid = 439;
  7168. case 2: vehid = 555;
  7169. case 3: vehid = 422;
  7170. case 4: vehid = 554;
  7171. case 5: vehid = 575;
  7172. case 6: vehid = 536;
  7173. case 7: vehid = 535;
  7174. case 8: vehid = 576;
  7175. case 9: vehid = 401;
  7176. case 10: vehid = 526;
  7177. case 11: return ChangeMenu(playerid,Current,LVehicles);
  7178. }
  7179. return SelectCar(playerid,vehid,Current);
  7180. }
  7181. if(Current==fourdoor){
  7182. new vehid;
  7183. switch(row){
  7184. case 0: vehid = 404;
  7185. case 1: vehid = 566;
  7186. case 2: vehid = 412;
  7187. case 3: vehid = 445;
  7188. case 4: vehid = 507;
  7189. case 5: vehid = 466;
  7190. case 6: vehid = 546;
  7191. case 7: vehid = 511;
  7192. case 8: vehid = 467;
  7193. case 9: vehid = 426;
  7194. case 10: vehid = 405;
  7195. case 11: return ChangeMenu(playerid,Current,LVehicles);
  7196. }
  7197. return SelectCar(playerid,vehid,Current);
  7198. }
  7199. if(Current==fastcar){
  7200. new vehid;
  7201. switch(row){
  7202. case 0: vehid = 480;
  7203. case 1: vehid = 402;
  7204. case 2: vehid = 415;
  7205. case 3: vehid = 587;
  7206. case 4: vehid = 494;
  7207. case 5: vehid = 411;
  7208. case 6: vehid = 603;
  7209. case 7: vehid = 506;
  7210. case 8: vehid = 451;
  7211. case 9: vehid = 477;
  7212. case 10: vehid = 541;
  7213. case 11: return ChangeMenu(playerid,Current,LVehicles);
  7214. }
  7215. return SelectCar(playerid,vehid,Current);
  7216. }
  7217. if(Current==Othercars){
  7218. new vehid;
  7219. switch(row){
  7220. case 0: vehid = 556;
  7221. case 1: vehid = 408;
  7222. case 2: vehid = 431;
  7223. case 3: vehid = 437;
  7224. case 4: vehid = 427;
  7225. case 5: vehid = 432;
  7226. case 6: vehid = 601;
  7227. case 7: vehid = 524;
  7228. case 8: vehid = 455;
  7229. case 9: vehid = 424;
  7230. case 10: vehid = 573;
  7231. case 11: return ChangeMenu(playerid,Current,LVehicles);
  7232. }
  7233. return SelectCar(playerid,vehid,Current);
  7234. }
  7235. if(Current==bikes){
  7236. new vehid;
  7237. switch(row){
  7238. case 0: vehid = 581;
  7239. case 1: vehid = 481;
  7240. case 2: vehid = 462;
  7241. case 3: vehid = 521;
  7242. case 4: vehid = 463;
  7243. case 5: vehid = 522;
  7244. case 6: vehid = 461;
  7245. case 7: vehid = 448;
  7246. case 8: vehid = 471;
  7247. case 9: vehid = 468;
  7248. case 10: vehid = 586;
  7249. case 11: return ChangeMenu(playerid,Current,LVehicles);
  7250. }
  7251. return SelectCar(playerid,vehid,Current);
  7252. }
  7253. if(Current==boats){
  7254. new vehid;
  7255. switch(row){
  7256. case 0: vehid = 472;
  7257. case 1: vehid = 473;
  7258. case 2: vehid = 493;
  7259. case 3: vehid = 595;
  7260. case 4: vehid = 484;
  7261. case 5: vehid = 430;
  7262. case 6: vehid = 453;
  7263. case 7: vehid = 452;
  7264. case 8: vehid = 446;
  7265. case 9: vehid = 454;
  7266. case 10: return ChangeMenu(playerid,Current,LVehicles);
  7267. }
  7268. return SelectCar(playerid,vehid,Current);
  7269. }
  7270. if(Current==planes){
  7271. new vehid;
  7272. switch(row){
  7273. case 0: vehid = 592;
  7274. case 1: vehid = 577;
  7275. case 2: vehid = 511;
  7276. case 3: vehid = 512;
  7277. case 4: vehid = 593;
  7278. case 5: vehid = 520;
  7279. case 6: vehid = 553;
  7280. case 7: vehid = 476;
  7281. case 8: vehid = 519;
  7282. case 9: vehid = 460;
  7283. case 10: vehid = 513;
  7284. case 11: return ChangeMenu(playerid,Current,LVehicles);
  7285. }
  7286. return SelectCar(playerid,vehid,Current);
  7287. }
  7288. if(Current==helicopters){
  7289. new vehid;
  7290. switch(row){
  7291. case 0: vehid = 548;
  7292. case 1: vehid = 425;
  7293. case 2: vehid = 417;
  7294. case 3: vehid = 487;
  7295. case 4: vehid = 488;
  7296. case 5: vehid = 497;
  7297. case 6: vehid = 563;
  7298. case 7: vehid = 447;
  7299. case 8: vehid = 469;
  7300. case 9: return ChangeMenu(playerid,Current,LVehicles);
  7301. }
  7302. return SelectCar(playerid,vehid,Current);
  7303. }
  7304.  
  7305. if(Current==XWeapons){
  7306. switch(row){
  7307. case 0: { GivePlayerWeapon(playerid,24,500); }
  7308. case 1: { GivePlayerWeapon(playerid,31,500); }
  7309. case 2: { GivePlayerWeapon(playerid,26,500); }
  7310. case 3: { GivePlayerWeapon(playerid,27,500); }
  7311. case 4: { GivePlayerWeapon(playerid,28,500); }
  7312. case 5: { GivePlayerWeapon(playerid,35,500); }
  7313. case 6: { GivePlayerWeapon(playerid,38,1000); }
  7314. case 7: { GivePlayerWeapon(playerid,34,500); }
  7315. case 8: return ChangeMenu(playerid,Current,XWeaponsBig);
  7316. case 9: return ChangeMenu(playerid,Current,XWeaponsSmall);
  7317. case 10: return ChangeMenu(playerid,Current,XWeaponsMore);
  7318. case 11: return ChangeMenu(playerid,Current,LMainMenu);
  7319. }
  7320. return TogglePlayerControllable(playerid,true);
  7321. }
  7322.  
  7323. if(Current==XWeaponsBig){
  7324. switch(row){
  7325. case 0: { GivePlayerWeapon(playerid,25,500); }
  7326. case 1: { GivePlayerWeapon(playerid,30,500); }
  7327. case 2: { GivePlayerWeapon(playerid,33,500); }
  7328. case 3: { GivePlayerWeapon(playerid,36,500); }
  7329. case 4: { GivePlayerWeapon(playerid,37,500); }
  7330. case 5: { GivePlayerWeapon(playerid,29,500); }
  7331. case 6: { GivePlayerWeapon(playerid,32,1000); }
  7332. case 7: return ChangeMenu(playerid,Current,XWeapons);
  7333. }
  7334. return TogglePlayerControllable(playerid,true);
  7335. }
  7336.  
  7337. if(Current==XWeaponsSmall){
  7338. switch(row){
  7339. case 0: { GivePlayerWeapon(playerid,22,500); }//9mm
  7340. case 1: { GivePlayerWeapon(playerid,23,500); }//s9
  7341. case 2: { GivePlayerWeapon(playerid,18,500); }// MC
  7342. case 3: { GivePlayerWeapon(playerid,42,500); }//FE
  7343. case 4: { GivePlayerWeapon(playerid,41,500); }//spraycan
  7344. case 5: { GivePlayerWeapon(playerid,16,500); }//grenade
  7345. case 6: { GivePlayerWeapon(playerid,8,500); }//Katana
  7346. case 7: { GivePlayerWeapon(playerid,9,1000); }//chainsaw
  7347. case 8: return ChangeMenu(playerid,Current,XWeapons);
  7348. }
  7349. return TogglePlayerControllable(playerid,true);
  7350. }
  7351.  
  7352. if(Current==XWeaponsMore){
  7353. switch(row){
  7354. case 0: SetPlayerSpecialAction(playerid, 2);
  7355. case 1: GivePlayerWeapon(playerid,4,500);
  7356. case 2: GivePlayerWeapon(playerid,14,500);
  7357. case 3: GivePlayerWeapon(playerid,43,500);
  7358. case 4: GivePlayerWeapon(playerid,7,500);
  7359. case 5: GivePlayerWeapon(playerid,5,500);
  7360. case 6: GivePlayerWeapon(playerid,2,1000);
  7361. case 7: MaxAmmo(playerid);
  7362. case 8: return ChangeMenu(playerid,Current,XWeapons);
  7363. }
  7364. return TogglePlayerControllable(playerid,true);
  7365. }
  7366.  
  7367. if(Current == LTele)
  7368. {
  7369. switch(row)
  7370. {
  7371. case 0: ChangeMenu(playerid,Current,LasVenturasMenu);
  7372. case 1: ChangeMenu(playerid,Current,LosSantosMenu);
  7373. case 2: ChangeMenu(playerid,Current,SanFierroMenu);
  7374. case 3: ChangeMenu(playerid,Current,DesertMenu);
  7375. case 4: ChangeMenu(playerid,Current,FlintMenu);
  7376. case 5: ChangeMenu(playerid,Current,MountChiliadMenu);
  7377. case 6: ChangeMenu(playerid,Current,InteriorsMenu);
  7378. case 7: return ChangeMenu(playerid,Current,LMainMenu);
  7379. }
  7380. return 1;
  7381. }
  7382.  
  7383. if(Current == LasVenturasMenu)
  7384. {
  7385. switch(row)
  7386. {
  7387. case 0: { SetPlayerPos(playerid,2037.0,1343.0,12.0); SetPlayerInterior(playerid,0); }// strip
  7388. case 1: { SetPlayerPos(playerid,2163.0,1121.0,23); SetPlayerInterior(playerid,0); }// come a lot
  7389. case 2: { SetPlayerPos(playerid,1688.0,1615.0,12.0); SetPlayerInterior(playerid,0); }// lv airport
  7390. case 3: { SetPlayerPos(playerid,2503.0,2764.0,10.0); SetPlayerInterior(playerid,0); }// military fuel
  7391. case 4: { SetPlayerPos(playerid,1418.0,2733.0,10.0); SetPlayerInterior(playerid,0); }// golf lv
  7392. case 5: { SetPlayerPos(playerid,1377.0,2196.0,9.0); SetPlayerInterior(playerid,0); }// pitch match
  7393. case 6: return ChangeMenu(playerid,Current,LTele);
  7394. }
  7395. return TogglePlayerControllable(playerid,true);
  7396. }
  7397.  
  7398. if(Current == LosSantosMenu)
  7399. {
  7400. switch(row)
  7401. {
  7402. case 0: { SetPlayerPos(playerid,2495.0,-1688.0,13.0); SetPlayerInterior(playerid,0); }// ganton
  7403. case 1: { SetPlayerPos(playerid,1979.0,-2241.0,13.0); SetPlayerInterior(playerid,0); }// ls airport
  7404. case 2: { SetPlayerPos(playerid,2744.0,-2435.0,15.0); SetPlayerInterior(playerid,0); }// docks
  7405. case 3: { SetPlayerPos(playerid,1481.0,-1656.0,14.0); SetPlayerInterior(playerid,0); }// square
  7406. case 4: { SetPlayerPos(playerid,1150.0,-2037.0,69.0); SetPlayerInterior(playerid,0); }// veradant bluffs
  7407. case 5: { SetPlayerPos(playerid,425.0,-1815.0,6.0); SetPlayerInterior(playerid,0); }// santa beach
  7408. case 6: { SetPlayerPos(playerid,1240.0,-744.0,95.0); SetPlayerInterior(playerid,0); }// mullholland
  7409. case 7: { SetPlayerPos(playerid,679.0,-1070.0,49.0); SetPlayerInterior(playerid,0); }// richman
  7410. case 8: return ChangeMenu(playerid,Current,LTele);
  7411. }
  7412. return TogglePlayerControllable(playerid,true);
  7413. }
  7414.  
  7415. if(Current == SanFierroMenu)
  7416. {
  7417. switch(row)
  7418. {
  7419. case 0: { SetPlayerPos(playerid,-1990.0,137.0,27.0); SetPlayerInterior(playerid,0); } // sf station
  7420. case 1: { SetPlayerPos(playerid,-1528.0,-206.0,14.0); SetPlayerInterior(playerid,0); }// sf airport
  7421. case 2: { SetPlayerPos(playerid,-2709.0,198.0,4.0); SetPlayerInterior(playerid,0); }// ocean flats
  7422. case 3: { SetPlayerPos(playerid,-2738.0,-295.0,6.0); SetPlayerInterior(playerid,0); }// avispa country club
  7423. case 4: { SetPlayerPos(playerid,-1457.0,465.0,7.0); SetPlayerInterior(playerid,0); }// easter basic docks
  7424. case 5: { SetPlayerPos(playerid,-1853.0,1404.0,7.0); SetPlayerInterior(playerid,0); }// esplanadae north
  7425. case 6: { SetPlayerPos(playerid,-2620.0,1373.0,7.0); SetPlayerInterior(playerid,0); }// battery point
  7426. case 7: return ChangeMenu(playerid,Current,LTele);
  7427. }
  7428. return TogglePlayerControllable(playerid,true);
  7429. }
  7430.  
  7431. if(Current == DesertMenu)
  7432. {
  7433. switch(row)
  7434. {
  7435. case 0: { SetPlayerPos(playerid,416.0,2516.0,16.0); SetPlayerInterior(playerid,0); } // plane graveyard
  7436. case 1: { SetPlayerPos(playerid,81.0,1920.0,17.0); SetPlayerInterior(playerid,0); }// area51
  7437. case 2: { SetPlayerPos(playerid,-324.0,1516.0,75.0); SetPlayerInterior(playerid,0); }// big ear
  7438. case 3: { SetPlayerPos(playerid,-640.0,2051.0,60.0); SetPlayerInterior(playerid,0); }// dam
  7439. case 4: { SetPlayerPos(playerid,-766.0,1545.0,27.0); SetPlayerInterior(playerid,0); }// las barrancas
  7440. case 5: { SetPlayerPos(playerid,-1514.0,2597.0,55.0); SetPlayerInterior(playerid,0); }// el qyebrados
  7441. case 6: { SetPlayerPos(playerid,442.0,1427.0,9.0); SetPlayerInterior(playerid,0); }// actane springs
  7442. case 7: return ChangeMenu(playerid,Current,LTele);
  7443. }
  7444. return TogglePlayerControllable(playerid,true);
  7445. }
  7446.  
  7447. if(Current == FlintMenu)
  7448. {
  7449. switch(row)
  7450. {
  7451. case 0: { SetPlayerPos(playerid,-849.0,-1940.0,13.0); SetPlayerInterior(playerid,0); }// lake
  7452. case 1: { SetPlayerPos(playerid,-1107.0,-1619.0,76.0); SetPlayerInterior(playerid,0); }// leafy hollow
  7453. case 2: { SetPlayerPos(playerid,-1049.0,-1199.0,128.0); SetPlayerInterior(playerid,0); }// the farm
  7454. case 3: { SetPlayerPos(playerid,-1655.0,-2219.0,32.0); SetPlayerInterior(playerid,0); }// shady cabin
  7455. case 4: { SetPlayerPos(playerid,-375.0,-1441.0,25.0); SetPlayerInterior(playerid,0); }// flint range
  7456. case 5: { SetPlayerPos(playerid,-367.0,-1049.0,59.0); SetPlayerInterior(playerid,0); }// beacon hill
  7457. case 6: { SetPlayerPos(playerid,-494.0,-555.0,25.0); SetPlayerInterior(playerid,0); }// fallen tree
  7458. case 7: return ChangeMenu(playerid,Current,LTele);
  7459. }
  7460. return TogglePlayerControllable(playerid,true);
  7461. }
  7462.  
  7463. if(Current == MountChiliadMenu)
  7464. {
  7465. switch(row)
  7466. {
  7467. case 0: { SetPlayerPos(playerid,-2308.0,-1657.0,483.0); SetPlayerInterior(playerid,0); }// chiliad jump
  7468. case 1: { SetPlayerPos(playerid,-2331.0,-2180.0,35.0); SetPlayerInterior(playerid,0); }// bottom chiliad
  7469. case 2: { SetPlayerPos(playerid,-2431.0,-1620.0,526.0); SetPlayerInterior(playerid,0); }// highest point
  7470. case 3: { SetPlayerPos(playerid,-2136.0,-1775.0,208.0); SetPlayerInterior(playerid,0); }// chiliad path
  7471. case 4: return ChangeMenu(playerid,Current,LTele);
  7472. }
  7473. return TogglePlayerControllable(playerid,true);
  7474. }
  7475.  
  7476. if(Current == InteriorsMenu)
  7477. {
  7478. switch(row)
  7479. {
  7480. case 0: { SetPlayerPos(playerid,386.5259, 173.6381, 1008.3828); SetPlayerInterior(playerid,3); }
  7481. case 1: { SetPlayerPos(playerid,288.4723, 170.0647, 1007.1794); SetPlayerInterior(playerid,3); }
  7482. case 2: { SetPlayerPos(playerid,372.5565, -131.3607, 1001.4922); SetPlayerInterior(playerid,5); }
  7483. case 3: { SetPlayerPos(playerid,-1129.8909, 1057.5424, 1346.4141); SetPlayerInterior(playerid,10); }
  7484. case 4: { SetPlayerPos(playerid,2233.9363, 1711.8038, 1011.6312); SetPlayerInterior(playerid,1); }
  7485. case 5: { SetPlayerPos(playerid,2536.5322, -1294.8425, 1044.125); SetPlayerInterior(playerid,2); }
  7486. case 6: { SetPlayerPos(playerid,1267.8407, -776.9587, 1091.9063); SetPlayerInterior(playerid,5); }
  7487. case 7: { SetPlayerPos(playerid,-1421.5618, -663.8262, 1059.5569); SetPlayerInterior(playerid,4); }
  7488. case 8: { SetPlayerPos(playerid,-1401.067, 1265.3706, 1039.8672); SetPlayerInterior(playerid,16); }
  7489. case 9: { SetPlayerPos(playerid,285.8361, -39.0166, 1001.5156); SetPlayerInterior(playerid,1); }
  7490. case 10: { SetPlayerPos(playerid,1727.2853, -1642.9451, 20.2254); SetPlayerInterior(playerid,18); }
  7491. case 11: return ChangeMenu(playerid,Current,LTele);
  7492. }
  7493. return TogglePlayerControllable(playerid,true);
  7494. }
  7495.  
  7496. if(Current == LWeather)
  7497. {
  7498. new adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname));
  7499. switch(row)
  7500. {
  7501. case 0: { SetWeather(5); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string2,sizeof(string2),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string2); }
  7502. case 1: { SetWeather(19); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string2,sizeof(string2),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string2); }
  7503. case 2: { SetWeather(8); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string2,sizeof(string2),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string2); }
  7504. case 3: { SetWeather(20); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string2,sizeof(string2),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string2); }
  7505. case 4: { SetWeather(9); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string2,sizeof(string2),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string2); }
  7506. case 5: { SetWeather(16); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string2,sizeof(string2),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string2); }
  7507. case 6: { SetWeather(45); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string2,sizeof(string2),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string2); }
  7508. case 7: { SetWeather(44); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string2,sizeof(string2),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string2); }
  7509. case 8: { SetWeather(22); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string2,sizeof(string2),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string2); }
  7510. case 9: { SetWeather(11); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string2,sizeof(string2),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string2); }
  7511. case 10: return ChangeMenu(playerid,Current,LMainMenu);
  7512. }
  7513. return TogglePlayerControllable(playerid,true);
  7514. }
  7515.  
  7516. if(Current == LTuneMenu)
  7517. {
  7518. switch(row)
  7519. {
  7520. case 0: { AddVehicleComponent(GetPlayerVehicleID(playerid),1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  7521. case 1: { AddVehicleComponent(GetPlayerVehicleID(playerid),1087); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  7522. case 2: { AddVehicleComponent(GetPlayerVehicleID(playerid),1081); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  7523. case 3: { AddVehicleComponent(GetPlayerVehicleID(playerid),1078); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  7524. case 4: { AddVehicleComponent(GetPlayerVehicleID(playerid),1098); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  7525. case 5: { AddVehicleComponent(GetPlayerVehicleID(playerid),1074); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  7526. case 6: { AddVehicleComponent(GetPlayerVehicleID(playerid),1082); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  7527. case 7: { AddVehicleComponent(GetPlayerVehicleID(playerid),1085); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  7528. case 8: { AddVehicleComponent(GetPlayerVehicleID(playerid),1025); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  7529. case 9: { AddVehicleComponent(GetPlayerVehicleID(playerid),1077); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  7530. case 10: return ChangeMenu(playerid,Current,PaintMenu);
  7531. case 11: return ChangeMenu(playerid,Current,LMainMenu);
  7532. }
  7533. return TogglePlayerControllable(playerid,true);
  7534. }
  7535.  
  7536. if(Current == PaintMenu)
  7537. {
  7538. switch(row)
  7539. {
  7540. case 0: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),0); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed To Paint Job 1"); }
  7541. case 1: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),1); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed To Paint Job 2"); }
  7542. case 2: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),2); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed To Paint Job 3"); }
  7543. case 3: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),3); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed To Paint Job 4"); }
  7544. case 4: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),4); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed To Paint Job 5"); }
  7545. case 5: { ChangeVehicleColor(GetPlayerVehicleID(playerid),0,0); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Colour Changed To Black"); }
  7546. case 6: { ChangeVehicleColor(GetPlayerVehicleID(playerid),1,1); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Colour Changed To White"); }
  7547. case 7: { ChangeVehicleColor(GetPlayerVehicleID(playerid),79,158); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Colour Changed To Black"); }
  7548. case 8: { ChangeVehicleColor(GetPlayerVehicleID(playerid),146,183); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Colour Changed To Black"); }
  7549. case 9: return ChangeMenu(playerid,Current,LTuneMenu);
  7550. }
  7551. return TogglePlayerControllable(playerid,true);
  7552. }
  7553.  
  7554. if(Current == LTime)
  7555. {
  7556. new adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname));
  7557. switch(row)
  7558. {
  7559. case 0: { for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetWorldTime(7); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU"); format(string2,sizeof(string2),"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string2); }
  7560. case 1: { for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetWorldTime(12); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU"); format(string2,sizeof(string2),"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string2); }
  7561. case 2: { for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetWorldTime(16); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU"); format(string2,sizeof(string2),"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string2); }
  7562. case 3: { for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetWorldTime(20); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU"); format(string2,sizeof(string2),"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string2); }
  7563. case 4: { for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetWorldTime(0); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU"); format(string2,sizeof(string2),"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string2); }
  7564. case 5: return ChangeMenu(playerid,Current,LMainMenu);
  7565. }
  7566. return TogglePlayerControllable(playerid,true);
  7567. }
  7568.  
  7569. if(Current == LCars)
  7570. {
  7571. new vehid;
  7572. switch(row) {
  7573. case 0: vehid = 451;//Turismo
  7574. case 1: vehid = 568;//Bandito
  7575. case 2: vehid = 539;//Vortex
  7576. case 3: vehid = 522;//nrg
  7577. case 4: vehid = 601;//s.w.a.t
  7578. case 5: vehid = 425; //hunter
  7579. case 6: vehid = 493;//jetmax
  7580. case 7: vehid = 432;//rhino
  7581. case 8: vehid = 444; //mt
  7582. case 9: vehid = 447; //sea sparrow
  7583. case 10: return ChangeMenu(playerid,Current,LCars2);
  7584. case 11: return ChangeMenu(playerid,Current,LMainMenu);
  7585. }
  7586. return SelectCar(playerid,vehid,Current);
  7587. }
  7588.  
  7589. if(Current == LCars2)
  7590. {
  7591. new vehid;
  7592. switch(row) {
  7593. case 0: vehid = 406;// dumper
  7594. case 1: vehid = 564; //rc tank
  7595. case 2: vehid = 441;//RC Bandit
  7596. case 3: vehid = 464;// rc baron
  7597. case 4: vehid = 501; //rc goblin
  7598. case 5: vehid = 465; //rc raider
  7599. case 6: vehid = 594; // rc cam
  7600. case 7: vehid = 449; //tram
  7601. case 8: return ChangeMenu(playerid,Current,LCars);
  7602. }
  7603. return SelectCar(playerid,vehid,Current);
  7604. }
  7605.  
  7606. return 1;
  7607. }
  7608.  
  7609. //==============================================================================
  7610.  
  7611. public OnPlayerExitedMenu(playerid)
  7612. {
  7613. new Menu:Current = GetPlayerMenu(playerid);
  7614. HideMenuForPlayer(Current,playerid);
  7615. return TogglePlayerControllable(playerid,true);
  7616. }
  7617.  
  7618.  
  7619.  
  7620.  
  7621.  
  7622.  
  7623. //==============================================================================
  7624.  
  7625. ChangeMenu(playerid,Menu:oldmenu,Menu:newmenu)
  7626. {
  7627. if(IsValidMenu(oldmenu)) {
  7628. HideMenuForPlayer(oldmenu,playerid);
  7629. ShowMenuForPlayer(newmenu,playerid);
  7630. }
  7631. return 1;
  7632. }
  7633.  
  7634. CloseMenu(playerid,Menu:oldmenu)
  7635. {
  7636. HideMenuForPlayer(oldmenu,playerid);
  7637. TogglePlayerControllable(playerid,1);
  7638. return 1;
  7639. }
  7640. SelectCar(playerid,vehid,Menu:menu)
  7641. {
  7642. CloseMenu(playerid,menu);
  7643. SetCameraBehindPlayer(playerid);
  7644. CarSpawner(playerid,vehid);
  7645. return 1;
  7646. }
  7647. #endif
  7648. //==============================================================================
  7649. forward countdown();
  7650. public countdown()
  7651. {
  7652. if(CountDown==6) GameTextAll("~p~Comenzando...",1000,6);
  7653.  
  7654. CountDown--;
  7655. if(CountDown==0)
  7656. {
  7657. GameTextAll("~g~GO~ r~!",1000,6);
  7658. CountDown = -1;
  7659. for(new i = 0; i < MAX_PLAYERS; i++) {
  7660. TogglePlayerControllable(i,true);
  7661. PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  7662. }
  7663. return 0;
  7664. }
  7665. else
  7666. {
  7667. new text[7]; format(text,sizeof(text),"~w~%d",CountDown);
  7668. for(new i = 0; i < MAX_PLAYERS; i++) {
  7669. PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  7670. TogglePlayerControllable(i,false);
  7671. }
  7672. GameTextAll(text,1000,6);
  7673. }
  7674.  
  7675. SetTimer("countdown",1000,0);
  7676. return 0;
  7677. }
  7678.  
  7679. forward Duel(player1, player2);
  7680. public Duel(player1, player2)
  7681. {
  7682. if(cdt[player1]==6) {
  7683. GameTextPlayer(player1,"~p~Comenzando Duelo...",1000,6); GameTextPlayer(player2,"~p~Comenzando Duelo...",1000,6);
  7684. }
  7685.  
  7686. cdt[player1]--;
  7687. if(cdt[player1]==0)
  7688. {
  7689. TogglePlayerControllable(player1,1); TogglePlayerControllable(player2,1);
  7690. PlayerPlaySound(player1, 1057, 0.0, 0.0, 0.0); PlayerPlaySound(player2, 1057, 0.0, 0.0, 0.0);
  7691. GameTextPlayer(player1,"~g~GO~ r~!",1000,6); GameTextPlayer(player2,"~g~GO~ r~!",1000,6);
  7692. return 0;
  7693. }
  7694. else
  7695. {
  7696. new text[7]; format(text,sizeof(text),"~w~%d",cdt[player1]);
  7697. PlayerPlaySound(player1, 1056, 0.0, 0.0, 0.0); PlayerPlaySound(player2, 1056, 0.0, 0.0, 0.0);
  7698. TogglePlayerControllable(player1,0); TogglePlayerControllable(player2,0);
  7699. GameTextPlayer(player1,text,1000,6); GameTextPlayer(player2,text,1000,6);
  7700. }
  7701.  
  7702. SetTimerEx("Duel",1000,0,"dd", player1, player2);
  7703. return 0;
  7704. }
  7705.  
  7706. //==================== [ Jail & Freeze ]========================================
  7707.  
  7708. forward Jail1(player1);
  7709. public Jail1(player1)
  7710. {
  7711. TogglePlayerControllable(player1,false);
  7712. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
  7713. SetPlayerCameraPos(player1,x+10,y,z+10);SetPlayerCameraLookAt(player1,x,y,z);
  7714. SetTimerEx("Jail2",1000,0,"d",player1);
  7715. }
  7716.  
  7717. forward Jail2(player1);
  7718. public Jail2(player1)
  7719. {
  7720. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
  7721. SetPlayerCameraPos(player1,x+7,y,z+5); SetPlayerCameraLookAt(player1,x,y,z);
  7722. if(GetPlayerState(player1) == PLAYER_STATE_ONFOOT) SetPlayerSpecialAction(player1,SPECIAL_ACTION_HANDSUP);
  7723. GameTextPlayer(player1,"~r~Busted By Admins",3000,3);
  7724. SetTimerEx("Jail3",1000,0,"d",player1);
  7725. }
  7726.  
  7727. forward Jail3(player1);
  7728. public Jail3(player1)
  7729. {
  7730. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
  7731. SetPlayerCameraPos(player1,x+3,y,z); SetPlayerCameraLookAt(player1,x,y,z);
  7732. }
  7733.  
  7734. forward JailPlayer(player1);
  7735. public JailPlayer(player1)
  7736. {
  7737. TogglePlayerControllable(player1,true);
  7738. SetPlayerPos(player1,197.6661,173.8179,1003.0234);
  7739. SetPlayerInterior(player1,3);
  7740. SetCameraBehindPlayer(player1);
  7741. JailTimer[player1] = SetTimerEx("JailRelease",PlayerInfo[player1][JailTime],0,"d",player1);
  7742. PlayerInfo[player1][Jailed] = 1;
  7743. }
  7744.  
  7745. forward JailRelease(player1);
  7746. public JailRelease(player1)
  7747. {
  7748. KillTimer( JailTimer[player1] );
  7749. PlayerInfo[player1][JailTime] = 0; PlayerInfo[player1][Jailed] = 0;
  7750. SetPlayerInterior(player1,0); SetPlayerPos(player1, 0.0, 0.0, 0.0); SpawnPlayer(player1);
  7751. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  7752. GameTextPlayer(player1,"~g~Released ~n~From Jail",3000,3);
  7753. }
  7754.  
  7755. //------------------------------------------------------------------------------
  7756. forward UnFreezeMe(player1);
  7757. public UnFreezeMe(player1)
  7758. {
  7759. KillTimer( FreezeTimer[player1] );
  7760. TogglePlayerControllable(player1,true); PlayerInfo[player1][Frozen] = 0;
  7761. PlayerPlaySound(player1,1057,0.0,0.0,0.0); GameTextPlayer(player1,"~g~Unfrozen",3000,3);
  7762. }
  7763.  
  7764. //==============================================================================
  7765. forward RepairCar(playerid);
  7766. public RepairCar(playerid)
  7767. {
  7768. if(IsPlayerInAnyVehicle(playerid)) SetVehiclePos(GetPlayerVehicleID(playerid),Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]+0.5);
  7769. SetVehicleZAngle(GetPlayerVehicleID(playerid), Pos[playerid][3]);
  7770. SetCameraBehindPlayer(playerid);
  7771. }
  7772.  
  7773. //============================ [ Timers ]=======================================
  7774. forward PingKick();
  7775. public PingKick()
  7776. {
  7777. if(ServerInfo[MaxPing] != 0)
  7778. {
  7779. for(new i=0; i<MAX_PLAYERS; i++)
  7780. {
  7781. if((GetPlayerPing(i) > ServerInfo[MaxPing]) && PlayerInfo[i][Spawned] == 1 )
  7782. {
  7783. format(string2,sizeof(string2),"%s ha sido kickeado del server. (Razon: Alto Ping (%d) | Maximo Permitido (%d) )", PlayerName2(i), GetPlayerPing(i), ServerInfo[MaxPing] );
  7784. SendClientMessageToAll(grey,string2);
  7785. SaveToFile("KickLog",string2);
  7786. Kick(i);
  7787. }
  7788. if(GetPlayerPing(i) < 1 && ServerInfo[AntiBot] == 1)
  7789. {
  7790. BotCheck(i);
  7791. }
  7792. }
  7793. }
  7794.  
  7795. #if defined ANTI_MINIGUN
  7796. new weap, ammo;
  7797. for(new i = 0; i < MAX_PLAYERS; i++)
  7798. {
  7799. if(IsPlayerConnected(i) && PlayerInfo[i][Level] == 0)
  7800. {
  7801. GetPlayerWeaponData(i, 7, weap, ammo);
  7802. if(ammo > 1 && weap == 38) {
  7803. format(string2,sizeof(string2),"[INFO]: %s (id: %i) tiene el arma minigun con %d municiones", PlayerName2(i),PlayerName2(i), ammo);
  7804. MessageToAdmins(COLOR_WHITE,string2);
  7805. }
  7806. }
  7807. }
  7808. #endif
  7809.  
  7810. AntiCheats();
  7811. GodUpdate();
  7812. }
  7813.  
  7814. //==============================================================================
  7815. forward GodUpdate();
  7816. public GodUpdate()
  7817. {
  7818. for(new i = 0; i < MAX_PLAYERS; i++)
  7819. {
  7820. if(IsPlayerConnected(i) && PlayerInfo[i][God] == 1)
  7821. {
  7822. SetPlayerHealth(i,10000);
  7823. }
  7824. if(IsPlayerConnected(i) && PlayerInfo[i][GodCar] == 1 && IsPlayerInAnyVehicle(i))
  7825. {
  7826. RepairVehicle(GetPlayerVehicleID(i));
  7827. SetVehicleHealth(GetPlayerVehicleID(i),10000);
  7828. }
  7829. }
  7830. }
  7831. //==========================[ Server Info ]====================================
  7832.  
  7833. forward ConnectedPlayers();
  7834. public ConnectedPlayers()
  7835. {
  7836. new Connected;
  7837. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) Connected++;
  7838. return Connected;
  7839. }
  7840.  
  7841. forward JailedPlayers();
  7842. public JailedPlayers()
  7843. {
  7844. new JailedCount;
  7845. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Jailed] == 1) JailedCount++;
  7846. return JailedCount;
  7847. }
  7848.  
  7849. forward FrozenPlayers();
  7850. public FrozenPlayers()
  7851. {
  7852. new FrozenCount; for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Frozen] == 1) FrozenCount++;
  7853. return FrozenCount;
  7854. }
  7855.  
  7856. forward MutedPlayers();
  7857. public MutedPlayers()
  7858. {
  7859. new Count; for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Muted] == 1) Count++;
  7860. return Count;
  7861. }
  7862.  
  7863. forward InVehCount();
  7864. public InVehCount()
  7865. {
  7866. new InVeh; for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) InVeh++;
  7867. return InVeh;
  7868. }
  7869.  
  7870. forward OnBikeCount();
  7871. public OnBikeCount()
  7872. {
  7873. new BikeCount;
  7874. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) {
  7875. new LModel = GetVehicleModel(GetPlayerVehicleID(i));
  7876. switch(LModel)
  7877. {
  7878. case 448,461,462,463,468,471,509,510,521,522,523,581,586: BikeCount++;
  7879. }
  7880. }
  7881. return BikeCount;
  7882. }
  7883.  
  7884. forward InCarCount();
  7885. public InCarCount()
  7886. {
  7887. new PInCarCount;
  7888. for(new i = 0; i < MAX_PLAYERS; i++) {
  7889. if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) {
  7890. new LModel = GetVehicleModel(GetPlayerVehicleID(i));
  7891. switch(LModel)
  7892. {
  7893. case 448,461,462,463,468,471,509,510,521,522,523,581,586: {}
  7894. default: PInCarCount++;
  7895. }
  7896. }
  7897. }
  7898. return PInCarCount;
  7899. }
  7900.  
  7901. forward AdminCount();
  7902. public AdminCount()
  7903. {
  7904. new LAdminCount;
  7905. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Level] >= 1) LAdminCount++;
  7906. return LAdminCount;
  7907. }
  7908.  
  7909. forward RconAdminCount();
  7910. public RconAdminCount()
  7911. {
  7912. new rAdminCount;
  7913. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerAdmin(i)) rAdminCount++;
  7914. return rAdminCount;
  7915. }
  7916.  
  7917. //==========================[ Remote Console ]==================================
  7918.  
  7919. forward PrintWarning(const string[]);
  7920. public PrintWarning(const string[])
  7921. {
  7922. print("\n\n> WARNING:\n");
  7923. format(str, sizeof(str), " The %s folder is missing from scriptfiles", string);
  7924. print(str);
  7925. print("\n Please Create This Folder And Reload the Filterscript\n\n");
  7926. }
  7927.  
  7928. //============================[ Bot Check ]=====================================
  7929. forward BotCheck(playerid);
  7930. public BotCheck(playerid)
  7931. {
  7932. if(IsPlayerConnected(playerid))
  7933. {
  7934. if(GetPlayerPing(playerid) < 1)
  7935. {
  7936. new ip[20]; GetPlayerIp(playerid,ip,sizeof(ip));
  7937. format(string2,sizeof(string2),"BOT: %s id:%d ip: %s ping: %d",PlayerName2(playerid),playerid,ip,GetPlayerPing(playerid));
  7938. SaveToFile("BotKickLog",string2);
  7939. SaveToFile("KickLog",string2);
  7940. format(string2,sizeof(string2),"[INFO-ADMINS] Possible bot has been detected (Kicked %s ID:%d Ping: %d Ip: %s)", PlayerName2(playerid), playerid,GetPlayerPing(playerid),ip);
  7941. MessageToAdmins(green,string2);
  7942. Kick(playerid);
  7943. }
  7944. }
  7945. }
  7946.  
  7947. //==============================================================================
  7948. forward PutAtPos(playerid);
  7949. public PutAtPos(playerid)
  7950. {
  7951. if (dUserINT(PlayerName2(playerid)).("x")!=0) {
  7952. SetPlayerPos(playerid, float(dUserINT(PlayerName2(playerid)).("x")), float(dUserINT(PlayerName2(playerid)).("y")), float(dUserINT(PlayerName2(playerid)).("z")) );
  7953. SetPlayerInterior(playerid, (dUserINT(PlayerName2(playerid)).("interior")) );
  7954. }
  7955. }
  7956.  
  7957. forward PutAtDisconectPos(playerid);
  7958. public PutAtDisconectPos(playerid)
  7959. {
  7960. if (dUserINT(PlayerName2(playerid)).("x1")!=0) {
  7961. SetPlayerPos(playerid, float(dUserINT(PlayerName2(playerid)).("x1")), float(dUserINT(PlayerName2(playerid)).("y1")), float(dUserINT(PlayerName2(playerid)).("z1")) );
  7962. SetPlayerInterior(playerid, (dUserINT(PlayerName2(playerid)).("interior1")) );
  7963. }
  7964. }
  7965.  
  7966. TotalGameTime(playerid, &h=0, &m=0, &s=0)
  7967. {
  7968. PlayerInfo[playerid][TotalTime] = ( (gettime() - PlayerInfo[playerid][ConnectTime]) + (PlayerInfo[playerid][hours]*60*60) + (PlayerInfo[playerid][mins]*60) + (PlayerInfo[playerid][secs]) );
  7969.  
  7970. h = floatround(PlayerInfo[playerid][TotalTime] / 3600, floatround_floor);
  7971. m = floatround(PlayerInfo[playerid][TotalTime] / 60, floatround_floor) % 60;
  7972. s = floatround(PlayerInfo[playerid][TotalTime] % 60, floatround_floor);
  7973.  
  7974. return PlayerInfo[playerid][TotalTime];
  7975. }
  7976.  
  7977. MaxAmmo(playerid)
  7978. {
  7979. new slot, weap, ammo;
  7980. for (slot = 0; slot < 14; slot++)
  7981. {
  7982. GetPlayerWeaponData(playerid, slot, weap, ammo);
  7983. if(IsValidWeapon(weap))
  7984. {
  7985. GivePlayerWeapon(playerid, weap, 99999);
  7986. }
  7987. }
  7988. return 1;
  7989. }
  7990.  
  7991. stock PlayerName2(playerid) {
  7992. new name[MAX_PLAYER_NAME];
  7993. GetPlayerName(playerid, name, sizeof(name));
  7994. return name;
  7995. }
  7996.  
  7997. stock pName(playerid)
  7998. {
  7999. new name[MAX_PLAYER_NAME];
  8000. GetPlayerName(playerid, name, sizeof(name));
  8001. return name;
  8002. }
  8003.  
  8004. stock TimeStamp()
  8005. {
  8006. new time = GetTickCount() / 1000;
  8007. return time;
  8008. }
  8009.  
  8010. stock PlayerSoundForAll(SoundID)
  8011. {
  8012. for(new i = 0; i < MAX_PLAYERS; i++) PlayerPlaySound(i, SoundID, 0.0, 0.0, 0.0);
  8013. }
  8014.  
  8015. stock IsValidWeapon(weaponid)
  8016. {
  8017. if (weaponid > 0 && weaponid < 19 || weaponid > 21 && weaponid < 47) return 1;
  8018. return 0;
  8019. }
  8020.  
  8021. stock IsValidSkin(SkinID)
  8022. {
  8023. if((SkinID == 0)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299)) return true;
  8024. else return false;
  8025. }
  8026.  
  8027. stock IsNumeric(string[])
  8028. {
  8029. for (new i = 0, j = strlen(string); i < j; i++)
  8030. {
  8031. if (string[i] > '9' || string[i] < '0') return 0;
  8032. }
  8033. return 1;
  8034. }
  8035.  
  8036. stock ReturnPlayerID(PlayerName[])
  8037. {
  8038. for(new i = 0; i < MAX_PLAYERS; i++)
  8039. {
  8040. if(IsPlayerConnected(i))
  8041. {
  8042. if(strfind(pName(i),PlayerName,true)!=-1) return i;
  8043. }
  8044. }
  8045. return INVALID_PLAYER_ID;
  8046. }
  8047.  
  8048. GetVehicleModelIDFromName(vname[])
  8049. {
  8050. for(new i = 0; i < 211; i++)
  8051. {
  8052. if ( strfind(VehicleNames[i], vname, true) != -1 )
  8053. return i + 400;
  8054. }
  8055. return -1;
  8056. }
  8057.  
  8058. stock GetWeaponIDFromName(WeaponName[])
  8059. {
  8060. if(strfind("molotov",WeaponName,true)!=-1) return 18;
  8061. for(new i = 0; i <= 46; i++)
  8062. {
  8063. switch(i)
  8064. {
  8065. case 0,19,20,21,44,45: continue;
  8066. default:
  8067. {
  8068. new name[32]; GetWeaponName(i,name,32);
  8069. if(strfind(name,WeaponName,true) != -1) return i;
  8070. }
  8071. }
  8072. }
  8073. return -1;
  8074. }
  8075.  
  8076. stock DisableWord(const badword[], text[])
  8077. {
  8078. for(new i=0; i<256; i++)
  8079. {
  8080. if (strfind(text[i], badword, true) == 0)
  8081. {
  8082. for(new a=0; a<256; a++)
  8083. {
  8084. if (a >= i && a < i+strlen(badword)) text[a]='*';
  8085. }
  8086. }
  8087. }
  8088. }
  8089.  
  8090. //==============================================================================
  8091. forward MessageToAdmins(color,const string[]);
  8092. public MessageToAdmins(color,const string[])
  8093. {
  8094. for(new i = 0; i < MAX_PLAYERS; i++)
  8095. {
  8096. if(IsPlayerConnected(i) == 1) if (PlayerInfo[i][Level] >= 1) SendClientMessage(i, color, string);
  8097. }
  8098. return 1;
  8099. }
  8100.  
  8101. forward MessageForVip(color,const string[]);
  8102. public MessageForVip(color,const string[])
  8103. {
  8104. for(new i = 0; i < MAX_PLAYERS; i++)
  8105. {
  8106. if(IsPlayerConnected(i) == 1) if ((PlayerInfo[i][Level] >= 1) || (PlayerInfo[i][pVip] >= 1)) SendClientMessage(i, color, string2);
  8107. }
  8108. return 1;
  8109. }
  8110.  
  8111. stock CMDMessageToAdmins(playerid,command[])
  8112. {
  8113. if(ServerInfo[AdminCmdMsg] == 0) return 1;
  8114. GetPlayerName(playerid,string2,sizeof(string2));
  8115. format(string2,sizeof(string2),"El Administrador %s ha usado el comando %s",string2,command);
  8116. return MessageToAdmins(blue,string2);
  8117. }
  8118.  
  8119. stock CMDMessageToVip(playerid,command[])
  8120. {
  8121. if(ServerInfo[AdminCmdMsg] == 0) return 1;
  8122. GetPlayerName(playerid,string2,sizeof(string2));
  8123. format(string2,sizeof(string2),"El Usuario Vip %s (Id: %i) ha usado el comando %s",string2,playerid,command);
  8124. return MessageToAdmins(blue,string2);
  8125. }
  8126.  
  8127. //==============================================================================
  8128. SavePlayer(playerid)
  8129. {
  8130. dUserSetINT(PlayerName2(playerid)).("money",GetPlayerMoney(playerid));
  8131. dUserSetINT(PlayerName2(playerid)).("kills",PlayerInfo[playerid][Kills]);
  8132. dUserSetINT(PlayerName2(playerid)).("deaths",PlayerInfo[playerid][Deaths]);
  8133. dUserSetINT(PlayerName2(playerid)).("Exper",PlayerInfo[playerid][Experiencia]);
  8134.  
  8135. new h, m, s;
  8136. TotalGameTime(playerid, h, m, s);
  8137.  
  8138. dUserSetINT(PlayerName2(playerid)).("hours", h);
  8139. dUserSetINT(PlayerName2(playerid)).("minutes", m);
  8140. dUserSetINT(PlayerName2(playerid)).("seconds", s);
  8141.  
  8142. new Float:x,Float:y,Float:z, interior;
  8143. GetPlayerPos(playerid,x,y,z); interior = GetPlayerInterior(playerid);
  8144. dUserSetINT(PlayerName2(playerid)).("x1",floatround(x));
  8145. dUserSetINT(PlayerName2(playerid)).("y1",floatround(y));
  8146. dUserSetINT(PlayerName2(playerid)).("z1",floatround(z));
  8147. dUserSetINT(PlayerName2(playerid)).("interior1",interior);
  8148.  
  8149. new weap1, ammo1, weap2, ammo2, weap3, ammo3, weap4, ammo4, weap5, ammo5, weap6, ammo6;
  8150. GetPlayerWeaponData(playerid,2,weap1,ammo1);// hand gun
  8151. GetPlayerWeaponData(playerid,3,weap2,ammo2);//shotgun
  8152. GetPlayerWeaponData(playerid,4,weap3,ammo3);// SMG
  8153. GetPlayerWeaponData(playerid,5,weap4,ammo4);// AK47 / M4
  8154. GetPlayerWeaponData(playerid,6,weap5,ammo5);// rifle
  8155. GetPlayerWeaponData(playerid,7,weap6,ammo6);// rocket launcher
  8156. dUserSetINT(PlayerName2(playerid)).("weap1",weap1); dUserSetINT(PlayerName2(playerid)).("weap1ammo",ammo1);
  8157. dUserSetINT(PlayerName2(playerid)).("weap2",weap2); dUserSetINT(PlayerName2(playerid)).("weap2ammo",ammo2);
  8158. dUserSetINT(PlayerName2(playerid)).("weap3",weap3); dUserSetINT(PlayerName2(playerid)).("weap3ammo",ammo3);
  8159. dUserSetINT(PlayerName2(playerid)).("weap4",weap4); dUserSetINT(PlayerName2(playerid)).("weap4ammo",ammo4);
  8160. dUserSetINT(PlayerName2(playerid)).("weap5",weap5); dUserSetINT(PlayerName2(playerid)).("weap5ammo",ammo5);
  8161. dUserSetINT(PlayerName2(playerid)).("weap6",weap6); dUserSetINT(PlayerName2(playerid)).("weap6ammo",ammo6);
  8162.  
  8163. new Float:health; GetPlayerHealth(playerid, Float:health);
  8164. new Float:armour; GetPlayerArmour(playerid, Float:armour);
  8165. new year,month,day; getdate(year, month, day);
  8166. new strdate[20]; format(strdate, sizeof(strdate), "%d.%d.%d",day,month,year);
  8167. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
  8168.  
  8169. dUserSetINT(PlayerName2(playerid)).("health",floatround(health));
  8170. dUserSetINT(PlayerName2(playerid)).("armour",floatround(armour));
  8171. dini_Set(file,"LastOn",strdate);
  8172.  
  8173. dUserSetINT(PlayerName2(playerid)).("loggedin",0);
  8174. dUserSetINT(PlayerName2(playerid)).("TimesOnServer",(dUserINT(PlayerName2(playerid)).("TimesOnServer"))+1);
  8175. }
  8176.  
  8177. //==============================================================================
  8178. #if defined USE_MENUS
  8179. DestroyAllMenus()
  8180. {
  8181. DestroyMenu(LVehicles); DestroyMenu(twodoor); DestroyMenu(fourdoor); DestroyMenu(fastcar); DestroyMenu(Othercars);
  8182. DestroyMenu(bikes); DestroyMenu(boats); DestroyMenu(planes); DestroyMenu(helicopters ); DestroyMenu(LTime);
  8183. DestroyMenu(XWeapons); DestroyMenu(XWeaponsBig); DestroyMenu(XWeaponsSmall); DestroyMenu(XWeaponsMore);
  8184. DestroyMenu(LWeather); DestroyMenu(LTuneMenu); DestroyMenu(PaintMenu); DestroyMenu(LCars); DestroyMenu(LCars2);
  8185. DestroyMenu(LTele); DestroyMenu(LasVenturasMenu); DestroyMenu(LosSantosMenu); DestroyMenu(SanFierroMenu);
  8186. DestroyMenu(LMainMenu); DestroyMenu(DesertMenu); DestroyMenu(FlintMenu); DestroyMenu(MountChiliadMenu); DestroyMenu(InteriorsMenu);
  8187. DestroyMenu(AdminEnable); DestroyMenu(AdminDisable);
  8188. }
  8189. #endif
  8190.  
  8191. //==============================================================================
  8192. #if defined DISPLAY_CONFIG
  8193. stock ConfigInConsole()
  8194. {
  8195. print(" ________ Configuration ___________\n");
  8196. print(" __________ Chat & Messages ______");
  8197. if(ServerInfo[AntiSwear] == 0) print(" Anti Swear: Disabled "); else print(" Anti Swear: Enabled ");
  8198. if(ServerInfo[AntiSpam] == 0) print(" Anti Spam: Disabled "); else print(" Anti Spam: Enabled ");
  8199. if(ServerInfo[ReadCmds] == 0) print(" Read Cmds: Disabled "); else print(" Read Cmds: Enabled ");
  8200. if(ServerInfo[ReadPMs] == 0) print(" Read PMs: Disabled "); else print(" Read PMs: Enabled ");
  8201. if(ServerInfo[ConnectMessages] == 0) print(" Connect Messages: Disabled "); else print(" Connect Messages: Enabled ");
  8202. if(ServerInfo[AdminCmdMsg] == 0) print(" Admin Cmd Messages: Disabled "); else print(" Admin Cmd Messages: Enabled ");
  8203. if(ServerInfo[ReadPMs] == 0) print(" Anti capital letters: Disabled \n"); else print(" Anti capital letters: Enabled \n");
  8204. print(" __________ Skins ________________");
  8205. if(ServerInfo[AdminOnlySkins] == 0) print(" AdminOnlySkins: Disabled "); else print(" AdminOnlySkins: Enabled ");
  8206. printf(" Admin Skin 1 is: %d", ServerInfo[AdminSkin] );
  8207. printf(" Admin Skin 2 is: %d\n", ServerInfo[AdminSkin2] );
  8208. print(" ________ Server Protection ______");
  8209. if(ServerInfo[AntiBot] == 0) print(" Anti Bot: Disabled "); else print(" Anti Bot: Enabled ");
  8210. if(ServerInfo[NameKick] == 0) print(" Bad Name Kick: Disabled\n"); else print(" Bad Name Kick: Enabled\n");
  8211. print(" __________ Ping Control _________");
  8212. if(ServerInfo[MaxPing] == 0) print(" Ping Control: Disabled"); else print(" Ping Control: Enabled");
  8213. printf(" Max Ping: %d\n", ServerInfo[MaxPing] );
  8214. print(" __________ Players ______________");
  8215. if(ServerInfo[GiveWeap] == 0) print(" Save/Give Weaps: Disabled"); else print(" Save/Give Weaps: Enabled");
  8216. if(ServerInfo[GiveMoney] == 0) print(" Save/Give Money: Disabled\n"); else print(" Save/Give Money: Enabled\n");
  8217. print(" __________ Other ________________");
  8218. printf(" Max Admin Level: %d", ServerInfo[MaxAdminLevel] );
  8219. if(ServerInfo[Locked] == 0) print(" Server Locked: No"); else print(" Server Locked: Yes");
  8220. if(ServerInfo[AutoLogin] == 0) print(" Auto Login: Disabled\n"); else print(" Auto Login: Enabled\n");
  8221. }
  8222. #endif
  8223.  
  8224. //=====================[ Configuration ] =======================================
  8225. stock UpdateConfig()
  8226. {
  8227. new string[100], File:file2; format(file,sizeof(file),"ladmin/config/Config.ini");
  8228. ForbiddenWordCount = 0;
  8229. BadNameCount = 0;
  8230. BadPartNameCount = 0;
  8231. for(new i; i != MAX_VEHICLES; i++) if(!EsVehiculoOcupado(i)) SetVehicleToRespawn(i);
  8232.  
  8233. if(!dini_Exists("ladmin/config/TempBans.txt")) {dini_Create("ladmin/config/TempBans.txt");}
  8234. if(!dini_Exists("ladmin/config/SHD.txt")) {dini_Create("ladmin/config/SHD.txt");}
  8235. if(!dini_Exists("ladmin/config/RangeBan.txt")) {dini_Create("ladmin/config/RangeBan.txt");}
  8236. if(!dini_Exists("ladmin/config/aka.txt")) {dini_Create("ladmin/config/aka.txt");}
  8237.  
  8238. if(!dini_Exists(file))
  8239. {
  8240. dini_Create(file);
  8241. print("\n >Configuration File Successfully Created");
  8242. }
  8243.  
  8244. if(!dini_Isset(file,"MaxPing")) dini_IntSet(file,"MaxPing",1200);
  8245. if(!dini_Isset(file,"ReadPms")) dini_IntSet(file,"ReadPMs",1);
  8246. if(!dini_Isset(file,"ReadCmds")) dini_IntSet(file,"ReadCmds",1);
  8247. if(!dini_Isset(file,"MaxAdminLevel")) dini_IntSet(file,"MaxAdminLevel",5);
  8248. if(!dini_Isset(file,"AdminOnlySkins")) dini_IntSet(file,"AdminOnlySkins",0);
  8249. if(!dini_Isset(file,"AdminSkin")) dini_IntSet(file,"AdminSkin",217);
  8250. if(!dini_Isset(file,"AdminSkin2")) dini_IntSet(file,"AdminSkin2",214);
  8251. if(!dini_Isset(file,"AntiBot")) dini_IntSet(file,"AntiBot",1);
  8252. if(!dini_Isset(file,"AntiSpam")) dini_IntSet(file,"AntiSpam",1);
  8253. if(!dini_Isset(file,"AntiSwear")) dini_IntSet(file,"AntiSwear",1);
  8254. if(!dini_Isset(file,"NameKick")) dini_IntSet(file,"NameKick",1);
  8255. if(!dini_Isset(file,"PartNameKick")) dini_IntSet(file,"PartNameKick",1);
  8256. if(!dini_Isset(file,"NoCaps")) dini_IntSet(file,"NoCaps",0);
  8257. if(!dini_Isset(file,"Locked")) dini_IntSet(file,"Locked",0);
  8258. if(!dini_Isset(file,"SaveWeap")) dini_IntSet(file,"SaveWeap",1);
  8259. if(!dini_Isset(file,"SaveMoney")) dini_IntSet(file,"SaveMoney",1);
  8260. if(!dini_Isset(file,"ConnectMessages")) dini_IntSet(file,"ConnectMessages",1);
  8261. if(!dini_Isset(file,"AdminCmdMessages")) dini_IntSet(file,"AdminCmdMessages",1);
  8262. if(!dini_Isset(file,"AutoLogin")) dini_IntSet(file,"AutoLogin",1);
  8263. if(!dini_Isset(file,"MaxMuteWarnings")) dini_IntSet(file,"MaxMuteWarnings",4);
  8264. if(!dini_Isset(file,"MustLogin")) dini_IntSet(file,"MustLogin",0);
  8265. if(!dini_Isset(file,"MustRegister")) dini_IntSet(file,"MustRegister",0);
  8266.  
  8267. if(dini_Exists(file))
  8268. {
  8269. ServerInfo[MaxPing] = dini_Int(file,"MaxPing");
  8270. ServerInfo[ReadPMs] = dini_Int(file,"ReadPMs");
  8271. ServerInfo[ReadCmds] = dini_Int(file,"ReadCmds");
  8272. ServerInfo[MaxAdminLevel] = dini_Int(file,"MaxAdminLevel");
  8273. ServerInfo[AdminOnlySkins] = dini_Int(file,"AdminOnlySkins");
  8274. ServerInfo[AdminSkin] = dini_Int(file,"AdminSkin");
  8275. ServerInfo[AdminSkin2] = dini_Int(file,"AdminSkin2");
  8276. ServerInfo[AntiBot] = dini_Int(file,"AntiBot");
  8277. ServerInfo[AntiSpam] = dini_Int(file,"AntiSpam");
  8278. ServerInfo[AntiSwear] = dini_Int(file,"AntiSwear");
  8279. ServerInfo[NameKick] = dini_Int(file,"NameKick");
  8280. ServerInfo[PartNameKick] = dini_Int(file,"PartNameKick");
  8281. ServerInfo[NoCaps] = dini_Int(file,"NoCaps");
  8282. ServerInfo[Locked] = dini_Int(file,"Locked");
  8283. ServerInfo[GiveWeap] = dini_Int(file,"SaveWeap");
  8284. ServerInfo[GiveMoney] = dini_Int(file,"SaveMoney");
  8285. ServerInfo[ConnectMessages] = dini_Int(file,"ConnectMessages");
  8286. ServerInfo[AdminCmdMsg] = dini_Int(file,"AdminCmdMessages");
  8287. ServerInfo[AutoLogin] = dini_Int(file,"AutoLogin");
  8288. ServerInfo[MaxMuteWarnings] = dini_Int(file,"MaxMuteWarnings");
  8289. ServerInfo[MustLogin] = dini_Int(file,"MustLogin");
  8290. ServerInfo[MustRegister] = dini_Int(file,"MustRegister");
  8291. print("\n -Configuration Settings Loaded");
  8292. }
  8293.  
  8294. //forbidden names
  8295. if((file2 = fopen("ladmin/config/ForbiddenNames.cfg",io_read)))
  8296. {
  8297. while(fread(file2,string))
  8298. {
  8299. for(new i = 0, j = strlen(string); i < j; i++) if(string[i] == '\n' || string[i] == '\r') string[i] = '\0';
  8300. BadNames[BadNameCount] = string;
  8301. BadNameCount++;
  8302. }
  8303. fclose(file2); printf(" -%d Forbidden Names Loaded", BadNameCount);
  8304. }
  8305.  
  8306.  
  8307. //forbidden part of names
  8308. if((file2 = fopen("ladmin/config/ForbiddenPartNames.cfg",io_read)))
  8309. {
  8310. while(fread(file2,string))
  8311. {
  8312. for(new i = 0, j = strlen(string); i < j; i++) if(string[i] == '\n' || string[i] == '\r') string[i] = '\0';
  8313. BadPartNames[BadPartNameCount] = string;
  8314. BadPartNameCount++;
  8315. }
  8316. fclose(file2); printf(" -%d Forbidden Tags Loaded", BadPartNameCount);
  8317. }
  8318.  
  8319. //forbidden words
  8320. if((file2 = fopen("ladmin/config/ForbiddenWords.cfg",io_read)))
  8321. {
  8322. while(fread(file2,string))
  8323. {
  8324. for(new i = 0, j = strlen(string); i < j; i++) if(string[i] == '\n' || string[i] == '\r') string[i] = '\0';
  8325. ForbiddenWords[ForbiddenWordCount] = string;
  8326. ForbiddenWordCount++;
  8327. }
  8328. fclose(file2); printf(" -%d Forbidden Words Loaded", ForbiddenWordCount);
  8329. }
  8330. return 1;
  8331. }
  8332.  
  8333. //===============================================================================
  8334. public MessageToPlayerVIP(color,const string[])
  8335. {
  8336. for(new i = 0; i < MAX_PLAYERS; i++)
  8337. {
  8338. if(IsPlayerConnected(i) == 1)
  8339. if(PlayerInfo[i][pVip] >= 1)
  8340. SendClientMessage(i, color, string2);
  8341. }
  8342. return 1;
  8343. }
  8344.  
  8345.  
  8346.  
  8347. //------------------------------------------------------------------------------
  8348. public OnRconLoginAttempt(ip[], password[], success)
  8349. {
  8350. if(!success)
  8351. {
  8352. if(!dini_Exists("ladmin/config/BadRconLogins.txt"))
  8353. dini_Create("ladmin/config/BadRconLogins.txt");
  8354.  
  8355. new attempts=dini_Int("ladmin/config/BadRconLogins.txt",ip);
  8356. attempts++;
  8357. if(attempts>=MAX_RCON_ATTEMPS)
  8358. {
  8359. new cmd[32];
  8360. format(cmd,sizeof(cmd),"banip %s",ip);
  8361. SendRconCommand(cmd);
  8362. }
  8363. dini_IntSet("ladmin/config/BadRconLogins.txt",ip,attempts);
  8364. }
  8365. //====================================
  8366. // CORRECT RCON
  8367. //====================================
  8368. #if EnableTwoRcon == true
  8369. else
  8370. {
  8371. for(new i = 0; i < MAX_PLAYERS; i++)
  8372. {
  8373. if(IsPlayerConnected(i))
  8374. {
  8375. new pIP[16];
  8376. GetPlayerIp(i, pIP, 16);
  8377. if(!strcmp(pIP,ip,true))
  8378. {
  8379. format(string2,sizeof(string2),"Este Servidor Usa Un Sistema De 2 Contraseñas RCON. \n\nPara Acceder Al RCON, Tienes Que Insertar La Segunda RCON.");
  8380. ShowPlayerDialog(i, DIALOG_TYPE_RCON2, DIALOG_STYLE_INPUT,"Ladmin - RCON!",string2, "Aceptar", "Salir");
  8381. }
  8382. }
  8383. }
  8384. }
  8385. #endif
  8386. }
  8387.  
  8388.  
  8389. //------------------------------------------------------------------------------
  8390.  
  8391.  
  8392.  
  8393. //------------------------------------------------------------------------------
  8394.  
  8395.  
  8396. //=====================[ SAVING DATA ] =========================================
  8397.  
  8398. forward SaveToFile(filename[],text[]);
  8399. public SaveToFile(filename[],text[])
  8400. {
  8401. #if defined SAVE_LOGS
  8402. new File:LAdminfile, filepath[256], year,month,day, hour,minute,second;
  8403. getdate(year,month,day); gettime(hour,minute,second);
  8404.  
  8405. format(filepath,sizeof(filepath),"ladmin/logs/%s.txt",filename);
  8406. LAdminfile = fopen(filepath,io_append);
  8407. format(string2,sizeof(string2),"[%d.%d.%d %d:%d:%d] %s\r\n",day,month,year,hour,minute,second,text);
  8408. fwrite(LAdminfile,string2);
  8409. fclose(LAdminfile);
  8410. #endif
  8411.  
  8412. return 1;
  8413. }
  8414.  
  8415. stock SaveToSerial(Serial[])
  8416. {
  8417. new File:LAdminfile, filepath[256];
  8418. format(filepath,sizeof(filepath),"ladmin/config/SHD.txt",Serial);
  8419. LAdminfile = fopen(filepath,io_append);
  8420. format(string2,sizeof(string2),"%s\r\n",Serial);
  8421. fwrite(LAdminfile,string2);
  8422. fclose(LAdminfile);
  8423. return 1;
  8424. }
  8425. stock SaveToRBan(IpBan[])
  8426. {
  8427. new File:LAdminfile, filepath[256];
  8428. format(filepath,sizeof(filepath),"ladmin/config/RangeBan.txt",IpBan);
  8429. LAdminfile = fopen(filepath,io_append);
  8430. format(string2,sizeof(string2),"%s\r\n",IpBan);
  8431. fwrite(LAdminfile,string2);
  8432. fclose(LAdminfile);
  8433. return 1;
  8434. }
  8435.  
  8436. stock estacosa(const string[], &index)
  8437. {
  8438. new length = strlen(string);
  8439. while ((index < length) && (string[index] <= ' '))
  8440. {
  8441. index++;
  8442. }
  8443.  
  8444. new offset = index;
  8445. new result[20];
  8446. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  8447. {
  8448. result[index - offset] = string[index];
  8449. index++;
  8450. }
  8451. result[index - offset] = EOS;
  8452. return result;
  8453. }
  8454.  
  8455. //===============================SALTO============================================
  8456. public OnPlayerRequestSpawn(playerid)
  8457. {
  8458. SaltosBici[playerid] = 0;
  8459. SaltosAuto[playerid] = 0;
  8460. return 1;
  8461. }
  8462. //--------------------------------------------------------------------------------
  8463. stock JugadorEnBici(playerid)
  8464. {
  8465. if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  8466. {
  8467. if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 481 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 509 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 510) return 1;
  8468. }
  8469. return 0;
  8470. }
  8471.  
  8472. //----------------------------______________________________________________________
  8473. public SaltosBiciTimer(playerid)
  8474. {
  8475. if(IsPlayerConnected(playerid) && JugadorEnBici(playerid))
  8476. {
  8477. if(SaltosBici[playerid] == 2)
  8478. {
  8479. new Float:x,Float:y,Float:z;
  8480. GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z);
  8481. if(z < 0) return SaltosBici[playerid] = 1;
  8482. SetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z+(z*4));
  8483. SetTimerEx("SaltosBiciTimer",4000,0,"d",playerid);
  8484. SaltosBici[playerid] = 3;
  8485. }
  8486. else if(SaltosBici[playerid] == 3) SaltosBici[playerid] = 1;
  8487. }
  8488. return 1;
  8489. }
  8490. //====================================================================================
  8491. forward Listo(playerid);
  8492. public Listo(playerid)
  8493. {
  8494. UsarCMD[playerid] = 0;
  8495. SendClientMessage(playerid, COLOR_YELLOW,"Ya puedes usar cmd premium de nuevo!");
  8496. return 0;
  8497. }
  8498.  
  8499. stock EsVehiculoOcupado(vehicleid)
  8500. {
  8501. for(new i=0; i<GetMaxPlayers(); i++) if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER) return 1;
  8502. return 0;
  8503. }
  8504.  
  8505. stock RangeBan(playerid)
  8506. {
  8507. new pos, oldpos,tmp[128], ip[15], ip2[15];
  8508.  
  8509. GetPlayerIp(playerid, ip, sizeof(ip));
  8510.  
  8511. pos = strfind(ip, ".", true);
  8512. pos++;
  8513.  
  8514. for(new i = 0; i < pos; i++)
  8515. {
  8516. ip2[i] = ip[pos-pos+i];
  8517. }
  8518.  
  8519. pos--;
  8520.  
  8521. ip[pos] = ' ';
  8522.  
  8523. oldpos = pos;
  8524. oldpos++;
  8525.  
  8526. pos = strfind(ip, ".", true);
  8527. pos++;
  8528.  
  8529. for(new i = oldpos; i < pos; i++)
  8530. {
  8531. ip2[i] = ip[pos-pos+i];
  8532. }
  8533.  
  8534. format(ip2, sizeof(ip2), "%s*.*", ip2);
  8535. format(tmp, sizeof(tmp), "banip %s", ip2);
  8536. SendRconCommand(tmp);
  8537. SaveToRBan(ip2);
  8538. Kick(playerid);
  8539. return ip2;
  8540. }
  8541.  
  8542.  
  8543. stock SetPlayerVip(playerid)
  8544. {
  8545. if(PlayerInfo[playerid][LoggedIn] == 1)
  8546. {
  8547. new SuScore;
  8548. SuScore=GetPlayerScore(playerid);
  8549.  
  8550. if(10000 < SuScore >= 5000)
  8551. {
  8552. if(PlayerInfo[playerid][pVip] < 5)
  8553. {
  8554. GameTextPlayer(playerid,"Promoted a Elite", 2000, 3);
  8555. dUserSetINT(PlayerName2(playerid)).("AccountType",(5));
  8556. PlayerInfo[playerid][pVip] = 5;
  8557. SendClientMessage(playerid,COLOR_GREEN,"Tu Cuenta Vip Actual Es: Cuenta Vip 3L1T3");
  8558. }
  8559. return 1;
  8560. }
  8561. else if(5000 < SuScore >= 3100 )
  8562. {
  8563. if(PlayerInfo[playerid][pVip] < 4)
  8564. {
  8565. GameTextPlayer(playerid,"Promoted a platinum", 2000, 3);
  8566. dUserSetINT(PlayerName2(playerid)).("AccountType",(4));
  8567. PlayerInfo[playerid][pVip] = 4;
  8568. SendClientMessage(playerid,COLOR_GREEN,"Tu Cuenta Vip Actual Es: Cuenta Vip Platinum");
  8569. }
  8570. return 1;
  8571. }
  8572. else if(2500 < SuScore >= 2000 )
  8573. {
  8574. if(PlayerInfo[playerid][pVip] < 3)
  8575. {
  8576. GameTextPlayer(playerid,"Promoted a premium", 2000, 3);
  8577. dUserSetINT(PlayerName2(playerid)).("AccountType",(3));
  8578. PlayerInfo[playerid][pVip] = 3;
  8579. SendClientMessage(playerid,COLOR_GREEN,"Tu Cuenta Vip Actual Es: Cuenta Vip Premium");
  8580. }
  8581. return 1;
  8582. }
  8583. else if(1000 < SuScore >= 1000 )
  8584. {
  8585. if(PlayerInfo[playerid][pVip] < 2)
  8586. {
  8587. GameTextPlayer(playerid,"Promoted a gold", 2000, 3);
  8588. dUserSetINT(PlayerName2(playerid)).("AccountType",(2));
  8589. PlayerInfo[playerid][pVip] = 2;
  8590. SendClientMessage(playerid,COLOR_GREEN,"Tu Cuenta Vip Actual Es: Cuenta Vip Gold");
  8591. }
  8592. return 1;
  8593. }
  8594. else if(SuScore >= 500 )
  8595. {
  8596. if(PlayerInfo[playerid][pVip] < 1)
  8597. {
  8598. GameTextPlayer(playerid,"Promoted a silver", 2000, 3);
  8599. dUserSetINT(PlayerName2(playerid)).("AccountType",(1));
  8600. PlayerInfo[playerid][pVip] = 1;
  8601. SendClientMessage(playerid,COLOR_GREEN,"Tu Cuenta Vip Actual Es: Cuenta Vip Silver");
  8602. }
  8603. return 1;
  8604. }
  8605. }
  8606. return 1;
  8607. }
  8608. stock IsValidName(string[])
  8609. {
  8610. for(new i = 0, j = strlen(string); i < j; i++)
  8611. {
  8612. switch(string[i])
  8613. {
  8614. case '0' .. '9': continue;
  8615. case 'a' .. 'z': continue;
  8616. case 'A' .. 'Z': continue;
  8617. case '_': continue;
  8618. case '$': continue;
  8619. case '.': continue;
  8620. case '=': continue;
  8621. case '(': continue;
  8622. case ')': continue;
  8623. case '[': continue;
  8624. case ']': continue;
  8625. default: return 0;
  8626. }
  8627. }
  8628. return 1;
  8629. }
  8630. stock IsValidAnnounce(string[])
  8631. {
  8632. for(new i = 0, j = strlen(string); i < j; i++)
  8633. {
  8634. switch(string[i])
  8635. {
  8636. case '0' .. '9': continue;
  8637. case 'a' .. 'z': continue;
  8638. case 'A' .. 'Z': continue;
  8639. case '_': continue;
  8640. case '-': continue;
  8641. case '$': continue;
  8642. case '.': continue;
  8643. case '>': continue;
  8644. case '<': continue;
  8645. case '=': continue;
  8646. case '(': continue;
  8647. case ')': continue;
  8648. case '[': continue;
  8649. case ']': continue;
  8650. case '/': continue;
  8651. case '?': continue;
  8652. case '!': continue;
  8653. case ' ': continue;
  8654. case ':': continue;
  8655. case ';': continue;
  8656. case 'á': continue;
  8657. case 'Á': continue;
  8658. case 'é': continue;
  8659. case 'É': continue;
  8660. case 'í': continue;
  8661. case 'Í': continue;
  8662. case 'ó': continue;
  8663. case 'Ó': continue;
  8664. case 'ú': continue;
  8665. case 'Ú': continue;
  8666. case 'ñ': continue;
  8667. case 'Ñ': continue;
  8668. default: return 0;
  8669. }
  8670. }
  8671. return 1;
  8672. }
  8673. stock Desbug(string[])
  8674. {
  8675. new szFixed[1024], iPos, iLen;
  8676. for (iLen = strlen(string); iPos < iLen; iPos ++)
  8677. {
  8678. switch (string[iPos])
  8679. {
  8680. case 'á': szFixed[iPos] = 152;
  8681. case 'Á': szFixed[iPos] = 129;
  8682. case 'é': szFixed[iPos] = 158;
  8683. case 'É': szFixed[iPos] = 135;
  8684. case 'í': szFixed[iPos] = 162;
  8685. case 'Í': szFixed[iPos] = 139;
  8686. case 'ó': szFixed[iPos] = 166;
  8687. case 'Ó': szFixed[iPos] = 143;
  8688. case 'ú': szFixed[iPos] = 170;
  8689. case 'Ú': szFixed[iPos] = 147;
  8690. case 'ñ': szFixed[iPos] = 174;
  8691. case 'Ñ': szFixed[iPos] = 173;
  8692. default: szFixed[iPos] = string[iPos];
  8693. }
  8694. }
  8695. return szFixed;
  8696. }
  8697. stock GameTextAll(texto[], time, style)
  8698. {
  8699. GameTextForAll(Desbug(texto),time,style);
  8700. return 1;
  8701. }
  8702. stock GameTextPlayer(playerid,texto[], time, style)
  8703. {
  8704. GameTextForPlayer(playerid,Desbug(texto),time,style);
  8705. return 1;
  8706. }
  8707. stock EstaEnCuadrado(playerid, Float:xmin, Float:ymin, Float:xmax, Float:ymax)
  8708. {
  8709. new Float:x, Float:y, Float:z;
  8710. GetPlayerPos(playerid, x, y, z);
  8711.  
  8712. if(x > xmin && x < xmax && y > ymin && y < ymax) return 1;
  8713. return 0;
  8714. }
  8715. stock GetNumberOfPlayersOnThisIP(test_ip[])
  8716. {
  8717. new against_ip[32+1];
  8718. new x = 0;
  8719. new ip_count = 0;
  8720. for(x=0; x<MAX_PLAYERS; x++) {
  8721. if(IsPlayerConnected(x)) {
  8722. GetPlayerIp(x,against_ip,32);
  8723. if(!strcmp(against_ip,test_ip)) ip_count++;
  8724. }
  8725. }
  8726. return ip_count;
  8727. }
  8728.  
  8729. stock IsPlayerFlooding(playerid)
  8730. {
  8731. if(GetTickCount() - iPlayerChatTime[playerid] < 3000)
  8732. return 1;
  8733.  
  8734. return 0;
  8735. }
  8736.  
  8737.  
  8738. stock crashear(playerid)
  8739. {
  8740. ApplyAnimation(playerid,"Fuck", "M_smkasdf_loop_", 4.0, 1, 0, 0, 0, 0);
  8741. ApplyAnimation(playerid,"Crashea", "M_sasfloop_", 4.0, 1, 0, 0, 0, 0);
  8742. ApplyAnimation(playerid,"PorFavor", "sdgsdf_", 4.0, 1, 0, 0, 0, 0);
  8743. GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 1000, 0);
  8744. GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 2000, 1);
  8745. GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 3000, 2);
  8746. GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 4000, 3);
  8747. GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 5000, 4);
  8748. GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 6000, 5);
  8749. GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 7000, 6);
  8750. ApplyAnimation(playerid,"jejesicrasheaxD", "M_smkleafds_", 4.0, 1, 0, 0, 0, 0);
  8751. }
  8752.  
  8753. stock DetectarSpam(SPAM[])
  8754. {
  8755.  
  8756. new SSPAM;
  8757. new CUENTAP,CUENTAN,CUENTADP,CUENTAGB;
  8758. for(SSPAM = 0; SSPAM < strlen(SPAM); SSPAM ++)
  8759. {
  8760. if(SPAM[SSPAM] == '.') CUENTAP ++;
  8761. if(SPAM[SSPAM] == '0' || SPAM[SSPAM] == '1' || SPAM[SSPAM] == '2' || SPAM[SSPAM] == '3' || SPAM[SSPAM] == '4' || SPAM[SSPAM] == '5' || SPAM[SSPAM] == '6' || SPAM[SSPAM] == '7' || SPAM[SSPAM] == '8' || SPAM[SSPAM] == '9') CUENTAN ++; //Cuenta los Numeros
  8762. if(SPAM[SSPAM] == ':') CUENTADP ++;
  8763. if(SPAM[SSPAM] == '_') CUENTAGB ++;
  8764. }
  8765. if(CUENTAP >= 2 && CUENTAN >= 5) return 1;
  8766. if(CUENTAGB >= 2 && CUENTAN >= 5) return 1;
  8767. if(CUENTADP >= 1 && CUENTAN >= 4) return 1;
  8768. if(CUENTAN >= 8) return 1;
  8769. if(strfind(SPAM, ".com", true) != -1 || strfind(SPAM, ".com.ar", true) != -1 || strfind(SPAM, ".org", true) != -1 || strfind(SPAM, ".net", true) != -1 || strfind(SPAM, ".es", true) != -1 || strfind(SPAM, ".tk", true) != -1) return 1;
  8770. return 0;
  8771. }
  8772.  
  8773. stock NickSpam(SPAM[])
  8774. {
  8775.  
  8776. new SSPAM;
  8777. new CUENTAP,CUENTAN,CUENTAGB;
  8778. for(SSPAM = 0; SSPAM < strlen(SPAM); SSPAM ++)
  8779. {
  8780. if(SPAM[SSPAM] == '.') CUENTAP ++;
  8781. if(SPAM[SSPAM] == '0' || SPAM[SSPAM] == '1' || SPAM[SSPAM] == '2' || SPAM[SSPAM] == '3' || SPAM[SSPAM] == '4' || SPAM[SSPAM] == '5' || SPAM[SSPAM] == '6' || SPAM[SSPAM] == '7' || SPAM[SSPAM] == '8' || SPAM[SSPAM] == '9') CUENTAN ++; //Cuenta los Numeros
  8782. if(SPAM[SSPAM] == '_') CUENTAGB ++;
  8783. }
  8784. if(CUENTAP >= 3 && CUENTAN >= 7) return 1;
  8785. if(CUENTAGB >= 1 && CUENTAN >= 7) return 1;
  8786. if((strfind(SPAM, ".com", true) != -1 || strfind(SPAM, ".com.ar", true) != -1 || strfind(SPAM, ".org", true) != -1 || strfind(SPAM, ".net", true) != -1 || strfind(SPAM, ".es", true) != -1 || strfind(SPAM, ".tk", true) != -1) && CUENTAN >= 4 ) return 1;
  8787. return 0;
  8788. }
  8789.  
  8790. stock CambiarNickNoob(playerid)
  8791. {
  8792. new nickname=random(15);
  8793. if (nickname==0) { SetPlayerName(playerid, "Naber");}
  8794. else if (nickname==1) { SetPlayerName(playerid, "Nobato");}
  8795. else if (nickname==2) { SetPlayerName(playerid, "Noob");}
  8796. else if (nickname==3) { SetPlayerName(playerid, "asdasd");}
  8797. else if (nickname==4) { SetPlayerName(playerid, "SuperGay");}
  8798. else if (nickname==5) { SetPlayerName(playerid, "ADReNaLiNa_PrO");}
  8799. else if (nickname==6) { SetPlayerName(playerid, "gta_san_andreas");}
  8800. else if (nickname==7) { SetPlayerName(playerid, "Nuevo");}
  8801. else if (nickname==8) { SetPlayerName(playerid, "Usuario");}
  8802. else if (nickname==9) { SetPlayerName(playerid, "Bienvenido");}
  8803. else if (nickname==10) { SetPlayerName(playerid, "PRO_ADRENALINA_FULL");}
  8804. else if (nickname==11) { SetPlayerName(playerid, "ADRENALINA_FULL_PRO");}
  8805. else if (nickname==12) { SetPlayerName(playerid, "gta_sa.exe");}
  8806. else if (nickname==13) { SetPlayerName(playerid, "samp.exe");}
  8807. else if (nickname==14) { SetPlayerName(playerid, "justin");}
  8808. }
  8809.  
  8810. stock KickearFree(playerid)
  8811. {
  8812. format(string2,sizeof(string2),"%s ha sido kickeado del server. (Razon: Posible FreeScore)", PlayerName2(playerid));
  8813. SendClientMessageToAll(grey,string2);
  8814. SaveToFile("KickLog",string2);
  8815. Kick( playerid );
  8816. }
  8817.  
  8818. iswheelmodel(modelid) {
  8819. new wheelmodels[17] = {1025,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1096,1097,1098};
  8820. for(new wm; wm < sizeof(wheelmodels); wm++) {
  8821. if (modelid == wheelmodels[wm])
  8822. return true;
  8823. }
  8824. return false;
  8825. }
  8826.  
  8827. IllegalCarNitroIde(carmodel) {
  8828. new illegalvehs[29] = { 581, 523, 462, 521, 463, 522, 461, 448, 468, 586, 509, 481, 510, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454, 590, 569, 537, 538, 570, 449 };
  8829. for(new iv; iv < sizeof(illegalvehs); iv++) {
  8830. if (carmodel == illegalvehs[iv])
  8831. return true;
  8832. }
  8833. return false;
  8834. }
  8835.  
  8836. stock islegalcarmod(vehicleide, componentid) {
  8837. new modok = false;
  8838. if ( (iswheelmodel(componentid)) || (componentid == 1086) || (componentid == 1087) || ((componentid >= 1008) && (componentid <= 1010))) {
  8839. new nosblocker = IllegalCarNitroIde(vehicleide);
  8840. if (!nosblocker)
  8841. modok = true;
  8842. } else {
  8843. for(new lm; lm < sizeof(legalmods); lm++) {
  8844. if (legalmods[lm][0] == vehicleide) {
  8845. for(new J = 1; J < 22; J++) {
  8846. if (legalmods[lm][J] == componentid)
  8847. modok = true;
  8848. }
  8849. }
  8850. }
  8851. }
  8852. return modok;
  8853. }
Add Comment
Please, Sign In to add comment