[FileScript]Sistema Novo De Loteriapor 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:
Versão com apenas 1 Numero :
Créditos:
Maurício Moraes (mau.tito)
Sky achou alguns erros.
Eu por concertas alguns bugs.
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.