Anti Cheat Help
#1

Does anyone know why the player still gets banned even if the they have the weapon in their slot?

code:
pawn Код:
new Wep0,Wep1,Wep2,Wep3,Wep4,Wep5,Wep6,Wep7,Wep8,Wep9,Wep10,Wep11,Wep12;
    Wep0 = Player[playerid][WeaponSlot0];
    Wep1 = Player[playerid][WeaponSlot1];
    Wep2 = Player[playerid][WeaponSlot2];
    Wep3 = Player[playerid][WeaponSlot3];
    Wep4 = Player[playerid][WeaponSlot4];
    Wep5 = Player[playerid][WeaponSlot5];
    Wep6 = Player[playerid][WeaponSlot6];
    Wep7 = Player[playerid][WeaponSlot7];
    Wep8 = Player[playerid][WeaponSlot8];
    Wep9 = Player[playerid][WeaponSlot9];
    Wep10 = Player[playerid][WeaponSlot10];
    Wep11 = Player[playerid][WeaponSlot11];
    Wep12 = Player[playerid][WeaponSlot12];
    if(GetPlayerWeapon(playerid) != Wep0 || Wep1 || Wep2 || Wep3 || Wep4 || Wep5 || Wep6 || Wep7 || Wep8 || Wep9 || Wep10 || Wep11 || Wep12)
    {
        new string[124];
        format(string, 256, "%s has been banned for Weapon Hacking (By System)", PlayerName(playerid));
        SendClientMessageToAll(COLOUR_ADMINRED, string);
        Ban(playerid);
    }
Reply
#2

pawn Код:
if(GetPlayerWeapon(playerid) != Wep0 || Wep1 || Wep2 || Wep3 || Wep4 || Wep5 || Wep6 || Wep7 || Wep8 || Wep9 || Wep10 || Wep11 || Wep12)
I'm surprised that code compiled...

Use a switch statement! It's faster and cleaner IMHO.

pawn Код:
switch(GetPlayerWeapon(playerid))
{
    case Wep0, Wep1, Wep2, Wep3, Wep4, Wep5, Wep6, Wep7, Wep8, Wep9, Wep10, Wep11, Wep12: return 1;
    default:
    {
        new string[124];
        format(string, 256, "%s has been banned for Weapon Hacking (By System)", PlayerName(playerid));
        SendClientMessageToAll(COLOUR_ADMINRED, string);
        Ban(playerid);
    }
}
Reply
#3

Quote:
Originally Posted by RealCop228
Посмотреть сообщение
pawn Код:
if(GetPlayerWeapon(playerid) != Wep0 || Wep1 || Wep2 || Wep3 || Wep4 || Wep5 || Wep6 || Wep7 || Wep8 || Wep9 || Wep10 || Wep11 || Wep12)
I'm surprised that code compiled...

Use a switch statement! It's faster and cleaner IMHO.

pawn Код:
switch(GetPlayerWeapon(playerid))
{
    case Wep0, Wep1, Wep2, Wep3, Wep4, Wep5, Wep6, Wep7, Wep8, Wep9, Wep10, Wep11, Wep12: return 1;
    default:
    {
        new string[124];
        format(string, 256, "%s has been banned for Weapon Hacking (By System)", PlayerName(playerid));
        SendClientMessageToAll(COLOUR_ADMINRED, string);
        Ban(playerid);
    }
}
Got this "must be a constant expression; assumed zero" on the case of weps line
Reply
#4

Bump - Anyone know how to fix it?
Reply
#5

pawn Код:
new w = GetPlayerWeapon(playerid);
if(w != Player[playerid][WeaponSlot0] && w != Player[playerid][WeaponSlot1] && w != Player[playerid][WeaponSlot2] && w != Player[playerid][WeaponSlot3] && w != Player[playerid][WeaponSlot4] && w != Player[playerid][WeaponSlot5] &&
w != Player[playerid][WeaponSlot6] && w != Player[playerid][WeaponSlot7] && w != Player[playerid][WeaponSlot8] && w != Player[playerid][WeaponSlot9] && w != Player[playerid][WeaponSlot10] && w != Player[playerid][WeaponSlot11] &&
w != Player[playerid][WeaponSlot12])
{
    new string[124];
    format(string, sizeof string, "%s has been banned for Weapon Hacking (By System)", PlayerName(playerid));
    SendClientMessageToAll(COLOUR_ADMINRED, string);
    Ban(playerid);
}
Reply
#6

Quote:
Originally Posted by stabker
Посмотреть сообщение
pawn Код:
new w = GetPlayerWeapon(playerid);
if(w != Player[playerid][WeaponSlot0] && w != Player[playerid][WeaponSlot1] && w != Player[playerid][WeaponSlot2] && w != Player[playerid][WeaponSlot3] && w != Player[playerid][WeaponSlot4] && w != Player[playerid][WeaponSlot5] &&
w != Player[playerid][WeaponSlot6] && w != Player[playerid][WeaponSlot7] && w != Player[playerid][WeaponSlot8] && w != Player[playerid][WeaponSlot9] && w != Player[playerid][WeaponSlot10] && w != Player[playerid][WeaponSlot11] &&
w != Player[playerid][WeaponSlot12])
{
    new string[124];
    format(string, sizeof string, "%s has been banned for Weapon Hacking (By System)", PlayerName(playerid));
    SendClientMessageToAll(COLOUR_ADMINRED, string);
    Ban(playerid);
}
Thanks
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)