[FilterScript] Sistema de eventos (0.7)
#1

Sistema de eventos
Por Diogo123


Introduзгo

Bem a um bom tempo atrбs tinha lanзado uma versгo do mesmo aqui na board [PT/BR] e tambйm na бrea principal do fуrum que por la foi muito bem aceito e com isso fui fazendo atualizaзхes do mesmo por lб que atualmente e a versгo 0.7 tambйm no entanto jб foi lanзada a um bom tempo apenas hoje achei necessбrio fazer uma pequena traduзгo e posta-lo aqui para dar uma atualizada tambйm .


O foco e simples apenas criar eventos variando da criatividade do administrador podendo dar premiaзхes ao jogadores que estгo participando do mesmo no caso os comandos ( Primeiro,Segundo e Terceiro [ID]) nгo e la essas coisas mas eu achei algo interessante (kkkk).


Sem mais delongas vou mostrar o ChangeLog do FS


pawn Код:
/*

-* ChangeLog

-* 0.1 Lanзamento Do FS

-* 0.2 Bug Arrumado de nao aparecer nick do jogador ao utilizar o comando /EVENTO
-* 0.2 Mudanзas em geral no FS


-* 0.3 Comando adicionado /Saire
-* 0.3 Colocado um bloqueio para jogadores nao usar comandos no evento

-* 0.4 Pequena atualizaзгo para retirar o erro do comando inexistente

-* 0.5 Comandos /primeiro [id] /segundo [id] /terceiro [id] /espawn adicionados
-* 0.5 Agora jogadores ao morrerem no evento aparecera mensagem para todos
-* 0.5 Cores aleatorias para quem for ao evento
-* 0.5 Nome nos veiculos ao entrar nos mesmos
-* 0.5 Comando /Esetweather [ id ] adicionado

-* 0.6 (2014) Comando /efechar adicionado
-* 0.6 (2014) Mudanзas em geral no FS
-* 0.6 (2014) Colocada a include Foreach Crйditos ( ****** ).

-* 0.7 (2015) Mudanзas em geral no FS.
-* 0.7 (2015) Removida cores aleatorias para quem ir no evento
-* 0.7 (2015) Removido nome dos carros
-* 0.7 (2015) Adicionado um killing spree de 25 kills com premiaзхes e um bonus de score
-* 0.7 (2015) Comando /EsconderNick Adicionado

*/


Os comandos sу funcionam no modo administraзгo rcon (rcon login blabla) basta apenas vocк modificar-lo a seu sistema de administraзгo,ao todo o FS possui 23 comandos para administradores e apenas 2 comandos para jogadores normais sendo eles :


/Evento
/SairE


Jб os comandos administrativos sгo :

pawn Код:
CMD:ecmd(playerid)
{
    if ( !IsPlayerAdmin ( playerid ) ) return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    new StrCMD[1500];
    strcat(StrCMD, "\t {1E90FF}Comandos                             {FF1E1E}DEvento{F8F8FF}:\n\n");
    strcat(StrCMD, "{1E90FF}•/Aevento                               {F8F8FF}Abre o evento para os jogadores.\n");
    strcat(StrCMD, "{FF1E1E}•/Eevento                               {F8F8FF}Finaliza o evento para os jogadores.\n");
    strcat(StrCMD, "{1E90FF}•/Efechar                               {F8F8FF}Termina o evento para todos.\n");
    strcat(StrCMD, "{FF1E1E}•/Primeiro (Segundo ou Terceiro)        {F8F8FF}Premiaзгo para os 3 colocados do evento (/Primeiro [ID]).\n");
    strcat(StrCMD, "{1E90FF}•/Espawn                                {F8F8FF}Spawna todos os jogadores no evento.\n");
    strcat(StrCMD, "{FF1E1E}•/Esetweather                           {F8F8FF}Seta um clima para todos que estao no evento.\n");
    strcat(StrCMD, "{1E90FF}•/Ecarro                                {F8F8FF}Cria carros para eventos de corrida.\n");
    strcat(StrCMD, "{FF1E1E}•/Earma                                 {F8F8FF}Seta armas para os jogadores que estao no evento.\n");
    strcat(StrCMD, "{1E90FF}•/Ecolete                               {F8F8FF}Seta colete para os jogadores que estao no evento.\n");
    strcat(StrCMD, "{FF1E1E}•/Erecvida                              {F8F8FF}Apos matar alguem vida e colete sao setado automaticamente\n");
    strcat(StrCMD, "{FF1E1E}•/Ekitrun (KitWalk ou KitGranadas)      {F8F8FF}Da Kits para os jogadores no evento\n");
    strcat(StrCMD, "{FF1E1E}•/Evw                                   {F8F8FF}Seta o mundo virtual do evento\n");
    strcat(StrCMD, "{FF1E1E}•/eKick                                 {F8F8FF}Kicka um jogador que esteja atrapalhando o andamento do evento\n");
    strcat(StrCMD, "{FF1E1E}•/Econgelar                             {F8F8FF}Congela todos os jogadores do evento\n");
    strcat(StrCMD, "{FF1E1E}•/Edescongelar                          {F8F8FF}Descongela todos os jogadores do evento\n");
    strcat(StrCMD, "{FF1E1E}•/Edesarmar                             {F8F8FF}Desarma todos que estao no evento\n");
    strcat(StrCMD, "{FF1E1E}•/EsconderNick                          {F8F8FF}Esconde o nick de todos os jogadores que estao no evento\n");
    strcat(StrCMD, "{FF1E1E}•/Eskin                                 {F8F8FF}Seta uma skin para todos que estao no evento\n");
    strcat(StrCMD, "{FF1E1E}•/Contar                                {F8F8FF}Inicia uma contagem para todos que eestao no evento\n\n");
    ShowPlayerDialog(playerid,7897 , DIALOG_STYLE_MSGBOX, "Comandos Evento", StrCMD, "Fechar", "");
    return 1;
}


