Erro na include servermoneyGM
#1

alguйm sabe como resolver esse erro?


pawno\include\servermoneyGM.inc(81) : warning 201: redefinition of constant/macro (symbol "GivePlayerMoney")
pawno\include\servermoneyGM.inc(82) : warning 201: redefinition of constant/macro (symbol "ResetPlayerMoney")
pawno\include\servermoneyGM.inc(84) : warning 201: redefinition of constant/macro (symbol "OnGameModeInit")
Reply
#2

Quote:
Originally Posted by escolano
Посмотреть сообщение
alguйm sabe como resolver esse erro?


pawno\include\servermoneyGM.inc(81) : warning 201: redefinition of constant/macro (symbol "GivePlayerMoney")
pawno\include\servermoneyGM.inc(82) : warning 201: redefinition of constant/macro (symbol "ResetPlayerMoney")
pawno\include\servermoneyGM.inc(84) : warning 201: redefinition of constant/macro (symbol "OnGameModeInit")
Em seu GameMode ou em outra include/filterscript que vocк usa, jб estгo definidos os sнmbolos acima...
Reply
#3

eu jб entrei nessa include e deletei os define, mesmo assim continua s erros ¬¬

PHP код:
#define CallLoop(%1,%2) for(new %1; %1 < %2; %1++)
#define CALLBACK_AMOUNT 500
new SERVERSIDETIMER;
new 
ServerSideCash[MAX_PLAYERS];
public 
OnGameModeInit()
{
    
ServerMoneyInit();
    return 
GMInit();
}
public 
OnGameModeExit()
{
    
ServerMoneyExit();
    return 
GMExit();
}
forward GMInit();
forward GMExit();
ServerMoneyInit()
{
    
SERVERSIDETIMER=SetTimer("ServerMoneyCB",1000,true);
    return 
1;
}
ServerMoneyExit() 
{
    
KillTimer(SERVERSIDETIMER);
    return 
1;
}
forward ServerMoneyCB();
public 
ServerMoneyCB()
{
    
CallLoop(ServerSidep,MAX_PLAYERS)
    {
        if(
IsPlayerConnected(ServerSidep))
        {
            if(
GetPlayerMoney(ServerSidep) != ServerSideCash[ServerSidep])
            {
                new 
H4xc4sh=GetPlayerMoney(ServerSidep);
                
H4xc4sh=H4xc4sh-ServerSideCash[ServerSidep];
                if(
H4xc4sh CALLBACK_AMOUNTOnPlayerHaveExtraCash(ServerSidep,H4xc4sh);
            }
            
GivePlayerMoney(ServerSidep,-GetPlayerMoney(ServerSidep));
            
GivePlayerMoney(ServerSidep,ServerSideCash[ServerSidep]);
        }
        
    }
    return 
1;

Reply
#4

Deletei a include, troquei os GivePlayerMoneyEx por GivePlayerMoney.... dei esses erros ¬¬

NLB.pwn(2050) : warning 202: number of arguments does not match definition
NLB.pwn(2116) : warning 202: number of arguments does not match definition
NLB.pwn(4867) : warning 202: number of arguments does not match definition
NLB.pwn(487 : warning 202: number of arguments does not match definition
NLB.pwn(4889) : warning 202: number of arguments does not match definition
NLB.pwn(4900) : warning 202: number of arguments does not match definition
NLB.pwn(5526) : warning 202: number of arguments does not match definition
NLB.pwn(5557) : warning 202: number of arguments does not match definition
NLB.pwn(5824) : warning 202: number of arguments does not match definition
NLB.pwn(5830) : warning 202: number of arguments does not match definition
NLB.pwn(5836) : warning 202: number of arguments does not match definition
NLB.pwn(5842) : warning 202: number of arguments does not match definition
NLB.pwn(584 : warning 202: number of arguments does not match definition
NLB.pwn(5855) : warning 202: number of arguments does not match definition
NLB.pwn(5879) : warning 202: number of arguments does not match definition
NLB.pwn(5885) : warning 202: number of arguments does not match definition
NLB.pwn(5891) : warning 202: number of arguments does not match definition
NLB.pwn(5897) : warning 202: number of arguments does not match definition
NLB.pwn(5903) : warning 202: number of arguments does not match definition
NLB.pwn(5910) : warning 202: number of arguments does not match definition
NLB.pwn(5933) : warning 202: number of arguments does not match definition
NLB.pwn(5939) : warning 202: number of arguments does not match definition
NLB.pwn(5945) : warning 202: number of arguments does not match definition
NLB.pwn(5951) : warning 202: number of arguments does not match definition
NLB.pwn(5957) : warning 202: number of arguments does not match definition
NLB.pwn(5964) : warning 202: number of arguments does not match definition
NLB.pwn(5987) : warning 202: number of arguments does not match definition
NLB.pwn(5993) : warning 202: number of arguments does not match definition
NLB.pwn(5999) : warning 202: number of arguments does not match definition
NLB.pwn(6005) : warning 202: number of arguments does not match definition
NLB.pwn(6011) : warning 202: number of arguments does not match definition
NLB.pwn(601 : warning 202: number of arguments does not match definition
NLB.pwn(9784) : warning 202: number of arguments does not match definition
NLB.pwn(21446) : warning 202: number of arguments does not match definition
NLB.pwn(21447) : warning 202: number of arguments does not match definition
NLB.pwn(25901) : warning 202: number of arguments does not match definition
NLB.pwn(25926) : warning 202: number of arguments does not match definition
NLB.pwn(27507) : warning 202: number of arguments does not match definition
NLB.pwn(27521) : warning 202: number of arguments does not match definition
NLB.pwn(27535) : warning 202: number of arguments does not match definition
NLB.pwn(27549) : warning 202: number of arguments does not match definition
NLB.pwn(27563) : warning 202: number of arguments does not match definition
NLB.pwn(27577) : warning 202: number of arguments does not match definition
NLB.pwn(27591) : warning 202: number of arguments does not match definition
NLB.pwn(27605) : warning 202: number of arguments does not match definition
NLB.pwn(27619) : warning 202: number of arguments does not match definition
NLB.pwn(27633) : warning 202: number of arguments does not match definition
NLB.pwn(27647) : warning 202: number of arguments does not match definition
NLB.pwn(27661) : warning 202: number of arguments does not match definition
NLB.pwn(27675) : warning 202: number of arguments does not match definition
NLB.pwn(30092) : warning 202: number of arguments does not match definition
NLB.pwn(30334) : warning 202: number of arguments does not match definition
NLB.pwn(30649) : warning 202: number of arguments does not match definition
NLB.pwn(35172) : warning 202: number of arguments does not match definition
NLB.pwn(3517 : warning 202: number of arguments does not match definition
NLB.pwn(35330) : warning 202: number of arguments does not match definition
NLB.pwn(41014) : warning 202: number of arguments does not match definition
NLB.pwn(53267) : warning 202: number of arguments does not match definition
NLB.pwn(5447 : warning 202: number of arguments does not match definition
NLB.pwn(57261) : warning 202: number of arguments does not match definition
NLB.pwn(60204) : warning 235: public function lacks forward declaration (symbol "OnPlayerHaveExtraCash")
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

Header size: 14236 bytes
Code size: 3205008 bytes
Data size: 3888040 bytes
Stack/heap size: 16384 bytes; estimated max. usage=7369 cells (29476 bytes)
Total requirements: 7123668 bytes

61 Warnings.
Reply
#5

pq invйs de deletar a include tu n procura direitinho?

Um tуpico ъtil:

https://sampforum.blast.hk/showthread.php?tid=252966

GivePlayerMoney
e
GivePlayerMoneyEx
sгo funзхes um pouco diferentes esse warning й que a funзгo estб excedendo o mбximo declarado para aquela var.
EX:

GivePlayerMoney(playerid, 500000);

um EX de GivePlayerMoneyEx й esse:
pawn Код:
new Grana[MAX_PLAYERS];
stock GivePlayerMoneyEx(playerid,valor)
{
     GivePlayerMoney(playerid,valor);
     Grana[playerid] += valor;
     return 1;
}
stock GetPlayerMoneyEx(playerid) return Grana[playerid];

Include ServerMoneyGM......
pawn Код:
#define CallLoop(%1,%2) for(new %1; %1 < %2; %1++)
#define CALLBACK_AMOUNT 500

new SERVERSIDETIMER;
new ServerSideCash[MAX_PLAYERS];

public OnGameModeInit()
{
    ServerMoneyInit();
    return GMInit();
}

public OnGameModeExit()
{
    ServerMoneyExit();
    return GMExit();
}

forward GMInit();
forward GMExit();

ServerMoneyInit()
{
    SERVERSIDETIMER=SetTimer("ServerMoneyCB",1000,true);
    return 1;
}

ServerMoneyExit()
{
    KillTimer(SERVERSIDETIMER);
    return 1;
}


forward ServerMoneyCB();

public ServerMoneyCB()
{
    CallLoop(ServerSidep,MAX_PLAYERS)
    {
        if(IsPlayerConnected(ServerSidep))
        {
            if(GetPlayerMoney(ServerSidep) != ServerSideCash[ServerSidep])
            {
                new H4xc4sh=GetPlayerMoney(ServerSidep);
                H4xc4sh=H4xc4sh-ServerSideCash[ServerSidep];
                if(H4xc4sh > CALLBACK_AMOUNT) OnPlayerHaveExtraCash(ServerSidep,H4xc4sh);
            }
            GivePlayerMoney(ServerSidep,-GetPlayerMoney(ServerSidep));
            GivePlayerMoney(ServerSidep,ServerSideCash[ServerSidep]);
        }
       
    }
    return 1;
}


forward GivePlayerMoneyEx(playerid,cashgiven);
public GivePlayerMoneyEx(playerid,cashgiven)
{
    ServerSideCash[playerid]=ServerSideCash[playerid]+cashgiven;
    return 1;
}

forward ResetPlayerMoneyEx(playerid);
public ResetPlayerMoneyEx(playerid)
{
    ServerSideCash[playerid]=0;
    return 1;
}

forward GetPlayerMoneyEx(playerid);
public GetPlayerMoneyEx(playerid)
{
    return ServerSideCash[playerid];
}

forward OnPlayerHaveExtraCash(playerid,extraamount);

#define GetPlayerMoney GetPlayerMoneyEx
#define GivePlayerMoney GivePlayerMoneyEx
#define ResetPlayerMoney ResetPlayerMoneyEx

#define OnGameModeInit GMInit
#define OnGameModeExit GMExit
Reply
#6

Continua o mesmo erro.

PHP код:
#include                <  a_samp  >
#include                <  servermoneyGM >
#include                <  pbAntiCheater  >
#include                <  streamer  >
#include                <  a_http  >
#include                <  core  >
#include                <  float  >
#include                <  time  >
#include                <  file  >
#include                <  a_objects  >
#include                <  Dini  >
#include                <  seif_walk  > 
Estou tentando colocar o anticheats no serve, peguei aqui no forum essa include < pbAntiCheater >
PHP код:
////////////////////////////////////////////////////////////////////////////////
//
//
//        #### ########   ######     ######## ########    ###    ##     ##
//         ##  ##     ## ##    ##       ##    ##         ## ##   ###   ###
//         ##  ##     ## ##             ##    ##        ##   ##  #### ####
//         ##  ########   ######        ##    ######   ##     ## ## ### ##
//         ##  ##              ##       ##    ##       ######### ##     ##
//         ##  ##        ##    ##       ##    ##       ##     ## ##     ##
//        #### ##         ######        ##    ######## ##     ## ##     ##
//
//
//          Por Bruno da Silva (iPs DraKiNs) e  Paulo (iPs Paulo)
//
//          Acesse meu blog sobre programaзгo www.brunodasilva.com.br
//
//            --------------------------------------------
//
//            Detectar:
//                Bot,
//                Death Flood,
//                Surf Vehicle,
//                Car Teleport,
//                State Hack,
//                No-Reload,
//                Weapon Hack,
//                Ammo Hack,
//                Freeze Hack,
//                Score Hack,
//                Money Hack,
//                Health Hack,
//                Armour Hack,
//                Publish Text,
//                Offend Text,
//                Flood Text,
//                Teleport Hack,
//                Air Break,
//                Player Bugger,
//                High Ping,
//                Spider Hack,
//                CP Race Hack,
//                Speed Hack,
//                Player Speed Hack,
//                Fly Hack
//
//            --------------------------------------------
//
//                    www.brunodasilva.com.br
//
//                    Ingresse tambйm na [iPs]TeaM
//                    wwww.ips-team.forumeiros.com
//
//////////////////////////////////////////////////////////////////////////////////
enum {
    
// Anti DDos Bots
    
PLAYER_BOT_LEVEL3,
    
PLAYER_BOT_LEVEL2,
    
PLAYER_BOT_LEVEL1,
    
// Anti Cleo4 Fake-kill
    
PLAYER_DEATHFLOOD_LEVEL3,
    
PLAYER_DEATHFLOOD_LEVEL2,
    
PLAYER_DEATHFLOOD_LEVEL1,
    
// Anti Bug Cars
    
PLAYER_SURF_VEHICLE,
    
PLAYER_CAR_TELEPORT,
    
PLAYER_STATE_HACK,
    
// Ammo Weapon
    
PLAYER_NORELOAD_HACK,
    
PLAYER_WEAPON_HACK,
    
PLAYER_AMMO_HACK,
    
// hackings
    
PLAYER_FREEZE_HACK,
    
PLAYER_SCORE_HACK,
    
PLAYER_MONEY_HACK,
    
PLAYER_HEALTH_HACK,
    
PLAYER_ARMOUR_HACK,
    
// Text Chat
    
PLAYER_PUBLISH_TEXT,
    
PLAYER_OFFEND_TEXT,
    
PLAYER_FLOOD_TEXT,
    
// pos cheat
    
PLAYER_TELEPORT_HACK,
    
PLAYER_AIRBREAK_HACK,
    
PLAYER_BUGGER_HACK,
    
// outros
    
PLAYER_HIGH_PING,
    
PLAYER_SPIDER_HACK,
    
PLAYER_CPRACE_HACK,
    
PLAYER_SPEED_HACK,
    
PLAYER_PSPEED_HACK,
    
PLAYER_FLY_HACK
}
new 
FloatvPos_pB[4],
    
dbIP_pB[MAX_PLAYERS][20],
    
FloatdAngle_pB[MAX_VEHICLES],
    
vVelocity_pB[MAX_VEHICLES],
    
boolvRespawn_pB[MAX_VEHICLES],
    
boolOPC_pB,
    
boolOPS_pB,
    
boolOPDI_pB,
    
boolOPT_pB,
    
boolOPD_pB,
    
boolOVM_pB,
    
boolOPERCP_pB,
    
boolOPU_pB,
    
boolOPSC_pB,
    
boolOUVU_pB;
forward OnPlayerHacking(playeridhackid);
#define INVALID_CHAT_BLOCK
#define SERVER_SIDE_DELAY   (0002)
#define MAX_DISTANCE_DEF    (83.1)
#define MAX_PING            (0800)
//Usar somente AntiCheater's determinados
#if !defined @FE_OnPlayerEnterVehicle
    #define @FE_OnPlayerEnterVehicle        true //Atere para 'false' para desativar a ediзгo sobre a funзгo.
#endif
// =============================================================================
//
// OBSERVAЗхES IMPORTANTES:
// #define INVALID_CHAT_BLOCK
// Em caso de nгo quiser bloquear o texto em caso de texto invбlido
// Texto invбlido, spam, flood, palavreado, ofensa, publicaзгo. etc
// Ping acima de 1 segundo (1000 ms) poderб ocorrer graves problemas de precisгo no anti cheater.
// Em caso de ping muito elevado aconselha-se o uso de SERVER_SIDE_DELAY elevado para maior precisгo
// SERVER_SIDE_DELAY equivale ao tempo de delay entre o uso de uma funзгo registrada
// que influencia no detectamento do anti cheater. Aconselhбvel 1 a 5 segundos.
// Dependendo da conexгo do servidor vocк coloca maior delay ou menor dealay
// MAX_DISTANCE_DEF й essencial para busca e detecзгo de anti-teleport e air break
// O nъmero padrгo foi calculado e nгo houve bugs por parte do sistema
// A ъnica coisa que pode influenciar serб o sistema de SetPlayerPos. Mas o SERVER_SIDE_DELAY supriu isto com precisгo
// Este sistema apenas detecta cheaters. Й aconselhavйl a checagem de um administrador real antes de aplicar o banimento.
// ========================================================================================================
#define pFunction%0(%1) %0(%1); public%0(%1)
#define Hook%0(%1)  stock%0_pB(%1)
// ---------------------------------------------
//  Nesta parte aparecem funзхes hookeadas
//  Elas sгo essenciais para ter controle server-side detalhado
//  Essencial para qualquer anti-hack. Controle minucioso
//  Para o funcionamento disto precisa do filterscript
//    Hookei apenas as mais importantes callbacks nativas da sa:mp.
//    Daria muito trabalho "hookear" todas
// ---------------------------------------------
Hook GivePlayerMoney(playeridvalue) {
    return 
SetPVarInt(playerid"rMoney_pB", (GetPVarInt(playerid"rMoney_pB") + value)), GivePlayerMoney(playeridvalue);
}
Hook ResetPlayerMoney(playerid) {
    return 
SetPVarInt(playerid"rMoney_pB"0), ResetPlayerMoney(playerid);
}
Hook SetPlayerScore(playeridvalue){
    return 
SetPVarInt(playerid"rScore_pB"value), SetPlayerScore(playeridvalue);
}
Hook PutPlayerInVehicle(playerid,vehicleidseatid) {
    return 
SetPVarInt(playerid"rState_pB", (gettime() - SERVER_SIDE_DELAY)), PutPlayerInVehicle(playeridvehicleidseatid);
}
Hook SetVehicleVelocity(vehicleidFloatfX_pBFloatfY_pBFloatfZ_pB) {
    return 
vVelocity_pB[vehicleid] = gettime(), SetVehicleVelocity(vehicleidfX_pBfY_pBfZ_pB);
}
Hook SetVehiclePos(vehicleidFloatfX_pBFloatfY_pBFloatfZ_pB) {
    for(new 
i_pB = (GetMaxPlayers() - 1); i_pB > -1;  --i_pB) {
        if(
GetPlayerVehicleID(i_pB) == vehicleid) {
            
SetPVarInt(i_pB"tPosSet_pB"gettime());
            break;
        }
    }
    return 
SetVehiclePos(vehicleidfX_pBfY_pBfZ_pB);
}
Hook SetPlayerPos(playeridFloatfX_pBFloatfY_pBFloatfZ_pB) {
    return 
SetPVarInt(playerid"tPosSet_pB"gettime()), SetPlayerPos(playeridfX_pBfY_pBfZ_pB);
}
Hook GivePlayerWeapon(playeridweaponidammo) {
    return 
SetPVarInt(playeridgetSlotID_pB(getWeaponSlot_pB(weaponid)), weaponid), SetPVarInt(playeridgetSlotAmmoID_pB(getWeaponSlot_pB(weaponid)), ammo), GivePlayerWeapon(playeridweaponidammo);
}
Hook ResetPlayerWeapons(playerid) {
    for(new 
i_pBi_pB != 13; ++i_pBSetPVarInt(playeridgetSlotID_pB(i_pB), 0);
    return 
ResetPlayerWeapons(playerid);
}
Hook TogglePlayerC(playerid, {bool_}: c_pB) {
    if(
c_pB) {
        static 
FloatfX_pBFloatfY_pBFloatfZ_pB;
        
GetPlayerPos(playeridfX_pBfY_pBfZ_pB);
        
SetPVarFloat(playerid"xPosControll_pB"fX_pB),
        
SetPVarFloat(playerid"yPosControll_pB"fY_pB),
        
SetPVarFloat(playerid"zPosControll_pB"fZ_pB);
    } else {
        
SetPVarFloat(playerid"xPosControll_pB"0.0);
        
SetPVarFloat(playerid"yPosControll_pB"0.0);
        
SetPVarFloat(playerid"zPosControll_pB"0.0);
    }
    
TogglePlayerControllable(playeridc_pB);
    return 
SetPVarInt(playerid"PlayerControllable_pB_pB"_:!c_pB);
}
Hook SetPlayerHealth(playeridFloath_pB) {
    return 
SetPVarFloat(playerid"Health_pB"h_pB), SetPlayerHealth(playeridh_pB);
}
Hook SetPlayerArmour(playeridFloata_pB) {
    return 
SetPVarFloat(playerid"Armour_pB"a_pB), SetPlayerArmour(playerida_pB);
}
Hook SetVehicleToRespawn(vehicleid) {
    return 
vRespawn_pB[vehicleid] = trueSetVehicleToRespawn(vehicleid);
}
isPlayerAiming_pB(playerid) {
    new 
Anim_pB GetPlayerAnimationIndex(playerid);
    if(((
Anim_pB >= 1160) && (Anim_pB <= 1163)) || (Anim_pB == 1167) || (Anim_pB == 1365) || (Anim_pB == 1643) || (Anim_pB == 1453) || (Anim_pB == 220)) return 1;
    return 
0;
}
isPlayerInWater_pB(playerid) { //Coords By Synchro
    
static FloatfX_pBFloatfY_pBFloatfZ_pB
    
GetPlayerPos(playeridfX_pBfY_pBfZ_pB);
    if((
fX_pB >= 2044.6 && fX_pB <= 2192.984 && fY_pB >= 1206.358 && fY_pB <= 1376.552) && fZ_pB 0xA) return 1;
    else if((
fX_pB >= 2048.504 && fX_pB <= 2185.174 && fY_pB >= 1063.239 && fY_pB <= 1202.49) && fZ_pB 0xA) return 1;
    else if((
fX_pB >= 2204.698 && fX_pB <= 2204.698 && fY_pB >= 1426.837 && fY_pB <= 1430.705) && fZ_pB 0xA) return 1;
    else if((
fX_pB >= 2032.885 && fX_pB <= 2114.887 && fY_pB >= 1852.325 && fY_pB <= 1991.575) && fZ_pB 0xC) return 1;
    else if((
fX_pB >= 2517.086 && fX_pB <= 2606.897 && fY_pB >= 2316.493 && fY_pB <= 2420.93) && fZ_pB 0x16) return 1;
    else if((
fX_pB >= 2554.5996 && fX_pB <= 2507.7683 && fY_pB >= 1548.6178 && fY_pB <= 1588.9154) && fZ_pB 0xF) return 1;
    else if((
fX_pB >= -2043.628 && fX_pB <= -1973.561 && fY_pB >= -980.9415 && fY_pB <= -724.0283) && fZ_pB 0x20) return 1;
    else if((
fX_pB >= -2753.912 && fX_pB <= -2665.071 && fY_pB >= -522.3632 && fY_pB <= -380.3444) && fZ_pB 0x05) return 1;
    else if((
fX_pB >= 1219.864 && fX_pB <= 1292.118 && fY_pB >= -2435.881 && fY_pB <= -2325.344) && fZ_pB 0xF) return 1;
    else if((
fX_pB >= 1923.388 && fX_pB <= 2010.854 && fY_pB >= -1223.924 && fY_pB <= -1168.656) && fZ_pB 0x16) return 1;
    else if((
fX_pB >= 1269.301 && fX_pB <= 1314.935 && fY_pB >= -837.0452 && fY_pB <= -781.7769) && fZ_pB 0x5A) return 1;
    else if((
fX_pB >= 1087.3953 && fX_pB <= 1102.3138 && fY_pB >= -682.6734 && fY_pB <= -663.0043) && fZ_pB 0x71) return 1;
    else if((
fX_pB >= 1268.6118 && fX_pB <= 1291.8774 && fY_pB >= -784.2910 && fY_pB <= -764.6104) && fZ_pB 0x43D) return 1;
    else if(
fZ_pB 0xF) return 1;
    return 
0;
}
isPlayerUsingSwimAnim_pB(playerid) { // By Synchro
    
if(IsPlayerInAnyVehicle(playerid) || GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 0;
    static 
aLib_pB[32], aName_pB[32];
    
GetAnimationName(GetPlayerAnimationIndex(playerid), aLib_pB32aName_pB32);
    if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_GLIDE"true)) return 1;
    else if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_BREAST"true)) return 1;
    else if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_CRAWL"true)) return 1;
    else if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_DIVE_UNDER"true)) return 1;
    else if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_DIVE_GLIDE"true)) return 1;
    else if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_UNDER"true)) return 1;
    else if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_TREAD"true)) return 1;
    return 
0;
}
getSlotID_pB(i) { // Paulor
    
static sSlot_pB[12];
    return 
format(sSlot_pB12"wHSlot%i"i), sSlot_pB;
}
getSlotAmmoID_pB(i) { // Paulor
    
static sSlot_pB[12];
    return 
format(sSlot_pB12"AmmoSlot%i"i), sSlot_pB;
}
getWeaponSlot_pB(w_pB) { // Paulor
    
if(w_pB >= && w_pB 2) return 0;
    else if(
w_pB && w_pB 10) return 1;
    else if(
w_pB 21 && w_pB 25) return 2;
    else if(
w_pB 24 && w_pB 28) return 3;
    else if(
w_pB 27 && w_pB 30 || w_pB == 32) return 4;
    else if(
w_pB 29 && w_pB 32) return 5;
    else if(
w_pB 32 && w_pB 35) return 6;
    else if(
w_pB 34 && w_pB 39) return 7;
    else if(
w_pB 15 && w_pB 19 || w_pB == 39) return 8;
    else if(
w_pB 40 && w_pB 44) return 9;
    else if(
w_pB && w_pB 16) return 10;
    else if(
w_pB 43 && w_pB 47) return 11;
    else if(
w_pB == 40) return 12;
    return -
1;
}
getPlayerSpeed_pB(playerid) {
    static 
FloatST[3];
    
GetVehicleVelocity(GetPlayerVehicleID(playerid), ST[0], ST[1], ST[2]);
    return 
floatround(floatmul(floatsqroot(floatadd(floatpower(ST[0], 2), floatpower(ST[1], 2))), 170.0));
}
#if !defined varGet
#define varGet(%0)    getproperty(0,%0)
#endif
#if !defined varSet
#define varSet(%0,%1) setproperty(0, %0, %1)
#endif
public OnGameModeInit() {
    
OPC_pB funcidx("OnPlayerConnect_pB") != -1;
    
OPS_pB funcidx("OnPlayerSpawn_pB") != -1;
    
OPDI_pB funcidx("OnPlayerDisconnect_pB") != -1;
    
OPT_pB funcidx("OnPlayerText_pB") != -1;
    
OPD_pB funcidx("OnPlayerDeath_pB") != -1;
    
OVM_pB funcidx("OnVehicleMod_pB") != -1;
    
OPERCP_pB funcidx("OnPlayerEnterRaceCP_pB") != -1;
    
OPU_pB funcidx("OnPlayerUpdate_pB") != -1;
    
OPSC_pB funcidx("OnPlayerStateChange_pB") != -1;
    
OUVU_pB funcidx("OnUnoccupiedVehicleUpdate_pB") != -1;
    return 
CallLocalFunction("OnGameModeInit_pB"#);
}
#if defined _ALS_OnGameModeInit
    #undef OnGameModeInit
#else
    #define _ALS_OnGameModeInit
#endif
#define OnGameModeInit OnGameModeInit_pB
forward OnGameModeInit_pB();
public 
OnPlayerConnect(playerid) {
    
CallLocalFunction("rJogador_pB""i"playerid);
    return (
OPC_pB CallLocalFunction("OnPlayerConnect_pB""i"playerid) : 1);
}
#if defined _ALS_OnPlayerConnect
    #undef OnPlayerConnect
#else
    #define _ALS_OnPlayerConnect
#endif
#define OnPlayerConnect OnPlayerConnect_pB
forward OnPlayerConnect_pB(playerid);
public 
OnPlayerSpawn(playerid) {
    if(!
GetPVarInt(playerid"Spawned_pB")) SetPVarInt(playerid"Spawned_pB"true);
    
SetPVarFloat(playerid"Health_pB"100.0);
    
SetPVarFloat(playerid"Armour_pB"0.0);
    
SetPlayerHealth(playerid100.0);
    
SetPlayerArmour(playerid0.0);
    return (
OPS_pB CallLocalFunction("OnPlayerSpawn_pB""i"playerid) : 1);
}
#if defined _ALS_OnPlayerSpawn
    #undef OnPlayerSpawn
#else
    #define _ALS_OnPlayerSpawn
#endif
#define OnPlayerSpawn OnPlayerSpawn_pB
forward OnPlayerSpawn_pB(playerid);
public 
OnPlayerDisconnect(playeridreason) {
    
// Nгo retire estб parte. Isto serve para nгo enviar mensagens de desconecзгo quando o player й bot ddos
    
if(GetPVarInt(playerid"jOn_pB")) return false;
    return (
OPDI_pB CallLocalFunction("OnPlayerDisconnect_pB""is"playeridreason) : 1);
}
#if defined _ALS_OnPlayerDisconnect
    #undef OnPlayerDisconnect
#else
    #define _ALS_OnPlayerDisconnect
#endif
#define OnPlayerDisconnect OnPlayerDisconnect_pB
forward OnPlayerDisconnect_pB(playeridreason);
new const 
palavreado[][24] = {
    
"daputa""babaca""baitola""piranha""bicha""bichona""biscat""bitch""bix""boiola""boiolona""buceta""bucetudo""cuzona""bund""burr""fude""cacet""viad",
    
"caral""vadi""carai""rola""chup""idiot""corno""nocu""eucu""ocu""cusa""cusi""cuza""cuzinho""piroca""embecil""fdp""foda""fode""fuck""fud"
    
"hetard""homo""imbess""jegu""kacet""karai""karaleo""kct""kral""krl""noku""lasarent""lazarent""mula""otari""pnc""pereb""penis""pint""prosti",
    
"punhet""put""retardado""tnc""viad""viadi""vsf""vtnc""sobe""vogelz""baranga""vagab""broxa""ignorant""comed""ejacu""prosti""cachorr""surub""peni",
    
"chup""pau""viad""perere""bucet""bicha""bixa""gay""desgra""troxa""tomanocu""seucu"
};
public 
OnPlayerText(playeridtext[]) {
    
/*--------------------------------------------------
    *
    *  Anti Publicaзгo de IP Inteligente
    *   Usando OnPlayerText com manipulaзгo de strings e outros
    *   A precisгo deste sistema estб em torno de 95%
    *
    * Detecta: 127.0.0.1 | 1 2    7 .   0  0 1 etc
    -------------------------------------------------*/
    
static sText_pB[128], bText_pB[128], nChat_pBpChat_pBj;
    
nChat_pB = -1pChat_pB = -10sText_pB bText_pB;
    for(new 
i_pBtext[i_pB]; ++i_pB) {
        if(
text[i_pB] >= '0' && '9' >= text[i_pB] || (text[i_pB] == '.' || text[i_pB] == ':')) {
            if(
text[i_pB] == '.' || text[i_pB] == ':'pChat_pB++;
            else 
nChat_pB++;
            if(
nChat_pB >= && pChat_pB >= 3) {
                
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_PUBLISH_TEXT);
                
#if defined INVALID_CHAT_BLOCK
                    
return false;
                
#else
                    
break;
                
#endif
            
}
        }
        switch(
text[i_pB]) {
            case 
'0': { sText_pB[j] = 'o'j++; continue; }
            case 
'1': { sText_pB[j] = 'i'j++; continue; }
            case 
'2': { sText_pB[j] = 'z'j++; continue; }
            case 
'3': { sText_pB[j] = 'e'j++; continue; }
            case 
'4': { sText_pB[j] = 'a'j++; continue; }
            case 
'5': { sText_pB[j] = 's'j++; continue; }
            case 
'6': { sText_pB[j] = 'g'j++; continue; }
            case 
'7': { sText_pB[j] = 't'j++; continue; }
            case 
'8': { sText_pB[j] = 'b'j++; continue; }
            case 
65 .. 9097 .. 122: { sText_pB[j++] = tolower(text[i_pB]); continue; }
        }
    }
    
/*--------------------------------------------------
    *
    *  Anti Palavreado Inteligente
    *   Usando OnPlayerText com manipulaзгo de strings e outros
    *   A precisгo deste sistema estб em torno de 85%
    *
    * Detecta: buceta, b - u c |e t-a, buc 3 7 4 etc
    -------------------------------------------------*/
    
for(new i_pB i_pB != sizeof(palavreado); ++i_pB) {
        if(
strfind(sText_pBpalavreado[i_pB], false) != -1) {
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_OFFEND_TEXT);
            
#if defined INVALID_CHAT_BLOCK
                
return false;
            
#else
                
break;
            
#endif
        
}
    }
    
/*--------------------------------------------------
    *
    *  Anti Flood
    *   Usando OnPlayerText com gettime e outros
    *   A precisгo deste sistema estб em torno de 95%
    *
    -------------------------------------------------*/
    
if((gettime() - GetPVarInt(playerid"fChat_pB")) < 3) {
        
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_FLOOD_TEXT);
        
#if defined INVALID_CHAT_BLOCK
            
return false;
        
#endif
    
}
    
SetPVarInt(playerid"fChat_pB"gettime());
    return (
OPT_pB CallLocalFunction("OnPlayerText_pB""is"playeridtext) : 1);
}
#if defined _ALS_OnPlayerText
    #undef OnPlayerText
#else
    #define _ALS_OnPlayerText
#endif
#define OnPlayerText OnPlayerText_pB
forward OnPlayerText_pB(playeridtext[]);
public 
OnPlayerDeath(playeridkilleridreason) {
    
/*--------------------------------------------------
    *
    *  Anti Fake Kill
    *   Usando OnPlayerDeath com gettime e outros
    *   A precisгo deste sistema estб dividido em partes
    *
    *  PLAYER_DEATHFLOOD_LEVEL1 -> 070%
    *  PLAYER_DEATHFLOOD_LEVEL2 -> 090%
    *  PLAYER_DEATHFLOOD_LEVEL3 -> 100%
    *
    *
    -------------------------------------------------*/
    
if(gettime() - GetPVarInt(playerid"rDeath_pB") < 20) {
        if(
GetPVarInt(playerid"rValDeath_pB") > 15) {
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_DEATHFLOOD_LEVEL1);
        }
        if(
gettime() - GetPVarInt(playerid"rDeath_pB") < 2) {
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_DEATHFLOOD_LEVEL2);
        }
        if(
gettime() - GetPVarInt(playerid"rDeath_pB") < 5) {
            if(
GetPVarInt(playerid"rValDeath_pB") > 3) {
                
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_DEATHFLOOD_LEVEL3);
            }
        }
    }
    
SetPVarInt(playerid"rDeath_pB"gettime());
    
SetPVarInt(playerid"rValDeath_pB", (GetPVarInt(playerid"rValDeath_pB") + 1));
    return (
OPD_pB CallLocalFunction("OnPlayerDeath_pB""i"playerid) : 1);
}
#if defined _ALS_OnPlayerDeath
    #undef OnPlayerDeath
#else
    #define _ALS_OnPlayerDeath
#endif
#define OnPlayerDeath OnPlayerDeath_pB
forward OnPlayerDeath_pB(playeridkilleridreason);
public 
OnVehicleMod(playeridvehicleidcomponentid) {
    if(!
GetPlayerInterior(playerid)) {
        
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_CPRACE_HACK);
    }
    return (
OVM_pB CallLocalFunction("OnVehicleMod_pB""ddd"playeridvehicleidcomponentid) : 1);
}
#if defined _ALS_OnVehicleMod
    #undef OnVehicleMod
#else
    #define _ALS_OnVehicleMod
#endif
#define OnVehicleMod OnVehicleMod_pB
forward OnVehicleMod_pB(playerid,vehicleid,componentid);
public 
OnPlayerEnterRaceCheckpoint(playerid) {
    if(
IsPlayerInAnyVehicle(playerid)) {
        if(!
getPlayerSpeed_pB(playerid)) {
            if(
GetPVarInt(playerid"cHack_pB") > 3) {
                
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_CPRACE_HACK);
                
SetPVarInt(playerid"cHack_pB"0);
            }
            
SetPVarInt(playerid"cHack_pB", (GetPVarInt(playerid"cHack_pB") + 1));
        }
    }
    return (
OPERCP_pB CallLocalFunction("OnPlayerEnterRaceCP_pB""i"playerid) : 1);
}
#if defined _ALS_OnPlayerEnterRaceCP
    #undef OnPlayerEnterRaceCheckpoint
#else
    #define _ALS_OnPlayerEnterRaceCP
#endif
#define OnPlayerEnterRaceCheckpoint OnPlayerEnterRaceCP_pB
forward OnPlayerEnterRaceCP_pB(playerid);
public 
OnPlayerUpdate(playerid) {
    if(!
IsPlayerNPC(playerid)) {
        if(
GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
            
/*--------------------------------------------------
            *
            *  Anti Speed Hack
            *   Usando GetPlayerSpeedANTIHACK com variбveis
            *   A precisгo deste sistema fica em torno de 100%
            *
            -------------------------------------------------*/
            
if(GetPVarInt(playerid"cSpeedTemp_pB")) {
                if((
gettime() - GetPVarInt(playerid"cSpeedTemp_pB")) > 1) {
                    
TogglePlayerControllable(playeridtrue);
                    
SetPVarInt(playerid"cSpeedTemp_pB"0);
                }
            }
            if(
getPlayerSpeed_pB(playerid) > 260) {
                if((
gettime() - vVelocity_pB[GetPlayerVehicleID(playerid)]) > 10) {
                    
TogglePlayerControllable(playeridfalse);
                    
SetPVarInt(playerid"cSpeedTemp_pB"gettime());
                    return 
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_SPEED_HACK), true;
                }
            }
            
/*--------------------------------------------------
            *
            *  Anti Spider Car
            *   Usando GetVehicleRotationQuat
            *   A precisгo deste sistema fica em torno de 75%
            *
            -------------------------------------------------*/
            
static FloatfW_pBFloatfX_pBFloatfY_pBFloatfZ_pB;
            
GetVehicleRotationQuat(GetPlayerVehicleID(playerid), fW_pBfX_pBfY_pBfZ_pB);
            
fW_pB atan2(* ((fY_pB fZ_pB) + (fX_pB fW_pB)), (-(fX_pB fX_pB) - (fY_pB fY_pB) + (fZ_pB fZ_pB) + (fW_pB fW_pB)));
            
// OBS: Inclinaзгo de 5 graus. Construзхes mais inclinadas podem
            // fazer o veнculo inclinar mais. Mas para evitar falsos reports deixe mais ou menos este valor
            
if((85.0 fW_pB 90.0) || (-85.0 fW_pB > -90.0)) {
                
SetPVarInt(playerid"sCar_pB", (GetPVarInt(playerid"sCar_pB") + 1));
                if(
GetPVarInt(playerid"sCar_pB") > 40) {
                    
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_SPIDER_HACK);
                    
SetPVarInt(playerid"sCar_pB"0);
                }
            }
        }
        
        
/*--------------------------------------------------
        *
        *  Anti Health/Armour Hack
        *   Usando GetPlayer(Health/Armour) com variбveis server sided
        *   A precisгo deste sistema fica em torno de 100%
        *
        -------------------------------------------------*/
        
static FloatpLife_pB;
        
GetPlayerHealth(playeridpLife_pB);
        if(
pLife_pB GetPVarFloat(playerid"Health_pB")) {
            
SetPlayerHealth(playeridGetPVarFloat(playerid"Health_pB"));
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_HEALTH_HACK);
        }
        
GetPlayerArmour(playeridpLife_pB);
        if(
pLife_pB GetPVarFloat(playerid"Armour_pB")) {
            
SetPlayerArmour(playeridGetPVarFloat(playerid"Armour_pB"));
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_ARMOUR_HACK);
        }
        
/*--------------------------------------------------
        *
        *  Anti Player Bugger
        *   Usando GetPlayerPos com variбveis server sided
        *   A precisгo deste sistema fica em torno de 99%
        *   Desbuga o jogador bugado e envia mensagem aos administradores
        *
        -------------------------------------------------*/
        
static FloatfX_pBFloatfY_pBFloat:fZ_pB;
        
GetPlayerPos(playeridfX_pBfY_pBfZ_pB);
        if(
fX_pB 0xdbb9f && fY_pB 0xdbb9f && fZ_pB 0xdbb9f) {
            
SetTimerEx("verifBugger_pB"250false"i"playerid);
        }
        
/*--------------------------------------------------
        *
        *  Anti Freeze Hack
        *   Usando GetPlayerPos com variбveis server sided
        *   A precisгo deste sistema fica em torno de 90%
        *
        -------------------------------------------------
        else {
            // checar se realmente estб estб como MOVIMENTO FALSE
            if(!GetPVarInt(playerid, "PlayerControllable_pB")) {
                GetPlayerPos(playerid, fX_pB, fY_pB, fZ_pB);
                // Checar seus controle foram realmente bloqueados para diferentes de zero !
                if(GetPVarFloat(playerid, "xPosControll_pB") && GetPVarFloat(playerid, "yPosControll_pB") && GetPVarFloat(playerid, "zPosControll_pB")) {
                    if((GetPVarFloat(playerid, "xPosControll_pB") != fX_pB) ||  (GetPVarFloat(playerid, "yPosControll_pB") != fY_pB) || (GetPVarFloat(playerid, "zPosControll_pB") != fZ_pB)) {
                        CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_FREEZE_HACK);
                        // liberar jogador
                        SetPVarInt(playerid, "PlayerControllable_pB", 1);
                    }
                }
            }
            GetPlayerPos(playerid, fX_pB, fY_pB, fZ_pB);
            if(GetPVarFloat(playerid, "xPosSet_pB") != 0 && GetPVarFloat(playerid, "yPosSet_pB") != 0 && GetPVarFloat(playerid, "zPosSet_pB") != 0) {
                new Float: xDistance_pB = MAX_DISTANCE_DEF;
                fX_pB = GetPVarFloat(playerid, "xPosSet_pB") - fX_pB;
                fY_pB = GetPVarFloat(playerid, "yPosSet_pB") - fY_pB;
                fZ_pB = GetPVarFloat(playerid, "zPosSet_pB") - fZ_pB;
                if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && GetPlayerSurfingVehicleID(playerid) == INVALID_VEHICLE_ID) {
                    xDistance_pB = 7.0;
                }
                if((fX_pB > xDistance_pB || fX_pB < -xDistance_pB) || (fY_pB > xDistance_pB || fY_pB < -xDistance_pB) || (fZ_pB > xDistance_pB || fZ_pB < -xDistance_pB)) {
                    if((gettime() - GetPVarInt(playerid, "tPosSet_pB")) > 3 && GetPVarInt(playerid, "Spawned_pB")) {
                        GetPlayerPos(playerid, fX_pB, fY_pB, fZ_pB);
                        SetTimerEx("checkPos_pB", 500, false, "ifff", playerid, fX_pB, fY_pB, fZ_pB);
                    }
                }
            }
            GetPlayerPos(playerid, fX_pB, fY_pB, fZ_pB);
            SetPVarFloat(playerid, "xPosSet_pB", fX_pB);
            SetPVarFloat(playerid, "yPosSet_pB", fY_pB);
            SetPVarFloat(playerid, "zPosSet_pB", fZ_pB);
        }
        */
        /*--------------------------------------------------
        *
        *  Anti Ping Alto
        *   Usando GetPlayerScore com variбveis server sided
        *   A precisгo deste sistema fica em torno de 90%
        *
        -------------------------------------------------*/
        
if(GetPlayerPing(playerid) > MAX_PING) {
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_HIGH_PING);
        }
        
