AssaultCube-Hack/main.py
imnyang 1730b73d1f
Some checks failed
Python Type Check and Lint / ci (push) Failing after 1s
feat: implement various player hacks and refactor main loop for modularity
2026-05-30 18:45:42 +09:00

90 lines
2.6 KiB
Python

import sys
import pyMeow as pm
from lib.keyboard import KeyboardManager
from modules.esp import Entity, init_colors as init_esp_colors, process_entities
from modules.aimbot import AimBot
from modules.armor import ArmorHack
from modules.health import HealthHack
from modules.grenade import GrenadeHack
from modules.mtp57 import MTP57Hack
from modules.mk77 import MK77Hack
class Pointer:
local_player = 0x17E0A8
entity_list = 0x18AC04
player_count = 0x18AC0C
view_matrix = 0x17DFD0
proc = None
base = None
hacks = {
"aimbot": True,
"esp": True,
"armor": True,
"health": True,
"grenade": True,
"mtp57": True,
"mk77": True
}
def init():
try:
proc = pm.open_process("ac_client.exe")
base = pm.get_module(proc, "ac_client.exe")["base"]
print("Process and base initialized successfully.")
except Exception as e:
print(f"Error initializing process: {e}")
sys.exit(1)
print(f"proc : {proc}")
print(f"base : {base}")
KeyboardManager.setup()
pm.overlay_init(target="AssaultCube", fps=144, trackTarget=True)
init_esp_colors()
def main():
while pm.overlay_loop():
pm.begin_drawing()
try:
player_count = pm.r_int(proc, base + Pointer.player_count)
local_player_addr = pm.r_int(proc, base + Pointer.local_player)
my_team = pm.r_int(proc, local_player_addr + 0x30C) # team offset
if hacks["armor"] == True:
ArmorHack.apply(proc, local_player_addr)
if hacks["health"] == True:
HealthHack.apply(proc, local_player_addr)
if hacks["grenade"] == True:
GrenadeHack.apply(proc, local_player_addr)
if hacks["mtp57"] == True:
MTP57Hack.apply(proc, local_player_addr)
if hacks["mk77"] == True:
MK77Hack.apply(proc, local_player_addr)
valid_entities = []
if player_count > 1:
ent_list = pm.r_int(proc, base + Pointer.entity_list)
ent_buffer = pm.r_ints(proc, ent_list, player_count)[1:]
v_matrix = pm.r_floats(proc, base + Pointer.view_matrix, 16)
valid_entities = process_entities(proc, ent_buffer, v_matrix, hacks.get("esp"))
if hacks["aimbot"] == True:
AimBot(proc, valid_entities, local_player_addr, my_team, KeyboardManager.is_left_shift_pressed())
except Exception as e:
pass
pm.end_drawing()
if __name__ == "__main__":
init()
main()