Kilead Samp
Bem Vindo a : Kilead Samp
Poste seus projetos,aqui!
e Seja Feliz!

Participe do fórum, é rápido e fácil

Kilead Samp
Bem Vindo a : Kilead Samp
Poste seus projetos,aqui!
e Seja Feliz!
Kilead Samp
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Você não está conectado. Conecte-se ou registre-se

[FS] Sistema de Loteria

Ir para baixo  Mensagem [Página 1 de 1]

1[FS] Sistema de Loteria Empty [FS] Sistema de Loteria Ter maio 28, 2013 12:13 am

Leo_Gangster

Leo_Gangster
Admin

[FileScript]Sistema Novo De Loteria[FS] Sistema de Loteria Icon_post_targetpor Pain » 10 Abr 2013, 21:22

Eae pessoal, essa FS é basicamente o 'Jokey' , nela vocês podem apostar em uma sequencia de 3 numeros, e para ganhar precisa acertar os 3 numeros na sequencia, se acertar 2 ou 1 dos numeros não vai ganhar nada.

Sorteio:
O sorteio e o seguinte ele vai sortear Três numeros de 1 a 90 ,
a FS está com o comando de qualquer player inicia-la , mas se você botar a variável de Admin do seu gm
o Admin poderá iniciar.
O Sorteio é de 1 em 1 hora mas caso queira trocar vá ao settimer e troque conforme o tempo que deseja.

Code:
Código:
/* ---------------------------------------------------------------------------
                              Sistema de loteria
                              By Maurício Moraes
 -----------------------------------------------------------------------------*/
#include        a_samp
#include        zcmd
#include        sscanf2

new  _Numero [ 3 ] [ MAX_PLAYERS ] ,
      _BilheteComprado [ MAX_PLAYERS ] ,
      _Premio = 1000 ;

public OnFilterScriptInit()
{
    SetTimer ( "Lott", 1000 * 60 * 60 , true ) ;
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}
public OnPlayerConnect(playerid)
{
    _BilheteComprado [ playerid ] = 0;
    return 1;
}

command(comprarbilhete , playerid , params [] )
{
    new _BileteCompra , _BileteCompra1 , _BileteCompra2 ;
    if ( _BilheteComprado [ playerid ] == 1 ) return SendClientMessage ( playerid , -1 , " Você ja tem um bilhete " ) ;
    if ( sscanf ( params , "iii" , _BileteCompra, _BileteCompra1 , _BileteCompra2 )) return SendClientMessage ( playerid , -1 , "Bilhete 1 Bilhete 2 Bilhete 3" ) ;
    if ( 1 < _BileteCompra > 99 ) return SendClientMessage ( playerid , -1 , "Você so pode jogar de 1 a 99 " ) ;
    if ( 1 < _BileteCompra1 > 99 ) return SendClientMessage ( playerid , -1 , "Você so pode jogar de 1 a 99 " ) ;
    if ( 1 < _BileteCompra2 > 99 ) return SendClientMessage ( playerid , -1 , "Você so pode jogar de 1 a 99 " ) ;
    _Numero [ 0 ] [ playerid ] = _BileteCompra ;
    _Numero [ 1 ] [ playerid ] = _BileteCompra1 ;
    _Numero [ 2 ] [ playerid ] = _BileteCompra2 ;
    _BilheteComprado [ playerid ] = 1 ;
    SendClientMessage ( playerid , -1 , "Bilhetes comprado .. ( /meusbilhetes)" ) ;
    return 1 ;
}
command(meusbilhetes , playerid , params [] )
{
    if ( _BilheteComprado [ playerid ] == 0 ) return SendClientMessage ( playerid , -1 , " Você não comprou um bilhete " ) ;
    new _string [ 78 ] ;
    format ( _string , sizeof ( _string ) , "1°%i |2°%i |3°%i |" , _Numero [ 0 ] [ playerid ] ,_Numero [ 1 ] [ playerid ] ,_Numero [ 2 ] [ playerid ] ) ;
    SendClientMessage ( playerid , -1 , _string ) ;
    return 1 ;
}

command(iniciarloteria , playerid , params [] )
{
    /*If ( Var de admin do seu GM )*/
    Lott();
    return 1;
}

