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") |
#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;
}
new Grana[MAX_PLAYERS];
stock GivePlayerMoneyEx(playerid,valor)
{
GivePlayerMoney(playerid,valor);
Grana[playerid] += valor;
return 1;
}
stock GetPlayerMoneyEx(playerid) return Grana[playerid];
#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
#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 >
////////////////////////////////////////////////////////////////////////////////
//
//
// #### ######## ###### ######## ######## ### ## ##
// ## ## ## ## ## ## ## ## ## ### ###
// ## ## ## ## ## ## ## ## #### ####
// ## ######## ###### ## ###### ## ## ## ### ##
// ## ## ## ## ## ######### ## ##
// ## ## ## ## ## ## ## ## ## ##
// #### ## ###### ## ######## ## ## ## ##
//
//
// 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 Float: vPos_pB[4],
dbIP_pB[MAX_PLAYERS][20],
Float: dAngle_pB[MAX_VEHICLES],
vVelocity_pB[MAX_VEHICLES],
bool: vRespawn_pB[MAX_VEHICLES],
bool: OPC_pB,
bool: OPS_pB,
bool: OPDI_pB,
bool: OPT_pB,
bool: OPD_pB,
bool: OVM_pB,
bool: OPERCP_pB,
bool: OPU_pB,
bool: OPSC_pB,
bool: OUVU_pB;
forward OnPlayerHacking(playerid, hackid);
#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(playerid, value) {
return SetPVarInt(playerid, "rMoney_pB", (GetPVarInt(playerid, "rMoney_pB") + value)), GivePlayerMoney(playerid, value);
}
Hook ResetPlayerMoney(playerid) {
return SetPVarInt(playerid, "rMoney_pB", 0), ResetPlayerMoney(playerid);
}
Hook SetPlayerScore(playerid, value){
return SetPVarInt(playerid, "rScore_pB", value), SetPlayerScore(playerid, value);
}
Hook PutPlayerInVehicle(playerid,vehicleid, seatid) {
return SetPVarInt(playerid, "rState_pB", (gettime() - SERVER_SIDE_DELAY)), PutPlayerInVehicle(playerid, vehicleid, seatid);
}
Hook SetVehicleVelocity(vehicleid, Float: fX_pB, Float: fY_pB, Float: fZ_pB) {
return vVelocity_pB[vehicleid] = gettime(), SetVehicleVelocity(vehicleid, fX_pB, fY_pB, fZ_pB);
}
Hook SetVehiclePos(vehicleid, Float: fX_pB, Float: fY_pB, Float: fZ_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(vehicleid, fX_pB, fY_pB, fZ_pB);
}
Hook SetPlayerPos(playerid, Float: fX_pB, Float: fY_pB, Float: fZ_pB) {
return SetPVarInt(playerid, "tPosSet_pB", gettime()), SetPlayerPos(playerid, fX_pB, fY_pB, fZ_pB);
}
Hook GivePlayerWeapon(playerid, weaponid, ammo) {
return SetPVarInt(playerid, getSlotID_pB(getWeaponSlot_pB(weaponid)), weaponid), SetPVarInt(playerid, getSlotAmmoID_pB(getWeaponSlot_pB(weaponid)), ammo), GivePlayerWeapon(playerid, weaponid, ammo);
}
Hook ResetPlayerWeapons(playerid) {
for(new i_pB; i_pB != 13; ++i_pB) SetPVarInt(playerid, getSlotID_pB(i_pB), 0);
return ResetPlayerWeapons(playerid);
}
Hook TogglePlayerC(playerid, {bool, _}: c_pB) {
if(c_pB) {
static Float: fX_pB, Float: fY_pB, Float: fZ_pB;
GetPlayerPos(playerid, fX_pB, fY_pB, fZ_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(playerid, c_pB);
return SetPVarInt(playerid, "PlayerControllable_pB_pB", _:!c_pB);
}
Hook SetPlayerHealth(playerid, Float: h_pB) {
return SetPVarFloat(playerid, "Health_pB", h_pB), SetPlayerHealth(playerid, h_pB);
}
Hook SetPlayerArmour(playerid, Float: a_pB) {
return SetPVarFloat(playerid, "Armour_pB", a_pB), SetPlayerArmour(playerid, a_pB);
}
Hook SetVehicleToRespawn(vehicleid) {
return vRespawn_pB[vehicleid] = true, SetVehicleToRespawn(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 Float: fX_pB, Float: fY_pB, Float: fZ_pB;
GetPlayerPos(playerid, fX_pB, fY_pB, fZ_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_pB, 32, aName_pB, 32);
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_pB, 12, "wHSlot%i", i), sSlot_pB;
}
getSlotAmmoID_pB(i) { // Paulor
static sSlot_pB[12];
return format(sSlot_pB, 12, "AmmoSlot%i", i), sSlot_pB;
}
getWeaponSlot_pB(w_pB) { // Paulor
if(w_pB >= 0 && w_pB < 2) return 0;
else if(w_pB > 1 && 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 > 9 && 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 Float: ST[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(playerid, 100.0);
SetPlayerArmour(playerid, 0.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(playerid, reason) {
// 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", playerid, reason) : 1);
}
#if defined _ALS_OnPlayerDisconnect
#undef OnPlayerDisconnect
#else
#define _ALS_OnPlayerDisconnect
#endif
#define OnPlayerDisconnect OnPlayerDisconnect_pB
forward OnPlayerDisconnect_pB(playerid, reason);
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(playerid, text[]) {
/*--------------------------------------------------
*
* 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_pB, pChat_pB, j;
nChat_pB = -1, pChat_pB = -1, j = 0, sText_pB = bText_pB;
for(new i_pB; text[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 >= 8 && pChat_pB >= 3) {
CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_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 .. 90, 97 .. 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_pB, palavreado[i_pB], false) != -1) {
CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_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", playerid, PLAYER_FLOOD_TEXT);
#if defined INVALID_CHAT_BLOCK
return false;
#endif
}
SetPVarInt(playerid, "fChat_pB", gettime());
return (OPT_pB ? CallLocalFunction("OnPlayerText_pB", "is", playerid, text) : 1);
}
#if defined _ALS_OnPlayerText
#undef OnPlayerText
#else
#define _ALS_OnPlayerText
#endif
#define OnPlayerText OnPlayerText_pB
forward OnPlayerText_pB(playerid, text[]);
public OnPlayerDeath(playerid, killerid, reason) {
/*--------------------------------------------------
*
* 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", playerid, PLAYER_DEATHFLOOD_LEVEL1);
}
if(gettime() - GetPVarInt(playerid, "rDeath_pB") < 2) {
CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_DEATHFLOOD_LEVEL2);
}
if(gettime() - GetPVarInt(playerid, "rDeath_pB") < 5) {
if(GetPVarInt(playerid, "rValDeath_pB") > 3) {
CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_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(playerid, killerid, reason);
public OnVehicleMod(playerid, vehicleid, componentid) {
if(!GetPlayerInterior(playerid)) {
CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_CPRACE_HACK);
}
return (OVM_pB ? CallLocalFunction("OnVehicleMod_pB", "ddd", playerid, vehicleid, componentid) : 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", playerid, PLAYER_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(playerid, true);
SetPVarInt(playerid, "cSpeedTemp_pB", 0);
}
}
if(getPlayerSpeed_pB(playerid) > 260) {
if((gettime() - vVelocity_pB[GetPlayerVehicleID(playerid)]) > 10) {
TogglePlayerControllable(playerid, false);
SetPVarInt(playerid, "cSpeedTemp_pB", gettime());
return CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_SPEED_HACK), true;
}
}
/*--------------------------------------------------
*
* Anti Spider Car
* Usando GetVehicleRotationQuat
* A precisгo deste sistema fica em torno de 75%
*
-------------------------------------------------*/
static Float: fW_pB, Float: fX_pB, Float: fY_pB, Float: fZ_pB;
GetVehicleRotationQuat(GetPlayerVehicleID(playerid), fW_pB, fX_pB, fY_pB, fZ_pB);
fW_pB = atan2(2 * ((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", playerid, PLAYER_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 Float: pLife_pB;
GetPlayerHealth(playerid, pLife_pB);
if(pLife_pB > GetPVarFloat(playerid, "Health_pB")) {
SetPlayerHealth(playerid, GetPVarFloat(playerid, "Health_pB"));
CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_HEALTH_HACK);
}
GetPlayerArmour(playerid, pLife_pB);
if(pLife_pB > GetPVarFloat(playerid, "Armour_pB")) {
SetPlayerArmour(playerid, GetPVarFloat(playerid, "Armour_pB"));
CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_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 Float: fX_pB, Float: fY_pB, Float:fZ_pB;
GetPlayerPos(playerid, fX_pB, fY_pB, fZ_pB);
if(fX_pB > 0xdbb9f && fY_pB > 0xdbb9f && fZ_pB > 0xdbb9f) {
SetTimerEx("verifBugger_pB", 250, false, "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", playerid, PLAYER_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", playerid, PLAYER_SCORE_HACK);
SetPlayerScore(playerid, GetPVarInt(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(playerid, fX_pB, fY_pB, fZ_pB);
if(floatround(floatsqroot(floatadd(floatpower(fX_pB, 2), floatpower(fY_pB, 2))) * 200) > 100) {
if(!(GetPVarInt(playerid, "wSpeed_pB") % 50)) {
CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_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_pB; w_pB != 13; ++w_pB) {
GetPlayerWeaponData(playerid, w_pB, wSlot_pB[0], wSlot_pB[1]);
if(GetPVarInt(playerid, getSlotID_pB(w_pB)) != wSlot_pB[0] && wSlot_pB[0] && wSlot_pB[0] < 47) {
CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_WEAPON_HACK);
SetPVarInt(playerid, getSlotID_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(playerid, pKey_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(playerid, getSlotAmmoID_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", playerid, PLAYER_NORELOAD_HACK);
}
}
if(GetPlayerWeaponState(playerid) == WEAPONSTATE_RELOADING || GetPlayerAmmo(playerid) < GetPVarInt(playerid, getSlotAmmoID_pB(getWeaponSlot_pB(GetPlayerWeapon(playerid))))) SetPVarInt(playerid, "kWarns_pB", 0);
SetPVarInt(playerid, getSlotAmmoID_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", playerid, PLAYER_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(playerid, newstate, oldstate) {
/*--------------------------------------------------
*
* 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")) < 2 && (gettime() - GetPVarInt(playerid, "tPosSet_pB")) > 3) {
CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_STATE_HACK);
}
SetPVarInt(playerid, "rState_pB", gettime());
}
SetPVarInt(playerid, "sCar_pB", 0);
return (OPSC_pB ? CallLocalFunction("OnPlayerStateChange_pB", "idi", playerid, newstate, oldstate) : 1);
}
#if defined _ALS_OnPlayerStateChange
#undef OnPlayerStateChange
#else
#define _ALS_OnPlayerStateChange
#endif
#define OnPlayerStateChange OnPlayerStateChange_pB
forward OnPlayerStateChange_pB(playerid, newstate, oldstate);
public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat) {
/*--------------------------------------------------
*
* Anti Surfer Vehicle
* Usando OnUnoccupiedVehicleUpdate com gettime e outros
* A precisгo deste sistema fica em torno de 85%
*
-------------------------------------------------*/
GetVehiclePos(vehicleid, vPos_pB[0], vPos_pB[1], vPos_pB[2]);
if(IsPlayerInRangeOfPoint(playerid, 1.0, vPos_pB[0], vPos_pB[1], vPos_pB[2])) {
GetVehicleZAngle(vehicleid, vPos_pB[3]);
if(dAngle_pB[vehicleid] != vPos_pB[3]) {
if(!IsPlayerInAnyVehicle(playerid)) {
GetPlayerPos(vehicleid, vPos_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", playerid, PLAYER_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(vehicleid, playerid, passenger_seat);
pFunction checkPos_pB(i, Float: fX_pB, Float: fY_pB, Float: fZ_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(i, 2.012837, fX_pB, fY_pB, fZ_pB)) {
CallLocalFunction("OnPlayerHacking", "ii", i, PLAYER_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", i, PLAYER_AIRBREAK_HACK);
SetPVarInt(i, "aBreakSet_pB", gettime());
}
return true;
}
pFunction verifBugger_pB(playerid) {
new Float: fX_pB, Float: fY_pB, Float: fZ_pB;
GetPlayerPos(playerid, fX_pB, fY_pB, fZ_pB);
if(fX_pB > 0xdbb9f && fY_pB > 0xdbb9f && fZ_pB > 0xdbb9f) SetPlayerPos(playerid, GetPVarFloat(playerid, "xPosSet_pB"), GetPVarFloat(playerid, "yPosSet_pB"), GetPVarFloat(playerid, "zPosSet_pB"));
else CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_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) != 0) SetPVarInt(playerid, "jOn_pB", 1);
if(IsPlayerConnected(playerid) && GetPlayerPing(playerid) == 0xFFFF) {
static iP_pB[20];
GetPlayerIp(playerid, iP_pB, 20);
if(0x1c5 > (gettime() - varGet(iP_pB))) {
iP_pB[(strlen(iP_pB) - 1)] = 'x';
if(varGet(iP_pB) > 3) {
return CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_BOT_LEVEL3);
}
CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_BOT_LEVEL2);
}
CallLocalFunction("OnPlayerHacking", "ii", playerid, PLAYER_BOT_LEVEL1);
SetTimerEx("registerBot_pB", 700, false, "i" , playerid);
}
return false;
}
pFunction rJogador_pB(playerid) {
static iP_pB[20], connect_pB;
dAngle_pB[playerid] = 0;
GetPlayerIp(playerid, iP_pB, 20);
varSet(iP_pB, gettime()); ++connect_pB;
if(connect_pB == MAX_PLAYERS - 1) {
for(connect_pB = 0; dbIP_pB[connect_pB][0]; connect_pB++) continue;
}
SetTimerEx("resetBot_pB", 50000, false, "i", connect_pB);
iP_pB[strlen(iP_pB)-1] = 'x';
format(dbIP_pB[connect_pB], 20, iP_pB);
varSet(iP_pB, varGet(iP_pB) +1);
SetPVarInt(playerid, "tPosSet_pB", gettime());
return SetTimerEx("registerBot_pB", 700, false, "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(playerid, hackid);
Continua o mesmo erro.
PHP код:
PHP код:
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") |