陰陽師代刷小程序


起因

本人在平時偶爾玩玩陰陽師,最近陰陽師推出了拜師系統,獎勵豐厚。收夠五個徒弟還能有動態框框和皮蛋。但是自己又不是魔鬼那種巨佬,又沒人看的上。故開了個小號,小號又沒有櫻餅開不了系統自帶的代刷系統。想到python能夠通過模塊來控制鼠標,那么能不能通過python控制鼠標來代肝呢。

實現

python用來控制鼠標之類的系統控件的模塊為pywin32,pywin32模塊下載地址在安裝時需先配置python環境,安裝完pywin32后就可以開始編碼了。(本人使用網易陰陽師官方電腦版客戶端登錄)

import random
import time
import win32api, win32gui, win32con

# 需要點擊的坐標
pos = {
    'people':(578, 336),#單人開始按鈕的坐標
    'team':(659, 398),#多人組隊開始按鈕的坐標
}

def reset_window_pos(targetTitle):
    '''
    搜索桌面上的應用,將對應應用名的窗口固定並拉伸尺寸 
    '''
    hWndList = []
    win32gui.EnumWindows(lambda hWnd, param: param.append(hWnd), hWndList)
    for hwnd in hWndList:
        title = win32gui.GetWindowText(hwnd)
        if (title.find(targetTitle) >= 0):    #調整目標窗口到坐標(600,300),大小設置為(600,600)
            win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, 0,0,800,0, win32con.SWP_SHOWWINDOW)

def ClickLeftCur():
    '''
    鼠標的單擊事件 
    '''
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
    time.sleep(0.05)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)


def moveCurPos(pos):
    '''
    鼠標的移動事件
    '''
    win32api.SetCursorPos(pos)


def getCurPos():
    '''
    獲取鼠標的坐標 
    '''
    return win32gui.GetCursorPos()

def GetRandom():
    '''
    生成隨機坐標元祖
    '''
    return (random.randint(20,700),random.randint(300,400))

if __name__ == '__main__':
    time.sleep(2)
    # 獲取當前鼠標的坐標
    # xy = getCurPos()
    # print(xy)
    # 獲取陰陽師手游的窗口並將它固定
    reset_window_pos('陰陽師-網易游戲')
    # 循環操作
    for i in range(100):
        # 移動到單人開始的坐標,模擬點擊,並等待23秒
        # 組隊時,將pos['people']改為pos['team']即可
        moveCurPos(pos['people'])
        ClickLeftCur()
        time.sleep(23)
        # 戰斗結算畫面,隨機點擊御魂下方的畫面
        moveCurPos(GetRandom())
        ClickLeftCur()
        time.sleep(1.5)
        moveCurPos(GetRandom())
        ClickLeftCur()
        time.sleep(3)
        moveCurPos(GetRandom())
        ClickLeftCur()
        moveCurPos(pos['people'])
        ClickLeftCur()
        ClickLeftCur()
        #等待轉場動畫結束
        time.sleep(3)

其中的時間設定可根據具體情況來設定。運行時需要使用管理員權限來運行不然會報錯

這只是一段粗制濫造的代碼,測試下來刷了三四百體力沒啥問題。雖然程序友好性極差,但已經基本滿足了我的個人需求。可能等以后有新需求了會再做優化吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM