PHP код:
#include <time>
#include <Dini>
forward ENEM();
forward Fechar(playerid);
new tempo;
new Teste[MAX_PLAYERS];
new Questao[MAX_PLAYERS];
new Acertos[MAX_PLAYERS];
new Erros[MAX_PLAYERS];
public OnGameModeInit()
{
new h;
SetTimer("ENEM", 60000,true);
gettime(h);
tempo = h;
return 1;
}
public OnPlayerConnect(playerid)
{
new save[40], n[24];
GetPlayerName(playerid, n, sizeof(n));
format(save, 40, "/Enem/%s.txt", n);
if(fexist(save)) { Enem[playerid] = 1; }
else { Enem[playerid] = 0; }
Questao[playerid] = 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new save[40], n[24];
GetPlayerName(playerid, n, sizeof(n));
format(save, 40, "/Enem/%s.txt", n);
if(!fexist(save))
{
if(Enem[playerid] = 1)
{
dini_Create(save);
return 1;
}
return 1;
}
return 1;
}
public ENEM()
{
new h, m, s;
gettime(h,m,s);
if(h == tempo+1 || h == 23)
{
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(Enem[i] == 0 && Teste[i] == 0)
{
SendClientMessage(i, -1, "Vocк tem 5 minutos para fazer a prova do Enem. Caso vocк queira, digite /fazerprova.");
Teste[i] = 1;
SetTimerEx("Fechar", 300000, false, "i", playerid);
return 1;
}
}
}
else
{
tempo = h;
}
return 1;
}
public Fechar(playerid)
{
Teste[playerid] = 0;
SendClientMessage(playerid, -1, "O teste foi fechado e vocк nгo poderб fazer a prova atй completar 1 hora.");
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/fazerprova", true) == 0)
{
if(Teste[playerid] == 0) return SendClientMessage(playerid, -1, "A prova estб fechada ou ainda nгo iniciada.");
if(Questao[playerid] >= 1) return SendClientMessage(playerid, -1, "Vocк jб estб fazendo a prova do Enem.");
SetPlayerPos(playerid, X, Y, Z);
Questao[playerid] = 1;
Acertos[playerid] = 0;
Erros[playerid] = 0;
SendClientMessage(playerid, -1, "Vocк foi teleportado atй o local do teste. Responda аs questхes abaixo.");
for(new l = 0; l < 5; l ++)
{
SendClientMessage(playerid, -1, " ");
}
SendClientMessage(playerid, -1, "Responda: 1000 + 900 - 320 = ?");
SendClientMessage(playerid, -1, "A) 1580.");
SendClientMessage(playerid, -1, "B) 2280.");
SendClientMessage(playerid, -1, "C) 1780.");
return 1;
}
return 0;
}
public OnPlayerText(playerid, text[])
{
if(Questao[playerid] == 1)
{
if(strcmp(text, "A", true) == 0)
{
SendClientMessage(playerid, -1, "Parabйns ! Vocк acertou. RESPOSTA: 1580.");
SendClientMessage(playerid, -1, "Vamos а proxima pergunta.");
Acertos[playerid]++;
Questao[playerid] = 2;
for(new l = 0; l < 5; l ++)
{
SendClientMessage(playerid, -1, " ");
}
SendClientMessage(playerid, -1, "Responda: Qual a capital da Austrбlia ?");
SendClientMessage(playerid, -1, "A) Darwin.");
SendClientMessage(playerid, -1, "B) Sydney.");
SendClientMessage(playerid, -1, "C) Camberra.");
}
else if(strlen(text) && strcmp(text, "A", true) == -1)
{
SendClientMessage(playerid, -1, "Que pena ! Vocк errou a resposta !");
SendClientMessage(playerid, -1, "Vamos а proxima pergunta.");
Erros[playerid]++;
for(new l = 0; l < 5; l ++)
{
SendClientMessage(playerid, -1, " ");
}
SendClientMessage(playerid, -1, "Responda: Qual a capital da Austrбlia ?");
SendClientMessage(playerid, -1, "A) Darwin.");
SendClientMessage(playerid, -1, "B) Sydney.");
SendClientMessage(playerid, -1, "C) Camberra.");
Questao[playerid] = 2;
}
else
{
for(new l = 0; l < 5; l ++)
{
SendClientMessage(playerid, -1, " ");
}
SendClientMessage(playerid, -1, "Responda: 1000 + 900 - 320 = ?"
SendClientMessage(playerid, -1, "A) 1580.");
SendClientMessage(playerid, -1, "B) 2280.");
SendClientMessage(playerid, -1, "C) 1780.");
}
}
else if(Questao[playerid] == 2)
{
if(strcmp(text, "C", true) == 0)
{
SendClientMessage(playerid, -1, "Parabйns ! Vocк acertou. RESPOSTA: Camberra.");
SendClientMessage(playerid, -1, "Vamos а ultima pergunta.");
Acertos[playerid]++;
Questao[playerid] = 3;
for(new l = 0; l < 5; l ++)
{
SendClientMessage(playerid, -1, " ");
}
SendClientMessage(playerid, -1, "Responda: Qual o significado da palavra 'attach' em inglкs ?");
SendClientMessage(playerid, -1, "A) Atacar.");
SendClientMessage(playerid, -1, "B) Atrelar.");
SendClientMessage(playerid, -1, "C) Anexar.");
}
else if(strlen(text) && strcmp(text, "C", true) == -1)
{
SendClientMessage(playerid, -1, "Que pena ! Vocк errou a resposta !");
SendClientMessage(playerid, -1, "Vamos а ultima pergunta.");
Erros[playerid]++;
for(new l = 0; l < 5; l ++)
{
SendClientMessage(playerid, -1, " ");
}
SendClientMessage(playerid, -1, "Responda: Qual o significado da palavra 'attach' em inglкs ?");
SendClientMessage(playerid, -1, "A) Atacar.");
SendClientMessage(playerid, -1, "B) Atrelar.");
SendClientMessage(playerid, -1, "C) Anexar.");
Questao[playerid] = 3;
}
else
{
for(new l = 0; l < 5; l ++)
{
SendClientMessage(playerid, -1, " ");
}
SendClientMessage(playerid, -1, "Responda: Qual a capital da Austrбlia ?");
SendClientMessage(playerid, -1, "A) Darwin.");
SendClientMessage(playerid, -1, "B) Sydney.");
SendClientMessage(playerid, -1, "C) Camberra.");
}
}
else if(Questao[playerid] == 3)
{
if(strcmp(text, "C", true) == 0)
{
SendClientMessage(playerid, -1, "Parabйns ! Vocк acertou. RESPOSTA: Anexar.");
SendClientMessage(playerid, -1, "Vocк acertou todas as questхes e passou na prova do ENEM. Alйm disso, acaba de receber 10000 dуlares como prкmio !");
for(new l = 0; l < 5; l ++)
{
SendClientMessage(playerid, -1, " ");
}
GivePlayerMoney(playerid, 10000);
Questao[playerid] = 0;
Acertos[playerid] = 0;
Erros[playerid] = 0;
Teste[playerid] = 0;
Enem[playerid] = 1;
SpawnPlayer(playerid);
}
else if(strlen(text) && strcmp(text, "C", true) == -1)
{
for(new l = 0; l < 5; l ++)
{
SendClientMessage(playerid, -1, " ");
}
new str[128];
Erros[playerid]++;
format(str, sizeof(str), "Vocк acertou %d e errou %d questхes. Para passar na prova era necessбrio acertar TODAS as questхes !", Acertos[playerid], Erros[playerid]);
SendClientMessage(playerid, -1, str);
Questao[playerid] = 0;
Acertos[playerid] = 0;
Erros[playerid] = 0;
Teste[playerid] = 0;
Enem[playerid] = 0;
SendClientMessage(playerid, -1, "Alйm disso, a prova te custou 1500 dуlares.");
SpawnPlayer(playerid);
}
else
{
for(new l = 0; l < 5; l ++)
{
SendClientMessage(playerid, -1, " ");
}
SendClientMessage(playerid, -1, "Responda: Qual o significado da palavra 'attach' em inglкs ?");
SendClientMessage(playerid, -1, "A) Atacar.");
SendClientMessage(playerid, -1, "B) Atrelar.");
SendClientMessage(playerid, -1, "C) Anexar.");
}
}
return 1;
}