Advertisement
Wizin_

Sistema de Admin Base

Apr 1st, 2023 (edited)
708
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.40 KB | Source Code | 0 0
  1. //----------------------------------------------------------------------------//
  2. //                    Base Para Criação Sistema de Admin:                   //
  3. //----------------------------------------------------------------------------//
  4.  
  5. #include <zcmd>
  6. #include <sscanf>
  7.  
  8. enum PlayerAdmin
  9. {
  10.     Admin,
  11.     LvlAdmin,
  12.     FuncaoAdmin,
  13.     FuncaoA1,
  14.     FuncaoA2,
  15.     FuncaoA3,
  16.     FuncaoA4,
  17.     QntAtendimentos,
  18.     QntReports,
  19.     QntBanimentos
  20. }
  21. new pAdmin[MAX_PLAYERS][PlayerAdmin];
  22. new ModoTrabalhoA;
  23.  
  24. #define COR_VERMELHO 0xFF0000AA
  25.  
  26. //----------------------------------------------------------------------------//
  27. CMD:cargosadm(playerid)
  28. {
  29.     //  VARIAVEIS                                                             //
  30.     new str[500];
  31.     //  REQUESIÇÕES                                                           //
  32.     if(pAdmin[playerid][LvlAdmin] < 1) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Você Não Tem Permissão Para Usar Este Comando!");
  33.     if(ModoTrabalhoA == 0) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Você Precisa Estar Em Modo Trabalho Para Usar Este Comando (/servico)");
  34.     //  EVENTOS CMD                                                           //
  35.     strcat(str, "Helper\t1\n");
  36.     strcat(str, "Estagiario(a)\t2\n");
  37.     strcat(str, "Estagiario(a) Senior\t3\n");
  38.     strcat(str, "Auxiliar\t4\n");
  39.     strcat(str, "Moderador(a)\t5\n");
  40.     strcat(str, "Supervisor(a)\t6\n");
  41.     strcat(str, "Coordenador(a)\t7\n");
  42.     strcat(str, "Responsavel\t8\n");
  43.     strcat(str, "Resp. Geral\t9\n");
  44.     strcat(str, "Gerente\t10\n");
  45.     strcat(str, "Administrador(a)\t11\n");
  46.     strcat(str, "Diretor(a) Geral\t12\n");
  47.     strcat(str, "Desenvolvedor(a)\t13\n");
  48.     strcat(str, "Sub-Fundador(a)\t14\n");
  49.     strcat(str, "Fundador(a)\t15\n\n");
  50.     ShowPlayerDialog(playerid, Dialog_CargosADM, DIALOG_STYLE_TABLIST, "Nome Cargo\tLevel", str, "Fechar", #);
  51.     return 1;
  52. }
  53. CMD:setadm(playerid, params[])
  54. {
  55.     //  VARIAVEIS                                                             //
  56.     new NivelA, ID, Func, Func2, Func3, Func4, str[500];
  57.     //  REQUESIÇÕES                                                           //
  58.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Você Não Tem Permissão Para Usar Este Comando!");
  59.     if(sscanf(params, "dddddd", ID,NivelA,Func,Func2,Func3,Func4)) return SendClientMessage(playerid, Cor_Branco, "[ CLRP ] | /setadm [Id] [Level Admin] [Função 1] [Função 2] [Função 3] [Função 4]. | 0 = Nenhum");
  60.     if(NivelA < 0 || NivelA > 15) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Leveis de Admin Permitidos: 1 a 15");
  61.     if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Jogador Não Esta Online No Momento!");
  62.     //  EVENTOS CMD                                                           //
  63.     format(str, sizeof(str), "{FFFFFF}%s, O(a) Administrador(a) {FF0000}%s {FFFFFF}Lhe Deu o Cargo {FF0000}%s{FFFFFF}!", PlayerName(ID), PlayerName(playerid), CargoAdmins(NivelA));
  64.     SendClientMessage(ID, -1, str);
  65.     format(str, sizeof(str), "{FFFFFF}%s, Você Setou {FF0000}%s {FFFFFF}Com o Cargo {FF0000}%s{FFFFFF}.", PlayerName(playerid), PlayerName(ID), CargoAdmins(NivelA));
  66.     SendClientMessage(playerid, -1, str);
  67.     pAdmin[ID][Admin] = 1;
  68.     pAdmin[ID][LvlAdmin] = NivelA;
  69.     pAdmin[ID][FuncaoA1] = Func;
  70.     pAdmin[ID][FuncaoA2] = Func2;
  71.     pAdmin[ID][FuncaoA3] = Func3;
  72.     pAdmin[ID][FuncaoA4] = Func4;
  73.     return 1;
  74. }
  75. CMD:removeadm(playerid, params[])
  76. {
  77.     //  VARIAVEIS                                                             //
  78.     new ID, motivo, str[900];
  79.     //  REQUESIÇÕES                                                           //
  80.     if(pAdmin[playerid][Admin] == 0) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Você Não Tem Permissão Para Usar Este Comando!");
  81.     if(pAdmin[playerid][LvlAdmin] < 12) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Você Não Tem Permissão Para Usar Este Comando!");
  82.     if(sscanf(params, "ii", ID, motivo)) return SendClientMessage(playerid, Cor_Branco, "[ CLRP ] | /removeadm [Id] [Motivo].");
  83.     if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Jogador Não Esta Online No Momento!");
  84.     //  EVENTOS CMD                                                           //
  85.     format(str, sizeof(str), "{FFFFFF}O(a) Administrador(a) {FF0000}%s {FFFFFF}Retirou {FF0000}%s {FFFFFF}do Cargo {FF0000}%s, {FFFFFF}Motivo: {FF0000}%s", PlayerName(playerid), PlayerName(ID), CargoAdmins(pAdmin[ID][LvlAdmin]), motivo);
  86.     SendClientMessageToAll(-1, str);
  87.     format(str, sizeof(str), "{FF0000}%s, {FFFFFF}O(a) Administrador(a) {FF0000}%s {FFFFFF}Retirou Você do Cargo {FF0000}%s, {FFFFFF}Motivo: {FF0000}%s", PlayerName(ID), PlayerName(playerid), CargoAdmins(pAdmin[ID][LvlAdmin]), motivo);
  88.     SendClientMessage(ID, -1, str);
  89.     format(str, sizeof(str), "{FF0000}%s, Você Retirou %s do Cargo {FF0000}%s, {FFFFFF}Motivo: {FF0000}%s", PlayerName(playerid), PlayerName(ID), CargoAdmins(pAdmin[ID][LvlAdmin]), motivo);
  90.     SendClientMessage(playerid, -1, str);
  91.     pAdmin[ID][Admin] = 0;
  92.     pAdmin[ID][LvlAdmin] = 0;
  93.     pAdmin[ID][FuncaoA1] = 0;
  94.     pAdmin[ID][FuncaoA2] = 0;
  95.     pAdmin[ID][FuncaoA3] = 0;
  96.     pAdmin[ID][FuncaoA4] = 0;
  97.     return 1;
  98. }
  99. CMD:servico(playerid)
  100. {
  101.     //  REQUESIÇÕES                                                           //
  102.     if(pAdmin[playerid][LvlAdmin] == 0) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Você Não Tem Permissão Para Usar Este Comando!");
  103.     //  EVENTOS CMD                                                           //
  104.     if(ModoTrabalhoA == 0) return SendClientMessage(playerid, Cor_Vermelho, "Você Já Esta no Modo de Serviço (/pararservico)");
  105.     if(ModoTrabalhoA == 0)
  106.     {
  107.         SendClientMessage(playerid, Cor_Branco, "Você Entrou no Modo de Serviço");
  108.         SendClientMessage(playerid, Cor_Branco, "Use /pararservico Para Entrar no Modo Jogo");
  109.         ModoTrabalhoA = 1;
  110.         SetPlayerSkin(playerid, 211);
  111.     }
  112.     return 1;
  113. }
  114. CMD:pararservico(playerid)
  115. {
  116.     //  REQUESIÇÕES                                                           //
  117.     if(pAdmin[playerid][LvlAdmin] < 1) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Você Não Tem Permissão Para Usar Este Comando!");
  118.     //  EVENTOS CMD                                                           //
  119.     if(ModoTrabalhoA == 0) return SendClientMessage(playerid, Cor_Vermelho, "Você Não Esta no Modo de Serviço (/servico)");
  120.     if(ModoTrabalhoA == 1)
  121.     {
  122.         SendClientMessage(playerid, Cor_Branco, "Você Saiu do Modo de Servico");
  123.         ModoTrabalhoA = 0;
  124.         SetPlayerSkin(playerid, 23);
  125.     }
  126.     return 1;
  127. }
  128. CMD:infoadm(playerid, params[])
  129. {
  130.     //  VARIAVEIS                                                             //
  131.     new id, nameadm[100], str[500];
  132.     //  REQUESIÇÕES                                                           //
  133.     if(pAdmin[playerid][LvlAdmin] < 1) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Você Não Tem Permissão Para Usar Este Comando!");
  134.     if(ModoTrabalhoA == 0) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Você Precisa Estar Em Modo Trabalho Para Usar Este Comando (/servico)");
  135.     if(sscanf(params, "d", id)) return SendClientMessage(playerid, Cor_Branco, "[ CLRP ] | /infoadm [ID Admin].");
  136.     if(pAdmin[id][Admin] == 0) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Jogador Não e Um Adminstrador do Servidor");
  137.     if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Cor_Vermelho, "[ CLRP ] | Jogador/Admin Não Esta Online No Momento!");
  138.     //  EVENTOS CMD                                                           //
  139.     format(str, sizeof(str), "{FFFFFF}Nome Jogador(a): {FF0000}%s[ID: %d]{FFFFFF}\nLevel de Admin: {FF0000}%d[%s]\n\n{FFFFFF}Atendimentos: {FF0000}%d\n{FFFFFF}Reports: {FF0000}%d\n{FFFFFF}Banimentos: {FF0000}%d\n\n {FFFFFF}", PlayerName(id), PlayerName(id), pAdmin[id][LvlAdmin], CargoAdmins(pAdmin[id][LvlAdmin]), pAdmin[id][QntAtendimentos], pAdmin[id][QntReports], pAdmin[id][QntBanimentos]);
  140.     format(nameadm, sizeof(nameadm), "Jogador: %s", PlayerName(id));
  141.     ShowPlayerDialog(playerid, Dialog_InfoADM, DIALOG_STYLE_MSGBOX, nameadm, str, "Fechar", #);
  142.     return 1;
  143. }
  144.  
  145.  
  146.  
  147. //----------------------------------------------------------------------------//
  148. stock PlayerName(playerid)
  149. {
  150.     new name[MAX_PLAYER_NAME];
  151.     GetPlayerName(playerid, name, MAX_PLAYER_NAME);
  152.     return name;
  153. }
  154. stock CargoAdmins(aninfo)
  155. {
  156.     new str[555];
  157.     if(aninfo == 1)
  158.     {
  159.         str = "Helper";
  160.     }
  161.     if(aninfo == 2)
  162.     {
  163.         str = "Estagiario(a)";
  164.     }
  165.     if(aninfo == 3)
  166.     {
  167.         str = "Estagiario(a) Senior";
  168.     }
  169.     if(aninfo == 4)
  170.     {
  171.         str = "Auxiliar";
  172.     }
  173.     if(aninfo == 5)
  174.     {
  175.         str = "Moderador(a)";
  176.     }
  177.     if(aninfo == 6)
  178.     {
  179.         str = "Supervisor(a)";
  180.     }
  181.     if(aninfo == 7)
  182.     {
  183.         str = "Coordenador(a)";
  184.     }
  185.     if(aninfo == 8)
  186.     {
  187.         str = "Responsavel";
  188.     }
  189.     if(aninfo == 9)
  190.     {
  191.         str = "Resp. Geral";
  192.     }
  193.     if(aninfo == 10)
  194.     {
  195.         str = "Gerente";
  196.     }
  197.     if(aninfo == 11)
  198.     {
  199.         str = "Administrador(a)";
  200.     }
  201.     if(aninfo == 12)
  202.     {
  203.         str = "Diretor(a) Geral";
  204.     }
  205.     if(aninfo == 13)
  206.     {
  207.         str = "Desenvolvedor(a)";
  208.     }
  209.     if(aninfo == 14)
  210.     {
  211.         str = "Sub-Fundador(a)";
  212.     }
  213.     if(aninfo == 15)
  214.     {
  215.         str = "Fundador(a)";
  216.     }
  217.     return str;
  218. }
  219. stock NameFuncA(funcn)
  220. {
  221.     new str[1000];
  222.     if(funcn == 0)
  223.     {
  224.         str = "";
  225.     }
  226.     if(funcn == 1)
  227.     {
  228.         str = "Atendimento & Report";
  229.     }
  230.     if(funcn == 2)
  231.     {
  232.         str = "Dep. Judiciario";
  233.     }
  234.     if(funcn == 3)
  235.     {
  236.         str = "Dep. Eventos";
  237.     }
  238.     if(funcn == 4)
  239.     {
  240.         str = "Resp. Lideres";
  241.     }
  242.     if(funcn == 5)
  243.     {
  244.         str = "Dep. Painel";
  245.     }
  246.     if(funcn == 6)
  247.     {
  248.         str = "Dep. Forum";
  249.     }
  250.     if(funcn == 7)
  251.     {
  252.         str = "Resp. Staff";
  253.     }
  254.     if(funcn == 8)
  255.     {
  256.         str = "Resp. Painel";
  257.     }
  258.     if(funcn == 9)
  259.     {
  260.         str = "Resp. Forum";
  261.     }
  262.     if(funcn == 10)
  263.     {
  264.         str = "Criador";
  265.     }
  266.     return str;
  267. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement