#define TempoDoDesafio 420000 + random(20000)
/*
*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
*/
Muito bacana cara, mais uma opзгo pro server nao cair na rotina kkkkk
|
Gostei, isso tambйm serve para fazer eventos em alguns servidores RPG ou RP, belo trabalho
|