SA-MP Forums Archive
[FilterScript] Teste de reaзгo (Matemбtico) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [FilterScript] Teste de reaзгo (Matemбtico) (/showthread.php?tid=572723)



Teste de reaзгo (Matemбtico) - Diogo123 - 01.05.2015


Bem galera apуs acabar a semana de provas na faculdade voltei a me empenhar no meu servidor,e fiz um simples sistema de teste de reaзгo matemбtico pois nunca vi algo do tipo no fуrum os existentes sгo apenas por letras (Existe um feito pelo garfield atй) entгo tive essa ideia na madrugada e passei cerca de 30 a 40 minutos fazendo e arrumando uns bugs que foram sendo encontrados



* O script contйm poucas linhas 190 no total contendo apenas um comando de debug (/iniciar).
* Caso queira editar o tempo para as questхes serem feitas edite a linha de nъmero 21.
pawn Code:
#define TempoDoDesafio      420000 + random(20000)
* A premiaзгo para quem acertar os cбlculos sгo um valor aleatуrio em dinheiro e em score.
* Includes utilizadas ( a_samp,foreach,zcmd ).



Cуdigo
pawn Code:
/*
    *FS Sistema de testes de reaзхes matemбticos
    *Versгo 1.0
    *Samp 0.3z
*/



#include <a_samp>
#include <foreach>
#include <zcmd>

new
    bool: TesteMatematico,          ResponderTeste,
    TempoTesteMatematico,           TempoDoTeste,                  
    ValorGanhoNoTeste,              ScoreNoTesteMatematico,
    string2[128]
;

