python游戏辅助lol_某顶之奕赌狗神器自用自动拿牌,python界面版全部源码以修复bug...

[Python] 纯文本查看 复制代码import sys,mainInterface,requests,os,SquadList,strategyForm,souPaiJieZou,zhengrongZWForm

from PyQt5.QtWidgets import QApplication,QMainWindow,QVBoxLayout,QLabel,QFrame,QAbstractItemView,QTableWidgetItem,QWidget

from PyQt5.QtCore import Qt

from PyQt5.QtGui import QCursor,QPixmap,QImage

from TFT import TFT

from NaiPai import AutoOPlayingChess,regDM,unRegDM

import threading

def buttonClick():

#取出对象mainWindow.sender()

if mainWindow.sender().text()=='官方阵容':

if squadList.isVisible():

squadList.setVisible(False)

else:

squadList.setVisible(True)

if squadListUI.tabZhengR.rowCount() ==0:

squadList.show() # 显示

loadingList()

if mainWindow.sender().text()=='关闭':

mainWindow.close()

squadList.close()

straForm.close()

spjzFrom.close()

zrzwFrom.close()

print('单击了',mainWindow.sender().text())

def tablistClick():

global dangqianData,spjzFrom,zrzwFrom

row = squadListUI.tabZhengR.selectedItems()[0].row()

dangqianData=strategyS[row]

if spjzFrom != '':

spjzFrom.setVisible(False)

showZhengRongZW(True)

def loadingList():

squadListUI.tabZhengR.setRowCount(len(list))

squadListUI.tabZhengR.setColumnCount(11)

# 禁止编辑

squadListUI.tabZhengR.setEditTriggers(QAbstractItemView.NoEditTriggers)

# 整行选择

squadListUI.tabZhengR.setSelectionBehavior(QAbstractItemView.SelectRows)

# 水平表格头显示和隐藏

squadListUI.tabZhengR.horizontalHeader().setVisible(False)

# 垂直表格头显示和隐藏

squadListUI.tabZhengR.verticalHeader().setVisible(False)

for i,item in enumerate(list):

strategy = tft.get_strategy(item['line_id'])

strategyS.append(strategy)

# 设置阵容强度

tphot = QLabel()

tphot.setAlignment(Qt.AlignCenter)

tphot.setStyleSheet('''

background-image: url(data/hot.png);

color: #98794C;

font-size:28px;

font:微软雅黑;

padding: 1px;

background-position:center;

''')

tphot.setText(item['quality'])

tphot.setAlignment(Qt.AlignCenter)

squadListUI.tabZhengR.setCellWidget(i, 0, tphot)

# 设置阵容名

tabItem = QTableWidgetItem(item['line_name'])

squadListUI.tabZhengR.setItem(i, 1, tabItem)

hero_location=strategy['hero_location']

level_3_heros=strategy['level_3_heros']

for j,heroitem in enumerate(hero_location):

chessData = chessId_get_data(chess, heroitem['hero_id'])

tpgFrame= QFrame()

if 'isChosenHero' in heroitem:

if heroitem['isChosenHero']!=None:

tpgFrame.setObjectName('tpgFrame')

tpgFrame.setStyleSheet('''

#tpgFrame{

border: 1px solid #DF8AE7;

border-radius: 5px;

}''')

vbox = QVBoxLayout()

tp = QLabel(tpgFrame)

if heroitem['hero_id'] in level_3_heros:

tp.setText('★★★')

tphot.setAlignment(Qt.AlignCenter)

tp.setStyleSheet('''

margin: 1px;

color: #FDBC03;

font-size:12px;

font:微软雅黑;

''')

tp.setMaximumSize(42, 12)

tp.setMinimumSize(42, 12)

tphot.setAlignment(Qt.AlignCenter)

tp1 = QLabel(tpgFrame)

tp1.setMaximumSize(42, 42)

tp1.setMinimumSize(42, 42)

#让图像适应标签

tp1.setScaledContents(True)

if chessData["price"] =='1':

color = '#989898'

elif chessData["price"] =='2':

color = '#58B137'

elif chessData["price"] =='3':

color = '#3678C8'

elif chessData["price"] =='4':

color = '#C81FC8'

else:

color = '#FDBC03'

tp1.setStyleSheet(f'''

margin: 1px;

border: 1px solid {color};

border-radius: 10px;

''')

chessPath = f"data/chess/{chessData['name']}"

try:

with open(chessPath, 'rb')as f:

img = QImage.fromData(f.read())

tp1.setPixmap(QPixmap.fromImage(img))

except:

url = f"https://game.gtimg.cn/images/lol/act/img/tft/champions/{chessData['name']}"

res = requests.get(url)

img = QImage.fromData(res.content)

tp1.setPixmap(QPixmap.fromImage(img))

with open(chessPath, 'wb')as f:

f.write(res.content)

vbox.addWidget(tp)

vbox.addWidget(tp1)

vbox.setContentsMargins(1,0,1,1)

#控件间距

vbox.setSpacing(1)

tpgFrame.setLayout(vbox)

squadListUI.tabZhengR.setCellWidget(i, 2 + j, tpgFrame)

# 行列大小根据内容调整大小

squadListUI.tabZhengR.resizeRowsToContents()

squadListUI.tabZhengR.resizeColumnsToContents()

def mainWindowInitialize():

'''

界面初始化

:return:

'''

mainWindow.move(0, 0)

ui.horizontalLayout.setContentsMargins(0,0,1,0)

mainWindow.resize(566, 40)

mainWindow.setWindowFlags(Qt.WindowMaximizeButtonHint | Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)

#绑定事件

ui.pushButton.clicked.connect(buttonClick)

ui.pushButton_2.clicked.connect(buttonClick)

ui.pushButton_3.clicked.connect(buttonClick)

ui.pushButton_4.clicked.connect(buttonClick)

ui.pushButton_5.clicked.connect(buttonClick)

path = 'data/chess/'

if os.path.isdir(path) == False:

os.makedirs(path)

path = 'data/equip/'

if os.path.isdir(path) == False:

os.makedirs(path)

def squadListInitialize():

'''

界面初始化

:return:

'''

# 加载官方列表

squadList.resize(800, 240)

squadListUI.verticalLayout.setContentsMargins(1, 0, 0, 1)

squadList.move(0, mainWindow.geometry().height()-3)

squadList.setWindowFlags(Qt.WindowMaximizeButtonHint | Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)

squadListUI.tabZhengR.clicked.connect(tablistClick)

def straFormInitialize():

# 加载攻略栏目

straForm.move(app.desktop().screenGeometry().width()-straForm.geometry().width(), 0)

straForm.setWindowFlags(Qt.WindowMaximizeButtonHint | Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)

#绑定栏目按钮功能

straFormUI.pushButton_5.clicked.connect(showShouPaiJieZou)

straFormUI.pushButton_4.clicked.connect(showZhengRongZW)

straFormUI.pushButton.clicked.connect(updataAutoChess)

def showShouPaiJieZou():

global spjzFrom

# ----------搜牌节奏-克制分析------------------

if spjzFrom!='':

if spjzFrom.isVisible() :

spjzFrom.setVisible(False)

return

if dangqianData!='':

spjzFrom = souPaiJieZou.SoPaiJieZou(dangqianData)

spjzFrom.setWindowFlags(Qt.WindowMaximizeButtonHint | Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)

spjzFrom.show()

spjzFrom.move(app.desktop().screenGeometry().width() - spjzFrom.geometry().width(),straForm.geometry().height() - 3)

def showZhengRongZW(kg=False):

global zrzwFrom,chess

# ----------阵容站位------------------

if kg!=True:

if zrzwFrom != '':

if zrzwFrom.isVisible():

