import pymem
import pymem.process
import ctypes
import time
# Оффсет проверки на земле (OnGround)
OFFSET_ON_GROUND = 0x122E2D4 # Engine + 0x122E2D4
# Оффсет прыжка (ForceJump)
OFFSET_FORCE_JUMP = 0x131434 # Client + 0x131434
def main():
print("=== CS 1.6 Bunny Hop (автопрыжок) ===")
print("Rutube: https://rutube.ru/channel/43805541")
print("Telegram: hackeriks")
print()
try:
pm = pymem.Pymem("hl.exe")
print("[+] hl.exe найден")
except:
print("[-] CS 1.6 не запущена")
return
# Получаем базы модулей
engine = pymem.process.module_from_name(pm.process_handle, "hw.dll")
client = pymem.process.module_from_name(pm.process_handle, "client.dll")
engine_base = engine.lpBaseOfDll
client_base = client.lpBaseOfDll
on_ground_addr = engine_base + OFFSET_ON_GROUND
force_jump_addr = client_base + OFFSET_FORCE_JUMP
print(f"[+] OnGround адрес: {hex(on_ground_addr)}")
print(f"[+] ForceJump адрес: {hex(force_jump_addr)}")
print("[*] Зажмите ПРОБЕЛ для автоматического прыжка")
print("[*] F1 - вкл/выкл, Ctrl+C - выход")
enabled = True
jumping = False
while True:
# F1 для вкл/выкл
if ctypes.windll.user32.GetAsyncKeyState(0x70) & 1:
enabled = not enabled
print(f"Bunny Hop: {'ON' if enabled else 'OFF'}")
time.sleep(0.2)
if not enabled:
time.sleep(0.05)
continue
# Проверяем, зажат ли ПРОБЕЛ
if ctypes.windll.user32.GetAsyncKeyState(0x20) & 0x8000:
on_ground = pm.read_int(on_ground_addr)
if on_ground == 1 and not jumping:
# Прыгаем
pm.write_int(force_jump_addr, 5)
time.sleep(0.01)
pm.write_int(force_jump_addr, 4)
jumping = True
elif on_ground == 0:
jumping = False
time.sleep(0.005)
if __name__ == "__main__":
main()