/*--------------------------------------------------
        *
        *  Anti Score Hack
        *   Usando GetPlayerScore com variбveis server sided
        *   A precisгo deste sistema fica em torno de 100%
        *
        -------------------------------------------------*/
        
if(GetPlayerScore(playerid) > GetPVarInt(playerid"rScore_pB")) {
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_SCORE_HACK);
            
SetPlayerScore(playeridGetPVarInt(playerid"rScore_pB"));
        }
        
/*--------------------------------------------------
        *
        *  Anti Money Hack
        *   Usando GetPlayerMoney com variбveis server sided
        *   A precisгo deste sistema fica em torno de 100%
        *
        -------------------------------------------------
        if(GetPlayerMoney(playerid) > GetPVarInt(playerid, "rMoney_pB")) {
            CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_MONEY_HACK);
            GivePlayerMoney(playerid, (ResetPlayerMoney(playerid), GetPVarInt(playerid, "rMoney_pB")));
        }
        */
        /*--------------------------------------------------
        *
        *  Anti Player Speed Hack
        *   Usando GetPlayerVelocity com variбveis server sided
        *   A precisгo deste sistema fica em torno de 95%
        *
        -------------------------------------------------*/
        
        
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
            
GetPlayerVelocity(playeridfX_pBfY_pBfZ_pB);
            if(
floatround(floatsqroot(floatadd(floatpower(fX_pB2), floatpower(fY_pB2))) * 200) > 100) {
                if(!(
GetPVarInt(playerid"wSpeed_pB") % 50)) {
                    
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_PSPEED_HACK);
                }
                
