Advertisement
NelsonCoutinho

Sistema Admin 0.2

Oct 20th, 2016
368
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.97 KB | None | 0 0
  1. // Sistema Criado por Smokiie_Gamer
  2. // PS: Fassa Salvamento do Sistema Admin, conforme seu Registro.
  3. //==========================================================================================//
  4. #include <a_samp>
  5. #include <zcmd>
  6. #include <sscanf2>
  7. #include <DOF2>
  8. //==========================================================================================//
  9. #define PASTA_CONTAS "Contas/%s.ini"// Coloque na sua pasta.
  10. #define DIALOG_LOGAR_ADM 1
  11. #define DIALOG_BANIDO 2
  12. //==========================================================================================//
  13. #define SendClientFormat(%0,%1,%2,%3); format(String, sizeof(String), %2, %3); SendClientMessage(%0, %1, String);
  14. #define SendClientFormatToAll(%0,%1,%2); format(String, sizeof(String), %1, %2); SendClientMessageToAll(%0, String);
  15. #define KickEx(%0) SetTimerEx("Kicka", 100, false, "i", %0)
  16. forward Kicka(p);
  17. //==========================================================================================//
  18. enum pInfo
  19. {
  20. Admin
  21. }
  22. //==========================================================================================//
  23. new Jogador[MAX_PLAYERS][pInfo];
  24. new String[100];
  25. new StringContas[100];
  26. new StringBanidos[100];
  27. new Dia, Mes, Ano, Hora, Minuto, Segundo;
  28. new InVehicleAdm[MAX_PLAYERS] = 0;
  29. new Text3D: criarcText[MAX_PLAYERS];
  30. new DestruirText;
  31. new
  32. Text:TextCnn;
  33.  
  34. new NomeCarro[212][]=
  35. {
  36. "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch",
  37. "Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington",
  38. "Bobcat","MrWhoopee","BFInjection","Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino",
  39. "Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion","Rumpo","RCBandit","Romero","Packer","Monster",
  40. "Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee",
  41. "Caddy","Solair","Berkley'sRCVan","Skimmer","PCJ-600","Faggio","Freeway","RCBaron","RCRaider","Glendale","Oceanic",
  42. "Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR350","Walton","Regina","Comet",
  43. "BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","newsChopper","Rancher","FBIRancher","Virgo","Greenwood",
  44. "Jetmax","Hotring","Sandking","BlistaCompact","PoliceMaverick","Boxville","Benson","Mesa","RCGoblin","HotringRacer",
  45. "HotringRacer","BloodringBanger","Rancher","SuperGT","Elegant","Journey","Bike","MountainBike","Beagle","Cropdust",
  46. "Stunt","Tanker","RoadTrain","Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","CementTruck",
  47. "TowTruck","Fortune","Cadrona","FBITruck","Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan",
  48. "Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo",
  49. "Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster","Monster","Uranus","Jester",
  50. "Sultan","Stratum","Elegy","Raindance","RCTiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer","Kart","Mower",
  51. "Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","newsvan","Tug","Trailer",
  52. "Emperor","Wayfarer","Euros","Hotdog","Club","Trailer","Trailer","Andromada","Dodo","RCCam","Launch","PoliceCar(LSPD)",
  53. "PoliceCar(SFPD)","PoliceCar(LVPD)","PoliceRanger","Picador","S.W.A.T.Van","Alpha","Phoenix","Glendale","Sadler",
  54. "LuggageTrailer","LuggageTrailer","StairTrailer","Boxville","FarmPlow","UtilityTrailer"
  55. };
  56. //==========================================================================================//
  57. #define VERMELHO 0xFF0000FF
  58. #define GOLD 0xFFD700FF
  59. #define AZUL 0x1E90FFFF
  60. //==========================================================================================//
  61. #if defined FILTERSCRIPT
  62.  
  63. public OnFilterScriptInit()
  64. {
  65. print("\n--------------------------------------");
  66. print(" Sistema Criado por Smokiie_Gamer");
  67. print("--------------------------------------\n");
  68. return 1;
  69. }
  70. #endif
  71. public OnFilterScriptExit()
  72. {
  73. DOF2_Exit();
  74. return 1;
  75. }
  76.  
  77. public OnPlayerConnect(playerid)
  78. {
  79. if(DOF2_FileExists(StringBanidos))
  80. {
  81. SendClientFormatToAll(VERMELHO, "O(A) Administrador(a) Guardiao kickou o(a) jogador(a) %s ( Motivo: Banido )", Nome(playerid));
  82. new StringCat[1000];
  83. strcat(StringCat, "{FFFFFF}Você está banido deste servidor!\n\n");
  84. strcat(StringCat, " Seguem os Dados:\n\n");
  85. format(String, sizeof(String), "{FF0000}Nick: {FFFFFF}%s\n", Nome(playerid)); strcat(StringCat, String);
  86. format(String, sizeof(String), "{FF0000}Admin Responsável: {FFFFFF}%s\n", DOF2_GetString(StringBanidos, "Admin")); strcat(StringCat, String);
  87. format(String, sizeof(String), "{FF0000}Motivo: {FFFFFF}%s\n", DOF2_GetString(StringBanidos, "Motivo")); strcat(StringCat, String);
  88. format(String, sizeof(String), "{FF0000}Data: {FFFFFF}%d/%d/%d\n", DOF2_GetInt(StringBanidos, "Dia"), DOF2_GetInt(StringBanidos, "Mês"), DOF2_GetInt(StringBanidos, "Ano")); strcat(StringCat, String);
  89. format(String, sizeof(String), "{FF0000}Hora: {FFFFFF}%d:%d\n\n", DOF2_GetInt(StringBanidos, "Hora"), DOF2_GetInt(StringBanidos, "Minuto")); strcat(StringCat, String);
  90. strcat(StringCat, "{FFFFFF}Se isto foi um engano acesse a {00FF00}SeuSite.com\n");// Coloque sue site
  91. strcat(StringCat, "{FFFFFF}e faça sua revisão em banidos seguindo as regras");
  92. ShowPlayerDialog(playerid, DIALOG_BANIDO, DIALOG_STYLE_MSGBOX, "{FF0000}Banido", StringCat, "Fechar", "");
  93. KickEx(playerid);
  94. return 1;
  95. }
  96. return 1;
  97. }
  98.  
  99. public OnPlayerRequestClass(playerid, classid)
  100. {
  101. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  102. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  103. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  104. return 1;
  105. }
  106.  
  107. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  108. {
  109. if(dialogid == DIALOG_LOGAR_ADM)
  110. {
  111. if(response)
  112. {
  113. format(StringContas, sizeof(StringContas), PASTA_CONTAS, Nome(playerid));
  114. if(!strlen(inputtext))
  115. {
  116. ShowPlayerDialog(playerid, DIALOG_LOGAR_ADM, DIALOG_STYLE_PASSWORD, "{00FF00}Logar Adm", "{FFFFFF}Digite sua Senha !\n", "Continuar", "Cancelar");
  117. SendClientMessage(playerid, VERMELHO, "Digite uma senha!");
  118. return 1;
  119. }
  120. if(strlen(inputtext) < 4)
  121. {
  122. ShowPlayerDialog(playerid, DIALOG_LOGAR_ADM, DIALOG_STYLE_PASSWORD, "{00FF00}Logar Adm", "{FFFFFF}Digite sua Senha !\n", "Continuar", "Cancelar");
  123. SendClientMessage(playerid, VERMELHO, "Digite uma senha!");
  124. return 1;
  125. }
  126. if(strcmp(DOF2_GetString("SenhaAdmin.ini", "SenhaAdmin"), inputtext, true) == 0)// Crie 1 Bloco de notas com o Nome SenhaAdmin e guarde como .ini
  127. {
  128. Jogador[playerid][Admin] = DOF2_GetInt(StringContas, "Admin");
  129. SendClientFormat(playerid, GOLD, "Você logou na administração com sucesso! Logado como nível %d", Jogador[playerid][Admin]);
  130. return 1;
  131. }
  132. else
  133. {
  134. ShowPlayerDialog(playerid, DIALOG_LOGAR_ADM, DIALOG_STYLE_PASSWORD, "{00FF00}Logar Adm", "{FFFFFF}Digite sua Senha !\n", "Continuar", "Cancelar");
  135. SendClientMessage(playerid, VERMELHO, "Senha incorreta!");
  136. return 1;
  137. }
  138. }
  139. }
  140. return 1;
  141. }
  142.  
  143.  
  144. CMD:setaradmin(playerid, params[])
  145. {
  146. new ID;
  147. new Nivel;
  148. if(!IsPlayerAdmin(playerid)) return 0;
  149. if(sscanf(params, "ud", ID, Nivel)) return SendClientMessage(playerid, VERMELHO, "Use: /setaradmin (id) (Nivel)");
  150. if(Nivel < 0 || Nivel > 4) return SendClientMessage(playerid, VERMELHO, "Nivel invalido! Use de 0 a 4");
  151. format(StringContas, sizeof(StringContas), PASTA_CONTAS, Nome(ID));
  152. DOF2_SetInt(StringContas, "Admin", Nivel);
  153. Jogador[ID][Admin] = 0;
  154. DOF2_SaveFile();
  155. if(Nivel == (1))
  156. {
  157. SendClientFormat(playerid, GOLD, "Você deu o cargo de Ajudante para o(a) jogador(a) %s[%d].", Nome(ID), ID);
  158. SendClientFormat(ID, GOLD, "O(A) Staff %s deu o cargo de Ajudante para você.", Nome(playerid), playerid);
  159. format(String, sizeof(String), "O(A) Staff %s deu o cargo de Ajudante para o %s", Nome(playerid), Nome(ID));
  160. }
  161. if(Nivel == (2))
  162. {
  163. SendClientFormat(playerid, GOLD, "Você deu o cargo de Moderador(a) para o(a) jogador(a) %s[%d].", Nome(ID), ID);
  164. SendClientFormat(ID, GOLD, "O(A) Staff %s deu o cargo de Moderador(a) para você.", Nome(playerid), playerid);
  165. format(String, sizeof(String), "O Staff %s deu o cargo de Moderador para o %s", Nome(playerid), Nome(ID));
  166. }
  167. if(Nivel == (3))
  168. {
  169. SendClientFormat(playerid, GOLD, "Você deu o cargo de Administrador(a) para o(a) jogador(a) %s[%d].", Nome(ID), ID);
  170. SendClientFormat(ID, GOLD, "O(A) Staff %s deu o cargo de Administrador(a) para você.", Nome(playerid), playerid);
  171. format(String, sizeof(String), "O Staff %s deu o cargo de Administrador para o %s", Nome(playerid), Nome(ID));
  172. }
  173. if(Nivel == (4))
  174. {
  175. SendClientFormat(playerid, GOLD, "Você deu o cargo de Staff para o(a) jogador(a) %s[%d].", Nome(ID), ID);
  176. SendClientFormat(ID, GOLD, "O(A) Staff %s deu o cargo de Staff para você.", Nome(playerid), playerid);
  177. format(String, sizeof(String), "O Staff %s deu o cargo de Staff para o %s", Nome(playerid), Nome(ID));
  178. }
  179. return 1;
  180. }
  181.  
  182. CMD:logaradm(playerid)
  183. {
  184. if(Jogador[playerid][Admin] < 1)
  185. {
  186. format(StringContas, sizeof(StringContas), PASTA_CONTAS, Nome(playerid));
  187. if(DOF2_GetInt(StringContas, "Admin") > 0)
  188. {
  189. ShowPlayerDialog(playerid, DIALOG_LOGAR_ADM, DIALOG_STYLE_PASSWORD, "{00FF00}Logar Adm", "{FFFFFF}Digite a senha que está nos tópicos invisíveis\n do fórum:\n", "Continuar", "Cancelar");
  190. }
  191. else SendClientMessage(playerid, VERMELHO, "Você não é um administrador!");
  192. return 1;
  193. }
  194. else SendClientMessage(playerid, VERMELHO, "Você já está logado como adm!");
  195. return 1;
  196. }
  197. CMD:ir(playerid, params[])
  198. {
  199. new Float: X, Float: Y, Float: Z, ID;
  200. if(Jogador[playerid][Admin] > 0)
  201. {
  202. if(sscanf(params, "d", ID)) return SendClientMessage(playerid, VERMELHO, "Use: /ir (id)");
  203. if(IsPlayerConnected(ID))
  204. {
  205. GetPlayerPos(ID, X, Y, Z);
  206. SetPlayerInterior(playerid, GetPlayerInterior(ID));
  207. SetPlayerPos(playerid, X+2, Y+2, Z);
  208. if(Jogador[playerid][Admin] == 1)
  209. {
  210. SendClientFormat(ID, GOLD, "O(A) Ajudante %s foi até à sua posição!", Nome(playerid));
  211. SendClientFormat(playerid, GOLD, "Você foi até à posição do(a) jogador(a) %s[%i].", Nome(ID), ID);
  212. format(String, sizeof(String), "O(A) Ajudante %s foi até à posição do jogador %s.", Nome(playerid), Nome(ID));
  213. }
  214. if(Jogador[playerid][Admin] == 2)
  215. {
  216. SendClientFormat(ID, GOLD, "O(A) Moderador(a) %s foi até à sua posição!", Nome(playerid));
  217. SendClientFormat(playerid, GOLD, "Você foi até à posição do(a) jogador(a) %s[%i].", Nome(ID), ID);
  218. format(String, sizeof(String), "O(A) Moderador(a) %s foi até à posição do jogador %s.", Nome(playerid), Nome(ID));
  219. }
  220. if(Jogador[playerid][Admin] == 3)
  221. {
  222. SendClientFormat(ID, GOLD, "O(A) Administrador(a) %s foi até à sua posição!", Nome(playerid));
  223. SendClientFormat(playerid, GOLD, "Você foi até à posição do(a) jogador(a) %s[%i].", Nome(ID), ID);
  224. format(String, sizeof(String), "O(A) Administrador(a) %s foi até à posição do jogador %s.", Nome(playerid), Nome(ID));
  225. }
  226. if(Jogador[playerid][Admin] == 4)
  227. {
  228. SendClientFormat(ID, GOLD, "O(A) Staff %s foi até à sua posição!", Nome(playerid));
  229. SendClientFormat(playerid, GOLD, "Você foi até à posição do(a) jogador(a) %s[%i].", Nome(ID), ID);
  230. format(String, sizeof(String), "O(A) Staff %s foi até à posição do jogador %s.", Nome(playerid), Nome(ID));
  231. }
  232. return 1;
  233. }
  234. else SendClientMessage(playerid, VERMELHO, "Jogador não conectado!");
  235. return 1;
  236. }
  237. else SendClientMessage(playerid, VERMELHO, "Você não tem permissão!");
  238. return 1;
  239. }
  240. CMD:trazer(playerid, params[])
  241. {
  242. new
  243. Float: X,
  244. Float: Y,
  245. Float: Z,
  246. ID;
  247. if(Jogador[playerid][Admin] > 0)
  248. {
  249. if(sscanf(params, "d", ID)) return SendClientMessage(playerid, VERMELHO, "Use: /trazer (id)");
  250. if(IsPlayerConnected(ID))
  251. {
  252. GetPlayerPos(playerid, X, Y, Z);
  253. SetPlayerInterior(ID, GetPlayerInterior(playerid));
  254. SetPlayerPos(ID, X+2, Y+2, Z);
  255. if(Jogador[playerid][Admin] == 1)
  256. {
  257. SendClientFormat(ID, GOLD, "O(A) Ajudante %s trouxe você até ele!", Nome(playerid));
  258. SendClientFormat(playerid, GOLD, "Você trouxe o(a) jogador(a) %s[%i].", Nome(ID), ID);
  259. format(String, sizeof(String), "O(A) Ajudante %s trouxe o jogador %s até ele.", Nome(playerid), Nome(ID));
  260. }
  261. if(Jogador[playerid][Admin] == 2)
  262. {
  263. SendClientFormat(ID, GOLD, "O(A) Moderador(a) %s trouxe você até ele!", Nome(playerid));
  264. SendClientFormat(playerid, GOLD, "Você trouxe o(a) jogador(a) %s[%i].", Nome(ID), ID);
  265. format(String, sizeof(String), "O(A) Moderador(a) %s trouxe o jogador %s até ele.", Nome(playerid), Nome(ID));
  266. }
  267. if(Jogador[playerid][Admin] == 3)
  268. {
  269. SendClientFormat(ID, GOLD, "O(A) Administrador(a) %s trouxe você até ele!", Nome(playerid));
  270. SendClientFormat(playerid, GOLD, "Você trouxe o(a) jogador(a) %s[%i].", Nome(ID), ID);
  271. format(String, sizeof(String), "O(A) Administrador(a) %s trouxe o jogador %s até ele.", Nome(playerid), Nome(ID));
  272. }
  273. if(Jogador[playerid][Admin] == 4)
  274. {
  275. SendClientFormat(ID, GOLD, "O(A) Staff %s trouxe você até ele!", Nome(playerid));
  276. SendClientFormat(playerid, GOLD, "Você trouxe o(a) jogador(a) %s[%i].", Nome(ID), ID);
  277. format(String, sizeof(String), "O(A) Staff %s trouxe o jogador %s até ele.", Nome(playerid), Nome(ID));
  278. }
  279. return 1;
  280. }
  281. else SendClientMessage(playerid, VERMELHO, "Jogador não conectado!");
  282. return 1;
  283. }
  284. else SendClientMessage(playerid, VERMELHO, "Você não tem permissão!");
  285. return 1;
  286. }
  287. CMD:ban(playerid, params[])
  288. {
  289. new ID;
  290. new motivo[15];
  291. if(Jogador[playerid][Admin] >= 3)
  292. {
  293. if(sscanf(params, "us", ID, motivo)) return SendClientMessage(playerid, VERMELHO, "Use: /ban (id) (Motivo)");
  294. if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, VERMELHO, "Jogador não conectado!");
  295. if(Jogador[playerid][Admin] == 3)
  296. {
  297. SendClientFormatToAll(VERMELHO, "O(A) Administrador(a) %s baniu o(a) jogador(a) %s ( Motivo: %s )", Nome(playerid), Nome(ID), motivo);
  298. }
  299. if(Jogador[playerid][Admin] == 4)
  300. {
  301. SendClientFormatToAll(VERMELHO, "O(A) Staff %s baniu o(a) jogador(a) %s ( Motivo: %s )", Nome(playerid), Nome(ID), motivo);
  302. }
  303. format(StringContas, sizeof(StringContas), "Banidos/%s.ini", Nome(ID));
  304. getdate(Ano, Mes, Dia);
  305. gettime(Hora, Minuto, Segundo);
  306. DOF2_CreateFile(StringContas);
  307. DOF2_SetString(StringContas, "Admin", Nome(playerid));// Irá Criar Quem Baniu / Motivo / Dia / Mes / Ano / Hora / Minuto / etc...
  308. DOF2_SetString(StringContas, "Motivo", motivo);
  309. DOF2_SetInt(StringContas, "Dia", Dia);
  310. DOF2_SetInt(StringContas, "Mês", Mes);
  311. DOF2_SetInt(StringContas, "Ano", Ano);
  312. DOF2_SetInt(StringContas, "Hora", Hora);
  313. DOF2_SetInt(StringContas, "Minuto", Minuto);
  314. DOF2_SaveFile();
  315. KickEx(ID);
  316. }
  317. else
  318. {
  319. SendClientMessage(playerid, VERMELHO, "Você não tem permissão!");
  320. return 1;
  321. }
  322. return 1;
  323. }
  324.  
  325. CMD:kick(playerid, params[])
  326. {
  327. new
  328. ID,
  329. Motivo[80];
  330. if(Jogador[playerid][Admin] > 0)
  331. {
  332. if(sscanf(params, "us", ID, Motivo)) return SendClientMessage(playerid, VERMELHO, "Use: /Kick (id) (Motivo)");
  333. if(IsPlayerConnected(ID))
  334. {
  335. if(Jogador[playerid][Admin] == 1)
  336. {
  337. SendClientFormatToAll(VERMELHO, "O(A) Ajudante %s kickou o(a) jogador(a) %s ( Motivo: %s )", Nome(playerid), Nome(ID), Motivo);
  338. }
  339. if(Jogador[playerid][Admin] == 2)
  340. {
  341. SendClientFormatToAll(VERMELHO, "O(A) Moderador(a) %s kickou o(a) jogador(a) %s ( Motivo: %s )", Nome(playerid), Nome(ID), Motivo);
  342. }
  343. if(Jogador[playerid][Admin] == 3)
  344. {
  345. SendClientFormatToAll(VERMELHO, "O(A) Administrador(a) %s kickou o(a) jogador(a) %s ( Motivo: %s )", Nome(playerid), Nome(ID), Motivo);
  346. }
  347. if(Jogador[playerid][Admin] == 4)
  348. {
  349. SendClientFormatToAll(VERMELHO, "O(A) Staff %s kickou o(a) jogador(a) %s ( Motivo: %s )", Nome(playerid), Nome(ID), Motivo);
  350. }
  351. KickEx(ID);
  352. }
  353. else SendClientMessage(playerid, VERMELHO, "Jogador não conectado!");
  354. return 1;
  355. }
  356. else SendClientMessage(playerid, VERMELHO, "Você não tem permissão!");
  357. return 1;
  358. }
  359. CMD:desbanir(playerid, params[])
  360. {
  361. new Nick[128];
  362. if(Jogador[playerid][Admin] >= 2)
  363. {
  364. if(sscanf(params, "s", Nick)) return SendClientMessage(playerid, VERMELHO, "Use: /desbanir (Nick)");
  365. format(StringBanidos, sizeof(StringBanidos), "Banidos/%s.ini", Nick);
  366. if(DOF2_FileExists(StringBanidos))
  367. {
  368. DOF2_RemoveFile(StringBanidos);
  369. if(Jogador[playerid][Admin] == 2)
  370. {
  371. SendClientFormatToAll(VERMELHO, "O(A) Moderador(a) %s desbaniu o(a) jogador(a) %s", Nome(playerid), Nick);
  372. }
  373. if(Jogador[playerid][Admin] == 3)
  374. {
  375. SendClientFormatToAll(VERMELHO, "O(A) Administrador %s desbaniu o(a) jogador(a) %s", Nome(playerid), Nick);
  376. }
  377. if(Jogador[playerid][Admin] == 4)
  378. {
  379. SendClientFormatToAll(VERMELHO, "O(A) Staff %s desbaniu o(a) jogador(a) %s", Nome(playerid), Nick);
  380. }
  381. }
  382. else
  383. {
  384. SendClientMessage(playerid, VERMELHO, "Esse jogador não está banido!");
  385. }
  386. }
  387. else
  388. {
  389. SendClientMessage(playerid, VERMELHO, "Você não tem permissão!");
  390. return 1;
  391. }
  392. return 1;
  393. }
  394. CMD:a(playerid,params[])
  395. {
  396. new Texto[128];
  397. if(Jogador[playerid][Admin] >= 1)
  398. {
  399. if(sscanf(params, "s", Texto)) return SendClientMessage(playerid, VERMELHO, "Use: /a (Texto)");
  400. if(Jogador[playerid][Admin] == 1)
  401. {
  402. SendClientFormatToAll(AZUL, "* Ajudante %s: %s", Nome(playerid), Texto);
  403. }
  404. if(Jogador[playerid][Admin] == 2)
  405. {
  406. SendClientFormatToAll(AZUL, "* Moderador(a) %s: %s", Nome(playerid), Texto);
  407. }
  408. if(Jogador[playerid][Admin] == 3)
  409. {
  410. SendClientFormatToAll(AZUL, "* Administrador(a) %s: %s", Nome(playerid), Texto);
  411. }
  412. if(Jogador[playerid][Admin] == 4)
  413. {
  414. SendClientFormatToAll(AZUL, "* Staff %s: %s", Nome(playerid), Texto);
  415. }
  416. }
  417. else SendClientMessage(playerid, VERMELHO, "Você não tem permissão!");
  418. return 1;
  419. }
  420. CMD:cv(playerid, params[])
  421. {
  422. new
  423. Float: X,
  424. Float: Y,
  425. Float: Z,
  426. Float: Angulo,
  427. VeiculoAdm,
  428. str[128]
  429. ;
  430. if(Jogador[playerid][Admin] < 1) return SendClientMessage(playerid, VERMELHO, "Você não tem permissão!");
  431. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) return SendClientMessage(playerid, VERMELHO, "Você não pode criar um veículo enquanto estiver dirigindo!");
  432. new Veiculo[25];
  433. if(sscanf(params, "s", Veiculo)) return SendClientMessage(playerid, VERMELHO, "Use: /cv (nome-carro)");
  434. new bool:existe, VeiculoID;
  435. for(new r = 0;r < 212; r++)
  436. {
  437. if(!strcmp(Veiculo, NomeCarro[r],true))
  438. {
  439. existe = true;
  440. }
  441. if(!strcmp(Veiculo,NomeCarro[r],true)) VeiculoID = (r+400);
  442. }
  443. if(!existe) return SendClientMessage(playerid, VERMELHO, "Esse veículo não existe!");
  444. GetPlayerPos(playerid, X, Y, Z);
  445. GetPlayerFacingAngle(playerid, Angulo);
  446. VeiculoAdm = CreateVehicle(VeiculoID, X, Y, Z+1, Angulo, -1, -1, 99999999);
  447. PutPlayerInVehicle(playerid, VeiculoAdm, 0);
  448. InVehicleAdm[playerid] = 1;
  449. format(str, sizeof(str), "Veiculo Admin\n{ff8300}%s", Nome(playerid));
  450. criarcText[playerid] = Create3DTextLabel(str, -1, 0.0, 0.0, 0.0, 10.0, 0, 1);
  451. Attach3DTextLabelToVehicle(criarcText[playerid], VeiculoAdm, 0.0, 0.0, 1.0);
  452. SetVehicleNumberPlate(VeiculoAdm, "ADMIN");
  453. return 1;
  454. }
  455. CMD:cnn(playerid, params[])
  456. {
  457. if(Jogador[playerid][Admin] < 1) return SendClientMessage(playerid, VERMELHO, "Você não tem permissão!");
  458. new Anuncio[128],
  459. str[128];
  460. if(sscanf(params, "s", Anuncio)) return SendClientMessage(playerid, VERMELHO, "Use: /Cnn (mensagem)");
  461. if(strlen(Anuncio) > 100) return SendClientMessage(playerid, VERMELHO,"O máximo de caracteres permitido é 100");
  462. TextDrawHideForAll(TextCnn);
  463. KillTimer(DestruirText);
  464. format(str,sizeof(str),"~p~# ~b~~h~%s: ~w~%s ~p~#", Nome(playerid), Anuncio);
  465. TextDrawSetString(TextCnn, str);
  466. for(new i = 0; i < MAX_PLAYERS; i ++)
  467. {
  468. TextDrawShowForPlayer(i, TextCnn);
  469. }
  470. DestruirText = SetTimer("DestruirTextoDraw",5000, false);
  471. return true;
  472. }
  473.  
  474. CMD:ann(playerid, params[])
  475. {
  476. if(Jogador[playerid][Admin] < 2) return SendClientMessage(playerid, VERMELHO, "Você não tem permissão!");
  477. new Anuncio[128],
  478. str[128];
  479. if(sscanf(params, "s", Anuncio)) return SendClientMessage(playerid, VERMELHO, "Use: /Ann (mensagem)");
  480. if(strlen(Anuncio) > 100) return SendClientMessage(playerid, VERMELHO,"O máximo de caracteres permitido é 100");
  481. TextDrawHideForAll(TextCnn);
  482. KillTimer(DestruirText);
  483. format(str,sizeof(str),"~r~# ~w~%s ~r~#", Anuncio);
  484. TextDrawSetString(TextCnn, str);
  485. for(new i = 0; i < MAX_PLAYERS; i ++)
  486. {
  487. TextDrawShowForPlayer(i, TextCnn);
  488. }
  489. DestruirText = SetTimer("DestruirTextoDraw",5000, false);
  490. return true;
  491. }
  492. CMD:limparchat(playerid, params[]) return cmd_lc(playerid, params);
  493. CMD:lc(playerid, params[])
  494. {
  495. if(Jogador[playerid][Admin] >= 2)
  496. {
  497. for(new i = 0; i < MAX_PLAYERS; i++)
  498. {
  499. LimparChat(i, 100);
  500. }
  501. }
  502. else SendClientMessage(playerid, VERMELHO, "Você não tem permissão!");
  503. return 1;
  504. }
  505. //=======================================================================================================//
  506. stock Nome(playerid)
  507. {
  508. new name[MAX_PLAYER_NAME];
  509. GetPlayerName(playerid, name, sizeof(name));
  510. return name;
  511. }
  512. public Kicka(p)
  513. {
  514. Kick(p);
  515. return 1;
  516. }
  517. forward LimparChat(playerid, lines);
  518. public LimparChat(playerid, lines)
  519. {
  520. if(IsPlayerConnected(playerid))
  521. {
  522. for(new i = 0; i < lines; i++)
  523. {
  524. SendClientMessage(playerid, -1, " ");
  525. }
  526. }
  527. return 1;
  528. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement