I hooked Weapon_ShootPosition. It should return Vector EyePosition.
Inside @EntityPostHook i want to return new value type of Vector, but i got exception:
TypeError: No registered converter was able to extract a C++ pointer to type class CPointer from this Python object of type Vector
This is my code:
Syntax: Select all
manager = TypeManager()
ecx_storage = {}
CBasePlayer = manager.create_type_from_file(
'CBasePlayer', PLUGIN_DATA_PATH / 'firebulletsfix' / 'memory' / 'csgo' / 'CBasePlayer.ini')
@EntityPreHook(EntityCondition.is_human_player,
lambda entity: make_object(CBasePlayer, entity.pointer).weapon_shootposition)
def entity_pre_hook(stack_data):
ecx_storage[stack_data.registers.esp.address.address] = index_from_pointer(stack_data[0])
@EntityPostHook(EntityCondition.is_human_player,
lambda entity: make_object(CBasePlayer, entity.pointer).weapon_shootposition)
def entity_post_hook(stack_data, ret):
index = ecx_storage.pop(stack_data.registers.esp.address.address)
print('post_weapon_shootposition')
return NULL_VECTOR