Загрузка данных


import pymem
import pymem.process
import ctypes
import time

# Ваши оффсеты
OFFSET_RECOIL = 0x122E324     # Engine + 0x122E324 (PunchAngles)
OFFSET_WEAPON_ID = 0x108DD90  # hw.dll + 0x108DD90 (ID оружия)
OFFSET_FORCE_ATTACK = 0x131370  # Client + 0x131370

def main():
    print("=== CS 1.6 No Recoil ===")
    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
    
    recoil_addr = engine_base + OFFSET_RECOIL
    weapon_id_addr = engine_base + OFFSET_WEAPON_ID
    
    print(f"[+] Recoil (PunchAngles) адрес: {hex(recoil_addr)}")
    print("[*] No Recoil активен. F1 - вкл/выкл")
    print("[*] Просто стреляйте — отдачи не будет")
    
    enabled = True
    last_weapon = 0
    
    while True:
        # F1 для вкл/выкл
        if ctypes.windll.user32.GetAsyncKeyState(0x70) & 1:
            enabled = not enabled
            print(f"No Recoil: {'ON' if enabled else 'OFF'}")
            time.sleep(0.2)
        
        if not enabled:
            time.sleep(0.05)
            continue
        
        try:
            # Запоминаем текущее оружие (опционально, можно убрать)
            weapon_id = pm.read_int(weapon_id_addr)
            
            # Проверяем, зажата ли левая кнопка мыши (стрельба)
            if ctypes.windll.user32.GetAsyncKeyState(0x01) & 0x8000:
                # Обнуляем отдачу (PunchAngles)
                pm.write_float(recoil_addr, 0.0)     # Pitch
                pm.write_float(recoil_addr + 4, 0.0) # Yaw
                
                # Если хотите убрать разброс (No Spread)
                # pm.write_float(recoil_addr + 8, 0.0)
                
                # Маленькая задержка, чтобы не перегружать процессор
                time.sleep(0.001)
            
        except Exception as e:
            pass
        
        time.sleep(0.005)

if __name__ == "__main__":
    main()