[Ajuda] Sistema
#1

Eai forum,estou usando esse sistema chamado Virus System feito por BlueX pra uma base pra uma organizaзгo que to fazendo aqui, e tipo eu queria que alguem no servidor/aleatуrio seja infectada a cada 20 minutos
a cada 20 minutos uma nova pessoa infecta
qual funзгo eu poderia usar?
aqui estб o cуdigo.
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 MAX_SLOTS 500
#define PRESSED(%0) \
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define VS_VERSION "1.5.0"

new
    vNome[MAX_PLAYER_NAME],
    virus[MAX_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<MAX_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 ;
}
Reply
#2

para um gamemode de zombies seria уtimo
Reply
#3

Bom, Acho este seu sistema um lixo, vocк poderia criar um sistema de mordidas que й bem melhor.

Sobre o random infected, apenas adicionar uma variavel "Count ++;" para somar a quantidade de pontos que cada time tem, e compara-los, caso seja menor, ele irб setar um jogador aleatуrio para isso, vocк usa a funзгo Random.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)