Originally Posted by ProKillerpa
pawn Код:
#include <time> #include <DOF2> #include <a_players> #include <a_samp>
forward ENEM(playerid); forward Fechar(playerid);
new tempo; new Teste[MAX_PLAYERS]; new Questao[MAX_PLAYERS]; new Acertos[MAX_PLAYERS]; new Erros[MAX_PLAYERS]; new Enem[MAX_PLAYERS];
public OnGameModeInit() { new h; SetTimer("ENEM", 5000,true); gettime(h); tempo = h; return 1; } public OnGameModeExit() { DOF2_Exit(); 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, "/scriptfiles/ServerData/Enem/%s.ini", n); if(!fexist(save)) { if(Enem[playerid] == 1) { DOF2_CreateFile(save); return 1; } return 1; } return 1; } public ENEM(playerid) { 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 !");, GivePlayerMoney(playerid, 10000); for(new l = 0; l < 5; l ++) { SendClientMessage(playerid, -1, " "); } 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; }
Ou
pawn Код:
#include <time> #include <DOF2> #include <a_players> #include <a_samp>
forward ENEM(playerid); forward Fechar(playerid);
new tempo; new Teste[MAX_PLAYERS]; new Questao[MAX_PLAYERS]; new Acertos[MAX_PLAYERS]; new Erros[MAX_PLAYERS]; new Enem[MAX_PLAYERS];
public OnGameModeInit() { new h; SetTimer("ENEM", 5000,true); gettime(h); tempo = h; return 1; } public OnGameModeExit() { DOF2_Exit(); 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, "/scriptfiles/ServerData/Enem/%s.ini", n); if(!fexist(save)) { if(Enem[playerid] == 1) { DOF2_CreateFile(save); return 1; } return 1; } return 1; } public ENEM(playerid) { 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 !");, GivePlayerGrana(playerid, 10000); for(new l = 0; l < 5; l ++) { SendClientMessage(playerid, -1, " "); } 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; }
|