Dalamud 插件开发白皮书 P1 - Getting started


原文来自 https://goatcorp.github.io/faq/development#q-how-do-i-get-started
如果您有英语原文阅读习惯,推荐您直接阅读原文!

从哪里开始 How do I get started?

主要的 XIVLauncher 和 Dalamud 系统建立在 C# 上,因为这个语言高可用、遍历、稳定;
建议你做的许多事情也可以尝试移植到 C# 上,除非你做的工作需要通过 native code 来控制机器运行。

想要开始编写 Dalamud 插件,建议您使用 Visual Studio,当然 JetBrains 的 Rider 同样不错。

Dalamud 插件例子

插件允许你和游戏进行 交互、添加功能、修改功能
您需要尊重这条准则 https://goatcorp.github.io/faq/development#q-what-am-i-allowed-to-do-in-my-plugin
否则您的仓库将不被保证可以 进入主仓库,这样做的同时也规避了 Square Enix 对您插件的风险评估
这是不被推荐制作的插件 https://goatcorp.github.io/faq/development#q-why-do-you-discourage-certain-types-of-plugins

您需要先熟悉 Git / GitHub,建议选择一个模板 clone,然后根据你的想法进行修改、拓展!

  • https://github.com/goatcorp/SamplePlugin
  • https://github.com/karashiiro/DalamudPluginProjectTemplate
  • https://github.com/lmcintyre/PluginTemplate

当您需要将插件打包,可以手动编译,也可以通过 DalamudPackager:

  • https://github.com/goatcorp/DalamudPackager

当你的插件准备测试 / 发布时,提交 PR 到 Dalamud 插件主库。注意,请将测试插件仍然放在测试文件夹中!

  • https://github.com/goatcorp/DalamudPluginsD17

Dalamud 底层探究

Dalamud,国服称卫月框架,通过 XIVLauncher 加载入游戏,你可以在这几个链接获取更多 Dalamud 本体信息:

  • Dalamud 源码 https://github.com/goatcorp/Dalamud
  • Dalamud 资源 https://github.com/goatcorp/DalamudAssets
  • Dalamud API ★ https://goatcorp.github.io/Dalamud/api/index.html

XIVLauncher 启动器

感谢开源工作者!这玩意同样也是开源的,可以自动将 Dalamud 加载入游戏,十分方便(划掉

  • https://github.com/goatcorp/FFXIVQuickLauncher

在哪里寻找帮助 Where do I ask for help?

这是一条不可能显示出来的内容,请自行查看原网站!

译者:可以去找找汉化 / ACT插件开发交流群,部分群还是有插件开发讨论的

如何热重载插件 How do I hot-reload my plugin?

从 API 4 / Dalamud 6 版本开始,Dalamud 就支持热重载了,请:

  • 打开 Dalamud 设置 > 实验性 > 开发插件位置
  • 添加插件所在文件夹 或 插件本体 DLL
  • 如果添加的是文件夹,那么里面的所有 DLL 都会被尝试加载

在这里插入图片描述

如何调试插件,甚至游戏?

你需要把调试器附加到游戏,默认游戏是有反调试保护的。
在游戏中输入 /xldev 显示开发者界面,启用 AntiDebug 即可把你的调试器附加到游戏上。
要使得调试功能完整,请把 Attach to 设置为 both and,这会保证你的调试器对游戏和插件都可用!
这个功能只是为了支持调试插件,如果你做其他事情将不会获得任何支持。

在这里插入图片描述

如何在编码过程中使用 How do I use FFXIVClientStructs in my own code?

FFXIVClientStructs 同样是个开源项目,为 C# 和逆向工程师提供了游戏数据、类的接口。
.csproj 中添加如下

    <Reference Include="FFXIVClientStructs">
      <HintPath>$(AppData)\XIVLauncher\addon\Hooks\dev\FFXIVClientStructs.dll</HintPath>
    </Reference>

或者右键点击 VS 中的项目,点击 “添加”,然后把程序集引用到这个路径。

这里粗略翻译一下意思,等我尝试以后再重新翻译一遍,或者麻烦各位可以在评论区留言~

译者的结语

这是 Dalamud 插件开发白皮书的第一章,后面还有关于更多更新、限制、开发指南、逆向工程的知识,请关注支持原文作者,谢谢~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: telemetry技术白皮书-6w100-整本手册是一本详细介绍了遥测技术的白皮书,共有六万一百页。下面将用300字对其进行回答: 白皮书是一种介绍特定主题和领域的文献形式。而本手册则是一本介绍遥测技术的白皮书,全书共有六万一百页。在此手册中,读者可以详细了解到遥测技术的原理、应用和发展趋势。 首先,手册介绍了遥测技术的基本概念和原理。遥测技术是通过传感器和数据传输系统从远距离收集物理量,并传送到接收站进行监测和分析的技术。本手册详细讲解了传感器的种类、工作原理以及数据传输的过程,使读者能够全面了解遥测技术的基本原理。 其次,手册重点介绍了遥测技术的应用领域。遥测技术在航天、气象、地质勘探、环境监测等方面有着广泛的应用。本手册列举了这些领域中的典型案例,详细介绍了遥测技术在每个领域中的具体应用和效果。 最后,手册还讨论了遥测技术的发展趋势。随着科技的进步和社会的发展,遥测技术也在不断创新和改进。本手册探讨了遥测技术的发展动态,介绍了新的传感器技术、数据传输技术以及监测分析方法的应用前景。 总之,这本手册是一本全面介绍遥测技术的白皮书,通过六万一百页的内容,读者可以全面了解遥测技术的原理、应用和发展趋势。无论是从事相关领域的专业人士还是对遥测技术感兴趣的读者,本手册都是一本值得阅读的权威参考书。 ### 回答2: 《Telemetry技术白皮书-6w100-整本手册》是一本关于遥测技术的详细介绍和应用指南的手册。遥测技术是一种通过无线传感器将远程物理环境数据收集和传输到中央处理单元的技术,它在许多领域都有广泛的应用,包括工业自动化、航空航天、环境监测等。 这本手册首先介绍了遥测技术的基本原理和基础知识,包括传感器的类型、数据传输和通信协议等。然后,手册详细解释了遥测系统的设计和构建过程,包括传感器的选择、布局和安装等。此外,手册还提供了遥测数据的采集和处理方法,包括数据预处理、数据压缩和数据传输等。 手册还涵盖了遥测系统的监控与维护,包括遥测数据的验证与校准、故障排除和系统优化等方面。此外,手册还介绍了遥测系统的安全性和隐私保护方法,以保护遥测数据的机密性和完整性。 对于遥测技术的应用,手册提供了多个实际案例和解决方案,涵盖了不同领域的应用场景,例如工业生产过程的监测和优化、环境污染的监测和预警等。 总的来说,这本手册是一本全面介绍和应用指南,对于从事遥测技术研究和应用的专业人员和学习者来说是一本宝贵的参考资料。它不仅可以帮助读者深入理解遥测技术的原理和方法,还提供了实际应用的指导和解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值