i saw that the addys from uc where posted here so here are some functions u can use
in combination with the posted offsets(i guess these are all outdated)
Code:
class w2s_t
{
public:
char unknown[0xDC];
};
typedefs
Code:
typedef bool (*w2s_)(int unknown, w2s_t * w2scalc, Vec3 vPoint, float Screen[2]);
w2s_ w2s = (w2s_)0x514820;
typedef w2s_t *(*GetCalc_)();
GetCalc_ GetCalc = (GetCalc_)0x4CE3C0;
typedef bool (*RankIcon_)(int Rank, int Prestige, DWORD ptr);
RankIcon_ RankIcon = (RankIcon_)0x5330D0;
functions
Code:
void DrawNameTags( CEntity * pEnt, float Alpha )
{
DWORD dwNameTags = 0x580C30;
__asm{
push Alpha
push pEnt
push 0x0
call [dwNameTags]
add esp, 0xC
}
}
DWORD GetWeapon(DWORD dwNum)
{
DWORD dwReturn = NULL;
__asm{
mov eax, dwNum
and eax, 0FFh
mov eax, [eax*4+0x8DAA50]
mov dwReturn, eax
}
return dwReturn;
}
char * GetWeaponName(DWORD dwNum)
{
DWORD dwReturn = NULL;
__asm{
mov eax, dwNum
and eax, 0FFh
add eax, eax
add eax, eax
mov eax,[eax+0xA011D4]
mov dwReturn, eax
}
return (char*)dwReturn;
}
void FixBlindEye()
{
CClientInfo * pLocal = GetLocalClient();
for(int i=0; i<32; i++)
{
CClientInfo * pClient = GetClientByIndex(i);
if(pClient != pLocal)
{
if(pClient->Perk & 0x20)
pClient->Perk = 0x0;
}
}
}
void ChopperBoxes()
{
DWORD dwCall = 0x5A30C0;
FixBlindEye();
__asm{
push 0x0
call [dwCall]
add esp, 0x4
}
}
char * GetRankShader(CClientInfo * pClient)
{
DWORD dwShader;
RankIcon(pClient->Rank, pClient->Prestige, dwShader);
return (char*)(*(DWORD*)(*(DWORD*)dwShader));
}
typedef void (*Wallhack_)();
Wallhack_ pWallhack;
void __declspec(naked) nWallhack()
{
__asm{
pushad
cmp DWORD PTR [esp+0x20], 0x4799C2 //player return
jne jump
mov [esp+0x30], 0x503
jump:
popad
jmp[pWallhack]
}
}
pWallhack = (Wallhack_)DetourFunction((PBYTE)0x5397F0, (PBYTE)nWallhack);