【实战项目记录1】编写一个传奇3法师自动练级的python脚本

您所在的位置:网站首页 2d游戏自动打怪脚本案例 【实战项目记录1】编写一个传奇3法师自动练级的python脚本

【实战项目记录1】编写一个传奇3法师自动练级的python脚本

2024-06-13 17:30| 来源: 网络整理| 查看: 265

我基于pyautogui、tkinter以及几个标准库,结合面向对象的编程思路,从传奇3游戏的自动功能需求出发,研究了一个完整的法师练级打怪赚钱的小工具,给大家参考一下编程思路和一些实现想法。

闲来无事,在2022年上半年疫情封在家里,玩了一段时间的传奇3私服,估计这年头玩的没几个人了。

玩着玩着觉得练级枯燥了,打怪打钻都很枯燥,于是琢磨着想自动打怪,打好了还得自动捡装备,自动飞地图,装备满了还想自动去卖,卖完了再自动返回。于是就开始用python开始折腾了。

最后忘了迭代了多少个版本,终于可以稳定使用满足需求了,也发给了一起玩的几个哥们,省了他们的外挂月费。

疫情解封后就不玩游戏了,界面比较简单,代码写在下面,纯粹个人兴趣爱好。

  

#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time :2022-4-11 23:03 # @Author :Mengxh # @File :mir3-07-3.py 更新绝情LV1挂机脚本,自动红包和福利店,UI版 from tkinter import * import os import pyautogui import time import datetime import mir3_init import mir3_is_enemy import mir3_is_item import mir3_pickup def attack(): while True: print('开始攻击f2法术') k = 1 pyautogui.press('f2', interval=0.5) pyautogui.press('f2', interval=0.5) im_1 = pyautogui.locateOnScreen('./pics/menupng/kouxue.png', region=region_main, confidence=0.9) im_2 = pyautogui.locateOnScreen('./pics/menupng/kouxue.png', region=region_main, confidence=0.9) if im_1 or im_2: # print('打了有怪') pass else: # print('打了无怪') break def hongbao(): # pyautogui.click(role_x, role_y) # time.sleep(1) if window.poll: t = pyautogui.locateOnScreen('./pics/menupng/hongbao2.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.doubleClick(pos.x, pos.y) time.sleep(0.5) s = pyautogui.locateOnScreen('./pics/menupng/num_7.png', region=region_main, confidence=0.8) if s is not None: pos1 = pyautogui.center(s) pyautogui.click(pos1.x, pos1.y) time.sleep(2.5) window.after(1000, hongbao) else: print("结束红包") window.poll = True print('hongbao:', window.poll) def fulishop(): pyautogui.click(role_x, role_y) time.sleep(1) if window.poll: # 点老头 t = pyautogui.locateOnScreen('./pics/menupng/fucai1.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.moveTo(pos.x, pos.y - 10) pyautogui.click() time.sleep(3) # 点页面上的格子 t = pyautogui.locateOnScreen('./pics/menupng/fucai2.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) time.sleep(1) else: # 点上一页 print('当前页开完,点击上一页') t = pyautogui.locateOnScreen('./pics/menupng/fucai3.png', region=region_main, confidence=0.8) print(t) if t is not None: pos = pyautogui.center(t) print(pos) pyautogui.click(pos.x, pos.y) time.sleep(2) # 点页面上的格子 t = pyautogui.locateOnScreen('./pics/menupng/fucai2.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) time.sleep(1) window.after(1000, fulishop) else: print('钻石福利买完') else: print('点击停止') window.poll = True def zuanshi(): print('操作D菜单回收钻石') # pyautogui.click(role_x, role_y) # time.sleep(1) pyautogui.press('d') t = pyautogui.locateOnScreen('./pics/menupng/jinbi1.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) t = pyautogui.locateOnScreen('./pics/menupng/jinbi2.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) t = pyautogui.locateOnScreen('./pics/menupng/jinbi3.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) t = pyautogui.locateOnScreen('./pics/menupng/zuanshihuishou1.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) t = pyautogui.locateOnScreen('./pics/menupng/zuanshihuishou2.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) def buymed(n): print('随身买药') # pyautogui.click(role_x, role_y) time.sleep(1) pyautogui.press('w') t = pyautogui.locateOnScreen('./pics/menupng/med.png', region=region_main, confidence=0.8) if t is not None: print('包裹还有药,不买') pyautogui.press('w') pass else: print('开始买药') pyautogui.press('d') t = pyautogui.locateOnScreen('./pics/menupng/suishen1.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) t = pyautogui.locateOnScreen('./pics/menupng/suishen2.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) pyautogui.typewrite(str(n)) pyautogui.press('enter') t = pyautogui.locateOnScreen('./pics/menupng/suishen3.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) def repair(): print('装备特修') # pyautogui.click(role_x, role_y) time.sleep(1) pyautogui.press('d') t = pyautogui.locateOnScreen('./pics/menupng/texiu1.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) t = pyautogui.locateOnScreen('./pics/menupng/texiu2.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) def goto_lv1(): # 点击神石 t = pyautogui.locateOnScreen('./pics/locatepng/00shenshi.png', region=region_main, confidence=0.8) pos = pyautogui.center(t) pyautogui.moveTo(pos.x, pos.y - 10) # 点击神石 pyautogui.click() t = pyautogui.locateOnScreen('./pics/locatepng/xueyuanlv1.png', region=region_main, confidence=0.8) pos = pyautogui.center(t) pyautogui.click(pos) time.sleep(1) t = pyautogui.locateOnScreen('./pics/locatepng/mapzoom.png', region=region_main, confidence=0.6) if t is None: pyautogui.press('v') t = pyautogui.locateOnScreen('./pics/locatepng/mapzoom.png', region=region_main, confidence=0.6) pos = pyautogui.center(t) pyautogui.click(pos) t = pyautogui.locateOnScreen('./pics/locatepng/jqgate.png', region=region_main, confidence=0.6) pos = pyautogui.center(t) print(pos) pyautogui.moveTo(pos.x - 2, pos.y + 4) pyautogui.doubleClick() while True: t = pyautogui.locateOnScreen('./pics/locatepng/jqdoor.png', region=region_main, confidence=0.6) if t is not None: break t = pyautogui.locateOnScreen('./pics/locatepng/mapzoom.png', region=region_main, confidence=0.6) if t is None: pyautogui.press('v') t = pyautogui.locateOnScreen('./pics/locatepng/mapzoom.png', region=region_main, confidence=0.6) pos = pyautogui.center(t) pyautogui.click(pos) while True: # print('靠近大门') t = pyautogui.locateOnScreen('./pics/locatepng/jqdoor.png', region=region_main, confidence=0.6) if t is not None: # print('判断大门坐标') pos = pyautogui.center(t) # 判断物品坐标与人物的相对方向,定义行走方向 if pos.x < role_x - 13: x = l elif pos.x > role_x + 13: x = r else: x = role_x if pos.y = role_y + 5: y = d else: y = role_y pyautogui.click(x=x, y=y, button='LEFT') else: pyautogui.click(x=x, y=y, button='LEFT') break time.sleep(1) pyautogui.press('v') def auto_lv1(): global i global p if window.poll: time.sleep(2) k = 0 while mir3_is_enemy.is_enemy(): # 发现有怪继续攻击 while True: k = 1 pyautogui.press('f2', interval=0.5) pyautogui.press('f2', interval=0.5) im_1 = pyautogui.locateOnScreen('./pics/menupng/kouxue.png', region=region_main, confidence=0.9) im_2 = pyautogui.locateOnScreen('./pics/menupng/kouxue.png', region=region_main, confidence=0.9) if im_1 or im_2: # print('打了有怪') pass else: # print('打了无怪') break if k == 1: # 2. 判断捡东西 print('进入捡东西') # 获取东西坐标 pos_list = mir3_is_item.multi_thread() if pos_list: # 循环走到坐标点 for pos in pos_list: mir3_pickup.pickup(pos) p += 1 print('捡第%d个' % p) if p > 25: zuanshi() p = 0 # 定期修理装备 if i % 300 == 0: repair() # 随身买药 if i % 800 == 0: buymed(100) print('捡东西完成,瞬移') pyautogui.press('f5') print('i=', i, 'time = ', time.ctime()) i += 1 window.after(1000, auto_lv1) def auto_jqboss(): global i global p global jqboss_state global j if window.poll: if jqboss_state == 'active': print('i=', i, 'time = ', time.ctime()) # 判断有怪 print('判断是否有怪') if mir3_is_enemy.is_enemy(): pyautogui.click(role_x, role_y) attack() # 获取东西坐标 print('获取东西坐标列表') pos_list = mir3_is_item.multi_thread() if pos_list: if len(pos_list) > 10: zuanshi() # 循环走到坐标点 for pos in pos_list: mir3_pickup.pickup(pos) time.sleep(0.5) p += 1 print('捡第%d个' % p) if p % 8 == 0: zuanshi() if mir3_is_enemy.is_enemy(): attack() break else: t1 = pyautogui.locateOnScreen(f'./pics/locatepng/jqcenter2.png', region=mir3_init.region_jq, confidence=0.6) if t1 is not None: pos = pyautogui.center(t1) if abs(pos.x - mir3_init.jq_pos[0]) > 2 or abs(pos.y - mir3_init.jq_pos[1]) > 2: print('未在中心点区域,执行行走') while True: t1 = pyautogui.locateOnScreen(f'./pics/locatepng/jqcenter2.png', region=mir3_init.region_jq, confidence=0.6) if t1 is not None: pos = pyautogui.center(t1) print('pos:', pos) if abs(pos.x - mir3_init.jq_pos[0]) > 2 or abs(pos.y - mir3_init.jq_pos[1]) > 2: print('执行移动') if pos.x < mir3_init.jq_pos[0]: x = l elif pos.x > mir3_init.jq_pos[0]: x = r else: x = role_x if pos.y < mir3_init.jq_pos[1] - 2: y = u elif pos.y > mir3_init.jq_pos[1] + 2: y = d else: y = role_y pyautogui.click(x=x, y=y) if mir3_is_enemy.is_enemy(): print('向中心区域移动遇敌') attack() print('移动中遇敌攻击,中断移动') break else: print('移到中心区域,等待') jqboss_state = 'wait' zuanshi() repair() buymed(500) break else: print('已在中心点区域,等待') jqboss_state = 'wait' # 定期修理装备 if i % 100 == 0: repair() # 随身买药 if i % 300 == 0: buymed(200) i += 1 if jqboss_state == 'wait': if mir3_is_enemy.is_enemy(): print('遇敌攻击切换状态') attack() jqboss_state = 'active' j = 1 else: print('\r等待刷怪',j,end='',flush=True) j+=1 pass window.after(1000, auto_jqboss) def buygjbs(): print('购买攻击宝石') # m = int(input("输入要购买攻击宝石的次数,每次30个:")) m = int(pyautogui.prompt("输入要购买攻击宝石的次数,每次30个:")) pyautogui.click(role_x, role_y) time.sleep(1) pyautogui.press('d') t = pyautogui.locateOnScreen('./pics/menupng/suishen_zuanshi.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) t = pyautogui.locateOnScreen('./pics/menupng/zuanshi_teshu.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) t = pyautogui.locateOnScreen('./pics/menupng/teshu_qita.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) for i in range(m): t = pyautogui.locateOnScreen('./pics/menupng/gongjibaoshi.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) pyautogui.typewrite('30') pyautogui.press('enter') print(i + 1) def pickup_only(): global p if window.poll: pos_list = mir3_is_item.multi_thread() if pos_list: # 循环走到坐标点 for pos in pos_list: mir3_pickup.pickup(pos) p += 1 print('捡第%d个' % p) if p % 5 == 0: break if p > 23: zuanshi() p = 0 break window.after(1000, pickup_only) def backto_daoguan(): pyautogui.click(role_x, role_y) time.sleep(1) pyautogui.press('1') t = pyautogui.locateOnScreen('./pics/locatepng/home_daoguan.png', region=region_main, confidence=0.8) pos = pyautogui.center(t) pyautogui.click(pos) time.sleep(1) pyautogui.click(ld, button=RIGHT) pyautogui.click(ld, button=RIGHT) pyautogui.click(ld, button=RIGHT) def ten_boss(): global p backto_daoguan() p = 0 for n in range(8): # 判断boss是否被杀 time.sleep(2) pyautogui.press('d') t = pyautogui.locateOnScreen('./pics/locatepng/bossquery.png', region=region_main, confidence=0.8) pos = pyautogui.center(t) pyautogui.click(pos) time.sleep(2) t = pyautogui.locateOnScreen(bosskilllist[n], region=region_main, confidence=0.8) if t is not None: print(f'第{n + 1}个boss已消灭') t1 = pyautogui.locateOnScreen('./pics/menupng/suishen3.png', region=region_main, confidence=0.8) pos = pyautogui.center(t1) pyautogui.click(pos) continue # 点击神石 t = pyautogui.locateOnScreen('./pics/locatepng/00shenshi.png', region=region_main, confidence=0.8) pos = pyautogui.center(t) pyautogui.moveTo(pos.x, pos.y - 10) pyautogui.click() # 点击BOSS名字 t = pyautogui.locateOnScreen(bossmaplist[n], region=region_main, confidence=0.8) pos = pyautogui.center(t) pyautogui.click(pos) # 进入BOSS房移动 print('进入boss房移动') time.sleep(1) if n == 0: # 沃玛教主 print('进入沃玛教主房') while True: attack() pyautogui.click(rd, button='RIGHT') pyautogui.click(rd, button='RIGHT') pyautogui.click(rd, button='RIGHT') t = pyautogui.locateOnScreen('./pics/locatepng/tenbosspic/01.png', region=region_main, confidence=0.8) if t is not None: print('结束移动') break if n == 1: # 触龙神 attack() print('进入生死关') for i in range(6): pyautogui.click(r, role_y, button='RIGHT') attack() time.sleep(5) if n == 2: # 野猪 print('进入猪洞') while True: pyautogui.mouseDown(ru, button='RIGHT') time.sleep(2) pyautogui.click(ru, button='RIGHT') attack() t = pyautogui.locateOnScreen('./pics/locatepng/tenbosspic/03.png', region=region_main, confidence=0.8) t1 = pyautogui.locateOnScreen('./pics/locatepng/tenbosspic/03a.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) if pos.x >= role_x: pass else: print('结束移动') pyautogui.click(button='RIGHT') break if t1 is not None: break time.sleep(1) pyautogui.click(rd, button='RIGHT') pyautogui.click(rd, button='RIGHT') pyautogui.click(rd, button='RIGHT') if n == 3: # 赤月恶魔 print('进入赤月恶魔') attack() pyautogui.click(ru, button='RIGHT') pyautogui.click(ru, button='RIGHT') pyautogui.click(ru, button='RIGHT') attack() pyautogui.click(r, role_y, button='RIGHT') pyautogui.click(r, role_y, button='RIGHT') if n == 4: # 骷髅教主 print('进入骷髅教主') attack() pyautogui.click(ld, button='RIGHT') pyautogui.click(ld, button='RIGHT') pyautogui.click(ld, button='RIGHT') if n == 5: # 祖玛教主 print('进入祖玛教主') attack() pyautogui.click(r, role_y, button='RIGHT') pyautogui.click(r, role_y, button='RIGHT') pyautogui.click(r, role_y, button='RIGHT') attack() pyautogui.click(rd, button='RIGHT') pyautogui.click(rd, button='RIGHT') attack() pyautogui.click(ru, button='RIGHT') pyautogui.click(ru, button='RIGHT') attack() time.sleep(3) if n == 6: # 牛魔王 print('进入牛魔王') while True: pyautogui.mouseDown(ld, button='RIGHT') time.sleep(1) pyautogui.click(ld, button='RIGHT') t = pyautogui.locateOnScreen('./pics/locatepng/tenbosspic/06a.png', region=region_main, confidence=0.8) if t is not None: break attack() t1 = pyautogui.locateOnScreen('./pics/locatepng/tenbosspic/06b.png', region=region_main, confidence=0.8) if t1 is not None: break if n == 7: # 震天魔神 print('进入震天魔神') for i in range(4): attack() pyautogui.click(lu, button='RIGHT') pyautogui.click(lu, button='RIGHT') # 开始攻击 # 捡东西 print('攻击后进入捡东西') # 获取东西坐标 while True: attack() time.sleep(1) attack() pos_list = mir3_is_item.multi_thread() if pos_list: # 循环走到坐标点 for pos in pos_list: mir3_pickup.pickup(pos) time.sleep(1) p += 1 print('捡第%d个' % p) if p > 10: zuanshi() p = 0 else: break # 离开 backto_daoguan() def auto_lv1boss(): global a global b global i global p if window.poll: time.sleep(2) k = 0 while mir3_is_enemy.is_enemy(): # 发现有怪继续攻击 while True: k = 1 pyautogui.press('f2', interval=0.5) pyautogui.press('f2', interval=0.5) im_1 = pyautogui.locateOnScreen('./pics/menupng/kouxue.png', region=region_main, confidence=0.9) im_2 = pyautogui.locateOnScreen('./pics/menupng/kouxue.png', region=region_main, confidence=0.9) if im_1 or im_2: # print('打了有怪') pass else: # print('打了无怪') break if k == 1: # 2. 判断捡东西 print('进入捡东西') # 获取东西坐标 pos_list = mir3_is_item.multi_thread() if pos_list: # 循环走到坐标点 for pos in pos_list: mir3_pickup.pickup(pos) p += 1 print('捡第%d个' % p) if p > 30: zuanshi() p = 0 # 定期修理装备 if i % 300 == 0: repair() # 随身买药 if i % 800 == 0: buymed(100) print('捡东西完成,瞬移') pyautogui.press('f5') print('i=', i, 'time = ', time.ctime()) i += 1 if time.localtime()[3] == a: zuanshi() repair() ten_boss() goto_lv1() a = 25 if time.localtime()[3] == b: zuanshi() repair() ten_boss() goto_lv1() b = 25 window.after(1000, auto_lv1boss) def neice_tool(): input('打开内测管理者,点击[其他物品]') choice = int(input('选择要领取的东西:1.高级改造卡,2.高级神石,3.天地之锤,4.魔晶石:')) m = int(int(input("输入要的个数:"))/2) time.sleep(1) # pyautogui.click(role_x, role_y) if choice == 1: item = 'gaogai.png' elif choice == 2: item = 'gaoshen.png' elif choice == 3: item = 'tiandi.png' elif choice == 4: item = 'mojing.png' else: pyautogui.alert(f'输入错误!') item = '' if item: for i in range(m): t = pyautogui.locateOnScreen(f'./pics/menupng/{item}', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) pyautogui.typewrite('2') pyautogui.press('enter') print(m-i) pyautogui.alert(f'{m*2}个{item}兑换成功!') def upgrade_weapon(): for i in range(41): t = pyautogui.locateOnScreen(f'./pics/menupng/chaomax.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) pyautogui.click(pos.x, pos.y) t = pyautogui.locateOnScreen(f'./pics/menupng/chaomax_re.png', region=region_main, confidence=0.8) if t is not None: pos = pyautogui.center(t) pyautogui.click(pos.x, pos.y) def stop(): global tt print('time = ', datetime.timedelta(seconds=(time.time() - tt))) window.poll = False b10.config(state=DISABLED) print('stop:', window.poll) def reset_poll(): window.poll = True global a global b global i global p global tt global j global jqboss_state tt = time.time() i = 1 p = 0 a = 4 b = 7 j = 1 jqboss_state = 'active' print('reset poll True') b10.config(state=ACTIVE) def shutdown(): n = int(pyautogui.prompt('输入多少时间(分钟)后关机')) n = n * 60 os.system('shutdown -s -t %d' %n) pyautogui.alert(f'将于{n}秒自动关机') if __name__ == '__main__': print('窗口初始化') region_main = mir3_init.region_main # 游戏主画面范围 # 定义逐点行走方向和鼠标左右键 l = mir3_init.l # x = 100左 r = mir3_init.r # x = 900右 u = mir3_init.u # y = 150上 d = mir3_init.d # y = 550下 role_x = mir3_init.role_x # 人物中心点x坐标 role_y = mir3_init.role_y # 人物中心点y坐标 lu = (l, u) # 左上 ld = (l, d) # 左下 ru = (r, u) # 右上 rd = (r, d) # 右下 move_list_u = [lu, ru] move_list_d = [ld, rd] move_list = move_list_d + move_list_u # 装备图库载入列表 itemlist = [] for root, dirs, files in os.walk("./pics/pickup", topdown=False): for name in files: itemlist.append(os.path.join(root, name)) bosskilllist = [] for i in range(1, 9): bosskilllist.append(f'./pics/locatepng/bossiskill/0{i}.png') bossmaplist = [] for i in range(1, 9): bossmaplist.append(f'./pics/locatepng/tenbosspic/00{i}.png') pyautogui.FAILSAFE = True pyautogui.PAUSE = 1 window = Tk() window.title('传奇3小工具——made by mxh') window.geometry('490x90+1200+700') window.resizable(0,0) # 定义按钮 b1 = Button( window, text='打开红包', width=10, height=1, command=hongbao ) b1.grid(row=0, column=0) b2 = Button( window, text='钻石福利', width=10, height=1, command=fulishop ) b2.grid(row=0, column=1) b3 = Button( window, text='买攻击宝石', width=10, height=1, command=buygjbs ) b3.grid(row=0, column=2) b4 = Button( window, text='lv1挂机', width=10, height=1, command=auto_lv1 ) b4.grid(row=1, column=0) b5 = Button( window, text='jqboss挂机', width=10, height=1, command=auto_jqboss ) b5.grid(row=1, column=1) b6 = Button( window, text='挂机+10boss', width=10, height=1, command=auto_lv1boss ) b6.grid(row=1, column=2) b7 = Button( window, text='10个boss', width=10, height=1, command=ten_boss ) b7.grid(row=2, column=0) b8 = Button( window, text='前往雪原1', width=10, height=1, command=goto_lv1 ) b8.grid(row=2, column=1) # b8 = Button( # window, # text='超MAX武器', # width=10, # height=1, # command=upgrade_weapon # ) # b8.grid(row=2, column=1) b9 = Button( window, text='自动关机', width=10, height=1, command=shutdown ) b9.grid(row=2, column=3) # b9 = Button( # window, # text='返回道馆', # width=10, # height=1, # command=backto_daoguan # ) # b9.grid(row=2, column=2) # b9 = Button( # window, # text='内测兑换', # width=10, # height=1, # command=neice_tool # ) # b9.grid(row=2, column=2) b10 = Button( window, text='停止脚本', width=10, height=1, command=stop, ) b10.grid(row=0, column=3) b11 = Button( window, text='RESET', width=10, height=1, command=reset_poll ) b11.grid(row=1, column=3) b12 = Button( window, text='捡装备', width=10, height=1, command=pickup_only ) b12.grid(row=2, column=2) reset_poll() window.mainloop()



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3