SetPVarInt(playerid"wSpeed_pB", (GetPVarInt(playerid"wSpeed_pB") + 1));
            }
        }
        
/*--------------------------------------------------
        *
        *  Anti Weapons Hack
        *   Usando GetPlayerWeaponData com variбveis server sided
        *   A precisгo deste sistema fica em torno de 100%
        *
        -------------------------------------------------*/
        
static wSlot_pB[2];
        for(new 
w_pBw_pB != 13; ++w_pB) {
            
GetPlayerWeaponData(playeridw_pBwSlot_pB[0], wSlot_pB[1]);
            if(
GetPVarInt(playeridgetSlotID_pB(w_pB)) != wSlot_pB[0] && wSlot_pB[0] && wSlot_pB[0] < 47) {
                
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_WEAPON_HACK);
                
SetPVarInt(playeridgetSlotID_pB(w_pB), wSlot_pB[0]);
            }
        }
        
        
/*--------------------------------------------------
        *
        *  Anti No-Reload
        *   Usando GetPlayerAmmo com variбveis server sided
        *   A precisгo deste sistema fica em torno de 100%
        *
        -------------------------------------------------*/
        
        
static pKey_pB[3];
        
GetPlayerKeys(playeridpKey_pB[0], pKey_pB[1], pKey_pB[2]);
        if(
isPlayerAiming_pB(playerid) && ((pKey_pB[0] & KEY_FIRE) == KEY_FIRE || (pKey_pB[0] & KEY_ACTION) == KEY_ACTION)) {
            if(
GetPlayerWeapon(playerid) > 15 && GetPlayerWeapon(playerid) < 43 && GetPlayerAmmo(playerid) == GetPVarInt(playeridgetSlotAmmoID_pB(getWeaponSlot_pB(GetPlayerWeapon(playerid)))) && !GetPVarInt(playerid"PlayerControllable_pB") && !IsPlayerInAnyVehicle(playerid)) {
                
SetPVarInt(playerid"kWarns_pB", (GetPVarInt(playerid"kWarns_pB") + 1));
                if(!(
GetPVarInt(playerid"kWarns_pB") % 50) && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
                    
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_NORELOAD_HACK);
                }
            }
            if(
GetPlayerWeaponState(playerid) == WEAPONSTATE_RELOADING || GetPlayerAmmo(playerid) < GetPVarInt(playeridgetSlotAmmoID_pB(getWeaponSlot_pB(GetPlayerWeapon(playerid))))) SetPVarInt(playerid"kWarns_pB"0);
            