#define COR_Informe         0x00FF0096
#define TempoDoDesafio      420000 + random(20000)

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public OnFilterScriptInit()
{
    print(" - Informe - Carregando sistemas [...] ");
    //----------------------------------------------------------
    TempoTesteMatematico = SetTimer("TesteDeReacao", TempoDoDesafio, 1);
    //----------------------------------------------------------
    print(" - Informe - Teste de reaзгo matemбtico versгo 1.0 carregado com sucesso ! ");
    //----------------------------------------------------------
    new ano,mes,dia;
    getdate(ano, mes, dia);
    //----------------------------------------------------------
    new hora,minutos,segundos;
    gettime(hora,minutos,segundos);
    //----------------------------------------------------------
    print(" |________________________________________|      ");
    printf("|                  Teste de Reaзгo          |   ");
    printf("|     Data: %d/%d/%d  Horas: %d:%d :%d   |  ",dia,mes,ano, hora, minutos, segundos);
    print(" |________________________________________|      ");
    //----------------------------------------------------------
    print (" - Informe - Carregado com sucesso ! \n\n");
    return 1;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public OnFilterScriptExit()
{
    print(" - Informe - Finalizando sistemas [...] ");
    //----------------------------------------------------------
    KillTimer(TempoTesteMatematico);
    //----------------------------------------------------------
    print(" - Informe - Teste de reaзгo matemбtico versгo 1.0 descarregado com sucesso ! ");
    //----------------------------------------------------------
    new ano,mes,dia;
    getdate(ano, mes, dia);
    //----------------------------------------------------------
    new hora,minutos,segundos;
    gettime(hora,minutos,segundos);
    //----------------------------------------------------------
    print(" |________________________________________|      ");
    printf("|                  Teste de Reaзгo          |   ");
    printf("|     Data: %d/%d/%d  Horas: %d:%d :%d   |  ",dia,mes,ano, hora, minutos, segundos);
    print(" |________________________________________|      ");
    //----------------------------------------------------------
    print (" - Informe - Descarregado com sucesso ! \n\n");
    return 1;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public OnPlayerText(playerid, text[])
{
    switch(TesteMatematico)
    {
        case true:
        {
            new ResultadoTeste = strval(text);
            //----------------------------------------------------------
            if(ResultadoTeste == TempoDoTeste && ResponderTeste == 0)
            {
                //----------------------------------------------------------
                foreach(Player, i)
                {
                    //----------------------------------------------------------
                    format(string2, sizeof(string2),
                    "[INFO DESAFIO]: ''%s'' Venceu o teste de reaзгo e ganhou o prкmio nesta rodada !",
                    PlayerName(playerid));
                    //----------------------------------------------------------
                    SendClientMessage(i, COR_Informe, string2);
                }
                //----------------------------------------------------------
                GivePlayerMoney(playerid, ValorGanhoNoTeste);
                KillTimer(TempoTesteMatematico);
                //----------------------------------------------------------
                SetPlayerScore(playerid, GetPlayerScore(playerid) + ScoreNoTesteMatematico);
                TempoTesteMatematico = SetTimer("TesteDeReacao", TempoDoDesafio, 1);
                //----------------------------------------------------------
                TesteMatematico = false;
                ResponderTeste = 1;
                //----------------------------------------------------------
            }
            else if(TempoDoTeste && ResponderTeste == 1)
            {
                SendClientMessage(playerid, -1,
                "[INFO DESAFIO]: Vocк foi muito lento e nгo conseguiu responder a tempo,que pena; Mas nгo desista tente em outra rodada!");
                //----------------------------------------------------------
                return 0;
            }
        }
    }
    return 1;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
forward TesteDeReacao(playerid);
public TesteDeReacao(playerid)
{
    new
        NumeroAleatorio = random(3),        DString[90],
        Numero1,                            Numero2,
        Numero3,                            Numero4

    ;
    //----------------------------------------------------------
    Numero1 = 10 + random(30);                  Numero2 = 15 + random(30);
    Numero3 = 10 + random(32);                  Numero4 = 20 + random(35);
    ValorGanhoNoTeste = 5000 + random(7000);    ScoreNoTesteMatematico = 8 + random(10);
    //----------------------------------------------------------
    format(string2, sizeof(string2),
    "[INFO DESAFIO]: A resposta da pergunta anterior foi o valor de ''%d''",
    TempoDoTeste);
    //----------------------------------------------------------
    SendClientMessageToAll(-1, string2);
    //----------------------------------------------------------
    switch(NumeroAleatorio)
    {
        case 1:
        {
            format(DString, sizeof(DString),"%d+%d-%d-%d",Numero1,Numero2,Numero3,Numero4);
            TempoDoTeste = Numero1+Numero2-Numero3-Numero4;
        }
        case 2:
        {
            format(DString, sizeof(DString), "%d-%d+%d-%d",Numero1,Numero2,Numero3,Numero4);
            TempoDoTeste = Numero1-Numero2+Numero3-Numero4;
        }
        case 3:
        {
            format(DString, sizeof(DString), "%d+%d+%d+%d",Numero1,Numero2,Numero3,Numero4);
            TempoDoTeste = Numero1+Numero2+Numero3+Numero4;
        }
        case 4:
        {
            format(DString, sizeof(DString), "%d+%d+%d-%d",Numero1,Numero2,Numero3,Numero4);
            TempoDoTeste = Numero1+Numero2+Numero3-Numero4;
        }
    }
    //----------------------------------------------------------
    format(string2, sizeof(string2),
    "[INFO DESAFIO]: O proximo a calcular o valor de ''%s'' vai ganhar um valor em dinheiro de ''%d'' $! Fique atento !!",
    DString,ValorGanhoNoTeste);
    //----------------------------------------------------------
    SendClientMessageToAll(-1, string2);
    //----------------------------------------------------------
    TesteMatematico = true;
    ResponderTeste = 0;
    return 1;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
stock PlayerName(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CMD:iniciar(playerid)
{
    TesteDeReacao(playerid);
    return 1;
}
/*

- EOF - Since 2015

*/
* Aviso - Nгo ligue para a minha forma de 'organizar' o script eu acho bonito assim e jб e costume meu ;-;
* Favor nгo tirar os crйditos do mesmo
* Print provando o funcionamento




* Imagem meramente ilustrativa faзam bom uso
* A imagem foi tirada quando ainda existia um bug entгo ignorem
* Caso encontrar bugs me reportar para o mesmo sofrer uma atualizaзгo


Re: Teste de reaзгo (Matemбtico) - RebeloX - 01.05.2015

Bastante interessante, bom trabalho!


Respuesta: Teste de reaзгo (Matemбtico) - D3sconn3ct - 01.05.2015

Bom trabalho cara, e mucho loko isso em, rsrsrs


Re: Teste de reaзгo (Matemбtico) - Dayvison_ - 01.05.2015

Bem prбtico, bom trablho


Re: Teste de reaзгo (Matemбtico) - Diogo123 - 01.05.2015

Quote:
Originally Posted by BlueX
View Post
Bastante interessante, bom trabalho!
Obrigado BlueX

Quote:
Originally Posted by gelton
View Post
Bom trabalho cara, e mucho loko isso em, rsrsrs
Valeu irmгo kkk e nozes

Quote:
Originally Posted by DayvisonJJB
View Post
Bem prбtico, bom trablho
Obrigado


Re: Teste de reaзгo (Matemбtico) - GabrielDias_Invision - 01.05.2015

Muito bacana cara, mais uma opзгo pro server nao cair na rotina kkkkk


Re: Teste de reaзгo (Matemбtico) - Diogo123 - 01.05.2015

Quote:
Originally Posted by GabrielDias_Invision
View Post
Muito bacana cara, mais uma opзгo pro server nao cair na rotina kkkkk
Sim sim inovar um pouco porque os servidores brs de dm/stunt estгo bem complicados kkk,obrigado


Re: Teste de reaзгo (Matemбtico) - viniciuship - 09.05.2015

Gostei, isso tambйm serve para fazer eventos em alguns servidores RPG ou RP, belo trabalho


Re: Teste de reaзгo (Matemбtico) - Diogo123 - 09.05.2015

Quote:
Originally Posted by viniciuship
View Post
Gostei, isso tambйm serve para fazer eventos em alguns servidores RPG ou RP, belo trabalho
Valeu