【已弃用】Eigeen's Loader 插件加载器 1.0.0-RC1
概述

封装大量常用功能,并提供一个统一的API;安全地加载插件。

提供特征码扫描,且同一搜索对象会被缓存。

提供静态单例管理,通过静态单例名获取单例地址, 无须担心游戏更新插件失效。

此项目大量参考 SharpPluginLoader (SPL),感谢作者。SPL是一个基于C#的 MHW 插件加载器。

安装和卸载

当前版本: 1.0.0-RC1 (预发布版)

网盘下载:https://pan.baidu.com/s/1fSAdhVTAL8PORm8iI002xg?pwd=rhdg (rhdg)

仓库:https://github.com/eigeen/eigeen-loader-lib

可使用你喜欢的MOD管理工具导入压缩包安装,或者将压缩包内容解压到游戏根目录。

核心文件:d3d11.dll,eigeen_loader.dll

卸载:如果使用管理工具,则直接在管理工具中卸载。手动卸载:删除上述两个核心文件,即可卸载,并保留您曾经安装的插件。

删除(包括插件):除了删除上述文件外,还需删除 eigeen_loader 文件夹的所有内容


Q&A

Q: 已经有 Stracker's Loader 了,为什么还有这个?

A: 首先我们了解一下我们最常用的前置功能:它的核心功能其实是增加了自定义任务和自定义怪物亚种的能力。

而插件加载只是一个小功能。其行为是将dll加载到进程空间,然后不做任何事情。直到15.22更新时,作者才加入了一点特征码扫描的工具函数(还挺难用,主要是为MonsterLoader和QuestLoader这两个子模块使用的)。

没有统一的API,意味着每个插件都必须打包自己的工具库,并独立运行。例如使用了按键检测的插件,每个插件都要独立处理按键监听。使用了聊天输入的插件,每个插件都要对输入函数下一层Hook。

因此,我特意封装了常用的共享API,使用新的前置提供。


Q: 这个前置与我的其他前置冲突吗?

A: 与现有的常用前置均可共存。特指 Stracker's Loader 和 SPL。


开发者指南

插件开发语言支持:Rust,C,C++


Rust:

在 Cargo.toml 中导入库:

eigeen-loader-lib = { git = "https://github.com/eigeen/eigeen-loader-lib.git" }

在 build.rs 中设置库链接:

    println!("cargo:rustc-link-search=lib");

    println!("cargo:rustc-link-lib=eigeen_loader.dll");

您可以参考示例项目:(stub)


C/C++:

导入头文件,设置 eigeen_loader.dll.lib 库链接。

示例项目:https://github.com/eigeen/eigeen-loader-lib/tree/main/examples/cpp_example


API参考

参考示例项目 (stub)

附件
1.0.0-RC1
免费
by Eigeen本征 更新于 2024-12-17
若有附件,打赏后可直接下载 赠人玫瑰 手留余香
默认
最新


1