您当前所在位置:首页>>CF活动大全

cf手游活动领取礼包如何使用.NET6开发一个英雄联盟游戏助手实时查看战绩,一起看看吧(内容干货满满)!

来源:CF装备助手|发布时间:2022-10-26 19:19:53|浏览次数:31

www cf助手

前言

看了网上很多自己开发的英雄联盟的小助手工具,当时苦于没有API,自己也想做一个。

后来发现了其实拳头本身就提供了LCU API在客户端运行的时候会暴露出来。

现在我们就来了解下工具的实现。

正文

查询数据:http协议访问resuful接口,查询一些静态数据,如账号信息,排位信息,战绩等。

websocket绑定接口,获取服务端发送过来的动态信息,如游戏进程,选英雄实时数据。

从上面我们得知,英雄联盟客户端在启动的时候一定会起来一个Web服务,并且会有一些Resuful接口和Websocket信息的发送。

那我们如何获取到呢?只要我们打开英雄联盟客户端并且用管理员启动cmd,输入:

wmic PROCESS WHERE name=LeagueClientUx.exe GET commandline

就能看到一些英雄联盟客户端启动的命令行信息。

主要是获取其中的服务端口和token.

接下来我们只要解析其中的信息。获取字符串中的端口,token,进程号等信息。

using (Process p = new Process()) { p.StartInfo.FileName = _cmdPath; p.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动 p.StartInfo.RedirectStandardInput = true; //接受来自调用程序的输入信息 p.StartInfo.RedirectStandardOutput = true; //由调用程序获取输出信息 p.StartInfo.RedirectStandardError = true; //重定向标准错误输出 p.StartInfo.CreateNoWindow = true; //不显示程序窗口 p.Start(); p.StandardInput.WriteLine(_excuteShell.TrimEnd(&) + "&exit"); p.StandardInput.AutoFlush = true; string authenticate = await p.StandardOutput.ReadToEndAsync(); p.WaitForExit(); p.Close(); var authenticate = await GetAuthenticate(); if (!string.IsNullOrEmpty(authenticate) && authenticate.Contains("--remoting-auth-token=")) { var tokenResults = authenticate.Split("--remoting-auth-token="); var portResults = authenticate.Split("--app-port="); var PidResults = authenticate.Split("--app-pid="); var installLocations = authenticate.Split("--install-directory="); Constant.Token = tokenResults[1].Substring(0, tokenResults[1].IndexOf(""")); Constant.Port = int.TryParse(portResults[1].Substring(0, portResults[1].IndexOf(""")), out var temp) ? temp : 0; Constant.Pid = int.TryParse(PidResults[1].Substring(0, PidResults[1].IndexOf(""")), out var temp1) ? temp1 : 0; }}

接下来我们需要启动http服务和websocket监听服务。

httpclient初始化:

public Task Initialize(int port, string token) { Port = port; Token = token; CreateHttpClient(); var authTokenBytes = Encoding.ASCII.GetBytes($"riot:{token}"); _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(authTokenBytes)); _httpClient.BaseAddress = new Uri($"https://127.0.0.1:{port}/"); return Task.CompletedTask; }

websocket初始化:

public Task Initialize(int port, string token) { _webSocket = new WebSocket($"wss://127.0.0.1:{port}/", "wamp"); _webSocket.SetCredentials("riot", token, true); _webSocket.SslConfiguration.EnabledSslProtocols = SslProtocols.Tls12; _webSocket.SslConfiguration.ServerCertificateValidationCallback = (response, cert, chain, errors) => true; _webSocket.OnMessage += WssOnOnMessage; return Task.CompletedTask; } private void WssOnOnMessage(object sender, MessageEventArgs e) { if (!e.IsText) return; var eventArray = JArray.Parse(e.Data); var eventNumber = eventArray[0].ToObject(); if (eventNumber != ClientEventNumber) return; var leagueEvent = eventArray[ClientEventData].ToObject(); if (string.IsNullOrWhiteSpace(leagueEvent?.Uri)) return; MessageReceived?.Invoke(this, leagueEvent); if (!_subscribers.TryGetValue(leagueEvent.Uri, out List

接下来我们只要启动这些服务,然后根据拳头官方的LCU API就能够访问到本地的一些数据了。

LCU API :https://lcu.vivide.re/

我这边用.NET 6 +WPF+VS2022制作了一个LOL工具,大家可以作为参考,开源免费,如果觉得还可以打个星球球了。

github地址:BruceQiu1996/NPhoenix: 英雄联盟插件,支持修改段位,修改生涯背景,自动接受对局,设置符文,查看队友战绩,上等马分析等等 (https://github.com/BruceQiu1996/NPhoenix)

NET6零基础教程

学习.NET6技术,讲解.NET6从入门到实战,解密.ASP.NETCore框架详细揭秘,应用实战实操,.NET6+微服务架构实战,容器技术Docker、WebAPI等揭秘,都是免费的,非常值得学习哟。

本教程16个视频课时,主要以.NET6背景,框架设计,.NET6从入门到精通-代码+脚本+文档展开。从环境准备到ASP.NETCore开发,系统得梳理了各项流程,从零开始了解基于C语言开发的工具、项目,跟着实操。最终能独立完成基于.NET语言的基本开发。

本套视频主要介绍《自动化生产管理平台》项目的相关功能设计与开发!

cf娟娟领取

从零搭建WPF项目,介绍开发中所使用的知识点,以及了解如何使用WPF开发上位机应用。实例功能截取自自动化生产管理系统,应用场景广泛;教学内容以交互界面处理为主,通信为辅,解决上位机开发最根本的需求。

视频内容

1、WPF基本开发环境

2、项目相关资源管理

3、应用主窗口的布局处理

4、监控界面的布局与数据对接

5、车间详情界面的布局与数据对接

6、通信过程与监控

项目截图

项目截图1
项目截图2
点击上方卡片领干货开发工具:Visual Studio 2022 17.3 Community Preview运行时框架:.NET 6 FrameworkUI框架:WPF通信环境:仿真ModbusSlave ModbusRTU协议通信

干货清单,需要的小伙伴直接来领就是了。

包含VS2022安装包 / C基础 .NET6/WPF/Winform零基础到各类实战!

卖课是在卖,免费资料还不是免费送!完整还附源码...

有看中的赶紧领,真不要钱!

资料免费自取:

cf海王领取地址

由于内容过多不便呈现,需要视频教程和配套源码的小伙伴,可点击这里,添加我知乎主页个人说明处号码 免费分享

也可直接点击下方卡片:点击后可自动复制威芯号,并跳转到威芯。得辛苦大家自行搜索威芯号添加。内容已做打包,添加后直接发送注意查收!

点击加入.NET技术社区,和数百位开发者一起进阶!

工具支持:

| 秒选英雄| 自动接受对局| 国服数据排行榜

查看英雄对位压制| 查看英雄优势对线| 5v5符文配置| 修改段位| 修改生涯背景

发送匹马信息到聊天界面| 查看召唤师战绩| 查看召唤师绝活英雄| 查看召唤师战绩详情

大乱斗秒选自己喜欢的英雄| 大乱斗符文推荐

下面是工具的一些截图:

文章来源.NET有点帅。

希望对你有用!最后大家如果喜欢我的文章,还麻烦动动小手点个关注。你有任何与 C/.NET 有关的问题,欢迎在评论区与我沟通,也欢迎大家加入最活跃的编程技术交流群 (.NET/WPF )与国内大部分,优质内容的作者(包括我)直接对线哈。

cf社区助手

©版权所有 2015-2023 珍惜CF辅助 XML地图 TXT地图
友情链接: CF活动助手一键领取