Python Triggerbot Всем привет! Сегодня лазил по просторам интернета в поиске триггера и ничего особо не нашел, однако позырил чужие проекты проверил, исправил ошибки и совместил их в 1 кодИтак 1 что мы должны сделать это установить все необходимые библиотеки через cmd.exe, а именно: pip install pymem python -m pip install pywin32 Code pip install pymem python -m pip install pywin32 (возможно не все библиотеки т.к. многое забыл уже) Далее все необходимое нам импортируем: import pymem, pymem.process, keyboard, time from pynput.mouse import Controller, Button from win32gui import GetWindowText, GetForegroundWindow from random import uniform from offsets import * from requests import get Python import pymem, pymem.process, keyboard, time from pynput.mouse import Controller, Button from win32gui import GetWindowText, GetForegroundWindow from random import uniform from offsets import * from requests import get После этого прописываем оффсеты: class Client: def __init__(self): try: self.offsets = get('https://raw.githubusercontent.com/a2x/cs2-dumper/main/generated/offsets.json').json() self.clientdll = get('https://raw.githubusercontent.com/a2x/cs2-dumper/main/generated/client.dll.json').json() except: print('Unable to get offsets.') exit() def offset(self, a): try: return self.offsets['client_dll']['data'][a]['value'] except: print(f'Offset {a} not found.') exit() def get(self, a, b): try: return self.clientdll[a]['data'][b]['value'] except: print(f'Unable to get {a}, {b}.') exit() Python class Client: def __init__(self): try: self.offsets = get('https://raw.githubusercontent.com/a2x/cs2-dumper/main/generated/offsets.json').json() self.clientdll = get('https://raw.githubusercontent.com/a2x/cs2-dumper/main/generated/client.dll.json').json() except: print('Unable to get offsets.') exit() def offset(self, a): try: return self.offsets['client_dll']['data'][a]['value'] except: print(f'Offset {a} not found.') exit() def get(self, a, b): try: return self.clientdll[a]['data'][b]['value'] except: print(f'Unable to get {a}, {b}.') exit() После этого прописываем параметры и бинд (вместо shift можно поставить любую клавишу): mouse = Controller() client = Client() dwEntityList = client.offset('dwEntityList') dwLocalPlayerPawn = client.offset('dwLocalPlayerPawn') m_iIDEntIndex = client.get('C_CSPlayerPawnBase', 'm_iIDEntIndex') m_iTeamNum = client.get('C_BaseEntity', 'm_iTeamNum') m_iHealth = client.get('C_BaseEntity', 'm_iHealth') triggerKey = "shift" Python mouse = Controller() client = Client() dwEntityList = client.offset('dwEntityList') dwLocalPlayerPawn = client.offset('dwLocalPlayerPawn') m_iIDEntIndex = client.get('C_CSPlayerPawnBase', 'm_iIDEntIndex') m_iTeamNum = client.get('C_BaseEntity', 'm_iTeamNum') m_iHealth = client.get('C_BaseEntity', 'm_iHealth') triggerKey = "shift" Далее пишем саму работу триггера: def main(): print(f"Tриггербот запущен\n Клавиша: {triggerKey.upper()}") pm = pymem.Pymem("cs2.exe") client = pymem.process.module_from_name(pm.process_handle, "client.dll").lpBaseOfDll while True: try: if not GetWindowText(GetForegroundWindow()) == "Counter-Strike 2": continue if keyboard.is_pressed(triggerKey): player = pm.read_longlong(client + dwLocalPlayerPawn) entityId = pm.read_int(player + m_iIDEntIndex) if entityId > 0: entList = pm.read_longlong(client + dwEntityList) entEntry = pm.read_longlong(entList + 0x8 * (entityId >> 9) + 0x10) entity = pm.read_longlong(entEntry + 120 * (entityId & 0x1FF)) entityTeam = pm.read_int(entity + m_iTeamNum) playerTeam = pm.read_int(player + m_iTeamNum) if entityTeam != playerTeam: entityHp = pm.read_int(entity + m_iHealth) if entityHp>0: time.sleep(uniform(0.01, 0.03)) mouse.press(Button.left) time.sleep(uniform(0.01, 0.05)) mouse.release(Button.left) time.sleep(0.03) else: time.sleep(0.1) except KeyboardInterrupt: break except: pass if __name__ == '__main__': main() Python def main(): print(f"Tриггербот запущен\n Клавиша: {triggerKey.upper()}") pm = pymem.Pymem("cs2.exe") client = pymem.process.module_from_name(pm.process_handle, "client.dll").lpBaseOfDll while True: try: if not GetWindowText(GetForegroundWindow()) == "Counter-Strike 2": continue if keyboard.is_pressed(triggerKey): player = pm.read_longlong(client + dwLocalPlayerPawn) entityId = pm.read_int(player + m_iIDEntIndex) if entityId > 0: entList = pm.read_longlong(client + dwEntityList) entEntry = pm.read_longlong(entList + 0x8 * (entityId >> 9) + 0x10) entity = pm.read_longlong(entEntry + 120 * (entityId & 0x1FF)) entityTeam = pm.read_int(entity + m_iTeamNum) playerTeam = pm.read_int(player + m_iTeamNum) if entityTeam != playerTeam: entityHp = pm.read_int(entity + m_iHealth) if entityHp>0: time.sleep(uniform(0.01, 0.03)) mouse.press(Button.left) time.sleep(uniform(0.01, 0.05)) mouse.release(Button.left) time.sleep(0.03) else: time.sleep(0.1) except KeyboardInterrupt: break except: pass if __name__ == '__main__': main() Итоговый код: код import pymem, pymem.process, keyboard, time from pynput.mouse import Controller, Button from win32gui import GetWindowText, GetForegroundWindow from random import uniform from offsets import * from requests import get class Client: def __init__(self): try: self.offsets = get('https://raw.githubusercontent.com/a2x/cs2-dumper/main/generated/offsets.json').json() self.clientdll = get('https://raw.githubusercontent.com/a2x/cs2-dumper/main/generated/client.dll.json').json() except: print('Unable to get offsets.') exit() def offset(self, a): try: return self.offsets['client_dll']['data'][a]['value'] except: print(f'Offset {a} not found.') exit() def get(self, a, b): try: return self.clientdll[a]['data'][b]['value'] except: print(f'Unable to get {a}, {b}.') exit() mouse = Controller() client = Client() dwEntityList = client.offset('dwEntityList') dwLocalPlayerPawn = client.offset('dwLocalPlayerPawn') m_iIDEntIndex = client.get('C_CSPlayerPawnBase', 'm_iIDEntIndex') m_iTeamNum = client.get('C_BaseEntity', 'm_iTeamNum') m_iHealth = client.get('C_BaseEntity', 'm_iHealth') triggerKey = "shift" def main(): print(f"Tриггербот запущен\n Клавиша: {triggerKey.upper()}") pm = pymem.Pymem("cs2.exe") client = pymem.process.module_from_name(pm.process_handle, "client.dll").lpBaseOfDll while True: try: if not GetWindowText(GetForegroundWindow()) == "Counter-Strike 2": continue if keyboard.is_pressed(triggerKey): player = pm.read_longlong(client + dwLocalPlayerPawn) entityId = pm.read_int(player + m_iIDEntIndex) if entityId > 0: entList = pm.read_longlong(client + dwEntityList) entEntry = pm.read_longlong(entList + 0x8 * (entityId >> 9) + 0x10) entity = pm.read_longlong(entEntry + 120 * (entityId & 0x1FF)) entityTeam = pm.read_int(entity + m_iTeamNum) playerTeam = pm.read_int(player + m_iTeamNum) if entityTeam != playerTeam: entityHp = pm.read_int(entity + m_iHealth) if entityHp>0: time.sleep(uniform(0.01, 0.03)) mouse.press(Button.left) time.sleep(uniform(0.01, 0.05)) mouse.release(Button.left) time.sleep(0.03) else: time.sleep(0.1) except KeyboardInterrupt: break except: pass if __name__ == '__main__': main() Python import pymem, pymem.process, keyboard, time from pynput.mouse import Controller, Button from win32gui import GetWindowText, GetForegroundWindow from random import uniform from offsets import * from requests import get class Client: def __init__(self): try: self.offsets = get('https://raw.githubusercontent.com/a2x/cs2-dumper/main/generated/offsets.json').json() self.clientdll = get('https://raw.githubusercontent.com/a2x/cs2-dumper/main/generated/client.dll.json').json() except: print('Unable to get offsets.') exit() def offset(self, a): try: return self.offsets['client_dll']['data'][a]['value'] except: print(f'Offset {a} not found.') exit() def get(self, a, b): try: return self.clientdll[a]['data'][b]['value'] except: print(f'Unable to get {a}, {b}.') exit() mouse = Controller() client = Client() dwEntityList = client.offset('dwEntityList') dwLocalPlayerPawn = client.offset('dwLocalPlayerPawn') m_iIDEntIndex = client.get('C_CSPlayerPawnBase', 'm_iIDEntIndex') m_iTeamNum = client.get('C_BaseEntity', 'm_iTeamNum') m_iHealth = client.get('C_BaseEntity', 'm_iHealth') triggerKey = "shift" def main(): print(f"Tриггербот запущен\n Клавиша: {triggerKey.upper()}") pm = pymem.Pymem("cs2.exe") client = pymem.process.module_from_name(pm.process_handle, "client.dll").lpBaseOfDll while True: try: if not GetWindowText(GetForegroundWindow()) == "Counter-Strike 2": continue if keyboard.is_pressed(triggerKey): player = pm.read_longlong(client + dwLocalPlayerPawn) entityId = pm.read_int(player + m_iIDEntIndex) if entityId > 0: entList = pm.read_longlong(client + dwEntityList) entEntry = pm.read_longlong(entList + 0x8 * (entityId >> 9) + 0x10) entity = pm.read_longlong(entEntry + 120 * (entityId & 0x1FF)) entityTeam = pm.read_int(entity + m_iTeamNum) playerTeam = pm.read_int(player + m_iTeamNum) if entityTeam != playerTeam: entityHp = pm.read_int(entity + m_iHealth) if entityHp>0: time.sleep(uniform(0.01, 0.03)) mouse.press(Button.left) time.sleep(uniform(0.01, 0.05)) mouse.release(Button.left) time.sleep(0.03) else: time.sleep(0.1) except KeyboardInterrupt: break except: pass if __name__ == '__main__': main() Если есть проблемы или вопросы пишите в комменты или лс лолза! Касаемо VAC банов я не знаю, на офф серверах пока не тестил, однако фактически это экстернал, поэтому прилететь не должно. Однако используйте на свой страх и риск!!!