unknowncheats uc-forum.com ucdownloads ucdownloads.com

Go Back   UC-Tutorials - Multiplayer Game Hacking and Cheat Tutorials > First-Person Shooters > Other FPS Games > War Rock

- Sponsored Advertisement -
http://www.myfpscheats.com/


Reply
 
Thread Tools Display Modes
  #1  
Old 08-09-2010, 01:45 PM
shad0w_ shad0w_ is offline
Junior Member
 
Join Date: Aug 2010
Posts: 16
Default Updated Structs

Original Thread: http://www.uc-forum.com/forum/war-ro...tructs-v2.html

By ZeaS



this section is kinda dead : P

structs
Code:
struct CStuff
{
    float fast_repair;        //0x0000
    char unk_char0[4];        //0x0004
    float fast_ammo;        //0x0008
    float fast_health;        //0x000C
    char unk_char1[4];        //0x0010
    float fast_flag;        //0x0014
};

struct CServer
{
    char unk_char0[1404];    //0x0000
    __int32 premium;        //0x057C
};

struct CPlayerInfo
{
    char nickname[20]; //0x0000  
    char unk_char0[1004]; //0x0014  
    char playerip[16]; //0x0400  
    char unk_char1[140]; //0x0410  
    __int32 exp; //0x049C  
    char unk_char2[12]; //0x04A0  
    __int32 dinar; //0x04AC  
    char unk_char3[64]; //0x04B0  
    char loginname[20]; //0x04F0  
    char unk_char4[492]; //0x0504  
    char nickname_[16]; //0x06F0  
    char unk_char5[4504]; //0x0700  
    __int32 points; //0x1898  
    char unk_char6[16]; //0x189C  
    __int32 kills; //0x18AC  
    __int32 deaths; //0x18B0  
    __int32 flags; //0x18B4  
    __int32 health; //0x18B8  
    char unk_char7[8]; //0x18BC  
    __int32 weapon; //0x18C4  
    char unk_char8[296]; //0x18C8  
    BYTE index; //0x19F0  
    BYTE unk_byte0; //0x19F1  
    BYTE unk_byte1; //0x19F2  
    BYTE unk_byte2; //0x19F3  
    BYTE team; //0x19F4  
};

struct CPlayer
{
    char unk_char0[24]; //0x0000  
    float recoil1; //0x0018  
    float recoil2; //0x001C  
    float recoil3; //0x0020  
    char unk_char1[65756]; //0x0024  
    DWORD weapon; //0x10100  
    char unk_char2[180]; //0x10104  
    float xx; //0x101B8  
    float zz; //0x101BC  
    float yy; //0x101C0  
    char unk_char3[104]; //0x101C4  
    BYTE state; //0x1022C  
    BYTE state2; //0x1022D  
    char unk_char4[162]; //0x1022E  
    float x; //0x102D0  
    float z; //0x102D4  
    float y; //0x102D8  
    char unk_char5[192]; //0x102DC  
    float nofalldamage; //0x1039C  
};

