from struct import pack from hack import Hack from utils import Color3i class Chams(Hack): def __init__(self, **kwargs) -> None: super().__init__(**kwargs) self.__color = Color3i(255, 255, 0) def chams(self) -> None: # Aliases mem = self.pm offset = self.offsets # Get module addresses client = self.find_module("client") engine = self.find_module("engine") # Get local player local_player = self.find_uint(client, offset["dwLocalPlayer"]) def cheat(): # Loop all entities for i in range(1, 32): # 0 is world entity = mem.read_uint( client + offset["dwEntityList"] + i * offset["entity_size"]) # Ignore if entity doesn't exist if not entity: continue # Ignore allies if mem.read_int(entity + offset["m_iTeamNum"]) == mem.read_int(local_player + offset["m_iTeamNum"]): continue # Space between values i = mem.read_int( entity + offset["m_iGlowIndex"]) * offset["glow_obj_size"] # Change color if self.__color.r > 0: mem.write_uint( entity + offset["m_clrRender"] + offset["render_R"], self.__color.r) if self.__color.g > 0: mem.write_uint( entity + offset["m_clrRender"] + offset["render_G"], self.__color.g) if self.__color.b > 0: mem.write_uint( entity + offset["m_clrRender"] + offset["render_B"], self.__color.b) # Override the brightness of models by increasing # the minimal brightness value brightness = 5. mem.write_int( engine + offset["model_ambient_min"], int.from_bytes(pack("f", brightness), byteorder='little') ^ ( engine + offset["model_ambient_min"] - 0x2C) ) self.hack_loop(cheat)