Bem aqui vai uma pequena info do FS
Total de linhas : 581
Total de comandos(admins) : 23
Total de comandos(players) : 2
Tamanho .pwn : 31 Kb
Tamanho .amx : 43 kb
Versгo : 0.7
Tempo de criaзгo 7 horas ( juntando todas as atts que o mesmo contйm)
Crйditos em geral

WikiSamp
SampTeam include a_samp
****** pelas includes sscanf2 e foreach
ZeeX pela include ZCMD
Diogo123 ou [Gv]Tw0.P4c___. pela criaзгo do FS
Agora o 'download' sem upar em outros sites nem nada e_e (atй porque e um fs pequeno)
Faзam bom uso

pawn Код:
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <foreach>
// =============================================================================
new bool:EvenTStats , bool:TheEvenT[ MAX_PLAYERS ] , Float:EventoPos [ 4 ] , EventoInt , EventoVW , bool:EventoRecarregarLife = false , iString2[129+1] , KillStreak[100],bool:HideNick = false;
// =============================================================================
#define version                                                                 "0.7"
//==============================================================================
forward Count(Contagem);
// =============================================================================
public OnFilterScriptInit()
{
    print("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
    print("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t");
    print("TEventSystem Feito por: [Gv]Tw0.P4c__. A.K.A Diogo123");
    print("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
    print("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t");
    print("Carregando Versгo : "version"");
    return 1;
}
// =============================================================================
public OnFilterScriptExit() return print("Descarregado");
public OnPlayerConnect(playerid) return KillStreak[playerid] = 0, TheEvenT [ playerid ] = false ;
public OnPlayerDisconnect(playerid, reason) return TheEvenT [ playerid ] = false ;
public OnPlayerSpawn(playerid) return TheEvenT [ playerid ] = false ;
// =============================================================================
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    return 1;
}
// =============================================================================
public OnPlayerDeath(playerid, killerid, reason)
{
    TheEvenT [ playerid ] = false ;
    KillStreak[playerid] = 0;
    foreach(Player, v)
    {
        if(killerid != INVALID_PLAYER_ID)
        {
            if ( TheEvenT [ v ] )
            {
                format ( iString2 , sizeof ( iString2 ) , "{FFFFFF}O Jogador{FF230A}%s{FFFFFF}({FF230A}ID:%d{FFFFFF}) Morreu no Evento.", GetPName ( playerid ) , playerid ) ;
                SendClientMessageToAll ( -1 , iString2 ) ;
                SendDeathMessage ( killerid , playerid , reason ) ;
                KillStreak[killerid] ++;
                if(KillStreak[killerid] == 3)
                {
                    format(iString2, sizeof(iString2), "{FFFFFF}O Jogador {FF230A}%s esta comeзando a matar (3 killing spree)!", GetPName(killerid));
                    SendClientMessageToAll(-1, iString2);
                    SendClientMessage(killerid,-1, "{FFFFFF}- Info -{FF230A} Voce ganhou $1500 e +2 score! (bonus)");
                    GivePlayerMoney(playerid, 1500);
                    GivePlayerScore(playerid, 2);
                }
                if(KillStreak[killerid] == 5)
                {
                    format(iString2, sizeof(iString2), "{FFFFFF}O Jogador {FF230A}%s ja esta tomando gosto pela coisa (5 killing spree)!", GetPName(killerid));
                    SendClientMessageToAll(-1, iString2);
                    SendClientMessage(killerid,-1, "{FFFFFF}- Info -{FF230A} Voce ganhou $2500 e +3 score! (bonus)");
                    GivePlayerMoney(playerid, 2500);
                    GivePlayerScore(playerid, 3);
                }
                if(KillStreak[killerid] == 10)
                {
                    format(iString2, sizeof(iString2), "{FFFFFF}O Jogador {FF230A}%s esta ficando incontrolavel (10 killing spree)!", GetPName(killerid));
                    SendClientMessageToAll(-1, iString2);
                    SendClientMessage(killerid,-1, "{FFFFFF}- Info -{FF230A} Voce ganhou $5000 e +4 score! (bonus)");
                    GivePlayerMoney(playerid, 5000);
                    GivePlayerScore(playerid, 4);
                }
                if(KillStreak[killerid] == 15)
                {
                    format(iString2, sizeof(iString2), "{FFFFFF}O Jogador {FF230A}%s vai acabar virando o maior matador do mundo (15 killing spree)!", GetPName(killerid));
                    SendClientMessageToAll(-1, iString2);
                    SendClientMessage(killerid,-1, "{FFFFFF}- Info -{FF230A} Voce ganhou $7 500 e +6 score! (bonus)");
                    GivePlayerMoney(playerid, 7500);
                    GivePlayerScore(playerid, 6);
                }
                if(KillStreak[killerid] == 20)
                {
                    format(iString2, sizeof(iString2), "{FFFFFF}O Jogador {FF230A}%s falta pouco para ser reconhecido ... (20 killing spree)!", GetPName(killerid));
                    SendClientMessageToAll(-1, iString2);
                    SendClientMessage(killerid,-1, "{FFFFFF}- Info -{FF230A} Voce ganhou $12 500 e +10 score! (bonus)");
                    GivePlayerMoney(playerid, 12500);
                    GivePlayerScore(playerid, 10);
                }
                if(KillStreak[killerid] == 25)
                {
                    format(iString2, sizeof(iString2), "{FFFFFF}O Jogador {FF230A}%s - conseguiu ser o maior matador do mundo o_O ... (25 killing spree)!", GetPName(killerid));
                    SendClientMessageToAll(-1, iString2);
                    SendClientMessage(killerid,-1, "{FFFFFF}- Info -{FF230A} Voce ganhou $20 000 e +15 score! (bonus)");
                    GivePlayerMoney(playerid, 20000);
                    GivePlayerScore(playerid, 15);
                }
            }
        }
    }
    if ( TheEvenT [ killerid ] == true )
    {
        if ( EventoRecarregarLife == true )
        {
            SetPlayerHealth ( killerid , 100.0 ) ;
            SetPlayerArmour ( killerid , 100.0 ) ;
        }
    }
    return 1;
}
// ================================= [ EVENT SYSTEM ] ==========================
CMD:ecmd(playerid)
{
    if ( !IsPlayerAdmin ( playerid ) ) return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    new StrCMD[1500];
    strcat(StrCMD, "\t {1E90FF}Comandos                             {FF1E1E}DEvento{F8F8FF}:\n\n");
    strcat(StrCMD, "{1E90FF}•/Aevento                               {F8F8FF}Abre o evento para os jogadores.\n");
    strcat(StrCMD, "{FF1E1E}•/Eevento                               {F8F8FF}Finaliza o evento para os jogadores.\n");
    strcat(StrCMD, "{1E90FF}•/Efechar                               {F8F8FF}Termina o evento para todos.\n");
    strcat(StrCMD, "{FF1E1E}•/Primeiro (Segundo ou Terceiro)        {F8F8FF}Premiaзгo para os 3 colocados do evento (/Primeiro [ID]).\n");
    strcat(StrCMD, "{1E90FF}•/Espawn                                {F8F8FF}Spawna todos os jogadores no evento.\n");
    strcat(StrCMD, "{FF1E1E}•/Esetweather                           {F8F8FF}Seta um clima para todos que estao no evento.\n");
    strcat(StrCMD, "{1E90FF}•/Ecarro                                {F8F8FF}Cria carros para eventos de corrida.\n");
    strcat(StrCMD, "{FF1E1E}•/Earma                                 {F8F8FF}Seta armas para os jogadores que estao no evento.\n");
    strcat(StrCMD, "{1E90FF}•/Ecolete                               {F8F8FF}Seta colete para os jogadores que estao no evento.\n");
    strcat(StrCMD, "{FF1E1E}•/Erecvida                              {F8F8FF}Apos matar alguem vida e colete sao setado automaticamente\n");
    strcat(StrCMD, "{FF1E1E}•/Ekitrun (KitWalk ou KitGranadas)      {F8F8FF}Da Kits para os jogadores no evento\n");
    strcat(StrCMD, "{FF1E1E}•/Evw                                   {F8F8FF}Seta o mundo virtual do evento\n");
    strcat(StrCMD, "{FF1E1E}•/eKick                                 {F8F8FF}Kicka um jogador que esteja atrapalhando o andamento do evento\n");
    strcat(StrCMD, "{FF1E1E}•/Econgelar                             {F8F8FF}Congela todos os jogadores do evento\n");
    strcat(StrCMD, "{FF1E1E}•/Edescongelar                          {F8F8FF}Descongela todos os jogadores do evento\n");
    strcat(StrCMD, "{FF1E1E}•/Edesarmar                             {F8F8FF}Desarma todos que estao no evento\n");
    strcat(StrCMD, "{FF1E1E}•/EsconderNick                          {F8F8FF}Esconde o nick de todos os jogadores que estao no evento\n");
    strcat(StrCMD, "{FF1E1E}•/Eskin                                 {F8F8FF}Seta uma skin para todos que estao no evento\n");
    strcat(StrCMD, "{FF1E1E}•/Contar                                {F8F8FF}Inicia uma contagem para todos que eestao no evento\n\n");
    ShowPlayerDialog(playerid,7897 , DIALOG_STYLE_MSGBOX, "Comandos Evento", StrCMD, "Fechar", "");
    return 1;
}
// ================================= [ EVENT SYSTEM ] ==========================
CMD:aevento(playerid)
{
    if ( EvenTStats ) return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento -O evento ja esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) ) return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    EvenTStats = true;
    TheEvenT[playerid] = true;
    GetPlayerPos ( playerid , EventoPos [ 0 ] , EventoPos [ 1 ] , EventoPos [ 2 ] ) ;
    GetPlayerFacingAngle ( playerid , EventoPos [ 3 ] ) ;
    EventoInt = GetPlayerInterior ( playerid ) ;
    EventoVW = GetPlayerVirtualWorld ( playerid ) ;
    SendClientMessageToAll ( 0xFFFFFFFF," " ) ;
    SendClientMessageToAll ( 0xFF00FFFF,"[ EVENTO ] : >> O EVENTO FOI ABERTO,PARA PARTICIPAR DIGITE ''{fafafa}/EVENTO'' !" ) ;
    SendClientMessageToAll ( 0xFFFFFFFF," " ) ;
    return 1;
}
// =============================================================================
CMD:eevento(playerid)
{
    if ( EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento -O evento ja esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    SendClientMessageToAll( 0x33CCFFFF , "- Info Evento - O administrador finalizou o evento!" ) ;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            TheEvenT [ v ] = false;
            EvenTStats = false;
            SpawnPlayer ( v ) ;
        }
    }
    return 1;
}
// =============================================================================
CMD:efechar(playerid)
{
    if ( !EvenTStats ) return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento ja esta fechado." ) ;
    if ( !IsPlayerAdmin ( playerid ) ) return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    for ( new v , b = GetMaxPlayers(); v != b; v++ )
    {
        if ( TheEvenT [ v ] )
        {
            TheEvenT [ v ] = true ;
            EvenTStats = false ;
        }
    }
    return 1;
}
// =============================================================================
CMD:primeiro(playerid,params[])
{
    new ID;
    if ( !EvenTStats ) return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - The event is already closed." ) ;
    if ( !IsPlayerAdmin ( playerid ) ) return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    if ( sscanf ( params , "i", ID ) ) return SendClientMessage ( playerid , -1 ,"{F81414}/Primeiro [ ID ]" ) ;
    if ( !IsPlayerConnected ( ID ) ) return SendClientMessage ( playerid , -1 , "{F81414}- Info Evento - O Jogador nao esta conectado" ) ;
    if ( !TheEvenT [ ID ] ) return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O Jogador nao esta no evento." ) ;
    format ( iString2 , sizeof ( iString2 ) , "{FFFFFF}O premio de primeiro lugar vai para{FF230A} %s ({FF230A}ID:%d{FFFFFF})!!!", GetPName ( playerid ) , playerid ) ;
    SendClientMessageToAll ( -1 , iString2 ) ;
    SendClientMessage ( ID , -1 , "-Info Premiaзгo- Por ser o primeiro colocado voce recebeu R$ 5.000!" ) ;
    GivePlayerMoney ( ID , 5000 ) ;
    return 1;
}
// =============================================================================
CMD:segundo(playerid,params[])
{
    new ID;
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento ja esta fechado." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    if ( sscanf ( params , "i", ID ) )return SendClientMessage ( playerid , -1 ,"{F81414}/Segundo [ ID ]" ) ;
    if ( !IsPlayerConnected ( ID ) )return SendClientMessage ( playerid , -1 , "{F81414}- Info Evento - O Jogador nao esta conectado" ) ;
    if ( !TheEvenT [ ID ] )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O Jogador nao esta no evento." ) ;
    format ( iString2 , sizeof ( iString2 ) , "{FFFFFF}O premio de segundo lugar vai para{FF230A} %s ({FF230A}ID:%d{FFFFFF})!!!", GetPName ( playerid ) , playerid ) ;
    SendClientMessageToAll ( -1 , iString2 ) ;
    SendClientMessage (ID , -1 , "-Info Premiaзгo- Por ser o segundo colocado voce recebeu R$ 2.500!" ) ;
    GivePlayerMoney ( ID , 2500 ) ;
    return 1;
}
// =============================================================================
CMD:terceiro(playerid,params[])
{
    new ID;
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento ja esta fechado." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    if ( sscanf ( params , "i", ID ) )return SendClientMessage ( playerid , -1 ,"{F81414}/Terceiro [ ID ]" ) ;
    if ( !IsPlayerConnected ( ID ) )return SendClientMessage ( playerid , -1 , "{F81414}- Info Evento - O Jogador nao esta conectado" ) ;
    if ( !TheEvenT [ ID ] )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O Jogador nao esta no evento." ) ;
    format ( iString2 , sizeof ( iString2 ) , "{FFFFFF}O premio de terceiro lugar vai para{FF230A} %s ({FF230A}ID:%d{FFFFFF})!!!", GetPName ( playerid ) , playerid ) ;
    SendClientMessageToAll ( -1 , iString2 ) ;
    SendClientMessage ( ID , -1 , "-Info Premiaзгo- Por ser o terceiro colocado voce recebeu R$ 1.000!" ) ;
    GivePlayerMoney ( ID , 1000 ) ;
    return 1;
}
// =============================================================================
CMD:espawn(playerid)
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento ja esta fechado." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    for ( new v , b = GetMaxPlayers(); v != b; v++ )
    {
        if ( TheEvenT [ v ] )
        {
            SpawnPlayer ( v ) ;
            ResetPlayerWeapons ( v ) ;
            format ( iString2 , sizeof ( iString2 ) , "O{FF230A}%s{FFFFFF} ({FF230A}ID:%d{FFFFFF})deu spawn em todos os jogadores no {FF230A}Evento", GetPName ( playerid ) , playerid ) ;
            SendClientMessageToAll ( -1 , iString2 ) ;
        }
    }
    return 1;
}
// =============================================================================
CMD:saire(playerid)
{
    if ( TheEvenT [ playerid ] == true )
    {
        new Float:Health;
        GetPlayerHealth ( playerid , Health ) ;
        if ( Health < 30.0 )return SendClientMessage ( playerid, 0xFF0000FF, "- Info Evento - Sua vida esta muito baixa." ) ;
        SpawnPlayer ( playerid ) ;
        ResetPlayerWeapons ( playerid ) ;
        TheEvenT [ playerid ] = false ;
        SetPlayerVirtualWorld ( playerid , 0 ) ;
        SetPlayerInterior ( playerid , 0 ) ;
        ResetPlayerWeapons ( playerid ) ;
        PlayerPlaySound ( playerid , 1057 , 0.0 , 0.0 , 0.0 ) ;
    }
    return 1;
}
// =============================================================================
CMD:esetweather(playerid,params[])
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento ja esta fechado." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    new weather;
    if ( sscanf ( params ,"i" , weather ) ) return SendClientMessage ( playerid , 0x00C0FFFF , "{F81414}/Esetweather (weather)" ) ;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            SetPlayerWeather ( v , weather ) ;
        }
    }
    return 1;
}
// =============================================================================
CMD:evento(playerid)
{
    if ( TheEvenT [ playerid ] == true ) return SendClientMessage ( playerid , 0x9FFF00FF , "- Info Evento - Voce nao pode usar comandos estando no evento,use /saire!" ) ;
    if ( !EvenTStats ) return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    new Float:Health;
    GetPlayerHealth ( playerid , Health ) ;
    if ( Health < 30.0 ) return SendClientMessage ( playerid, 0xFF0000FF, "- Info Evento - Sua vida esta muito baixa." ) ;
    TheEvenT [ playerid ] = true ;
    ResetPlayerWeapons ( playerid ) ;
    format ( iString2 , sizeof ( iString2 ) , "{FFFFFF}' %s ' {F81414}Foi para o evento {FFFFFF}( /EVENTO )", GetPName ( playerid ) ) ;
    SendClientMessageToAll ( 0x88FF9FFF , iString2 ) ;
    SetPlayerPos ( playerid , EventoPos [ 0 ] , EventoPos [ 1 ] , EventoPos [ 2 ] ) ;
    SetPlayerFacingAngle ( playerid , EventoPos [ 3 ] ) ;
    SetPlayerInterior ( playerid , EventoInt ) ;
    SetPlayerVirtualWorld ( playerid , EventoVW ) ;
    return 1;
}
// =============================================================================
CMD:ecarro(playerid, params[])
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    new Modelo,Cor1,Cor2;
    if ( sscanf ( params , "ddd" , Modelo , Cor1 , Cor2 ) )return SendClientMessage ( playerid , 0x00C0FFFF , "{F81414}/Ecarro [ ID ] [ IDCOR1 ] [ IDCOR2 ]" ) ;
    new Float:CarPos[4], CarID;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            GetPlayerFacingAngle ( v , CarPos [ 3 ] ) ;
            GetPlayerPos ( v , CarPos [ 0 ] , CarPos [ 1 ] , CarPos [ 2 ] ) ;
            CarID = CreateVehicle ( Modelo , CarPos [ 0 ] +2 , CarPos [ 1 ] , CarPos [ 2 ] , CarPos [ 3 ] , Cor1 , Cor2 , 0x00C0FFFF ) ;
            LinkVehicleToInterior ( CarID , EventoInt ) ;
            SetVehicleVirtualWorld ( CarID , EventoVW ) ;
            PutPlayerInVehicle ( v , CarID , 0 ) ;
        }
    }
    return 1;
}
// =============================================================================
CMD:earma(playerid, params[])
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    new Arma,Municao;
    if ( sscanf ( params , "dd" , Arma , Municao ) )return SendClientMessage ( playerid , 0x00C0FFFF , "{F81414}/Earma [ ID ] [ Balas ]" ) ;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            GivePlayerWeapon ( v , Arma , Municao ) ;
        }
    }
    return 1;
}
// =============================================================================
CMD:ecolete(playerid, params[])
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    new Float:Colete;
    if ( sscanf ( params , "f", Colete ) )return SendClientMessage ( playerid , 0x00C0FFFF , "{F81414}/Ecolete[ 0/100 ]" ) ;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            SetPlayerArmour ( v , Colete ) ;
        }
    }
    return 1;
}
// =============================================================================
CMD:ekitrun(playerid, params[])
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            GivePlayerWeapon( v , 22 , 150);
            GivePlayerWeapon( v , 26 , 150);
            GivePlayerWeapon( v , 28 , 150);
            ResetPlayerWeapons( v );
            GivePlayerWeapon( v , 22 , 150);
            GivePlayerWeapon( v , 26 , 150);
            GivePlayerWeapon( v , 28 , 150);
        }
    }
    return 1;
}
// =============================================================================
CMD:erecvida(playerid, params[])
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    if(EventoRecarregarLife == false)
    {
        EventoRecarregarLife = true;
        SendClientMessage(playerid, -1, "Agora quando jogadores matarem suas vidas serao recuperadas");
    }  else  {
        EventoRecarregarLife = false;
        SendClientMessage(playerid,-1, "Agora quando jogadores matarem suas vidas nao serao recuperadas");
    }
    for ( new i, b = GetMaxPlayers(); i != b; i++ )
    {
        if ( TheEvenT [ i ] )
        {
            GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~r~Mate a todos e ganhe colete e vida!!!", 5000, 5);
        }
    }
    return 1;
}
// =============================================================================
CMD:ekitwalk(playerid, params[])
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            GivePlayerWeapon( v , 24 , 150);
            GivePlayerWeapon( v , 25 , 150);
            GivePlayerWeapon( v , 34 , 150);
            ResetPlayerWeapons( v );
            GivePlayerWeapon( v , 24 , 150);
            GivePlayerWeapon( v , 25 , 150);
            GivePlayerWeapon( v , 34 , 150);
        }
    }
    return 1;
}
// =============================================================================
CMD:ekitgrananadas(playerid, params[])
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            GivePlayerWeapon( v , 16 , 250);
            ResetPlayerWeapons( v );
            GivePlayerWeapon( v , 16 , 250);
        }
    }
    return 1;
}
// =============================================================================
CMD:evw(playerid, params[])
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    new world;
    if ( sscanf ( params , "i" , world ) )return SendClientMessage ( playerid , 0x00C0FFFF , "{F81414}/Evw [ Mundo ]" ) ;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            SetPlayerVirtualWorld ( v , world ) ;
        }
    }
    return 1;
}
// =============================================================================
CMD:evida(playerid, params[])
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    new Float:Vida;
    if ( sscanf ( params , "f" , Vida ) )return SendClientMessage ( playerid , 0x00C0FFFF , "{F81414}/Evida [ 0/100 ]" ) ;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            SetPlayerHealth ( v , Vida ) ;
        }
    }
    return 1;
}
// =============================================================================
CMD:contar(playerid)
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    Count ( 5 ) ;
    return 1;
}
// =============================================================================
CMD:ekick(playerid, params[])
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    new ID;
    if ( sscanf ( params , "r" , ID ) )return SendClientMessage ( playerid , 0x00C0FFFF , "{F81414}/Ekick [ ID ]" ) ;
    if ( !TheEvenT [ ID ] )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O Jogador nao esta no evento." ) ;
    SpawnPlayer ( ID ) ;
    SendClientMessage ( ID , 0x00C0FFFF , "[INFO]: Voce foi kickado do evento pelo admin." ) ;
    TheEvenT [ ID ] = false ;
    return 1;
}
// =============================================================================
CMD:econgelar(playerid)
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            TogglePlayerControllable ( v , false ) ;
        }
    }
    return 1;
}
// =============================================================================
CMD:edescongelar(playerid)
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            TogglePlayerControllable ( v , true ) ;
        }
    }
    return 1;
}
// =============================================================================
CMD:edesarmar(playerid)
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            ResetPlayerWeapons ( v ) ;
        }
    }
    return 1;
}
// =============================================================================
CMD:escondernick(playerid)
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao esta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    if(HideNick == false)
    {
        HideNick = true;
        SendClientMessage(playerid,-1,"Os nicks estao escondidos neste evento.");
    }
    else
    {
        HideNick = false;
        SendClientMessage(playerid,-1,"Os nicks agora estao normais no evento.");
    }
    return 1;
}
// =============================================================================
CMD:eskin(playerid, params[])
{
    if ( !EvenTStats )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - O evento nao sta aberto." ) ;
    if ( !IsPlayerAdmin ( playerid ) )return SendClientMessage ( playerid , 0x00C0FFFF , "- Info Evento - Voce nao possui nivel para usar este comando.") ;
    new Skin;
    if ( sscanf ( params , "d" , Skin ) )return SendClientMessage ( playerid , 0x00C0FFFF , "{F81414}/Eskin [ ID Skin ]" ) ;
    foreach(Player, v)
    {
        if ( TheEvenT [ v ] )
        {
            SetPlayerSkin ( v , Skin ) ;
        }
    }
    return 1;
}
// =============================================================================
public Count(Contagem)
{
    format ( iString2 , 3 , "%d" , Contagem ) ;
    if ( Contagem > 0 )
    {
        GameTextForAll ( iString2 , 700 , 5 ) ;
        SetTimerEx ( "Count" , 1000 , false , "i" , Contagem-1 ) ;
    }
    else GameTextForAll ( "~r~Go Go Go!" , 1000 , 5 ) ;
}
// =============================================================================
stock GetPName ( playerid )
{
    new gName [ MAX_PLAYER_NAME ] ;
    GetPlayerName ( playerid , gName , sizeof gName ) ;
    return gName;
}
// =============================================================================
stock GivePlayerScore(playerid, score)
{
    SetPlayerScore(playerid, GetPlayerScore(playerid)+score);
    return 1;
}
==Aviso a parada [pawn] [*/pawn] ferrou a tabulaзгo em algumas partes do FS peзo que ignorem ;-;
Reply
#2

