AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [HELP] m_afPhysicsFlags offset hafl-life player (https://forums.alliedmods.net/showthread.php?t=118209)

ujjl 02-08-2010 16:36

[HELP] m_afPhysicsFlags offset hafl-life player
 
Hi, anyone know it?

ConnorMcLeod 02-09-2010 00:53

Re: [HELP] m_afPhysicsFlags offset hafl-life player
 
Try my in real time player offsets printer :

Edit : Seems to be 193

Code:

        float                                m_flSndRange;                        // dist from player to sound entity

        float                                m_flFallVelocity; //185
       
        int                                        m_rgItems[MAX_ITEMS]; //186-190
        int                                        m_fKnownItem;        //191        // True when a new item needs to be added
        int                                        m_fNewAmmo;        //192                // True when a new item has been added

        unsigned int                m_afPhysicsFlags;//193        // physics flags - set when 'normal' physics should be revisited or overriden
        float                                m_fNextSuicideTime; // the time after which the player can next use the suicide command

PHP Code:

#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

new const VERSION[] = "0.1.1"

const MAX_OFFSET_TO_PRINT    15
const MAX_MSG_LENGTH    =    128 MAX_OFFSET_TO_PRINT

enum _
:Types {
    
Type_Int,
    
Type_Float,
    
Type_String,
    
Type_Cbase,
    
Type_Char,
    
Type_Bit
}

new 
g_iOffSet 1
new g_Type Type_Int

public plugin_init()
{
    
register_plugin("Players Offset Test"VERSION"ConnorMcLeod" )

    
register_clcmd("rest""reset")
    
register_clcmd("augm""augm")
    
register_clcmd("dimi""dimi")
    
register_clcmd("goto""_goto")

    
register_clcmd("say /int""intType")
    
register_clcmd("say /float""floatType")
    
register_clcmd("say /str""stringType")
    
register_clcmd("say /cbase""cbaseType")
    
register_clcmd("say /char""charType")
    
register_clcmd("say /bit""bitType")
}

public 
intTypeid )
{
    
g_Type Type_Int
}

public 
floatTypeid )
{
    
g_Type Type_Float
}

public 
stringTypeid )
{
    
g_Type Type_String
}

public 
cbaseTypeid )
{
    
g_Type Type_Cbase
}

public 
charTypeid )
{
    
g_Type Type_Char
}

public 
bitTypeid )
{
    
g_Type Type_Bit
}

public 
client_PreThink(id)
{
    if( 
pev_valid(id) != || is_user_bot(id) )
    {
        return
    }

    static 
Float:flOffset//[MAX_OFFSET_TO_PRINT]
    
static iiOffset//[MAX_OFFSET_TO_PRINT]
    
static szOffSet[128]

    static 
szMsg[MAX_MSG_LENGTH]
    static 
0

    
for(i=0i<MAX_OFFSET_TO_PRINTi++)
    {
        switch( 
g_Type )
        {
            case 
Type_Int:
            {
                
iOffset get_pdata_int(idg_iOffSet+i)
                
+= formatex(szMsg[n], charsmax(szMsg)-n"^n%d: %d"g_iOffSet iiOffset)
            }
            case 
Type_Float:
            {
                
flOffset get_pdata_float(idg_iOffSet+i)
                
+= formatex(szMsg[n], charsmax(szMsg)-n"^n%d: %.3f"g_iOffSet iflOffset)
            }
            case 
Type_String:
            {
                
szOffSet[0] = 0
                get_pdata_string
(idg_iOffSet+iszOffSetcharsmax(szOffSet), 15)
                
+= formatex(szMsg[n], charsmax(szMsg)-n"^n%d: %s"g_iOffSet iszOffSet)
            }
            case 
Type_Cbase:
            {
                
iOffset get_pdata_cbase_safe(idg_iOffSet+i5)
                
+= formatex(szMsg[n], charsmax(szMsg)-n"^n%d: %d"g_iOffSet iiOffset)
            }
            case 
Type_Char:
            {
                
iOffset get_pdata_int(idg_iOffSet+i)
                if( 
33 <= iOffset <= 126 )
                {
                    
+= formatex(szMsg[n], charsmax(szMsg)-n"^n%d: %c"g_iOffSet iiOffset)
                }
                else
                {
                    
+= formatex(szMsg[n], charsmax(szMsg)-n"^n%d: NULL"g_iOffSet i)
                }
            }
            case 
Type_Bit:
            {
            
//    new szFlags[128] = "00000000000000000000000000000000"
                
iOffset get_pdata_int(idg_iOffSet+i)
                if( 
iOffset )
                {
                    
+= formatex(szMsg[n], charsmax(szMsg)-n"^n%i %i ("g_iOffSet iiOffset)
                    for(new 
31>= 0j--)
                    {
                        if(
iOffset & (1<<(j)))
                        {
                            
+= formatex(szMsg[n], charsmax(szMsg)-n"%i "j)
                        
//    szFlags[j] = '1'
                        
}
                    }
                    
szMsg[n-1] = ')'
            
//    server_print("pev_weapons = %u (%s)", iOffset, szFlags)
                //    n += formatex(szMsg[n], charsmax(szMsg)-n, "^n%i (%s)", g_iOffSet + i, szFlags)
                
}
                else
                {
                    
+= formatex(szMsg[n], charsmax(szMsg)-n"^n%i %i"g_iOffSet iiOffset)
                }
            }
        }
    }

    
client_print_center(id"%s^n%f"szMsgget_gametime())

}

