Advertisement
Guest User

FS mAdmin

a guest
May 24th, 2012
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 54.34 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include <sscanf>
  4. #include <a_mysql>
  5.  
  6. #define host "localhost" //Host
  7. #define user "root" //Usuario
  8. #define senha "3630207" //Senha do host
  9. #define database "informacoes" //DataBase que voce criou de acordo com o Vídeo
  10.  
  11. #define BRANCO 0xFFFFFFAA
  12. #define VERMELHO 0xE01B1BAA
  13. #define AZUL 0x33A6D4AA
  14. #define VERDE 0x00FF22AA
  15. #define AMARELO 0xF7E23EAA
  16. #define falha "Você não está autorizado a usar este comando."
  17. #define DIALOG_INFO 9999
  18. #define DIALOG_NIVEL1 9998
  19. #define DIALOG_NIVEL2 9997
  20. #define DIALOG_NIVEL3 9996
  21. #define DIALOG_NIVEL4 9995
  22. #define DIALOG_NIVEL5 9994
  23. #define DIALOG_ADMINS 9993
  24. #define DIALOG_SEMADMINS 9992
  25. #define DIALOG_CREDITOS 9991
  26. #define NIVEL 10 // tempo em minutos que você deseja dar o nivel pro jogador
  27. forward Nivel(playerid);
  28. forward TempoAjuda(playerid);
  29. new tempoajuda[MAX_PLAYERS];
  30. new bool:ajuda[MAX_PLAYERS];
  31. new anivel[MAX_PLAYERS];
  32. enum mInfo
  33. {
  34. mAdmin,
  35. mVip,
  36. mEspiando,
  37. mAvisos,
  38. mNivel
  39. }
  40. new pRegistrado[MAX_PLAYERS];
  41. new pLogado[MAX_PLAYERS];
  42. new PlayerInfo[MAX_PLAYERS][mInfo];
  43. public OnFilterScriptInit()
  44. {
  45. print("\n--------------------------------------");
  46. print(" | mAdmim [V1], carregado com sucesso! |");
  47. print(" | Criado por : Adriano Mengue |");
  48. print("--------------------------------------\n");
  49. mysql_connect("localhost", "root", "informacoes", "3630207");
  50. if(mysql_ping() >= 1) print("=> Conectado ao Banco de Dados!");
  51. else print("=> Incapaz de conectar ao banco de dados!");
  52. mysql_query("CREATE TABLE IF NOT EXISTS informacoes(usuario VARCHAR(24), senha VARCHAR(30), score INT(20), dinheiro INT(20), avisos INT(2), nivel INT(10), vip INT(1), skin INT(3), admin INT(1), ip VARCHAR(16) )");
  53. return 1;
  54. }
  55.  
  56. public OnFilterScriptExit()
  57. {
  58.  
  59. return 1;
  60. }
  61.  
  62. public OnPlayerConnect(playerid)
  63. {
  64. new query[200], pname[24]; //Cria-se nossas variaveis para serem usadas.
  65. GetPlayerName(playerid, pname, 24); //Recebe o nome do jogador
  66. format(query, sizeof(query), "SELECT ip FROM `informacoes` WHERE usuario = '%s' LIMIT 1", pname); //Formata a QUERY para serem usadas %s, %i, %d, (basico do basico do pawn.)
  67. mysql_query(query); //Essa é a função da query
  68. mysql_store_result(); //Armazena os resultados
  69. new rows = mysql_num_rows(); //Iremos getar quantas rows a query retornou.
  70. if(!rows)
  71. {
  72. ShowPlayerDialog(playerid, 15000, DIALOG_STYLE_INPUT, "Registrar","Chegando database...\nVocê não é registrado!","Registrar","Cancelar");
  73. }
  74. if(rows)
  75. {
  76.  
  77. new ip[2][16];
  78. mysql_fetch_field_row(ip[0],"ip");
  79. GetPlayerIp(playerid, ip[1], 16);
  80. if(strlen(ip[0]) != 0 && !strcmp(ip[0], ip[1], true))
  81. {
  82. MySQL_Login(playerid);
  83. }
  84. else if(!strlen(ip[0]) || strcmp(ip[0], ip[1], true))
  85. {
  86. ShowPlayerDialog(playerid, 15500, DIALOG_STYLE_INPUT, "Logar","Chegando database...\nUsuário já cadastrado!!","Logar","Cancelar");
  87. pRegistrado[playerid] = 1;
  88. }
  89. }
  90. mysql_free_result();
  91. anivel[playerid] = SetTimerEx("Nivel", NIVEL*60000, true, "i", playerid);
  92.  
  93. return 1;
  94. }
  95. public OnPlayerDisconnect(playerid, reason)
  96. {
  97. if(pLogado[playerid] == 1)
  98. {
  99. new score = GetPlayerScore(playerid); //Armazena o score em uma variavel
  100. new grana = GetPlayerMoney(playerid); //armazena o $$ em uma
  101. new nivel = PlayerInfo[playerid][mNivel];
  102. new vip = PlayerInfo[playerid][mVip];
  103. new skin = GetPlayerSkin(playerid);
  104. new avisos = PlayerInfo[playerid][mAvisos];
  105. new admin = PlayerInfo[playerid][mAdmin];
  106. new query[200], pname[24]; //Cria as variaveis necessarias..
  107. GetPlayerName(playerid, pname, 24);
  108. format(query, sizeof(query), "UPDATE informacoes SET score = %d, dinheiro= %d, avisos = %d, nivel = %d, vip = %d, skin = %d, admin = %d WHERE usuario = '%s' ", score, grana, avisos, nivel, vip, skin, admin, pname);
  109. mysql_query(query);
  110. //NÃO NECESSITA-SE DE UM FREE_RESULT EM UMA QUERY DE UPDATE
  111. }
  112.  
  113. KillTimer(anivel[playerid]);
  114. return 1;
  115. }
  116.  
  117. public Nivel(playerid)
  118. {
  119. PlayerInfo[playerid][mNivel] ++;
  120. SendClientMessage(playerid, AMARELO, "[INFO]: Parabéns, seu nivel aumentou 1!");
  121. return 1;
  122. }
  123.  
  124. // COMANDOS //
  125. // NIVEL 1: aceitarajuda, recusarajuda, a, consertar, destruircarro, achat, kickar, congelar, descongelar, trazer, stv, ir, tv, tapa, tapao, verificar, apm, darrespawn, darskin;
  126. // NIVEL 2: banir, vida, colete, desavisar, dararma, resetararmas, avisar;
  127. // NIVEL 3: carro, explodir
  128. // NIVEL 4: dargrana, setargrana, darnivel, setarnivel, setarscore,
  129. // NIVEL 5: daradmin, gmx, tirarvip, viraradmin
  130. // JOGADORES NORMAIS: status, pedirajuda, relatorio, creditos
  131.  
  132.  
  133. /*
  134. NOVIDADES DA VERSÃO 0.v2
  135.  
  136. SALVAMENTO DE DADOS TOTALMENTE EM MYSQL
  137. CORREÇÃO DE VARIAVEIS DESNECESSÁRIAS
  138. EDIÇÃO DE PLAYER VIA PHP
  139.  
  140. */
  141.  
  142. // -------------------------------------------------------------------------------------------------------------------------//
  143. CMD:acmd(playerid)
  144. {
  145. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  146. {
  147. if(PlayerInfo[playerid][mAdmin] == 1)
  148. {
  149. new string[256], strcata[256];
  150. format(string, sizeof(string), "/a, /consertar, /destruircarro\n ");
  151. strcat(strcata, string);
  152. format(string, sizeof(string), "/achat, /kickar\n");
  153. strcat(strcata, string);
  154. format(string, sizeof(string), "/congelar, /descongelar, /ir\n");
  155. strcat(strcata, string);
  156. format(string, sizeof(string), "/trazer, /stv, /tv\n");
  157. strcat(strcata, string);
  158. format(string, sizeof(string), "/tapa, /tapao, /verificar\n");
  159. strcat(strcata, string);
  160. format(string, sizeof(string), "/apm, /darrespawn, /darskin, /a\n ");
  161. strcat(strcata, string);
  162. ShowPlayerDialog(playerid, DIALOG_NIVEL1, DIALOG_STYLE_MSGBOX, "{F7E23E}Comandos nivel 1", strcata, "Fechar", "");
  163. }
  164. if(PlayerInfo[playerid][mAdmin] == 2)
  165. {
  166. new string[256], strcata[256];
  167. format(string, sizeof(string), "/a, /consertar, /destruircarro\n ");
  168. strcat(strcata, string);
  169. format(string, sizeof(string), "/achat, /kickar\n");
  170. strcat(strcata, string);
  171. format(string, sizeof(string), "/congelar, /descongelar, /ir\n");
  172. strcat(strcata, string);
  173. format(string, sizeof(string), "/trazer, /stv, /tv\n");
  174. strcat(strcata, string);
  175. format(string, sizeof(string), "/tapa, /tapao, /verificar\n");
  176. strcat(strcata, string);
  177. format(string, sizeof(string), "/apm, /darrespawn, /darskin, /a \n");
  178. strcat(strcata, string);
  179. format(string, sizeof(string), "/vida, /colete, /desavisar\n");
  180. strcat(strcata, string);
  181. format(string, sizeof(string), "/dararma, /resetararmas, /banir, /avisar\n");
  182. strcat(strcata, string);
  183. ShowPlayerDialog(playerid, DIALOG_NIVEL2, DIALOG_STYLE_MSGBOX, "{F7E23E}Comandos nivel 2", strcata, "Fechar", "");
  184. }
  185. if(PlayerInfo[playerid][mAdmin] == 3)
  186. {
  187. new string[256], strcata[256];
  188. format(string, sizeof(string), "/a, /consertar, /destruircarro\n ");
  189. strcat(strcata, string);
  190. format(string, sizeof(string), "/achat, /kickar\n");
  191. strcat(strcata, string);
  192. format(string, sizeof(string), "/congelar, /descongelar, /ir\n");
  193. strcat(strcata, string);
  194. format(string, sizeof(string), "/trazer, /stv, /tv\n");
  195. strcat(strcata, string);
  196. format(string, sizeof(string), "/tapa, /tapao, /verificar\n");
  197. strcat(strcata, string);
  198. format(string, sizeof(string), "/apm, /darrespawn, /darskin, /a \n");
  199. strcat(strcata, string);
  200. format(string, sizeof(string), "/vida, /colete, /desavisar\n");
  201. strcat(strcata, string);
  202. format(string, sizeof(string), "/dararma, /resetararmas, /banir, /avisar\n");
  203. strcat(strcata, string);
  204. format(string, sizeof(string), "/carro, /explodir");
  205. strcat(strcata, string);
  206. ShowPlayerDialog(playerid, DIALOG_NIVEL3, DIALOG_STYLE_MSGBOX, "{F7E23E}Comandos nivel 3", strcata, "Fechar", "");
  207. }
  208. if(PlayerInfo[playerid][mAdmin] == 4)
  209. {
  210. new string[512], strcata[512];
  211. format(string, sizeof(string), "/setarscore, /a, /consertar, /destruircarro \n");
  212. strcat(strcata, string);
  213. format(string, sizeof(string), "/achat, /kickar\n");
  214. strcat(strcata, string);
  215. format(string, sizeof(string), "/congelar, /descongelar, /ir\n");
  216. strcat(strcata, string);
  217. format(string, sizeof(string), "/trazer, /stv, /tv\n");
  218. strcat(strcata, string);
  219. format(string, sizeof(string), "/tapa, /tapao, /verificar\n");
  220. strcat(strcata, string);
  221. format(string, sizeof(string), "/apm, /darrespawn, /darskin, /a\n ");
  222. strcat(strcata, string);
  223. format(string, sizeof(string), "/vida, /colete, /desavisar\n");
  224. strcat(strcata, string);
  225. format(string, sizeof(string), "/dararma, /resetararmas, /banir, /avisar\n");
  226. strcat(strcata, string);
  227. format(string, sizeof(string), "/carro, /explodir\n");
  228. strcat(strcata, string);
  229. format(string, sizeof(string), "/dargrana, /setargrana, /darnivel, /setarnivel\n");
  230. strcat(strcata, string);
  231. ShowPlayerDialog(playerid, DIALOG_NIVEL4, DIALOG_STYLE_MSGBOX, "{F7E23E}Comandos nivel 4", strcata, "Fechar", "");
  232. }
  233. if(PlayerInfo[playerid][mAdmin] == 5)
  234. {
  235. new string[512], strcata[512];
  236. format(string, sizeof(string), "/setarscore, /a, /consertar, /destruircarro\n ");
  237. strcat(strcata, string);
  238. format(string, sizeof(string), "/achat, /kickar\n");
  239. strcat(strcata, string);
  240. format(string, sizeof(string), "/congelar, /descongelar, /ir\n");
  241. strcat(strcata, string);
  242. format(string, sizeof(string), "/trazer, /stv, /tv\n");
  243. strcat(strcata, string);
  244. format(string, sizeof(string), "/tapa, /tapao, /verificar\n");
  245. strcat(strcata, string);
  246. format(string, sizeof(string), "/apm, /darrespawn, /darskin, /a \n");
  247. strcat(strcata, string);
  248. format(string, sizeof(string), "/vida, /colete, /desavisar\n");
  249. strcat(strcata, string);
  250. format(string, sizeof(string), "/dararma, /resetararmas, /banir, /avisar\n");
  251. strcat(strcata, string);
  252. format(string, sizeof(string), "/carro, /explodir\n");
  253. strcat(strcata, string);
  254. format(string, sizeof(string), "/dargrana, /setargrana, /darnivel, /setarnivel\n");
  255. strcat(strcata, string);
  256. format(string, sizeof(string), "/daradmin, /gmx, /viraradmin\n");
  257. strcat(strcata, string);
  258. ShowPlayerDialog(playerid, DIALOG_NIVEL5, DIALOG_STYLE_MSGBOX, "{F7E23E}Comandos nivel 5", strcata, "Fechar", "");
  259. }
  260. return 1;
  261. }
  262. }
  263.  
  264. CMD:consertar(playerid, params[])
  265. {
  266. new id;
  267. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  268. if(sscanf(params, "d", id)) return SendClientMessage(playerid, BRANCO, "[INFO] /consertar [id]");
  269. {
  270. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  271. {
  272. new vatual;
  273. vatual = GetPlayerVehicleID(id);
  274. SetVehicleHealth(vatual, 1000.0);
  275. }
  276. }
  277. return 1;
  278.  
  279. }
  280. // -------------------------------------------------------------------------------------------------------------------------//
  281. CMD:a(playerid, params[])
  282. {
  283. new Texto[128], string[256], nome[24];
  284. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  285. if(sscanf(params, "s", Texto)) return SendClientMessage(playerid, BRANCO, "[INFO] /a [texto]");
  286. GetPlayerName(playerid, nome, 24);
  287. format(string, sizeof(string), "[aCHAT] %s: %s", nome, Texto);
  288. if(PlayerInfo[playerid][mAdmin] >= 1)
  289. {
  290. for(new i = 0; i < MAX_PLAYERS; i++)
  291. {
  292. if(PlayerInfo[i][mAdmin] > 0)
  293. {
  294. SendClientMessage(i, AMARELO, string);
  295. }
  296. }
  297. }
  298. return 1;
  299. }
  300. // -------------------------------------------------------------------------------------------------------------------------//
  301. CMD:destruircarro(playerid, params[])
  302. {
  303. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  304. new vatual, string[128];
  305. vatual = GetPlayerVehicleID(playerid);
  306. DestroyVehicle(vatual);
  307. format(string, sizeof(string), "[INFO]: Carro [ID: %d] destruido com sucesso!", vatual);
  308. SendClientMessage(playerid, AMARELO, string);
  309.  
  310. return 1;
  311. }
  312. // -------------------------------------------------------------------------------------------------------------------------//
  313. CMD:achat(playerid, params[])
  314. {
  315. new texto[128], string[128], admin[24];
  316. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  317. if(sscanf(params, "s", texto)) return SendClientMessage(playerid, BRANCO, "[INFO]: /achat [texto]");
  318. GetPlayerName(playerid, admin, 24);
  319. format(string, sizeof(string), "[ADMIN] %s: %s", admin, texto);
  320. SendClientMessageToAll(AZUL, string);
  321. return 1;
  322. }
  323. // -------------------------------------------------------------------------------------------------------------------------//
  324. CMD:kickar(playerid, params[])
  325. {
  326. new id, razao[128], jogador[24], admin[24], string[128], strg[128];
  327. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  328. if(sscanf(params, "ds", id, razao)) return SendClientMessage(playerid, BRANCO, "[INFO]: /kickar [playerid] [razao]");
  329. {
  330. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  331. GetPlayerName(id, jogador, 24);
  332. GetPlayerName(playerid, admin, 24);
  333. format(string, sizeof(string), "[INFO]: O administrador %s kickou você pelo motivo: %s.", admin, razao);
  334. format(strg, sizeof(strg), "[INFO]: O administrador %s kickou o jogador %s pelo motivo : %s.", admin, jogador, razao);
  335. SendClientMessage(id, AZUL, string);
  336. Kick(id);
  337. SendClientMessageToAll(AZUL, strg);
  338.  
  339. }
  340. return 1;
  341. }
  342. // -------------------------------------------------------------------------------------------------------------------------//
  343. CMD:congelar(playerid, params[])
  344. {
  345. new id, jogador[24], admin[24], string[128], strg[128];
  346. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  347. if(sscanf(params, "d", id)) return SendClientMessage(playerid, BRANCO, "[INFO]: /congelar [id]");
  348. {
  349. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  350. GetPlayerName(id, jogador, 24);
  351. GetPlayerName(playerid, admin, 24);
  352. format(string, sizeof(string), "[INFO]: O administrador %s congelou você.", admin);
  353. format(strg, sizeof(strg), "[INFO]: Você congelou %s.", jogador);
  354. SendClientMessage(id, AZUL, string);
  355. SendClientMessage(playerid, AZUL, strg);
  356. TogglePlayerControllable(id,0);
  357.  
  358. }
  359. return 1;
  360. }
  361. // -------------------------------------------------------------------------------------------------------------------------//
  362. CMD:descongelar(playerid, params[])
  363. {
  364. new id, jogador[24], admin[24], string[128], strg[128];
  365. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  366. if(sscanf(params, "d", id)) return SendClientMessage(playerid, BRANCO, "[INFO]: /congelar [id]");
  367. {
  368. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  369. GetPlayerName(id, jogador, 24);
  370. GetPlayerName(playerid, admin, 24);
  371. format(string, sizeof(string), "[INFO]: O administrador %s descongelou você.", admin);
  372. format(strg, sizeof(strg), "[INFO]: Você descongelou %s.", jogador);
  373. SendClientMessage(id, AZUL, string);
  374. SendClientMessage(playerid, AZUL, strg);
  375. TogglePlayerControllable(id,1);
  376.  
  377. }
  378. return 1;
  379. }
  380. // -------------------------------------------------------------------------------------------------------------------------//
  381. CMD:trazer(playerid,params[])
  382. {
  383. new id, admin, string[128], Float:i[3];
  384. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  385. if(sscanf(params,"d",id)) return SendClientMessage(playerid, BRANCO,"[INFO]: /ir [playerid]");
  386. {
  387. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  388. format(string,sizeof(string),"[INFO]: O administrador %s teleportou você até ele.", admin);
  389. if(GetPlayerState(id) == 2) return SetVehiclePos(playerid,i[0],i[1],i[2]);
  390. GetPlayerPos(playerid,i[0],i[1],i[2]);
  391. SetPlayerPos(id,i[0],i[1],i[2]);
  392. SendClientMessage(id,BRANCO,string);
  393. }
  394. return 1;
  395. }
  396. // -------------------------------------------------------------------------------------------------------------------------//
  397. CMD:stv(playerid)
  398. {
  399. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  400. {
  401. PlayerInfo[playerid][mEspiando] = 0;
  402. TogglePlayerSpectating(playerid,0);
  403. SpawnPlayer(playerid);
  404. SendClientMessage(playerid, AZUL, "[INFO]: Você parou de espiar!");
  405.  
  406. return 1;
  407. }
  408. }
  409. // -------------------------------------------------------------------------------------------------------------------------//
  410. CMD:ir(playerid,params[])
  411. {
  412. new id, admin, string[128], Float:i[3];
  413. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  414. if(sscanf(params,"d",id)) return SendClientMessage(playerid,-1,"[INFO]: /ir [playerid]");
  415. {
  416. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  417. format(string,sizeof(string),"[INFO]: O administrador %s teleportou até você.", admin);
  418. GetPlayerPos(id,i[0],i[1],i[2]);
  419. if(GetPlayerState(playerid) == 2) return SetVehiclePos(playerid,i[0],i[1],i[2]);
  420. SendClientMessage(id,AZUL,string);
  421. SetPlayerPos(playerid,i[0],i[1],i[2]);
  422. }
  423. return 1;
  424. }
  425. // -------------------------------------------------------------------------------------------------------------------------//
  426. CMD:tv(playerid,params[])
  427. {
  428. new id, nome[24], string[128];
  429. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  430. {
  431. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  432. if(PlayerInfo[playerid][mEspiando] == 1) return SendClientMessage(playerid, VERMELHO, "Você já está espiando alguém.");
  433. {
  434. if(sscanf(params,"u",id)) return SendClientMessage(playerid,-1,"[INFO]: /tv [playerid]");
  435. GetPlayerName(id,nome,24);
  436. format(string, sizeof(string), "[INFO]: Você está espiando %s [ID: %d].", nome, id);
  437. TogglePlayerSpectating(playerid, 1);
  438. PlayerSpectatePlayer(playerid,id);
  439. SendClientMessage(playerid,AZUL,string);
  440. PlayerInfo[playerid][mEspiando] = 1;
  441. return 1;
  442. }
  443. }
  444.  
  445. }
  446. // -------------------------------------------------------------------------------------------------------------------------//
  447. CMD:tapa(playerid, params[])
  448. {
  449. new id, nome[24], admin[24], string[128], strg[128], Float:i[3];
  450. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  451. {
  452. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  453. {
  454. GetPlayerName(id,nome,24);
  455. GetPlayerName(playerid, admin, 24);
  456. if(sscanf(params,"u",id)) return SendClientMessage(playerid,-1,"[INFO]: /tapa [playerid]");
  457. GetPlayerPos(id, i[0], i[1], i[2]);
  458. SetPlayerPos(id, i[0], i[1], i[2] +5);
  459. format(string, sizeof(string),"[INFO]: Você tapiou o jogador %s (ID : %d )." ,nome, id);
  460. format(strg, sizeof(strg), "[INFO]: Você foi tapiado pelo adm %s (ID : %d ).", admin, playerid);
  461. SendClientMessage(playerid,AZUL,string);
  462. SendClientMessage(id,AZUL,strg);
  463. return 1;
  464. }
  465. }
  466. }
  467. // -------------------------------------------------------------------------------------------------------------------------//
  468. CMD:tapao(playerid, params[])
  469. {
  470. new id, nome[24], admin[24], string[128], strg[128], Float:i[3];
  471. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  472. {
  473. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  474. {
  475. GetPlayerName(id,nome,24);
  476. GetPlayerName(playerid, admin, 24);
  477. if(sscanf(params,"u",id)) return SendClientMessage(playerid,-1,"[INFO]: /tapao [playerid]");
  478. GetPlayerPos(id, i[0], i[1], i[2]);
  479. SetPlayerPos(id, i[0], i[1], i[2] +50);
  480. format(string, sizeof(string),"[INFO]: Você tapiou o jogador %s (ID : %d )." ,nome, id);
  481. format(strg, sizeof(strg), "[INFO]: Você foi tapiado pelo adm %s (ID : %d ).", admin, playerid);
  482. SendClientMessage(playerid,AZUL,string);
  483. SendClientMessage(id,AZUL,strg);
  484. return 1;
  485. }
  486. }
  487. }
  488. // -------------------------------------------------------------------------------------------------------------------------//
  489. CMD:verificar(playerid, params[])
  490. {
  491. new id, string[128], nome[24], Float:health, strcata[128];
  492. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  493. if(sscanf(params, "d", id)) return SendClientMessage(playerid, BRANCO, "[INFO]: /verificar [playerid]");
  494. {
  495. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  496. GetPlayerName(id, nome, 24);
  497. GetPlayerHealth(playerid, health);
  498. format(string, sizeof(string), "Nome: %s\n", nome);
  499. strcat(strcata, string);
  500. format(string, sizeof(string), "Vida: %.2f\n", health);
  501. strcat(strcata, string);
  502. format(string, sizeof(string), "Dinheiro: %d\n", GetPlayerMoney(id));
  503. strcat(strcata, string);
  504. format(string, sizeof(string), "Score: %d\n", GetPlayerScore(id));
  505. strcat(strcata, string);
  506. format(string, sizeof(string), "Vip: %d\n",PlayerInfo[id][mVip]);
  507. strcat(strcata, string);
  508. format(string, sizeof(string), "Avisos: %d/3\n", PlayerInfo[id][mAvisos]);
  509. strcat(strcata, string);
  510. format(string, sizeof(string), "Nivel: %d\n", PlayerInfo[id][mNivel]);
  511. strcat(strcata, string);
  512. ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "Verificação do personagem", strcata, "Fechar", "Cancelar");
  513. }
  514. return 1;
  515.  
  516.  
  517. }
  518. // -------------------------------------------------------------------------------------------------------------------------//
  519. CMD:apm(playerid, params[])
  520. {
  521. new mensagem[128], string[128], nome[24], id;
  522. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  523. if(sscanf(params, "ds", id, mensagem)) return SendClientMessage(playerid, BRANCO, "[INFO] /apm [id] [mensagem]");
  524. {
  525. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  526. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  527. {
  528. GetPlayerName(playerid, nome, 24);
  529. format(string, sizeof(string), "[INFO]: Mensagem privada de: [ID:%d] %s. Assunto: %s", playerid, nome, mensagem);
  530. SendClientMessage(id, AMARELO, string);
  531. SendClientMessage(playerid, AMARELO, "[INFO]: Mensagem enviada com sucesso.");
  532. }
  533. }
  534. return 1;
  535. }
  536. // -------------------------------------------------------------------------------------------------------------------------//
  537. CMD:darrespaw(playerid, params[])
  538. {
  539. new id, nome[24], string[128];
  540. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  541. if(sscanf(params,"d", id)) return SendClientMessage(playerid, BRANCO,"[INFO]: /darrespaw [playerid]");
  542. {
  543. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  544. SpawnPlayer(id);
  545. GetPlayerName(playerid, nome, 24);
  546. format(string, sizeof(string), "[INFO]: O administrador %s spawnou você.", nome);
  547. SendClientMessage(id, BRANCO, string);
  548. GetPlayerName(id, nome, 24);
  549. format(string, sizeof(string), "[INFO]: Você spawnou %s.", nome);
  550. SendClientMessage(playerid, BRANCO, string);
  551. }
  552. return 1;
  553. }
  554. // -------------------------------------------------------------------------------------------------------------------------//
  555. CMD:darskin(playerid, params[])
  556. {
  557.  
  558. new id, skin, jogador[24], admin[24], string[128], strg[128];
  559. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  560. if(sscanf(params, "dd", id, skin)) return SendClientMessage(playerid, BRANCO, "[INFO]: /darskin [playerid] [skin]");
  561. {
  562. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  563. if(skin < 0 || skin > 299) return SendClientMessage(playerid, BRANCO,"[INFO]: /darskin [playerid] [0 - 299] ");
  564. GetPlayerName(id, jogador, 24);
  565. format(string, sizeof(string), "[INFO]: O administrador %s mudou sua skin!", admin);
  566. SetPlayerSkin(id, skin);
  567. GetPlayerName(playerid, admin, 24);
  568. format(strg, sizeof(strg), "[INFO]: Você mudou a skin de %s com sucesso!", jogador);
  569. SendClientMessage(id, AZUL, string);
  570. SendClientMessage(playerid, AZUL, strg);
  571. }
  572. return 1;
  573. }
  574. // --------------------NIVEL 2: banir, vida, colete, desavisar, dararma, resetararmas, avisar;---------------------
  575.  
  576. CMD:banir(playerid, params[])
  577. {
  578. new id, razao[128], jogador[24], admin[24], string[128], strg[128];
  579. if(PlayerInfo[playerid][mAdmin] < 2) return SendClientMessage(playerid, VERMELHO, falha);
  580. if(sscanf(params, "ds", id, razao)) return SendClientMessage(playerid, BRANCO, "[INFO]: /kickar [playerid] [razao]");
  581. {
  582. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  583. GetPlayerName(id, jogador, 24);
  584. GetPlayerName(playerid, admin, 24);
  585. format(string, sizeof(string), "[INFO]: O administrador %s baniu você pelo motivo: %s.", admin, razao);
  586. format(strg, sizeof(strg), "[INFO]: O administrador %s baniu o jogador %s pelo motivo : %s.", admin, jogador, razao);
  587. SendClientMessage(id, AZUL, string);
  588. Ban(id);
  589. SendClientMessageToAll(AZUL, strg);
  590.  
  591. }
  592. return 1;
  593. }
  594. // -------------------------------------------------------------------------------------------------------------------------//
  595. CMD:vida(playerid, params[])
  596. {
  597. new id, nome[24], vida, string[128];
  598. if(PlayerInfo[playerid][mAdmin] < 2) return SendClientMessage(playerid, VERMELHO, falha);
  599. if(sscanf(params,"dd", id, vida)) return SendClientMessage(playerid, BRANCO,"[INFO]: /vida [playerid] [vida]");
  600. {
  601. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  602. SetPlayerHealth(id, vida);
  603. GetPlayerName(playerid, nome, 24);
  604. format(string, sizeof(string), "[INFO]: O administrador %s setou sua vida.", nome);
  605. SendClientMessage(id, BRANCO, string);
  606. GetPlayerName(id, nome, 24);
  607. format(string, sizeof(string), "[INFO]: Você setou a vida de %s.", nome);
  608. SendClientMessage(playerid, BRANCO, string);
  609. }
  610. return 1;
  611. }
  612. // -------------------------------------------------------------------------------------------------------------------------//
  613. CMD:colete(playerid, params[])
  614. {
  615. new id, nome[24], colete, string[128];
  616. if(PlayerInfo[playerid][mAdmin] < 2) return SendClientMessage(playerid, VERMELHO, falha);
  617. if(sscanf(params,"dd", id, colete)) return SendClientMessage(playerid, BRANCO,"[INFO]: /colete [playerid] [colete]");
  618. {
  619. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  620. SetPlayerArmour(id, colete);
  621. GetPlayerName(playerid, nome, 24);
  622. format(string, sizeof(string), "[INFO]: O administrador %s setou seu colete.", nome);
  623. SendClientMessage(id, BRANCO, string);
  624. GetPlayerName(id, nome, 24);
  625. format(string, sizeof(string), "[INFO]: Você setou o colete de %s.", nome);
  626. SendClientMessage(playerid, BRANCO, string);
  627. }
  628. return 1;
  629. }
  630. // -------------------------------------------------------------------------------------------------------------------------//
  631. CMD:desavisar(playerid, params[])
  632. {
  633. new id, string1[256], nome[24], razao[128], nome1[24], string[128];
  634. if(PlayerInfo[playerid][mAdmin] < 2) return SendClientMessage(playerid, VERMELHO, falha);
  635. if(sscanf(params,"ds", id, razao)) return SendClientMessage(playerid, BRANCO,"[INFO]: /desavisar [playerid] [razao]");
  636. {
  637. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  638. {
  639. if(PlayerInfo[id][mAvisos] <= 0)
  640. {
  641. SendClientMessage(playerid, VERMELHO, "[INFO]: Esse jogador não tem avisos!");
  642. }
  643. else
  644. {
  645. PlayerInfo[id][mAvisos] = PlayerInfo[playerid][mAvisos] -1;
  646. GetPlayerName(playerid, nome, 24);
  647. GetPlayerName(id, nome1, 24);
  648. format(string1, sizeof(string1), "[INFO]: O administrador %s desavisou %s pelo motivo %s.", nome, nome1, razao);
  649. format(string, sizeof(string), "[INFO]: Número de avisos: %d. Com 3 você é banido! Cuide-se", PlayerInfo[id][mAvisos]);
  650. SendClientMessage(playerid, BRANCO, string);
  651. SendClientMessageToAll(VERMELHO, string1);
  652. if(PlayerInfo[id][mAvisos] >= 3)
  653. {
  654. SendClientMessage(id, VERMELHO, "[INFO]: Você foi banido por ter 3 avisos!!");
  655. Ban(id);
  656. }
  657. }
  658. }
  659. return 1;
  660. }
  661. }
  662. // -------------------------------------------------------------------------------------------------------------------------//
  663. CMD:dararma(playerid, params[])
  664. {
  665. new id, arma, municao, string[128], nome[24];
  666. if(PlayerInfo[playerid][mAdmin] < 2) return SendClientMessage(playerid, VERMELHO, falha);
  667. if(sscanf(params,"ddd", id, arma, municao)) return SendClientMessage(playerid, BRANCO,"[INFO]: /dararma [playerid] [id-da-arma] [municao]");
  668. {
  669. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  670. GivePlayerWeapon(id, arma, municao);
  671. GetPlayerName(playerid, nome, 24);
  672. format(string, sizeof(string), "[INFO]: O administrador %s lhe deu armas.", nome);
  673. SendClientMessage(id, BRANCO, string);
  674. GetPlayerName(id, nome, 24);
  675. format(string, sizeof(string), "[INFO]: Você deu armas para %s.", nome);
  676. SendClientMessage(playerid, BRANCO, string);
  677. }
  678. return 1;
  679. }
  680.  
  681. // -------------------------------------------------------------------------------------------------------------------------//
  682. CMD:resetararmas(playerid, params[])
  683. {
  684. new id, nome[24], string[128];
  685. if(PlayerInfo[playerid][mAdmin] < 2) return SendClientMessage(playerid, VERMELHO, falha);
  686. if(sscanf(params,"d", id)) return SendClientMessage(playerid, BRANCO,"[INFO]: /resetararmas [playerid]");
  687. {
  688. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  689. ResetPlayerWeapons(id);
  690. GetPlayerName(playerid, nome, 24);
  691. format(string, sizeof(string), "[INFO]: O administrador %s resetou suas armas.", nome);
  692. SendClientMessage(id, BRANCO, string);
  693. GetPlayerName(id, nome, 24);
  694. format(string, sizeof(string), "[INFO]: Você resetou as armas de %s.", nome);
  695. SendClientMessage(playerid, BRANCO, string);
  696. }
  697. return 1;
  698. }
  699.  
  700. // -------------------------------------------------------------------------------------------------------------------------//
  701. CMD:avisar(playerid, params[])
  702. {
  703. new id, string1[256], nome[24], razao[128], nome1[24], string[128];
  704. if(PlayerInfo[playerid][mAdmin] < 2) return SendClientMessage(playerid, VERMELHO, falha);
  705. if(sscanf(params,"ds", id, razao)) return SendClientMessage(playerid, BRANCO,"[INFO]: /avisar [playerid] [razao]");
  706. {
  707. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  708. PlayerInfo[id][mAvisos] = PlayerInfo[playerid][mAvisos] +1;
  709. GetPlayerName(playerid, nome, 24);
  710. GetPlayerName(id, nome1, 24);
  711. format(string1, sizeof(string1), "[INFO]: O administrador %s deu um aviso em %s pelo motivo %s.", nome, nome1, razao);
  712. format(string, sizeof(string), "[INFO]: Número de avisos: %d. Com 3 você é banido! Cuide-se", PlayerInfo[id][mAvisos]);
  713. SendClientMessage(playerid, BRANCO, string);
  714. SendClientMessageToAll(VERMELHO, string1);
  715. if(PlayerInfo[id][mAvisos] >= 3)
  716. {
  717. SendClientMessage(id, VERMELHO, "[INFO]: Você foi banido por ter 3 avisos!!");
  718. Ban(id);
  719. }
  720. return 1;
  721. }
  722.  
  723. }
  724. // ---------------------------------COMANDOS NIVEL 3: carro, explodir---------------------------------------------//
  725. CMD:carro(playerid, params[])
  726. {
  727. new id, cid, Float:c[5], cor1, cor2, nome[24], string[128], Text3D:carro, carroid;
  728. if(PlayerInfo[playerid][mAdmin] < 3) return SendClientMessage(playerid, VERMELHO, falha);
  729. if(sscanf(params, "dddd", id, cid, cor1, cor2)) return SendClientMessage(playerid, BRANCO, "[INFO] /carro [id] [carid] [cor1] [cor2]");
  730. {
  731. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  732. {
  733. GetPlayerName(id, nome, 24);
  734. format(string,sizeof(string), "[INFO]: Você deu um carro para %s", nome);
  735. SendClientMessage(playerid, AZUL, string);
  736. SendClientMessage(id, AMARELO, "[INFO]: Parabéns! Você ganhou um carro!");
  737. GetPlayerPos(id, c[0], c[1], c[2]);
  738. carroid = CreateVehicle(cid, c[0]+2, c[1]+2, c[2]+2, c[2], cor1, cor2, -1);
  739. GetPlayerName(id, nome, 24);
  740. format(string, sizeof(string), "Veiculo de %s", nome);
  741. carro = Create3DTextLabel(string, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
  742. Attach3DTextLabelToVehicle(carro, carroid, 0.0, -2.9, 0.0);
  743. }
  744. }
  745. return 1;
  746. }
  747. // -------------------------------------------------------------------------------------------------------------------------//
  748. CMD:explodir(playerid, params[])
  749. {
  750. new string[128], nome[24], id, Float:c[3];
  751. if(PlayerInfo[playerid][mAdmin] < 3) return SendClientMessage(playerid, VERMELHO, falha);
  752. if(sscanf(params, "d", id)) return SendClientMessage(playerid, BRANCO, "[INFO] /explodir [id]");
  753. {
  754. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  755. {
  756. GetPlayerPos(id,c[0],c[1],c[2]);
  757. CreateExplosion(c[0], c[1], c[2], 2, 10.0);
  758. GetPlayerName(id, nome, 24);
  759. format(string, sizeof(string), "[INFO]: Você explodiu o jogador: %s", nome);
  760. SendClientMessage(playerid, AZUL, string);
  761. GetPlayerName(playerid, nome, 24);
  762. format(string, sizeof(string), "[INFO]: O administrador %s explodiu você!", nome );
  763. SendClientMessage(id, VERMELHO, string);
  764. }
  765. }
  766. return 1;
  767.  
  768. }
  769. // ---------------------------------------NIVEL 4: dargrana, setargrana, darnivel, setarnivel----------------------------
  770. CMD:setarscore(playerid, params[])
  771. {
  772. new id, quantidade, jogador[24], admin[24], string[128], strg[128];
  773. if(PlayerInfo[playerid][mAdmin] < 4) return SendClientMessage(playerid, VERMELHO, falha);
  774. if(sscanf(params, "dd", id, quantidade)) return SendClientMessage(playerid, BRANCO, "[INFO]: /setarscore [playerid] [quantidade]");
  775. {
  776. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  777. GetPlayerName(id, jogador, 24);
  778. GetPlayerName(playerid, admin, 24);
  779. format(string, sizeof(string), "[INFO]: O administrador %s setou seu score para %d.", admin, quantidade);
  780. format(strg, sizeof(strg), "[INFO]: Você setou o score de %s para %d. ",jogador, quantidade);
  781. GivePlayerMoney(id, quantidade);
  782. SendClientMessage(id, AZUL, string);
  783. SendClientMessage(playerid, AZUL, strg);
  784.  
  785. }
  786. return 1;
  787. }
  788. // ---------------------------------------NIVEL 4: dargrana, setargrana, darnivel, setarnivel----------------------------
  789. CMD:dargrana(playerid, params[])
  790. {
  791. new id, quantidade, jogador[24], admin[24], string[128], strg[128];
  792. if(PlayerInfo[playerid][mAdmin] < 4) return SendClientMessage(playerid, VERMELHO, falha);
  793. if(sscanf(params, "dd", id, quantidade)) return SendClientMessage(playerid, BRANCO, "[INFO]: /dargrana [playerid] [quantidade]");
  794. {
  795. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  796. GetPlayerName(id, jogador, 24);
  797. GetPlayerName(playerid, admin, 24);
  798. format(string, sizeof(string), "[INFO]: O administrador %s deu para você R$ %d.", admin, quantidade);
  799. format(strg, sizeof(strg), "[INFO]: Você deu R$ %d para %s.", quantidade, jogador);
  800. GivePlayerMoney(id, quantidade);
  801. SendClientMessage(id, AZUL, string);
  802. SendClientMessage(playerid, AZUL, strg);
  803.  
  804. }
  805. return 1;
  806. }
  807. // -------------------------------------------------------------------------------------------------------------------------//
  808. CMD:setargrana(playerid, params[])
  809. {
  810. new id, quantidade, jogador[24], admin[24], string[128], strg[128];
  811. if(PlayerInfo[playerid][mAdmin] < 4) return SendClientMessage(playerid, VERMELHO, falha);
  812. if(sscanf(params, "dd", id, quantidade)) return SendClientMessage(playerid, BRANCO, "[INFO]: /setargrana [playerid] [quantidade]");
  813. {
  814. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  815. GetPlayerName(id, jogador, 24);
  816. GetPlayerName(playerid, admin, 24);
  817. format(string, sizeof(string), "[INFO]: O administrador %s setou dinheiro para R$ %d.", admin, quantidade);
  818. format(strg, sizeof(strg), "[INFO]: Você setou o dinheiro de %s para R$ %d.", jogador, quantidade);
  819. ResetPlayerMoney(id);
  820. GivePlayerMoney(id, quantidade);
  821. SendClientMessage(id, AZUL, string);
  822. SendClientMessage(playerid, AZUL, strg);
  823.  
  824. }
  825. return 1;
  826. }
  827. // -------------------------------------------------------------------------------------------------------------------------//
  828. CMD:darnivel(playerid, params[])
  829. {
  830. new id, nivel;
  831. if(PlayerInfo[playerid][mAdmin] < 4) return SendClientMessage(playerid, VERMELHO, falha);
  832. if(sscanf(params, "dd", id, nivel)) return SendClientMessage(playerid, BRANCO, "[INFO]: /darnivel [id] [quantidade]");
  833. {
  834. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, BRANCO, "[INFO]: Jogador inválido!");
  835. {
  836. new nome[24], string[128];
  837. GetPlayerName(id, nome, 24);
  838. format(string, sizeof(string), "[INFO]: Você deu nivel para o [ID:%d] %s", id, nome);
  839. SendClientMessage(playerid, AMARELO, string);
  840. GetPlayerName(playerid, nome, 24);
  841. format(string, sizeof(string), "[INFO]: O administrador %s lhe deu nível!", nome);
  842. SendClientMessage(id, AMARELO, string);
  843. PlayerInfo[id][mNivel] = PlayerInfo[id][mNivel] + nivel;
  844. }
  845. return 1;
  846. }
  847. }
  848. // -------------------------------------------------------------------------------------------------------------------------//
  849.  
  850. CMD:setarnivel(playerid, params[])
  851. {
  852. new id, nivel;
  853. if(PlayerInfo[playerid][mAdmin] < 4) return SendClientMessage(playerid, VERMELHO, falha);
  854. if(sscanf(params, "dd", id, nivel)) return SendClientMessage(playerid, BRANCO, "[INFO]: /setarnivel [id] [quantidade]");
  855. {
  856. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, BRANCO, "[INFO]: Jogador inválido!");
  857. {
  858. new nome[24], string[128];
  859. GetPlayerName(id, nome, 24);
  860. format(string, sizeof(string), "[INFO]: Você setou o nivel de [ID:%d] %s.", id, nome);
  861. SendClientMessage(playerid, AMARELO, string);
  862. GetPlayerName(playerid, nome, 24);
  863. format(string, sizeof(string), "[INFO]: O administrador %s setou seu nível!", nome);
  864. SendClientMessage(id, AMARELO, string);
  865. PlayerInfo[id][mNivel] = nivel;
  866. }
  867. return 1;
  868. }
  869. }
  870. // ---------------------------------ADMIN 5: daradmin, gmx, tirarvip, viraradmin, darvip----------------------------------------//
  871. CMD:daradmin(playerid,params[])
  872. {
  873. new id, nivel, jogador[24], admin[24], string[128], strg[128];
  874. if(PlayerInfo[playerid][mAdmin] < 5) return SendClientMessage(playerid, VERMELHO, falha);
  875. if(sscanf(params, "dd", id, nivel)) return SendClientMessage(playerid, BRANCO, "[INFO]: /daradmin [playerid] [nivel]");
  876. {
  877. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  878. if(nivel < 0 || nivel > 5) return SendClientMessage(playerid, VERMELHO, "[INFO]: /daradmin [playerid] [0 - 5]!");
  879. GetPlayerName(id, jogador, 24);
  880. GetPlayerName(playerid, admin, 24);
  881. format(string, sizeof(string), "[INFO]: O administrador %s lhe deu admin nível %d.", admin, nivel);
  882. format(strg, sizeof(strg), "[INFO]: Você deu administrador nível %d para o jogador %s.", nivel, jogador);
  883. SendClientMessage(id, AZUL, string);
  884. SendClientMessage(playerid, AZUL, strg);
  885. PlayerInfo[id][mAdmin] = nivel;
  886. }
  887.  
  888. return 1;
  889. }
  890. // -------------------------------------------------------------------------------------------------------------------------//
  891. CMD:gmx(playerid)
  892. {
  893. if(PlayerInfo[playerid][mAdmin] < 5) return SendClientMessage(playerid, VERMELHO, falha);
  894. {
  895. SendClientMessageToAll(BRANCO, "[INFO]: GMX! Voltaremos em instantes!");
  896. SendRconCommand("gmx");
  897. }
  898. return 1;
  899. }
  900. // -------------------------------------------------------------------------------------------------------------------------//
  901. CMD:tirarvip(playerid, params[])
  902. {
  903. new id, nome[24], string[128];
  904. if(PlayerInfo[playerid][mAdmin] < 5) return SendClientMessage(playerid, VERMELHO, falha);
  905. if(sscanf(params,"d", id)) return SendClientMessage(playerid, BRANCO,"[INFO]: /tirarvip [playerid]");
  906. {
  907. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  908. PlayerInfo[id][mVip] = 0;
  909. GetPlayerName(playerid, nome, 24);
  910. format(string, sizeof(string), "[INFO]: O administrador %s tirou sua vip.", nome);
  911. SendClientMessage(id, BRANCO, string);
  912. GetPlayerName(id, nome, 24);
  913. format(string, sizeof(string), "[INFO]: Você tirou a vip de %s.", nome);
  914. SendClientMessage(playerid, BRANCO, string);
  915. }
  916. return 1;
  917.  
  918. }
  919. // -------------------------------------------------------------------------------------------------------------------------//
  920.  
  921. CMD:viraradmin(playerid)
  922. {
  923. if(!IsPlayerAdmin(playerid)) return 1;
  924. PlayerInfo[playerid][mAdmin] = 5;
  925. SendClientMessage(playerid, AZUL, "[INFO]: Você virou administrador nivel 5.");
  926. return 1;
  927. }
  928. // -------------------------------------------------------------------------------------------------------------------------//
  929. CMD:darvip(playerid, params[])
  930. {
  931. new id, nome[24], string[128];
  932. if(PlayerInfo[playerid][mAdmin] < 5) return SendClientMessage(playerid, VERMELHO, falha);
  933. if(sscanf(params,"d", id)) return SendClientMessage(playerid, BRANCO,"[INFO]: /darvip [playerid]");
  934. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador inválido!");
  935. GetPlayerName(id, nome, 24);
  936. format(string, sizeof(string), "Você deu vip para o jogador [ID:%d] %s.", id, nome);
  937. SendClientMessage(playerid, AZUL, string);
  938. GetPlayerName(playerid, nome, 24);
  939. format(string, sizeof(string), "O administrador %s lhe deu vip.", nome);
  940. SendClientMessage(id, AZUL, string);
  941. PlayerInfo[id][mVip] = 1;
  942. return 1;
  943. }
  944. //------------------------------------PLAYERS-------------------------------------------------//
  945. CMD:relatorio(playerid, params[])
  946. {
  947. new Texto[128], string[256], nome[24];
  948. if(sscanf(params, "s", Texto)) return SendClientMessage(playerid, BRANCO, "[INFO] /relatorio [texto]");
  949. GetPlayerName(playerid, nome, 24);
  950. format(string, sizeof(string), "[INFO]: Relatorio de %s: %s", nome, Texto);
  951. if(PlayerInfo[playerid][mVip] >= 1)
  952. {
  953. for(new i = 0; i < MAX_PLAYERS; i++)
  954. {
  955. if(PlayerInfo[i][mAdmin] > 0)
  956. {
  957. format(string, sizeof(string), "[INFO]: Relatorio VIP de %s [ID: %d]: %s", nome, playerid, Texto);
  958. SendClientMessage(i, VERDE, string);
  959. }
  960. }
  961. SendClientMessage(playerid, AZUL, "[INFO]: Seu relatorio VIP foi enviado com sucesso!");
  962. }
  963. else
  964. {
  965. for(new i = 0; i < MAX_PLAYERS; i++)
  966. {
  967. if(PlayerInfo[i][mAdmin] > 0)
  968. {
  969. format(string, sizeof(string), "[INFO]: Relatorio de %s [ID: %d]: %s", nome, playerid, Texto);
  970. SendClientMessage(i, AZUL, string);
  971. }
  972. }
  973. SendClientMessage(playerid, AZUL, "[INFO]: Seu relatorio foi enviado com sucesso!");
  974.  
  975. }
  976. return 1;
  977. }
  978. // -------------------------------------------------------------------------------------------------------------------------//
  979.  
  980.  
  981. CMD:status(playerid)
  982. {
  983. new string[30], nome[24], strcata[128], Float:health;
  984. GetPlayerHealth(playerid, health);
  985. GetPlayerName(playerid, nome, 24);
  986. format(string, sizeof(string), "Nome: %s\n", nome);
  987. strcat(strcata, string);
  988. format(string, sizeof(string), "Vida: %.2f\n", health);
  989. strcat(strcata, string);
  990. format(string, sizeof(string), "Dinheiro: %d\n", GetPlayerMoney(playerid));
  991. strcat(strcata, string);
  992. format(string, sizeof(string), "Score: %d\n", GetPlayerScore(playerid));
  993. strcat(strcata, string);
  994. format(string, sizeof(string), "Vip: %d\n",PlayerInfo[playerid][mVip]);
  995. strcat(strcata, string);
  996. format(string, sizeof(string), "Avisos: %d/3\n", PlayerInfo[playerid][mAvisos]);
  997. strcat(strcata, string);
  998. format(string, sizeof(string), "Nivel: %d\n", PlayerInfo[playerid][mNivel]);
  999. strcat(strcata, string);
  1000. ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "Informações do personagem", strcata, "Fechar", "");
  1001. return 1;
  1002. }
  1003. // -------------------------------------------------------------------------------------------------------------------------//
  1004.  
  1005. CMD:admins(playerid)
  1006. {
  1007. new strtext[1000], nome[24], string[128];
  1008. new count = 0;
  1009. for(new i = 0; i < MAX_PLAYERS; i++)
  1010. {
  1011. if(IsPlayerConnected(i))
  1012. {
  1013. if(PlayerInfo[i][mAdmin] >= 1 && PlayerInfo[i][mAdmin] <6 )
  1014. {
  1015. new cargo[40];
  1016. if(PlayerInfo[i][mAdmin] == 5) { cargo = "{EEDD82}Dono{FFFFFF}"; }
  1017. else if(PlayerInfo[i][mAdmin] == 4) { cargo = "{EEDD82}Sub-Dono{FFFFFF}"; }
  1018. else if(PlayerInfo[i][mAdmin] == 3) { cargo = "{EEDD82}Moderador{FFFFFF}"; }
  1019. else if(PlayerInfo[i][mAdmin] == 2) { cargo = "{EEDD82}Ajudante{FFFFFF}"; }
  1020. else if(PlayerInfo[i][mAdmin] == 1) { cargo = "{EEDD82}Em teste{FFFFFF}"; }
  1021. GetPlayerName(i, nome, sizeof(nome));
  1022. if(PlayerInfo[i][mAdmin] >= 1 && PlayerInfo[i][mAdmin] < 6 )
  1023. {
  1024. format(string, 128, "{EEDD82}*{FFFFFF}%s (%s) \n", nome, cargo);
  1025. strcat(strtext, string);
  1026. count++;
  1027. }
  1028. }
  1029. }
  1030. }
  1031. if(count == 0)
  1032. {
  1033. ShowPlayerDialog(playerid, DIALOG_SEMADMINS, DIALOG_STYLE_MSGBOX,"{EEDD82}ADMINISTRADOR ONLINE", "{FFFFFF}Não há administradores online agora!", "Ok",#);
  1034. }else
  1035. {
  1036. ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX,"{EEDD82}ADMINISTRADOR ONLINE", strtext, "Ok",#);
  1037. return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  1038. }
  1039. return 1;
  1040. }
  1041.  
  1042. // -------------------------------------------------------------------------------------------------------------------------//
  1043. CMD:pedirajuda(playerid, params[])
  1044. {
  1045. new nome[24], string[128];
  1046. if(ajuda[playerid] == false)
  1047. {
  1048. for(new i = 0; i < MAX_PLAYERS; i++)
  1049. {
  1050. if(PlayerInfo[i][mAdmin] > 0 && PlayerInfo[i][mAdmin] < 6)
  1051. {
  1052. GetPlayerName(playerid, nome, 24);
  1053. format(string, sizeof(string), "[INFO]: O jogador [ID:%d] %s pediu ajuda! /recusarajuda ou /aceitarajuda!", playerid, nome);
  1054. SendClientMessage(i, AMARELO, string);
  1055. tempoajuda[playerid] = SetTimerEx("TempoAjuda", 60000, true, "i", playerid);
  1056. ajuda[playerid] = true;
  1057. }
  1058. }
  1059. }
  1060. else
  1061. {
  1062. SendClientMessage(playerid, VERMELHO, "[INFO]: Você já pediu ajuda.");
  1063. }
  1064. return 1;
  1065. }
  1066.  
  1067. CMD:recusarajuda(playerid, params[])
  1068. {
  1069. new id;
  1070. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  1071. if(sscanf(params, "d", id)) return SendClientMessage(playerid, BRANCO, "[INFO] /recusarajuda [id]");
  1072. {
  1073. if(ajuda[id] == false)
  1074. {
  1075. SendClientMessage(playerid, BRANCO, "[INFO]: Esse jogador ainda não pediu ajuda");
  1076. }
  1077. else
  1078. {
  1079. SendClientMessage(id, VERMELHO, "[INFO]: O administrador recusou seu pedido de ajuda!");
  1080. ajuda[id] = false;
  1081. }
  1082. }
  1083. return 1;
  1084. }
  1085.  
  1086. CMD:aceitarajuda(playerid, params[])
  1087. {
  1088. new id;
  1089. if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
  1090. if(sscanf(params, "d", id)) return SendClientMessage(playerid, BRANCO, "[INFO] /aceitarajuda [id]");
  1091. {
  1092. if(ajuda[id] == false)
  1093. {
  1094. SendClientMessage(playerid, BRANCO, "[INFO]: Esse jogador ainda não pediu ajuda");
  1095. }
  1096. else
  1097. {
  1098. SendClientMessage(id, AZUL, "[INFO]: O administrador aceitou seu pedido de ajuda!");
  1099. ajuda[id] = false;
  1100. }
  1101. }
  1102. return 1;
  1103. }
  1104.  
  1105. CMD:creditos(playerid)
  1106. {
  1107. ShowPlayerDialog(playerid, DIALOG_CREDITOS, DIALOG_STYLE_MSGBOX,"{EEDD82}CRÉDITOS", "Criador: Adriano Mengue\n Agradecimento aos criadores das includes\n Obrigado ao pessoal do fórum!", "Ok",#);
  1108. return 1;
  1109. }
  1110.  
  1111. public TempoAjuda(playerid)
  1112. {
  1113. SendClientMessage(playerid, BRANCO, "[INFO]: Você já pode pedir ajuda novamente!");
  1114. ajuda[playerid] = false;
  1115. }
  1116. // -------------------------------------------------------------------------------------------------------------------------//
  1117.  
  1118. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1119. {
  1120. if(dialogid == 15000)
  1121. {
  1122. if(response) // Clicou no botão de registrar
  1123. {
  1124. if(!strlen(inputtext) || strlen(inputtext) > 100) {//Senha nula ou maior que 100 caractéres
  1125. SendClientMessage(playerid, VERMELHO, "[INFO]: Senha maior que 100 caracteres!");
  1126. ShowPlayerDialog(playerid, 15000, DIALOG_STYLE_INPUT, "Registrar","Use uma senha de 1-100 caractéres!","Registrar","Cancelar");
  1127. }
  1128. else
  1129. {
  1130. new escpass[100];
  1131. mysql_real_escape_string(inputtext, escpass);
  1132. MySQL_Register(playerid, escpass);
  1133. }
  1134. //Registra o player na função MYSQL_Register
  1135. }
  1136. if(!response)
  1137. {
  1138. return SendClientMessage(playerid, 0xFF0000, "Você precisa se registrar antes de logar."),
  1139. ShowPlayerDialog(playerid, 15000, DIALOG_STYLE_INPUT, "Registrar","Insira uma senha.","Registrar","Cancelar");
  1140. }
  1141. }
  1142. if(dialogid == 15500)
  1143. {
  1144. if(!response)
  1145. {
  1146. return SendClientMessage(playerid, 0xFF0000, "Você precisa se logar antes de logar!"),
  1147. ShowPlayerDialog(playerid, 15500, DIALOG_STYLE_INPUT, "Login","Você em que logar antes de jogar cara!!","Logar","Cancelar");
  1148. }
  1149. if(response) //Clicou em Login
  1150. {
  1151. new query[200], pname[24], escapepass[100]; //
  1152. GetPlayerName(playerid, pname, 24);
  1153. mysql_real_escape_string(inputtext, escapepass);
  1154. format(query, sizeof(query), "SELECT `usuario` FROM informacoes WHERE usuario = '%s' AND senha = ('%s')", pname, escapepass);
  1155. mysql_query(query);
  1156. mysql_store_result();
  1157. new numrows = mysql_num_rows();
  1158. if(numrows == 1) MySQL_Login(playerid);
  1159. if(!numrows)
  1160. {
  1161. //senha errada
  1162. SendClientMessage(playerid, VERMELHO, "[INFO]: Senha errada.");
  1163. ShowPlayerDialog(playerid, 15500, DIALOG_STYLE_INPUT, "Login","Chegando database...\nVocê digitou a senha errada, tente novamente!","Logar","Cancelar");
  1164. }
  1165. mysql_free_result(); //LEMBRE-SE DE DAR SEMPRE FREE RESULT PARA LIBERAR O QUERY;
  1166. }
  1167. }
  1168. return 1;
  1169. }
  1170. stock MySQL_Register(playerid, passwordstring[])
  1171. {
  1172. new query[200], pname[24], ip[16];
  1173. GetPlayerName(playerid, pname, 24);
  1174. GetPlayerIp(playerid, ip, 16);
  1175. format(query, sizeof(query), "INSERT INTO `informacoes` (usuario, senha, score, dinheiro, avisos, nivel, vip, skin, admin, ip ) VALUES ('%s','%s', '%d', '%i', '%i', '%i', '%i', '%i', '%i', '%i')", pname, passwordstring, GetPlayerScore(playerid), GetPlayerMoney(playerid), PlayerInfo[playerid][mAvisos], PlayerInfo[playerid][mNivel], PlayerInfo[playerid][mVip], GetPlayerSkin(playerid), PlayerInfo[playerid][mAdmin], ip);
  1176. mysql_query(query);
  1177. SendClientMessage(playerid, AZUL, "[INFO]: Registrado e logado com sucesso.");
  1178. pLogado[playerid] = 1; //Logado
  1179. return 1;
  1180. }
  1181.  
  1182. stock MySQL_Login(playerid)
  1183. {
  1184. new query[300], pname[24], savingstring[20];
  1185. GetPlayerName(playerid, pname, 24);
  1186. format(query, sizeof(query), "SELECT * FROM informacoes WHERE usuario = '%s'", pname);
  1187. //Selecionamos apenas a variavel que é importante.
  1188. mysql_query(query);
  1189. mysql_store_result();//ARMAZENA O QUERY PARA USARMOS DEPOIS, POIS USAMOS SELECT PARA SELECIONAR, OU SEJA, TEMOS QUE ARMAZENAR O QUE SELECIONAMOS EM ALGUMA COISA NÉ.
  1190. while(mysql_fetch_row_format(query,"|"))
  1191. {
  1192. //WHILE EM APENAS UMA UNICA QUERY!
  1193. //Especialmente quando temos varias variaveis
  1194. //Pode-se usar sscanf tmb.
  1195. mysql_fetch_field_row(savingstring, "score"); SetPlayerScore(playerid, strval(savingstring));
  1196. mysql_fetch_field_row(savingstring, "dinheiro"); GivePlayerMoney(playerid, strval(savingstring));
  1197. mysql_fetch_field_row(savingstring, "avisos"); PlayerInfo[playerid][mAvisos] = strval(savingstring);
  1198. mysql_fetch_field_row(savingstring, "nivel"); PlayerInfo[playerid][mNivel] = strval(savingstring);
  1199. mysql_fetch_field_row(savingstring, "vip"); PlayerInfo[playerid][mVip] = strval(savingstring);
  1200. mysql_fetch_field_row(savingstring, "admin"); PlayerInfo[playerid][mAdmin] = strval(savingstring);
  1201. mysql_fetch_field_row(savingstring, "skin"); SetPlayerSkin(playerid, strval(savingstring));
  1202.  
  1203. }
  1204. mysql_free_result();
  1205. SendClientMessage(playerid, AMARELO, "[INFO]: Logou com sucesso!");
  1206. SpawnPlayer(playerid);
  1207. pLogado[playerid] = 1;
  1208. return 1;
  1209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement