admin管理员组文章数量:1516870
1. 本文内容
本文会介绍如何编写一个LOL一键载入自定义天赋。
最终效果如下:
:
exe下载地址:
本节会重点介绍有关LOL接口的部分,对GUI部分不进行过多介绍。
2. LOL LCU接口
要想和LOL客户端进行交互,需要使用官方提供的LCU接口,所有的第三方工具都是通过这些接口实现的。
在使用LCU接口前需要获取IP、端口和Token。
2.1 获取LOL客户端信息
首先登录游戏
登录游戏后使用 管理员权限运行cmd ,然后输入如下命令:
wmic PROCESS WHERE name='LeagueClientUx.exe' GET commandline
之后你会的得到如下输出:
C:\Users\XHXIAIEIN>wmic PROCESS WHERE name='LeagueClientUx.exe' GET commandline
CommandLine
"D:/Game/league of legends cn/英雄联盟/LeagueClient/LeagueClientUx.exe"
"--riotclient-auth-token=PVBsuiBiaNdAdIAnDoNg7yisxg"
"--riotclient-app-port=63381"
"--riotclient-tencent"
"--no-rads"
"--disable-self-update"
"--region=TENCENT"
"--locale=zh_CN"
"--t.lcdshost=hn1-sz-feapp.lol.qq.com"
"--t.chathost=hn1-sz-ejabberd.lol.qq.com"
"--t.lq="
"--t.storeurl="
"--t.rmsurl=wss://sz-rms-bcs.lol.qq.com:443"
"--rso-auth.url="
"--rso_platform_id=HN1"
"--rso-auth.client=lol"
"--t.location=loltencent.sz.HN1"
"--tglog-endpoint="
"--t.league_edge_url="
"--ccs="
"--dradis-endpoint="
"--remoting-auth-token=lgxHX-LuAnDaXbyzA08w" <---⭐ 找到这个参数 `--remoting-auth-token=XXX`
"--app-port=63405" <---⭐ 找到这个参数 `--app-port=XXX`
"--install-directory=d:\game\league of legends cn\鑻遍泟鑱旂洘\LeagueClient"
"--app-name=LeagueClient"
"--ux-name=LeagueClientUx"
"--ux-helper-name=LeagueClientUxHelper"
"--log-dir=LeagueClient Logs"
"--crash-reporting=none"
"--crash-environment=HN1"
"--app-log-file-path=d:/game/league of legends cn/英雄联盟/LeagueClient/../Game/Logs/LeagueClient Logs/2022-08-03T14-38-37_8368_LeagueClient.log"
"--app-pid=8368"
"--output-base-dir=d:/game/league of legends cn/鑻遍泟鑱旂洘/LeagueClient/../Game"
"--no-proxy-server"
我们需要从这些输出中提取出以下三项:
--remoting-auth-token=lgxHX-LuAnDaXbyzA08w
--app-pid=8368
--app-port=63405
之后我们就可以调用LCU接口了,IP固定为
127.0.0.1
,端口为
--app-port
,这里是
63405
,例如:
获取当前天赋:
GET
2.2 LCU接口调用
我们获取到端口后,就可以通过 https 调用了, 注意:必须用https 。
LCU接口可以在 这里查询到,你也可以参考 项目的 文件。
在调用前,还需要构造http headers,需要包含如下三条内容:
{"Accept":"application/json","Content-Type":"application/json","Authorization":"Basic "+ auth
}
其中auth是使用base64对
riot:${remoting-auth-token}
进行加密后的得到的结果,使用过Python实现为:
import base64
token ="lgxHX-LuAnDaXbyzA08w"
auth = base64.b64encode(("riot:"+ token).encode("UTF-8")).decode("UTF-8")
authorization ="Basic "+ auth
当构建好headers后,就可以按照API文档调用了,使用Python实现如下:
import requests
url =""
headers ={"Accept":"application/json","Content-Type":"application/json","Authorization":"Basic "+ auth
}
resp = requests.get(url, headers=headers, verify=False)ifnot resp.ok:
utils.error("获取符文页失败!")return
resp_content = resp.text
3. LCU天赋接口实战
知道LCU接口的基本用法,就可以进行实战了,本项目使用了天赋接口。其path为
/lol-perks/v1/pages
,其中增删改查分别对应的是
POST
、
GET
和
DELET
。
获取天赋
- Method: GET
-
Path:
/lol-perks/v1/pages
请求参数:无
请求响应:
[{"autoModifiedSelections":[],"current":false, # 是否是当前选择的天赋页
"id":1934761678, # 天赋页id,删除时需要用到
"isActive":false,"isDeletable":true,"isEditable":true,"isValid":true,"lastModified":1658841402785,"name":"布里茨 By Frank", # 符文页的名称
"order":0, # 符文页顺序,第一页
"primaryStyleId":8400, # 主系id
"subStyleId":8300, # 副系id
"selectedPerkIds":[8439, # 主系第1个
8446, # 主系第2个
8429, # 主系第3个
8451, # 主系第4个
8345, # 副系第1个
8347, # 副系第2个
5007, # 通用第1个
5002, # 通用第2个
5001 # 通用第3个
],},...]Python实现:
url = self.url +"/lol-perks/v1/pages"
resp = requests.get(url, headers=self.headers, verify=False)ifnot resp.ok:
utils.error("获取符文页失败!")return
resp_content = resp.text
删除天赋
- Method: DELETE
-
Path:
/lol-perks/v1/pages/${runeId}
请求参数:请求参数在path上,
${runeId}
就是上面天赋页中的id
请求响应:无
python实现:
url = self.url +"/lol-perks/v1/pages/"+str(runes[index]['id'])
resp = requests.delete(url, headers=self.headers, verify=False)ifnot resp.ok:
utils.error("删除符文失败!")return写入天赋
- Method: POST
-
Path:
/lol-perks/v1/pages/${runeId}
请求参数:
{"autoModifiedSelections":[],"current":true,"name":"测试符文页","order":0,"primaryStyleId":8400,"subStyleId":8300,"selectedPerkIds":[8439,8446,8429,8451,8345,8347,5007,5002,5001]}请求响应:无
python实现:
url = self.url +"/lol-perks/v1/pages"
resp = requests.post(url, json=rune_json, headers=self.headers, verify=False)ifnot resp.ok:
utils.error("载入符文页失败!")return4. 总结
根据上面的LCU接口,再结合简单的封装与GUI设计,即可实现自定义天赋工具。代码详情请参考
参考资料
:
:
:
版权声明:本文标题:LCU接口大揭秘:轻松实现LOL自定义天赋符文一键加载,游戏体验更佳! 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/web/1772593820a3275518.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论