在hl引擎里面, CBaseEntity类将每个实体的属性数据(成员变量)、操作方法(成员函数)封装在一起形成一个整体,并作为基类派生出多种派生类(如CBasePlayer)实现实体的多态。
大部分类成员变量并没有公开,只能通过指针的方式读取或修改。实际上,提供类对象的指针+特定的offset即可对目标成员变量操作。然而在amxx中我们并没有简单办法根据实体id取得类对象指针,也没有办法对这个指针加offset后直接读写内存。幸亏fakemeta和hamsandwich模块给我们提供了操作成员变量的方法。
楼下将会比较详细的介绍喔
大部分类成员变量并没有公开,只能通过指针的方式读取或修改。实际上,提供类对象的指针+特定的offset即可对目标成员变量操作。然而在amxx中我们并没有简单办法根据实体id取得类对象指针,也没有办法对这个指针加offset后直接读写内存。幸亏fakemeta和hamsandwich模块给我们提供了操作成员变量的方法。
楼下将会比较详细的介绍喔