23.09.2011, 20:50
Este й meu primeiro Filterscript, funciona para cortar a comunicaзгo entre os setores do governo, geralmente й usado para quando o governo estiver sob ataque, os membros do mesmo nгo poderгo falar no /departamento nem no /gov, mas nгo pensem que nesse sistema o governo fica o tempo todo indefeso.Foi criado tambйm um sistema de Firewall para o governo, algum membro do governo deverб ativar o firewall de 30 em 30 minutos, pois o Firewall se desativarб neste perнodo e o governo ficarб vulnerбvel a ataques, jб com o Firewall ativado, o ataque nгo terб efeito.
pawn Код:
//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) //corrigido :D
{
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$30000!");
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!*/
Pastebin: http://pastebin.com/Y0C5b6Tr
Download: http://www.megaupload.com/?d=C98G7M9J
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