Board logo

标题: [原创] 使用Python批量创建RR小号 [打印本页]

作者: cyber1987    时间: 2020-1-23 14:05     标题: 使用Python批量创建RR小号

暗黑玩了17年,啥都玩过了,现在主要是休闲,平时也会编程做点小脚本,不过暗黑2的脚本从来没做过。
RR的第一步是创建小号,但是重复劳动较多,所以想试试Python怎么实现。
花了一个小时写了出来,相当于按键精灵,给大家分享一下(需要根据自己电脑的分辨率调整坐标)。
1、需要懂一点点Python基础,包括安装相关ide
2、需要在https://www.lfd.uci.edu/~gohlke/pythonlibs/安装pyHook,我安装的是pyHook-1.5.1-cp37-cp37m-win_amd64.whl(最下面有RAR打包的代码和3.7版本对应的pyhook)
3、需要pip install pyuserinput

# coding=utf-8
from pymouse import PyMouse
from pykeyboard import PyKeyboard
import time

def click_and_sleep(h, v, seconds=1):
    '''点击并暂停'''
    m.click(h, v)
    time.sleep(seconds)

def alt_table():
    '''alt_table切换页面'''
    k.press_key(k.alt_key)
    k.tap_key(k.tab_key)
    k.release_key(k.alt_key)
    time.sleep(1)

def login_d2():
    '''登录Diablo游戏'''
    k.press_keys([k.windows_l_key, 'm']) #返回到桌面上
    time.sleep(1)
    m.click(1552, 354, n=2) #双击打开游戏
    time.sleep(3)
    click_and_sleep(980, 538) #略过开始界面

def login_account(username, password='这边输入你自己的密码'):
    '''登录账户'''
    click_and_sleep(979, 577)  # 点击battle.net
    m.click(981, 568, n=2) #双击账户名
    time.sleep(1)
    k.type_string(username) #输入账户名
    time.sleep(1)
    k.press_key(k.tab_key)
    time.sleep(1)
    k.type_string(password) #输入密码
    click_and_sleep(967, 699) #登录

def make_char(account_name):
    '''新建非资料片小号'''
    first_name = account_dict[account_name][0] #角色最后两个字母的第一个字母
    char_occupation = account_dict[account_name][1] #角色的职业
    for i in ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']:
        click_and_sleep(697, 726, 1)  # 新建人物
        click_and_sleep(char_dict[char_occupation][0], char_dict[char_occupation][1])
        char_name = 'CYFZ' + first_name + i #角色的全名
        k.type_string(char_name)
        time.sleep(1)
        click_and_sleep(885, 764) #取消资料片人物
        click_and_sleep(1252, 787)  # 点击“好”
        click_and_sleep(1292, 712)  # 点击“结束”

if __name__ == "__main__":
    m = PyMouse()
    k = PyKeyboard()
    print(m.position())
    char_dict = {'bar': (963, 516), 'ama': (666, 516), 'nec': (862, 516), 'pal': (1078, 516), 'sor': (1178, 516)}
    account_dict = {'cyrr1':('A', 'bar'), 'cyrr2':('B', 'pal'), 'cyrr3':('C', 'nec'), 'cyrr4':('D', 'ama'), 'cyrr5':('E', 'sor'), 'cyrr6':('F', 'bar'), 'cyrr7':('G', 'pal')}
    login_d2()
    for key in account_dict:
        login_account(key)
        make_char(key)
        click_and_sleep(666, 788, seconds=1) #返回游戏主界面



暗黑rr脚本.rar (26.91 KB)

图片附件: 1579759228(1).jpg (2020-1-23 14:05, 284.52 KB) / 该附件被下载次数 0
http://test.anhei2.com/attachment.php?aid=963821



附件: 暗黑rr脚本.rar (2020-1-23 14:05, 26.91 KB) / 该附件被下载次数 0
http://test.anhei2.com/attachment.php?aid=963822
作者: ct1206    时间: 2020-1-23 14:47

隔行如隔山,对我来说就是天书
作者: 369369369    时间: 2020-1-23 15:35

不错不错支持
作者: orango    时间: 2020-1-23 15:38     标题: 回复 1# 的帖子

可以,可以
作者: 303602511    时间: 2020-1-23 16:58

学历有限,看不懂,抱大腿给个大树。
作者: drognan    时间: 2020-1-23 17:21

天数!!!
作者: windily    时间: 2020-2-18 08:57

与时俱进~
作者: qsww16387    时间: 2020-2-18 09:45

大神出现在地表
作者: Iceql    时间: 2020-2-18 14:37

Thanks for sharing the script in python .
although it can be easily implemented in JavaScript by the various existing programs




欢迎光临 anhei3战网 (http://test.anhei2.com/) Powered by Discuz! 6.0.0