SetPVarInt(playeridgetSlotAmmoID_pB(getWeaponSlot_pB(GetPlayerWeapon(playerid))), GetPlayerAmmo(playerid));
        }
        
/*--------------------------------------------------
        *
        *  Anti Ammo Hack
        *   Usando GetPlayerAmmo com variбveis server sided
        *   A precisгo deste sistema fica em torno de 100%
        *
        -------------------------------------------------
        if(GetPlayerWeapon(playerid) > 15 && GetPlayerWeapon(playerid) < 43) {
            if(GetPlayerAmmo(playerid) > GetPVarInt(playerid, getSlotAmmoID_pB(getWeaponSlot_pB(GetPlayerWeapon(playerid))))) {
                if(!IsPlayerInAnyVehicle(playerid)) {
                    CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_AMMO_HACK);
                }
            }
            SetPVarInt(playerid, getSlotAmmoID_pB(getWeaponSlot_pB(GetPlayerWeapon(playerid))), GetPlayerAmmo(playerid));
        }
        */
        /*--------------------------------------------------
        *
        *   Anti Fly Hack
        *   Usando Posiзхes e Animзхes.
        *   A precisгo deste sistema fica em torno de 85%
        *
        -------------------------------------------------*/
        
if(!isPlayerInWater_pB(playerid) && isPlayerUsingSwimAnim_pB(playerid)) {
            if(!(
GetPVarInt(playerid"FlyTime") % 50)) {
                
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_FLY_HACK);
                
SetPVarInt(playerid"FlyTime"0);
            }
            
SetPVarInt(playerid"FlyTime", (GetPVarInt(playerid"FlyTime") + 1));
        } else if(
isPlayerInWater_pB(playerid) && isPlayerUsingSwimAnim_pB(playerid)) {
            
SetPVarInt(playerid"FlyTime"0);
        }
        
SetPVarInt(playerid"rMoney_pB"GetPlayerMoney(playerid));
        
SetPVarInt(playerid"rScore_pB"GetPlayerScore(playerid));
    }
    return (
OPU_pB CallLocalFunction("OnPlayerUpdate_pB""i"playerid) : 1);
}
#if defined _ALS_OnPlayerUpdate
    #undef OnPlayerUpdate
#else
    #define _ALS_OnPlayerUpdate
#endif
#define OnPlayerUpdate OnPlayerUpdate_pB
forward OnPlayerUpdate_pB(playerid);
public 
OnPlayerStateChange(playeridnewstateoldstate) {
    
/*--------------------------------------------------
    *
    *  Anti State Hack
    *   Usando OnPlayerStateChange com gettime
    *   A precisгo deste sistema fica em torno de 95%
    *
    -------------------------------------------------*/
    
if(newstate == PLAYER_STATE_DRIVER) {
        if((
gettime() - GetPVarInt(playerid"rState_pB")) < && (gettime() - GetPVarInt(playerid"tPosSet_pB")) > 3) {
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_STATE_HACK);
        }
        
SetPVarInt(playerid"rState_pB"gettime());
    }
    
SetPVarInt(playerid"sCar_pB"0);
    return (
OPSC_pB CallLocalFunction("OnPlayerStateChange_pB""idi"playeridnewstateoldstate) : 1);
}
#if defined _ALS_OnPlayerStateChange
    #undef OnPlayerStateChange
#else
    #define _ALS_OnPlayerStateChange
#endif
#define OnPlayerStateChange OnPlayerStateChange_pB
forward OnPlayerStateChange_pB(playeridnewstateoldstate);
public 
OnUnoccupiedVehicleUpdate(vehicleidplayeridpassenger_seat) {
    
/*--------------------------------------------------
    *
    *  Anti Surfer Vehicle
    *   Usando OnUnoccupiedVehicleUpdate com gettime e outros
    *   A precisгo deste sistema fica em torno de 85%
    *
    -------------------------------------------------*/
    
GetVehiclePos(vehicleidvPos_pB[0], vPos_pB[1], vPos_pB[2]);
    if(
IsPlayerInRangeOfPoint(playerid1.0vPos_pB[0], vPos_pB[1], vPos_pB[2])) {
        
GetVehicleZAngle(vehicleidvPos_pB[3]);
        if(
dAngle_pB[vehicleid] != vPos_pB[3]) {
            if(!
IsPlayerInAnyVehicle(playerid)) {
                
GetPlayerPos(vehicleidvPos_pB[1], vPos_pB[1], vPos_pB[3]);
                if(
vPos_pB[3] > vPos_pB[2]) {
                    
SetPVarInt(playerid"rUAF_pB"GetPVarInt(playerid"rUAF_pB") +1);
                    if(
GetPVarInt(playerid"rUAF_pB") > 40) {
                        
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_SURF_VEHICLE);
                    }
                }
            }
        }
        
dAngle_pB[vehicleid] = vPos_pB[3];
        return 
true;
    }
    
/*--------------------------------------------------
    *
    *  Anti Teleport Vehicle
    *   Usando OnUnoccupiedVehicleUpdate com gettime e outros
    *   A precisгo deste sistema fica em torno de 85%
    *
    -------------------------------------------------
    else if(!IsPlayerInRangeOfPoint(playerid, 40.0, vPos_pB[0], vPos_pB[1], vPos_pB[2])) {
        if(!IsPlayerInAnyVehicle(playerid) && (gettime() - GetPVarInt(playerid, "tPosSet_pB") > 3) && !vRespawn_pB[vehicleid]) {
            CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_CAR_TELEPORT);
        } else if(vRespawn_pB[vehicleid]) vRespawn_pB[vehicleid] = false;
    }
    return (OUVU_pB ? CallLocalFunction("OnUnoccupiedVehicleUpdate_pB", "idi", vehicleid, playerid, passenger_seat) : 1);
}
*/
#if defined _ALS_OnUnoccupiedVehicleUpdate
    #undef OnUnoccupiedVehicleUpdate
#else
    #define _ALS_OnUnoccupiedVehicleUpdate
