Official site anti-cheat Ultra Core Protector

Home Download F.A.Q. Addons Monitor Forum Support Advertise English version site UCP Anti-Cheat  Russian version site UCP Anti-Cheat
Ultra Core Protector - is the client-server anti-cheat freeware, for server protection from unscrupulous players.

Abilities Supported games  
Half-Life
Condition Zero
Counter-Strike 1.6
Day of Defeat
Adrenaline Gamer
Team Fortress Classic
Counter-Strike Source
MU Online
Ragnarok Online
Half-Life 2 Deathmatch
Adrenaline Gamer 2
Team Fortress 2
CSGO: spoonfeed for ayyware users

entities.h -> replace class C_BaseCombatWeapon with this:

class C_BaseCombatWeapon
{
public:
CNETVAR_FUNC(float, GetNextPrimaryAttack, 0xDB7B106E); //m_flNextPrimaryAttack
CNETVAR_FUNC(int, GetAmmoInClip, 0x97B6F70C); //m_iClip1
CNETVAR_FUNC(HANDLE, GetOwnerHandle, 0xC32DF98D); //m_hOwner
CNETVAR_FUNC(float, GetAccuracyPenalty, 0xE2958A63); //m_fAccuracyPenalty
CNETVAR_FUNC(Vector, GetOrigin, 0x1231CE10); //m_vecOrigin
CPNETVAR_FUNC(int*, FallbackPaintKit, 0xADE4C870); // m_nFallbackPaintKit
CPNETVAR_FUNC(int*, FallbackSeed, 0xC2D0683D); // m_nFallbackSeed
CPNETVAR_FUNC(float*, FallbackWear, 0xA263576C); //m_flFallbackWear
CPNETVAR_FUNC(int*, FallbackStatTrak, 0x1ED78768); //m_nFallbackStatTrak
CPNETVAR_FUNC(int*, OwnerXuidLow, 0xAD8D897F);
CPNETVAR_FUNC(int*, OwnerXuidHigh, 0x90511E77);
CPNETVAR_FUNC(int*, ViewModelIndex, 0x7F7C89C1);
CPNETVAR_FUNC(int*, ModelIndex, 0x27016F83);
CPNETVAR_FUNC(int*, WorldModelIndex, 0x4D8AD9F3);
CPNETVAR_FUNC(char*, szCustomName, 0x0);
CPNETVAR_FUNC(AttributeContainer*, m_AttributeManager, 0xCFFCE089);
CNETVAR_FUNC(int, GetZoomLevel, 0x26553F1A);

float GetInaccuracy()
{
typedef float(__thiscall* oInaccuracy)(PVOID);
return call_vfunc< oInaccuracy >(this, 470)
(this);
}

float GetSpread()
{
typedef float(__thiscall *OrigFn)(void *);
return call_vfunc(this, 439)(this);
}

int* GetEntityQuality()
{
return (int*)((DWORD)this + 0x2D70 + 0x40 + 0x1DC);
}

int GetWeaponID2()
{
return *(int*)((DWORD)this + 0x00002F88);
}

void PreDataUpdate(int updateType)
{
PVOID pNetworkable = (PVOID)((DWORD)(this) + 0x8);
typedef void(__thiscall* OriginalFn)(PVOID, int);
return call_vfunc(pNetworkable, 6)(pNetworkable, updateType);
}

void SetModelIndex(int modelIndex) {
typedef void(__thiscall* OriginalFn)(PVOID, int);
return call_vfunc(this, 75)(this, modelIndex);
}

void UpdateAccPenalty()
{
typedef void(__thiscall *OrigFn)(void *);
return call_vfunc(this, 471)(this);
}

bool IsScoped(int x = 0)
{
return GetZoomLevel() > 0;
}

CSWeaponInfo* GetCSWpnData()
{
if (!this)
return nullptr;

typedef CSWeaponInfo*(__thiscall* OriginalFn)(void*);
return call_vfunc< OriginalFn >(this, 447)(this);
return nullptr;
}
};