[FS] Sistema de ataque ao governo

Ir em baixo

[FS] Sistema de ataque ao governo

Mensagem por Leon_Kennedy em Sab Nov 19, 2011 11:04 am

É um sistema de ataque ao governo que corta a comunicação entre os setores do mesmo.
Normalmente usado nos comandos /gov e /d.
Eis o code abaixo.

Código:

//Meu Primeiro Filter Script :D

//explicações finais ao fim do script
#include <a_samp>
#define BRANCO 0xFFFFFFAA
#define VERMELHO 0xE31919AA
new Firewall = 0;
new VPS[MAX_PLAYERS] = 0;
new Pacotador[MAX_PLAYERS] = 0;
new Atacando[MAX_PLAYERS] = 0;
new GovernoAtacado = 0;
new Loja;//servira de pickup para indicar o local de compra do vps e do pacotador
new pFirewall;//pickup do firewall do governo
forward Firewando();//timer para desativação do firewall

public OnFilterScriptInit()
{
   pFirewall = CreatePickup(1239,23,355.3304, 209.1588, 1008.3828,0);// pickup no interior da prefeitura, mude o virtual word se necessario
   Create3DTextLabel("Aperte F para gerenciar o Firewall",VERMELHO,355.3304, 209.1588, 1008.3828,10.0,0);
   print("Sistema de Ataque by Pedro Miranda Carregado com Sucesso!");
   Loja = CreatePickup(1239,23,1154.1116,-1771.2471,16.5992,0);//0 = virtual word, mude se dor colocar em local com virtual word diferente
   Create3DTextLabel("Aperte F para escolher sua compra",VERMELHO,1154.1116,-1771.2471,16.5992,10.0,0);//mesma coisa aqui, 0 = virtual word
   return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
   if(pickupid == Loja)
   {
       return 1;
   }
   if(pickupid == pFirewall)
   {
       return 1;
   }
   return 1;
}

public OnPlayerDisconnect(playerid)
{
   Pacotador[playerid] = 0;
   VPS[playerid] = 0;
   return 1;
}

