[AJUDA] Anti-Cheat
#1

Meu servidor tem um anti cheat de armas, Minigun, bazuca, rocket...
E eu comecei a usar este filterscript .

Porйm ele tem a opзгo dos player do evento usarem armas como as que eu citei no topo. O problema й que o player do evento й banido por usar este tipo de arma, como eu faзo pra liberar essas armas no evento?

pawn Код:
public OnPlayerUpdate(playerid)
{
    if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)

    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Jetpack]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 18)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Molotov Cocktail]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 35)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Bazuca]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 26)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: SawnOff]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 36)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: HS Rocket]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 37)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Flamethrower]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);

    }
    else if(GetPlayerWeapon(playerid) == 38)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Minigun]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);

    }
    else if(GetPlayerWeapon(playerid) == 39)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Satchel Charge]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 40)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Detonator]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 41)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Spraycan]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 42)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Fire Extinguisher]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 43)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Camera]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 44)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Night Vis Goggles]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 45)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Thermal Goggles]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
Reply
#2

Quote:
Originally Posted by delete
Посмотреть сообщение
Meu servidor tem um anti cheat de armas, Minigun, bazuca, rocket...
E eu comecei a usar este filterscript .

Porйm ele tem a opзгo dos player do evento usarem armas como as que eu citei no topo. O problema й que o player do evento й banido por usar este tipo de arma, como eu faзo pra liberar essas armas no evento?

pawn Код:
public OnPlayerUpdate(playerid)
{
    if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)

    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Jetpack]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 18)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Molotov Cocktail]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 35)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Bazuca]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 26)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: SawnOff]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 36)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: HS Rocket]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 37)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Flamethrower]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);

    }
    else if(GetPlayerWeapon(playerid) == 38)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Minigun]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);

    }
    else if(GetPlayerWeapon(playerid) == 39)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Satchel Charge]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 40)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Detonator]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 41)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Spraycan]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 42)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Fire Extinguisher]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 43)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Camera]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 44)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Night Vis Goggles]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 45)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Thermal Goggles]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
Poste a variavel que verifica se o player estб no evento .
Reply
#3

#Edit; esquece
Reply
#4

pawn Код:
if(PlayerInfo[playerid][NoEvento] == 0)
Reply
#5

Ta ae :
pawn Код:
public OnPlayerUpdate(playerid)
{
    if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Jetpack]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 18 && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Molotov Cocktail]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 35 && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Bazuca]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 26 && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: SawnOff]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 36 && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: HS Rocket]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 37 && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Flamethrower]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);

    }
    else if(GetPlayerWeapon(playerid) == 38 && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Minigun]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);

    }
    else if(GetPlayerWeapon(playerid) == 39 && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Satchel Charge]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 40 && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Detonator]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 41 && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Spraycan]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 42 && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Fire Extinguisher]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 43 && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Camera]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 44 && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Night Vis Goggles]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
    else if(GetPlayerWeapon(playerid) == 45 && PlayerInfo[playerid][NoEvento] == 0)
    {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Thermal Goggles]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);
    }
Se nгo der troque esses:
pawn Код:
PlayerInfo[playerid][NoEvento] == 0
Por isso:
pawn Код:
PlayerInfo[playerid][NoEvento] == 1
(Pois nгo sei qual valor permite ou nгo)
Reply
#6

Desse geito funfa?

pawn Код:
if(GetPlayerWeapon(playerid) == 38 && GetPlayerVirtualWorld(playerid)!= EventInfo[VirtualWorld])
        {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Minigun]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);

    }
Reply
#7

Quote:
Originally Posted by delete
Посмотреть сообщение
Desse geito funfa?

pawn Код:
if(GetPlayerWeapon(playerid) == 38 && GetPlayerVirtualWorld(playerid)!= EventInfo[VirtualWorld])
        {
        new pname[24]; GetPlayerName(playerid, pname, sizeof(pname));
        format(mensagens, sizeof(mensagens), "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Minigun]", pname, playerid);
        SendClientMessageToAll(0xFF0000AA, mensagens);
        Ban(playerid);

    }
Sim, "funfa" .
Reply
#8

@OFF
delete, me passa o IP de se servidor? O CSF? Obrigado.
Reply
#9

Troque todo seu cуdigo por esse.

pawn Код:
//ongamemodeinit;
SetTimer("Hackers", 3000, true);

//final
forward Hackers();
public Hackers() {
    new w[30], n[24], s[128];
    for(new i; i < MAX_PLAYERS; ++i) {
        if(GetPlayerWeapon(i) > 0 && !PlayerInfo[playerid][NoEvento]) {
            switch(GetPlayerWeapon(i)) {
                case 18, 26, 35..45: {
                    GetPlayerName(i, n, 24);
                    GetWeaponName(GetPlayerWeapon(i), w, 30);
                    format(s, 128, "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Arma proibida: %s]", n, i, w);
                    SendClientMessageToAll(-1, s);
                    Ban(i);
                }
            }
        }
        if(GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK) {
            GetPlayerName(i, n, 24);
            format(s, 128, "[Atenзao]Player %s (id:%i) foi automaticamente banido .[Motivo: Jetpack]", n, i);
            SendClientMessageToAll(-1, s);
            Ban(i);
        }
    }
    return true;
}
Reply
#10

Valeu ae, outra dъvida: Como eu faзo pra quando um player matar em um certo VirtualWorld ele nгo ganhar level de procura?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)