Welcome to Ramleague,

Ramleague - the best site for pinoy chat, games chat and mobiles chat,

Sign Up
  1. Hello guest Guest , Are you tired from Ads? to remove some ads you need to register and be active. :D

[Source Code] Player Base Struct, Address & Offsets

Discussion in 'Point Blank Source Code & Tutorials' started by Mae, Aug 17, 2019.

  1. Mae
    No wonder you are gay.
    Staff Member Staff Admin Donator

    Mae
    Joined:
    Feb 9, 2015
    Gender:
    Female
    Posts:
    2,769
    Reputation:
    488
    Thanks:
    1,535
    Location:
    Bed? something wrong?
    In-Love
    United States
    None
    None
    Skype name: Mae
    None
    Fvkyou
    None

    Player Base Struct, Address & Offsets

    Most people use this kind of method to get the position of the player. :)
    Code:
    struct GAMEINFO_CHARACTER
    {
        char _0x0000[52];
        BYTE Death; 
        char _0x0035[116];
        D3DXVECTOR3 RootPos;
        char _0x00BC[4];
    };
    
    class CBattleSlotContext
    {
    public:
        BYTE getMyIndex(){
            return (BYTE)(*(DWORD*)((DWORD)(this) + 0x171B4));
        }
    
        BOOL isDead(int iSlot){
            if (this->getGameInfo_Chara(iSlot)->Death > 0)
                return true;
            return false;
        }
    
        GAMEINFO_CHARACTER* getGameInfo_Chara(int index){
            return (GAMEINFO_CHARACTER*)(((DWORD)this + 0x740) + (index * 0x1668));
        }
    
        static CBattleSlotContext* Singleton(){
            return (CBattleSlotContext*)(*(DWORD*)((*(DWORD*)(*(DWORD*)(*(DWORD*)(*(DWORD*)(*(DWORD*)((DWORD)GetModuleHandleA("i3BaseDx.dll")+0x0DB024) + 0x60) + 0x0) + 0x0C) + 0x54) + 0x3AC)));
        }
    };
    
    Code:
    class CRenderContext
    {
    private:
        typedef D3DXMATRIX* (__thiscall * tGetProjectMatrix)(CRenderContext* Base);
        typedef D3DXMATRIX* (__thiscall * tGetViewMatrix)(CRenderContext* Base);
        typedef D3DXMATRIX* (__thiscall * tGetWorldMatrix)(CRenderContext* Base);
    public:
        D3DXMATRIX* GetProjectMatrix(void){
            tGetProjectMatrix GetProjectMatrix = (tGetProjectMatrix)(GetProcAddress(LoadLibrary("i3GfxDx.dll"), "[email protected]@@[email protected]@XZ"));
            return GetProjectMatrix(this);
        }
        D3DXMATRIX* GetViewMatrix(void){
            tGetViewMatrix GetViewMatrix = (tGetViewMatrix)(GetProcAddress(LoadLibrary("i3GfxDx.dll"), "[email protected]@@[email protected]@XZ"));
            return GetViewMatrix(this);
        }
        D3DXMATRIX* GetWorldMatrix(void){
            tGetWorldMatrix GetWorldMatrix = (tGetWorldMatrix)(GetProcAddress(LoadLibrary("i3GfxDx.dll"), "[email protected]@@[email protected]@XZ"));
            return GetWorldMatrix(this);
        }
        static CRenderContext* Singleton(){
            return (CRenderContext*)(*(DWORD*)(GetProcAddress(LoadLibrary("i3GfxDx.dll"), "[email protected]@[email protected]@A")));
        }
    public:
        BOOL WorldToScreen(LPDIRECT3DDEVICE9 pDevice, D3DVECTOR Player, D3DVECTOR &PlayerScaled)
        {
            D3DXVECTOR3 PlayerPos(Player.x, Player.y, Player.z);
            D3DXVECTOR3 vScreen;
    
            pDevice->GetViewport(&Viewport);
            Viewport.X = Viewport.Y = 0;
            Viewport.MinZ = 0;
            Viewport.MaxZ = 1;
    
            D3DXVec3Project(&vScreen, &PlayerPos, &Viewport, this->GetProjectMatrix(), this->GetViewMatrix(), this->GetWorldMatrix());
            if (vScreen.z < 1.0f && vScreen.x > 0.0f && vScreen.y > 0.0f && vScreen.x < Viewport.Width && vScreen.y < Viewport.Height)
            {
                PlayerScaled.x = vScreen.x;
                PlayerScaled.y = vScreen.y;
                PlayerScaled.z = vScreen.z;
                return true;
            }
            return false;
        }
    };
    
    How to use:
    Code:
    void CallESP(LPDIRECT3DDEVICE9 pDevice)
    {
        auto pBattleContext = CBattleSlotContext::Singleton();
        if(!pBattleContext) return;
    
        for (int i = 0; i < 16; i++)
        {
            D3DXVECTOR3 vPos = pBattleContext->getGameInfo_Chara(i)->RootPos, vScreen;
            if (CRenderContext::WorldToScreen(pDevice, vPos, vScreen))
            {
                // DrawLine, Distance, Box
                DrawText(vScreen.x, vScreen.y, Green, "Players");
            }
        }
    }
    
    Good luck. /gewd
     
    Pancen, zNova and Siaa thanks this.
    • BE A GAMER - RAMLeague
  2. zNova True God Gamer
    Member Lvl2

    zNova
    Joined:
    Oct 7, 2017
    Posts:
    917
    Reputation:
    52
    Thanks:
    213
    Psychedelic
    Any update for the offset ? it was shifted since pb patched today.
     
  3. Mae
    No wonder you are gay.
    Staff Member Staff Admin Donator

    Mae
    Joined:
    Feb 9, 2015
    Gender:
    Female
    Posts:
    2,769
    Reputation:
    488
    Thanks:
    1,535
    Location:
    Bed? something wrong?
    In-Love
    United States
    None
    None
    Skype name: Mae
    None
    Fvkyou
    None
    It should still work. /gewd
     
  4. zNova True God Gamer
    Member Lvl2

    zNova
    Joined:
    Oct 7, 2017
    Posts:
    917
    Reputation:
    52
    Thanks:
    213
    Psychedelic
    I checked on reclass the ptr was null and it will give bug trap if you try to inject with that offset since it is nullptr;
     
  5. Pancen Adict Gamer
    Member Lvl1

    Pancen
    Joined:
    Sep 8, 2015
    Gender:
    Female
    Posts:
    181
    Reputation:
    0
    Thanks:
    16
    Location:
    Luklukan Norte
    Bashful
    Philippines
    Dear Mae,
    No working cheat as of now?
     
    Last edited: Sep 4, 2019
  6. Jenrix Member
    Member Lvl1

    Jenrix
    Joined:
    Jun 21, 2019
    Gender:
    Male
    Posts:
    8
    Reputation:
    0
    Thanks:
    0
    Question
    Any Tutorial How to find those Offset?
     
  7. zNova True God Gamer
    Member Lvl2

    zNova
    Joined:
    Oct 7, 2017
    Posts:
    917
    Reputation:
    52
    Thanks:
    213
    Psychedelic
    PointBlank has new function that checks their function, more like crc or something. Eitherway you can only rely on external /gassum.

    Hint to bypass the function checker :
    68 ?? 00 00 00 E9
     
    Franco Yuri Valencia thanks this.
  8. nmaikaze Member
    Member Lvl1

    nmaikaze
    Joined:
    Sep 24, 2015
    Gender:
    Male
    Posts:
    6
    Reputation:
    0
    Thanks:
    0
    Is i3BaseDx.dll is a new method module to get baseplayer ??
     
Loading...

Advertisement

Similar Threads Forum Date
2d Turn Base Multiplayer Game With Photon In Unity PC Games Sep 30, 2021
My Old No Recoil in CPlayerClntBase CrossFire Source Code & Tutorials Jun 2, 2019
No Recoil and No Spread in CPlayerClntBase CrossFire Source Code & Tutorials Jan 9, 2019
Updated Class CPlayerCIntBase CrossFire Source Code & Tutorials Dec 5, 2018
Super Jump Source CODES - PlayerBaseClient CrossFire Source Code & Tutorials May 30, 2018
Player Base Location 11/3/17 Point Blank Source Code & Tutorials Nov 3, 2017

Tags for this Thread

:

Share This Page