Skip to content

简单易用的基于 LCU API 的英雄联盟工具集。支持战绩查询、自动秒选等功能。

License

Notifications You must be signed in to change notification settings

comtnt/League-Toolkit

 
 

Repository files navigation

League Toolkit

利用合法的 League Client Update (LCU) API 实现的工具包。

主要功能包括:

  • 查看战绩,包括一切细节

    • 搜索玩家,通过任何标识符,包括召唤师名称(注意,此功能在实行新 ID 系统之后,通过名称查询的接口可能会失效)、召唤师 ID 和 PUUID。

    • 多页面战绩详情,你可以同时查看多个玩家,并且任何一个带有玩家的页面,都可以重定向到此页查看其战绩

    • 你可以查看一场游戏的杂项属性,将会通过一个表格尽数展示

    • 预览各种小组件!通过 LCU 内置的数据,可以获取所有装备、符文的介绍,在鼠标悬停时,你可以看看它们

    • 额外:战绩卡片是独立的,因此你可以在任何位置查看任何一场游戏战绩。战绩卡片抄袭了 OP.GG 的大部分样式,但也有一些不同

  • 查看对局中和英雄选择途中队友的战绩,给出一定的分析

    • 给出总览分析,不考虑重开局、PVE 局以及自定义、训练模式等

    • 查看段位,当然会优先展示当前队列的段位

    • 给出英雄选择偏好和胜率信息,可以看看队友更会玩什么英雄

    • 预组队检测,通过分别拉取几十场战绩进行分析。注意分析数量过大需要拉取大量详细对局战绩,可能会触发服务器 QPS

    • 胜率队检测,根据当场次胜率超过一定阈值时,注意可能有误判,谨慎甄别

    • 在结束游戏后记录玩家,并在下次匹配到时给出提示。战友还是宿敌?适当复盘总结经验

    • 在无法通过首选手段获取队友身份时,League Toolkit 会从聊天室中获取队友身份并查询战绩

  • 一些客户端操作

    • 使用调整窗口大小,一般用于重置显示不全的问题,因为使用了 Win32 API 操作了其他进程,因此该功能需要管理员权限。这是一个进阶功能,需要慎用

    • 重启渲染进程,用于重置界面问题。它和重启一样,似乎能解决一切麻烦。重启渲染进程不会导致进行中的任何操作中断,比如,不会触发秒退

  • 一些工具集,嗯,符合 Toolkit 的名字

    • 带有英雄选择台模式 (比如大乱斗) 的便捷小台,可以进行无 CD 换英雄,或重随或重随后立即拿回,你可以尽情展现你的手速,一秒三换

    • 自动化操作,包括:

      • 自动接受对局,这应该最基本的功能。你可以设置延时,并可以在延时内取消本次自动接受

      • 自动回复,去干别的事了?设置一段自动回复,在好友发来信息时回复它们

      • 自动选择,专门为匹配模式的秒选亚索玩家设计 (笑),也可以大乱斗秒抢 (不道德,慎用)

    • 生涯背景替换,换成任何你想要的英雄或其皮肤。比如可爱的星之守护者佐伊小姐

    • 虚假的段位卡片,在好友 hover 你的好友卡片时,展示一个最强王者段位!(当然是假的,下次登陆后就会重置)

    • 更改在线状态,你可以更改成离线 (在好友视角就是真的不在线) 或离开等状态。注意,不在游戏中时,你无法设置当前状态在游戏中

    • 创建房间,5v5 训练房间、按照 ID 创建房间统统可以。额外地,提供了人机添加功能,你可以设置它们的难度为“一般”,在自定义或训练的房间中 vs 5 个更有挑战性的人机。小提示,如果你卡在结算界面,你可以创建一个房间

    • 观战,通过召唤师名称 (问题同上,在启用新 ID 后,可能会失效)、ID 或 PUUID,调起观战功能。前提是目标必须存在,且在一个可观战的游戏中 (云顶、人机队列等不能观战)。当心,如果你想要观战,你必须退出房间,在空闲状态

    • 检查召唤师名称是否可用,问题同上,在启用新 ID 后,该可能会失效

    • 查看一场游戏。输入对局 ID,请求该场游戏的战绩

    • 过程中相关功能,你可以在英雄选择过程中秒退 (这和你直接点击右上角退出游戏行为相同,但并不会退出客户端,而是直接回到房间),或在游戏结束后回到房间 (这适合当卡在结算界面时使用)

  • 一些调试工具

    • 你可以看到当前 LCU 的连接密钥

    • 调出 League Toolkit 的 DevTools

    • 重新加载界面。如果 League Toolkit 出现了一些异常情况,可以尝试此操作,这将重置大部分内容

    • 在全局对象上,挂载了 lcuRequest、router 和 onLcuEvent,因此可以手动监听事件和进行对于 LCU 客户端的 HTTP 请求

    • 一个开箱即用的临时 LCU 事件订阅,你可以监听任何 URI,并且将其打印在控制台上。作者已经为你预留了一些常用的端点

  • 一些彩蛋,League Toolkit 中夹带了一些作者的私货,但通常只有开发者才能接触到它们

  • 一些未来的其他功能

注 1: 作者很讨厌隐藏战绩,因此对于任何隐藏战绩的玩家,都会重点标注。

注 2: 对于事件 URI 的监听,你可以指定动态 URL,包括如下都是合法的:

  • /lol-gameflow/v1/session (静态)

  • /lol-gameflow/v1/** (通配符前缀,只能放在最后面)

  • /lol-gameflow/:version/:endpoint (带有占位符)

  • /lol-gameflow/v1/* (带有匿名占位符)

注 3: 对于记录对局玩家,其使用 SQLite 作为数据库,存放在应用目录的 league-toolkit.db 中。

暂时未实现的功能

  • 自动符文等,因为太麻烦,且需要依赖外部数据源

  • 对游戏内进行修改的功能,因为作者太菜,不会写挂

  • 模拟操作进行的挂机功能,原因很显然

想要实现的功能

  • 能够调出英雄联盟客户端的 DevTools,但是作者对 CEF 了解不深,因此编译不出该功能的 .node 模块

  • 更加高性能的战绩 TAB 页面,现在在切换时有明显延迟,但又无法使用 KeepAlive 组件

作者的希望

  • 抛砖引玉,希望这个项目能为所有想要实现类似软件的人提供思路。作者使用简单的技术栈,并提供尽可能多的注释和代码可读性

  • Star!如果你中意这个项目,请不要吝啬你的 Star。

About

简单易用的基于 LCU API 的英雄联盟工具集。支持战绩查询、自动秒选等功能。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 47.8%
  • Vue 43.3%
  • Python 6.0%
  • C++ 1.8%
  • Less 0.8%
  • JavaScript 0.2%
  • HTML 0.1%