Gostei, parabens, reputado, irei usar rs
Reply
#3

Ainda me lembro da 0.1 disso ai.

Mudou bastante desde la, voce apostou em colocar novas coisas mas nao em melhorar a logica e o seu script.

De qualquer jeito bom trabalho.
Reply
#4

Muito bom cara, Parabйns.
Reply
#5

Quote:
Originally Posted by StarPeens
Посмотреть сообщение
Gostei, parabens, reputado, irei usar rs
Bom uso mano

Quote:
Originally Posted by PT
Посмотреть сообщение
Ainda me lembro da 0.1 disso ai.

Mudou bastante desde la, voce apostou em colocar novas coisas mas nao em melhorar a logica e o seu script.

De qualquer jeito bom trabalho.
Ai que esta eu nгo sei nem um pouco de como 'mudar a lуgica' do mesmo pois para mim estando 'legнvel' jб esta de bom tamanho kkk obrigado PT

Quote:
Originally Posted by TenhoUmaDuvida
Посмотреть сообщение
Muito bom cara, Parabйns.
Valeu
Reply
#6

Mt top paragood
Reply
#7

cara uma dica, sу tem um geito de criar o evento que й /aevento, sу ira setar o local e permitir que os jogadores entre. Algumas dicas:
pawn Код:
/AKitrun          JA CRIA O EVENTO COM O KIT
/AKitWalk                 JA CRIA O EVENTO COM O KIT
/ACarro                   [ID] [COR] JA CRIA O EVENTO JA COM O CARRO (Ainda Crie Checkpoints De Corrida Quando Alguem Terminar A Corrida Ganha Score E Dinheiro E Fecha O Evento Automatico)
Reply
#8

