Advertisement
losnato

[FilterScript] CAS - Complete Administration System

Oct 2nd, 2011
1,031
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 94.96 KB | None | 0 0
  1. /*
  2.                                         **************************************
  3.                                              Complete Administration System
  4.                                         **************************************
  5. Descrição:
  6.         Sistema de Administração, helpers e vips!
  7. Versão:
  8.         1.1.1
  9. Developer:
  10.         Lucas "Lós" S.
  11.         Lucas "Synchr0" G.
  12. ChangeLOG:
  13.         02/10/2011:
  14.                 Primeira versão.
  15. Thanks To:
  16.         ZeeX                    - ZCMD Command Processor.
  17.         Y_Less                  - Sscanf e foreach
  18.         Fitz_Yamaguchi          - Testes
  19.         Double-O-Seven          - DOF2
  20.         SA-MP Team              - For All.
  21. */
  22. //=================== [ INCLUDES ] ======================//
  23. #include        <       a_samp      >
  24. #include        <       zcmd        >
  25. #include        <       dof2        >
  26. #include        <       sscanf2     >
  27. #include        <       foreach     >
  28.  
  29. //================== [ DEFINIÇÕES ] ==================//
  30. #define         ADMIN_SPEC_TYPE_NONE            0
  31. #define         ADMIN_SPEC_TYPE_PLAYER          1
  32. #define         ADMIN_SPEC_TYPE_VEHICLE         2
  33.  
  34. #define         SCM                             SendClientMessage
  35. #define         SCMTA                           SendClientMessageToAll
  36.  
  37. #define         MAX_LINES                       500
  38.  
  39. #define         MAXREPVIP1                      350//REPUTAÇÃO MÁXIMA PARA UM PLAYER VIP VIRAR HELPER LEVEL 1.
  40. #define         MAXREPVIP2                      550//REPUTAÇÃO MÁXIMA PARA UM PLAYER VIP VIRAR HELPER LEVEL 2.
  41. #define         MAXREPVIP3                      750//REPUTAÇÃO MÁXIMA PARA UM PLAYER VIP VIRAR HELPER LEVEL 3.
  42. #define         MAXREPVIPADMIN                  950//REPUTAÇÃO MÁXIMA PARA UM PLAYER VIP VIRAR ADMINISTRADOR.
  43.  
  44. #define         MAXREP1                         400//REPUTAÇÃO MÁXIMA PARA UM PLAYER NORMAL VIRAR HELPER LEVEL 1..
  45. #define         MAXREP2                         600//REPUTAÇÃO MÁXIMA PARA UM PLAYER NORMAL VIRAR HELPER LEVEL 2..
  46. #define         MAXREP3                         700//REPUTAÇÃO MÁXIMA PARA UM PLAYER NORMAL VIRAR HELPER LEVEL 3..
  47. #define         MAXREPADMIN                     1000//REPUTAÇÃO MÁXIMA PARA UM PLAYER NORMAL VIRAR ADMINISTRADOR..
  48.  
  49. #define         MunicaoArmaVIP                  100//MUNIÇÃO PARA KIT VIP
  50. #define         MunicaoGranadaVIP               10 //MUNIÇÃO PARA GRANADA VIP
  51.  
  52. //--------------- [ DIALOGS ] ------------------------//
  53. #define         DIALOGO_LOGIN                   1
  54. #define         DIALOGO_REGISTRO                2
  55. #define         DialogBan                       3
  56.  
  57. //--------------- [ CORES ] --------------------------//
  58. #define         HelperColor                 0xFF00FFAA
  59. #define         AdminColor                  0x00FF70AA
  60. #define         VipColor                    0xFFF700AA
  61. #define         ErroCor                     0xFF0000AA
  62.  
  63. //================== [ NEWS & ENUMS ] ==================//
  64. enum Info
  65. {
  66.     Nick,
  67.     Senha[ 100 ],
  68.     AdminLevel,
  69.     HelperLevel,
  70.     Vip,
  71.     Dinheiro,
  72.     Avisos,
  73.     Reputation,
  74.     Skin,
  75. };
  76.  
  77. new
  78.     jInfo[MAX_PLAYERS][Info],
  79.     gSpectateID[MAX_PLAYERS],
  80.     gSpectateType[MAX_PLAYERS],
  81.     Carro[MAX_PLAYER_NAME],
  82.     AdminTrabalhando[MAX_PLAYERS],
  83.     HelperTrabalhando[MAX_PLAYERS],
  84.     Nome[MAX_PLAYER_NAME],
  85.     nomeid[MAX_PLAYER_NAME],
  86.     nomeplayerid[MAX_PLAYER_NAME],
  87.     Banido[MAX_PLAYERS],
  88.     Reputou[MAX_PLAYERS],
  89.     Float:X,
  90.     Float:Y,
  91.     Float:Z,
  92.     motivo[100],
  93.     userid,
  94.     interior,
  95.     dia, mes, ano,
  96.     minuto, segundo, hora,
  97.     grana,
  98.     skin,
  99.     level,
  100.     texto[150],
  101.     text[150],
  102.     CaminhoArquivo[150];
  103.  
  104. //================== [ FORWARDS ] ==================//
  105. MensagemParaAdmins(color,const string[]);
  106. MensagemParaHelpers(color,const string[]);
  107. MensagemParaAdmineHelper(color,const string[]);
  108. MensagemParaVips(color,const string[]);
  109. Encrypt(string[]);
  110. Contar3(playerid);
  111. Contar2(playerid);
  112. Contar1(playerid);
  113. Go(playerid);
  114. SetPlayerSpawn(playerid);
  115. Kickar(kickarid);
  116. ResetarCarros(playerid);
  117. SalvarDados(playerid);
  118. CarregarDados(playerid);
  119. ClearChatbox(playerid, lines);
  120. Desreputar(playerid);
  121.  
  122.  
  123. //--------------- [ LOGS ] -------------------//
  124. Denuncias(string[]);
  125. Duvidas(string[]);
  126. Administracao(string[]);
  127. Helper(string[]);
  128. AdministracaoeHelper(string[]);
  129. Iretrazer(string[]);
  130. MensagensPrivadas(string[]);
  131. ChatAdmin(string[]);
  132. ChatHelper(string[]);
  133. LogAvisos(string[]);
  134. Relatos(string[]);
  135. Duvidas(string[]);
  136. Kicks(string[]);
  137. Reputations(string[]);
  138.  
  139. //================= [ STOCKS ] =======================//
  140. stock IsVehicleOccupied(vehicleid)
  141. {
  142.     for( new i = 0; i < MAX_VEHICLES; i++ )
  143.     {
  144.         if(IsPlayerInAnyVehicle(i))
  145.         {
  146.             if(GetPlayerVehicleID(i)==vehicleid)
  147.             {
  148.                 return 1;
  149.             }
  150.             else
  151.             {
  152.                 return 0;
  153.             }
  154.         }
  155.     }
  156.     return 1;
  157. }
  158.  
  159. stock AntiPublic(playerid, string[])
  160. {
  161.     new sizes_s = strlen(string);
  162.     new cont = 0;
  163.     for (new i = 0 ; i <= sizes_s; i++) if ((string[ i ] >= 47) && (string[ i ] <= 58)) cont++;
  164.     if (cont >= 8 && cont <= 16)
  165.     {
  166.         for (new xs = 0; xs <= sizes_s; xs++) if((string[ xs ] == 46) || (string[ xs ] == 58))
  167.         {
  168.             format(string, sizeof(string), "{00D5FF}%s {FFFFFF}foi kickado por: {00D5FF}Auto-Kick{FFFFFF}. || Motivo: {00FF1E}Divulgação{FFFFFF}.", GetPlayerNameEx(playerid));
  169.             SCMTA(-1, string);
  170.             Kick(playerid);
  171.             return false;
  172.         }
  173.     }
  174.     return true;
  175. }
  176.  
  177. stock GetPlayerNameEx(playerid)
  178. {
  179.     new STRING[MAX_PLAYER_NAME];
  180.     GetPlayerName(playerid, STRING, sizeof STRING);
  181.     return STRING;
  182. }
  183.  
  184. stock SetPlayerMoney(playerid, money)
  185. {
  186.     ResetPlayerMoney(playerid);
  187.     return GivePlayerMoney(playerid, money);
  188. }
  189.  
  190. stock ARank(playerid)
  191. {
  192.     new aRank[ 30 ];
  193.     if(jInfo[playerid][AdminLevel] == 1) { aRank = "Temporário"; }
  194.     else if(jInfo[playerid][AdminLevel] == 2) { aRank = "Fixo"; }
  195.     else if(jInfo[playerid][AdminLevel] == 3) { aRank = "Master"; }
  196.     else if(jInfo[playerid][AdminLevel] == 4) { aRank = "Dono"; }
  197.     else if(jInfo[playerid][AdminLevel] == 5) { aRank = "Scripter"; }
  198.     return aRank;
  199. }
  200.  
  201. stock HRank(playerid)
  202. {
  203.     new hRank[ 30 ];
  204.     if(jInfo[playerid][HelperLevel] == 1) { hRank = "Temporário"; }
  205.     else if(jInfo[playerid][HelperLevel] == 2) { hRank = "Fixo"; }
  206.     else if(jInfo[playerid][HelperLevel] == 3) { hRank = "Master"; }
  207.     return hRank;
  208. }
  209. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  210. //////////////////////////////////////////////////////      PUBLICS     ////////////////////////////////////////////////////////////////////////
  211. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  212. //--------------- [ LOGS ] -------------------//
  213. public Denuncias(string[])
  214. {
  215.     format(text, sizeof(text), "%s\r\n",string);
  216.     new File:hFile;
  217.     hFile = fopen("Logs/Denuncias.log", io_append);
  218.     fwrite(hFile, text);
  219.     fclose(hFile);
  220.     return 1;
  221. }
  222.  
  223. public Administracao(string[])
  224. {
  225.     format(text, sizeof(text), "%s\r\n",string);
  226.     new File:hFile;
  227.     hFile = fopen("Logs/Administracao.log", io_append);
  228.     fwrite(hFile, text);
  229.     fclose(hFile);
  230.     return 1;
  231. }
  232.  
  233. public AdministracaoeHelper(string[])
  234. {
  235.     format(text, sizeof(text), "%s\r\n",string);
  236.     new File:hFile;
  237.     hFile = fopen("Logs/AdministracaoeHelper.log", io_append);
  238.     fwrite(hFile, text);
  239.     fclose(hFile);
  240.     return 1;
  241. }
  242.  
  243. public Iretrazer(string[])
  244. {
  245.     format(text, sizeof(text), "%s\r\n",string);
  246.     new File:hFile;
  247.     hFile = fopen("Logs/Iretrazer.log", io_append);
  248.     fwrite(hFile, text);
  249.     fclose(hFile);
  250.     return 1;
  251. }
  252.  
  253. public MensagensPrivadas(string[])
  254. {
  255.     format(text, sizeof(text), "%s\r\n",string);
  256.     new File:hFile;
  257.     hFile = fopen("Logs/MensagensPrivadas.log", io_append);
  258.     fwrite(hFile, text);
  259.     fclose(hFile);
  260.     return 1;
  261. }
  262.  
  263. public ChatAdmin(string[])
  264. {
  265.     format(text, sizeof(text), "%s\r\n",string);
  266.     new File:hFile;
  267.     hFile = fopen("Logs/ChatAdmin.log", io_append);
  268.     fwrite(hFile, text);
  269.     fclose(hFile);
  270.     return 1;
  271. }
  272.  
  273. public ChatHelper(string[])
  274. {
  275.     format(text, sizeof(text), "%s\r\n",string);
  276.     new File:hFile;
  277.     hFile = fopen("Logs/ChatHelper.log", io_append);
  278.     fwrite(hFile, text);
  279.     fclose(hFile);
  280.     return 1;
  281. }
  282.  
  283.  
  284. public LogAvisos(string[])
  285. {
  286.     format(text, sizeof(text), "%s\r\n",string);
  287.     new File:hFile;
  288.     hFile = fopen("Logs/Avisos.log", io_append);
  289.     fwrite(hFile, text);
  290.     fclose(hFile);
  291.     return 1;
  292. }
  293.  
  294. public Relatos(string[])
  295. {
  296.     format(text, sizeof(text), "%s\r\n",string);
  297.     new File:hFile;
  298.     hFile = fopen("Logs/Relatos.log", io_append);
  299.     fwrite(hFile, text);
  300.     fclose(hFile);
  301.     return 1;
  302. }
  303.  
  304. public Duvidas(string[])
  305. {
  306.     format(text, sizeof(text), "%s\r\n",string);
  307.     new File:hFile;
  308.     hFile = fopen("Logs/Duvidas.log", io_append);
  309.     fwrite(hFile, text);
  310.     fclose(hFile);
  311.     return 1;
  312. }
  313.  
  314. public Kicks(string[])
  315. {
  316.     format(text, sizeof(text), "%s\r\n",string);
  317.     new File:hFile;
  318.     hFile = fopen("Logs/Kicks.log", io_append);
  319.     fwrite(hFile, text);
  320.     fclose(hFile);
  321.     return 1;
  322. }
  323.  
  324. public Reputations(string[])
  325. {
  326.     format(text, sizeof(text), "%s\r\n",string);
  327.     new File:hFile;
  328.     hFile = fopen("Logs/Reputation.log", io_append);
  329.     fwrite(hFile, text);
  330.     fclose(hFile);
  331.     return 1;
  332. }
  333.  
  334.  
  335. //============ [ CONTAGEM ] ============//
  336. public Contar3(playerid)
  337. {
  338.     SetTimerEx("Contar2", 1000, false, "i", playerid);
  339.     foreach(Player, i)
  340.     {
  341.         PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  342.     }
  343.     GameTextForAll("~b~] 3 ] !", 1500, 3);
  344.     return 1;
  345. }
  346.  
  347. public Contar2(playerid)
  348. {
  349.     SetTimerEx("Contar1", 1000, false, "i", playerid);
  350.     foreach(Player, i)
  351.     {
  352.         PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  353.     }
  354.     GameTextForAll("~b~] 2 ] !", 1500, 3);
  355.     return 1;
  356. }
  357.  
  358. public Contar1(playerid)
  359. {
  360.     SetTimerEx("Go", 1000, false, "i", playerid);
  361.     foreach(Player, i)
  362.     {
  363.         PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  364.     }
  365.     GameTextForAll("~b~] 1 ] !", 1500, 3);
  366.     return 1;
  367. }
  368.  
  369. public Go(playerid)
  370. {
  371.     foreach(Player, i)
  372.     {
  373.         PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  374.     }
  375.     GameTextForAll("~r~GO ! GO ! GO !", 1500, 3);
  376.     return 1;
  377. }
  378.  
  379.  
  380. public ResetarCarros(playerid)
  381. {
  382.     for( new v = 0; v < MAX_VEHICLES; v++ ){if(!IsVehicleOccupied(v)) return SetVehicleToRespawn(v);}
  383.     new string[102];
  384.     format(string, sizeof(string), "OS CARROS INUTILIZADOS FORÃO RESETADOS.",GetPlayerNameEx(playerid));
  385.     SCMTA(-1, string);
  386.     return 1;
  387. }
  388.  
  389. public SalvarDados(playerid)
  390. {
  391.     GetPlayerName(playerid, Nome, sizeof(Nome));
  392.     format(CaminhoArquivo, sizeof(CaminhoArquivo), "Contas/%s.ini", Nome);
  393.     if(!DOF2_FileExists(CaminhoArquivo)) DOF2_CreateFile(CaminhoArquivo);
  394.     DOF2_SetInt(CaminhoArquivo, "Skin", jInfo[playerid][Skin]);
  395.     DOF2_SetInt(CaminhoArquivo, "Dinheiro", GetPlayerMoney(playerid));
  396.     DOF2_SetInt(CaminhoArquivo, "Avisos", jInfo[playerid][Avisos]);
  397.     DOF2_SetInt(CaminhoArquivo, "AdminLevel", jInfo[playerid][AdminLevel]);
  398.     DOF2_SetInt(CaminhoArquivo, "HelperLevel", jInfo[playerid][HelperLevel]);
  399.     DOF2_SetInt(CaminhoArquivo, "Vip", jInfo[playerid][Vip]);
  400.     DOF2_SetInt(CaminhoArquivo, "Reputations", jInfo[playerid][Reputation]);
  401.     return 1;
  402. }
  403.  
  404. public CarregarDados(playerid)
  405. {
  406.     GetPlayerName(playerid, Nome, sizeof(Nome));
  407.     format(CaminhoArquivo, sizeof(CaminhoArquivo), "Contas/%s.ini",Nome);
  408.     if(!DOF2_FileExists(CaminhoArquivo)) return 1;
  409.     SetPlayerSkin(playerid, DOF2_GetInt(CaminhoArquivo, "Skin"));
  410.     SetPlayerMoney(playerid, DOF2_GetInt(CaminhoArquivo, "Dinheiro"));
  411.     jInfo[playerid][Avisos] = (playerid, DOF2_GetInt(CaminhoArquivo, "Avisos"));
  412.     jInfo[playerid][AdminLevel] = (playerid, DOF2_GetInt(CaminhoArquivo, "AdminLevel"));
  413.     jInfo[playerid][HelperLevel] = (playerid, DOF2_GetInt(CaminhoArquivo, "HelperLevel"));
  414.     jInfo[playerid][Vip] = (playerid, DOF2_GetInt(CaminhoArquivo, "Vip"));
  415.     jInfo[playerid][Reputation] = (playerid, DOF2_GetInt(CaminhoArquivo, "Reputations"));
  416.     return 1;
  417. }
  418.  
  419. public Encrypt(string[])
  420. {
  421.     for(new x=0; x < strlen(string); x++)
  422.     {
  423.         string[x] += (3^x) * (x % 15);
  424.         if(string[x] > (0xff))
  425.         {
  426.             string[x] -= 256;
  427.         }
  428.     }
  429.     return 1;
  430. }
  431.  
  432. public ClearChatbox(playerid, lines)
  433. {
  434.     for(new i=0; i<lines; i++){SCM(playerid, -1, " ");}
  435.     return 1;
  436. }
  437.  
  438. public MensagemParaAdmins(color,const string[])
  439. {
  440.     foreach(Player, i)
  441.     {
  442.         if (jInfo[i][AdminLevel] >= 1)
  443.         {
  444.             SCM(i, color, string);
  445.         }
  446.     }
  447.     return 1;
  448. }
  449.  
  450. public MensagemParaHelpers(color,const string[])
  451. {
  452.     foreach(Player, i)
  453.     {
  454.         if (jInfo[i][HelperLevel] >= 1)
  455.         {
  456.             SCM(i, color, string);
  457.         }
  458.     }
  459.     return 1;
  460. }
  461.  
  462. public MensagemParaAdmineHelper(color,const string[])
  463. {
  464.     foreach(Player, i)
  465.     {
  466.         if (jInfo[i][AdminLevel] >= 1 || jInfo[i][HelperLevel] >= 1)
  467.         {
  468.             SCM(i, color, string);
  469.         }
  470.     }
  471.     return 1;
  472. }
  473.  
  474. public Desreputar(playerid)
  475. {
  476.     Reputou[playerid] = 0;
  477.     SCM(playerid, -1, "Você já pode reputar alguem novamente (:");
  478.     return 1;
  479. }
  480.  
  481. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  482. {
  483.     if(newkeys == KEY_SECONDARY_ATTACK)
  484.     {
  485.         if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
  486.         {
  487.             SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  488.         }
  489.     }
  490.     return 1;
  491. }
  492.  
  493. public Kickar(kickarid) return Kick(kickarid);
  494.  
  495. public OnFilterScriptExit()
  496. {
  497.     DOF2_Exit();
  498.     return 1;
  499. }
  500.  
  501. public OnFilterScriptInit()
  502. {
  503.     printf("|=====================================================================|");
  504.     printf("|                                                                     |");
  505.     printf("| Sistema de Administração, Vips & Helpers Carregado com Sucesso!     |");
  506.     printf("| Desenvolvido por: Lós & Larceny.                                    |");
  507.     printf("| BETA Tester: Fitz_Yamaguchi.                                        |");
  508.     printf("|                                                                     |");
  509.     printf("|=====================================================================|");
  510.     return 1;
  511. }
  512.  
  513. public OnPlayerConnect(playerid)
  514. {
  515.     new Name[MAX_PLAYER_NAME];
  516.     new stringA[ 100 ];
  517.     GetPlayerName(playerid,Name,sizeof(Name));
  518.     format(stringA, sizeof(stringA), "Banimentos/%s.ini", Name);
  519.     if(DOF2_FileExists(stringA))
  520.     {
  521.         new Baniu[24], PMotivo[128];
  522.         new BDia = DOF2_GetInt(stringA, "Dia");
  523.         new BMes = DOF2_GetInt(stringA, "Mes");
  524.         new BHora = DOF2_GetInt(stringA, "Hora");
  525.         new BMinuto = DOF2_GetInt(stringA, "Minuto");
  526.         format(Baniu, sizeof(Baniu), "%s", DOF2_GetString(stringA, "Admin"));
  527.         format(PMotivo, sizeof(PMotivo), "%s", DOF2_GetString(stringA, "Motivo"));
  528.         new stringcat[600], string[164];
  529.         strcat(stringcat, "{0008FF}|=========================== {00FFD5}BANIMENTO {0008FF}===========================|\n");
  530.         strcat(stringcat, "{FFFFFF} ATENÇÃO! VOCÊ ESTÁ BANIDO DO SERVIDOR\n");
  531.         format(string, sizeof(string), "{FFFFFF} Quem te baniu: {00FFD5}%s\n", Baniu);
  532.         strcat(stringcat, string);
  533.         format(string, sizeof(string), "{FFFFFF} Motivo: {00FFD5}%s\n", PMotivo);
  534.         strcat(stringcat, string);
  535.         format(string, sizeof(string), "{FFFFFF} Dia: %02d/%02d e Hora: {00FFD5}%02d:%02d\n", BDia, BMes, BHora, BMinuto);
  536.         strcat(stringcat, string);
  537.         strcat(stringcat, "{0008FF}|=========================== {00FFD5}BANIMENTO {0008FF}===========================|");
  538.         ShowPlayerDialog(playerid, DialogBan, DIALOG_STYLE_MSGBOX,"Banimento", stringcat, "Ok", "");
  539.         Kick(playerid);
  540.         jInfo[playerid][Avisos] = 0;
  541.     }
  542.     new stringB[ 100 ];
  543.     GetPlayerName(playerid,Name,sizeof(Name));
  544.     format(stringB, sizeof(stringB), "Contas/%s.ini", Name);
  545.     if(Banido[playerid] == 0)
  546.     {
  547.         new string[300];
  548.         format(string, sizeof(string), "..:: %s [ {FF00FF}%d{FFFFFF} ] se conectou no servidor! ::..", GetPlayerNameEx(playerid), playerid);
  549.         SCMTA(-1, string);
  550.         if(DOF2_FileExists(stringB))
  551.         {
  552.             format(string, sizeof(string), "{FFFF00}***********************************************\n\n{FFFFFF}Olá {00D5FF}%s, \n\n{FFFF00}********  STATUS  DA  CONTA ********\n\n{32CD32}Sua conta já está registrada.\n\n{FFFF00}***********************************************\n\n{FFFFFF}Insira sua senha para logar:", Name);
  553.             ShowPlayerDialog(playerid, DIALOGO_LOGIN, DIALOG_STYLE_INPUT, "{FFFFFF}Login", string, "Login", "Sair");
  554.         }
  555.         if(!DOF2_FileExists(stringB))
  556.         {
  557.             format(string, sizeof(string), "{FFFF00}***********************************************\n\n{FFFFFF}Olá {00D5FF}%s \n\n{FFFF00}********  STATUS  DA  CONTA  ********\n\n{EE0000}Sua conta ainda não está registrada.\n\n{FFFF00}***********************************************\n\n{FFFFFF}Insira uma senha para se registrar:", Name);
  558.             ShowPlayerDialog(playerid, DIALOGO_REGISTRO, DIALOG_STYLE_INPUT, "{FFFFFF}Registro", string, "Registrar", "Sair");
  559.         }
  560.         return 1;
  561.     }
  562.     return 1;
  563. }
  564.  
  565. public OnPlayerDisconnect(playerid, reason)
  566. {
  567.     SalvarDados(playerid);
  568.     new string[164];
  569.     if(!IsPlayerNPC(playerid))
  570.     {
  571.         switch(reason)
  572.         {
  573.             case 0: format(string, sizeof(string), "{00D5FF} %s {FFFFFF}se desconectou do servidor. {7CFC00}[Crash]", GetPlayerNameEx(playerid));
  574.             case 1: format(string, sizeof(string), "{00D5FF} %s {FFFFFF}se desconectou do servidor. {7CFC00}[Conta Própria]", GetPlayerNameEx(playerid));
  575.             case 2: format(string, sizeof(string), "{00D5FF}%s {FFFFFF}se desconectou do servidor. {7CFC00}[Kickado ou Banido]", GetPlayerNameEx(playerid));
  576.         }
  577.         SCMTA(-1, string);
  578.     }
  579.     DestroyVehicle(Carro[playerid]);
  580.     return 1;
  581. }
  582.  
  583. public OnPlayerDeath(playerid, killerid, reason)
  584. {
  585.     DestroyVehicle(Carro[playerid]);
  586.     return 1;
  587. }
  588.  
  589. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  590. {
  591.     new x = 0;
  592.     while(x!=MAX_PLAYERS)
  593.     {
  594.         if( IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
  595.         gSpectateID[x] == playerid && gSpectateType[x] == ADMIN_SPEC_TYPE_PLAYER )
  596.         {
  597.             SetPlayerInterior(x,newinteriorid);
  598.         }
  599.         x++;
  600.     }
  601.     return 1;
  602. }
  603.  
  604. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  605. {
  606.     switch(dialogid)
  607.     {
  608.         case DIALOGO_LOGIN:
  609.         {
  610.             if(response)
  611.             {
  612.                 if(!strlen(inputtext))
  613.                 {
  614.                     new string[300];
  615.                     format(string, sizeof(string), "{FFFF00}***********************************************\n\n{FFFFFF}Olá {00D5FF}%s \n\n{FFFF00}********  STATUS  DA  CONTA  ********\n\n{32CD32}Sua conta está registrada.\n\n{FFFF00}***********************************************\n\n{FFFFFF}Insira uma senha para se logar:", GetPlayerNameEx(playerid));
  616.                     ShowPlayerDialog(playerid, DIALOGO_LOGIN, DIALOG_STYLE_INPUT, "{FFFFFF}login", string, "Login", "Sair");
  617.                     return 1;
  618.                 }
  619.                 else
  620.                 {
  621.                     new string[300];
  622.                     new FileToWrite[35];
  623.                     format(FileToWrite, sizeof(FileToWrite), "Contas/%s.ini", GetPlayerNameEx(playerid));
  624.                     if(strcmp(inputtext,DOF2_GetString(FileToWrite, "Senha"), true ) == 0 )
  625.                     {
  626.                         CarregarDados(playerid);
  627.                         SpawnPlayer(playerid);
  628.                         if(jInfo[playerid][AdminLevel] >= 1)
  629.                         {
  630.                             format(string, sizeof(string), "Você logou como {00FF70}Administrador %s.", ARank(playerid));
  631.                             SCM(playerid, -1, string);
  632.                             format(string, sizeof(string), "..:: [ {00FF70}Administrador %s{FFFFFF} ] {FF0000}%s {FFFFFF}está online! ::..", ARank(playerid), GetPlayerNameEx(playerid));
  633.                             SCMTA(-1, string);
  634.                         }
  635.                         if(jInfo[playerid][HelperLevel] >= 1)
  636.                         {
  637.                             format(string, sizeof(string), "Você logou como {FF00FF}Helper %s.", ARank(playerid));
  638.                             SCM(playerid, -1, string);
  639.                             format(string, sizeof(string), "..:: [ {FF00FF}Helper %s{FFFFFF} ] {FF0000}%s {FFFFFF}está online! ::..", ARank(playerid), GetPlayerNameEx(playerid));
  640.                             SCMTA(-1, string);
  641.                         }
  642.                         if(jInfo[playerid][Avisos] != 0)
  643.                         {
  644.                             format(string, sizeof(string), "{FF0000}Atenção{FFFFFF}! Você já tem {FF0000}%d {FFFFFF}avisos, com {FF0000}3{FFFFFF} você é banido!", jInfo[playerid][Avisos]);
  645.                             SCM(playerid, -1, string);
  646.                         }
  647.                         else
  648.                         {
  649.                             SCM(playerid, -1, "Parabéns, você não tem nenhum aviso! Continue assim!");
  650.                         }
  651.                     }
  652.                     else
  653.                     {
  654.                         format(string, sizeof(string), "{FFFF00}***********************************************\n\n{FFFFFF}Olá {00D5FF}%s \n\n{FFFF00}********  STATUS  DA  CONTA  ********\n\n{EE0000}INSIRA SUA SENHA CORRETA!\n\n{FFFF00}*******************************************************\n\n{FFFFFF}Insira sua senha para logar:", GetPlayerNameEx(playerid));
  655.                         ShowPlayerDialog(playerid, DIALOGO_LOGIN, DIALOG_STYLE_INPUT, "{FFFFFF}Login", string, "Login", "Sair");
  656.                     }
  657.                 }
  658.             }
  659.             else
  660.             {
  661.                 new string[300];
  662.                 format(string, sizeof(string),"%s[%d] foi kickado. Motivo: Escolheu sair ou deu ESC na login box.", GetPlayerNameEx(playerid), playerid);
  663.                 SCMTA(-1, string);
  664.                 Kick(playerid);
  665.             }
  666.             return 1;
  667.         }
  668.         case DIALOGO_REGISTRO:
  669.         {
  670.             if(response)
  671.             {
  672.                 if(!strlen(inputtext))
  673.                 {
  674.                     new string[300];
  675.                     format(string, sizeof(string), "{FFFF00}***********************************************\n\n{FFFFFF}Olá {00D5FF}%s \n\n{FFFF00}********  STATUS  DA  CONTA  ********\n\n{EE0000}Sua conta ainda não está registrada.\n\n{FFFF00}***********************************************\n\n{FFFFFF}Insira uma senha para se registrar:", GetPlayerNameEx(playerid));
  676.                     ShowPlayerDialog(playerid, DIALOGO_REGISTRO, DIALOG_STYLE_INPUT, "{FFFFFF}Registro", string, "Registrar", "Sair");
  677.                     return 1;
  678.                 }
  679.                 SCM(playerid, -1, "Registrado com sucesso!");
  680.                 new FileToWrite[35];
  681.                 format(FileToWrite, sizeof(FileToWrite), "Contas/%s.ini", GetPlayerNameEx(playerid));
  682.                 DOF2_CreateFile(FileToWrite);
  683.                 DOF2_SetString(FileToWrite, "Senha", inputtext);
  684.                 jInfo[playerid][Dinheiro] = 0;
  685.                 jInfo[playerid][Avisos] = 0;
  686.                 jInfo[playerid][AdminLevel] = 0;
  687.                 jInfo[playerid][HelperLevel] = 0;
  688.                 jInfo[playerid][Vip] = 0;
  689.                 jInfo[playerid][Reputation] = 0;
  690.                 SpawnPlayer(playerid);
  691.             }
  692.             else
  693.             {
  694.                 new string[300];
  695.                 format(string, sizeof(string),"{00D5FF}%s[%d] {FFFFFF}foi kickado. Motivo: {00FF1E}Escolheu sair na login box{FFFFFF}.",GetPlayerNameEx(playerid), playerid);
  696.                 SCMTA(-1, string);
  697.                 Kick(playerid);
  698.             }
  699.         }
  700.     }
  701.     return 1;
  702. }
  703.  
  704. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  705. //////////////////////////////////////////////////////      COMANDOS     ///////////////////////////////////////////////////////////////////////
  706. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  707.  
  708. //======================= [ COMANDOS ADMINISTRATIVOS ] ==========================//
  709. CMD:cv(playerid, params[])
  710. {
  711.     new string[300];
  712.     if(jInfo[playerid][AdminLevel] > 1 || jInfo[playerid][HelperLevel] > 0)
  713.     {
  714.         if(AdminTrabalhando[playerid] == 1 || HelperTrabalhando[playerid] == 1)
  715.         {
  716.             new carro, cor1 = -1, cor2 = -1;
  717.             GetPlayerName(playerid, Nome, sizeof(Nome));
  718.             if(sscanf(params, "iii",carro, cor1, cor2)) return SCM(playerid, ErroCor, "Use: {FFFFFF}/cv {00E5FF}[Modelo] [Cor1] [Cor2]");
  719.             if(400 < (carro) > 611) return SCM(playerid, ErroCor, "O modelo tem que ser entre {00E5FF}400 {FFFFFF}e {00E5FF}611");
  720.             DestroyVehicle(Carro[playerid]);
  721.             GetPlayerPos(playerid, X, Y, Z);
  722.             Carro[playerid] = CreateVehicle(carro, X, Y, Z-1, 0.0, cor1, cor2, 25000);
  723.             PutPlayerInVehicle(playerid, Carro[playerid], 0);
  724.             getdate(ano, mes, dia);
  725.             gettime(hora, minuto, segundo);
  726.             format(string, sizeof(string), "(%d/%d/%d)[%d:%d:%d] O Administrador %s, criou um carro.",dia, mes, ano, hora, minuto, segundo, Nome);
  727.             Administracao(string);
  728.             return 1;
  729.         }
  730.         SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  731.     }
  732.     else
  733.     {
  734.         SCM(playerid, ErroCor, "Você não está autorizado.");
  735.     }
  736.     return 1;
  737. }
  738. CMD:gmx(playerid,params[])
  739. {
  740.     new string[300];
  741.     if(jInfo[playerid][AdminLevel] < 2) return SCM(playerid, ErroCor, "Você não está autorizado.");
  742.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  743.     if(sscanf(params, "s", params)) return SCM(playerid, ErroCor, "USO: /gmx {00E5FF}[Motivo]");
  744.     SCMTA(-1,"{0008FF}|=========================== {00FFD5}GMX {0008FF}===========================|");
  745.     SCMTA(-1, "GMX é a reinicialização do servidor.");
  746.     format(string, sizeof(string), "GMX dado por: {00FFD5}%s", GetPlayerNameEx(playerid));
  747.     SCMTA(-1, string);
  748.     format(string, sizeof(string), "Motivo: {00FFD5}%s",params);
  749.     SCMTA(-1, string);
  750.     SCMTA(-1,"{0008FF}|===========================================================|");
  751.     SendRconCommand("gmx");
  752.     getdate(ano, mes, dia);
  753.     gettime(hora, minuto, segundo);
  754.     format(string, sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s deu GMX. Motivo: %s.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid),params);
  755.     Administracao(string);
  756.     return 1;
  757. }
  758.  
  759. CMD:daradmin(playerid, params[])
  760. {
  761.     new string[300];
  762.     if(jInfo[playerid][AdminLevel] <= 4) return SCM(playerid, ErroCor, "Você não está autorizado.");
  763.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  764.     if(jInfo[userid][AdminLevel] != 0) return SCM(playerid, ErroCor, "Esse jogador já é administrador.");
  765.     if(sscanf(params, "u", userid)) return SCM(playerid, ErroCor, "USE: /daradmin {00E5FF}[playerid]");
  766.     jInfo[userid][AdminLevel] = 1;
  767.     SalvarDados(playerid);
  768.     format(string, sizeof(string), "Você foi setado como Administrador Temporário pelo administrador {00FF70}%s{FFFFFF}.", GetPlayerNameEx(playerid));
  769.     SCM(userid, -1, string);
  770.     format(string, sizeof(string), "Você setou {00FF70}%s{FFFFFF} como Administrador Temporário.", GetPlayerNameEx(userid));
  771.     SCM(playerid, -1, string);
  772.     format(string, sizeof(string),"Há um novo administrador no servidor. {00FF70}(%s){FFFFFF}. Parabéns :)", GetPlayerNameEx(userid));
  773.     SCMTA(-1,string);
  774.     getdate(ano, mes, dia);
  775.     gettime(hora, minuto, segundo);
  776.     format(string, sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s setou %s como Administrador Temporário.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid),GetPlayerNameEx(userid));
  777.     Administracao(string);
  778.     return 1;
  779. }
  780.  
  781. CMD:demitiradmin(playerid, params[])
  782. {
  783.     new string[300];
  784.     if(jInfo[playerid][AdminLevel] < 5) return SCM(playerid, ErroCor, "Você não está autorizado.");
  785.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  786.     if(jInfo[userid][AdminLevel] == 5) return SCM(playerid, ErroCor, "Você não pode demitir um administrador scripter.");
  787.     if(sscanf(params, "u", userid)) return SCM(playerid, ErroCor, "USE: /demitiradmin {00E5FF}[playerid]");
  788.     jInfo[userid][AdminLevel] = 0;
  789.     SalvarDados(playerid);
  790.     format(string, sizeof(string), "Você foi demitido da administração pelo administrador {00E5FF}%s{FFFFFF}.", GetPlayerNameEx(playerid));
  791.     SCM(userid, -1, string);
  792.     format(string, sizeof(string), "Você demitiu {00E5FF}%s{FFFFFF} da administração.", GetPlayerNameEx(userid));
  793.     SCM(playerid, -1, string);
  794.     format(string, sizeof(string),"{00E5FF}%s{FFFFFF} foi demitido da administração do servidor.", GetPlayerNameEx(userid));
  795.     SCMTA(-1,string);
  796.     getdate(ano, mes, dia);
  797.     gettime(hora, minuto, segundo);
  798.     format(string, sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s demitiu %s da administração do servidor.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid),GetPlayerNameEx(userid));
  799.     Administracao(string);
  800.     return 1;
  801. }
  802.  
  803. CMD:promoveradmin(playerid, params[])
  804. {
  805.     new string[300];
  806.     if(jInfo[playerid][AdminLevel] < 5) return SCM(playerid, ErroCor, "Você não está autorizado.");
  807.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  808.     if(jInfo[userid][AdminLevel] < 1 || jInfo[userid][AdminLevel] == 5) return SCM(playerid, ErroCor, "Esse jogador não é administrador ou é administrador scripter.");
  809.     if(sscanf(params, "ud", userid, level)) return SCM(playerid, ErroCor, "USE: /promoveradmin {00E5FF}[playerid] [level]");
  810.     if(2 < (level) > 5) return SCM(playerid, ErroCor, "USO: Level somente de {00E5FF}2 {FFFFFF}a {00E5FF}5");
  811.     jInfo[userid][AdminLevel] = level;
  812.     SalvarDados(playerid);
  813.     format(string, sizeof(string), "Você foi promovido para Administrador level {00FF70}%d{FFFFFF} pelo administrador {00FF70}%s{FFFFFF}.", level, GetPlayerNameEx(playerid));
  814.     SCM(userid, -1, string);
  815.     format(string, sizeof(string), "Você promoveu {00FF70}%s{FFFFFF} para Administrador level {00FF70}%d{FFFFFF}.", userid, level);
  816.     SCM(playerid, -1, string);
  817.     format(string, sizeof(string),"O administrador {00FF70}%s{FFFFFF} foi promovido para administrador level {00FF70}%d{FFFFFF}. Parabéns :)", GetPlayerNameEx(userid), level);
  818.     SCMTA(-1,string);
  819.     getdate(ano, mes, dia);
  820.     gettime(hora, minuto, segundo);
  821.     format(string, sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s promoveu %s para Administrador level %d.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid), userid);
  822.     Administracao(string);
  823.     return 1;
  824. }
  825.  
  826. CMD:darhelper(playerid, params[])
  827. {
  828.     new string[300];
  829.     if(jInfo[playerid][AdminLevel] < 5 ) return SCM(playerid, ErroCor, "Você não está autorizado.");
  830.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  831.     if(sscanf(params, "u", userid)) return SCM(playerid, ErroCor, "USE: /darhelper {00E5FF}[playerid]");
  832.     if(jInfo[userid][HelperLevel] >= 1 || jInfo[userid][AdminLevel] >= 1) return SCM(playerid, ErroCor, "Esse player é administrador, ou já é helper.");
  833.     jInfo[userid][HelperLevel] = 1;
  834.     SalvarDados(playerid);
  835.     format(string, sizeof(string), "Você foi setado como Helper Temporário pelo administrador {FF00FF}%s{FFFFFF}.", GetPlayerNameEx(playerid));
  836.     SCM(userid, -1, string);
  837.     format(string, sizeof(string), "Você setou {FF00FF}%s{FFFFFF} como Helper Temporário.", GetPlayerNameEx(userid));
  838.     SCM(playerid, -1, string);
  839.     format(string, sizeof(string),"Há um novo Helper no servidor. {FF00FF}(%s){FFFFFF}. Parabéns :)", GetPlayerNameEx(userid));
  840.     SCMTA(-1,string);
  841.     getdate(ano, mes, dia);
  842.     gettime(hora, minuto, segundo);
  843.     format(string, sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s setou %s como Helper Temporário.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid),GetPlayerNameEx(userid));
  844.     AdministracaoeHelper(string);
  845.     return 1;
  846. }
  847.  
  848. CMD:demitirhelper(playerid, params[])
  849. {
  850.     new string[300];
  851.     if(jInfo[playerid][AdminLevel] < 5) return SCM(playerid, ErroCor, "Você não está autorizado.");
  852.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  853.     if(sscanf(params, "u", userid)) return SCM(playerid, ErroCor, "USE: /demitirhelper {00E5FF}[playerid]");
  854.     jInfo[userid][HelperLevel] = 0;
  855.     SalvarDados(playerid);
  856.     format(string, sizeof(string), "Você foi demitido de helper pelo Administrador {00E5FF}%s{FFFFFF}.", GetPlayerNameEx(playerid));
  857.     SCM(userid, -1, string);
  858.     format(string, sizeof(string), "Você demitiu {00D5FF}%s{FFFFFF} dos helpers.", GetPlayerNameEx(userid));
  859.     SCM(playerid, -1, string);
  860.     format(string, sizeof(string),"{00D5FF}%s{FFFFFF} foi retirado de helper do servidor.", GetPlayerNameEx(userid));
  861.     SCMTA(-1,string);
  862.     getdate(ano, mes, dia);
  863.     gettime(hora, minuto, segundo);
  864.     format(string, sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s retirou %s de helper do servidor.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid),GetPlayerNameEx(userid));
  865.     AdministracaoeHelper(string);
  866.     return 1;
  867. }
  868.  
  869. CMD:promoverhelper(playerid, params[])
  870. {
  871.     new string[300];
  872.     if(jInfo[playerid][AdminLevel] < 5) return SCM(playerid, ErroCor, "Você não está autorizado.");
  873.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  874.     if(jInfo[userid][HelperLevel] < 1) return SCM(playerid, ErroCor, "Esse jogador não é Helper.");
  875.     if(sscanf(params, "ud", userid, level)) return SCM(playerid, ErroCor, "USE: /promoverhelper {00E5FF}[playerid] [level]");
  876.     if(2 < (level) > 3) return SCM(playerid, ErroCor, "USO: Level somente de {00E5FF}2 {FFFFFF}a {00E5FF}3");
  877.     jInfo[userid][HelperLevel] = level;
  878.     SalvarDados(playerid);
  879.     format(string, sizeof(string), "Você foi promovido para Helper level {00FF70}%d{FFFFFF} pelo administrador {00FF70}%s{FFFFFF}.", level, GetPlayerNameEx(playerid));
  880.     SCM(userid, -1, string);
  881.     format(string, sizeof(string), "Você promoveu {00FF70}%s{FFFFFF} para Helper level {00FF70}%d{FFFFFF}.", userid, level);
  882.     SCM(playerid, -1, string);
  883.     format(string, sizeof(string),"O helper {00FF70}%s{FFFFFF} foi promovido para Helper level {00FF70}%d{FFFFFF}. Parabéns :)", userid, level);
  884.     SCMTA(-1,string);
  885.     getdate(ano, mes, dia);
  886.     gettime(hora, minuto, segundo);
  887.     format(string, sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s promoveu %s para Helper level %d.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid), userid);
  888.     AdministracaoeHelper(string);
  889.     return 1;
  890. }
  891.  
  892. CMD:dardinheiro(playerid, params[])
  893. {
  894.     new string[300];
  895.     if(jInfo[playerid][AdminLevel] < 2) return SCM(playerid, ErroCor, "Você não está autorizado.");
  896.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  897.     if(sscanf(params, "ud", userid, grana)) return SCM(playerid, ErroCor, "USE: /dardinheiro {00E5FF}[userid] [grana]");
  898.     GivePlayerMoney(userid, grana);
  899.     format(string, sizeof(string), "Você deu {00E5FF}$%d{FFFFFF} para {00E5FF}%s{FFFFFF}.", grana, GetPlayerNameEx(userid));
  900.     SCM(playerid, -1, string);
  901.     format(string, sizeof(string), "O administrador {00E5FF}%s{FFFFFF} te deu {00E5FF}$%d{FFFFFF}.", GetPlayerNameEx(playerid), grana);
  902.     SCM(userid, -1, string);
  903.     getdate(ano, mes, dia);
  904.     gettime(hora, minuto, segundo);
  905.     format(string, sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s deu %d para $%s .",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid), grana, GetPlayerNameEx(userid));
  906.     Administracao(string);
  907.     return 1;
  908. }
  909.  
  910. CMD:pegaradmin(playerid, params[])
  911. {
  912.     new string[300];
  913.     if(!IsPlayerAdmin(playerid)) return SCM(playerid, ErroCor, "Você não é um administrador logado na RCON!");
  914.     jInfo[playerid][AdminLevel] = 5;
  915.     format(string, sizeof(string), "Você se setou como Administrador Scripter.");
  916.     SCM(playerid, -1, string);
  917.     SalvarDados(playerid);
  918.     getdate(ano, mes, dia);
  919.     gettime(hora, minuto, segundo);
  920.     format(string, sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s se setou como Administrador Scripter.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid));
  921.     Administracao(string);
  922.     return 1;
  923. }
  924.  
  925. CMD:ir(playerid, params[])
  926. {
  927.     new string[300];
  928.     if(jInfo[playerid][AdminLevel] > 0 || jInfo[playerid][HelperLevel] > 0)
  929.     {
  930.         if(AdminTrabalhando[playerid] != 0 || HelperTrabalhando[playerid] != 0)
  931.         {
  932.             if(sscanf(params, "u", userid)) return SCM(playerid, ErroCor, "USE: /ir {00E5FF}[playerid]");
  933.             if(GetPlayerState(playerid) == 2)
  934.             {
  935.                 SetVehiclePos(GetPlayerVehicleID(playerid), X, Y+4, Z);
  936.                 return 1;
  937.             }
  938.             GetPlayerPos(userid, X, Y, Z);
  939.             interior = GetPlayerInterior(userid);
  940.             SetPlayerInterior(playerid, interior);
  941.             SetPlayerPos(playerid, X, Y, Z);
  942.             if(jInfo[playerid][AdminLevel] >= 1)
  943.             {
  944.                 format(string, sizeof(string),"{00FF70}** {00FF70}%s {FFFFFF}foi até o jogador {00E5FF}%s{FFFFFF}. {FF1900}**",GetPlayerNameEx(playerid), GetPlayerNameEx(userid));
  945.                 MensagemParaAdmins(-1, string);
  946.                 format(string, sizeof(string),"O administrador {00FF70}%s{FFFFFF} veio até você",GetPlayerNameEx(playerid));
  947.                 SCM(userid, -1, string);
  948.             }
  949.             else if(jInfo[playerid][HelperLevel] >= 1)
  950.             {
  951.                 format(string, sizeof(string),"{00FF70}** {00FF70}%s {FFFFFF}foi até o jogador {00E5FF}%s{FFFFFF}. {FF1900}**",GetPlayerNameEx(playerid), GetPlayerNameEx(userid));
  952.                 MensagemParaHelpers(-1, string);
  953.                 format(string, sizeof(string),"O helper {00FF70}%s{FFFFFF} veio até você",GetPlayerNameEx(playerid));
  954.                 SCM(userid, -1, string);
  955.             }
  956.             getdate(ano, mes, dia);
  957.             gettime(hora, minuto, segundo);
  958.             format(string, sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s foi até o jogador %s.",dia, mes, ano, hora, minuto, segundo,GetPlayerNameEx(playerid),GetPlayerNameEx(userid));
  959.             Iretrazer(string);
  960.             return 1;
  961.         }
  962.         else
  963.         {
  964.             SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  965.         }
  966.     }
  967.     else
  968.     {
  969.         SCM(playerid, ErroCor, "Você não está autorizado.");
  970.     }
  971.     return 1;
  972. }
  973.  
  974. CMD:trazer(playerid, params[])
  975. {
  976.     new string[300];
  977.     if(jInfo[playerid][AdminLevel] > 0 || jInfo[playerid][HelperLevel] > 0)
  978.     {
  979.         if(AdminTrabalhando[playerid] != 0 || HelperTrabalhando[playerid] != 0)
  980.         {
  981.             if(sscanf(params, "u", userid)) return SCM(playerid, ErroCor, "USE: /trazer {00E5FF}[playerid]");
  982.             interior = GetPlayerInterior(userid);
  983.             if(GetPlayerState(playerid) == 2)
  984.             {
  985.                 SetVehiclePos(GetPlayerVehicleID(userid), X, Y+4, Z);
  986.                 return 1;
  987.             }
  988.             GetPlayerPos(playerid,X, Y, Z);
  989.             SetPlayerPos(userid, X+0.5, Y, Z);
  990.             if(jInfo[playerid][AdminLevel] >= 1)
  991.             {
  992.                 format(string, sizeof(string),"{00FF70}** {00FF70}%s {FFFFFF}trouxe o jogador {00E5FF}%s{FFFFFF} até ele. {FF1900}**",GetPlayerNameEx(playerid), GetPlayerNameEx(userid));
  993.                 MensagemParaAdmins(-1, string);
  994.                 format(string, sizeof(string),"O administrador {00FF70}%s{FFFFFF} trouxe você até ele.",GetPlayerNameEx(playerid));
  995.                 SCM(userid, -1, string);
  996.             }
  997.             else if(jInfo[playerid][HelperLevel] >= 1)
  998.             {
  999.                 format(string, sizeof(string),"{00FF70}** {00FF70}%s {FFFFFF}trouxe o jogador {00E5FF}%s{FFFFFF} até ele. {FF1900}**",GetPlayerNameEx(playerid), GetPlayerNameEx(userid));
  1000.                 MensagemParaHelpers(-1, string);
  1001.                 format(string, sizeof(string),"O helper {00FF70}%s{FFFFFF} trouxe você até ele.",GetPlayerNameEx(playerid));
  1002.                 SCM(userid, -1, string);
  1003.             }
  1004.             getdate(ano, mes, dia);
  1005.             gettime(hora, minuto, segundo);
  1006.             format(string, sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s trouxe o jogador %s até ele.",dia, mes, ano, hora, minuto, segundo,GetPlayerNameEx(playerid), GetPlayerNameEx(userid));
  1007.             Iretrazer(string);
  1008.         }
  1009.         else
  1010.         {
  1011.             SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1012.         }
  1013.     }
  1014.     else
  1015.     {
  1016.         SCM(playerid, ErroCor, "Você não está autorizado.");
  1017.     }
  1018.     return 1;
  1019. }
  1020.  
  1021. CMD:aa(playerid, params[])
  1022. {
  1023.     if(jInfo[playerid][AdminLevel] < 1) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1024.     if(jInfo[playerid][AdminLevel] >= 1) {
  1025.         SCM(playerid, -1, "{FFFF00}|=============== {54FF9F}Comandos Gerais {FFFF00}=============|");
  1026.         SCM(playerid, -1, "{54FF9F}/ca(dmin) {FFFFFF}- {FFFF00}Falar somente com os Administradores");
  1027.         SCM(playerid, -1, "{54FF9F}/cah {FFFFFF}- {FFFF00}Falar com com os Administradores e Helpers");
  1028.         SCM(playerid, -1, "{54FF9F}/av(iso) {FFFFFF}- {FFFF00}Enviar um aviso global");
  1029.         SCM(playerid, -1, "{54FF9F}/pm {FFFFFF}- {FFFF00}Enviar uma mensagem privada para alguem");
  1030.         SCM(playerid, -1, "{54FF9F}/trabalhar {FFFFFF}- {FFFF00}Entrar e sair do modo trabalho");
  1031.         SCM(playerid, -1, "{54FF9F}/afk {FFFFFF}- {FFFF00}Entrar e sair do modo AFK");
  1032.     }
  1033.     if(jInfo[playerid][AdminLevel] == 1) {
  1034.         SCM(playerid, -1, "{FFFF00}|========== {54FF9F}Admin. Temp. [Level 1] {FFFF00}===========|");
  1035.         SCM(playerid, -1, "{54FF9F}[Admin Level 1] {FFFF00}/kickar | /ir | /trazer | /avisar");
  1036.         SCM(playerid, -1, "{FFFF00}|=============================================|");
  1037.     }
  1038.     if(jInfo[playerid][AdminLevel] == 2) {
  1039.         SCM(playerid, -1, "{FFFF00}|=========== {54FF9F}Admin. Fixo [Level 2] {FFFF00}===========|");
  1040.         SCM(playerid, -1, "{54FF9F}[Admin Level 2] {FFFF00}/kickar | /ir | /trazer | /avisar | /cv");
  1041.         SCM(playerid, -1, "{54FF9F}[Admin Level 2] {FFFF00}/tv | /tvoff | /congelar | /descongelar");
  1042.         SCM(playerid, -1, "{FFFF00}|=============================================|");
  1043.     }
  1044.     if(jInfo[playerid][AdminLevel] == 3) {
  1045.         SCM(playerid, -1, "{FFFF00}|=========== {54FF9F}Admin. Master [Level 3] {FFFF00}===========|");
  1046.         SCM(playerid, -1, "{54FF9F}[Admin Level 3] {FFFF00}/kickar | /banir | /ir | /trazer | /avisar");
  1047.         SCM(playerid, -1, "{54FF9F}[Admin Level 3] {FFFF00}/dardinheiro | /cv | /tv | /tvoff | /rc");
  1048.         SCM(playerid, -1, "{54FF9F}[Admin Level 3] {FFFF00}/contar | /setskin | /zeraravisos | /rcid | /playerrep");
  1049.         SCM(playerid, -1, "{54FF9F}[Admin Level 3] {FFFF00}/congelar | /descongelar");
  1050.         SCM(playerid, -1, "{FFFF00}|===============================================|");
  1051.     }
  1052.     if(jInfo[playerid][AdminLevel] == 4) {
  1053.         SCM(playerid, -1, "{FFFF00}|=========== {54FF9F}Admin. Dono [Level 4] {FFFF00}===========|");
  1054.         SCM(playerid, -1, "{54FF9F}[Admin Level 4] {FFFF00}/kickar | /banir | /gmx | /ir | /trazer ");
  1055.         SCM(playerid, -1, "{54FF9F}[Admin Level 4] {FFFF00}/ir | /trazer | /avisar | /tv | /tvoff");
  1056.         SCM(playerid, -1, "{54FF9F}[Admin Level 4] {FFFF00}/cv | /rc | /contar | /setskin | /zeraravisos");
  1057.         SCM(playerid, -1, "{54FF9F}[Admin Level 4] {FFFF00}/rcid | /playerrep | /congelar | /descongelar");
  1058.         SCM(playerid, -1, "{FFFF00}|=============================================|");
  1059.     }
  1060.     if(jInfo[playerid][AdminLevel] == 5) {
  1061.         SCM(playerid, -1, "{FFFF00}|============ {54FF9F}Admin. Scripter [Level 5] {FFFF00}============|");
  1062.         SCM(playerid, -1, "{54FF9F}[Admin Level 5] {FFFF00}/kickar | /banir | /gmx | /ir | /zeraravisos");
  1063.         SCM(playerid, -1, "{54FF9F}[Admin Level 5] {FFFF00}/cv | /trazer | /tv | /tvoff | /dardinheiro");
  1064.         SCM(playerid, -1, "{54FF9F}[Admin Level 5] {FFFF00}/avisar | /rc | /contar | /rcid | /playerrep");
  1065.         SCM(playerid, -1, "{54FF9F}[Admin Level 5] {FFFF00}/darvip | / tirarvip | /congelar | /descongelar");
  1066.         SCM(playerid, -1, "{FFFF00}|============ {54FF9F}Administração do Servidor {FFFF00}============|");
  1067.         SCM(playerid, -1, "{FFFF00}/daradmin | /promoveradmin | /demitiradmin");
  1068.         SCM(playerid, -1, "{FFFF00}/darhelper | /promoverhelper | /demitirhelper");
  1069.     }
  1070.     return 1;
  1071. }
  1072.  
  1073. CMD:ah(playerid, params[])
  1074. {
  1075.     if(jInfo[playerid][HelperLevel] < 1) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1076.     SCM(playerid, -1, "{FFFF00}|=============== {54FF9F}Comandos Gerais {FFFF00}=============|");
  1077.     SCM(playerid, -1, "{54FF9F}/ch(elper) {FFFFFF}- {FFFF00}Falar somente com os Helpers");
  1078.     SCM(playerid, -1, "{54FF9F}/cah {FFFFFF}- {FFFF00}Falar com com os Administradores e Helpers");
  1079.     SCM(playerid, -1, "{54FF9F}/av(iso) {FFFFFF}- {FFFF00}Enviar um aviso global");
  1080.     SCM(playerid, -1, "{54FF9F}/responder {FFFFFF}- {FFFF00}Enviar uma mensagem privada para alguem");
  1081.     SCM(playerid, -1, "{54FF9F}/trabalhar {FFFFFF}- {FFFF00}Entrar e sair do modo trabalho");
  1082.     SCM(playerid, -1, "{54FF9F}/afk {FFFFFF}- {FFFF00}Entrar e sair do modo AFK");
  1083.     SCM(playerid, -1, "{54FF9F}/ir {FFFFFF}- {FFFF00}Vai até um player");
  1084.     SCM(playerid, -1, "{54FF9F}/trazer {FFFFFF}- {FFFF00}Traz um player");
  1085.     SCM(playerid, -1, "{54FF9F}/cv {FFFFFF}- {FFFF00}Cria um carro");
  1086.     return 1;
  1087. }
  1088.  
  1089. CMD:darvip(playerid, params[])
  1090. {
  1091.     if(jInfo[playerid][AdminLevel] < 5) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1092.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1093.     if(sscanf(params, "u", userid)) return SCM(playerid, ErroCor, "USE: /darvip {00E5FF}[userid]");
  1094.     jInfo[playerid][Vip] = 1;
  1095.     return 1;
  1096. }
  1097.  
  1098. CMD:tirarvip(playerid, params[])
  1099. {
  1100.     if(jInfo[playerid][AdminLevel] < 5) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1101.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1102.     if(sscanf(params, "u", userid)) return SCM(playerid, ErroCor, "USE: /tirarvip {00E5FF}[userid]");
  1103.     jInfo[playerid][Vip] = 0;
  1104.     return 1;
  1105. }
  1106.  
  1107. CMD:congelar(playerid, params[])
  1108. {
  1109.     if(jInfo[playerid][AdminLevel] < 2) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1110.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1111.     if(sscanf(params, "u", userid)) return SCM(playerid, ErroCor, "USE: /congelar {00E5FF}[userid]");
  1112.     TogglePlayerControllable(userid, 0);
  1113.     return 1;
  1114. }
  1115.  
  1116. CMD:descongelar(playerid, params[])
  1117. {
  1118.     if(jInfo[playerid][AdminLevel] < 2) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1119.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1120.     if(sscanf(params, "u", userid)) return SCM(playerid, ErroCor, "USE: /descongelar {00E5FF}[userid]");
  1121.     TogglePlayerControllable(userid, 1);
  1122.     return 1;
  1123. }
  1124.  
  1125.  
  1126. CMD:setskin(playerid, params[])
  1127. {
  1128.     new string[300];
  1129.     if(jInfo[playerid][AdminLevel] < 3) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1130.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1131.     if(sscanf(params, "ud", userid, skin)) return SCM(playerid, ErroCor, "USE: /setskin {00E5FF}[userid] [skin]");
  1132.     if(1 < (skin) > 299) return SCM(playerid, ErroCor, "USO: Skin somente entre {00E5FF}1 {FFFFF}e {00E5FF}299");
  1133.     jInfo[userid][Skin] = skin;
  1134.     SetPlayerSkin(userid, skin);
  1135.     format(string, sizeof(string), "Sua skin foi alterada pelo administrador {00FF70}%s", GetPlayerNameEx(playerid));
  1136.     SCM(userid, -1, string);
  1137.     format(string, sizeof(string), "Você setou a skin de {00E5FF}%s{FFFFFF} para {00E5FF}%d", GetPlayerNameEx(userid),skin);
  1138.     SCM(playerid, -1, string);
  1139.     getdate(ano, mes, dia);
  1140.     gettime(hora, minuto, segundo);
  1141.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s setou a skin de %s.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid), GetPlayerNameEx(userid));
  1142.     Administracao(string);
  1143.     return 1;
  1144. }
  1145.  
  1146. CMD:av(playerid, params[])
  1147. {
  1148.     new string[300];
  1149.     if(jInfo[playerid][AdminLevel] > 0 || jInfo[playerid][HelperLevel] > 0)
  1150.     {
  1151.         if(AdminTrabalhando[playerid] == 1 || HelperTrabalhando[playerid] == 1)
  1152.         {
  1153.             if(sscanf(params, "s[100]", texto)) return SCM(playerid, ErroCor, "USE: /av {00E5FF}[Mensagem]");
  1154.             if(jInfo[playerid][AdminLevel] >= 1)
  1155.             {
  1156.                 format(string, sizeof(string), "{FF1900}[Administrador %s ]{00FF70} %s{FFFFFF}: %s", ARank(playerid), GetPlayerNameEx(playerid), texto);
  1157.                 SCMTA(-1, string);
  1158.             }
  1159.             if(jInfo[playerid][HelperLevel] >= 1)
  1160.             {
  1161.                 format(string, sizeof(string), "{FF1900}[Helper %s ]{FF00FF} %s{FFFFFF}: %s", HRank(playerid), GetPlayerNameEx(playerid), texto);
  1162.                 SCMTA(-1, string);
  1163.             }
  1164.             getdate(ano, mes, dia);
  1165.             gettime(hora, minuto, segundo);
  1166.             format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] [ Aviso ] %s: %s",dia, mes, ano, hora, minuto, segundo,GetPlayerNameEx(playerid), texto);
  1167.             LogAvisos(string);
  1168.             return 1;
  1169.         }
  1170.     }
  1171.     else
  1172.     {
  1173.         SCM(playerid, ErroCor, "Você não está autorizado.");
  1174.     }
  1175.     return 1;
  1176. }
  1177.  
  1178.  
  1179. CMD:zeraravisos(playerid, params[])
  1180. {
  1181.     new string[300];
  1182.     if(jInfo[playerid][AdminLevel] < 3) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1183.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1184.     if(sscanf(params, "u", userid)) return SCM(playerid, ErroCor, "USE: /zeraravisos {00E5FF}[Player]");
  1185.     jInfo[userid][Avisos] = 0;
  1186.     format(string, sizeof(string), "{00D5FF}%s{FFFFFF} teve os avisos retirados pelo administrador {00FF70}%s", GetPlayerNameEx(userid), GetPlayerNameEx(playerid));
  1187.     SCMTA(-1, string);
  1188.     getdate(ano, mes, dia);
  1189.     gettime(hora, minuto, segundo);
  1190.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s teve os avisos retirados pelo administrador %s",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(userid), GetPlayerNameEx(playerid));
  1191.     LogAvisos(string);
  1192.     return 1;
  1193. }
  1194.  
  1195. CMD:avisar(playerid, params[])
  1196. {
  1197.     new string[300];
  1198.     if(jInfo[playerid][AdminLevel] < 3) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1199.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1200.     if(sscanf(params, "us", userid, motivo)) return SCM(playerid, ErroCor, "USE: /avisar {00E5FF}[Player] [Motivo]");
  1201.     if(userid == playerid) return SCM(playerid, ErroCor, "Você não pode avisar você mesmo.");
  1202.     if(jInfo[userid][AdminLevel] >= 1)
  1203.     {
  1204.         SCM(playerid, ErroCor, "Você não pode avisar um administrador! Por isso foi kickado.");
  1205.         format(string, sizeof(string), "{00D5FF}%s {FFFFFF}foi kickado por: {00D5FF}Auto-Kick{FFFFFF}. || Motivo: {00FF1E}Tentou avisar um Administrador{FFFFFF}.", GetPlayerNameEx(playerid));
  1206.         SCMTA(-1, string);
  1207.         SetTimerEx("Kickar", 500, false, "i", playerid);
  1208.         getdate(ano, mes, dia);
  1209.         gettime(hora, minuto, segundo);
  1210.         format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s foi kickado por tentar avisar o administrador %s.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid), GetPlayerNameEx(userid));
  1211.         Kicks(string);
  1212.         return 1;
  1213.     }
  1214.     jInfo[userid][Avisos] ++;
  1215.     format(string, sizeof(string), "{00D5FF}%s {FFFFFF}foi avisado por: {00D5FF}%s{FFFFFF}. || Motivo: {00FF1E}%s{FFFFFF}.", GetPlayerNameEx(userid), GetPlayerNameEx(playerid), motivo);
  1216.     SCMTA(-1, string);
  1217.     getdate(ano, mes, dia);
  1218.     gettime(hora, minuto, segundo);
  1219.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s foi avisado por %s. Motivo: %s",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(userid), GetPlayerNameEx(playerid), motivo);
  1220.     LogAvisos(string);
  1221.     if(jInfo[userid][Avisos] >= 3)
  1222.     {
  1223.         format(string, sizeof(string), "{00D5FF}%s {FFFFFF}tinha 3 avisos e foi banido por: {00D5FF}%s{FFFFFF}. || Motivo: {00FF1E}%s{FFFFFF}.", GetPlayerNameEx(userid), GetPlayerNameEx(playerid), motivo);
  1224.         SCMTA(-1, string);
  1225.         ClearChatbox(userid, 100);
  1226.         GetPlayerName(userid, Nome, sizeof(Nome));
  1227.         new NomeEx[MAX_PLAYER_NAME];
  1228.  
  1229.         getdate(ano, mes, dia);
  1230.         gettime(hora, minuto, segundo);
  1231.         GetPlayerName(playerid, NomeEx, 24);
  1232.         format(CaminhoArquivo, sizeof(CaminhoArquivo), "Banimentos/%s.ini", Nome);
  1233.         DOF2_CreateFile(CaminhoArquivo);
  1234.         DOF2_SetString(CaminhoArquivo,"Admin", NomeEx);
  1235.         DOF2_SetString(CaminhoArquivo, "Motivo", motivo);
  1236.         DOF2_SetInt(CaminhoArquivo, "Dia", dia);
  1237.         DOF2_SetInt(CaminhoArquivo, "Mes", mes);
  1238.         DOF2_SetInt(CaminhoArquivo, "Ano", ano);
  1239.         DOF2_SetInt(CaminhoArquivo, "Hora", hora);
  1240.         DOF2_SetInt(CaminhoArquivo, "Minuto", minuto);
  1241.         Kick(userid);
  1242.         Banido[userid] = 1;
  1243.     }
  1244.     return 1;
  1245. }
  1246.  
  1247. CMD:banir(playerid, params[])
  1248. {
  1249.     new string[300];
  1250.     if(jInfo[playerid][AdminLevel] < 3) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1251.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1252.     if(sscanf(params, "us", userid, motivo)) return SCM(playerid, ErroCor, "USE: /banir {00E5FF}[Player] [Motivo]");
  1253.     if(jInfo[userid][AdminLevel] >= 1)
  1254.     {
  1255.         SCM(playerid, ErroCor, "Você não pode banir um administrador! Por isso foi kickado.");
  1256.         format(string, sizeof(string), "{00D5FF}%s {FFFFFF}foi kickado por: {00D5FF}Auto-Kick{FFFFFF}. || Motivo: {00FF1E}Tentou banir um Administrador{FFFFFF}.", GetPlayerNameEx(playerid));
  1257.         SCMTA(-1, string);
  1258.         SetTimerEx("Kickar", 500, false, "i", playerid);
  1259.         getdate(ano, mes, dia);
  1260.         gettime(hora, minuto, segundo);
  1261.         format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s foi kickado por tentar banir o administrador %s.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid), GetPlayerNameEx(userid));
  1262.         Kicks(string);
  1263.         return 1;
  1264.     }
  1265.     format(string, sizeof(string), "{00D5FF}%s {FFFFFF}foi banido por: {00D5FF}%s{FFFFFF}. || Motivo: {00FF1E}%s{FFFFFF}.", GetPlayerNameEx(userid), GetPlayerNameEx(playerid), motivo);
  1266.     SCMTA(-1, string);
  1267.     ClearChatbox(userid, 100);
  1268.     new NomeEx[MAX_PLAYER_NAME];
  1269.  
  1270.     getdate(ano, mes, dia);
  1271.     gettime(hora, minuto, segundo);
  1272.     GetPlayerName(playerid, NomeEx, 24);
  1273.     format(CaminhoArquivo, sizeof(CaminhoArquivo), "Banimentos/%s.ini", Nome);
  1274.     DOF2_CreateFile(CaminhoArquivo);
  1275.     DOF2_SetString(CaminhoArquivo,"Admin", NomeEx);
  1276.     DOF2_SetString(CaminhoArquivo, "Motivo", motivo);
  1277.     DOF2_SetInt(CaminhoArquivo, "Dia", dia);
  1278.     DOF2_SetInt(CaminhoArquivo, "Mes", mes);
  1279.     DOF2_SetInt(CaminhoArquivo, "Ano", ano);
  1280.     DOF2_SetInt(CaminhoArquivo, "Hora", hora);
  1281.     DOF2_SetInt(CaminhoArquivo, "Minuto", minuto);
  1282.     Kick(userid);
  1283.     Banido[userid] = 1;
  1284.     return 1;
  1285. }
  1286.  
  1287. CMD:kickar(playerid, params[])
  1288. {
  1289.     new string[300], kickarid;
  1290.     if(jInfo[playerid][AdminLevel] < 3) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1291.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1292.     if(sscanf(params, "us", kickarid, motivo)) return SCM(playerid, ErroCor, "USE: /kickar {00E5FF}[Player] [Motivo]");
  1293.     if(jInfo[userid][AdminLevel] >= 1)
  1294.     {
  1295.         SCM(playerid, ErroCor, "Você não pode kickar um administrador! Por isso foi kickado.");
  1296.         format(string, sizeof(string), "{00D5FF}%s {FFFFFF}foi kickado por: {00D5FF}Auto-Kick{FFFFFF}. || Motivo: {00FF1E}Tentou kickar um Administrador{FFFFFF}.", GetPlayerNameEx(playerid));
  1297.         SCMTA(-1, string);
  1298.         SetTimerEx("Kickar", 500, false, "i", kickarid);
  1299.         getdate(ano, mes, dia);
  1300.         gettime(hora, minuto, segundo);
  1301.         format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s foi kickado por tentar kickar o administrador %s.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid), GetPlayerNameEx(userid));
  1302.         Kicks(string);
  1303.         return 1;
  1304.     }
  1305.     format(string, sizeof(string), "{00D5FF}%s {FFFFFF}foi kickado por: {00D5FF}%s{FFFFFF}. || Motivo: {00FF1E}%s{FFFFFF}.", GetPlayerNameEx(kickarid), GetPlayerNameEx(playerid), motivo);
  1306.     SCMTA(-1, string);
  1307.     SetTimerEx("Kickar", 500, false, "i", kickarid);
  1308.     getdate(ano, mes, dia);
  1309.     gettime(hora, minuto, segundo);
  1310.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s foi kickado pelo administrador %s. Motivo: %s",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(kickarid), GetPlayerNameEx(playerid), motivo);
  1311.     Kicks(string);
  1312.     return 1;
  1313. }
  1314.  
  1315. CMD:trabalhar(playerid, params[])
  1316. {
  1317.     new string[300];
  1318.     if(jInfo[playerid][AdminLevel] > 0)
  1319.     {
  1320.         if(AdminTrabalhando[playerid] == 1)
  1321.         {
  1322.             SCM(playerid, -1, "Você entrou em modo de jogo e seus comandos foram desativados.");
  1323.             format(string, 200, "{00FF70}[ Administrador %s ]{00E5FF} %s {FFFFFF}está jogando. Digite {00E5FF}/admins{FFFFFF} para mais informações.", ARank(playerid),GetPlayerNameEx(playerid));
  1324.             SCMTA(-1, string);
  1325.             AdminTrabalhando[playerid] = 0;
  1326.             SetPlayerHealth(playerid, 100);
  1327.             SetPlayerArmour(playerid, 0);
  1328.             SetPlayerSkin(playerid, 23);
  1329.             return 1;
  1330.         }
  1331.         else if(AdminTrabalhando[playerid] == 0)
  1332.         {
  1333.             SCM(playerid, -1, "Você entrou em modo de trabalho e seus comandos foram ativados.");
  1334.             format(string, 200, "{00FF70}[ Administrador %s ]{00E5FF} %s {FFFFFF}está trabalhando. Digite {00E5FF}/admins{FFFFFF} para mais informações.", ARank(playerid),GetPlayerNameEx(playerid));
  1335.             SCMTA(-1, string);
  1336.             AdminTrabalhando[playerid] = 1;
  1337.             SetPlayerHealth(playerid, 99999);
  1338.             SetPlayerArmour(playerid, 99999);
  1339.             SetPlayerSkin(playerid, 217);
  1340.             return 1;
  1341.         }
  1342.     }
  1343.     else if(jInfo[playerid][HelperLevel] > 0)
  1344.     {
  1345.         if(HelperTrabalhando[playerid] == 1)
  1346.         {
  1347.             SCM(playerid, -1, "Você entrou em modo de jogo e seus comandos foram desativados.");
  1348.             format(string, 200, "{FF00FF}[ Helper %s ]{00E5FF} %s {FFFFFF}está jogando. Digite {00E5FF}/helpers{FFFFFF} para mais informações.", HRank(playerid),GetPlayerNameEx(playerid));
  1349.             SCMTA(-1, string);
  1350.             HelperTrabalhando[playerid] = 0;
  1351.             SetPlayerHealth(playerid, 100);
  1352.             SetPlayerArmour(playerid, 0);
  1353.             SetPlayerSkin(playerid, 23);
  1354.             return 1;
  1355.         }
  1356.         else if(HelperTrabalhando[playerid] == 0)
  1357.         {
  1358.             SCM(playerid, -1, "Você entrou em modo de jogo e seus comandos foram desativados.");
  1359.             format(string, 200, "{FF00FF}[ Helper %s ]{00E5FF} %s {FFFFFF}está trabalhando. Digite {00E5FF}/helpers{FFFFFF} para mais informações.", HRank(playerid),GetPlayerNameEx(playerid));
  1360.             SCMTA(-1, string);
  1361.             HelperTrabalhando[playerid] = 1;
  1362.             SetPlayerHealth(playerid, 99999);
  1363.             SetPlayerArmour(playerid, 99999);
  1364.             SetPlayerSkin(playerid, 240);
  1365.             return 1;
  1366.         }
  1367.     }
  1368.     else
  1369.     {
  1370.         SCM(playerid, ErroCor, "Você não está autorizado.");
  1371.     }
  1372.     return 1;
  1373. }
  1374.  
  1375. CMD:afk(playerid, params[])
  1376. {
  1377.     new string[300];
  1378.     if(jInfo[playerid][AdminLevel] > 0)
  1379.     {
  1380.         if(AdminTrabalhando[playerid] == 2)
  1381.         {
  1382.             format(string, 200, "{00FF70}[ Administrador %s ]{00E5FF} %s {FFFFFF}voltou para o server. Digite {00E5FF}/admins{FFFFFF} para mais informações.", ARank(playerid),GetPlayerNameEx(playerid));
  1383.             SCMTA(-1, string);
  1384.             TogglePlayerControllable(playerid,1);
  1385.             AdminTrabalhando[playerid] = 1;
  1386.             SetPlayerHealth(playerid, 100);
  1387.             SetPlayerArmour(playerid, 0);
  1388.             return 1;
  1389.         }
  1390.         else if(AdminTrabalhando[playerid] != 2)
  1391.         {
  1392.             format(string, 200, "{00FF70}[ Administrador %s ]{00E5FF} %s {FFFFFF}está AFK. Digite {00E5FF}/admins{FFFFFF} para mais informações.", ARank(playerid),GetPlayerNameEx(playerid));
  1393.             SCMTA(-1, string);
  1394.             TogglePlayerControllable(playerid,0);
  1395.             AdminTrabalhando[playerid] = 2;
  1396.             SetPlayerHealth(playerid, 99999);
  1397.             SetPlayerArmour(playerid, 99999);
  1398.             return 1;
  1399.         }
  1400.     }
  1401.     else if(jInfo[playerid][HelperLevel] > 0)
  1402.     {
  1403.         if(HelperTrabalhando[playerid] == 2)
  1404.         {
  1405.             format(string, 200, "{FF00FF}[ Helper %s ]{00E5FF} %s {FFFFFF}voltou para o server. Digite {00E5FF}/helpers{FFFFFF} para mais informações.", HRank(playerid),GetPlayerNameEx(playerid));
  1406.             SCMTA(-1, string);
  1407.             TogglePlayerControllable(playerid,1);
  1408.             HelperTrabalhando[playerid] = 1;
  1409.             SetPlayerHealth(playerid, 100);
  1410.             SetPlayerArmour(playerid, 0);
  1411.             return 1;
  1412.         }
  1413.         else if(HelperTrabalhando[playerid] != 2)
  1414.         {
  1415.             format(string, 200, "{FF00FF}[ Helper %s ]{00E5FF} %s {FFFFFF}está AFK. Digite {00E5FF}/helpers{FFFFFF} para mais informações.", HRank(playerid),GetPlayerNameEx(playerid));
  1416.             SCMTA(-1, string);
  1417.             TogglePlayerControllable(playerid,0);
  1418.             HelperTrabalhando[playerid] = 2;
  1419.             SetPlayerHealth(playerid, 99999);
  1420.             SetPlayerArmour(playerid, 99999);
  1421.             return 1;
  1422.         }
  1423.     }
  1424.     else
  1425.     {
  1426.         SCM(playerid, ErroCor, "Você não está autorizado.");
  1427.     }
  1428.     return 1;
  1429. }
  1430.  
  1431.  
  1432. CMD:tv(playerid, params[])
  1433. {
  1434.     new string[300];
  1435.     if(jInfo[playerid][AdminLevel] < 3) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1436.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1437.     if(sscanf(params, "u", userid)) return SCM(playerid, ErroCor, "USE: /tv {00E5FF}[Player]");
  1438.     TogglePlayerSpectating(playerid,1);
  1439.     if(IsPlayerInAnyVehicle(userid)==1) PlayerSpectateVehicle(playerid,GetPlayerVehicleID(userid));
  1440.     else PlayerSpectatePlayer(playerid, userid);
  1441.     SCM(playerid,-1,"Para parar de espiar com TV digite {00E5FF}/tvoff");
  1442.     new Float:HP,Float:AP;
  1443.     GetPlayerHealth(userid,HP);
  1444.     GetPlayerArmour(userid,AP);
  1445.     format(string, sizeof(string),"Você está vendo: {00E5FF}%s{FFFFFF}, ele tem {00E5FF}[HP:%.0f%%]{FFFFFF} / {00E5FF}[AP:%.0f%%].",GetPlayerNameEx(userid), HP,AP);
  1446.     SCM(playerid,-1,string);
  1447.     getdate(ano, mes, dia);
  1448.     gettime(hora, minuto, segundo);
  1449.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s ficou de tv em %s",dia, mes, ano, hora, minuto, segundo,GetPlayerNameEx(playerid), userid);
  1450.     Administracao(string);
  1451.     return 1;
  1452. }
  1453.  
  1454. CMD:tvoff(playerid, params[])
  1455. {
  1456.     TogglePlayerSpectating(playerid,0);
  1457.     SetPlayerVirtualWorld(playerid,0);
  1458.     SetPlayerInterior(playerid,0);
  1459.     return 1;
  1460. }
  1461.  
  1462. CMD:ca(playerid, params[])
  1463. {
  1464.     new string[300];
  1465.     if(jInfo[playerid][AdminLevel] < 1) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1466.     if(sscanf(params, "s[128]", texto)) return SCM(playerid, ErroCor, "USE: /a {00E5FF}[Mensagem]");
  1467.     format(string, sizeof(string), "[CHAT ADMIN] {00E5FF}%s{FFFFFF}: %s", GetPlayerNameEx(playerid), texto);
  1468.     MensagemParaAdmins(-1, string);
  1469.     getdate(ano, mes, dia);
  1470.     gettime(hora, minuto, segundo);
  1471.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s: %s",dia, mes, ano, hora, minuto, segundo,GetPlayerNameEx(playerid), texto);
  1472.     ChatAdmin(string);
  1473.     return 1;
  1474. }
  1475.  
  1476. CMD:ch(playerid, params[])
  1477. {
  1478.     new string[300];
  1479.     if(jInfo[playerid][HelperLevel] < 1) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1480.     if(sscanf(params, "s[128]", texto)) return SCM(playerid, ErroCor, "USE: /h {00E5FF}[Mensagem]");
  1481.     format(string, sizeof(string), "[CHAT HELPER] {00E5FF}%s{FFFFFF}: %s", GetPlayerNameEx(playerid), texto);
  1482.     MensagemParaHelpers(-1, string);
  1483.     getdate(ano, mes, dia);
  1484.     gettime(hora, minuto, segundo);
  1485.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s: %s",dia, mes, ano, hora, minuto, segundo,GetPlayerNameEx(playerid), texto);
  1486.     ChatHelper(string);
  1487.     return 1;
  1488. }
  1489.  
  1490. CMD:cah(playerid, params[])
  1491. {
  1492.     new string[300];
  1493.     if(sscanf(params, "s[128]", texto)) return SCM(playerid, ErroCor, "USE: /h {00E5FF}[Mensagem]");
  1494.     if(jInfo[playerid][AdminLevel] >= 1)
  1495.     {
  1496.         format(string, sizeof(string), "{26FF00}[CHAT ADMIN/HELPER] {FF0000}[Administrador] {00E5FF}%s{FFFFFF}: %s", GetPlayerNameEx(playerid), texto);
  1497.         MensagemParaAdmineHelper(-1, string);
  1498.     }
  1499.     if(jInfo[playerid][HelperLevel] >= 1)
  1500.     {
  1501.         format(string, sizeof(string), "{26FF00}[CHAT ADMIN/HELPER] {FFFB00}[Helper] {00E5FF}%s{FFFFFF}: %s", GetPlayerNameEx(playerid), texto);
  1502.         MensagemParaAdmineHelper(-1, string);
  1503.     }
  1504.     else
  1505.     {
  1506.         SCM(playerid, ErroCor, "Você não está autorizado!");
  1507.         return 1;
  1508.     }
  1509.     getdate(ano, mes, dia);
  1510.     gettime(hora, minuto, segundo);
  1511.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s: %s",dia, mes, ano, hora, minuto, segundo,GetPlayerNameEx(playerid), texto);
  1512.     ChatHelper(string);
  1513.     return 1;
  1514. }
  1515.  
  1516.  
  1517. CMD:rc(playerid,params[])
  1518. {
  1519.     new string[300];
  1520.     if(jInfo[playerid][AdminLevel] < 3) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1521.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1522.     SetTimer("ResetarCarros", 30000, false);
  1523.     format(string, sizeof(string), "TODOS OS CARROS INUTILIZADOS SERÃO RESETADOS EM 30 SEGUNDOS POR: {00D5FF}%s{00FFFF}.", GetPlayerNameEx(playerid));
  1524.     SCMTA(-1, string);
  1525.     getdate(ano, mes, dia);
  1526.     gettime(hora, minuto, segundo);
  1527.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] O Administrador %s resetou todos os carros.",dia, mes, ano, hora, minuto, segundo,GetPlayerNameEx(playerid));
  1528.     Administracao(string);
  1529.     return 1;
  1530. }
  1531.  
  1532. CMD:lc(playerid,params[])
  1533. {
  1534.     new string[300];
  1535.     if(jInfo[playerid][AdminLevel] < 3) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1536.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1537.     for( new i = 0; i < MAX_LINES; i++ )
  1538.     {
  1539.         ClearChatbox(i, 100);
  1540.         format(string, 100, "O Administrador {00E5FF}%s {FFFFFF}limpou o chat.",GetPlayerNameEx(playerid));
  1541.         SCMTA(-1, string);
  1542.         getdate(ano, mes, dia);
  1543.         gettime(hora, minuto, segundo);
  1544.         format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] O Administrador %s resetou todos os carros.",dia, mes, ano, hora, minuto, segundo,GetPlayerNameEx(playerid));
  1545.         Administracao(string);
  1546.         return 1;
  1547.     }
  1548.     return 1;
  1549. }
  1550.  
  1551. CMD:contar(playerid,params[])
  1552. {
  1553.     new string[300];
  1554.     if(jInfo[playerid][AdminLevel] < 3) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1555.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1556.     SetTimerEx("Contar3", 500, false, "i", playerid);
  1557.     getdate(ano, mes, dia);
  1558.     gettime(hora, minuto, segundo);
  1559.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] O Administrador %s começou uma contagem.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid));
  1560.     Administracao(string);
  1561.     return 1;
  1562. }
  1563.  
  1564. CMD:rcid(playerid, params[])
  1565. {
  1566.     new string[300];
  1567.     if(jInfo[playerid][AdminLevel] < 3) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1568.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1569.     new PCar = GetPlayerVehicleID(playerid);
  1570.     SetVehicleToRespawn(PCar);
  1571.     getdate(ano, mes, dia);
  1572.     gettime(hora, minuto, segundo);
  1573.     format(string, sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s respawnou um veículo.",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid));
  1574.     Administracao(string);
  1575.     return 1;
  1576. }
  1577.  
  1578. CMD:pm(playerid, params[])
  1579. {
  1580.     new string[300];
  1581.     if(jInfo[playerid][AdminLevel] < 1) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1582.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1583.     if(sscanf(params, "us", userid, texto)) return SCM(playerid, ErroCor, "USE: /pm {00E5FF}[userid] [Mensagem]");
  1584.     else if(userid == playerid) return SCM(playerid, ErroCor, "Você não pode mandar pm para você mesmo.");
  1585.     format(string, sizeof(string), "[PM] [ID:{00E5FF}%d{FFFFFF}] {00E5FF}%s:{FFFFFF} %s", playerid, GetPlayerNameEx(playerid), texto);
  1586.     SCM(userid, -1, string);
  1587.     format(string, sizeof(string), "[PM] Mensagem enviada: {00E5FF}%s", texto);
  1588.     SCM(playerid, -1, string);
  1589.     foreach(Player, i)
  1590.     {
  1591.        if(jInfo[i][AdminLevel] == 5)
  1592.        {
  1593.            format(string, sizeof(string), "[PM] Mensagem privada: [ID:{00E5FF}%d{FFFFFF}] {00E5FF}%s:{FFFFFF} %s", userid, GetPlayerNameEx(userid), texto);
  1594.            SCM(i, -1, string);
  1595.         }
  1596.     }
  1597.     getdate(ano, mes, dia);
  1598.     gettime(hora, minuto, segundo);
  1599.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] [PM] de %s para %s: %s",dia, mes, ano, hora, minuto, segundo,GetPlayerNameEx(playerid), userid, texto);
  1600.     MensagensPrivadas(string);
  1601.     return 1;
  1602. }
  1603.  
  1604. CMD:playerrep(playerid, params[])
  1605. {
  1606.     new string[300];
  1607.     if(jInfo[playerid][AdminLevel] < 3) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1608.     if(AdminTrabalhando[playerid] == 0) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1609.     if(sscanf(params, "us", texto)) return SCM(playerid, ErroCor, "USE: /playerrep {00E5FF}[userid]");
  1610.     if(IsPlayerConnected(userid))
  1611.     {
  1612.         format(string, sizeof(string), "O jogador {00D5FF}%s{FFFFFF} tem {00D5FF}%d{FFFFFF} reputations.", GetPlayerNameEx(userid), jInfo[userid][Reputation]);
  1613.         SCM(playerid, -1, string);
  1614.         return 1;
  1615.     }
  1616.     return 1;
  1617. }
  1618.  
  1619.  
  1620. CMD:responder(playerid, params[])
  1621. {
  1622.     new string[300];
  1623.     if(jInfo[playerid][HelperLevel] < 1) return SCM(playerid, ErroCor, "Você não está autorizado.");
  1624.     if(HelperTrabalhando[playerid] != 1) return SCM(playerid, ErroCor, "Você não está trabalhando {00E5FF}(/trabalhar)");
  1625.     if(sscanf(params, "us", userid, texto)) return SCM(playerid, ErroCor, "USE: /responder {00E5FF}[userid] [Mensagem]");
  1626.     else if(userid == playerid) return SCM(playerid, ErroCor, "Você não pode responder você mesmo.");
  1627.     format(string, sizeof(string), "[Resposta] [ID:{00E5FF}%d{FFFFFF}] {00E5FF}%s:{FFFFFF} %s", playerid, GetPlayerNameEx(playerid), texto);
  1628.     SCM(userid, -1, string);
  1629.     format(string, sizeof(string), "[Resposta] Resposta enviada: {00E5FF}%s", texto);
  1630.     SCM(playerid, -1, string);
  1631.     foreach(Player, i)
  1632.     {
  1633.        if(jInfo[i][HelperLevel] == 5)
  1634.        {
  1635.            format(string, sizeof(string), "[Resposta] Helper Respondeu: {00E5FF}%s:{FFFFFF} %s", userid, GetPlayerNameEx(userid), texto);
  1636.            SCM(i, -1, string);
  1637.         }
  1638.     }
  1639.     getdate(ano, mes, dia);
  1640.     gettime(hora, minuto, segundo);
  1641.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] [Resposta] de %s para %s: %s",dia, mes, ano, hora, minuto, segundo,GetPlayerNameEx(playerid), userid, texto);
  1642.     MensagensPrivadas(string);
  1643.     return 1;
  1644. }
  1645.  
  1646. //======================== [ COMANDOS PLAYERS ] =================================//
  1647. CMD:ajudacas(playerid, params[])
  1648. {
  1649.     SCM(playerid, -1,"|=========================== AJUDA ============================|");
  1650.     SCM(playerid, -1, "Duvidas: {00E5FF}/duvida");
  1651.     SCM(playerid, -1, "Atendimento: {00E5FF}/relato{FFFFFF} | {00E5FF}/denunciar{FFFFFF} | {00E5FF}/pm");
  1652.     SCM(playerid, -1, "Outros: {00E5FF}/admins{FFFFFF} | {00E5FF}/helpers{FFFFFF} | {00E5FF}/vips | {00E5FF}/creditoscas");
  1653.     SCM(playerid, -1, "Reputação: {00E5FF}/addrep{FFFFFF} | {00E5FF}/verrep");
  1654.     SCM(playerid, -1,"|==============================================================|");
  1655. }
  1656.  
  1657. CMD:relato(playerid, params[])
  1658. {
  1659.     new string[300];
  1660.     if(sscanf(params, "s", texto)) return SCM(playerid, ErroCor, "USE: /relato {00E5FF}[Mensagem]");
  1661.     if(jInfo[playerid][Vip] == 1)
  1662.     {
  1663.         MensagemParaAdmins(-1, "{FFFF00}|==========================================================|");
  1664.         format(string,sizeof(string),"Relato VIP de {00E5FF}%s:{FFFFFF} %s",GetPlayerNameEx(playerid),texto);
  1665.         MensagemParaAdmins(-1, string);
  1666.         MensagemParaAdmins(-1, "{FFFF00}|==========================================================|");
  1667.         format(string,sizeof(string),"Relato {FFFF00}VIP{FFFFFF} enviado: %s.",texto);
  1668.         SCM(playerid,-1, string);
  1669.     }
  1670.     else
  1671.     {
  1672.         format(string,sizeof(string),"Relato de {00E5FF}%s:{FFFFFF} %s",GetPlayerNameEx(playerid), texto);
  1673.         MensagemParaAdmins(-1, string);
  1674.         format(string,sizeof(string),"Relato enviado: %s.",texto);
  1675.         SCM(playerid,-1, string);
  1676.     }
  1677.     getdate(ano, mes, dia);
  1678.     gettime(hora, minuto, segundo);
  1679.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s: %s",dia, mes, ano, hora, minuto, segundo,GetPlayerNameEx(playerid), texto);
  1680.     Relatos(string);
  1681.     return 1;
  1682. }
  1683.  
  1684. CMD:duvida(playerid, params[])
  1685. {
  1686.     new string[128];
  1687.     if(sscanf(params, "s[128]", texto)) return SCM(playerid, ErroCor, "USE: /duvida {00E5FF}[Mensagem]");
  1688.     if(jInfo[playerid][Vip] == 1)
  1689.     {
  1690.         MensagemParaHelpers(-1, "{FFFF00}|==========================================================|");
  1691.         format(string,sizeof(string),"Duvida VIP de {00E5FF}%s:{FFFFFF} %s",GetPlayerNameEx(playerid),texto);
  1692.         MensagemParaHelpers(-1, string);
  1693.         MensagemParaHelpers(-1, "{FFFF00}|==========================================================|");
  1694.     }
  1695.     else
  1696.     {
  1697.         format(string,sizeof(string),"Duvida de {00E5FF}%s:{FFFFFF} %s",GetPlayerNameEx(playerid), texto);
  1698.         MensagemParaHelpers(-1, string);
  1699.     }
  1700.     format(string,sizeof(string),"Duvida enviada: %s.",texto);
  1701.     SCM(playerid,-1, string);
  1702.     getdate(ano, mes, dia);
  1703.     gettime(hora, minuto, segundo);
  1704.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s: %s",dia, mes, ano, hora, minuto, segundo,GetPlayerNameEx(playerid), texto);
  1705.     Duvidas(string);
  1706.     return 1;
  1707. }
  1708.  
  1709. CMD:denunciar(playerid, params[])
  1710. {
  1711.     new string[300];
  1712.     if(sscanf(params, "us", userid, texto)) return SCM(playerid, ErroCor, "USE: /denunciar {00E5FF}[userid] [Denuncia]");
  1713.     GetPlayerName(userid, nomeid, sizeof(nomeid));
  1714.     GetPlayerName(playerid, nomeplayerid, sizeof(nomeplayerid));
  1715.     format(string,sizeof(string),"Denuncia de {00E5FF}%s:{FFFFFF} %s || Denunciado: {00E5FF}%s",nomeplayerid, texto, nomeid);
  1716.     MensagemParaAdmins(-1, string);
  1717.     getdate(ano, mes, dia);
  1718.     gettime(hora, minuto, segundo);
  1719.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] Denuncia de %s: %s || Denunciado: %s",dia, mes, ano, hora, minuto, segundo, nomeplayerid, texto, nomeid);
  1720.     Denuncias(string);
  1721.     format(string,sizeof(string),"Denuncia enviada: %s. Denunciado: {00E5FF}%s",nomeplayerid, texto, nomeid);
  1722.     SCM(playerid, -1, string);
  1723.     return 1;
  1724. }
  1725.  
  1726. CMD:admins(playerid, params[])
  1727. {
  1728.     new string[ 200 ];
  1729.     if(IsPlayerConnected(playerid))
  1730.     {
  1731.         SCM(playerid, -1, "{00E5FF}|========== {FFFFFF}Administradores Presentes {00E5FF}==========|");
  1732.         foreach(Player, i)
  1733.         {
  1734.             if(IsPlayerConnected(i))
  1735.             {
  1736.                 if(AdminTrabalhando[i] == 1)
  1737.                 {
  1738.                     if(jInfo[i][AdminLevel] == 1)
  1739.                     {
  1740.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Admin Temporário]{FFFFFF} || Modo:{00E5FF} [Administrativo]", GetPlayerNameEx(i));
  1741.                         SCM(playerid, -1, string);
  1742.                     }
  1743.                     if(jInfo[i][AdminLevel] == 2)
  1744.                     {
  1745.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Admin Fixo]{FFFFFF} || Modo:{00E5FF} [Administrativo]", GetPlayerNameEx(i));
  1746.                         SCM(playerid, -1, string);
  1747.                     }
  1748.                     if(jInfo[i][AdminLevel] == 3)
  1749.                     {
  1750.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Admin Master]{FFFFFF} || Modo:{00E5FF} [Administrativo]", GetPlayerNameEx(i));
  1751.                         SCM(playerid, -1, string);
  1752.                     }
  1753.                     if(jInfo[i][AdminLevel] == 4)
  1754.                     {
  1755.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Dono]{FFFFFF} || Modo:{00E5FF} [Administrativo]", GetPlayerNameEx(i));
  1756.                         SCM(playerid, -1, string);
  1757.                     }
  1758.                     if(jInfo[i][AdminLevel] == 5)
  1759.                     {
  1760.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[SCRIPTER]{FFFFFF} || Modo:{00E5FF} [Administrativo]", GetPlayerNameEx(i));
  1761.                         SCM(playerid, -1, string);
  1762.                     }
  1763.                 }
  1764.                 if(AdminTrabalhando[i] == 2)
  1765.                 {
  1766.                     if(jInfo[i][AdminLevel] == 1)
  1767.                     {
  1768.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Admin Temporário]{FFFFFF} || Modo: {09FF00}[AFK]", GetPlayerNameEx(i));
  1769.                         SCM(playerid, -1, string);
  1770.                     }
  1771.                     if(jInfo[i][AdminLevel] == 2)
  1772.                     {
  1773.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Admin Fixo]{FFFFFF} || Modo: {09FF00}[AFK]", GetPlayerNameEx(i));
  1774.                         SCM(playerid, -1, string);
  1775.                     }
  1776.                     if(jInfo[i][AdminLevel] == 3)
  1777.                     {
  1778.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Admin Master]{FFFFFF} || Modo: {09FF00}[AFK]", GetPlayerNameEx(i));
  1779.                         SCM(playerid, -1, string);
  1780.                     }
  1781.                     if(jInfo[i][AdminLevel] == 4)
  1782.                     {
  1783.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Dono]{FFFFFF} || Modo: {09FF00}[AFK]", GetPlayerNameEx(i));
  1784.                         SCM(playerid, -1, string);
  1785.                     }
  1786.                     if(jInfo[i][AdminLevel] == 5)
  1787.                     {
  1788.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[SCRIPTER]{FFFFFF} || Modo: {09FF00}[AFK]", GetPlayerNameEx(i));
  1789.                         SCM(playerid, -1, string);
  1790.                     }
  1791.                 }
  1792.                 if(AdminTrabalhando[i] == 0)
  1793.                 {
  1794.                     if(jInfo[i][AdminLevel] == 1)
  1795.                     {
  1796.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Admin Temporário]{FFFFFF} || Modo: [Jogo]", GetPlayerNameEx(i));
  1797.                         SCM(playerid, -1, string);
  1798.                     }
  1799.                     if(jInfo[i][AdminLevel] == 2)
  1800.                     {
  1801.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Admin Fixo]{FFFFFF} || Modo: [Jogo]", GetPlayerNameEx(i));
  1802.                         SCM(playerid, -1, string);
  1803.                     }
  1804.                     if(jInfo[i][AdminLevel] == 3)
  1805.                     {
  1806.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Admin Master]{FFFFFF} || Modo: [Jogo]", GetPlayerNameEx(i));
  1807.                         SCM(playerid, -1, string);
  1808.                     }
  1809.                     if(jInfo[i][AdminLevel] == 4)
  1810.                     {
  1811.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Dono]{FFFFFF} || Modo: [Jogo]", GetPlayerNameEx(i));
  1812.                         SCM(playerid, -1, string);
  1813.                     }
  1814.                     if(jInfo[i][AdminLevel] == 5)
  1815.                     {
  1816.                         format(string, 256, "Admin: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[SCRIPTER]{FFFFFF} || Modo: [Jogo]", GetPlayerNameEx(i));
  1817.                         SCM(playerid, -1, string);
  1818.                     }
  1819.                 }
  1820.             }
  1821.         }
  1822.     }
  1823.     return 1;
  1824. }
  1825.  
  1826. CMD:helpers(playerid, params[])
  1827. {
  1828.     new string[ 200 ];
  1829.     if(IsPlayerConnected(playerid))
  1830.     {
  1831.         SCM(playerid, -1, "{00E5FF}|========== {FFFFFF}Helpers Presentes {00E5FF}==========|");
  1832.         foreach(Player, i)
  1833.         {
  1834.             if(IsPlayerConnected(i))
  1835.             {
  1836.                 if(HelperTrabalhando[i] == 1)
  1837.                 {
  1838.                     if(jInfo[i][HelperLevel] == 1)
  1839.                     {
  1840.                         format(string, 256, "Helper: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Helper Temporário]{FFFFFF} || Modo:{00E5FF} [Helperistrativo]", GetPlayerNameEx(i));
  1841.                         SCM(playerid, -1, string);
  1842.                     }
  1843.                     if(jInfo[i][HelperLevel] == 2)
  1844.                     {
  1845.                         format(string, 256, "Helper: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Helper Fixo]{FFFFFF} || Modo:{00E5FF} [Helperistrativo]", GetPlayerNameEx(i));
  1846.                         SCM(playerid, -1, string);
  1847.                     }
  1848.                     if(jInfo[i][HelperLevel] == 3)
  1849.                     {
  1850.                         format(string, 256, "Helper: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Helper Master]{FFFFFF} || Modo:{00E5FF} [Helperistrativo]", GetPlayerNameEx(i));
  1851.                         SCM(playerid, -1, string);
  1852.                     }
  1853.                 }
  1854.                 if(HelperTrabalhando[i] == 2)
  1855.                 {
  1856.                     if(jInfo[i][HelperLevel] == 1)
  1857.                     {
  1858.                         format(string, 256, "Helper: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Helper Temporário]{FFFFFF} || Modo: {09FF00}[AFK]", GetPlayerNameEx(i));
  1859.                         SCM(playerid, -1, string);
  1860.                     }
  1861.                     if(jInfo[i][HelperLevel] == 2)
  1862.                     {
  1863.                         format(string, 256, "Helper: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Helper Fixo]{FFFFFF} || Modo: {09FF00}[AFK]", GetPlayerNameEx(i));
  1864.                         SCM(playerid, -1, string);
  1865.                     }
  1866.                     if(jInfo[i][HelperLevel] == 3)
  1867.                     {
  1868.                         format(string, 256, "Helper: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Helper Master]{FFFFFF} || Modo: {09FF00}[AFK]", GetPlayerNameEx(i));
  1869.                         SCM(playerid, -1, string);
  1870.                     }
  1871.                 }
  1872.                 if(HelperTrabalhando[i] == 0)
  1873.                 {
  1874.                     if(jInfo[i][HelperLevel] == 1)
  1875.                     {
  1876.                         format(string, 256, "Helper: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Helper Temporário]{FFFFFF} || Modo: [Jogo]", GetPlayerNameEx(i));
  1877.                         SCM(playerid, -1, string);
  1878.                     }
  1879.                     if(jInfo[i][HelperLevel] == 2)
  1880.                     {
  1881.                         format(string, 256, "Helper: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Helper Fixo]{FFFFFF} || Modo: [Jogo]", GetPlayerNameEx(i));
  1882.                         SCM(playerid, -1, string);
  1883.                     }
  1884.                     if(jInfo[i][HelperLevel] == 3)
  1885.                     {
  1886.                         format(string, 256, "Helper: {00E5FF}%s{FFFFFF} || Nivel: {FF1900}[Helper Master]{FFFFFF} || Modo: [Jogo]", GetPlayerNameEx(i));
  1887.                         SCM(playerid, -1, string);
  1888.                     }
  1889.                 }
  1890.             }
  1891.         }
  1892.     }
  1893.     return 1;
  1894. }
  1895.  
  1896. CMD:vips(playerid, params[])
  1897. {
  1898.     new string[ 200 ];
  1899.     if(IsPlayerConnected(playerid))
  1900.     {
  1901.         SCM(playerid, -1, "{00E5FF}|========== {FFFFFF}Vips Presentes {00E5FF}==========|");
  1902.         foreach(Player, i)
  1903.         {
  1904.             if(IsPlayerConnected(i))
  1905.             {
  1906.                 if(jInfo[i][Vip] == 1)
  1907.                 {
  1908.                     format(string, 256, "Vip: {00E5FF}%s{FFFFFF}", GetPlayerNameEx(i));
  1909.                     SCM(playerid, -1, string);
  1910.                     return 1;
  1911.                 }
  1912.             }
  1913.         }
  1914.     }
  1915.     return 1;
  1916. }
  1917.  
  1918. CMD:addrep(playerid, params[])
  1919. {
  1920.     new string[300];
  1921.     if(sscanf(params, "us", userid, motivo)) return SCM(playerid, ErroCor, "USE: /addrep {00E5FF}[Player] [Motivo]");
  1922.     if(userid == playerid) return SCM(playerid, ErroCor, "Você não pode reputar você mesmo.");
  1923.     if(jInfo[userid][AdminLevel] >= 1) return SCM(playerid, ErroCor, "Esse jogador é administrador.");
  1924.     GetPlayerName(playerid, Nome, sizeof(Nome));
  1925.     if(Reputou[playerid] == 1) return SCM(playerid, ErroCor, "Aguarde 1 minuto para reputar alguem novamente!");
  1926.     if(jInfo[userid][Vip] == 1)
  1927.     {
  1928.         if(jInfo[userid][HelperLevel] == 0)
  1929.         {
  1930.             if(jInfo[userid][Reputation] == MAXREPVIP1)
  1931.             {
  1932.                 format(string, sizeof(string), "Você chegou ao nível máximo de reputações: {00D5FF}%d{FFFFFF}. Você se tornou helper level 1!", MAXREPVIP1);
  1933.                 SCM(userid, -1, string);
  1934.                 format(string, sizeof(string), "{FFEA00}[VIP] {00FFE5}%s{FFFFFF} chegou ao nível máximo de reputações e se tornou helper level 1!", GetPlayerNameEx(userid));
  1935.                 SCMTA(-1, string);
  1936.                 format(CaminhoArquivo, sizeof(CaminhoArquivo), "MaximosReputados/%s.ini", GetPlayerNameEx(userid));
  1937.                 if(!DOF2_FileExists(CaminhoArquivo)) DOF2_CreateFile(CaminhoArquivo);
  1938.                 DOF2_SetInt(CaminhoArquivo, "Reputations", jInfo[userid][Reputation]);
  1939.                 jInfo[userid][HelperLevel] = 1;
  1940.                 return 1;
  1941.             }
  1942.         }
  1943.         else if(jInfo[userid][HelperLevel] == 1)
  1944.         {
  1945.             if(jInfo[userid][Reputation] == MAXREPVIP2)
  1946.             {
  1947.                 format(string, sizeof(string), "Você chegou ao nível máximo de reputações: {00D5FF}%d{FFFFFF}. Você se tornou helper level 2!", MAXREPVIP2);
  1948.                 SCM(userid, -1, string);
  1949.                 format(string, sizeof(string), "{FFEA00}[VIP] {00FFE5}%s{FFFFFF} chegou ao nível máximo de reputações e se tornou helper level 2!", GetPlayerNameEx(userid));
  1950.                 SCMTA(-1, string);
  1951.                 format(CaminhoArquivo, sizeof(CaminhoArquivo), "MaximosReputados/%s.ini", GetPlayerNameEx(userid));
  1952.                 if(!DOF2_FileExists(CaminhoArquivo)) DOF2_CreateFile(CaminhoArquivo);
  1953.                 DOF2_SetInt(CaminhoArquivo, "Reputations", jInfo[userid][Reputation]);
  1954.                 jInfo[userid][HelperLevel] = 2;
  1955.                 return 1;
  1956.             }
  1957.         }
  1958.         else if(jInfo[userid][HelperLevel] == 2)
  1959.         {
  1960.             if(jInfo[userid][Reputation] == MAXREPVIP3)
  1961.             {
  1962.                 format(string, sizeof(string), "Você chegou ao nível máximo de reputações: {00D5FF}%d{FFFFFF}. Você se tornou helper level 3!", MAXREPVIP3);
  1963.                 SCM(userid, -1, string);
  1964.                 format(string, sizeof(string), "{FFEA00}[VIP] {00FFE5}%s{FFFFFF} chegou ao nível máximo de reputações e se tornou helper level 2!", GetPlayerNameEx(userid));
  1965.                 SCMTA(-1, string);
  1966.                 format(CaminhoArquivo, sizeof(CaminhoArquivo), "MaximosReputados/%s.ini", GetPlayerNameEx(userid));
  1967.                 if(!DOF2_FileExists(CaminhoArquivo)) DOF2_CreateFile(CaminhoArquivo);
  1968.                 DOF2_SetInt(CaminhoArquivo, "Reputations", jInfo[userid][Reputation]);
  1969.                 jInfo[userid][HelperLevel] = 3;
  1970.                 return 1;
  1971.             }
  1972.         }
  1973.         else if(jInfo[userid][HelperLevel] == 3)
  1974.         {
  1975.             if(jInfo[userid][Reputation] == MAXREPVIPADMIN)
  1976.             {
  1977.                 format(string, sizeof(string), "Você chegou ao nível máximo de reputações: {00D5FF}%d{FFFFFF}. Você se tornou administrador!", MAXREPVIPADMIN);
  1978.                 SCM(userid, -1, string);
  1979.                 format(string, sizeof(string), "{FFEA00}[VIP] {00FFE5}%s{FFFFFF} chegou ao nível máximo de reputações e se tornou administrador!", GetPlayerNameEx(userid));
  1980.                 SCMTA(-1, string);
  1981.                 format(CaminhoArquivo, sizeof(CaminhoArquivo), "MaximosReputados/%s.ini", GetPlayerNameEx(userid));
  1982.                 if(!DOF2_FileExists(CaminhoArquivo)) DOF2_CreateFile(CaminhoArquivo);
  1983.                 DOF2_SetInt(CaminhoArquivo, "Reputations", jInfo[userid][Reputation]);
  1984.                 jInfo[userid][AdminLevel] = 1;
  1985.                 return 1;
  1986.             }
  1987.         }
  1988.     }
  1989.     if(jInfo[userid][Vip] == 0)
  1990.     {
  1991.         if(jInfo[userid][HelperLevel] == 0)
  1992.         {
  1993.             if(jInfo[userid][Reputation] == MAXREP1)
  1994.             {
  1995.                 format(string, sizeof(string), "Você chegou ao nível máximo de reputações: {00D5FF}%d{FFFFFF}. Você se tornou helper level 1!", MAXREP1);
  1996.                 SCM(userid, -1, string);
  1997.                 format(string, sizeof(string), "{00FFE5}%s{FFFFFF} chegou ao nível máximo de reputações e se tornou helper level 1!", GetPlayerNameEx(userid));
  1998.                 SCMTA(-1, string);
  1999.                 format(CaminhoArquivo, sizeof(CaminhoArquivo), "MaximosReputados/%s.ini", GetPlayerNameEx(userid));
  2000.                 if(!DOF2_FileExists(CaminhoArquivo)) DOF2_CreateFile(CaminhoArquivo);
  2001.                 DOF2_SetInt(CaminhoArquivo, "Reputations", jInfo[userid][Reputation]);
  2002.                 jInfo[userid][HelperLevel] = 1;
  2003.                 return 1;
  2004.             }
  2005.         }
  2006.         else if(jInfo[userid][HelperLevel] == 1)
  2007.         {
  2008.             if(jInfo[userid][Reputation] == MAXREP2)
  2009.             {
  2010.                 format(string, sizeof(string), "Você chegou ao nível máximo de reputações: {00D5FF}%d{FFFFFF}. Você se tornou helper level 2!", MAXREP2);
  2011.                 SCM(userid, -1, string);
  2012.                 format(string, sizeof(string), "{00FFE5}%s{FFFFFF} chegou ao nível máximo de reputações e se tornou helper level 2!", GetPlayerNameEx(userid));
  2013.                 SCMTA(-1, string);
  2014.                 format(CaminhoArquivo, sizeof(CaminhoArquivo), "MaximosReputados/%s.ini", GetPlayerNameEx(userid));
  2015.                 if(!DOF2_FileExists(CaminhoArquivo)) DOF2_CreateFile(CaminhoArquivo);
  2016.                 DOF2_SetInt(CaminhoArquivo, "Reputations", jInfo[userid][Reputation]);
  2017.                 jInfo[userid][HelperLevel] = 2;
  2018.                 return 1;
  2019.             }
  2020.         }
  2021.         else if(jInfo[userid][HelperLevel] == 2)
  2022.         {
  2023.             if(jInfo[userid][Reputation] == MAXREP3)
  2024.             {
  2025.                 format(string, sizeof(string), "Você chegou ao nível máximo de reputações: {00D5FF}%d{FFFFFF}. Você se tornou helper level 3!", MAXREP3);
  2026.                 SCM(userid, -1, string);
  2027.                 format(string, sizeof(string), "{00FFE5}%s{FFFFFF} chegou ao nível máximo de reputações e se tornou helper level 2!", GetPlayerNameEx(userid));
  2028.                 SCMTA(-1, string);
  2029.                 format(CaminhoArquivo, sizeof(CaminhoArquivo), "MaximosReputados/%s.ini", GetPlayerNameEx(userid));
  2030.                 if(!DOF2_FileExists(CaminhoArquivo)) DOF2_CreateFile(CaminhoArquivo);
  2031.                 DOF2_SetInt(CaminhoArquivo, "Reputations", jInfo[userid][Reputation]);
  2032.                 jInfo[userid][HelperLevel] = 3;
  2033.                 return 1;
  2034.             }
  2035.         }
  2036.         else if(jInfo[userid][HelperLevel] == 3)
  2037.         {
  2038.             if(jInfo[userid][Reputation] == MAXREPADMIN)
  2039.             {
  2040.                 format(string, sizeof(string), "Você chegou ao nível máximo de reputações: {00D5FF}%d{FFFFFF}. Você se tornou administrador!", MAXREPADMIN);
  2041.                 SCM(userid, -1, string);
  2042.                 format(string, sizeof(string), "{00FFE5}%s{FFFFFF} chegou ao nível máximo de reputações e se tornou administrador!", GetPlayerNameEx(userid));
  2043.                 SCMTA(-1, string);
  2044.                 format(CaminhoArquivo, sizeof(CaminhoArquivo), "MaximosReputados/%s.ini", GetPlayerNameEx(userid));
  2045.                 if(!DOF2_FileExists(CaminhoArquivo)) DOF2_CreateFile(CaminhoArquivo);
  2046.                 DOF2_SetInt(CaminhoArquivo, "Reputations", jInfo[userid][Reputation]);
  2047.                 jInfo[userid][AdminLevel] = 1;
  2048.                 return 1;
  2049.             }
  2050.         }
  2051.     }
  2052.     jInfo[userid][Reputation] ++;
  2053.     format(string, sizeof(string), "Você reputou com sucesso {00D5FF}%s{FFFFFF}. || Motivo: {00FF1E}%s{FFFFFF}.", GetPlayerNameEx(userid), motivo);
  2054.     SCM(playerid, -1, string);
  2055.     format(string, sizeof(string), "{00D5FF}%s{FFFFFF} te reputou! || Motivo: {00FF1E}%s{FFFFFF}.", GetPlayerNameEx(playerid), motivo);
  2056.     SCM(userid, -1, string);
  2057.     format(CaminhoArquivo, sizeof(CaminhoArquivo), "Reputados/%s.ini", GetPlayerNameEx(userid));
  2058.     if(!DOF2_FileExists(CaminhoArquivo)) DOF2_CreateFile(CaminhoArquivo);
  2059.     DOF2_CreateFile(CaminhoArquivo);
  2060.     DOF2_SetInt(CaminhoArquivo, "Reputations", jInfo[userid][Reputation]);
  2061.     Reputou[playerid] = 1;
  2062.     SetTimerEx("Desreputar", 60000, false, "i", playerid);
  2063.     getdate(ano, mes, dia);
  2064.     gettime(hora, minuto, segundo);
  2065.     format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s reputou %s. || Motivo: %s",dia, mes, ano, hora, minuto, segundo, GetPlayerNameEx(playerid), GetPlayerNameEx(userid), motivo);
  2066.     Reputations(string);
  2067.     return 1;
  2068. }
  2069.  
  2070. CMD:verrep(playerid, params[])
  2071. {
  2072.     new string[300];
  2073.     format(string, sizeof(string), "Sua reputação é: {00D5FF}%d", jInfo[playerid][Reputation]);
  2074.     SCM(playerid, -1, string);
  2075.     return 1;
  2076. }
  2077.  
  2078. CMD:creditoscas(playerid, params[])
  2079. {
  2080.     SCM(playerid, -1, "|======================== Créditos do CAS =======================|");
  2081.     SCM(playerid, -1, "Programado por: {00E5FF}Lós{FFFFFF} & {00E5FF}Synchro");
  2082.     SCM(playerid, -1, "Includes: {00E5FF}Zeex {FF1900}[ ZCMD ]{FFFFFF}, {00E5FF}Y_Less {FF1900}[ SSCANF2 & FOREACH]{FFFFFF}, {00E5FF}Double-O-Seven {FF1900}[ DOF2 ]");
  2083.     SCM(playerid, -1, "Agradecimentos à {00E5FF}SA:MP Team.");
  2084.     SCM(playerid, -1, "|=====================================================================|");
  2085.     return 1;
  2086. }
  2087.  
  2088. CMD:ajudavip(playerid, params[])
  2089. {
  2090.     if(jInfo[playerid][Vip] == 0 ) return SCM(playerid, ErroCor, "Você não é VIP!");
  2091.     SCM(playerid, -1, "{54FF9F}/jetpack {FFFFFF}- {FFFF00}Pega um jetpack");
  2092.     SCM(playerid, -1, "{54FF9F}/duvida {FFFFFF}- {FFFF00}Envia uma duvida em uma cor personalizada");
  2093.     SCM(playerid, -1, "{54FF9F}/relato {FFFFFF}- {FFFF00}Envia um relato em uma cor personalizada");
  2094.     SCM(playerid, -1, "{54FF9F}/kitvip {FFFFFF}- {FFFF00}Pega armas personalizadas");
  2095.     return 1;
  2096. }
  2097.  
  2098. CMD:kitvip(playerid, params[])
  2099. {
  2100.     if(jInfo[playerid][Vip] == 0 ) return SCM(playerid, ErroCor, "Você não é VIP!");
  2101.     GivePlayerWeapon(playerid, 5, 1);
  2102.     GivePlayerWeapon(playerid, 22, MunicaoArmaVIP);
  2103.     GivePlayerWeapon(playerid, 25, MunicaoArmaVIP);
  2104.     GivePlayerWeapon(playerid, 29, MunicaoArmaVIP);
  2105.     GivePlayerWeapon(playerid, 31, MunicaoArmaVIP);
  2106.     GivePlayerWeapon(playerid, 34, MunicaoArmaVIP);
  2107.     GivePlayerWeapon(playerid, 16, MunicaoGranadaVIP);
  2108.     return 1;
  2109. }
  2110.  
  2111. CMD:jetpack(playerid, params[])
  2112. {
  2113.     if(jInfo[playerid][Vip] == 0 ) return SCM(playerid, ErroCor, "Você não é VIP!");
  2114.     SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
  2115.     PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  2116.     return 1;
  2117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement