Python監控鼠標事件的壓槍腳本

本文僅供學習和交流使用,若使用腳本導致遊戲封號或其他後果不負一切責任哈~

其實很簡單,主要是監控用戶的各種操作,之前花了好久在網上找相關庫,都是些什麼pyhook,pymouse這種的,要求多不實用而且講道理也不太友好,對環境還有要求,配置測試好久,雖然也可以吧,後來發現還有pynput,一個庫功能齊全,果斷就放棄前面的了。當然了,需要 pip install pynput 安裝一下。

老樣子,直接上代碼趴~

# coding=utf-8
"""
   喫雞壓槍腳本,可以快速單點可以長按,按backspace退格鍵開啓和關閉
                    ——by Joy
"""
import threading
from pynput.mouse import Button, Listener, Controller
from pynput import keyboard
import time

# 記錄操作指令
# 射擊
shoot = 0
# 倍鏡
scope = -1
# 開啓壓槍狀態
status = 1

# 鼠標控制器
controller = Controller()

"""
鼠標事件
"""
def mouse_click(x, y, button, pressed):
    global shoot
    global scope
    if pressed:
        # 開啓倍鏡
        if button == Button.right:
            scope = - scope
        # 開始射擊
        if button == Button.left:
            shoot = 1
    # 結束射擊
    if not pressed and button == Button.left:
        shoot = 0

# 監控鼠標位置
def mouse_move(x, y):
    print x, y

"""
鍵盤事件
"""
def keyboard_release(key):
    global status
    if key == keyboard.Key.backspace:
        # 更改壓槍狀態
        status = -status
"""
監聽事件方法
"""
def mouseListener():
    with Listener(on_click=mouse_click, on_move=mouse_move) as listener:
        listener.join()

def keyboardListener():
    with keyboard.Listener(
            on_release=keyboard_release) as listener:
        listener.join()

def main():
    threading._start_new_thread(mouseListener, ()) 
    threading._start_new_thread(keyboardListener, ())
    # 循環監聽各狀態並控制鼠標
    while 1:
        if shoot == 1 and scope == -1 and status == 1:
            time.sleep(0.2) # 根據一般的子彈射速有節奏的壓槍
            controller.move(0, +15)
        elif shoot == 1 and scope == 1 and status == 1:  # 開啓倍鏡,增加壓槍幅度
            time.sleep(0.2)
            controller.move(0, +25)


if __name__ == '__main__':
    main()

運行腳本測試是OK的,不過沒進遊戲試過怕被封,233333


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章