Hello. Normally, I'm a nice guy. I try to help everyone and I spend most of my free time doing things for other people. However, you have incited The Emperor's wrath, and you will
pay the price for your lack of vision.
You come onto my forums with an illegally closed source piece of software. Then, you brag about said software, and furthermore, your brag that we can't run your software (even though it's your choice whether to support it or not, not ours). I have never, in all my days, seen such a childish and immature post. You are an insult to the AMX Mod community.
Furthermore, your plugin is garbage. Recognize this? It's the source code.
Code:
\
public plugin_init()
{
register_cvar("amx_anticheat", "1")
register_cvar("amx_acsbanbyip", "0")
register_plugin("Anti Cheat System", "1.1.4", "Sputnik53")
}
public client_authorized(id)
{
if (!get_cvar_num("amx_anticheat"))
return PLUGIN_CONTINUE
if (cvar_exists("aimbot"))
{
set_task(0.1, "showmsg", 0)
} else if (cvar_exists("norecoil")) {
set_task(0.1, "showmsg", 0)
} else if (cvar_exists("recoil")) {
set_task(0.1, "showmsg", 0)
} else if (cvar_exists("nospread")) {
set_task(0.1, "showmsg", 0)
} else if (cvar_exists("speed")) {
set_task(0.1, "showmsg", 0)
} else if (cvar_exists("aspeed")) {
set_task(0.1, "showmsg", 0)
} else if (cvar_exists("xql")) {
set_task(0.1, "showmsg", 0)
} else if (cvar_exists("spinhack")) {
set_task(0.1, "showmsg", 0)
} else if (cvar_exists("nickspam")) {
set_task(0.1, "showmsg", 0)
}
return PLUGIN_CONTINUE
}
public showmsg(id)
{
new authid[32]
get_user_authid(id, authid, 31)
new ip[32]
get_user_ip(id, ip, 31)
if (!get_cvar_num("amx_acsbanbyip"))
{
server_cmd("amx_ban %s 0", authid)
client_print(0, print_chat, "[ACS] Cheater banned.")
} else {
server_cmd("amx_ban %s 0", ip)
client_print(0, print_chat, "[ACS] Cheater banned.")
}
}
This is laughably bad and you're a disgrace to anti-cheat coders AS WELL AS plugin coders. Let's list the problems in your plugin to explain why this will never ban a single person.
1. You use cvar_exists, which checks
SERVER SIDE CVARS. Every time a player connects, you're checking to see if the server has those cvars on. Wtf? AMX Mod does not have the ability to check client-side cvars. Guess what does? AMX Mod X. So, your plugin will never detect a single person other than the server itself.
2. You don't pass any player identification to set_task:
Code:
0x814 PUSH.C 0x0
0x81C CONST.pri 0x184
0x824 HEAP 0x4
0x82C MOVS 0x4
0x834 PUSH.alt
0x838 PUSH.C 0x0
0x840 CONST.pri 0x180
0x848 HEAP 0x4
0x850 MOVS 0x4
0x858 PUSH.alt
0x85C PUSH.C 0x0
0x864 PUSH.C 0x358
0x86C PUSH.C 0x3DCCCCCD
0x874 PUSH.C 0x1C
0x87C SYSREQ.C set_task
All I see are zeroes and null'd data, no PUSH.S. When set_task is called, it'll be acting on a player id of zero.
3. Finally, your code is hugely overly redundant.
Next time you decide to be an ass on my forums, or tell the community you've coded a good anti-cheat system, make sure you know what you're talking about. Checkmate.
Oh, and I'm stickying this so people can mock you.
__________________