zrzwFrom.setVisible(False)

return

if dangqianData!='':

zrzwFrom = zhengrongZWForm.ZhengRongZW(dangqianData,chess)

zrzwFrom.setWindowFlags(Qt.WindowMaximizeButtonHint | Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)

zrzwFrom.show()

zrzwFrom.move(app.desktop().screenGeometry().width() - zrzwFrom.geometry().width(),straForm.geometry().height() - 3)

def chessId_get_data(chess, hero_id):

'''

根据棋子的id返回棋子数据

:param chess:

:param hero_id:

:return:

'''

for n in range(len(chess)):

if hero_id == chess[n]['chessId']:

return chess[n]

def updataAutoChess():

global atpc,chess

chessList = [] # 模拟选中的棋子池,没界面模拟一下

if dangqianData!='':

hero_location=dangqianData['hero_location']

for item in hero_location:

#print(item)

#获取棋子名称

chessDATA= chessId_get_data(chess,item['hero_id'])

chessList.append(chessDATA['title'])

if len(chess)>0:

# 将需要购买的棋子放入池子中

atpc.chess=chessList

print('目前的自动列表:',atpc.chess)

if __name__=='__main__':

dangqianData=''

spjzFrom = ''

zrzwFrom = ''

# 创建一个QApplication类的实例

app=QApplication(sys.argv)

#----------mainwindow------------------

mainWindow=QMainWindow()#创建一个界面

ui=mainInterface.Ui_MainWindow()#实例化ui界面对象

ui.setupUi(mainWindow)#运行里面的代码

mainWindowInitialize() #初始化赋值

mainWindow.show() #显示

# ----------strategyForm------------------

straForm = QWidget() # 创建一个界面

straFormUI = strategyForm.Ui_strategyForm() # 实例化ui界面对象

straFormUI.setupUi(straForm) # 运行里面的代码

straFormInitialize() # 初始化赋值

straForm.show() # 显示

#------------squadList--------------------

squadList = QWidget()

squadListUI = SquadList.Ui_SquadFrom()

squadListUI.setupUi(squadList)

squadListInitialize()

tft = TFT()

# 可以使用print(列表名)打印数据

chess = tft.get_chess() # 获取所有的棋子数据 返回一个列表

equip = tft.get_equip() # 获取所有的装备数据 返回一个列表

job = tft.get_job() # 获取所有的职业数据 返回一个列表

race = tft.get_race() # 获取所有的羁绊数据 返回一个列表

list = tft.get_linelist()

strategyS=[]

#自动拿牌-------------------

# 初始化必要数据

reg_code = "luxiaolan63735f4be12fda045a12cf1b2927d5cbc19c" # 大漠后台的注册码

ver_info = 'www.52pojie.cn' # 附加信息,主要用于查询消费情况 填了更好查询,不填也无所谓

dictPath = '1920.txt' # 字库路径

processName = 'League of Legends.exe' # 进程名

# ----------------------------------------------------------------------------

# 创建自动购买棋子对象

atpc = AutoOPlayingChess()

# 登录大漠,免费版的大漠就可以省略这一步

value = atpc.dmReg(reg_code, ver_info)

# 设置好字库和配置

atpc.SetDict(dictPath)

# 判断是否登录成功

if value == 1: # 免费版的就不要这个if了

print(f'验证成功!')# 接下来就可以自己查接口说明来使用里面的全部方法了

# 启动自动购买棋子程序线程

t = threading.Thread( target=atpc.startAuto)

t.setDaemon(True)

t.start()

else:

if value == -2:

print('进程没有以管理员方式运行或者被第三方杀毒拦截. (建议关闭uac和杀毒软件),请用管理员权限运行本程序!')

else:

print(f'验证失败,失败代码为:{value},大概率是被杀毒拦截了!')

#进入程序主循环,并通过exit函数确保主循环安全结束

sys.exit(app.exec_())

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值