Advertisement
Guest User

[FS] Virus System

a guest
May 14th, 2012
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 8.67 KB | None | 0 0
  1. /*----------------------------------------------------------------------------*\
  2.                             ==============
  3.                             B Virus System
  4.                             ==============
  5. Descrição:
  6.     Este filterscript é um sistema de virus o qual o Admin pode setar
  7.     o virus para um jogador e infetar outros jogadores, este filterscript
  8.     pode ser usado em eventos de servidores ou ate para modes de ZOMBIE.
  9.  
  10. Creative Commons:
  11.  
  12.     Portugal:
  13.  
  14.         Tem o direito de:
  15.  
  16.             Compartilhar - reproduzir, distribuir e transmitir o trabalho
  17.  
  18.             Remisturar - adaptar o trabalho.
  19.  
  20.         De acordo com as seguintes condições:
  21.  
  22.             Atribuição - Tem de fazer a atribuição do trabalho,
  23.             da maneira estabelecida pelo titular originário ou licenciante
  24.             (mas sem sugerir que este o apoia, ou que subscreve o seu uso do
  25.             trabalho).
  26.  
  27.             Não Comercial - Não pode usar este trabalho para fins comerciais.
  28.  
  29.         No entendimento de que:
  30.  
  31.             Renúncia - Qualquer uma das condições acima pode ser renunciada pelo
  32.             titular do direito de autor ou pelo titular dos direitos conexos, se
  33.             obtiver deste uma autorização para usar o trabalho sem essa condição.
  34.  
  35.             Domínio Público - Quando a obra ou qualquer dos seus elementos se
  36.             encontrar no domínio público, nos termos da lei aplicável, esse
  37.             estatuto não é de nenhuma forma afectado pela licença.
  38.  
  39.             Outros Direitos - A licença não afecta, de nenhuma forma, qualquer dos seguintes direitos:
  40.  
  41.                 • Os seus direitos de "uso legítimo" (fair dealing ou fair use)
  42.                   condecidos por lei, ou outras excepções e limitações aplicáveis
  43.                   ao direito de autor e aos direitos conexos;
  44.  
  45.                 • Os direitos morais do autor;
  46.  
  47.                 • Direitos de que outras pessoas possam ser titulares, quer
  48.                   sobre o trabalho em si quer sobre a forma como este é usado,
  49.                   tais como direitos da personalidade ou direito à privacidade.
  50.  
  51.             Aviso - Em todas as reutilizações ou distribuições, tem de deixar claro quais
  52.             são os termos da licença deste trabalho. A melhor forma de fazê-lo, é colocando
  53.             um link para esta página.
  54.  
  55.             Link - [url]http://creativecommons.org/licenses/by-nc/3.0/pt/deed.pt[/url]
  56.  
  57.     Brasil:
  58.  
  59.         Você tem a liberdade de:
  60.  
  61.             Compartilhar - copiar, distribuir e transmitir a obra.
  62.  
  63.             Remixar - criar obras derivadas.
  64.  
  65.         Sob as seguntes condições:
  66.  
  67.             Atribuição - Você deve creditar a obra de forma especificada
  68.             pelo autor ou licenciante (mas não de maneira que sugira que
  69.             estes concedem qualquer aval a você ou ao seu uso da obra).
  70.  
  71.             Uso não comercial - Você não pode usar esta obra para fins
  72.             comerciais.
  73.  
  74.         Ficando claro que:
  75.  
  76.             Renúncia - Qualquer das condições acima pode ser renunciada se você
  77.             obtiver permissão do titular dos direitos autoriais.
  78.  
  79.             Domínio Público - One a obra ou qualquer de seus elementos estiver
  80.             em dominio público sob o direito aplicável, esta condição não é, de
  81.             maneira alguma, afetada pela licença.
  82.  
  83.             Outros Direitos - Os seguintes direitos não são, de maneira alguma, afetados pela licença:
  84.  
  85.                 • Limitações e exceções aos direitos autorais ou quaisquer
  86.                   usos livres aplicáveis;
  87.  
  88.                 • Os direitos morais do autor;
  89.  
  90.                 • Direitos que outras pessoas podem ter sobre a obra ou
  91.                   sobre a utilização da obra, tais como direitos de imagem
  92.                   ou privacidade.
  93.  
  94.             Aviso - Para qualquer reutilização ou distribuição, você deve deixar
  95.             claro a terceiros os termos da licença a que se encontra submetida
  96.             esta obra. A melhor maneira de fazer isso é com um link para a página.
  97.  
  98.             Link - [url]http://creativecommons.org/licenses/by-nc/3.0/br/[/url]
  99.  
  100. Contribuidor:
  101.     SlashPT, ZeeX, Don_Speed.
  102.  
  103. Obrigado:
  104.     SlashPT - Ajudou no sistema de Virus.
  105.     ZeeX - Criador do famoso ZCMD.
  106.     Don_Speed - Beta Tester da versão 1.5.0
  107.  
  108. Um grande obrigado a:
  109.     Key/Kalcor - SA:MP.
  110.     SA_MP Team.
  111.  
  112. Vesão Atual:
  113.     1.5
  114.  
  115. Changelog:
  116.     21/08/2011:
  117.         Lançamento Oficial.
  118.     12/05/2012:
  119.         Adicionado uma nova forma de transmitir o virus clicando ALT.
  120.         Todos os bugs reparados.
  121.         Retirada do sscanf.
  122.         Optimização do código.
  123.         Retirada de alguns comandos.
  124.         Modificação do comando infectar, agora não existe mais parametros.
  125. Comandos:
  126.     - /darvirus - Você seta a variavel vírus para algum jogador.
  127.     - /infectar - Você infecta alguem com o vírus, tambem pode usar ALT.
  128.     - /vcmd - Serve para ver os comandos.
  129.  
  130. Definições:
  131.     MAX_SLOTS - Maximo de slots do seu servidor.
  132.     VS_VERSION - Versão do script.
  133.  
  134. Variaveis:
  135.     Globais:
  136.         vNome - String que serve para pegar o nome dos jogadores.
  137.         virus - Variavel que define se o jogador tem o virus ou não.
  138.         result - String que serve para formatar mensagens com apenas 128 celulas (máximo do sa-mp)
  139.         X - Float que serve para pegar as coordenadas dos jogadores.
  140.         Y - Float que serve para pegar as coordenadas dos jogadores.
  141.         Z - Float que serve para pegar as coordenadas dos jogadores.
  142.     Static:
  143.         id - Variavel que pega o valor do strval(params) no comando /darvirus.
  144.  
  145. Marcos:
  146.     PRESSED - Este marco serve para pegar a tecla que o jogador clicou, criado pela wiki.
  147.  
  148. \*----------------------------------------------------------------------------*/
  149. #include a_samp
  150. #include zcmd
  151.  
  152. #define FILTERSCRIPT
  153. #define MAX_SLOTS 500
  154. #define PRESSED(%0) \
  155.     (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  156. #define VS_VERSION "1.5.0"
  157.  
  158. new
  159.     vNome[MAX_PLAYER_NAME],
  160.     virus[MAX_SLOTS],
  161.     result[128],
  162.     Float:X,
  163.     Float:Y,
  164.     Float:Z
  165. ;
  166.  
  167. public OnFilterScriptInit ()
  168. {
  169.     print(" ");
  170.     print(" ======================================= ");
  171.     print(" |                                     | ");
  172.     print(" |          Virus System " VS_VERSION "         | ");
  173.     print(" |             Autor BlueX             | ");
  174.     print(" |                                     | ");
  175.     print(" ======================================= ");
  176.     print(" ");
  177.     return 1 ;
  178. }
  179.  
  180. public OnPlayerDeath(playerid,killerid,reason)
  181. {
  182.     virus[playerid] = 0;
  183.     return 1 ;
  184. }
  185. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  186. {
  187.     if(PRESSED(KEY_FIRE)){
  188.         cmd_infectar(playerid);
  189.     }
  190.     return 1;
  191. }
  192.  
  193. CMD:darvirus(playerid,params[]){
  194.     if(IsPlayerAdmin(playerid)){
  195.         new id;
  196.         if(isnull(params))
  197.             return SendClientMessage(playerid,-1,"[USE]: /darvirus [id]");
  198.         id = strval(params);
  199.         if(!IsPlayerConnected(id))
  200.             return SendClientMessage(playerid,-1,"* Jogador não conectado.");
  201.         GetPlayerName(playerid,vNome,MAX_PLAYER_NAME);
  202.         format(result,sizeof(result),"[AVISO]: O adminiresultador %s deu um virus a você, use /infectar [id] ou pressione ALT",vNome);
  203.         SendClientMessage(id,0x0080FFAA,result);
  204.         SendClientMessageToAll(0x0080FFAA,"Um virus foi espalhado pela cidade, tenha cuidado.");
  205.         virus[id] = 1;
  206.     }
  207.     else
  208.         SendClientMessage(playerid,0x0080FFAA,"Você não é admin logado na rcon");
  209.     return 1;
  210. }
  211.  
  212. CMD:infectar(playerid){
  213.     if(virus[playerid] == 1){
  214.         for(new i = 0; i<MAX_SLOTS; ++i){
  215.             if(i != playerid){
  216.                 if(virus[i] == 0){
  217.                     GetPlayerPos(i,X,Y,Z);
  218.                     if(IsPlayerInRangeOfPoint(playerid,3.0,X,Y,Z)){
  219.                         GetPlayerName(playerid,vNome,MAX_PLAYER_NAME);
  220.                         format(result,sizeof(result),"Você foi infectado por %s, use /infectar [id] ou pressione ALT",vNome);
  221.                         SendClientMessage(i,0x0080FFAA,result);
  222.                         virus[i] = 1;
  223.                         ResetPlayerWeapons(i);
  224.                     }
  225.                 }
  226.             }
  227.         }
  228.     }
  229.     return 1;
  230. }
  231.  
  232. CMD:vcmd(playerid)
  233. {
  234.     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" , "" ) ;
  235.     return 1 ;
  236. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement