import time import re import requests import pymem import win32api import win32con import threading def get_new_offsets(): url = "https://raw.githubusercontent.com/a2x/cs2-dumper/main/output/client_dll.hpp" try: response = requests.get(url) response.raise_for_status() content = response.text pattern = r"constexpr\s+auto\s+(\w+)\s*=\s*(0x[0-9A-Fa-f]+);" matches = re.findall(pattern, content) offsets = {} for key, hex_val in matches: offsets[key] = int(hex_val, 16) needed = { "dwEntityList": offsets.get("dwEntityList", 0), "dwLocalPlayerPawn": offsets.get("dwLocalPlayerPawn", 0), "dwGlowObjectManager": offsets.get("dwGlowObjectManager", 0), "m_iTeamNum": offsets.get("m_iTeamNum", 0), "m_iGlowIndex": offsets.get("m_iGlowIndex", 0) } return needed except Exception as e: print(f"Error fetching new offsets from client_dll.hpp: {e}") return None glow_enabled = True def glow_esp(): offsets = get_new_offsets() if not offsets: return try: pm = pymem.Pymem("cs2.exe") except Exception as e: print(f"[ERROR] Glow ESP: {e}") return client = None for module in pm.list_modules(): if module.name.lower() == "client.dll": client = module.lpBaseOfDll break if not client: print("Failed to find client.dll") return print(f"[INFO] Client.dll base address: {hex(client)}") global glow_enabled while True: time.sleep(0.01) if not glow_enabled: continue try: local_player = pm.read_int(client + offsets["dwLocalPlayerPawn"]) except Exception as e: continue # Если не удалось прочесть local_player, пропускаем итерацию if not local_player: continue try: local_team = pm.read_int(local_player + offsets["m_iTeamNum"]) except Exception as e: continue # Если ошибка чтения, пропускаем объект try: glow_manager = pm.read_int(client + offsets["dwGlowObjectManager"]) except Exception as e: continue for i in range(1, 64): try: entity = pm.read_int(client + offsets["dwEntityList"] + i * 0x8) if not entity: continue entity_team = pm.read_int(entity + offsets["m_iTeamNum"]) if entity_team == local_team: continue glow_index = pm.read_int(entity + offsets["m_iGlowIndex"]) base = glow_manager + (glow_index * 0x40) pm.write_float(base + 0x8, 0.988) # Red pm.write_float(base + 0xC, 0.188) # Green pm.write_float(base + 0x10, 0.188) # Blue pm.write_float(base + 0x14, 1.0) # Alpha pm.write_int(base + 0x2C, 1) # Render when occluded except Exception as e: # Пропускаем данный объект при ошибке чтения/записи continue def toggle_glow(): global glow_enabled while True: if win32api.GetAsyncKeyState(0x78): # F9 key glow_enabled = not glow_enabled print("Glow ESP enabled" if glow_enabled else "Glow ESP disabled") time.sleep(0.5) time.sleep(0.01) if __name__ == "__main__": threading.Thread(target=toggle_glow, daemon=True).start() glow_esp() Код import time import re import requests import pymem import win32api import win32con import threading def get_new_offsets(): url = "https://raw.githubusercontent.com/a2x/cs2-dumper/main/output/client_dll.hpp" try: response = requests.get(url) response.raise_for_status() content = response.text pattern = r"constexpr\s+auto\s+(\w+)\s*=\s*(0x[0-9A-Fa-f]+);" matches = re.findall(pattern, content) offsets = {} for key, hex_val in matches: offsets[key] = int(hex_val, 16) needed = { "dwEntityList": offsets.get("dwEntityList", 0), "dwLocalPlayerPawn": offsets.get("dwLocalPlayerPawn", 0), "dwGlowObjectManager": offsets.get("dwGlowObjectManager", 0), "m_iTeamNum": offsets.get("m_iTeamNum", 0), "m_iGlowIndex": offsets.get("m_iGlowIndex", 0) } return needed except Exception as e: print(f"Error fetching new offsets from client_dll.hpp: {e}") return None glow_enabled = True def glow_esp(): offsets = get_new_offsets() if not offsets: return try: pm = pymem.Pymem("cs2.exe") except Exception as e: print(f"[ERROR] Glow ESP: {e}") return client = None for module in pm.list_modules(): if module.name.lower() == "client.dll": client = module.lpBaseOfDll break if not client: print("Failed to find client.dll") return print(f"[INFO] Client.dll base address: {hex(client)}") global glow_enabled while True: time.sleep(0.01) if not glow_enabled: continue try: local_player = pm.read_int(client + offsets["dwLocalPlayerPawn"]) except Exception as e: continue # Если не удалось прочесть local_player, пропускаем итерацию if not local_player: continue try: local_team = pm.read_int(local_player + offsets["m_iTeamNum"]) except Exception as e: continue # Если ошибка чтения, пропускаем объект try: glow_manager = pm.read_int(client + offsets["dwGlowObjectManager"]) except Exception as e: continue for i in range(1, 64): try: entity = pm.read_int(client + offsets["dwEntityList"] + i * 0x8) if not entity: continue entity_team = pm.read_int(entity + offsets["m_iTeamNum"]) if entity_team == local_team: continue glow_index = pm.read_int(entity + offsets["m_iGlowIndex"]) base = glow_manager + (glow_index * 0x40) pm.write_float(base + 0x8, 0.988) # Red pm.write_float(base + 0xC, 0.188) # Green pm.write_float(base + 0x10, 0.188) # Blue pm.write_float(base + 0x14, 1.0) # Alpha pm.write_int(base + 0x2C, 1) # Render when occluded except Exception as e: # Пропускаем данный объект при ошибке чтения/записи continue def toggle_glow(): global glow_enabled while True: if win32api.GetAsyncKeyState(0x78): # F9 key glow_enabled = not glow_enabled print("Glow ESP enabled" if glow_enabled else "Glow ESP disabled") time.sleep(0.5) time.sleep(0.01) if __name__ == "__main__": threading.Thread(target=toggle_glow, daemon=True).start() glow_esp() Подскажите по братски, почему glow не работает?
Scotch1, Ну ты получаешь их с репозитория дампера, у него ласт обновление 4 числа, обновление игры - 5, не факт, что оффсеты тоже были обновлены, но если уж у тебя чето перестало работать, то сдампи их руками этим же дампером и сравни