12.05.2012, 19:46
pawn Код:
/*----------------------------------------------------------------------------*\
==============
B Virus System
==============
Descriзгo:
Este filterscript й um sistema de virus o qual o Admin pode setar
o virus para um jogador e infetar outros jogadores, este filterscript
pode ser usado em eventos de servidores ou ate para modes de ZOMBIE.
Creative Commons:
Portugal:
Tem o direito de:
Compartilhar - reproduzir, distribuir e transmitir o trabalho
Remisturar - adaptar o trabalho.
De acordo com as seguintes condiзхes:
Atribuiзгo - Tem de fazer a atribuiзгo do trabalho,
da maneira estabelecida pelo titular originбrio ou licenciante
(mas sem sugerir que este o apoia, ou que subscreve o seu uso do
trabalho).
Nгo Comercial - Nгo pode usar este trabalho para fins comerciais.
No entendimento de que:
Renъncia - Qualquer uma das condiзхes acima pode ser renunciada pelo
titular do direito de autor ou pelo titular dos direitos conexos, se
obtiver deste uma autorizaзгo para usar o trabalho sem essa condiзгo.
Domнnio Pъblico - Quando a obra ou qualquer dos seus elementos se
encontrar no domнnio pъblico, nos termos da lei aplicбvel, esse
estatuto nгo й de nenhuma forma afectado pela licenзa.
Outros Direitos - A licenзa nгo afecta, de nenhuma forma, qualquer dos seguintes direitos:
• Os seus direitos de "uso legнtimo" (fair dealing ou fair use)
condecidos por lei, ou outras excepзхes e limitaзхes aplicбveis
ao direito de autor e aos direitos conexos;
• Os direitos morais do autor;
• Direitos de que outras pessoas possam ser titulares, quer
sobre o trabalho em si quer sobre a forma como este й usado,
tais como direitos da personalidade ou direito а privacidade.
Aviso - Em todas as reutilizaзхes ou distribuiзхes, tem de deixar claro quais
sгo os termos da licenзa deste trabalho. A melhor forma de fazк-lo, й colocando
um link para esta pбgina.
Link - http://creativecommons.org/licenses/by-n...pt/deed.pt
Brasil:
Vocк tem a liberdade de:
Compartilhar - copiar, distribuir e transmitir a obra.
Remixar - criar obras derivadas.
Sob as seguntes condiзхes:
Atribuiзгo - Vocк deve creditar a obra de forma especificada
pelo autor ou licenciante (mas nгo de maneira que sugira que
estes concedem qualquer aval a vocк ou ao seu uso da obra).
Uso nгo comercial - Vocк nгo pode usar esta obra para fins
comerciais.
Ficando claro que:
Renъncia - Qualquer das condiзхes acima pode ser renunciada se vocк
obtiver permissгo do titular dos direitos autoriais.
Domнnio Pъblico - One a obra ou qualquer de seus elementos estiver
em dominio pъblico sob o direito aplicбvel, esta condiзгo nгo й, de
maneira alguma, afetada pela licenзa.
Outros Direitos - Os seguintes direitos nгo sгo, de maneira alguma, afetados pela licenзa:
• Limitaзхes e exceзхes aos direitos autorais ou quaisquer
usos livres aplicбveis;
• Os direitos morais do autor;
• Direitos que outras pessoas podem ter sobre a obra ou
sobre a utilizaзгo da obra, tais como direitos de imagem
ou privacidade.
Aviso - Para qualquer reutilizaзгo ou distribuiзгo, vocк deve deixar
claro a terceiros os termos da licenзa a que se encontra submetida
esta obra. A melhor maneira de fazer isso й com um link para a pбgina.
Link - http://creativecommons.org/licenses/by-nc/3.0/br/
Contribuidor:
SlashPT, ZeeX, Don_Speed.
Obrigado:
SlashPT - Ajudou no sistema de Virus.
ZeeX - Criador do famoso ZCMD.
Don_Speed - Beta Tester da versгo 1.5.0
Um grande obrigado a:
Key/Kalcor - SA:MP.
SA_MP Team.
Vesгo Atual:
1.5
Changelog:
21/08/2011:
Lanзamento Oficial.
12/05/2012:
Adicionado uma nova forma de transmitir o virus clicando ALT.
Todos os bugs reparados.
Retirada do sscanf.
Optimizaзгo do cуdigo.
Retirada de alguns comandos.
Modificaзгo do comando infectar, agora nгo existe mais parametros.
Comandos:
- /darvirus - Vocк seta a variavel vнrus para algum jogador.
- /infectar - Vocк infecta alguem com o vнrus, tambem pode usar ALT.
- /vcmd - Serve para ver os comandos.
Definiзхes:
MAX_SLOTS - Maximo de slots do seu servidor.
VS_VERSION - Versгo do script.
Variaveis:
Globais:
vNome - String que serve para pegar o nome dos jogadores.
virus - Variavel que define se o jogador tem o virus ou nгo.
result - String que serve para formatar mensagens com apenas 128 celulas (mбximo do sa-mp)
X - Float que serve para pegar as coordenadas dos jogadores.
Y - Float que serve para pegar as coordenadas dos jogadores.
Z - Float que serve para pegar as coordenadas dos jogadores.
Static:
id - Variavel que pega o valor do strval(params) no comando /darvirus.
Marcos:
PRESSED - Este marco serve para pegar a tecla que o jogador clicou, criado pela wiki.
\*----------------------------------------------------------------------------*/
#include a_samp
#include zcmd
#define FILTERSCRIPT
#define SLOTS 500
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define VS_VERSION "1.5.0"
new
vNome[MAX_PLAYER_NAME],
virus[SLOTS],
result[128],
Float:X,
Float:Y,
Float:Z
;
public OnFilterScriptInit ()
{
print(" ");
print(" ======================================= ");
print(" | | ");
print(" | Virus System " VS_VERSION " | ");
print(" | Autor BlueX | ");
print(" | | ");
print(" ======================================= ");
print(" ");
return 1 ;
}
public OnPlayerDeath(playerid,killerid,reason)
{
virus[playerid] = 0;
return 1 ;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_FIRE)){
cmd_infectar(playerid);
}
return 1;
}
CMD:darvirus(playerid,params[]){
if(IsPlayerAdmin(playerid)){
new id;
if(isnull(params))
return SendClientMessage(playerid,-1,"[USE]: /darvirus [id]");
id = strval(params);
if(!IsPlayerConnected(id))
return SendClientMessage(playerid,-1,"* Jogador nгo conectado.");
GetPlayerName(playerid,vNome,MAX_PLAYER_NAME);
format(result,sizeof(result),"[AVISO]: O adminiresultador %s deu um virus a vocк, use /infectar [id] ou pressione ALT",vNome);
SendClientMessage(id,0x0080FFAA,result);
SendClientMessageToAll(0x0080FFAA,"Um virus foi espalhado pela cidade, tenha cuidado.");
virus[id] = 1;
}
else
SendClientMessage(playerid,0x0080FFAA,"Vocк nгo й admin logado na rcon");
return 1;
}
CMD:infectar(playerid){
if(virus[playerid] == 1){
for(new i = 0; i<SLOTS; ++i){
if(i != playerid){
if(virus[i] == 0){
GetPlayerPos(i,X,Y,Z);
if(IsPlayerInRangeOfPoint(playerid,3.0,X,Y,Z)){
GetPlayerName(playerid,vNome,MAX_PLAYER_NAME);
format(result,sizeof(result),"Vocк foi infectado por %s, use /infectar [id] ou pressione ALT",vNome);
SendClientMessage(i,0x0080FFAA,result);
virus[i] = 1;
ResetPlayerWeapons(i);
}
}
}
}
}
return 1;
}
CMD:vcmd(playerid)
{
ShowPlayerDialog ( playerid , 4830 , DIALOG_STYLE_MSGBOX , "Virus System - Comandos" , "/infectar [id] ou ALT - Para infetar alguem...\n/darvirus [id] - Para setar o virus a algum player, Deverб estar logado na rcon/n\vcreditos - Para ver o creditos\n/vobj - Para ver o objetivo...", "Ok" , "" ) ;
return 1 ;
}
Alguem pode botar esse FS pra ele executar o comando /darvirus em certo tempo e bota o /darvirus pra infectar quaisquer pessoa que estiver logado no server o fs escolhe uma pessoa no server