从安装到插件开发Dalamud 三大场景带你走通 FFXIV 插件框架【免费下载链接】DalamudFFXIV plugin framework and API项目地址: https://gitcode.com/GitHub_Trending/da/Dalamud开荒团本里团长要在角色面板、团队列表、职业资源之间来回切一抬头小怪就贴脸了。Dalamud 插件框架把 FFXIV 的内部数据、渲染与指令入口开放给 C# 插件让自定义功能直接长在游戏里。本文按“能力、场景、机制、上手”四步讲清它做了什么、怎么做到的。能力速览能力说明用户得到的价值游戏数据读取IPlayerState、IClientState等服务暴露角色、队伍与职业资源状态状态直接上屏不用反复切原生面板游戏内浮层基于 ImGui 的 WindowSystem 窗口体系面板、通知条可拖拽叠在战斗画面上聊天命令ConsoleManager支持注册斜杠命令聊天框敲一条指令执行复合操作插件间通信IPC call gate 提供远程调用与事件订阅多插件分工协作各自独立更新实战场景团本团长全队状态收进一块面板开荒时团长要同时盯队友血量、增益与职业资源原生 FFXIV 得逐个窗口点开视线频繁离开战斗画面。做法是把IPlayerState、IClientState读到的全队数据汇总进一个 WindowSystem 浮层挂在屏幕固定位置。操作从“切面板再切回来”压缩到“抬眼扫一眼”反应时间明显缩短。采集玩家一条命令替代一串操作采集流程里“打开菜单—选动作—确认”的步骤反复出现每轮都要翻找。插件用IConsole注册一个斜杠命令把这几个步骤合成一次调用在聊天框直接触发。单轮操作从十几次点击缩到一次输入时间以秒计。多工具用户采集与展示分离一套需求拆成两个插件一个负责采数据一个负责显示。前者经 IPC call gate 推送事件后者在浮层上呈现两个插件独立打包、独立更新。效果是从“改一处要重发整套”到“只更新出问题的半边”互不拖累。它是怎么工作的把 Dalamud 类比成租公寓搬进空房子前得先接通水电住户平时只管用插座和家电不需要懂管线走向。对应到仓库就是下面三层启动层在 Dalamud.Boot/C 代码把 .NET 运行时装进游戏进程支持 DLL 注入或改写进程入口点游戏本体不改一行。核心层在 Dalamud/PluginManager负责扫描插件目录、校验清单、管理安装与更新数据服务封装了对内存的读取插件按接口取数即可。界面层在 Dalamud/Interface/窗口、字体、渲染管线都备好了插件拿到回调就能画面板。快速上手从克隆仓库到第一个插件安装 XIVLauncher 并启用 Dalamud 选项。README 明确说明由它管理多项必需依赖不建议手动运行。进入游戏验证界面出现 Dalamud 图标说明注入成功没有则检查游戏版本是否匹配。克隆仓库到本地按 README 指向的构建文档准备编译环境。git clone https://gitcode.com/GitHub_Trending/da/Dalamud从 Dalamud.CorePlugin/ 读起PluginImpl.cs演示了窗口、命令与绘图回调的完整注册过程。注意它是试验性质的内部插件新插件开发以官方样例工程为准。上手前必读XIVLauncher 负责依赖管理与启动手动注入容易缺组件。建议始终经启动器进入出问题先排除启动器状态。插件与游戏版本强绑定钩子和签名扫描依赖游戏内存布局游戏大更新后可能暂时加载失败等框架跟进即可无需自行改代码。崩溃时有专门处理器DalamudCrashHandler会写内存转储并保留最近三份排查时可提供给插件作者。插件均为第三方代码。仓库内置封禁清单拦截已知问题插件但选择时仍建议优先考虑知名度高的出现异常行为及时停用。生态与延伸协议AGPL-3.0 开源代码可自由研读与修改分发时需遵循相同协议。社区官方 Discord 提供答疑配套独立的 API 文档站。贡献政策README 明确声明不接受由生成式 AI 撰写的贡献也不要驱动自动化系统与本仓库交互投稿前请先确认这条规则。接口索引Dalamud/Plugin/Services/ 目录下每个文件对应一个服务接口想查某块能力先看这里。两个具体的下一步装好 XIVLauncher 进游戏打开插件管理窗口装上第一个浮层插件或克隆仓库把Dalamud.CorePlugin跑通再逐行读PluginImpl.cs。本文仅作项目介绍。Dalamud 为第三方框架与游戏厂商无关联使用是否合规请自行判断。【免费下载链接】DalamudFFXIV plugin framework and API项目地址: https://gitcode.com/GitHub_Trending/da/Dalamud创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?