[AJUDA]anti-Weapon-hack
#1

gostaria de uma ajuda quando alguen й kickado pelo anti-Weapon-hack exemplo o id 0 й kickado ai quando alguem vai entra com o id zero ele e kickado ai tenho que resetar o servidor:

pawn Код:
public OnGameModeInit()
{
SetTimer ( "AntiCheatUpdate", 3000, 1 );


AntiCheatUpdate ( playerid );
public AntiCheatUpdate ( playerid )
{
    new slot = GetMaxPlayers ( );

    while ( slot -- ) {
        if ( IsPlayerConnected( slot ) && !IsPlayerAdmin ( slot ) ) {
            switch ( GetPlayerWeapon( slot ) ) {
                case 35:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Rocket Launcher ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    Kick( slot );
                }
                case 36:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Bazuca ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    Kick( slot );
                }
                case 37:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Lanзa Chamas ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    Kick( slot );
                }
                case 38:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Minigun ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    Kick( slot );
                }
                case 39:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Satchel Charge ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    Kick( slot );
                }
                case 40:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Detonador ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    Kick( slot );
                }
                case 44:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Visгo Noturna ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    Kick( slot );
                }
                case 45:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Visгo Noturna ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    Kick( slot );
                }
                case 18:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Molotov Cocktail ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    Kick( slot );
                }
                case 17:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Bomba de Gбs ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    Kick( slot );
                }
            }
        }
    }
}
Reply
#2

Tente agora:

pawn Код:
public OnGameModeInit()
{
SetTimer ( "AntiCheatUpdate", 3000, 1 );


AntiCheatUpdate ( playerid );
public AntiCheatUpdate ( playerid )
{
    new slot = GetMaxPlayers ( );

    while ( slot -- ) {
        if ( IsPlayerConnected( slot ) && !IsPlayerAdmin ( slot ) ) {
            switch ( GetPlayerWeapon( slot ) ) {
                case 35:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Rocket Launcher ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons(slot);
                    Kick( slot );
                }
                case 36:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Bazuca ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons(slot);
                    Kick( slot );
                }
                case 37:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Lanзa Chamas ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons(slot);
                    Kick( slot );
                }
                case 38:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Minigun ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons(slot);
                    Kick( slot );
                }
                case 39:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Satchel Charge ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons(slot);
                    Kick( slot );
                }
                case 40:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Detonador ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons(slot);
                    Kick( slot );
                }
                case 44:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Visгo Noturna ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons(slot);
                    Kick( slot );
                }
                case 45:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Visгo Noturna ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons(slot);
                    Kick( slot );
                }
                case 18:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Molotov Cocktail ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons(slot);
                    Kick( slot );
                }
                case 17:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Bomba de Gбs ]",pName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons(slot);
                    Kick( slot );
                }
            }
        }
    }
}
Adicione:
pawn Код:
ResetPlayerWeapons(playerid);
Em public OnPlayerDisconnect(playerid, reason)
Reply
#3

lek o erro й o seguinte exemplo meu id й 15 eu uso minigun e vou ser kickado tб ai quando algum player tentar entrar com o id 15 й kickado automaticamente pelo mesmo motivo minigun sendo que ele connecto e naum usou nenhum tipo de xiter

ResetPlayerWeapon ? isso irб kickar e resetar a arma do player ¬¬ desnecessario mais enfim obrigado pelo menos vocк tentou.
Reply
#4

alguem...
Reply
#5

pawn Код:
AntiCheatUpdate ( playerid );
public AntiCheatUpdate ( playerid )
{
    new slot = GetMaxPlayers ( );

    while ( slot -- ) {
        if ( IsPlayerConnected( slot ) && !IsPlayerAdmin ( slot ) ) {
            if(GetPlayerWeapon( slot ) == 35 )
            {
                new pName[MAX_PLAYER_NAME];
                GetPlayerName(slot, pName, sizeof(pName));
                format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Rocket Launcher ]",pName);
                SendClientMessageToAll(0xFF0000AA,stringx);
                Kick( slot );
                return 1;
            }
            if(GetPlayerWeapon(slot) == 36)
            {
                new pName[MAX_PLAYER_NAME];
                GetPlayerName(slot, pName, sizeof(pName));
                format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: Bazuca ]",pName);
                SendClientMessageToAll(0xFF0000AA,stringx);
                Kick( slot );
                return 1;
            }//sу continuar..
Reply
#6

Nгo funcionou! Continua mesma coisa o cara entra usa minigun й kickado e todos que entrarem com o id do cara q foi kickado tbm vai ser kickado..
Reply
#7

Faзa um loop e check a arma do player, e tambйm check se o player й administrador, й mais fбcil re-fazer esse cуdigo seu.
Reply
#8

pawn Код:
public AntiCheatUpdate ( playerid )
{
    new slot = GetMaxPlayers ( );

    while ( slot -- )
    {
        if ( IsPlayerConnected( slot ) && !IsPlayerAdmin ( slot )
        && GetPlayerAmmo(playerid) > 0 && GetPlayerState(playerid) != PLAYER_STATE_NONE
        && GetPlayerState(playerid) != PLAYER_STATE_SPECTATING)
        {
            switch ( GetPlayerWeapon( slot ) )
            {
                case 17,18,35,36,37,38,39,40,44,45:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    new wName[20];
                    GetWeaponName(GetPlayerWeapon(slot), wName, 20);
                    format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: %s ]",pName,wName);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    Kick( slot );
                }
            }
        }
    }
}
Tenta assim
Reply
#9