forward Lott();
public Lott()
{
    new NubSort [ 3 ] ;
    NubSort [ 0 ] = random(99);
    NubSort [ 1 ] = random(99);
    NubSort [ 2 ] = random(99);
    Sorteado ( NubSort [ 0 ] , NubSort [ 1 ] , NubSort [ 2 ] ) ;
    return 1;
}
forward Sorteado ( Numero , Numero1 , Numero2 );
public Sorteado ( Numero , Numero1 , Numero2 )
{
      new _string [ 100 ] , _nome [ MAX_PLAYER_NAME ] , _string1 [ 100 ] ;
      format ( _string , sizeof ( _string ) , "|Loteria| Os Numeros sorteados forao : %i , %i e %i ", Numero , Numero1 , Numero2 ) ;
      SendClientMessageToAll ( -1 , _string ) ;
      static i;
      for(i = GetMaxPlayers()-1; i > -1; --i)
      {
          if(IsPlayerConnected(i))
          {
              if ( _Numero [ 0 ] [ i ] == Numero && _Numero [ 1 ] [ i ] == Numero1 && _Numero [ 2 ] [ i ] == Numero2 ||
                  _Numero [ 0 ] [ i ] == Numero && _Numero [ 1 ] [ i ] == Numero2 && _Numero [ 2 ] [ i ] == Numero1 ||
                  _Numero [ 0 ] [ i ] == Numero1 && _Numero [ 1 ] [ i ] == Numero && _Numero [ 2 ] [ i ] == Numero2 ||
                  _Numero [ 0 ] [ i ] == Numero1 && _Numero [ 1 ] [ i ] == Numero2 && _Numero [ 2 ] [ i ] == Numero ||
                  _Numero [ 0 ] [ i ] == Numero2 && _Numero [ 1 ] [ i ] == Numero1 && _Numero [ 2 ] [ i ] == Numero ||
                  _Numero [ 0 ] [ i ] == Numero2 && _Numero [ 1 ] [ i ] == Numero && _Numero [ 2 ] [ i ] == Numero1 )
              {
                    GetPlayerName ( i , _nome , sizeof ( _nome ) ) ;
                    format ( _string , sizeof ( _string ) , "|Ganhador| O %s foi o ganhador da loteria , recebeu : R$ %i", _nome ,_Premio);
                    SendClientMessageToAll ( -1 , _string ) ;
                    format ( _string1 , sizeof ( _string1 ) , "Você ganhou na loteria , e recebeu R$ %i",_Premio) ;
                    SendClientMessage ( i , -1 , _string1 ) ;
                    GivePlayerMoney( i , _Premio ) ;
                    break;
              }
          }
          _BilheteComprado [ i ] = 0 ;
          _Numero [ 0 ] [ i ] = 0 ;
          _Numero [ 1 ] [ i ] = 0 ;
          _Numero [ 2 ] [ i ] = 0 ;
          _Premio += 500;
      }
      return 1;
}


Versão com apenas 1 Numero :
Código:
#include        sscanf2

new  _Numero [ MAX_PLAYERS ] ,
      _BilheteComprado [ MAX_PLAYERS ] ,
      _Premio = 1000 ;

public OnFilterScriptInit()
{
    SetTimer ( "Lott", 1000 * 60 * 60 , true ) ;
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}
public OnPlayerConnect(playerid)
{
    _BilheteComprado [ playerid ] = 0;
    return 1;
}

command(comprarbilhete , playerid , params [] )
{
    new _BileteCompra ;
    if ( _BilheteComprado [ playerid ] == 1 ) return SendClientMessage ( playerid , -1 , " Você ja tem um bilhete " ) ;
    if ( sscanf ( params , "i" , _BileteCompra )) return SendClientMessage ( playerid , -1 , "Bilhete " ) ;
    if ( 1 < _BileteCompra > 99 ) return SendClientMessage ( playerid , -1 , "Você so pode jogar de 1 a 99 " ) ;
    _Numero [ playerid ] = _BileteCompra ;
    _BilheteComprado [ playerid ] = 1 ;
    SendClientMessage ( playerid , -1 , "Bilhetes comprado .. ( /meusbilhetes)" ) ;
    return 1 ;
}
command(meusbilhetes , playerid , params [] )
{
    if ( _BilheteComprado [ playerid ] == 0 ) return SendClientMessage ( playerid , -1 , " Você não comprou um bilhete " ) ;
    new _string [ 78 ] ;
    format ( _string , sizeof ( _string ) , "1°%i " , _Numero  [ playerid ]  ) ;
    SendClientMessage ( playerid , -1 , _string ) ;
    return 1 ;
}

command(iniciarloteria , playerid , params [] )
{
    /*If ( Var de admin do seu GM )*/
    Lott();
    return 1;
}

forward Lott();
public Lott()
{
    new NubSort ;
    NubSort  = random(99);
    Sorteado ( NubSort ) ;
    return 1;
}
forward Sorteado ( Numero  );
public Sorteado ( Numero  )
{
      new _string [ 100 ] , _nome [ MAX_PLAYER_NAME ] , _string1 [ 100 ] ;
      format ( _string , sizeof ( _string ) , "|Loteria| Os Numeros sorteados forao : %i ", Numero) ;
      SendClientMessageToAll ( -1 , _string ) ;
      static i;
      for(i = GetMaxPlayers()-1; i > -1; --i)
      {
          if(IsPlayerConnected(i))
          {
              if ( _Numero [ i ] == Numero )
              {
                    GetPlayerName ( i , _nome , sizeof ( _nome ) ) ;
                    format ( _string , sizeof ( _string ) , "|Ganhador| O %s foi o ganhador da loteria , recebeu : R$ %i", _nome ,_Premio);
                    SendClientMessageToAll ( -1 , _string ) ;
                    format ( _string1 , sizeof ( _string1 ) , "Você ganhou na loteria , e recebeu R$ %i",_Premio) ;
                    SendClientMessage ( i , -1 , _string1 ) ;
                    GivePlayerMoney( i , _Premio ) ;
                    break;
              }
          }
          _BilheteComprado [ i ] = 0 ;
          _Numero[ i ] = 0 ;
          _Premio += 500;
      }
      return 1;
}

Créditos:
Maurício Moraes (mau.tito)
Sky achou alguns erros.
Eu por concertas alguns bugs.

https://kilead-samp.forumeiros.com

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos