Git Product home page Git Product logo

nex-ac's People

Contributors

adrfranklin avatar continue98 avatar frenzoid avatar kashcherry avatar lashoo28 avatar loony648 avatar medzvel avatar mrucznik avatar nexiustailer avatar qqwrv-f10eq avatar retard-sonn avatar rt-2 avatar thttg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nex-ac's Issues

Only 1 warning

pawno\include\nex-ac.inc(4797) : warning 201: redefinition of constant/macro (symbol "OnPlayerPickUpDynamicPickup")

How to solve this problem, please help me.
I solved all errors and warnings but this i can not.
Thank you if you can help me :) <3

Bug with OnPlayerGiveDammage

v1.9.27
Hi,
C:\xampp\htdocs\lsmem\pawno\include\nex-ac.inc(3097) : warning 202: number of arguments does not match definition
C:\xampp\htdocs\lsmem\pawno\include\nex-ac.inc(3111) : error 025: function heading differs from prototype
with :
#include <a_samp>
#include <a_mysql>
#include <YSI\y_hooks>
#include
#include
#include
#include
#include
#include

how i can fix this ?
thanks

Недоработки

Античит очень слабо ловит читера при изменение гравитации, т.е читер может изменять гравитацию и прыгать высоко.
А так же не кикает если бежишь с увеличенной скоростью игры. Но если прыгнешь 1 раз то сразу кикает.

acSet not defined

There is no documentation about acSet, it is an array of 15, but I cannot know what is inside.
I need to work with [0]. [12] and [14] because they are part of the anti-interior hack, and the anti-interior hack is bugged.
But I would like to know what I am working with.

What is all the information stored in acSet please?
Thank you,

Kicked for removing jetpack

If you equip the jet-pack, then press the ENTER/EXIT button, the jet-pack drops on the ground, but the anti-cheat detects this as a 018.
Thank you,
rt-2

warning 200: symbol truncated to 31 characters

Привет, тут у тебя ошибочки, идет более 31 символа в названии, исправь в дальнейшем. =)
nex-ac.inc(5998) : warning 200: symbol "_ALS_OnPlayerEnterRaceCheckpoin" is truncated to 31 characters nex-ac.inc(6035) : warning 200: symbol "_ALS_OnPlayerLeaveRaceCheckpoin" is truncated to 31 characters nex-ac.inc(6076) : warning 200: symbol "_ALS_OnPlayerClickPlayerTextDra" is truncated to 31 characters nex-ac.inc(6117) : warning 200: symbol "_ALS_OnVehicleDamageStatusUpdat" is truncated to 31 characters nex-ac.inc(6202) : warning 200: symbol "_ALS_OnPlayerSelectDynamicObjec" is truncated to 31 characters

Kicked for Flood (cross-public)

Reason: 49(27).
It started happening since 19.25,
It happens while players are driving.
It does it while driving fats (I think), and it does it for 10-20 seconds.
I will provide more information if I see more
Thank you,
rt-2

Run time error 6: "Invalid instruction" in public OnPlayerConnect ()

Hi, so I recently updated and got this error:

[09/11/2017 11:28:34] [connection] incoming connection: 96.22.69.173:62426 id: 1
[09/11/2017 11:28:36] [join] Yanick_Coulombe has joined the server (1:96.22.69.173)
[09/11/2017 11:28:36] [debug] Run time error 6: "Invalid instruction"
[09/11/2017 11:28:36] [debug]  Unknown opcode 0x78000000 at address 0x00000005
[09/11/2017 11:28:36] [debug] AMX backtrace:
[09/11/2017 11:28:36] [debug] #0 00000000 in public OnPlayerConnect ()

with this gamemode, but it seems to only do the error when the second player connects:

#include <a_samp>
#include <YSI\y_hooks>
#include <nex-ac>
main() { }

Everything seems to work normally after that...
Thank you,
rt-2

Anti Ammo Hack

Hi,

There's problem with anti ammo hack (detonator). When I have 50x "Satchel Charge" and I drop 5 bombs I get detonator - it's okay. But when I detonate the bombs I have still detonator because I have still 45x "Satchel Charge" but AC kick me for ammo hack (add) [detonator].

In simplicity: When I have still "Stachel" detonator doesn't remove after use.

Cheers

Many false positives

Hi. I use Nex-AС on my Stage RolePlay server with an online 200-300. Maybe I incorrectly connected something, but when I first started on the main server, I got a lot of false positives. I configured and made changes the anti-cheat to bring it to a more or less stable state. But until now some false positives are still available and the setting here will not help. I do not want to change the source code much, because it will cause problems with the update.

I can constantly provide detailed logs for false positives to help with the correction. It seems to me that the developer of this anticheat is Russian and that's why I propose to contact me on ВКонтакте (vk.com/kot_brain).

If not, I can create themes here, but it's not very convenient for me.

New kick for teleport on foot since 1.9.26

Hi,
Since I updated to 1.9.26 from 1.9.25, sometimes my players get kicked for "TP hack (on foot)" when connecting.
Here is some samples:

[17/07/2017 10:57:54] [LOGIN]: Spawning [1]saif_ibrahim(3) at position x:2348.164062, y:-1621.695678, z:12.640971, i:0 with skin 30
[17/07/2017 10:57:59] [Nex-AC debug] Distance: 900.133178, pos z: 12.640971
[17/07/2017 10:57:59] [Nex-AC] Suspicious player, ID 3. Reason code: 002 (2)
[17/07/2017 10:57:59] [NEXT-AC]: ac_OnCheatDetected(playerid:3, ip_address:, type:0, code:2) called.
[17/07/2017 10:57:59] [NAC]: Packet loss: 8.73; Tick Diff: 484/1000; Server rate:137
[17/07/2017 10:57:59] [ADMIN]: saif_ibrahim(3) have been kicked for "Teleport hack (onfoot) (ACV4: NA002)"
[17/07/2017 06:28:02] [LOGIN]: Spawning [0]Joao_Lopes(0) at position x:455.279724, y:1403.041137, z:1084.307983, i:2 with skin 24
[17/07/2017 06:28:03] [Nex-AC debug] Distance: 4509.151367, pos z: 1084.307983
[17/07/2017 06:28:03] [Nex-AC] Suspicious player, ID 0. Reason code: 002 (2)
[17/07/2017 06:28:03] [NEXT-AC]: ac_OnCheatDetected(playerid:0, ip_address:, type:0, code:2) called.
[17/07/2017 06:28:03] [NAC]: Packet loss: 2.19; Tick Diff: 107/1000; Server rate:173
[17/07/2017 06:28:03] [ADMIN]: Joao_Lopes(0) have been kicked for "Teleport hack (onfoot) (ACV4: NA002)"
[16/07/2017 19:36:12] [LOGIN]: Spawning [0]Joao_Lopes(2) at position x:2522.911865, y:-1498.821166, z:23.570447, i:0 with skin 24
[16/07/2017 19:36:13] [Nex-AC debug] Distance: 1027.552978, pos z: 23.570447
[16/07/2017 19:36:13] [Nex-AC] Suspicious player, ID 2. Reason code: 002 (2)
[16/07/2017 19:36:13] [NEXT-AC]: ac_OnCheatDetected(playerid:2, ip_address:, type:0, code:2) called.
[16/07/2017 19:36:13] [NAC]: Packet loss: 9.04; Tick Diff: 770/1000; Server rate:125
[16/07/2017 19:36:13] [ADMIN]: Joao_Lopes(2) have been kicked for "Teleport hack (onfoot) (ACV4: NA002)"
[16/07/2017 13:14:41] [LOGIN]: Spawning [0]Mind_Blaster(2) at position x:2475.700439, y:-1667.505371, z:13.066169, i:0 with skin 37
[16/07/2017 13:14:42] [Nex-AC debug] Distance: 855.106140, pos z: 13.322867
[16/07/2017 13:14:42] [Nex-AC] Suspicious player, ID 2. Reason code: 002 (2)
[16/07/2017 13:14:42] [NEXT-AC]: ac_OnCheatDetected(playerid:2, ip_address:, type:0, code:2) called.
[16/07/2017 13:14:42] [NAC]: Packet loss: 0.00; Tick Diff: 894/1000; Server rate:169
[16/07/2017 13:14:42] [ADMIN]: Mind_Blaster(2) have been kicked for "Teleport hack (onfoot) (ACV4: NA002)"

