Git Product home page Git Product logo

seraphine's Introduction

基于 LCU API 实现的英雄联盟战绩查询工具

License Forks Stars Downloads

快速上手 🤗

直接使用打包好的程序

点击这里进入发布页面,在下方找到资源中的 Seraphine.7z,点击下载并解压至文件夹中,双击运行其中的 Seraphine.exe 即可。

或通过本地构建

下载项目源码 zip 压缩包解压至文件夹或通过 git

git clone https://github.com/Zzaphkiel/Seraphine.git
cd Seraphine

创建并激活新的 conda 环境

conda create -n seraphine python=3.8
conda activate seraphine

安装依赖

pip install -r requirements.txt

运行 main.py 开始使用

python main.py

功能一览 (持续更新中)🥰

  • 战绩查询功能(不支持云顶之弈)

    • 同大区召唤师战绩查询 ✅
    • 进入 BP 后自动查队友战绩 ✅
    • 进入游戏后自动查对手战绩 ✅
  • 其他辅助功能

    • 自动 B/P

      • 找到对局后自动接受对局 ✅
      • 进入英雄选择后自动选择英雄 ✅
      • 进入禁用环节时自动禁用英雄 ✅
      • 自动接受来自队友的交换英雄 / 楼层请求 ✅
    • 外部数据显示

      • 自动显示大乱斗英雄 Buff 信息 ✅
      • 自动显示 OPGG 英雄排行 ✅
      • 自动显示 OPGG 英雄出装加点,一键设置符文 ✅
    • 游戏功能

      • 创建 5v5 自定义训练模式房间 ✅
      • 观战同大区玩家正在进行的游戏 ✅
      • 锁定游戏内设置 ✅
    • 客户端功能

      • 退出后自动重新连接 ✅
      • 修复客户端结算时无限加载和缩成一块 ✅
      • 热重启客户端 ✅
    • 个性化功能

      • 修改个人主页背景 ✅
      • 修改个人在线状态 ✅
      • 修改个人签名 ✅
      • 修改个人状态卡片中的段位显示 ✅
      • 一键卸下勋章 ✅
      • 一键卸下头像框 ✅

常见问题 FAQ 🧐

Q:我会因为使用 Seraphine 而被封号吗 😨?

由于本程序的功能完全基于英雄联盟客户端 API 实现,不含任何对客户端以及游戏文件本体、代码以及内存的读取或破坏其完整性的行为(详情见下方套盾环节)。因此仅使用 Seraphine 时极大概率不会被封号,但并不保证一定不会封号。

Q:真的被封号了怎么办?

申诉或等待解封吧 😭

Q:为什么客户端无法连接 / 功能无法使用 / 生涯界面无限转圈 / 最新战绩更新有延迟?

Seraphine 提供的战绩查询相关功能的数据均是由英雄联盟客户端接口所提供的,程序只是负责将它们显示出来。所以如果遇到功能无法使用或数据更新由延迟的情况,原因基本出在英雄联盟服务器本身,与 Seraphine 大概率没啥关系~

Q:为什么不提供具体某模式 / 某英雄总场次以及总胜率?

英雄联盟客户端没有提供相关数据接口,我们做不到哇~

Q:客户端为什么有时候会闪退?

我们怀疑客户端无法承载某些 HTTP 访问(它一碰就碎)。

帮助我们改进 Seraphine 😘

在您的使用过程中,如果遇到程序的任何 BUG 或不符合预期的行为,欢迎提出 issue。发布 issue 时请按照模板填写。发布新 issue 前请先善用搜索功能,看看之前是否讨论过相关或类似的问题!

如果您有功能上的添加或修改建议,也非常欢迎提出 issue 进行讨论!PR 也大欢迎!

您也可以自己打包可执行文件 📂

seraphine 虚拟环境下安装 Pyinstaller,并确认环境支持 7z 命令

pip install pyinstaller==5.13

执行项目中 make.ps1 脚本,通过 -dest 参数传入目标文件夹

.\make -dest .

或直接使用默认值,其为当前目录 .

.\make

命令结束后在目标文件夹获得 Seraphine.7z

Riot 声明 📢

Seraphine is not endorsed by Riot Games and does not reflect the views or opinions of Riot Games or anyone officially involved in producing or managing Riot Games properties. Riot Games and all associated properties are trademarks or registered trademarks of Riot Games, Inc

参考译文:Seraphine 未经 Riot Games 认可,也不代表 Riot Games 或任何官方参与制作或管理 Riot Games 产品的人的观点或意见。Riot Games 及其所有相关产物均为 Riot Games,Inc 的商标或注册商标。

套盾环节 🛡️

本程序为在 GitHub 仓库 Zzaphkiel/Seraphine 开源的代码,以及在 Release 或官方 QQ 群组中上传的二进制文件。本环节旨在让用户更加全面详尽地了解本程序以及可能风险,以便用户在使用本程序前及过程中做出充分的风险评估和明智的决策。

  1. 本程序的目的是通过为游戏玩家提供游戏外辅助功能,从而给玩家提供更好的游戏体验。我们不鼓励不支持任何违反 Riot 以及腾讯规定或任何可能导致游戏环境不公平的行为。
  2. 本程序的代码实现遵守 Riot Policies 的规定,提供的功能符合 《英雄联盟》游戏插件公约 的要求。
  3. 本程序是基于 Riot 提供的 League Client Update(LCU)API 开发的工具,其代码与行为均不含任何侵入性的手段,因此在理论上并不会做出任何破坏客户端以及游戏完整性的行为,包括但不限于客户端文件内容的修改或游戏进程内存的读写等。
  4. 我们尽力保证本程序软件本体以及使用时游戏客户端的稳定性,但尽管如此,在具体的游戏环境以及 Riot 或腾讯提供的服务更新的过程中(如反作弊系统或其他保护手段的更新),使用本程序可能会对您的游戏体验产生负面影响,如客户端崩溃(#158)、账号封禁(#408)等。
  5. 使用本程序所产生的一切后果将由您自行承担,我们不对因使用本程序而产生的任何直接或间接损失负责,用户在决定使用本程序时,应充分考虑并自行承担由此产生的所有风险和后果。
  6. 我们保留随时修改本免责声明的权利,请定期查阅此页面以获取最新信息。

在您使用本程序之前,请确保您已经详细阅读理解同意免责声明中的条款;同时,请遵守相关游戏规则,共同维护健康和公平的游戏环境。

参考资料 👀

点个 Star 支持我们 ⭐

致谢 🥳

  • 感谢所有贡献者对 Seraphine 的开发与维护提供的巨大帮助。

  • 感谢 大乱斗之家 为我们提供大乱斗 Buff 信息服务支持。

  • 感谢 JetBrains 为我们提供的免费许可证。

    Particularly, thanks to JetBrains for the free PyCharm license.

    PyCharm:适用于数据科学和 Web 开发的 Python IDE

交流群

  • Seraphine 交流群(QQ):926719775(已满,随缘进群),入群口令:enihpareS

许可证 ⚖️

  • 对于非商用行为,Seraphine 使用 GPLv3 许可证。
  • 禁止一切针对代码以及二进制文件的商用行为。

seraphine's People

Contributors

coolkiid avatar hpero4 avatar jqyisbest avatar leopoldchou avatar liangzilixueha avatar ninohana avatar zzaphkiel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

seraphine's Issues

能否增加一键配置符文功能

很高兴找到了我期望的用pyqt5实现。
我自己也写了一点点,但是不太会gui,对我来说这个项目就缺个一键配置符文功能,希望能一起维护。

【开源自荐】SolidUI 一句话生成任何图形

本人介绍

本人从事十年年大数据相关工作,做过用户增长,BI,大数据中台,知识图谱,AI中台,擅长大数据AI相关技术栈。在CSDN输出很多专栏,是CSDN博客专家,CSDN大数据领域优质创作者,2018年参与共建WeDataSphere开源社区,社区属性是数据相关综合社区,共建过DataSphereStudio(开发管理集成框架),Exchangis(数据交换工具),Streamis(流式应用开发管理系统),Apache Linkis (计算中间件) 。个人发起SolidUI数据可视化社区。Apache Asia 2022 讲师 ,Hadoop Meetup 2022 讲师,WeDataSphere Meetup 2022讲师。Apache Linkis Committer , EXIN DPO (数据保护官)。

2023年2月开始创业,全职运营SolidUI。

SolidUI介绍

一句话生成任何图形。

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

SolidUI Gitee https://gitee.com/CloudOrc/SolidUI
SolidUI GitHub https://github.com/CloudOrc/SolidUI
SolidUI 官网地址 https://cloudorc.github.io/SolidUI-Website/
Discord https://discord.gg/NGRNu2mGeQ
SolidUI v0.3.0 发版文章 https://mp.weixin.qq.com/s/KEFseiQJgK87zvpslhAAXw
SolidUI v0.3.0 概念视频 https://www.bilibili.com/video/BV1GV411A7Wn/
SolidUI v0.3.0 教程视频 https://www.bilibili.com/video/BV1xh4y1e7j6/
SolidUI 演示环境 http://www.solidui.top/ admin/admin

有强制观战的功能吗

之前看别人做过这个功能(付费的好像),可以输入ID 就可以观战了,现在游戏的观战功能一直不可用

依赖找不到

新手刚学python,使用阿里云和清华以及conda-forge的镜像下载PyQt5==5.15.9
image
image

去conda官网找也只找到5.15.6的
image

分享相关

博主好,软件真的非常棒👍🏻。另外关于分享相关的想问下您,没找到您的联系方式,麻烦您加下我 qq 404146585。期待与您的联系。

新版本中云顶模式卡顿, 疑似因拉取战绩导致

          最新版云顶bug,原来用的是别人分享的旧版本,昨天换了最新版,云顶也会自动查询其他玩家战绩,而且会有一段大概10多秒的卡顿,就像300帧减到30帧那样,不是游戏一开始,是游戏中途这样,旧版本没有这个问题

旧版0.6.1现在是0.8.1

Originally posted by @liu1999888 in #63 (comment)

使用过程中程序闪退无法运行

上次重装系统之后,再次运行软件直接闪退,但是推出lol又没问题了,下面是演示:

1695131024969.mp4

控制台输出:
image

E:\project\ideawork\lol\venv\Scripts\python.exe "E:/dev/PyCharm 2023.2.1/plugins/python/helpers/pydev/pydevd.py" --multiprocess --qt-support=auto --client 127.0.0.1 --port 52824 --file E:\project\ideawork\lol\main.py
已连接到 pydev 调试器(内部版本号 232.9559.58)Traceback (most recent call last):
File "E:\project\ideawork\lol\app\components\profile_level_icon_widget.py", line 79, in paintEvent
scaledImage = self.image.scaled(
^^^^^^^^^^^^^^^^^^
TypeError: arguments did not match any overloaded call:
scaled(self, width: int, height: int, aspectRatioMode: Qt.AspectRatioMode = Qt.IgnoreAspectRatio, transformMode: Qt.TransformationMode = Qt.FastTransformation): argument 1 has unexpected type 'float'
scaled(self, size: QSize, aspectRatioMode: Qt.AspectRatioMode = Qt.IgnoreAspectRatio, transformMode: Qt.TransformationMode = Qt.FastTransformation): argument 1 has unexpected type 'float'

进程已结束,退出代码为 -1073740791 (0xC0000409)

大佬你这功能不太实用啊

功能实用的也就一个战绩查询。但你这战绩查询只给出了战绩。我想应该使用一些直观的数据。例如对手队友最近的kda ,最近的排位胜率。该英雄的场次和胜率。一眼直观的看出队友和对手坑不坑。

添加自动选择英雄的建议

我看了辅助功能里有自动接受对局的功能。那能不能在成功接受后,加一个自动秒选英雄的功能呢?当然是限于匹配模式

能否添加新的功能

查询该玩家近期与谁组队游玩以及胜率
查询该玩家近期英雄选择率及胜率
锁定游戏ESC设置

给自动接收对局加入延迟时间的建议

关于自动接收对局功能,可以考虑加个自选延时时间(但是时间在超时拒绝之前)。
因为开启自动接受对局也有人去上厕所或者短暂不在电脑面前的时间,稍微延长一点时间可以让时间充足一点。

关于大乱斗骰子以及抢英雄相关功能的建议

感受:
漂亮,没用过这么干净的软件
个性签名可能会掉,我掉过一次,可能是我中间切换了一次大区
卡片设置非常惊喜,加上锁战绩使用(狗头),赞👍
想法:
1战绩查询能不能做到不启动客户端查询和跨区查询
2如果可以跨区能不能直接看到在线状态
3能不能给其他玩家设置id标记或者收藏之类的功能,比如标记一个演员,一个绝活哥,一个疑似小代,且改名后依然在标记列表里,人少的区非常有用
4能不能做到具体符文查询
5出装查询,每次商店购买循序能不能查询,或者按照几分钟一次把装备图做出来,比如某个玩家游戏2分钟是什么装备出门的,第8分钟是什么装备,第15分钟是什么装备,第20分钟等等,方便学某些英雄的绝活哥出装
6一键乱斗建房,匹配建房,能一键邀请固定好友更好
7乱斗秒用骰子,用骰子秒切换回原来的英雄,设置喜好英雄,备选区出现喜欢英雄秒锁,可以拆分开,秒锁归秒锁,秒用骰子归秒用骰子
8胜率号,胜率车队提示,比如某个账号前10把或者前20把80%以上胜率,或者直接标注已经多少连胜
再次感谢作者

修改个人在线状态问题反馈及自动选择英雄的建议

修改个人在线状态问题反馈:

  1. 在线状态修改成离线 应用 之后,游戏大厅显示离线,但是在掌盟上用另一个账号查看修改后的账号还是会显示游戏在线;
  2. 一局游戏进行完之后游戏大厅会重新显示在线。

自动选择英雄可不可以不直接锁定。

最后还是感谢作者提供的工具,辛苦啦!

报错:QPaintDevice: Cannot destroy paint device that is being painted

python版本3.10
本地构建时运行main.py后闪退报错,报错日志如下:

QPaintDevice: Cannot destroy paint device that is being painted
QWidget::repaint: Recursive repaint detected
QPainter::begin: A paint device can only be painted by one painter at a time.

在cmd中运行报上述错误,在pycharm中直接闪退无报错,调试模式报错如下:

    scaledImage = self.image.scaled(
TypeError: arguments did not match any overloaded call:
  scaled(self, width: int, height: int, aspectRatioMode: Qt.AspectRatioMode = Qt.IgnoreAspectRatio, transformMode: Qt.TransformationMode = Qt.FastTransformation): argument 1 has unexpected type 'float'
  scaled(self, size: QSize, aspectRatioMode: Qt.AspectRatioMode = Qt.IgnoreAspectRatio, transformMode: Qt.TransformationMode = Qt.FastTransformation): argument 1 has unexpected type 'float'
python-BaseException

bug:文字撕裂

在这种长条战绩(个人战绩和对局队友战绩和对方战绩)会出现这种文字撕裂情况;
image
点进具体一项对局会出现UI挤压掉的情况:
image
我的缩放比例是200%

请问使用的打包命令是什么

我这边给程序添加了一键喊话的功能,集成了lol-helper的部分功能,主要是你的软件有UI,切比较好看,所以想增强下功能,
准备打包测试好后发起合并请求。
不确定你那边用的打包工具是什么,可以在readme中说明下打包命令吗,也有利于后续更多人加入贡献

启动闪退

release v0.6.1
解压之后启动闪退,管理员身份运行.exe依旧闪退,没有报错信息。偶尔可以看到主界面之后闪退,偶尔直接闪退。

5v5练习模式

5v5练习模式只能加入电脑吗?邀请好友开始客户端会弹窗错误。

观战导致封号

您好,我使用0.7.2版本观战导致封号,请问是观战会导致封号还是因为我没更新到最新版本而导致观战封号呢?如果是后者希望您能加入一个新版本的提示,万分感谢!!!

一点点小建议

非常感谢作者提供的软件,速度相当快且进入对局自动查询,用的很舒服

提供一点点小建议
1、对局信息内的展示UI,看的有点不清楚,是否可以优化一下
2、是否可以新增开黑展示,只要查询上局和本局都在一起,就判定为开黑,虽然不准确,但是效率高,应该也不需要大的性能和api之类的。开黑的玩家ID用同一颜色标记,有两队玩家就是两种颜色
3、对局信息内,友方、敌方战绩是否能展示在一个页面内,这样看起来更加方便
4、看到本软件是有返回键的,但是在左上角,第一次用真没发现,电脑的窗口UI一般都在右上角的

最后再次感谢作者,用的真的很舒服🙏

关于对局信息界面的优化建议

首先感谢大佬们不断地优化迭代,之前的建议也已被采纳改进,0.8.0版使用后又想到了一些优化的建议,先放两张图对比以便于更清晰地表达,前者大佬写的,后者另一个助手的
a1
a2
然后是具体的建议:
1.对局信息页面——召唤师名称前增加英雄头像,这样谁是谁更一目了然
2.对局信息页面——该页面的信息密度高、文字小而紧凑,看着不算十分清晰,不知是否可以通过加大字号、增粗字体、增大间距、字体颜色区别化(游戏模式、日期、KDA数据都可以用不同颜色展示以做出区分)等方式来让信息展示更清晰易读。比如图二界面,虽然UI简单,不如大佬的整齐美观,但展示出来的数据信息却更加清晰易读,整体黑色的背景虽然简陋却不喧宾夺主,而是把更明亮的颜色给了数据信息,将更重要的信息以更清晰的方式展示出来,私以为这种方式虽简陋却有奇效,大佬也可以在此基础上进行优化
再次感谢大佬们的辛苦付出,希望这些建议能帮大佬提供新的思路或灵感

战绩显示界面的一点小建议

RbmRRYDqMA
战绩显示查询能否做成图片这个样子,刚刚注册的这个,我是编程小白,如果有冒犯或者建议不合理请不要在意。
非常感谢作者制作的这个便民小工具,谢谢。

无法连接客户端

你好,感谢项目开发及分享
目前我使用release版本的exe可执行文件启动插件,游戏客户端启动后一直处于 客户端连接中 的状态,无法正常使用功能。
游戏安装在C盘,是否与此有关

敌方阵容有AI玩家时, 程序会报错

20230917162913

image

C:\Users\Jiangh\.conda\envs\seraphine\python.exe D:\python\Seraphine\main.py 
Exception in thread Thread-4:
Traceback (most recent call last):
  File "C:\Users\Jiangh\.conda\envs\seraphine\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "C:\Users\Jiangh\.conda\envs\seraphine\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "D:\python\Seraphine\app\view\main_window.py", line 1008, in _
    result = future.result()
  File "C:\Users\Jiangh\.conda\envs\seraphine\lib\concurrent\futures\_base.py", line 437, in result
    return self.__get_result()
  File "C:\Users\Jiangh\.conda\envs\seraphine\lib\concurrent\futures\_base.py", line 389, in __get_result
    raise self._exception
  File "C:\Users\Jiangh\.conda\envs\seraphine\lib\concurrent\futures\thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "D:\python\Seraphine\app\view\main_window.py", line 968, in process_item
    teammatesMarker = [
  File "D:\python\Seraphine\app\view\main_window.py", line 971, in <listcomp>
    if sId in [x['summonerId'] for x in enemies] and cnt >= cfg.get(cfg.teamGamesNumber)
  File "D:\python\Seraphine\app\view\main_window.py", line 971, in <listcomp>
    if sId in [x['summonerId'] for x in enemies] and cnt >= cfg.get(cfg.teamGamesNumber)
KeyError: 'summonerId'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.