Quote:
Originally Posted by CaioTesio
Посмотреть сообщение
Mt top paragood
Valeu

Quote:
Originally Posted by StarPeens
Посмотреть сообщение
cara uma dica, sу tem um geito de criar o evento que й /aevento, sу ira setar o local e permitir que os jogadores entre. Algumas dicas:
pawn Код:
/AKitrun          JA CRIA O EVENTO COM O KIT
/AKitWalk                 JA CRIA O EVENTO COM O KIT
/ACarro                   [ID] [COR] JA CRIA O EVENTO JA COM O CARRO (Ainda Crie Checkpoints De Corrida Quando Alguem Terminar A Corrida Ganha Score E Dinheiro E Fecha O Evento Automatico)
Sim sobre o kit run e tambйm o carro jб estava pensando em colocar na versгo 0.8 sobre a corrida achei uma ideia уtima talvez eu coloque tambйm na versгo 0.8 e por fim arrumar o modo da criaзгo do evento enfim obrigado pelas dicas
Reply
#9

Quote:
Originally Posted by Diogo123
Посмотреть сообщение
Ai que esta eu nгo sei nem um pouco de como 'mudar a lуgica' do mesmo pois para mim estando 'legнvel' jб esta de bom tamanho kkk obrigado PT
Tens muito por onde mexer

PHP код:
new bool:EvenTStats bool:TheEvenTMAX_PLAYERS ] , Float:EventoPos ] , EventoInt EventoVW bool:EventoRecarregarLife false iString2[129+1] , KillStreak[100],bool:HideNick false
porque nгo transformas numa enum isso?

Tens locais de deverias aplicar switch em vez de tanto if's
Reply
#10

Quote:
Originally Posted by PT
Посмотреть сообщение
Tens muito por onde mexer

PHP код:
new bool:EvenTStats bool:TheEvenTMAX_PLAYERS ] , Float:EventoPos ] , EventoInt EventoVW bool:EventoRecarregarLife false iString2[129+1] , KillStreak[100],bool:HideNick false
porque nгo transformas numa enum isso?

Tens locais de deverias aplicar switch em vez de tanto if's
Eita obrigado pelas dicas PT,quando eu tiver uma vontade de fazer atualizaзхes irei por isso em pratica alйm das idйias ditas acima tambйm.enfim obrigado pelos comentбrios
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)