Sometimes, people cannot reconnect, it just keep and keep kicking them. One player said it happened when a player would connect at the same position than a vehicle, therefore teleporting him over the vehicle. But it happened to me once when I connected and I was not near a vehicle.
I tried to check the difference between the two version, but didn't find myself.
Thank you,
rt-2

[bugfix]: OnPlayerClickPlayerTextDraw should return 0 by default

In Nex-AC/src/v1.9/v1.9.22/r2/nex-ac.inc ,
Starting at line 6091

	if(ACInfo[playerid][acKicked]) return 0;
	new ac_i = GetTickCount();
	if(ACInfo[playerid][acACAllow][49])
	{
		if(ac_i < ACInfo[playerid][acCall][23] + ac_Mtfc[23][0]) return ac_FloodDetect(playerid, 23);
		if(ac_i < ACInfo[playerid][acCall][27] + ac_Mtfc[27][0]) ac_FloodDetect(playerid, 27);
		else ACInfo[playerid][acFloodCount][23] = ACInfo[playerid][acFloodCount][27] = 0;
	}
	ACInfo[playerid][acCall][27] = ACInfo[playerid][acCall][23] = ac_i;
	#if !defined _inc_y_hooks && !defined _INC_y_hooks\
		&& defined ac_OnPlayerClickPlayerTextDraw
		return ac_OnPlayerClickPlayerTextDraw(playerid, playertextid);
	#else
		return 1;
	#endif

Should be :

	if(ACInfo[playerid][acKicked]) return 1;
	new ac_i = GetTickCount();
	if(ACInfo[playerid][acACAllow][49])
	{
		if(ac_i < ACInfo[playerid][acCall][23] + ac_Mtfc[23][0]) return ac_FloodDetect(playerid, 23);
		if(ac_i < ACInfo[playerid][acCall][27] + ac_Mtfc[27][0]) ac_FloodDetect(playerid, 27);
		else ACInfo[playerid][acFloodCount][23] = ACInfo[playerid][acFloodCount][27] = 0;
	}
	ACInfo[playerid][acCall][27] = ACInfo[playerid][acCall][23] = ac_i;
	#if !defined _inc_y_hooks && !defined _INC_y_hooks\
		&& defined ac_OnPlayerClickPlayerTextDraw
		return ac_OnPlayerClickPlayerTextDraw(playerid, playertextid);
	#else
		return 0;
	#endif

Default value for function OnPlayerClickPlayerTextDraw is 0 not 1.

Thank you,
rt-2

y_hook for YSI 4.0++

This anticheat not using y_hook when we use YSI 4.0

_inc_y_hooks

isn't working anymore for YSI 4.0 i do this simple test:

public OnGameModeInit()
{
    #if defined _INC_y_hooks
    print("y_hook used 0 ");
    #endif
    #if defined _inc_y_hooks
    print("y_hook used 1 ");
    #endif
    return 1;
}

It only print y_hook used 0. so you need add _INC_y_hooks too if statement, and dont remove _inc_y_hook because it is still useful for YSI 3.0 ( most people still using it ).

Sorry for my bad grammar, i have no time for correct it, and sorry not create it in pull request section, i have no time to write it.

