indicarkick - Inicia e endica o player
terminarvotacao - Termina a votaзгo
cancelarin - cancela a votaзгo
sim - vota sim
nao - vota nao
#include a_samp
#include zcmd
#include sscanf
#define Manual false
#define Automatico true
#define Tempo ( 2000 * 60 )
new PlayersOn ,
JaVotou [ MAX_PLAYERS ] ,
_IDKick ,
Votacao_aberta = 0,
_Sim,
_Nao ,
_VotacaoTipo@ = Manual ,
LigadoAutomatic_ = 0;
public OnPlayerConnect(playerid)
{
PlayersOn ++ ;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
PlayersOn -- ;
return 1;
}
command(indicarkick , playerid , params[] )
{
new _Id ,
_string [ 150 ],
_Motivo [ 100 ];
if ( PlayersOn < 5 ) return SendClientMessage ( playerid , -1 , "Menos de 5 players nгo pode ser iniciado a votacao" ) ;
if ( !Votacao_aberta ) return SendClientMessage ( playerid , -1 , "Votaзгo jб esta aberta " ) ;
if ( sscanf ( params , "us" , _Id , _Motivo ) ) return SendClientMessage ( playerid , -1 , "°CMD° /indicarkick [ ID ] [ Motivo ]" ) ;
format ( _string , sizeof ( _string ) , "Indicarгo o %s para ser kickado [ /sim /nao ] Motivo : %s", PlayerNome (playerid ), _Motivo ) ;
SendClientMessageToAll ( -1 , _string ) ;
_IDKick = _Id ;
if ( _VotacaoTipo@ == Automatico )
{
LigadoAutomatic_ = 1 ;
SetTimer("Contagem", Tempo, true);
}
return 1;
}
command(terminarvotacao , playerid , params[] )
{
new _string [ 75 ] ;
if ( Votacao_aberta == 1 ) return SendClientMessage ( playerid , -1 , "A Votaзгo nгo foi iniciado " ) ;
if ( LigadoAutomatic_ == 1 ) return SendClientMessage ( playerid , -1 , "A Votaзгo esta automatica " ) ;
SendClientMessageToAll ( -1 , "A Votaзгo foi encerrado" ) ;
if ( _Sim > _Nao )
{
format ( _string ,sizeof ( _string ) , " O Player %s foi kickado . [ Pela Votaзгo ] " , PlayerNome ( _IDKick ) ) ;
SendClientMessageToAll ( -1 , _string ) ;
Kick ( _IDKick ) ;
}
if ( _Nao > _Sim )
{
SendClientMessageToAll ( -1 , " Ninguem foi kickado pela votacao" ) ;
}
for(new i=0; i<MAX_PLAYERS; i++)
{
JaVotou [ i ] = 0 ;
}
_IDKick = -1 ;
_Nao = 0 ;
_Sim = 0 ;
Votacao_aberta = 0 ;
return 1 ;
}
command(cancelarin , playerid , params [] )
{
if ( !Votacao_aberta ) return SendClientMessage ( playerid , -1 , "A Votaзгo nгo foi iniciado " ) ;
if ( LigadoAutomatic_ == 1 ) return SendClientMessage ( playerid , -1 , "A Votaзгo esta automatica " ) ;
_IDKick = -1 ;
_Nao = 0 ;
_Sim = 0 ;
Votacao_aberta = 0 ;
for(new i=0; i<MAX_PLAYERS; i++)
{
JaVotou [ i ] = 0 ;
}
SendClientMessageToAll ( -1 , "Votaзгo cancelada " ) ;
return 1 ;
}
command(sim , playerid , params[] )
{
if ( !Votacao_aberta ) return SendClientMessage ( playerid , -1 , "A Votaзгo nгo foi iniciado " ) ;
if ( JaVotou [ playerid ] == 1 ) return SendClientMessage (playerid , -1 , "vocк ja voto" ) ;
_Sim ++ ;
JaVotou [ playerid ] = 1 ;
SendClientMessage ( playerid , -1 , "Seu voto foi computado" ) ;
return 1 ;
}
command(nao , playerid , params[] )
{
if ( !Votacao_aberta ) return SendClientMessage ( playerid , -1 , "A Votaзгo nгo foi iniciado " ) ;
if ( JaVotou [ playerid ] == 1 ) return SendClientMessage (playerid , -1 , "vocк ja voto" ) ;
_Nao ++ ;
JaVotou [ playerid ] = 1 ;
SendClientMessage ( playerid , -1 , "Seu voto foi computado" ) ;
return 1 ;
}
stock PlayerNome ( playerid )
{
new nome [ MAX_PLAYER_NAME ] ;
GetPlayerName ( playerid , nome , sizeof ( nome ) );
return nome ;
}
forward Contagem();
public Contagem()
{
new _string [ 100 ] ;
if ( _Sim > _Nao )
{
format ( _string ,sizeof ( _string ) , " O Player %s foi kickado . [ Pela Votaзгo ] " , PlayerNome ( _IDKick ) ) ;
SendClientMessageToAll ( -1 , _string ) ;
Kick ( _IDKick ) ;
}
if ( _Nao > _Sim )
{
SendClientMessageToAll ( -1 , " Ninguem foi kickado pela votacao" ) ;
}
for(new i=0; i<MAX_PLAYERS; i++)
{
JaVotou [ i ] = 0 ;
}
_IDKick = -1 ;
_Nao = 0 ;
_Sim = 0 ;
Votacao_aberta = 0 ;
return 1 ;
}
Maurнcio Moraes (mau.tito)
Gostei da ideia brother, vai ajudar na luta contra cheaters no servidor.
|
SendClientMessage (playerid , -1 , "vocк ja volto" ) ;
command(cancelarin , playerid , params [] )
oxi esqueceu de tomar o calmante foi?
@topico eu acho que deveria set decidido o resultado por tempo como foi dito acima dps do um rep pq agr n posso kk |