need 0.3.dl SAMP_INFO_SETTINGS_OFFSET

notgood

Well-Known Member
Joined
Feb 3, 2017
Messages
48
Likes
0
Points
36
#1
0x3c5 as of 0.3.7.
curious about the offset address of SAMP_INFO_SETTINGS_OFFSET 0.3.dl.
 

tested05

Active Member
Joined
Jan 21, 2017
Messages
32
Likes
0
Points
36
#4
0.3.dl nametag hack is required. However, some servers use custom 3dtext nametags and turn off the default nametags. The above address is required to force the activation of the default nametag.
 

0x32789

Well-Known Member
Joined
May 26, 2014
Messages
855
Likes
42
Points
133
Location
LongForgotten <-> 0x32789
#7
0.3.dl nametag hack is required. However, some servers use custom 3dtext nametags and turn off the default nametags. The above address is required to force the activation of the default nametag.
Check for incoming create 3D Text Label/attach 3D text label, modify the draw distance to 9999?
This will make a nametag...
Though you will see all text labels from far apart but a way to prevent this, for example if ur in a RP server, check if the 3d text contains a underscore then modify the distance to 9999, that way most rp player's have underscores in name and you got yourself a nametag.
 
OP
OP
N

notgood

Well-Known Member
Joined
Feb 3, 2017
Messages
48
Likes
0
Points
36
#8
Check for incoming create 3D Text Label/attach 3D text label, modify the draw distance to 9999?
This will make a nametag...
Though you will see all text labels from far apart but a way to prevent this, for example if ur in a RP server, check if the 3d text contains a underscore then modify the distance to 9999, that way most rp player's have underscores in name and you got yourself a nametag.
can you tell me how to check the 3dtext attach and increase the distance?
 

0x32789

Well-Known Member
Joined
May 26, 2014
Messages
855
Likes
42
Points
133
Location
LongForgotten <-> 0x32789
#9
Actually there's a better way, I'd do this before I'd try Raknet things.
SAMP_INFO_OFFSET, use that to get the SAMP struct. that is..
Code:
struct stSAMPPools
{
	void                    	*pMenu;
	struct stActorPool		*pActor;
	struct stPlayerPool		*pPlayer;
	struct stVehiclePool		*pVehicle;
	struct stPickupPool		*pPickup;
	struct stObjectPool		*pObject;
	struct stGangzonePool		*pGangzone;
	struct stTextLabelPool		*pText3D;
	struct stTextdrawPool		*pTextdraw;
};

struct stSAMP
{
        uint8_t                  	_pad0[20];
	void				*pUnk0;
	struct stServerInfo		*pServerInfo;
	uint8_t				_pad1[16];
	void				*pRakClientInterface;
	char				szIP[256 + 1];
	char				szHostname[256 + 1];
	uint8_t                 	_pad2;
	bool                    	m_bUpdateCameraTarget;
	bool				m_bNoNameTagStatus;
	uint32_t			ulPort;
	BOOL				m_bLanMode;
	uint32_t			ulMapIcons[SAMP_MAX_MAPICONS];	
	Gamestate			iGameState;
	uint32_t			ulConnectTick;
	struct stServerPresets		*pSettings;
	uint8_t                 	_pad3[5];
	struct stSAMPPools		*pPools;
};
we need the stSAMP's pPools text3D pool.
The nametag's you are telling off just like in RCRP etc are 3D Text labels, you can loop through them like this.

Code:
struct stTextLabel
{
	char		*pText;
	DWORD		color;
	float		fPosition[3];
	float		fMaxViewDistance;
	uint8_t		byteShowBehindWalls;
	uint16_t	sAttachedToPlayerID;
	uint16_t	sAttachedToVehicleID;
};
Code:
enum Limits
{
	SAMP_MAX_3DTEXTS = 2048
};


for (int = 0; i < SAMP_MAX_3DTEXTS; i++)
{
	if (!g_stSAMP->pPools->pText3D->iIsListed[i]) continue;

	if (ValidPlayer(g_stSAMP->pPools->pText3D->textLabel->sAttachedToPlayerID))
	{
		g_stSAMP->pPools->pText3D->textLabel->byteShowBehindWalls = (uint8_t)1;
		g_stSAMP->pPools->pText3D->textLabel->fMaxViewDistance = 9999.0F;
	}
}
This should work perfectly fine, it will only increase the distance and allow seeing behind walls of nametag's that are attached to player, thats how custom nametags work.
There, their "anti nametag" destroyed in seconds. You can make it display health as well by adding HP and AR to the string of the text label and get the health by using the attached player ID.
 
OP
OP
N

notgood

Well-Known Member
Joined
Feb 3, 2017
Messages
48
Likes
0
Points
36
#10
Actually there's a better way, I'd do this before I'd try Raknet things.
SAMP_INFO_OFFSET, use that to get the SAMP struct. that is..
Code:
struct stSAMPPools
{
    void                        *pMenu;
    struct stActorPool        *pActor;
    struct stPlayerPool        *pPlayer;
    struct stVehiclePool        *pVehicle;
    struct stPickupPool        *pPickup;
    struct stObjectPool        *pObject;
    struct stGangzonePool        *pGangzone;
    struct stTextLabelPool        *pText3D;
    struct stTextdrawPool        *pTextdraw;
};

struct stSAMP
{
        uint8_t                      _pad0[20];
    void                *pUnk0;
    struct stServerInfo        *pServerInfo;
    uint8_t                _pad1[16];
    void                *pRakClientInterface;
    char                szIP[256 + 1];
    char                szHostname[256 + 1];
    uint8_t                     _pad2;
    bool                        m_bUpdateCameraTarget;
    bool                m_bNoNameTagStatus;
    uint32_t            ulPort;
    BOOL                m_bLanMode;
    uint32_t            ulMapIcons[SAMP_MAX_MAPICONS];   
    Gamestate            iGameState;
    uint32_t            ulConnectTick;
    struct stServerPresets        *pSettings;
    uint8_t                     _pad3[5];
    struct stSAMPPools        *pPools;
};
we need the stSAMP's pPools text3D pool.
The nametag's you are telling off just like in RCRP etc are 3D Text labels, you can loop through them like this.

Code:
struct stTextLabel
{
    char        *pText;
    DWORD        color;
    float        fPosition[3];
    float        fMaxViewDistance;
    uint8_t        byteShowBehindWalls;
    uint16_t    sAttachedToPlayerID;
    uint16_t    sAttachedToVehicleID;
};
Code:
enum Limits
{
    SAMP_MAX_3DTEXTS = 2048
};


for (int = 0; i < SAMP_MAX_3DTEXTS; i++)
{
    if (!g_stSAMP->pPools->pText3D->iIsListed[i]) continue;

    if (ValidPlayer(g_stSAMP->pPools->pText3D->textLabel->sAttachedToPlayerID))
    {
        g_stSAMP->pPools->pText3D->textLabel->byteShowBehindWalls = (uint8_t)1;
        g_stSAMP->pPools->pText3D->textLabel->fMaxViewDistance = 9999.0F;
    }
}
This should work perfectly fine, it will only increase the distance and allow seeing behind walls of nametag's that are attached to player, thats how custom nametags work.
There, their "anti nametag" destroyed in seconds. You can make it display health as well by adding HP and AR to the string of the text label and get the health by using the attached player ID.

0x32789
sorry check is late. Thank you for your help.
 
Top