#endif
#define OnUnoccupiedVehicleUpdate OnUnoccupiedVehicleUpdate_pB
forward OnUnoccupiedVehicleUpdate_pB(vehicleidplayeridpassenger_seat);
pFunction checkPos_pB(iFloatfX_pBFloatfY_pBFloatfZ_pB) {
    if(
gettime() - GetPVarInt(i"aBreakSet_pB") < 10)
    return 
false;
    
/*--------------------------------------------------
    *
    *  Anti Teleport Hack
    *   Usando GetPlayerPos com variбveis server sided
    *   A precisгo deste sistema fica em torno de 95%
    *
    -------------------------------------------------*/
    
if(IsPlayerInRangeOfPoint(i2.012837fX_pBfY_pBfZ_pB)) {
        
CallLocalFunction("OnPlayerHacking""ii"iPLAYER_TELEPORT_HACK);
    }
    
/*--------------------------------------------------
    *
    *  Anti AirBreak Hack
    *   Usando GetPlayerPos e SetPlayerPos com variбveis server sided
    *   A precisгo deste sistema fica em torno de 95%
    *
    -------------------------------------------------*/
    
else {
        
CallLocalFunction("OnPlayerHacking""ii"iPLAYER_AIRBREAK_HACK);
        
SetPVarInt(i"aBreakSet_pB"gettime());
    }
    return 
true;
}
pFunction verifBugger_pB(playerid) {
    new 
FloatfX_pBFloatfY_pBFloatfZ_pB;
    
GetPlayerPos(playeridfX_pBfY_pBfZ_pB);
    if(
fX_pB 0xdbb9f && fY_pB 0xdbb9f && fZ_pB 0xdbb9fSetPlayerPos(playeridGetPVarFloat(playerid"xPosSet_pB"),  GetPVarFloat(playerid"yPosSet_pB"),  GetPVarFloat(playerid"zPosSet_pB"));
    else 
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_BUGGER_HACK);
    return 
1;
}
pFunction registerBot_pB(playerid) {
    
/*--------------------------------------------------
    *
    *  Anti DDos Bots
    *   Usando GetPlayerPing/OnPlayerConnect com gettime e outros
    *   A precisгo deste sistema estб dividido em partes
    *
    *  PLAYER_BOT_LEVEL1 -> 70%
    *  PLAYER_BOT_LEVEL2 -> 90%
    *  PLAYER_BOT_LEVEL3 -> 100%
    *
    *
    -------------------------------------------------*/
    
if(GetPlayerPing(playerid) != 0xFFFF && GetPlayerPing(playerid)  != 0SetPVarInt(playerid"jOn_pB"1);
    if(
IsPlayerConnected(playerid) && GetPlayerPing(playerid)  == 0xFFFF) {
        static 
iP_pB[20];
        
GetPlayerIp(playeridiP_pB20);
        if(
0x1c5 > (gettime() - varGet(iP_pB))) {
            
iP_pB[(strlen(iP_pB) - 1)] = 'x';
            if(
varGet(iP_pB) > 3) {
                return 
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_BOT_LEVEL3);
            }
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_BOT_LEVEL2);
        }
        
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_BOT_LEVEL1);
        
SetTimerEx("registerBot_pB"700false"i" playerid);
    }
    return 
false;
}
pFunction rJogador_pB(playerid) {
    static 
iP_pB[20], connect_pB;
    
dAngle_pB[playerid] = 0;
    
GetPlayerIp(playeridiP_pB20);
    
varSet(iP_pBgettime()); ++connect_pB;
    if(
connect_pB == MAX_PLAYERS 1) {
        for(
connect_pB 0dbIP_pB[connect_pB][0]; connect_pB++) continue;
    }
    
SetTimerEx("resetBot_pB"50000false"i"connect_pB);
    
iP_pB[strlen(iP_pB)-1] = 'x';
    
format(dbIP_pB[connect_pB], 20iP_pB);
    
varSet(iP_pBvarGet(iP_pB) +1);
    
SetPVarInt(playerid"tPosSet_pB"gettime());
    return 
SetTimerEx("registerBot_pB"700false"i" playerid);
}
pFunction resetBot_pB(botid) {
    
varSet(dbIP_pB[botid], 0);
    return 
dbIP_pB[botid][0] = EOS;
}
#define GivePlayerMoney                GivePlayerMoney_pB
#define ResetPlayerMoney            ResetPlayerMoney_pB
#define SetPlayerScore                SetPlayerScore_pB
#define PutPlayerInVehicle            PutPlayerInVehicle_pB
#define SetPlayerArmour                SetPlayerArmour_pB
#define SetPlayerHealth                SetPlayerHealth_pB
#define    TogglePlayerControllable    TogglePlayerC_pB
#define    GivePlayerWeapon              GivePlayerWeapon_pB
#define    ResetPlayerWeapons          ResetPlayerWeapons_pB
#define    SetPlayerPos                  SetPlayerPos_pB
#define    SetVehiclePos                  SetVehiclePos_pB
#define    SetVehicleVelocity            SetVehicleVelocity_pB
#define    SetVehicleToRespawn            SetVehicleToRespawn_pB
forward OnPlayerHacking(playeridhackid); 
substituir a include que vocк colocou ai em cima, peguei a include < servermoneyGM > coloquei em cima da include < pbAntiCheater > deu o mesmo erro sу que mudou de include.

pawno\include\pbAntiCheater.inc(339) : warning 201: redefinition of constant/macro (symbol "OnGameModeInit")
pawno\include\pbAntiCheater.inc(1035) : warning 201: redefinition of constant/macro (symbol "GivePlayerMoney")
pawno\include\pbAntiCheater.inc(1036) : warning 201: redefinition of constant/macro (symbol "ResetPlayerMoney")
Reply
#7

Quote:
Originally Posted by escolano
Посмотреть сообщение
Continua o mesmo erro.

PHP код:
#include                <  a_samp  >
#include                <  servermoneyGM >
#include                <  pbAntiCheater  >
#include                <  streamer  >
#include                <  a_http  >
#include                <  core  >
#include                <  float  >
#include                <  time  >
#include                <  file  >
#include                <  a_objects  >
#include                <  Dini  >
#include                <  seif_walk  > 
Estou tentando colocar o anticheats no serve, peguei aqui no forum essa include < pbAntiCheater >
PHP код:
////////////////////////////////////////////////////////////////////////////////
//
//
//        #### ########   ######     ######## ########    ###    ##     ##
//         ##  ##     ## ##    ##       ##    ##         ## ##   ###   ###
//         ##  ##     ## ##             ##    ##        ##   ##  #### ####
//         ##  ########   ######        ##    ######   ##     ## ## ### ##
//         ##  ##              ##       ##    ##       ######### ##     ##
//         ##  ##        ##    ##       ##    ##       ##     ## ##     ##
//        #### ##         ######        ##    ######## ##     ## ##     ##
//
//
//          Por Bruno da Silva (iPs DraKiNs) e  Paulo (iPs Paulo)
//
//          Acesse meu blog sobre programaзгo www.brunodasilva.com.br
//
//            --------------------------------------------
//
//            Detectar:
//                Bot,
//                Death Flood,
//                Surf Vehicle,
//                Car Teleport,
//                State Hack,
//                No-Reload,
//                Weapon Hack,
//                Ammo Hack,
//                Freeze Hack,
//                Score Hack,
//                Money Hack,
//                Health Hack,
//                Armour Hack,
//                Publish Text,
//                Offend Text,
//                Flood Text,
//                Teleport Hack,
//                Air Break,
//                Player Bugger,
//                High Ping,
//                Spider Hack,
//                CP Race Hack,
//                Speed Hack,
//                Player Speed Hack,
//                Fly Hack
//
//            --------------------------------------------
//
//                    www.brunodasilva.com.br
//
//                    Ingresse tambйm na [iPs]TeaM
//                    wwww.ips-team.forumeiros.com
//
//////////////////////////////////////////////////////////////////////////////////
enum {
    
// Anti DDos Bots
    
PLAYER_BOT_LEVEL3,
    
PLAYER_BOT_LEVEL2,
    
PLAYER_BOT_LEVEL1,
    
// Anti Cleo4 Fake-kill
    
PLAYER_DEATHFLOOD_LEVEL3,
    
PLAYER_DEATHFLOOD_LEVEL2,
    
PLAYER_DEATHFLOOD_LEVEL1,
    
// Anti Bug Cars
    
PLAYER_SURF_VEHICLE,
    
PLAYER_CAR_TELEPORT,
    
PLAYER_STATE_HACK,
    
// Ammo Weapon
    
PLAYER_NORELOAD_HACK,
    
PLAYER_WEAPON_HACK,
    
PLAYER_AMMO_HACK,
    
// hackings
    
PLAYER_FREEZE_HACK,
    
PLAYER_SCORE_HACK,
    
PLAYER_MONEY_HACK,
    
PLAYER_HEALTH_HACK,
    
PLAYER_ARMOUR_HACK,
    
// Text Chat
    
PLAYER_PUBLISH_TEXT,
    
PLAYER_OFFEND_TEXT,
    
PLAYER_FLOOD_TEXT,
    
// pos cheat
    
PLAYER_TELEPORT_HACK,
    
PLAYER_AIRBREAK_HACK,
    
PLAYER_BUGGER_HACK,
    
// outros
    
PLAYER_HIGH_PING,
    
PLAYER_SPIDER_HACK,
    
PLAYER_CPRACE_HACK,
    
PLAYER_SPEED_HACK,
    
PLAYER_PSPEED_HACK,
    
PLAYER_FLY_HACK
}
new 
FloatvPos_pB[4],
    
dbIP_pB[MAX_PLAYERS][20],
    
FloatdAngle_pB[MAX_VEHICLES],
    
vVelocity_pB[MAX_VEHICLES],
    
boolvRespawn_pB[MAX_VEHICLES],
    
boolOPC_pB,
    
boolOPS_pB,
    
boolOPDI_pB,
    
boolOPT_pB,
    
boolOPD_pB,
    
boolOVM_pB,
    
boolOPERCP_pB,
    
boolOPU_pB,
    
boolOPSC_pB,
    
boolOUVU_pB;
forward OnPlayerHacking(playeridhackid);
#define INVALID_CHAT_BLOCK
#define SERVER_SIDE_DELAY   (0002)
#define MAX_DISTANCE_DEF    (83.1)
#define MAX_PING            (0800)
//Usar somente AntiCheater's determinados
#if !defined @FE_OnPlayerEnterVehicle
    #define @FE_OnPlayerEnterVehicle        true //Atere para 'false' para desativar a ediзгo sobre a funзгo.
