Advertisement
Aninhaah

FS Anti Anuncio Indevido by Humildadeforever

Apr 7th, 2012
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 13.39 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include <sscanf>
  4. #define DIALOG_ANUNCIOS 1
  5. #define DIALOG_ANUNCIO_PROCURA 2
  6. #define DIALOG_ANUNCIO_VENDAS 3
  7. #define DIALOG_ANUNCIO_COMPRAS 4
  8. #define DIALOG_PERGUNTAR_ANUNCIO 5
  9. #define DIALOG_OUTRO_ANUNCIO 6
  10. #define DIALOG_ANUNCIO_LIBERADO 7
  11.  
  12. new bool:PermissaoTodos = false;
  13. new bool:Proibido[MAX_PLAYERS] = false;
  14. new bool:PermissaoEnviada[MAX_PLAYERS] = false;
  15. new Anuncio[MAX_PLAYERS][60];
  16.  
  17. new giveplayerid;
  18. CMD:an(playerid, params[])
  19. {
  20.     ShowPlayerDialog(playerid, DIALOG_ANUNCIOS, DIALOG_STYLE_LIST, "[NomeSv] - Anuncios. Selecione uma categoria","Procura de Org/Gang/Serviço\nVendas\nCompras\nOutro","Continuar","Cancelar");
  21.     return 1;
  22. }
  23. CMD:anuncio(playerid, params[])
  24. {
  25.     cmd_an(playerid, params);
  26.     return 1;
  27. }
  28.  
  29. CMD:anunciotodos(playerid, params[])
  30. {
  31.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Você precisa estar logado na rcon para usar o comando.");
  32.     new offouon[3];
  33.     if(sscanf(params, "s", offouon)) return SendClientMessage(playerid, -1,"Use: /anunciotodos off/on");
  34.     if(strcmp(params,"off", true) == 0)
  35.     {
  36.         if(PermissaoTodos == false) return SendClientMessage(playerid,-1,"Permissão para todos já está off");
  37.         PermissaoTodos = false;
  38.         new string[75];
  39.         format(string,sizeof(string),"{00FFFF}%s {F8F8FF}desativou o OA (Outro anúncio) para todos", PlayerName(playerid));
  40.         SendClientMessageToAll(-1,string);
  41.         print(string);
  42.     }
  43.     else if(strcmp(params,"on", true) == 0)
  44.     {
  45.         if(PermissaoTodos == true) return SendClientMessage(playerid,-1,"Permissão para todos já está On");
  46.         PermissaoTodos = true;
  47.         new string[75];
  48.         format(string,sizeof(string),"{00FFFF}%s{F8F8FF} ativou o OA (Outro anúncio) para todos!", PlayerName(playerid));
  49.         SendClientMessageToAll(-1,string);
  50.         print(string);
  51.     }
  52.     else { SendClientMessage(playerid, -1,"Use: /anunciotodos [off/on]"); }
  53.     return 1;
  54. }
  55.  
  56. CMD:proibiran(playerid, params[])
  57. {
  58.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Voce nao pode usar esse comando.");
  59.     if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid,-1,"Use: /proibiran [ID]");
  60.     if(Proibido[giveplayerid] == true) return SendClientMessage(playerid,-1,"Jogador já está proibido");
  61.     Proibido[giveplayerid] = true;
  62.     new string[106];
  63.     format(string,sizeof(string),"{00FFFF}%s {F8F8FF}proibiu {00FFFF}%s {F8F8FF}de usar a categoria Outro do /an", PlayerName(playerid), PlayerName(giveplayerid));
  64.     if(playerid != giveplayerid) return SendClientMessage(playerid,-1,string);//caso o player usa o comando com ele mesmo nao vai mandar 2 vzs a msg
  65.     SendClientMessage(giveplayerid,-1,string);
  66.     print(string);
  67.     return 1;
  68. }
  69. CMD:desproibiran(playerid, params[])
  70. {
  71.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Voce nao pode usar esse comando.");
  72.     if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid,-1,"Use: /desproibiran [ID]");
  73.     if(Proibido[giveplayerid] == false) return SendClientMessage(playerid,-1,"Jogador não está proibido");
  74.     Proibido[giveplayerid] = false;
  75.     new string[86];
  76.     format(string,sizeof(string),"{00FFFF}%s {F8F8FF}desproibiu {00FFFF}%s {F8F8FF}de usar a categoria Outro do /an", PlayerName(playerid), PlayerName(giveplayerid));
  77.     SendClientMessage(playerid,-1,string);
  78.     SendClientMessage(giveplayerid,-1,string);
  79.     print(string);
  80.     return 1;
  81. }
  82. CMD:permitiran(playerid, params[])
  83. {
  84.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Voce nao pode usar esse comando.");
  85.     if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid,-1,"Use: /permitiran [ID]");
  86.     if(PermissaoEnviada[giveplayerid] == false) return SendClientMessage(playerid,-1,"Nenhuma solicitação de anuncio pendente para esse jogador");
  87.     PermissaoEnviada[giveplayerid] = false;
  88.     new string[130];
  89.     format(string,sizeof(string),"{00FFFF}%s{F8F8FF} permitiu {00FFFF}%s{F8F8FF} enviar seu anuncio.", PlayerName(playerid),PlayerName(giveplayerid));
  90.     if(!IsPlayerAdmin(giveplayerid)) return SendClientMessage(giveplayerid,-1,string);//pq se ele for adm vai enviar tambem, ai vai ficar 2 avisos
  91.     print(string);
  92.     for(new i = 0; i < MAX_PLAYERS; i++)
  93.     {
  94.         if(IsPlayerAdmin(i)) SendClientMessage(i, -1,string);
  95.     }
  96.     format(string,sizeof(string),"Anuncio de {00FFFF}%s{F8F8FF}: {00FFFF}%s", PlayerName(giveplayerid), Anuncio[giveplayerid]);
  97.     if(!IsPlayerAdmin(giveplayerid)) return SendClientMessage(giveplayerid, -1, string);
  98.     print(string);
  99.     for(new i = 0; i < MAX_PLAYERS; i++)
  100.     {
  101.         if(IsPlayerAdmin(i)) SendClientMessage(i, -1,string);
  102.     }
  103.     format(string,sizeof(string),"{7CFC00}[Anuncio] %s. Contato: {00FF00}%s.", Anuncio[giveplayerid], PlayerName(giveplayerid));
  104.     SendClientMessageToAll(-1, string);
  105.     GivePlayerMoney(giveplayerid, -100);
  106.     GameTextForPlayer(giveplayerid, "~g~R$-100", 1000, 1);
  107.     return 1;
  108. }
  109. CMD:negarpermissao(playerid, params[])
  110. {
  111.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Voce nao pode usar esse comando.");
  112.     if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid,-1,"Use: /negarpermissao [ID]");
  113.     if(PermissaoEnviada[giveplayerid] == false) return SendClientMessage(playerid,-1,"Nenhuma solicitação de anuncio pendente para esse jogador");
  114.     PermissaoEnviada[giveplayerid] = false;
  115.     new string[140];
  116.     format(string,sizeof(string),"%s negou a permissao para %s enviar seu anuncio.", PlayerName(playerid), PlayerName(giveplayerid));
  117.     SendClientMessage(giveplayerid,-1,string);
  118.     print(string);
  119.     for(new i = 0; i < MAX_PLAYERS; i++)
  120.     {
  121.         if(IsPlayerAdmin(i)) SendClientMessage(i, -1,string);
  122.     }
  123.     format(string,sizeof(string),"Anuncio de %s: %s", PlayerName(giveplayerid),Anuncio[giveplayerid]);
  124.     SendClientMessage(giveplayerid,-1,string);
  125.     print(string);
  126.     for(new i = 0; i < MAX_PLAYERS; i++)
  127.     {
  128.         if(IsPlayerAdmin(i)) SendClientMessage(i, -1,string);
  129.     }
  130.     return 1;
  131. }
  132. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  133. {
  134.     if(dialogid == DIALOG_ANUNCIOS)
  135.     {
  136.         if(!response) return SendClientMessage(playerid,-1,"Você cancelou o envio do anúncio.");
  137.         if(listitem == 0)
  138.         {
  139.             ShowPlayerDialog(playerid, DIALOG_ANUNCIO_PROCURA, DIALOG_STYLE_LIST,"[NomeSv] - Selecione um anúncio","Procuro Org\nProcuro Gang\nProcuro Org ou Gang\nProcuro serviço de mecanico\nProcuro Detetive","Anunciar","Cancelar");
  140.         }
  141.         else if(listitem == 1)
  142.         {
  143.             ShowPlayerDialog(playerid, DIALOG_ANUNCIO_VENDAS,DIALOG_STYLE_LIST,"[NomeSv] - Selecione um anúncio","Vendo carro\nVendo casa\nVendo droga\nVendo armas","Anunciar","Cancelar");
  144.         }
  145.         else if(listitem == 2)
  146.         {
  147.             ShowPlayerDialog(playerid, DIALOG_ANUNCIO_COMPRAS, DIALOG_STYLE_LIST,"[NomeSv] - Selecione um anúncio","Compro casa\nCompro carro\nCompro armas\nCompro drogas","Anunciar","Cancelar");
  148.         }
  149.         else if(listitem == 3)
  150.         {
  151.             if(PermissaoTodos == true && Proibido[playerid] == false) return ShowPlayerDialog(playerid, DIALOG_ANUNCIO_LIBERADO, DIALOG_STYLE_INPUT,"[NomeSv] - Enviando anuncio","Digite seu anúncio","Enviar","Cancelar");
  152.             if(Proibido[playerid] == true) return SendClientMessage(playerid,-1,"Você está proibido de enviar anuncios nessa categoria (Outro)");
  153.             if(PermissaoEnviada[playerid] == true) return  SendClientMessage(playerid,-1,"Você já tem uma solicitação de anuncio pendente, espera a decisão dos admins");
  154.             else return ShowPlayerDialog(playerid, DIALOG_PERGUNTAR_ANUNCIO,DIALOG_STYLE_MSGBOX,"[NomeSv] - Outro anúncio","Para evitar o anuncio indevido, você pode digitar seu anúncio e esperar que um administrador level 5+ permita o envio","Continuar","Cancelar");
  155.         }
  156.         return 1;
  157.     }
  158.     if(dialogid == DIALOG_ANUNCIO_PROCURA)
  159.     {
  160.         if(response)
  161.         {
  162.             new antext[30],string[96];
  163.             if(listitem == 0)
  164.             {
  165.                 antext = "Procuro Org";
  166.             }
  167.             else if(listitem == 1)
  168.             {
  169.                 antext = "Procuro Gang";
  170.             }
  171.             else if(listitem == 2)
  172.             {
  173.                 antext = "Procuro Org ou Gang";
  174.             }
  175.             else if(listitem == 3)
  176.             {
  177.                 antext = "Procuro serviço de mecânico";
  178.             }
  179.             else if(listitem == 4)
  180.             {
  181.                 antext = "Procuro Detetive";
  182.             }
  183.             if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid,-1,"Você precisa de R$ 100 para anunciar");
  184.             format(string,sizeof(string),"{7CFC00}[Anuncio] %s. Contato: {00FF00}%s.", antext, PlayerName(playerid));
  185.             SendClientMessageToAll(-1, string);
  186.             GivePlayerMoney(playerid, -100);
  187.             GameTextForPlayer(playerid, "~g~R$-100", 1000, 1);
  188.         }
  189.         else if(!response)
  190.         {
  191.             SendClientMessage(playerid,-1,"Você cancelou o envio do anúncio");
  192.         }
  193.         return 1;
  194.     }
  195.     if(dialogid == DIALOG_ANUNCIO_VENDAS)
  196.     {
  197.         if(response)
  198.         {
  199.             new antext[30],string[96];
  200.             if(listitem == 0)
  201.             {
  202.                 antext = "Vendo carro";
  203.             }
  204.             else if(listitem == 1)
  205.             {
  206.                 antext = "Vendo casa";
  207.             }
  208.             else if(listitem == 2)
  209.             {
  210.                 antext = "Vendo drogas";
  211.             }
  212.             else if(listitem == 3)
  213.             {
  214.                 antext = "Vendo armas";
  215.             }
  216.             if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid,-1,"Você precisa de R$ 100 para anunciar");
  217.             format(string,sizeof(string),"{7CFC00}[Anuncio] %s. Contato: {00FF00}%s.", antext, PlayerName(playerid));
  218.             SendClientMessageToAll(-1, string);
  219.             GivePlayerMoney(playerid, -100);
  220.             GameTextForPlayer(playerid, "~g~R$-100", 1000, 1);
  221.         }
  222.         else if(!response)
  223.         {
  224.             SendClientMessage(playerid,-1,"Você cancelou o envio do anúncio");
  225.         }
  226.         return 1;
  227.     }
  228.     if(dialogid == DIALOG_ANUNCIO_COMPRAS)
  229.     {
  230.         if(response)
  231.         {
  232.             new antext[30],string[96];
  233.             if(listitem == 0)
  234.             {
  235.                 antext = "Compro casa";
  236.             }
  237.             else if(listitem == 1)
  238.             {
  239.                 antext = "Compro carro";
  240.             }
  241.             else if(listitem == 2)
  242.             {
  243.                 antext = "Compro armas";
  244.             }
  245.             else if(listitem == 3)
  246.             {
  247.                 antext = "Compro drogas";
  248.             }
  249.             if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid,-1,"Você precisa de R$ 100 para anunciar");
  250.             format(string,sizeof(string),"{7CFC00}[Anuncio] %s. Contato: {00FF00}%s.", antext, PlayerName(playerid));
  251.             SendClientMessageToAll(-1, string);
  252.             GivePlayerMoney(playerid, -100);
  253.             GameTextForPlayer(playerid, "~g~R$-100", 1000, 1);
  254.         }
  255.         else if(!response)
  256.         {
  257.             SendClientMessage(playerid,-1,"Você cancelou o envio do anúncio");
  258.         }
  259.         return 1;
  260.     }
  261.     if(dialogid == DIALOG_PERGUNTAR_ANUNCIO)
  262.     {
  263.         if(!response) return SendClientMessage(playerid,-1,"Você cancelou o envio do anúncio");
  264.         ShowPlayerDialog(playerid, DIALOG_OUTRO_ANUNCIO, DIALOG_STYLE_INPUT,"[NomeSv] - Enviando anuncio","Digite seu anúncio","Solicitar","Cancelar");
  265.         return 1;
  266.     }
  267.     if(dialogid == DIALOG_ANUNCIO_LIBERADO)
  268.     {
  269.         if(!response) return SendClientMessage(playerid, -1, "Você cancelou o envio do anuncio");
  270.         if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_ANUNCIO_LIBERADO, DIALOG_STYLE_INPUT,"[NomeSv] - Enviar anuncio","Digite o anuncio","Enviar","Cancelar");
  271.         if(strlen(inputtext) > 60) return ShowPlayerDialog(playerid, DIALOG_ANUNCIO_LIBERADO, DIALOG_STYLE_INPUT,"[NomeSv] - Enviar anuncio","Simplifique seu anuncio (até 60 caracteres)","Enviar","Cancelar");
  272.         if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid,-1,"Você precisa de R$ 100 para anunciar");
  273.         new string[110];
  274.         format(string,sizeof(string),"{7CFC00}[Anuncio] %s. Contato: {00FF00}%s.", inputtext, PlayerName(playerid));
  275.         SendClientMessageToAll(-1, string);
  276.         GivePlayerMoney(playerid, -100);
  277.         GameTextForPlayer(playerid, "~g~R$-100", 1000, 1);
  278.         return 1;
  279.     }
  280.     if(dialogid == DIALOG_OUTRO_ANUNCIO)
  281.     {
  282.         if(!response) return SendClientMessage(playerid,0x00FF3DFF,"Você cancelou o envio do anuncio");
  283.         if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_OUTRO_ANUNCIO, DIALOG_STYLE_INPUT,"[NomeSv] - Enviar anuncio","Digite o anuncio","Enviar","Cancelar");
  284.         if(strlen(inputtext) > 60) return ShowPlayerDialog(playerid, DIALOG_OUTRO_ANUNCIO, DIALOG_STYLE_INPUT,"[NomeSv] - Enviar anuncio","Simplifique seu anuncio (até 60 caracteres)","Enviar","Cancelar");
  285.         if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid,0x00FF3DFF,"Você precisa de R$ 100 para anunciar");
  286.         //NSA = Nova Solicitação de Anuncio
  287.         new string[100];
  288.         format(string,sizeof(string),"[NSA]Nome:{00FFFF}%s{F8F8FF}.Anuncio:{00FFFF}%s",PlayerName(playerid), inputtext);
  289.         if(!IsPlayerAdmin(playerid))
  290.         {
  291.             SendClientMessage(playerid,0xFFFF00FF,"|================== Nova Solicitação de Anuncio ================|");
  292.             SendClientMessage(playerid,-1,string);
  293.             SendClientMessage(playerid,0xFFFF00FF,"|===============================================================|");
  294.         }
  295.         new count = 0;
  296.         for(new i = 0; i < MAX_PLAYERS; i++)
  297.         {
  298.             if(IsPlayerAdmin(i))
  299.             {
  300.                 SendClientMessage(i,0xFFFF00FF,"|================== Nova Solicitação de Anuncio ================|");
  301.                 SendClientMessage(i,-1,string);
  302.                 SendClientMessage(i,0xFFFF00FF,"|===============================================================|");
  303.                 SendClientMessage(i, -1,"Use: /permitiran [ID]");
  304.                 count ++;
  305.             }
  306.         }
  307.         if(count == 0) return SendClientMessage(playerid, 0x00FF3DFF," Não há nenhum administrador online :/ Seu anuncio não ficará pendente");
  308.         else if(count >= 1)
  309.         {
  310.             PermissaoEnviada[playerid] = true;
  311.             new an[60];
  312.             strcat(an,inputtext);
  313.             Anuncio[playerid] = an;
  314.             return 1;
  315.         }
  316.         return 1;
  317.     }
  318.     return 1;
  319. }
  320.  
  321. stock PlayerName(playerid)
  322. {
  323.     new Name[MAX_PLAYERS];
  324.     GetPlayerName(playerid, Name, sizeof(Name));
  325.     return Name;
  326. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement