[FilterScript] Simples mini-game matemбtico
#1

Um simples FS de mini-game matemбtico, onde vocк inicia o jogo, e todos podem responder sуmente 1 vez.
Caso o jogador acerte a conta matemбtica, o prкmio й de R$200.
Script simples e fбcil de editar conforme seu gosto.


IMAGEM


COMANDOS
/minigame - Inicia o minigame.
/resultado [Valor] - Responde o resultado da conta.

CУDIGO

PHP код:
/*
    -* Simples FS de mini-game matemбtico. (Bug's nгo encontrado).
        -* Script de base por: Don Speed.
            -* Script modificado por: GReeN_WOoD.
*/
#define FILTERSCRIPT
#include < a_samp >
#include < zcmd >
#include < sscanf2 >
#if defined FILTERSCRIPT
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//
#define MINUTO        2              // Aqui vocк define o tempo em minutos que o mini-game ficarб ativo.
#define @VERDE        0x00D900C8     // Verde Florescente
#define @AMARELOC     0xFFE868AA     // Amarelo Claro
#define @AZULC        0x60BFFFAA     // Azul Claro
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//
forward Comeco(playerid);
forward CancelarMiniGame(playerid);
new 
MinhaResposta[MAX_PLAYERS];
new 
bool:PermitirResp[MAX_PLAYERS] = false;
new 
bool:Mini_Game_Ativo;
new 
RespCorreta 0;
enum pmat {
    
ContaMat[50],
    
Resposta
}
//Aqui vocк pode criar mais contas.
new _Matematica[9][pmat] = {
    { 
"  9*7         ",     63},
    { 
"  27+4+6-3    ",     34},
    { 
"  31+4-2-3    ",     30},
    { 
"  4*4-4       ",     12},
    { 
"  5*5+2       ",     27},
    { 
"  7*7+2+5-1   ",     55},
    { 
"  3*2+5-1     ",     10},
    { 
"  2*8-2-3     ",     11},
    { 
"  2*4+3-6     ",      5}
};
Nome(playerid){
    new 
pNome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridpNome24);
    return 
pNome;
}
//=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//
public OnFilterScriptInit() return print("\n- FilterScript de mini-mame matemбtico carregado.\n");
public 
Comeco(playerid){
    new 
_Rand random(sizeof(_Matematica));
    static 
strm[128];
    
SendClientMessageToAll(@AZULC"=============================================================");
    
format(strmsizeof strm,"[MINI-GAME / MATEMБTICA]{FFFFFF} %s"_Matematica[_Rand][ContaMat]);
    
SendClientMessageToAll(0xFF0000FFstrm);
    
SendClientMessageToAll(0x00FF00FF"[MINI-GAME]{FFFFFF} Responda corretamente e ganhe R$200.");
    
SendClientMessageToAll(0x00FF00FF"[MINI-GAME]{FFFFFF} Para responder (/resultado).");
    
SendClientMessageToAll(@AZULC"=============================================================");
    for(new 
0MAX_PLAYERSo++) PermitirResp[o] = true;
    
RespCorreta _Matematica[_Rand][Resposta];
    
Mini_Game_Ativo true;
    
SetTimer("CancelarMiniGame"MINUTO*60000false);
    return 
true;
}
public 
CancelarMiniGame(){
    if(
Mini_Game_Ativo == true) return SendClientMessageToAll(0x00FF00FF"[MINI-GAME ENCERRADO]{FFFFFF} Ninguйm ganhou no mini-game."), Mini_Game_Ativo false;
    return 
true;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//
CMD:minigame(playerid) {
    if(
Mini_Game_Ativo == true) return SendClientMessage(playerid, -1"[MINI-GAME]{FFFFFF} Jб existe um mini-game ativo.");
    
SetTimer("Comeco"5000false);
    
SendClientMessage(playerid, @AZULC"Vocк ligou o mini-game matemбtico, aguarde 5 segundos.");
    
SendClientMessageToAll(@AZULC"Mini-game matemбtico irб ser iniciado dentro de 5 segundos, preparem-se!");
    return 
true;
}
CMD:resultado(playeridparams[]) {
    static 
N;
    if (
Mini_Game_Ativo == false) return SendClientMessage(playerid, -1"[ERRO] O mini-game estб desativado.");
    if(
PermitirResp[playerid] == false) return SendClientMessage(playerid, -1"[ERRO] Vocк nгo pode mais responder.");
    if(
sscanf(params"d"N))return SendClientMessage(playerid0x00FF00FF"Use: /resultado [resposta da conta matemбtica]");
    
MinhaResposta[playerid] = N;
    
SendClientMessage(playerid, @AMARELOC"Verificando sua resposta ...");
    if(
MinhaResposta[playerid] == RespCorreta){
        static 
str[128];
        
format(strsizeof str,"[MINI-GAME RESULTADO]{FFFFFF} %s acertou o resultado do mini-game que й: %d ."Nome(playerid), RespCorreta);
        
SendClientMessageToAll(@VERDEstr);
        
RespCorreta 0;
        
MinhaResposta[playerid] = 0;
        
Mini_Game_Ativo false;
        
GivePlayerMoney(playerid200);
    }
    else 
SendClientMessage(playerid, -1"[ERRO] Vocк errou o resultado e nгo pode mais responder."), PermitirResp[playerid] = false;
    return 
true;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//
#endif 
CRЙDITOS
Don Speed - Script de base.
GReeN_WOoD - Ediзгo do script.
Reply
#2

Mto Bom Parabйns
Reply
#3

Seria mais legal se os nъmeros e as operaзхes tambйm fossem escolhidas aleatoriamente.

Tambйm poderia separar os nъmeros e operaзхes por dificuldade, etc.

Legal cara. +REP
Reply
#4

era fera se vc digitasse no chat a operacao e dps ele fizesse o calculo ( fica a ideia )

parabens, ficou foda :P
Reply
#5

Dava para ter criado contas random e ter optimizado mais o script..

Mas ficou otimo! Parabйns !
Reply
#6

As contas sгo escolhidas por random.

PT, gostei da ideia, irei adapta-la na prуxima versгo.

Obrigado aos demais.
Reply
#7

Simples, aperto a tecla WindKey (Janelinha) e uso a calculadora do computador.
Reply
#8

Simples, porкm bom...
jб tenho uma ideia pra vc poder colocar no seu proximo minigame:
Quem digitar: /typZqDlKjAM198AD528 ganha R$2000!

mas verificando as letras maiusculas e letras minusculas ;]
e й obvio й randomico os codigos que tem que ser digitado
Reply
#9

Parabйns +rep
Reply
#10

Quote:
Originally Posted by Diksplay
Посмотреть сообщение
Simples, porкm bom...
jб tenho uma ideia pra vc poder colocar no seu proximo minigame:
Quem digitar: /typZqDlKjAM198AD528 ganha R$2000!

mas verificando as letras maiusculas e letras minusculas ;]
e й obvio й randomico os codigos que tem que ser digitado
essa ideia ja existe.. https://sampforum.blast.hk/showthread.php?tid=150274
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)