Pharrel agora so kicka id 0:

pawn Код:
forward AntiCheatUpdat( playerid );
public AntiCheatUpdat ( playerid )
{
    new slot = GetMaxPlayers ( );

    while ( slot -- ) {
        if ( IsPlayerConnected( slot ) && !IsPlayerAdmin ( slot )
            && GetPlayerAmmo(playerid) > 0 && GetPlayerState(playerid) != PLAYER_STATE_NONE
        && GetPlayerState(playerid) != PLAYER_STATE_SPECTATING) {
            switch ( GetPlayerWeapon( slot ) ) {
                case 35:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FA053A}[Anti-Cheat]:{FAE605} %s[ID:%d] foi kickado por usar arma proibida! {FA053A}(Lanзador de Mнsseis)",pName,playerid);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons( slot );
                    Kick( slot );
                }
                case 36:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FA053A}[Anti-Cheat]:{FAE605} %s[ID:%d] foi kickado por usar arma proibida! {FA053A}(Lanзador de Mнsseis Automбtico)",pName,playerid);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons( slot );
                    Kick( slot );
                }
                case 37:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FA053A}[Anti-Cheat]:{FAE605} %s[ID:%d] foi kickado por usar arma proibida! {FA053A}(Lanзador de Chamas)",pName,playerid);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons( slot );
                    Kick( slot );
                }
                case 38:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FA053A}[Anti-Cheat]:{FAE605} %s[ID:%d] foi kickado por usar arma proibida! {FA053A}(Minigun)",pName,playerid);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    Kick( slot );
                }
                case 39:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FA053A}[Anti-Cheat]:{FAE605} %s[ID:%d] foi kickado por usar arma proibida! {FA053A}(Carga Explosiva)",pName,playerid);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons( slot );
                    Kick( slot );
                }
                case 40:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FA053A}[Anti-Cheat]:{FAE605} %s[ID:%d] foi kickado por usar arma proibida! {FA053A}(Detonador)",pName,playerid);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons( slot );
                    Kick( slot );
                }
                case 44:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FA053A}[Anti-Cheat]:{FAE605} %s[ID:%d] foi kickado por usar arma proibida! {FA053A}(Visгo Noturna)",pName,playerid);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons( slot );
                    Kick( slot );
                }
                case 45:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FA053A}[Anti-Cheat]:{FAE605} %s[ID:%d] foi kickado por usar arma proibida! {FA053A}(Visгo Tйrmica)",pName,playerid);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons( slot );
                    Kick( slot );
                }
                case 18:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FA053A}[Anti-Cheat]:{FAE605} %s[ID:%d] foi kickado por usar arma proibida! {FA053A}(Molotov Cocktail)",pName,playerid);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons( slot );
                    Kick( slot );
                }
                case 17:
                {
                    new pName[MAX_PLAYER_NAME];
                    GetPlayerName(slot, pName, sizeof(pName));
                    format(stringx,128,"{FA053A}[Anti-Cheat]:{FAE605} %s[ID:%d] foi kickado por usar arma proibida! {FA053A}(Granada de Gбs)",pName,playerid);
                    SendClientMessageToAll(0xFF0000AA,stringx);
                    ResetPlayerWeapons( slot );
                    Kick( slot );
                }
            }
        }
    }
}
Reply
#10

Isto deve resolver o seu problema .


Apenas troque a public e a forward do seu cуdigo por estas :


pawn Код:
AntiCheatUpdate();
public AntiCheatUpdate()
{
    new slot = GetMaxPlayers();
    while(slot--)
    {
        if(IsPlayerConnected(slot) && !IsPlayerAdmin(slot))
        {
            new pName[MAX_PLAYER_NAME];
            new ArmaNome[17];
            GetPlayerName(slot, pName, sizeof(pName));
            switch(GetPlayerWeapon(slot))
            {
                case 35: ArmaNome = #Rocket Launcher;
                case 36: ArmaNome = #Bazuca;
                case 37: ArmaNome = #Lanзa Chamas;
                case 38: ArmaNome = #Minigun;
                case 39: ArmaNome = #Satchel Charge;
                case 40: ArmaNome = #Detonador;
                case 44: ArmaNome = #Visгo Noturna;
                case 45: ArmaNome = #Visгo Termal;
                case 18: ArmaNome = #Molotov Cocktail;
                case 17: ArmaNome = #Bomba de Gбs;
                default: goto stop;
            }
            format(stringx,128,"{FF0000}[ANTI-CHEAT]: %s Foi kickado pelo administrador BOT [motivo: Arma Proibida: %s ]",pName,ArmaNome);
            SendClientMessageToAll(0xFF0000AA,stringx);
            Kick(slot);
            stop:
        }
    }
    return true;
}


Espero ter ajudado .
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)