Page 1 of 1

CCSPlayerResource (cs_player_manager) cant find property

Posted: Sat Apr 25, 2020 5:54 pm
by InvisibleSoldiers

Syntax: Select all

from memory import DataType
from memory import find_binary
from memory import Convention
from memory.hooks import PreHook
from entities.helpers import baseentity_from_pointer

server_binary = find_binary('server')

update_player_data = server_binary[b'\x55\x8B\xEC\x83\xE4\xF8\x81\xEC\xB4\x00\x00\x00\x53\x8B\xD9\xC7\x44\x24\x14\x00\x00\x00\x00'].make_function(
Convention.THISCALL,
(DataType.POINTER,),
DataType.VOID
)

@PreHook(update_player_data)
def on_update_player_data(stack_data):
manager = baseentity_from_pointer(stack_data[0])
assert manager.classname == 'cs_player_manager'
alive = manager.get_datamap_property_pointer('m_bAlive')
#or
alive = manager.get_network_property_pointer('m_bAlive')


CCSPlayerResource stores info for scoreboard and send it to players.
Property m_bAlive is bool array with size of 64 for every player which determine player alive or not.
The property cant be found.

Re: CCSPlayerResource (cs_player_manager) cant find property

Posted: Sun Apr 26, 2020 12:46 pm
by L'In20Cible

Syntax: Select all

for player in PlayerIter():
print(
player.name,
'is' if manager.get_network_property_bool(
f'm_bAlive.{str(player.index).zfill(3)}'
) else 'isn\'t',
'alive!'
)

Re: CCSPlayerResource (cs_player_manager) cant find property

Posted: Fri May 01, 2020 1:50 pm
by InvisibleSoldiers
Thanks, it works.