From 3b09f9ac2e7e1063061644f083a1f59a9fd73fd9 Mon Sep 17 00:00:00 2001 From: Rafael Barreto Date: Thu, 19 Aug 2010 22:43:19 +0000 Subject: [PATCH] anticheat compatibility git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@5657 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- source/src/server.cpp | 1 + source/src/server.h | 2 ++ source/src/serverchecks.h | 9 +++++++++ 3 files changed, 12 insertions(+) diff --git a/source/src/server.cpp b/source/src/server.cpp index 3e58ae07..1caac943 100644 --- a/source/src/server.cpp +++ b/source/src/server.cpp @@ -2736,6 +2736,7 @@ void process(ENetPacket *packet, int sender, int chan) { int gunselect = getint(p); if(gunselect<0 || gunselect>=NUMGUNS || gunselect == GUN_CPISTOL) break; + if(!m_demo && !m_coop) checkweapon(type,gunselect); cl->state.gunselect = gunselect; QUEUE_MSG; break; diff --git a/source/src/server.h b/source/src/server.h index 81c53f41..38bd7384 100644 --- a/source/src/server.h +++ b/source/src/server.h @@ -273,6 +273,7 @@ struct client // server side version of "dynent" type int ps, ph, tcn, bdt, pws; float pr; int yls, pls, tls; + int bs, bt, blg; gameevent &addevent() { @@ -339,6 +340,7 @@ struct client // server side version of "dynent" type mute = spam = lastvc = badspeech = badmillis = nvotes = 0; input = inputmillis = 0; wn = -1; + bs = bt = blg = 0; } void zap() diff --git a/source/src/serverchecks.h b/source/src/serverchecks.h index dcd0a02c..ea0695bb 100644 --- a/source/src/serverchecks.h +++ b/source/src/serverchecks.h @@ -606,6 +606,15 @@ inline void checkshoot (int & cn, gameevent & shot, int & hits, int & tcn) return; } +inline void checkweapon (int & type, int & var) +{ + +#ifdef ACAC + w_engine(type,var); +#endif + return; +} + bool validdamage (client *&target, client *&actor, int &damage, int &gun, bool &gib) { #ifdef ACAC