client_print_center(idmsg[], any:...)
{
    static 
szMsg[MAX_MSG_LENGTH]
    
vformat(szMsgcharsmax(szMsg), msg3)
    
engfunc(EngFunc_ClientPrintfid1szMsg)
}

public 
_goto(id)
{
    new 
arg[32]
    
read_argv(1arg31)
    
g_iOffSet str_to_num(arg)
    return 
PLUGIN_HANDLED
}

public 
reset(id)
{
    
g_iOffSet 0
    
return PLUGIN_HANDLED
}

public 
augm(id)
{
    
g_iOffSet += MAX_OFFSET_TO_PRINT
    
return PLUGIN_HANDLED
}

public 
dimi(id)
{
    if( 
g_iOffSet )
        --
g_iOffSet
    
return PLUGIN_HANDLED



ujjl 02-09-2010 08:37

Re: [HELP] m_afPhysicsFlags offset hafl-life player
 
Thank you! Yes its 193.

ConnorMcLeod 02-16-2010 14:39

Re: [HELP] m_afPhysicsFlags offset hafl-life player
 
If you need default weapons offsets :
extra offset should be 4.
Code:

        CBasePlayer        *m_pPlayer;                28
        CBasePlayerItem *m_pNext;                29
        int                m_iId;                                30       

        int m_iPlayEmptySound;                        30
        int m_fFireOnEmpty;                                32

        float m_flPumpTime;                                33
        int                m_fInSpecialReload;                34                                                        // Are we in the middle of a reload for the shotguns
        float        m_flNextPrimaryAttack;        35                                                        // soonest time ItemPostFrame will call PrimaryAttack
        float        m_flNextSecondaryAttack;        36                                                // soonest time ItemPostFrame will call SecondaryAttack
        float        m_flTimeWeaponIdle;                37                                                        // soonest time ItemPostFrame will call WeaponIdle
        int                m_iPrimaryAmmoType;                38                                                        // "primary" ammo index into players m_rgAmmo[]
        int                m_iSecondaryAmmoType;        39                                                        // "secondary" ammo index into players m_rgAmmo[]
        int                m_iClip;                                40                                                        // number of shots left in the primary weapon clip, -1 it not used
        int                m_iClientClip;                        41                                                        // the last version of m_iClip sent to hud dll
        int                m_iClientWeaponState;        42                                                        // the last version of the weapon state sent to hud dll (is current weapon, is on target)
        int                m_fInReload;                        43                                                        // Are we in the middle of a reload;

        int                m_iDefaultAmmo;                44



All times are GMT -4. The time now is 07:27.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.