struct CLocal
{
    char unk_char0[32];        //0x0000
    float x;                //0x0020
    float z;                //0x0024
    float y;                //0x0028
    char unk_char1[36];        //0x002C
    float yaw;                //0x0050
    float pitch;            //0x0054
    float roll;                //0x0058
};
struct CBase
{
    CPlayer* local;         //0000
    char unknown0[72];         //0004
    CPlayer** player;         //004C
};
functions
Code:
CPlayerInfo* CPlayerManager::GetPlayerInfoByIndex(int index)
{
    if(index > 32) return NULL;
    return (CPlayerInfo*)(0x009DC4AC + (index * 0x1CE0));
}
int CPlayerManager::GetLocalPlayerIndex()
{
    DWORD *dwServPtr = (DWORD*)0x009A1DD8;
    return *(int*)((*dwServPtr) + 0x160EC);
}
BYTE CPlayerManager::GetState(CPlayer* pPlayer)
{
    BYTE status = pPlayer->state;

    if(status == 0x47)
        return STANDS;

    if(status == 0x38 || status == 0x3b || status == 0x3b || status == 0x3e || status == 0x3c)
        return PRONES;

    if(status == 0x4b || status == 0x4a || status == 0x4c || status == 0x4d)
        return MOVING;

    if(status == 0x57 || status == 0x5d || status == 0x5c || status == 0x5e || status == 0x5f)
        return KNEES;

    if(status == 0x46)
        return RUNS;

    if(status == 0x54)
        return JUMPS;

    if(status == 0x25)
        return ROLLS;

    return 0;
}
char* szWeaponList[136] =
{
    //This.. actually took some time lol :/
    "DA_M7","DA_KNUCKLE","DA_STILETTO","DA_SWORD","DA_KNUCKLE_2","DA_SQUEAKY_HAMMER","DA_STILETTO_JP","DA_SWORD_JP","DB_COLT",
    "DB_DESERT_EG","DB_MP5K","DB_MAGNUM","DB_GLOCK","DB_BERETTA_D","DB_THROWING_KNIFE","DB_MICRO_UZI","DB_BERETTA_M93R","DB_MP5K_GOLD",
    "DB_MP5K_SW","DC_AK47","DC_K2","DC_M4A1","DC_FAMAS","DC_L85A1","DC_XM8 ","DC_TYPE89","DC_SIG550","DC_TAR_21","DC_M16A4","DC_AN94",
    "DC_HK417","M16A4_Silver","AK47","DC_M4A1_GOLD","DD_G36C","DD_G36C_D","DD_AKS74U","DE_G36","DE_G36_D","DF_MP5","DF_P90","DF_UZI",
    "DF_TMP9","DF_K1","DF_MP7A1","DF_SCORPION_D","DF_Spectre_M4","DF_MAC10","DF_UMP45","DF_CX4STORM","P90_Silver","DF_K1_GOLD","CX4STORM_SW",
    "DG_PSG_1","DG_BARRETT_M82","DG_AUG","DG_SSG","DG_M24","DG_DRAGUNOV_SVD","DG_AI_AW","DG_AW50F","DG_M21","DG_WA2000","DG_SR25","DG_M40A1",
    "DG_AI_AW_GOLD","PSG1_SW","SSG","DH_M60","DH_M249","DI_WINCHESTER_1300","DI_M4SUPER90","DJ_PZF_3","DJ_M136AT_4","DJ_RPG_7","DJ_JAVELIN",
    "DJ_RPG_7_GOLD","RPG7_SW","DK_STINGER","DK_STINGER","DL_TMA_1A","DL_HA_SUPPLY","DM_K400_GRENADE","DN_K400_GRENADE_ASSULT","DN_SACRIFICE",
    "DO_SMOKE_G","DO_FLASH_BANG_1","DO_FLASH_BANG_2","DP_CLAYMORE","DP_CLAYMORE_SWITCH","DP_PDA","DP_SWITCH_C4","C4","DQ_MEDIC_KIT_1","DQ_MEDIC_KIT_2",
    "DQ_MEDIC_KIT_3","DR_SPANNER","DR_PIPE_WRENCH","DS_ADRENALINE","DS_PARACHUTE","DS_STAMINA","DS_HP_KIT","DS_DETECTOR","DS_TELESCOPE","DS_FLASH_MINE",
    "DT_MG3","DT_M134","DT_MK1S","DT_HK69","HK69_Silver","DU_AMMO_BOX","DU_M14","DU_TEARGAS","DV_MEDIC_BOX","DW_K203","DW_TELESCOPE","DW_SILENCER",
    "DU_NIPPERS","D2_SNOWBALL","D5_SCORPION_D_8TH","D5_G36C_D_8TH","D6_TMP9_8TH","D6_MP7A1_8TH","D7_AI_AW_8TH","D7_BARRETT_M82_8TH","D8_M60_8TH",
    "D8_G36_8TH","D9_M249_8TH","D9_M134_8TH","XM8_RED ","SCORPION","MK1S_RED","BARRETT_M82_CAMO","HK69_CAMO","AK47EX","DAGGER"
};

char* CPlayerManager::WeaponEsp(CPlayerInfo* pInfo)
{
    return szWeaponList[pInfo->weapon];
}

//so you can also calculate the head position for the aimbot

void CPlayerManager::AimCorrection(float &x, float &y, float &z, int State, int myState)
{
    if(myState == STANDS)
    {
        if(State == PRONES)
        //... work it out yourself : P
    }
}
How to use:

Code:
if(g_pBase->local) //do some player stuff
    {
        g_pBase->local->nofalldamage = -2000; // no damage from falling
        g_pBase->local->z += 100; //superjumping
        //....
    }
    for(int i = 0; i < 32; i++)
    {
        if(!g_pBase->player || !g_pBase->local) break;
        CPlayerInfo* pInfo = gPlayerManager.GetPlayerInfoByIndex(i);
        CPlayer* pPlayer = g_pBase->player[i];
        if(pInfo && pPlayer)
        {
            //esp / aimbot
            //health: pInfo->health;
            //name: pInfo->nickname;
            //kills: pInfo->kills;
            //...
        }
    }

g_pBase    = (CBase*)0x00AA6DB8;
g_pStuff = (CStuff*)0x008F0D14;
g_pLocal = (CLocal*)*(DWORD*)0x008ED4C4;
g_pServer = (CServer*)*(DWORD*)0x009A1DD8;
http://www.abload.de/img/wrucscreenesif.png

ps: there's some more infos in the CServer struct like ping and slots, i don't need that but if you want it then look around, kernel postet a bigger one some days ago

~ZeaS
Reply With Quote
Reply

  • Submit Thread to Digg
  • Submit Thread to del.icio.us
  • Submit Thread to StumbleUpon
  • Submit Thread to Google
  • Submit Thread to Facebook
  • Submit Thread to My Yahoo!
  • Submit Thread to MySpace
  • Submit Thread to Twitter
  • Submit Thread to Reddit

Tags
structs, updated

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 04:25 PM.