Ayuto

Dump CS:S events

Oct 27th, 2014
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.14 KB | None | 0 0
  1. import memory
  2.  
  3. from memory.manager import manager
  4. from memory.manager import CustomType
  5. from memory.manager import Type
  6.  
  7. from events.manager import game_event_manager
  8.  
  9. class CGameEventDescriptor(CustomType, metaclass=manager):
  10.     _size = 64
  11.  
  12.     name = manager.instance_attribute(Type.STRING_ARRAY, 0)
  13.     keys = manager.pointer_attribute('KeyValues', 36)
  14.     # And more...
  15.  
  16. class CGameEventManager(CustomType, metaclass=manager):
  17.     descriptors = manager.dynamic_instance_array(
  18.         'CGameEventDescriptor', 4, 512)
  19.  
  20.     event_count = manager.instance_attribute(Type.INT, 16)
  21.  
  22.     def get_valid_descriptors(self):
  23.         for index in range(self.event_count):
  24.             yield self.descriptors[index]
  25.  
  26. gmngr = memory.make_object(CGameEventManager,
  27.     memory.get_object_pointer(game_event_manager))
  28.  
  29. for index, descriptor in enumerate(gmngr.get_valid_descriptors()):
  30.     print('%03s: %s'% (index, descriptor.name))
  31.  
  32.     subkeys = descriptor.keys.get_first_sub_key()
  33.     while subkeys:
  34.         name = subkeys.get_name()
  35.         print('\t', name.ljust(20), descriptor.keys.get_string(name))
  36.         subkeys = subkeys.get_next_key()
Add Comment
Please, Sign In to add comment