#endif
// =============================================================================
//
// OBSERVAЗхES IMPORTANTES:
// #define INVALID_CHAT_BLOCK
// Em caso de nгo quiser bloquear o texto em caso de texto invбlido
// Texto invбlido, spam, flood, palavreado, ofensa, publicaзгo. etc
// Ping acima de 1 segundo (1000 ms) poderб ocorrer graves problemas de precisгo no anti cheater.
// Em caso de ping muito elevado aconselha-se o uso de SERVER_SIDE_DELAY elevado para maior precisгo
// SERVER_SIDE_DELAY equivale ao tempo de delay entre o uso de uma funзгo registrada
// que influencia no detectamento do anti cheater. Aconselhбvel 1 a 5 segundos.
// Dependendo da conexгo do servidor vocк coloca maior delay ou menor dealay
// MAX_DISTANCE_DEF й essencial para busca e detecзгo de anti-teleport e air break
// O nъmero padrгo foi calculado e nгo houve bugs por parte do sistema
// A ъnica coisa que pode influenciar serб o sistema de SetPlayerPos. Mas o SERVER_SIDE_DELAY supriu isto com precisгo
// Este sistema apenas detecta cheaters. Й aconselhavйl a checagem de um administrador real antes de aplicar o banimento.
// ========================================================================================================
#define pFunction%0(%1) %0(%1); public%0(%1)
#define Hook%0(%1)  stock%0_pB(%1)
// ---------------------------------------------
//  Nesta parte aparecem funзхes hookeadas
//  Elas sгo essenciais para ter controle server-side detalhado
//  Essencial para qualquer anti-hack. Controle minucioso
//  Para o funcionamento disto precisa do filterscript
//    Hookei apenas as mais importantes callbacks nativas da sa:mp.
//    Daria muito trabalho "hookear" todas
// ---------------------------------------------
Hook GivePlayerMoney(playeridvalue) {
    return 
SetPVarInt(playerid"rMoney_pB", (GetPVarInt(playerid"rMoney_pB") + value)), GivePlayerMoney(playeridvalue);
}
Hook ResetPlayerMoney(playerid) {
    return 
SetPVarInt(playerid"rMoney_pB"0), ResetPlayerMoney(playerid);
}
Hook SetPlayerScore(playeridvalue){
    return 
SetPVarInt(playerid"rScore_pB"value), SetPlayerScore(playeridvalue);
}
Hook PutPlayerInVehicle(playerid,vehicleidseatid) {
    return 
SetPVarInt(playerid"rState_pB", (gettime() - SERVER_SIDE_DELAY)), PutPlayerInVehicle(playeridvehicleidseatid);
}
Hook SetVehicleVelocity(vehicleidFloatfX_pBFloatfY_pBFloatfZ_pB) {
    return 
vVelocity_pB[vehicleid] = gettime(), SetVehicleVelocity(vehicleidfX_pBfY_pBfZ_pB);
}
Hook SetVehiclePos(vehicleidFloatfX_pBFloatfY_pBFloatfZ_pB) {
    for(new 
i_pB = (GetMaxPlayers() - 1); i_pB > -1;  --i_pB) {
        if(
GetPlayerVehicleID(i_pB) == vehicleid) {
            
SetPVarInt(i_pB"tPosSet_pB"gettime());
            break;
        }
    }
    return 
SetVehiclePos(vehicleidfX_pBfY_pBfZ_pB);
}
Hook SetPlayerPos(playeridFloatfX_pBFloatfY_pBFloatfZ_pB) {
    return 
SetPVarInt(playerid"tPosSet_pB"gettime()), SetPlayerPos(playeridfX_pBfY_pBfZ_pB);
}
Hook GivePlayerWeapon(playeridweaponidammo) {
    return 
SetPVarInt(playeridgetSlotID_pB(getWeaponSlot_pB(weaponid)), weaponid), SetPVarInt(playeridgetSlotAmmoID_pB(getWeaponSlot_pB(weaponid)), ammo), GivePlayerWeapon(playeridweaponidammo);
}
Hook ResetPlayerWeapons(playerid) {
    for(new 
i_pBi_pB != 13; ++i_pBSetPVarInt(playeridgetSlotID_pB(i_pB), 0);
    return 
ResetPlayerWeapons(playerid);
}
Hook TogglePlayerC(playerid, {bool_}: c_pB) {
    if(
c_pB) {
        static 
FloatfX_pBFloatfY_pBFloatfZ_pB;
        
GetPlayerPos(playeridfX_pBfY_pBfZ_pB);
        
SetPVarFloat(playerid"xPosControll_pB"fX_pB),
        
SetPVarFloat(playerid"yPosControll_pB"fY_pB),
        
SetPVarFloat(playerid"zPosControll_pB"fZ_pB);
    } else {
        
SetPVarFloat(playerid"xPosControll_pB"0.0);
        
SetPVarFloat(playerid"yPosControll_pB"0.0);
        
SetPVarFloat(playerid"zPosControll_pB"0.0);
    }
    
TogglePlayerControllable(playeridc_pB);
    return 
SetPVarInt(playerid"PlayerControllable_pB_pB"_:!c_pB);
}
Hook SetPlayerHealth(playeridFloath_pB) {
    return 
SetPVarFloat(playerid"Health_pB"h_pB), SetPlayerHealth(playeridh_pB);
}
Hook SetPlayerArmour(playeridFloata_pB) {
    return 
SetPVarFloat(playerid"Armour_pB"a_pB), SetPlayerArmour(playerida_pB);
}
Hook SetVehicleToRespawn(vehicleid) {
    return 
vRespawn_pB[vehicleid] = trueSetVehicleToRespawn(vehicleid);
}
isPlayerAiming_pB(playerid) {
    new 
Anim_pB GetPlayerAnimationIndex(playerid);
    if(((
Anim_pB >= 1160) && (Anim_pB <= 1163)) || (Anim_pB == 1167) || (Anim_pB == 1365) || (Anim_pB == 1643) || (Anim_pB == 1453) || (Anim_pB == 220)) return 1;
    return 
0;
}
isPlayerInWater_pB(playerid) { //Coords By Synchro
    
static FloatfX_pBFloatfY_pBFloatfZ_pB
    
GetPlayerPos(playeridfX_pBfY_pBfZ_pB);
    if((
fX_pB >= 2044.6 && fX_pB <= 2192.984 && fY_pB >= 1206.358 && fY_pB <= 1376.552) && fZ_pB 0xA) return 1;
    else if((
fX_pB >= 2048.504 && fX_pB <= 2185.174 && fY_pB >= 1063.239 && fY_pB <= 1202.49) && fZ_pB 0xA) return 1;
    else if((
fX_pB >= 2204.698 && fX_pB <= 2204.698 && fY_pB >= 1426.837 && fY_pB <= 1430.705) && fZ_pB 0xA) return 1;
    else if((
fX_pB >= 2032.885 && fX_pB <= 2114.887 && fY_pB >= 1852.325 && fY_pB <= 1991.575) && fZ_pB 0xC) return 1;
    else if((
fX_pB >= 2517.086 && fX_pB <= 2606.897 && fY_pB >= 2316.493 && fY_pB <= 2420.93) && fZ_pB 0x16) return 1;
    else if((
fX_pB >= 2554.5996 && fX_pB <= 2507.7683 && fY_pB >= 1548.6178 && fY_pB <= 1588.9154) && fZ_pB 0xF) return 1;
    else if((
fX_pB >= -2043.628 && fX_pB <= -1973.561 && fY_pB >= -980.9415 && fY_pB <= -724.0283) && fZ_pB 0x20) return 1;
    else if((
fX_pB >= -2753.912 && fX_pB <= -2665.071 && fY_pB >= -522.3632 && fY_pB <= -380.3444) && fZ_pB 0x05) return 1;
    else if((
fX_pB >= 1219.864 && fX_pB <= 1292.118 && fY_pB >= -2435.881 && fY_pB <= -2325.344) && fZ_pB 0xF) return 1;
    else if((
fX_pB >= 1923.388 && fX_pB <= 2010.854 && fY_pB >= -1223.924 && fY_pB <= -1168.656) && fZ_pB 0x16) return 1;
    else if((
fX_pB >= 1269.301 && fX_pB <= 1314.935 && fY_pB >= -837.0452 && fY_pB <= -781.7769) && fZ_pB 0x5A) return 1;
    else if((
fX_pB >= 1087.3953 && fX_pB <= 1102.3138 && fY_pB >= -682.6734 && fY_pB <= -663.0043) && fZ_pB 0x71) return 1;
    else if((
fX_pB >= 1268.6118 && fX_pB <= 1291.8774 && fY_pB >= -784.2910 && fY_pB <= -764.6104) && fZ_pB 0x43D) return 1;
    else if(
fZ_pB 0xF) return 1;
    return 
0;
}
isPlayerUsingSwimAnim_pB(playerid) { // By Synchro
    
if(IsPlayerInAnyVehicle(playerid) || GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 0;
    static 
aLib_pB[32], aName_pB[32];
    
GetAnimationName(GetPlayerAnimationIndex(playerid), aLib_pB32aName_pB32);
    if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_GLIDE"true)) return 1;
    else if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_BREAST"true)) return 1;
    else if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_CRAWL"true)) return 1;
    else if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_DIVE_UNDER"true)) return 1;
    else if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_DIVE_GLIDE"true)) return 1;
    else if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_UNDER"true)) return 1;
    else if(!
strcmp(aLib_pB"SWIM"true) && !strcmp(aName_pB"SWIM_TREAD"true)) return 1;
    return 
0;
}
getSlotID_pB(i) { // Paulor
    
static sSlot_pB[12];
    return 
format(sSlot_pB12"wHSlot%i"i), sSlot_pB;
}
getSlotAmmoID_pB(i) { // Paulor
    
static sSlot_pB[12];
    return 
format(sSlot_pB12"AmmoSlot%i"i), sSlot_pB;
}
getWeaponSlot_pB(w_pB) { // Paulor
    
if(w_pB >= && w_pB 2) return 0;
    else if(
w_pB && w_pB 10) return 1;
    else if(
w_pB 21 && w_pB 25) return 2;
    else if(
w_pB 24 && w_pB 28) return 3;
    else if(
w_pB 27 && w_pB 30 || w_pB == 32) return 4;
    else if(
w_pB 29 && w_pB 32) return 5;
    else if(
w_pB 32 && w_pB 35) return 6;
    else if(
w_pB 34 && w_pB 39) return 7;
    else if(
w_pB 15 && w_pB 19 || w_pB == 39) return 8;
    else if(
w_pB 40 && w_pB 44) return 9;
    else if(
w_pB && w_pB 16) return 10;
    else if(
w_pB 43 && w_pB 47) return 11;
    else if(
w_pB == 40) return 12;
    return -
1;
}
getPlayerSpeed_pB(playerid) {
    static 
FloatST[3];
    
GetVehicleVelocity(GetPlayerVehicleID(playerid), ST[0], ST[1], ST[2]);
    return 
floatround(floatmul(floatsqroot(floatadd(floatpower(ST[0], 2), floatpower(ST[1], 2))), 170.0));
}
#if !defined varGet
#define varGet(%0)    getproperty(0,%0)
#endif
#if !defined varSet
#define varSet(%0,%1) setproperty(0, %0, %1)
#endif
public OnGameModeInit() {
    
OPC_pB funcidx("OnPlayerConnect_pB") != -1;
    
OPS_pB funcidx("OnPlayerSpawn_pB") != -1;
    
OPDI_pB funcidx("OnPlayerDisconnect_pB") != -1;
    
OPT_pB funcidx("OnPlayerText_pB") != -1;
    
OPD_pB funcidx("OnPlayerDeath_pB") != -1;
    
OVM_pB funcidx("OnVehicleMod_pB") != -1;
    
OPERCP_pB funcidx("OnPlayerEnterRaceCP_pB") != -1;
    
OPU_pB funcidx("OnPlayerUpdate_pB") != -1;
    
OPSC_pB funcidx("OnPlayerStateChange_pB") != -1;
    
OUVU_pB funcidx("OnUnoccupiedVehicleUpdate_pB") != -1;
    return 
CallLocalFunction("OnGameModeInit_pB"#);
}
#if defined _ALS_OnGameModeInit
    #undef OnGameModeInit
#else
    #define _ALS_OnGameModeInit
#endif
#define OnGameModeInit OnGameModeInit_pB
forward OnGameModeInit_pB();
public 
OnPlayerConnect(playerid) {
    
CallLocalFunction("rJogador_pB""i"playerid);
    return (
OPC_pB CallLocalFunction("OnPlayerConnect_pB""i"playerid) : 1);
}
#if defined _ALS_OnPlayerConnect
    #undef OnPlayerConnect
#else
    #define _ALS_OnPlayerConnect
#endif
#define OnPlayerConnect OnPlayerConnect_pB
forward OnPlayerConnect_pB(playerid);
public 
OnPlayerSpawn(playerid) {
    if(!
GetPVarInt(playerid"Spawned_pB")) SetPVarInt(playerid"Spawned_pB"true);
    
SetPVarFloat(playerid"Health_pB"100.0);
    
SetPVarFloat(playerid"Armour_pB"0.0);
    
SetPlayerHealth(playerid100.0);
    
SetPlayerArmour(playerid0.0);
    return (
OPS_pB CallLocalFunction("OnPlayerSpawn_pB""i"playerid) : 1);
}
#if defined _ALS_OnPlayerSpawn
    #undef OnPlayerSpawn
#else
    #define _ALS_OnPlayerSpawn
#endif
#define OnPlayerSpawn OnPlayerSpawn_pB
forward OnPlayerSpawn_pB(playerid);
public 
OnPlayerDisconnect(playeridreason) {
    
// Nгo retire estб parte. Isto serve para nгo enviar mensagens de desconecзгo quando o player й bot ddos
    
if(GetPVarInt(playerid"jOn_pB")) return false;
    return (
OPDI_pB CallLocalFunction("OnPlayerDisconnect_pB""is"playeridreason) : 1);
}
#if defined _ALS_OnPlayerDisconnect
    #undef OnPlayerDisconnect
#else
    #define _ALS_OnPlayerDisconnect
#endif
#define OnPlayerDisconnect OnPlayerDisconnect_pB
forward OnPlayerDisconnect_pB(playeridreason);
new const 
palavreado[][24] = {
    
"daputa""babaca""baitola""piranha""bicha""bichona""biscat""bitch""bix""boiola""boiolona""buceta""bucetudo""cuzona""bund""burr""fude""cacet""viad",
    
"caral""vadi""carai""rola""chup""idiot""corno""nocu""eucu""ocu""cusa""cusi""cuza""cuzinho""piroca""embecil""fdp""foda""fode""fuck""fud"
    
"hetard""homo""imbess""jegu""kacet""karai""karaleo""kct""kral""krl""noku""lasarent""lazarent""mula""otari""pnc""pereb""penis""pint""prosti",
    
"punhet""put""retardado""tnc""viad""viadi""vsf""vtnc""sobe""vogelz""baranga""vagab""broxa""ignorant""comed""ejacu""prosti""cachorr""surub""peni",
    
"chup""pau""viad""perere""bucet""bicha""bixa""gay""desgra""troxa""tomanocu""seucu"
};
public 
OnPlayerText(playeridtext[]) {
    
/*--------------------------------------------------
    *
    *  Anti Publicaзгo de IP Inteligente
    *   Usando OnPlayerText com manipulaзгo de strings e outros
    *   A precisгo deste sistema estб em torno de 95%
    *
    * Detecta: 127.0.0.1 | 1 2    7 .   0  0 1 etc
    -------------------------------------------------*/
    
static sText_pB[128], bText_pB[128], nChat_pBpChat_pBj;
    
nChat_pB = -1pChat_pB = -10sText_pB bText_pB;
    for(new 
i_pBtext[i_pB]; ++i_pB) {
        if(
text[i_pB] >= '0' && '9' >= text[i_pB] || (text[i_pB] == '.' || text[i_pB] == ':')) {
            if(
text[i_pB] == '.' || text[i_pB] == ':'pChat_pB++;
            else 
nChat_pB++;
            if(
nChat_pB >= && pChat_pB >= 3) {
                
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_PUBLISH_TEXT);
                
#if defined INVALID_CHAT_BLOCK
                    
return false;
                
#else
                    
break;
                
#endif
            
}
        }
        switch(
text[i_pB]) {
            case 
'0': { sText_pB[j] = 'o'j++; continue; }
            case 
'1': { sText_pB[j] = 'i'j++; continue; }
            case 
'2': { sText_pB[j] = 'z'j++; continue; }
            case 
'3': { sText_pB[j] = 'e'j++; continue; }
            case 
'4': { sText_pB[j] = 'a'j++; continue; }
            case 
'5': { sText_pB[j] = 's'j++; continue; }
            case 
'6': { sText_pB[j] = 'g'j++; continue; }
            case 
'7': { sText_pB[j] = 't'j++; continue; }
            case 
'8': { sText_pB[j] = 'b'j++; continue; }
            case 
65 .. 9097 .. 122: { sText_pB[j++] = tolower(text[i_pB]); continue; }
        }
    }
    
/*--------------------------------------------------
    *
    *  Anti Palavreado Inteligente
    *   Usando OnPlayerText com manipulaзгo de strings e outros
    *   A precisгo deste sistema estб em torno de 85%
    *
    * Detecta: buceta, b - u c |e t-a, buc 3 7 4 etc
    -------------------------------------------------*/
    
for(new i_pB i_pB != sizeof(palavreado); ++i_pB) {
        if(
strfind(sText_pBpalavreado[i_pB], false) != -1) {
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_OFFEND_TEXT);
            
#if defined INVALID_CHAT_BLOCK
                
return false;
            
#else
                
break;
            
#endif
        
}
    }
    
/*--------------------------------------------------
    *
    *  Anti Flood
    *   Usando OnPlayerText com gettime e outros
    *   A precisгo deste sistema estб em torno de 95%
    *
    -------------------------------------------------*/
    
if((gettime() - GetPVarInt(playerid"fChat_pB")) < 3) {
        
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_FLOOD_TEXT);
        
#if defined INVALID_CHAT_BLOCK
            
return false;
        
#endif
    
}
    
SetPVarInt(playerid"fChat_pB"gettime());
    return (
OPT_pB CallLocalFunction("OnPlayerText_pB""is"playeridtext) : 1);
}
#if defined _ALS_OnPlayerText
    #undef OnPlayerText
#else
    #define _ALS_OnPlayerText
#endif
#define OnPlayerText OnPlayerText_pB
forward OnPlayerText_pB(playeridtext[]);
public 
OnPlayerDeath(playeridkilleridreason) {
    
/*--------------------------------------------------
    *
    *  Anti Fake Kill
    *   Usando OnPlayerDeath com gettime e outros
    *   A precisгo deste sistema estб dividido em partes
    *
    *  PLAYER_DEATHFLOOD_LEVEL1 -> 070%
    *  PLAYER_DEATHFLOOD_LEVEL2 -> 090%
    *  PLAYER_DEATHFLOOD_LEVEL3 -> 100%
    *
    *
    -------------------------------------------------*/
    
if(gettime() - GetPVarInt(playerid"rDeath_pB") < 20) {
        if(
GetPVarInt(playerid"rValDeath_pB") > 15) {
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_DEATHFLOOD_LEVEL1);
        }
        if(
gettime() - GetPVarInt(playerid"rDeath_pB") < 2) {
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_DEATHFLOOD_LEVEL2);
        }
        if(
gettime() - GetPVarInt(playerid"rDeath_pB") < 5) {
            if(
GetPVarInt(playerid"rValDeath_pB") > 3) {
                
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_DEATHFLOOD_LEVEL3);
            }
        }
    }
    