for make sure you can test it. ( using YSI : https://github.com/Misiur/YSI-Includes )

Баг

Код 49, если в лодке быстро садиться и вставать с водительского места.

[bugfix]: OnPlayerClickTextDraw should return 0 by default

In Nex-AC/src/v1.9/v1.9.22/r2/nex-ac.inc ,
Starting at line 4508

	if(ACInfo[playerid][acKicked]) return 0;
	new ac_i = GetTickCount();
	if(ACInfo[playerid][acACAllow][49])
	{
		if(ac_i < ACInfo[playerid][acCall][4] + ac_Mtfc[4][0]) return ac_FloodDetect(playerid, 4);
		if(ac_i < ACInfo[playerid][acCall][27] + ac_Mtfc[27][0]) ac_FloodDetect(playerid, 27);
		else ACInfo[playerid][acFloodCount][4] = ACInfo[playerid][acFloodCount][27] = 0;
	}
	ACInfo[playerid][acCall][27] = ACInfo[playerid][acCall][4] = ac_i;
	#if !defined _inc_y_hooks && !defined _INC_y_hooks\
		&& defined ac_OnPlayerClickTextDraw
		return ac_OnPlayerClickTextDraw(playerid, clickedid);
	#else
		return 1;
	#endif

Should be :

	if(ACInfo[playerid][acKicked]) return 1;
	new ac_i = GetTickCount();
	if(ACInfo[playerid][acACAllow][49])
	{
		if(ac_i < ACInfo[playerid][acCall][4] + ac_Mtfc[4][0]) return ac_FloodDetect(playerid, 4);
		if(ac_i < ACInfo[playerid][acCall][27] + ac_Mtfc[27][0]) ac_FloodDetect(playerid, 27);
		else ACInfo[playerid][acFloodCount][4] = ACInfo[playerid][acFloodCount][27] = 0;
	}
	ACInfo[playerid][acCall][27] = ACInfo[playerid][acCall][4] = ac_i;
	#if !defined _inc_y_hooks && !defined _INC_y_hooks\
		&& defined ac_OnPlayerClickTextDraw
		return ac_OnPlayerClickTextDraw(playerid, clickedid);
	#else
		return 0;
	#endif

Default value for function OnPlayerClickTextDraw is 0 not 1.

Thank you,
rt-2

y_hooks issue

Directory\pawno\include\nex-ac.inc(2690) : error 021: symbol already defined: "@yH_OnGameModeInit@002"
Directory\pawno\include\nex-ac.inc(2694) : error 021: symbol already defined: "@yH_OnGameModeInit@002"
Directory\pawno\include\nex-ac.inc(2741) : error 021: symbol already defined: "@yH_OnGameModeExit@002"
Directory\pawno\include\nex-ac.inc(2745) : error 021: symbol already defined: "@yH_OnGameModeExit@002"
Directory\pawno\include\nex-ac.inc(2778) : error 021: symbol already defined: "@yH_OnPlayerConnect@002"
Directory\pawno\include\nex-ac.inc(2782) : error 021: symbol already defined: "@yH_OnPlayerConnect@002"
Directory\pawno\include\nex-ac.inc(2884) : error 021: symbol already defined: "@yH_OnPlayerDisconnect@002"
Directory\pawno\include\nex-ac.inc(2888) : error 021: symbol already defined: "@yH_OnPlayerDisconnect@002"

[bug] PutPlayerInVehicle

После использования PutPlayerInVehicle
В данном транспорте HP устанавливается на 0 и срабатывает естественно античит:

[Nex-AC debug] AC veh health: 0.000000, veh health: 1000.000000, vehicleid: ????, playerid: 0

Тестировалось на дефолтном grandlarc.pwn

UPD: работает не только с PutPlayerInVehicle, если сесть просто в машину - HP тоже на 0 ставит.
Если через пару секунд сесть в тоже самое авто, хп не изменяется.
P.S. Машины созданы через AddStaticVehicleEx

Video: https://youtu.be/TJsJ-FAinuU

Anti Teleport Bug

Hi,

I have problem with SetPlayerPos. ac_SetPlayerPos is hooked great.

serverlog: 
[12:23:30] 0, 2003.117797, 1015.194824, 33.007999
[12:23:30]  [Nex-AC] Suspicious player, ID 0. Reason code: 000��

Positions are just debug if hook works.

ac_fpublic: ac_SetPlayerPos(playerid, Float:x, Float:y, Float:z)
{
    printf("%d, %f, %f, %f", playerid, x, y, z);

So it's hooked but I will be kicked after SetPlayerPos

Cheers, @NexiusTailer

Modular Gamemode

Hello, I post question on SA-MP forum but no body replies :D never mind, I am using modular gamemode, in which I am using OnPlayerSpawn in separate module. But when I respawn after death I got kicked out for Ammo hack (infinity), I tried to include anticheat into module but no result, still same issue, so now I am asking is nex-ac working on modular gamemodes?

GivePlayerMoney not working in OnPlayerSpawn?

Hello, I made this gamemode to test:

//
// Nex-Ac Test Script #3 (GivePlayerMoney not working)
//      by: rt-2
//      date: 2017-05-06
//
//This script will fail to give you your money when spawning (using GivePlayerMoney)
//

// Main Libraries
#include <a_samp>
#include <crashdetect>

//Anticheat
#include <nex-ac>

public OnGameModeInit()
{

	SetGameModeText("Test Script");
	AddPlayerClass(random(100), 1757.00, -1946.00, 13.56, 360.00, 0, 0, 0, 0, 0, 0);


	return 1;
}

public OnPlayerSpawn(playerid)
{
	GivePlayerMoney(playerid, 1337);
	return 1;
}

main()
{
	print("\n----------------------------------");
	printf(" 'Nex-Ac Test Script' by rt-2 ");
	print("----------------------------------\n");
}

And the player receive the money briefly, but then it goes away, unfortunately I do not have time to investigate this, as I am currently investigating a possible bug with tuning.
Tell me if you have the bug also?
Thank you,
rt-2

#03 Anti-teleport hack (in vehicle)

Hi,

I find bug. When someone is in vehicle and I teleport his somewhere without vehicle he will be kicked. Reason "#3 Anti-teleport hack (in vehicle)"

Solution: in ac_SetPlayerPos add check if player is in vehicle or just reset variable with saved vehicleid.

Cheers @NexiusTailer

Ошибки 1.9.20

pawno\include\nex-ac.inc(227) : error 020: invalid symbol name ""
pawno\include\nex-ac.inc(227) : error 001: expected token: ";", but found "const"
pawno\include\nex-ac.inc(282) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(290) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(297) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(310) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(327) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(337) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(484) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(492) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(502) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(511) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(527) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(608) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(684) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(690) : error 010: invalid function or declaration
pawno\include\nex-ac.inc(887) : warning 219: local variable "ac_i" shadows a variable at a preceding level
pawno\include\nex-ac.inc(889) : error 017: undefined symbol "ac_wModel"
pawno\include\nex-ac.inc(889) : warning 215: expression has no effect
pawno\include\nex-ac.inc(889) : error 001: expected token: ";", but found "]"
pawno\include\nex-ac.inc(889) : error 029: invalid expression, assumed zero
pawno\include\nex-ac.inc(889) : fatal error 107: too many error messages on one line

В 1.9.13 такого не было

Filterscript

Anti-cheater does not work in Filterscript?

I switched to filterscript, but it does not seem to load.

I did this in filterscript but when compiling, the FS did not exceed 152kb

#include <streamer>
#include <foreach>
#include <YSI\y_utils>
#include <YSI\y_va>
#include <YSI\y_timers>
#include <YSI\y_hooks>

#define FILTERSCRIPT

#include <nex-ac>

Anti-Invisible hack detected with a non conventionnal connection script.

TO TEST:
next-ac_test-rt2.pwn:

//
// Nex-Ac Test Script #5(Anti-Invisible hack detected with a non conventionnal connection script)
//      by: rt-2
//      date: 2017-05-19
//
//This script will kick you if you
//      connect to the server.

// Main Libraries
#include <a_samp>
#include <crashdetect>

#include <nex-ac>

#include <YSI\y_timers>

#include <SKY>
#include <weapon-config>
#include <YSF>

public OnGameModeInit()
{

	SetGameModeText("Test Script");

	return 1;
}
public OnPlayerConnect(playerid)
{
	SetSpawnInfo(playerid, NO_TEAM, 252, 1757.00, -1946.00, 13.56, 0, 0, 0, 0, 0, 0, 0);
	SpawnPlayer(playerid);
	defer AnotherFunction(playerid);
	return 1;
}

public OnPlayerSpawn(playerid)
{
	SetPlayerPos(playerid, 1757.00, -1946.00, 13.56);
	return 1;
}

timer AnotherFunction[333](playerid)
{
	TogglePlayerSpectating(playerid, 1);
	SetCameraBehindPlayer(playerid);
	InterpolateCameraPos(playerid, 2161.4900, -964.5700, 114.8100, 2161.4900, -964.5700, 114.8100, 1000, CAMERA_MOVE);
	InterpolateCameraLookAt(playerid, 2160.6804, -965.1769, 114.6250, 2160.6804, -965.1769, 114.6250, 1000, CAMERA_MOVE);
	return 1;
}

main()
{
	print("\n----------------------------------");
	printf(" 'Nex-Ac Test Script' by rt-2 ");
	print("----------------------------------\n");
}

server.cfg:

echo Executing Server Config...
lanmode 0
rcon_password 1337
maxplayers 170
port 7778
hostname [SAARP] SA-MP 0.3 Test Server
plugins crashdetect SKY YSF
gamemode0 next-ac_test-rt2 1
filterscripts
announce 0
chatlogging 0
weburl www.sa-mp.com
onfoot_rate 40
incar_rate 40
weapon_rate 40
stream_distance 300.0
stream_rate 1000
maxnpc 120
logtimeformat [%H:%M:%S]
language English

I understand that you don't want to guarantee compatibility with weapon-config, but is there a way I could modify something?
Thank you,
rt-2

Причина кика.

Как-то давно видел сообщение на форуме где ты объяснял парню как изменить причину кика, тоесть было так: Вы были кикнуты по причине #31, но после что-бы было так: Вы были кикнуты по причине Fly Hack (#31) - ну или т.п. Как-же это сделать?
Надеюсь ты понял мою мысль...

could?

Could you do an anti-airbreak for those versions where the speed of the player always returns to 0.0? Example on S0beit Slono Boyko when using AirBreak, GetPlayerVelocity returns to 0.0

Compiler error

nex-ac.inc(2683) : error 021: symbol already defined: "@yH_OnGameModeInit@024"
nex-ac.inc(3440) : error 021: symbol already defined: "@yH_OnPlayerUpdate@024"
nex-ac.inc(4506) : error 021: symbol already defined: "@yH_OnPlayerKeyStateChange@024"

[bugfix]: OnDialogResponse should return 0 by default

In Nex-AC/src/v1.9/v1.9.22/r2/nex-ac.inc ,
Starting at line 3122

	if(ACInfo[playerid][acKicked]) return 0;
	new ac_i = GetTickCount();
	if(ACInfo[playerid][acACAllow][49])
	{
		if(ac_i < ACInfo[playerid][acCall][0] + ac_Mtfc[0][0]) ac_FloodDetect(playerid, 0);
		else if(ac_i < ACInfo[playerid][acCall][27] + ac_Mtfc[27][0]) ac_FloodDetect(playerid, 27);
		else ACInfo[playerid][acFloodCount][0] = ACInfo[playerid][acFloodCount][27] = 0;
	}
	if(ACInfo[playerid][acACAllow][39] && dialogid != ACInfo[playerid][acDialog])
	{
		#if defined DEBUG
			printf("[Nex-AC debug] AC dialog: %d, dialogid: %d", ACInfo[playerid][acDialog], dialogid);
		#endif
		#if defined OnCheatDetected
			ac_KickWithCode(playerid, "", 0, 39);
		#else
			return ac_KickWithCode(playerid, "", 0, 39);
		#endif
	}
	ACInfo[playerid][acDialog] = -1;
	ACInfo[playerid][acCall][27] = ACInfo[playerid][acCall][0] = ac_i;
	if(ACInfo[playerid][acACAllow][45])
	{
		for(ac_i = strlen(inputtext) - 1; ac_i > -1; --ac_i)
		{
			if(inputtext[ac_i] == '%') strdel(inputtext, ac_i, ac_i + 1);
		}
	}
	#if !defined _inc_y_hooks && !defined _INC_y_hooks\
		&& defined ac_OnDialogResponse
		return ac_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
	#else
		return 1;
	#endif

Should be :

	if(ACInfo[playerid][acKicked]) return 1;
	new ac_i = GetTickCount();
	if(ACInfo[playerid][acACAllow][49])
	{
		if(ac_i < ACInfo[playerid][acCall][0] + ac_Mtfc[0][0]) ac_FloodDetect(playerid, 0);
		else if(ac_i < ACInfo[playerid][acCall][27] + ac_Mtfc[27][0]) ac_FloodDetect(playerid, 27);
		else ACInfo[playerid][acFloodCount][0] = ACInfo[playerid][acFloodCount][27] = 0;
	}
	if(ACInfo[playerid][acACAllow][39] && dialogid != ACInfo[playerid][acDialog])
	{
		#if defined DEBUG
			printf("[Nex-AC debug] AC dialog: %d, dialogid: %d", ACInfo[playerid][acDialog], dialogid);
		#endif
		#if defined OnCheatDetected
			ac_KickWithCode(playerid, "", 0, 39);
		#else
			return ac_KickWithCode(playerid, "", 0, 39);
		#endif
	}
	ACInfo[playerid][acDialog] = -1;
	ACInfo[playerid][acCall][27] = ACInfo[playerid][acCall][0] = ac_i;
	if(ACInfo[playerid][acACAllow][45])
	{
		for(ac_i = strlen(inputtext) - 1; ac_i > -1; --ac_i)
		{
			if(inputtext[ac_i] == '%') strdel(inputtext, ac_i, ac_i + 1);
		}
	}
	#if !defined _inc_y_hooks && !defined _INC_y_hooks\
		&& defined ac_OnDialogResponse
		return ac_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
	#else
		return 0;
	#endif

Default value for function OnDialogResponse is 0 not 1.

Thank you,
rt-2

Kicked for "[003] Teleport hack (in vehicle)"

So for a few time I saw a lot of "[003] Teleport hack (in vehicle)" kicks.
Today I was with one of my bus driver doing a training a he got kicked while driving the bus normally.
Here is the debug prints:

[25/05/2017 18:03:38] [Nex-AC debug] Distance: 17.277877, old pos diff: 3.964201, vehicleid: 167
[25/05/2017 18:03:38] [Nex-AC] Suspicious player, ID 1. Reason code: 003 (2)
[25/05/2017 18:03:38] [NEXT-AC]: ac_OnCheatDetected(playerid:1, ip_address:, type:0, code:3) called.

I could give more prints, a lot of 'good players' are kicked a lot for that but those are unverified.
Thank you,
rt-2

redefinition and prototype differ

F:\Works\Serevr\pawn-editor\include\nex-ac.inc(2332) : warning 201: redefinition of constant/macro (symbol "RepairVehicle")
F:\Works\Serevr\pawn-editor\include\nex-ac.inc(4660) : warning 202: number of arguments does not match definition
F:\Works\Serevr\pawn-editor\include\nex-ac.inc(4674) : error 025: function heading differs from prototype
F:\Works\Serevr\pawn-editor\include\nex-ac.inc(6029) : warning 201: redefinition of constant/macro (symbol "OnVehicleDamageStatusUpdate")

these are the errors coming up
i have took the 1.9.27 version nex-ac

Run time errors in ac_Timer

Hi,
I get this kind of often I don,t know why :

[23/06/2017 23:19:57] [debug] Run time error 4: "Array index out of bounds"
[23/06/2017 23:19:57] [debug] AMX backtrace:
[23/06/2017 23:19:57] [debug] #0 00061050 in public ac_Timer (0) from SAarp.amx

Sorry for the lack of information.
Thank you,
rt-2

Probem with 2 computer with same IP.

Hi,
I normally test my server with 2 computer at the same time, a laptop, and my desktop.
I obviously deactivated "40 Protection from the sandbox".
Once including Nex-AC, I started having problems when using more than one player. Notably, when I connect a character from computer 1, then I connect another character with computer 2, when I disconnect computer 2, both loses connection.

Thank you,
rt-2

Question

Is it possible to extract Anti-Airbreak from this include? I just need him :(

Kicking for Health Hack because of weapon-config.inc

I'm using weapon-config include. And it has it's own health system. So Nex-AC is kicking me for health hack. How can i fix this or disable health hack protection?
(I already tried setting 0 to 12. and 13. options in nex-ac_settings.cfg. But it didn't work)

JetPack

Вышел новый чит с JetPack-ом, затестил у себя на сервере, на версий античита 1.9.13, не кикает.
На этом видео всё показано: https://www.youtube.com/watch?v=jNwANBUAKNo

2nd Passenger of a wagon gets kicked

The maximum player per vehicle is not adapted for the train wagon (model 570).
I wanted to fix it by myself but I can't understand the functioning of 'ac_MaxPassengers'
Thank you,
rt-2

[bugfix]: OnPlayerTakeDamage should return 0 by default

In Nex-AC/src/v1.9/v1.9.22/r2/nex-ac.inc ,
Starting at line 3059

	if(ACInfo[playerid][acKicked]) return 0;
	ACInfo[playerid][acDeathRes] = true;
	#if !defined _inc_y_hooks && !defined _INC_y_hooks\
		&& defined ac_OnPlayerTakeDamage
		return ac_OnPlayerTakeDamage(playerid, issuerid, amount, weaponid, bodypart);
	#else
		return 1;
	#endif

Should be :

	if(ACInfo[playerid][acKicked]) return 1;
	ACInfo[playerid][acDeathRes] = true;
	#if !defined _inc_y_hooks && !defined _INC_y_hooks\
		&& defined ac_OnPlayerTakeDamage
		return ac_OnPlayerTakeDamage(playerid, issuerid, amount, weaponid, bodypart);
	#else
		return 0;
	#endif

Default value for function OnPlayerTakeDamage is 0 not 1.

Thank you,
rt-2

100 NPC cause player to be kicked for airbreak very easily

Hi,
In my server I have a zombie script with many NPCs,
The AC started kicking players sometimes when they were hunting zombies.
I did my investigation, and I found that with a lot of NPCs near (from FCNPC), there was a very high chance of false positive for AirBreak.

I investigated more and the combination of around 100 NPC from FCNPC with MapAndreas, YSI and YSF is causing false positive.
I made this gamemode to help test, I tried to remove everything I could. I am not sure but I think if you remove one of the include it will not happen, but I am not sure, I tested for a long time already and I came up with this:

//
// Nex-Ac Test Script #1 (100 NPC cause player to be kicked for airbreak very easily)
//      by: rt-2
//      date: 2017-04-06
//
//This script will kick you for airbreak(#000) if
//	 you sprint for some time when all NPC are spawned
//

// Main Libraries
#include <a_samp>
#include <crashdetect>

//Anticheat
#include <nex-ac>

//NPCs
#include <mapandreas>
#include <FCNPC>

#include <YSI\y_master>
#include <YSF>

new npc_nb = 0;

forward CreateMyNPC();
public CreateMyNPC()
{
	if(npc_nb < 120)
	{
		new name1[16];
		format(name1, 16, "NPC_%i", npc_nb++);
		FCNPC_Create(name1);
	}
	return 1;
}

public OnGameModeInit()
{
	MapAndreas_Init(MAP_ANDREAS_MODE_FULL);
	FCNPC_InitMapAndreas(MapAndreas_GetAddress());

	SetGameModeText("Test Script");
	AddPlayerClass(random(100), 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
	
	
	SetTimer("CreateMyNPC", 7000, true);
	return 1;
}

public OnPlayerSpawn(playerid)
{
	return 1;
}
public FCNPC_OnCreate(npcid)
{
	FCNPC_Spawn(npcid, random(100), 1958.3783, 1344.1572, 15.3746);
}

main()
{
	print("\n----------------------------------");
	printf(" 'Nex-Ac Test Script' by rt-2 ");
	print("----------------------------------\n");
}

In this gamemode, when all the NPC will be spawned, you wont be able to run around for more than a couple minutes, sometime seconds, without being kicked for AirBreak (code #00). Also I think bunny hoping will help to get kicked but I'm not sure.

Here is link to the includes needed, they are all updated in my test:
https://github.com/ziggi/FCNPC
http://forum.sa-mp.com/showpost.php?p=3130004&postcount=153
https://github.com/Misiur/YSI-Includes

I know the problem might be in one of those includes, and it is probably, but you are the only one who will be able to tell, all I know is that with this combination (that is needed for my server script), we will get kicked for AirBreak when near a large number of NPCs.

I tested this with 2 server, my main one on the internet, and also I tested from my own computer and connected to myself.
Sometime it can take 5-10minutes max to get kicked, sometimes 5-10 seconds, but you will always get kicked at some point if you run around in short streaming distance of the NPCs for an extended period of time.

Thank you,
rt-2

OnPlayerWeaponShot hittype 2

Hi,

There are minor bug in OnPlayerWeaponShot hittype 2 at line 4229.
My MAX_PLAYERS setted to 150.
Log :
[00:56:48] [debug] Run time error 4: "Array index out of bounds"
[00:56:48] [debug] Accessing element at index 205 past array upper bound 149
[00:56:48] [debug] AMX backtrace:
[00:56:48] [debug] #0 000195dc in public OnPlayerWeaponShot (playerid=4, weaponid=24, hittype=2, hitid=205, Float:fX=-0.24609, Float:fY=-0.23706, Float:fZ=0.28811) at ...\pawno\include\nex-ac.inc:4229

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.