我的自描外挂制作日志——FPS类游戏的自瞄【优化改进1】

简介: 我的自描外挂制作日志——FPS类游戏的自瞄【优化改进1】

前言

  在上篇文章中已完成实验猜想,今天要工作的核心是如何优化外挂的使用,今日工作的重点主要是优化如下功能项:

1.添加是否启动&结束按钮(指定建的输入或者关闭);

2. 添加鼠标右键触发自动瞄准机制(不必要时不进行自描实现,节省系统资源);

3. 剔除输出演示图像,仅进行鼠标的位置控制。

  考虑到在实际应用自描的过程中,我们不需要自描时在图像中把人物框出来,在实际应用中其基本逻辑如下:

  1. 打开游戏,进入游戏缓冲界面;
  2. 打开外挂;
  3. 获取游戏画面
  4. 判断游戏画面中是否存在目标物
  5. 外挂判断鼠标右键是否被执行
  6. 当鼠标右键被执行的时则执行“自描”,否则不执行;
  7. 不显示绘制目标框,只控制鼠标的移动

系统实施优化

获取游戏画面:

  对游戏视频画面处理和对视频处理有一定的差异,对视频处理我们可以直接进行读取视频然而在玩游戏的时候我们需要对游戏画面进行获取,这里获取游戏画面的频率注意以下,这个频率是你使用显示器刷新频率 我们可以通过opencv, pyautogui 实现屏幕截取和处理,后面我们就可以对获取的视频画面进行检测判断了。截图代码如下:

java

复制代码

import cv2
import numpy as np
import pyautogui
ScreenImg = pyautogui.screenshot()
ScreenImg  = cv2.cvtColor(np.array(ScreenImg ), cv2.COLOR_RGB2BGR)
cv2.imshow("ScreenImg ", ScreenImg 
cv2.waitKey(0)

右健执行自描

  在这个阶段我们已初步完成了获取游戏视频画面进行检测游戏内目标物是否存在和对目标物的中心坐标输出。考虑到一直执行目标检测和移动鼠标会耗费大量内存,以及在游戏中会有不好的体验感,这里我将做如下的优化:

  1. 对截图部分我们应当选择不显示,在使用yolo进行目标检测的时候只需要输出鼠标的位置坐标即可;
  2. 构建多线程,当右健(或其他指定按键)被执行时则执行后续的目标检测和移动鼠标。

python

复制代码

# 检测键盘是否被按下
def on_press(key):
    global BUG
    """定义按下时候的响应,参数传入key"""
    try:
        print(f'{key.char} down')
        if key.char == '1':
            BUG = True
            print(f'{key.char} down')
    except AttributeError:
        pass
def on_release(key):
    """定义释放时候的响应"""
    global BUG
    print(f'{key} up')
    try:
        print(f'{key.char} down')
        if key.char == '1':
            BUG = False
            print(f'{key.char} down')
    except AttributeError:
        pass
# 监听写法2
def listen_key_nblock():
    # mouse.Listener()
    listener = keyboard.Listener(
        on_press=on_press, on_release=on_release
    )
    listener.start()  # 启动线程


相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
3月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
229 6
|
4月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
680 5
|
8月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
875 54
|
存储 人工智能 关系型数据库
拥抱Data+AI|解码Data+AI助力游戏日志智能分析
「拥抱Data+AI」系列第2篇:阿里云DMS+AnalyticDB助力游戏日志数据分析与预测
拥抱Data+AI|解码Data+AI助力游戏日志智能分析
|
9月前
|
监控 安全 BI
优化 Apache 日志记录的 5 个最佳实践
Apache 日志记录对于维护系统运行状况和网络安全至关重要,其核心包括访问日志与错误日志的管理。通过制定合理的日志策略,如选择合适的日志格式、利用条件日志减少冗余、优化日志级别、使用取证模块提升安全性及实施日志轮换,可有效提高日志可用性并降低系统负担。此外,借助 Eventlog Analyzer 等专业工具,能够实现日志的高效收集、可视化分析与威胁检测,从而精准定位安全隐患、评估服务器性能,并满足合规需求,为强化网络安全提供有力支持。
241 0
优化 Apache 日志记录的 5 个最佳实践
|
11月前
|
关系型数据库 MySQL
图解MySQL【日志】——磁盘 I/O 次数过高时优化的办法
当 MySQL 磁盘 I/O 次数过高时,可通过调整参数优化。控制刷盘时机以降低频率:组提交参数 `binlog_group_commit_sync_delay` 和 `binlog_group_commit_sync_no_delay_count` 调整等待时间和事务数量;`sync_binlog=N` 设置 write 和 fsync 频率,`innodb_flush_log_at_trx_commit=2` 使提交时只写入 Redo Log 文件,由 OS 择机持久化,但两者在 OS 崩溃时有丢失数据风险。
274 3
|
JSON 安全 API
.net 自定义日志类
在.NET中,创建自定义日志类有助于更好地管理日志信息。示例展示了如何创建、配置和使用日志记录功能,包括写入日志文件、设置日志级别、格式化消息等。注意事项涵盖时间戳、日志级别、JSON序列化、线程安全、日志格式、文件处理及示例使用。请根据需求调整代码。
216 13
|
存储 人工智能 关系型数据库
拥抱Data+AI|玩家去哪儿了?解码Data+AI如何助力游戏日志智能分析
本文为阿里云瑶池数据库「拥抱Data+AI」系列连载第2篇,基于真实客户案例和最佳实践,探讨如何利用阿里云Data+AI解决方案应对游戏行业挑战,通过AI为游戏行业注入新的活力。文章详细介绍了日志数据的实时接入、高效查询、开源开放及AI场景落地,展示了完整的Data+AI解决方案及其实际应用效果。
|
JSON 监控 JavaScript
Node.js-API 限流与日志优化
Node.js-API 限流与日志优化
|
Arthas 监控 Java
JVM知识体系学习七:了解JVM常用命令行参数、GC日志详解、调优三大方面(JVM规划和预调优、优化JVM环境、JVM运行出现的各种问题)、Arthas
这篇文章全面介绍了JVM的命令行参数、GC日志分析以及性能调优的各个方面,包括监控工具使用和实际案例分析。
1471 3