SetPVarInt(playerid"rDeath_pB"gettime());
    
SetPVarInt(playerid"rValDeath_pB", (GetPVarInt(playerid"rValDeath_pB") + 1));
    return (
OPD_pB CallLocalFunction("OnPlayerDeath_pB""i"playerid) : 1);
}
#if defined _ALS_OnPlayerDeath
    #undef OnPlayerDeath
#else
    #define _ALS_OnPlayerDeath
#endif
#define OnPlayerDeath OnPlayerDeath_pB
forward OnPlayerDeath_pB(playeridkilleridreason);
public 
OnVehicleMod(playeridvehicleidcomponentid) {
    if(!
GetPlayerInterior(playerid)) {
        
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_CPRACE_HACK);
    }
    return (
OVM_pB CallLocalFunction("OnVehicleMod_pB""ddd"playeridvehicleidcomponentid) : 1);
}
#if defined _ALS_OnVehicleMod
    #undef OnVehicleMod
#else
    #define _ALS_OnVehicleMod
#endif
#define OnVehicleMod OnVehicleMod_pB
forward OnVehicleMod_pB(playerid,vehicleid,componentid);
public 
OnPlayerEnterRaceCheckpoint(playerid) {
    if(
IsPlayerInAnyVehicle(playerid)) {
        if(!
getPlayerSpeed_pB(playerid)) {
            if(
GetPVarInt(playerid"cHack_pB") > 3) {
                
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_CPRACE_HACK);
                
SetPVarInt(playerid"cHack_pB"0);
            }
            
SetPVarInt(playerid"cHack_pB", (GetPVarInt(playerid"cHack_pB") + 1));
        }
    }
    return (
OPERCP_pB CallLocalFunction("OnPlayerEnterRaceCP_pB""i"playerid) : 1);
}
#if defined _ALS_OnPlayerEnterRaceCP
    #undef OnPlayerEnterRaceCheckpoint
#else
    #define _ALS_OnPlayerEnterRaceCP
#endif
#define OnPlayerEnterRaceCheckpoint OnPlayerEnterRaceCP_pB
forward OnPlayerEnterRaceCP_pB(playerid);
public 
OnPlayerUpdate(playerid) {
    if(!
IsPlayerNPC(playerid)) {
        if(
GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
            
/*--------------------------------------------------
            *
            *  Anti Speed Hack
            *   Usando GetPlayerSpeedANTIHACK com variбveis
            *   A precisгo deste sistema fica em torno de 100%
            *
            -------------------------------------------------*/
            
if(GetPVarInt(playerid"cSpeedTemp_pB")) {
                if((
gettime() - GetPVarInt(playerid"cSpeedTemp_pB")) > 1) {
                    
TogglePlayerControllable(playeridtrue);
                    
SetPVarInt(playerid"cSpeedTemp_pB"0);
                }
            }
            if(
getPlayerSpeed_pB(playerid) > 260) {
                if((
gettime() - vVelocity_pB[GetPlayerVehicleID(playerid)]) > 10) {
                    
TogglePlayerControllable(playeridfalse);
                    
SetPVarInt(playerid"cSpeedTemp_pB"gettime());
                    return 
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_SPEED_HACK), true;
                }
            }
            
/*--------------------------------------------------
            *
            *  Anti Spider Car
            *   Usando GetVehicleRotationQuat
            *   A precisгo deste sistema fica em torno de 75%
            *
            -------------------------------------------------*/
            
static FloatfW_pBFloatfX_pBFloatfY_pBFloatfZ_pB;
            
GetVehicleRotationQuat(GetPlayerVehicleID(playerid), fW_pBfX_pBfY_pBfZ_pB);
            
fW_pB atan2(* ((fY_pB fZ_pB) + (fX_pB fW_pB)), (-(fX_pB fX_pB) - (fY_pB fY_pB) + (fZ_pB fZ_pB) + (fW_pB fW_pB)));
            
// OBS: Inclinaзгo de 5 graus. Construзхes mais inclinadas podem
            // fazer o veнculo inclinar mais. Mas para evitar falsos reports deixe mais ou menos este valor
            
if((85.0 fW_pB 90.0) || (-85.0 fW_pB > -90.0)) {
                
SetPVarInt(playerid"sCar_pB", (GetPVarInt(playerid"sCar_pB") + 1));
                if(
GetPVarInt(playerid"sCar_pB") > 40) {
                    
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_SPIDER_HACK);
                    
SetPVarInt(playerid"sCar_pB"0);
                }
            }
        }
        
        
/*--------------------------------------------------
        *
        *  Anti Health/Armour Hack
        *   Usando GetPlayer(Health/Armour) com variбveis server sided
        *   A precisгo deste sistema fica em torno de 100%
        *
        -------------------------------------------------*/
        
static FloatpLife_pB;
        
GetPlayerHealth(playeridpLife_pB);
        if(
pLife_pB GetPVarFloat(playerid"Health_pB")) {
            
SetPlayerHealth(playeridGetPVarFloat(playerid"Health_pB"));
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_HEALTH_HACK);
        }
        
GetPlayerArmour(playeridpLife_pB);
        if(
pLife_pB GetPVarFloat(playerid"Armour_pB")) {
            
SetPlayerArmour(playeridGetPVarFloat(playerid"Armour_pB"));
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_ARMOUR_HACK);
        }
        
/*--------------------------------------------------
        *
        *  Anti Player Bugger
        *   Usando GetPlayerPos com variбveis server sided
        *   A precisгo deste sistema fica em torno de 99%
        *   Desbuga o jogador bugado e envia mensagem aos administradores
        *
        -------------------------------------------------*/
        
static FloatfX_pBFloatfY_pBFloat:fZ_pB;
        
GetPlayerPos(playeridfX_pBfY_pBfZ_pB);
        if(
fX_pB 0xdbb9f && fY_pB 0xdbb9f && fZ_pB 0xdbb9f) {
            
SetTimerEx("verifBugger_pB"250false"i"playerid);
        }
        
/*--------------------------------------------------
        *
        *  Anti Freeze Hack
        *   Usando GetPlayerPos com variбveis server sided
        *   A precisгo deste sistema fica em torno de 90%
        *
        -------------------------------------------------
        else {
            // checar se realmente estб estб como MOVIMENTO FALSE
            if(!GetPVarInt(playerid, "PlayerControllable_pB")) {
                GetPlayerPos(playerid, fX_pB, fY_pB, fZ_pB);
                // Checar seus controle foram realmente bloqueados para diferentes de zero !
                if(GetPVarFloat(playerid, "xPosControll_pB") && GetPVarFloat(playerid, "yPosControll_pB") && GetPVarFloat(playerid, "zPosControll_pB")) {
                    if((GetPVarFloat(playerid, "xPosControll_pB") != fX_pB) ||  (GetPVarFloat(playerid, "yPosControll_pB") != fY_pB) || (GetPVarFloat(playerid, "zPosControll_pB") != fZ_pB)) {
                        CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_FREEZE_HACK);
                        // liberar jogador
                        SetPVarInt(playerid, "PlayerControllable_pB", 1);
                    }
                }
            }
            GetPlayerPos(playerid, fX_pB, fY_pB, fZ_pB);
            if(GetPVarFloat(playerid, "xPosSet_pB") != 0 && GetPVarFloat(playerid, "yPosSet_pB") != 0 && GetPVarFloat(playerid, "zPosSet_pB") != 0) {
                new Float: xDistance_pB = MAX_DISTANCE_DEF;
                fX_pB = GetPVarFloat(playerid, "xPosSet_pB") - fX_pB;
                fY_pB = GetPVarFloat(playerid, "yPosSet_pB") - fY_pB;
                fZ_pB = GetPVarFloat(playerid, "zPosSet_pB") - fZ_pB;
                if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && GetPlayerSurfingVehicleID(playerid) == INVALID_VEHICLE_ID) {
                    xDistance_pB = 7.0;
                }
                if((fX_pB > xDistance_pB || fX_pB < -xDistance_pB) || (fY_pB > xDistance_pB || fY_pB < -xDistance_pB) || (fZ_pB > xDistance_pB || fZ_pB < -xDistance_pB)) {
                    if((gettime() - GetPVarInt(playerid, "tPosSet_pB")) > 3 && GetPVarInt(playerid, "Spawned_pB")) {
                        GetPlayerPos(playerid, fX_pB, fY_pB, fZ_pB);
                        SetTimerEx("checkPos_pB", 500, false, "ifff", playerid, fX_pB, fY_pB, fZ_pB);
                    }
                }
            }
            GetPlayerPos(playerid, fX_pB, fY_pB, fZ_pB);
            SetPVarFloat(playerid, "xPosSet_pB", fX_pB);
            SetPVarFloat(playerid, "yPosSet_pB", fY_pB);
            SetPVarFloat(playerid, "zPosSet_pB", fZ_pB);
        }
        */
        /*--------------------------------------------------
        *
        *  Anti Ping Alto
        *   Usando GetPlayerScore com variбveis server sided
        *   A precisгo deste sistema fica em torno de 90%
        *
        -------------------------------------------------*/
        
if(GetPlayerPing(playerid) > MAX_PING) {
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_HIGH_PING);
        }
        
/*--------------------------------------------------
        *
        *  Anti Score Hack
        *   Usando GetPlayerScore com variбveis server sided
        *   A precisгo deste sistema fica em torno de 100%
        *
        -------------------------------------------------*/
        
if(GetPlayerScore(playerid) > GetPVarInt(playerid"rScore_pB")) {
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_SCORE_HACK);
            
SetPlayerScore(playeridGetPVarInt(playerid"rScore_pB"));
        }
        
/*--------------------------------------------------
        *
        *  Anti Money Hack
        *   Usando GetPlayerMoney com variбveis server sided
        *   A precisгo deste sistema fica em torno de 100%
        *
        -------------------------------------------------
        if(GetPlayerMoney(playerid) > GetPVarInt(playerid, "rMoney_pB")) {
            CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_MONEY_HACK);
            GivePlayerMoney(playerid, (ResetPlayerMoney(playerid), GetPVarInt(playerid, "rMoney_pB")));
        }
        */
        /*--------------------------------------------------
        *
        *  Anti Player Speed Hack
        *   Usando GetPlayerVelocity com variбveis server sided
        *   A precisгo deste sistema fica em torno de 95%
        *
        -------------------------------------------------*/
        
        
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
            
GetPlayerVelocity(playeridfX_pBfY_pBfZ_pB);
            if(
floatround(floatsqroot(floatadd(floatpower(fX_pB2), floatpower(fY_pB2))) * 200) > 100) {
                if(!(
GetPVarInt(playerid"wSpeed_pB") % 50)) {
                    
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_PSPEED_HACK);
                }
                
SetPVarInt(playerid"wSpeed_pB", (GetPVarInt(playerid"wSpeed_pB") + 1));
            }
        }
        
/*--------------------------------------------------
        *
        *  Anti Weapons Hack
        *   Usando GetPlayerWeaponData com variбveis server sided
        *   A precisгo deste sistema fica em torno de 100%
        *
        -------------------------------------------------*/
        
