SA-MP Forums Archive
[AJUDA] Anti-Cheat - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [AJUDA] Anti-Cheat (/showthread.php?tid=340133)



[AJUDA] Anti-Cheat - Delete_ - 06.05.2012

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);
    }



Re: [AJUDA] Anti-Cheat - CidadeNovaRP - 06.05.2012

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 .


Respuesta: [AJUDA] Anti-Cheat - Luciano* - 06.05.2012

#Edit; esquece


Re: [AJUDA] Anti-Cheat - Delete_ - 06.05.2012

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



Re: [AJUDA] Anti-Cheat - CidadeNovaRP - 06.05.2012

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)


Re: [AJUDA] Anti-Cheat - Delete_ - 06.05.2012

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);

    }



Re: [AJUDA] Anti-Cheat - CidadeNovaRP - 06.05.2012

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" .


Re: [AJUDA] Anti-Cheat - Gustavo_z - 06.05.2012

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


Re: [AJUDA] Anti-Cheat - zbt - 06.05.2012

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;
}



Re: [AJUDA] Anti-Cheat - Delete_ - 06.05.2012

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?