Raised This Month: $51 Target: $400
 12% 

FindSendPropOffs


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
kadet.89
Veteran Member
Join Date: Nov 2012
Location: Serbia
Old 10-25-2014 , 11:55   FindSendPropOffs
Reply With Quote #1

How can I get the CollisionProperty pointer in my extension:

datamap:
PHP Code:
Sub-Class Table (1 Deep): m_Collision CCollisionProperty
... 
netprops:
PHP Code:
CBaseEntity (type DT_BaseEntity)
 
TableAnimTimeMustBeFirst (offset 0) (type DT_AnimTimeMustBeFirst)
  
Memberm_flAnimTime (offset 124) (type integer) (bits 8)
 
Memberm_flSimulationTime (offset 128) (type integer) (bits 8)
 
Memberm_vecOrigin (offset 772) (type vector) (bits 0)
 
Memberm_ubInterpolationFrame (offset 132) (type integer) (bits 2)
 
Memberm_nModelIndex (offset 114) (type integer) (bits 12)
 
Tablem_Collision (offset 328) (type DT_CollisionProperty)
... 
I think, this function can give me the right offset:
FindSendPropOffs("CBaseEntity", "m_Collision")
But IGameHelpers doesn't provide this function

Last edited by kadet.89; 10-25-2014 at 11:59.
kadet.89 is offline
Send a message via Skype™ to kadet.89
GoD-Tony
Veteran Member
Join Date: Jul 2005
Old 10-25-2014 , 16:02   Re: FindSendPropOffs
Reply With Quote #2

Quote:
Originally Posted by kadet.89 View Post
I think, this function can give me the right offset:
FindSendPropOffs("CBaseEntity", "m_Collision")
But IGameHelpers doesn't provide this function
https://github.com/alliedmodders/sou...Helpers.h#L158
__________________
GoD-Tony is offline
kadet.89
Veteran Member
Join Date: Nov 2012
Location: Serbia
Old 10-26-2014 , 05:25   Re: FindSendPropOffs
Reply With Quote #3

PHP Code:
sm_sendprop_info_t prop;
if (
gamehelpers->FindSendPropInfo("CBaseEntity""m_Collision", &prop))
{
    
CEntity *ptr this;
    
ptr = (CEntity*)(((char*)ptr) + prop.actual_offset);
    
CCollisionPropertyHelper *cppointer = (CCollisionPropertyHelper*) ptr;        
    
g_pSM->LogMessage(myself"SolidFlags %i"cppointer->GetSolidFlags());

My server crashes, so is it the right way to get a CollisionProperty pointer?
If I use this code:
PHP Code:
    edict_t *pEdict this->edict();
    if (
pEdict)
    {
        
ICollideable *pCollideable pEdict->GetCollideable();
    } 
I get another address:

cppointer - 502187796
pCollideable - 347033760

c_baseentity.h:
PHP Code:
virtual ICollideableGetCollideable() { return &m_Collision; }
inline CCollisionProperty *C_BaseEntity::CollisionProp() {return &m_Collision;} 
kadet.89 is offline
Send a message via Skype™ to kadet.89
Reply



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

Forum Jump


All times are GMT -4. The time now is 13:49.


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