public OnFilterScriptExit()
{
    print("Sistema de Ataque by Pedro Miranda Finalizado com Sucesso!");
   for(new i = 0; i < MAX_PLAYERS; i++)
   {
      VPS[i] = 0;
      Pacotador[i] = 0;
   }
   return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
   new string[256];
   if(strcmp(cmdtext,"/atacargoverno",true) == 0)
   {
       if(Firewall == 1)
       {
           SendClientMessage(playerid,BRANCO,"O Firewall do governo está ativado e bloqueou o ataque!");
           return 1;
       }
      if(Atacando[playerid] == 1)
      {
          SendClientMessage(playerid,BRANCO,"Você já está realizando um ataque!");
          return 1;
      }
      if(VPS[playerid] == 0 && Pacotador[playerid] == 0)
      {
          SendClientMessage(playerid,BRANCO,"Você não possui VPS nem Pacotador!");
          return 1;
      }
      if(VPS[playerid] == 1 && Pacotador[playerid] == 0)
      {
          SendClientMessage(playerid,BRANCO,"Você não possui um pacotador!");
          return 1;
      }
      if(VPS[playerid] == 0 && Pacotador[playerid] == 1)
      {
          SendClientMessage(playerid,BRANCO,"Você não possui um VPS!");
          return 1;
      }
      if(GovernoAtacado == 1)
      {
          SendClientMessage(playerid,BRANCO,"O governo já está sofrendo um ataque!");
          return 1;
      }
      if(VPS[playerid] == 1 && Pacotador[playerid] == 1 && Atacando[playerid] == 0 && GovernoAtacado == 0 && Firewall == 0)
      {
          GovernoAtacado = 1;
          Atacando[playerid] = 1;
          format(string,sizeof(string),"Foi iniciado um ataque contra o governo, a comunicação entre os setores foi cortada!");
          SendClientMessageToAll(VERMELHO,string);
          SetTimer("PararAtaque",600000,false);
          return 1;
      }
   }
   return 0;
}


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   if(dialogid == 2204)
   {
       if(response == 0)
       {
           Pacotador[playerid] = 1;
          GivePlayerMoney(playerid, -30000);
          SendClientMessage(playerid,BRANCO,"Você comprou seu pacotador por R$30000!");
          return 1;
       }
       if(response == 1)
       {
           VPS[playerid] = 1;
          GivePlayerMoney(playerid, -100000);
          SendClientMessage(playerid,BRANCO,"Você comprou seu VPS por R$100000!");
          return 1;
       }
   }
   if(dialogid == 2205)
   {
       if(response == 0)
       //coloque aqui uma if de acordo com seu gamemode para apenas membros do governo terem acesso ao firewall
       {
           if(Firewall == 0)
           {
               SendClientMessage(playerid,BRANCO,"O Firewall já está desativado!");
           }
           else
           {
               Firewall = 0;
            new g[256];
            format(g,sizeof(g),"O Firewall do governo foi desativado!");
            SendClientMessageToAll(VERMELHO,g);
            return 1;
         }
      }
      if(response == 1)
      //coloque aqui uma if de acordo com seu gamemode para apenas membros do governo terem acesso ao firewall
      {
          if(Firewall == 1)
           {
               SendClientMessage(playerid,BRANCO,"O Firewall já está ativado!");
           }
           else
           {
               Firewall = 1;
            new h[256];
            format(h,sizeof(h),"O Firewall do governo foi ativado!");
            SendClientMessageToAll(VERMELHO,h);
            SendClientMessage(playerid,BRANCO,"Este Firewall se desativa de 30 em 30 minutos, lembre-se de reativá-lo!");
            SetTimer("Firewando",1800000,false);
            return 1;
         }
      }
   }
   return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)// vou usar para abrir o menu de compras ao apertar F no local
{
   if(newkeys == 16 && IsPlayerInRangeOfPoint(playerid,5.0,1154.1116,-1771.2471,16.5992))
   {
       ShowPlayerDialog(playerid,2204,DIALOG_STYLE_MSGBOX,"Escolha sua Compra","VPS = R$100.000\nPacotador = R$30.000\nO que deseja comprar?","VPS","Pacotador");
   }
   if(newkeys == 16 && IsPlayerInRangeOfPoint(playerid,5.0,355.3304, 209.1588, 1008.3828))
   {
       ShowPlayerDialog(playerid,2205,DIALOG_STYLE_MSGBOX,"Firewall","O que deseja fazer?","Ligar","Desligar");
   }
   return 1;
}
public Firewando()
{
   new oi[256];
   Firewall = 0;
    format(oi,sizeof(oi),"O Firewall do Governo está desativado!");
    SendClientMessageToAll(VERMELHO,oi);
   return 1;
}
/* galera eu nao coloquei a parte em que ocorre o corte na comunicação, geralmente e usado nos comandos
/d e /gov, como eu nao sei como funciona o sistema de comunicação entre os setores governamentais no gm
de quem vier a baixar isto, esperam que saibam adaptar o script a seu gamemode,
mas fica a dica, coloque no /d e /gov
if(GovernoAtacado == 1)
{
   SendClientMessage(playerid,0xFFFFFFAA,"A Rede está Off no Momento!");
   return 1;
}
caso nao consigam
entrem em contato:

pedrogabrielteixeira@hotmail.com

flw, se encontrarem algum bug reportem aqui imediatamente que consertarei e postarei o script arrumado!*/


Espero que sirva pra alguem e que nao esteja bugado!
pastebin = http://pastebin.com/Q23FEicW
Download: http://www.megaupload.com/?d=D9L3BOM7


Local da venda de VPS e Pacotador: http://i53.tinypic.com/263y1oj_th.png
Local de Ativação do Firewall do Governo: http://i56.tinypic.com/1y06io_th.png

Creditos: Pedro_Miranda


PC do Show do Milhão
Processador Intel Celeron 2.0 GHz
128 MB de memória RAM
40 GB de HD
Placa de Fax Modem de 56 Kbps
Placa de Rede
Placa de Vídeo Onboard
Monitor Tela Plana de 17 Polegadas









Msn: leon@brasilcityfurious.com
TeamSpeak3 - FusioN: 94.23.98.50
avatar
Leon_Kennedy
LÍDERES
LÍDERES

Mensagens 378
Reputação : 5
Brasil Google Chrome

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum