Загрузка...

Триггербот для CS2 на Python

Тема в разделе Python создана пользователем Z1mber 20 мар 2024. (поднята 20 мар 2024) 775 просмотров

Загрузка...
  1. Z1mber
    Z1mber Автор темы 20 мар 2024 impulsive 410 26 апр 2022
    Python Triggerbot
    Всем привет!
    Сегодня лазил по просторам интернета в поиске триггера и ничего особо не нашел, однако позырил чужие проекты проверил, исправил ошибки и совместил их в 1 код
    Итак 1 что мы должны сделать это установить все необходимые библиотеки через cmd.exe, а именно:
    Код
    pip install pymem
    python -m pip install pywin32
    (возможно не все библиотеки т.к. многое забыл уже)

    Далее все необходимое нам импортируем:
    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
    После этого прописываем оффсеты:

    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 можно поставить любую клавишу):
    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"
    Далее пишем саму работу триггера:
    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()
    Итоговый код:
    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 банов я не знаю, на офф серверах пока не тестил, однако фактически это экстернал, поэтому прилететь не должно.
    Однако используйте на свой страх и риск!!!
     
    20 мар 2024 Изменено
  2. M300
    M300 20 мар 2024 творог или творог? 265 22 ноя 2020
    так есть же на ахк
     
    1. Z1mber Автор темы
      M300, ну так это фактически и есть ахк, ток на питоне
  3. Teddy_Bear
    Teddy_Bear 20 мар 2024 Заблокирован(а) 4786 8 авг 2017
    репортить хуесосов буду
     
    1. Посмотреть предыдущие комментарии (1)
    2. Teddy_Bear
      Doklsi, ну и пох. Всё равно отлетят, рано или поздно.
    3. Doklsi
      Teddy_Bear, ну осталось ещё на самый кайф RCE найти, если ты понимаешь к чему это приведет :kek:
  4. Killer_Is_Bro
    Killer_Is_Bro 4 май 2025 Ищю кента который может меня продвигать в его деле 236 27 дек 2018
    Есть свежий триггер бот для кс2?
     
Top