static wSlot_pB[2];
        for(new 
w_pBw_pB != 13; ++w_pB) {
            
GetPlayerWeaponData(playeridw_pBwSlot_pB[0], wSlot_pB[1]);
            if(
GetPVarInt(playeridgetSlotID_pB(w_pB)) != wSlot_pB[0] && wSlot_pB[0] && wSlot_pB[0] < 47) {
                
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_WEAPON_HACK);
                
SetPVarInt(playeridgetSlotID_pB(w_pB), wSlot_pB[0]);
            }
        }
        
        
/*--------------------------------------------------
        *
        *  Anti No-Reload
        *   Usando GetPlayerAmmo com variбveis server sided
        *   A precisгo deste sistema fica em torno de 100%
        *
        -------------------------------------------------*/
        
        
static pKey_pB[3];
        
GetPlayerKeys(playeridpKey_pB[0], pKey_pB[1], pKey_pB[2]);
        if(
isPlayerAiming_pB(playerid) && ((pKey_pB[0] & KEY_FIRE) == KEY_FIRE || (pKey_pB[0] & KEY_ACTION) == KEY_ACTION)) {
            if(
GetPlayerWeapon(playerid) > 15 && GetPlayerWeapon(playerid) < 43 && GetPlayerAmmo(playerid) == GetPVarInt(playeridgetSlotAmmoID_pB(getWeaponSlot_pB(GetPlayerWeapon(playerid)))) && !GetPVarInt(playerid"PlayerControllable_pB") && !IsPlayerInAnyVehicle(playerid)) {
                
SetPVarInt(playerid"kWarns_pB", (GetPVarInt(playerid"kWarns_pB") + 1));
                if(!(
GetPVarInt(playerid"kWarns_pB") % 50) && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
                    
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_NORELOAD_HACK);
                }
            }
            if(
GetPlayerWeaponState(playerid) == WEAPONSTATE_RELOADING || GetPlayerAmmo(playerid) < GetPVarInt(playeridgetSlotAmmoID_pB(getWeaponSlot_pB(GetPlayerWeapon(playerid))))) SetPVarInt(playerid"kWarns_pB"0);
            
SetPVarInt(playeridgetSlotAmmoID_pB(getWeaponSlot_pB(GetPlayerWeapon(playerid))), GetPlayerAmmo(playerid));
        }
        
/*--------------------------------------------------
        *
        *  Anti Ammo Hack
        *   Usando GetPlayerAmmo com variбveis server sided
        *   A precisгo deste sistema fica em torno de 100%
        *
        -------------------------------------------------
        if(GetPlayerWeapon(playerid) > 15 && GetPlayerWeapon(playerid) < 43) {
            if(GetPlayerAmmo(playerid) > GetPVarInt(playerid, getSlotAmmoID_pB(getWeaponSlot_pB(GetPlayerWeapon(playerid))))) {
                if(!IsPlayerInAnyVehicle(playerid)) {
                    CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_AMMO_HACK);
                }
            }
            SetPVarInt(playerid, getSlotAmmoID_pB(getWeaponSlot_pB(GetPlayerWeapon(playerid))), GetPlayerAmmo(playerid));
        }
        */
        /*--------------------------------------------------
        *
        *   Anti Fly Hack
        *   Usando Posiзхes e Animзхes.
        *   A precisгo deste sistema fica em torno de 85%
        *
        -------------------------------------------------*/
        
if(!isPlayerInWater_pB(playerid) && isPlayerUsingSwimAnim_pB(playerid)) {
            if(!(
GetPVarInt(playerid"FlyTime") % 50)) {
                
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_FLY_HACK);
                
SetPVarInt(playerid"FlyTime"0);
            }
            
SetPVarInt(playerid"FlyTime", (GetPVarInt(playerid"FlyTime") + 1));
        } else if(
isPlayerInWater_pB(playerid) && isPlayerUsingSwimAnim_pB(playerid)) {
            
SetPVarInt(playerid"FlyTime"0);
        }
        
SetPVarInt(playerid"rMoney_pB"GetPlayerMoney(playerid));
        
SetPVarInt(playerid"rScore_pB"GetPlayerScore(playerid));
    }
    return (
OPU_pB CallLocalFunction("OnPlayerUpdate_pB""i"playerid) : 1);
}
#if defined _ALS_OnPlayerUpdate
    #undef OnPlayerUpdate
#else
    #define _ALS_OnPlayerUpdate
#endif
#define OnPlayerUpdate OnPlayerUpdate_pB
forward OnPlayerUpdate_pB(playerid);
public 
OnPlayerStateChange(playeridnewstateoldstate) {
    
/*--------------------------------------------------
    *
    *  Anti State Hack
    *   Usando OnPlayerStateChange com gettime
    *   A precisгo deste sistema fica em torno de 95%
    *
    -------------------------------------------------*/
    
if(newstate == PLAYER_STATE_DRIVER) {
        if((
gettime() - GetPVarInt(playerid"rState_pB")) < && (gettime() - GetPVarInt(playerid"tPosSet_pB")) > 3) {
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_STATE_HACK);
        }
        
SetPVarInt(playerid"rState_pB"gettime());
    }
    
SetPVarInt(playerid"sCar_pB"0);
    return (
OPSC_pB CallLocalFunction("OnPlayerStateChange_pB""idi"playeridnewstateoldstate) : 1);
}
#if defined _ALS_OnPlayerStateChange
    #undef OnPlayerStateChange
#else
    #define _ALS_OnPlayerStateChange
#endif
#define OnPlayerStateChange OnPlayerStateChange_pB
forward OnPlayerStateChange_pB(playeridnewstateoldstate);
public 
OnUnoccupiedVehicleUpdate(vehicleidplayeridpassenger_seat) {
    
/*--------------------------------------------------
    *
    *  Anti Surfer Vehicle
    *   Usando OnUnoccupiedVehicleUpdate com gettime e outros
    *   A precisгo deste sistema fica em torno de 85%
    *
    -------------------------------------------------*/
    
GetVehiclePos(vehicleidvPos_pB[0], vPos_pB[1], vPos_pB[2]);
    if(
IsPlayerInRangeOfPoint(playerid1.0vPos_pB[0], vPos_pB[1], vPos_pB[2])) {
        
GetVehicleZAngle(vehicleidvPos_pB[3]);
        if(
dAngle_pB[vehicleid] != vPos_pB[3]) {
            if(!
IsPlayerInAnyVehicle(playerid)) {
                
GetPlayerPos(vehicleidvPos_pB[1], vPos_pB[1], vPos_pB[3]);
                if(
vPos_pB[3] > vPos_pB[2]) {
                    
SetPVarInt(playerid"rUAF_pB"GetPVarInt(playerid"rUAF_pB") +1);
                    if(
GetPVarInt(playerid"rUAF_pB") > 40) {
                        
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_SURF_VEHICLE);
                    }
                }
            }
        }
        
dAngle_pB[vehicleid] = vPos_pB[3];
        return 
true;
    }
    
/*--------------------------------------------------
    *
    *  Anti Teleport Vehicle
    *   Usando OnUnoccupiedVehicleUpdate com gettime e outros
    *   A precisгo deste sistema fica em torno de 85%
    *
    -------------------------------------------------
    else if(!IsPlayerInRangeOfPoint(playerid, 40.0, vPos_pB[0], vPos_pB[1], vPos_pB[2])) {
        if(!IsPlayerInAnyVehicle(playerid) && (gettime() - GetPVarInt(playerid, "tPosSet_pB") > 3) && !vRespawn_pB[vehicleid]) {
            CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_CAR_TELEPORT);
        } else if(vRespawn_pB[vehicleid]) vRespawn_pB[vehicleid] = false;
    }
    return (OUVU_pB ? CallLocalFunction("OnUnoccupiedVehicleUpdate_pB", "idi", vehicleid, playerid, passenger_seat) : 1);
}
*/
#if defined _ALS_OnUnoccupiedVehicleUpdate
    #undef OnUnoccupiedVehicleUpdate
#else
    #define _ALS_OnUnoccupiedVehicleUpdate
#endif
#define OnUnoccupiedVehicleUpdate OnUnoccupiedVehicleUpdate_pB
forward OnUnoccupiedVehicleUpdate_pB(vehicleidplayeridpassenger_seat);
pFunction checkPos_pB(iFloatfX_pBFloatfY_pBFloatfZ_pB) {
    if(
gettime() - GetPVarInt(i"aBreakSet_pB") < 10)
    return 
false;
    
/*--------------------------------------------------
    *
    *  Anti Teleport Hack
    *   Usando GetPlayerPos com variбveis server sided
    *   A precisгo deste sistema fica em torno de 95%
    *
    -------------------------------------------------*/
    
if(IsPlayerInRangeOfPoint(i2.012837fX_pBfY_pBfZ_pB)) {
        
CallLocalFunction("OnPlayerHacking""ii"iPLAYER_TELEPORT_HACK);
    }
    
/*--------------------------------------------------
    *
    *  Anti AirBreak Hack
    *   Usando GetPlayerPos e SetPlayerPos com variбveis server sided
    *   A precisгo deste sistema fica em torno de 95%
    *
    -------------------------------------------------*/
    
else {
        
CallLocalFunction("OnPlayerHacking""ii"iPLAYER_AIRBREAK_HACK);
        
SetPVarInt(i"aBreakSet_pB"gettime());
    }
    return 
true;
}
pFunction verifBugger_pB(playerid) {
    new 
FloatfX_pBFloatfY_pBFloatfZ_pB;
    
GetPlayerPos(playeridfX_pBfY_pBfZ_pB);
    if(
fX_pB 0xdbb9f && fY_pB 0xdbb9f && fZ_pB 0xdbb9fSetPlayerPos(playeridGetPVarFloat(playerid"xPosSet_pB"),  GetPVarFloat(playerid"yPosSet_pB"),  GetPVarFloat(playerid"zPosSet_pB"));
    else 
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_BUGGER_HACK);
    return 
1;
}
pFunction registerBot_pB(playerid) {
    
/*--------------------------------------------------
    *
    *  Anti DDos Bots
    *   Usando GetPlayerPing/OnPlayerConnect com gettime e outros
    *   A precisгo deste sistema estб dividido em partes
    *
    *  PLAYER_BOT_LEVEL1 -> 70%
    *  PLAYER_BOT_LEVEL2 -> 90%
    *  PLAYER_BOT_LEVEL3 -> 100%
    *
    *
    -------------------------------------------------*/
    
if(GetPlayerPing(playerid) != 0xFFFF && GetPlayerPing(playerid)  != 0SetPVarInt(playerid"jOn_pB"1);
    if(
IsPlayerConnected(playerid) && GetPlayerPing(playerid)  == 0xFFFF) {
        static 
iP_pB[20];
        
GetPlayerIp(playeridiP_pB20);
        if(
0x1c5 > (gettime() - varGet(iP_pB))) {
            
iP_pB[(strlen(iP_pB) - 1)] = 'x';
            if(
varGet(iP_pB) > 3) {
                return 
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_BOT_LEVEL3);
            }
            
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_BOT_LEVEL2);
        }
        
CallLocalFunction("OnPlayerHacking""ii"playeridPLAYER_BOT_LEVEL1);
        
SetTimerEx("registerBot_pB"700false"i" playerid);
    }
    return 
false;
}
pFunction rJogador_pB(playerid) {
    static 
iP_pB[20], connect_pB;
    
dAngle_pB[playerid] = 0;
    
GetPlayerIp(playeridiP_pB20);
    
varSet(iP_pBgettime()); ++connect_pB;
    if(
connect_pB == MAX_PLAYERS 1) {
        for(
connect_pB 0dbIP_pB[connect_pB][0]; connect_pB++) continue;
    }
    
SetTimerEx("resetBot_pB"50000false"i"connect_pB);
    
iP_pB[strlen(iP_pB)-1] = 'x';
    
format(dbIP_pB[connect_pB], 20iP_pB);
    
varSet(iP_pBvarGet(iP_pB) +1);
    
SetPVarInt(playerid"tPosSet_pB"gettime());
    return 
SetTimerEx("registerBot_pB"700false"i" playerid);
}
pFunction resetBot_pB(botid) {
    
varSet(dbIP_pB[botid], 0);
    return 
dbIP_pB[botid][0] = EOS;
}
#define GivePlayerMoney                GivePlayerMoney_pB
#define ResetPlayerMoney            ResetPlayerMoney_pB
#define SetPlayerScore                SetPlayerScore_pB
#define PutPlayerInVehicle            PutPlayerInVehicle_pB
#define SetPlayerArmour                SetPlayerArmour_pB
#define SetPlayerHealth                SetPlayerHealth_pB
#define    TogglePlayerControllable    TogglePlayerC_pB
#define    GivePlayerWeapon              GivePlayerWeapon_pB
#define    ResetPlayerWeapons          ResetPlayerWeapons_pB
#define    SetPlayerPos                  SetPlayerPos_pB
#define    SetVehiclePos                  SetVehiclePos_pB
#define    SetVehicleVelocity            SetVehicleVelocity_pB
#define    SetVehicleToRespawn            SetVehicleToRespawn_pB
forward OnPlayerHacking(playeridhackid); 
substituir a include que vocк colocou ai em cima, peguei a include < servermoneyGM > coloquei em cima da include < pbAntiCheater > deu o mesmo erro sу que mudou de include.

pawno\include\pbAntiCheater.inc(339) : warning 201: redefinition of constant/macro (symbol "OnGameModeInit")
pawno\include\pbAntiCheater.inc(1035) : warning 201: redefinition of constant/macro (symbol "GivePlayerMoney")
pawno\include\pbAntiCheater.inc(1036) : warning 201: redefinition of constant/macro (symbol "ResetPlayerMoney")

Nessa include estб definindo os mesmos sнmbolos que a ServerMoneyGM
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)