
MountLoadouts
这个模组是为了与MountGetSpeed一起使用,服务于我们的吸血鬼世界而创建的。我之前玩过V-Rising,那是我想要玩泰拉瑞亚1.4.5以及围绕吸血鬼种子和变身的新玩法的原因之一!
查看大图描述
这个模组是为了与 MountGetSpeed 一起使用而创建的,用于我们的吸血鬼世界。
我之前玩过《V-Rising》,那是我想要玩《泰拉瑞亚》1.4.5 版本以及吸血鬼种子和变形系统里全新吸血鬼玩法的主要原因之一!
ps:我刚发现你可以手持雨伞使用老鼠变形,这样在阳光下旅行时就不会被烧伤了 <3,如果你有青蛙装备或攀爬装备就更好了。
ps2:你也可以变成一只鸡到处跑,还能使用武器!!哈哈哈
现在我又获得了 2 个变形形态,耶耶耶耶耶耶耶,老鼠和迅猛龙?爬行动物?老鸡?随便你怎么叫。所以我在想什么?这就是我当时的想法:
“天哪,这就像《V-Rising》一样,我为我的吸血鬼世界解锁了更多的变形形态!!!所以我现在可以变成新的生物,像《V-Rising》里那样在这些形态之间切换,这太酷了!!我要这么做!”
然后不久我就撞上了一堵叫做“唯一槽位”的墙……我完全忘了我们的装备栏在坐骑、宠物、矿车、照明宠物和钩爪上有共享槽位……所以我的兴奋感被狠狠打脸了,就像这样:“砰!”“吃这个吧,小东西!!”“你以为幸福会来得那么容易吗????”“哈哈哈哈哈(恶毒的笑声)。”
那我们该怎么办?哭吗?是的,我们悲伤了整整一天 :(
直到我突然灵光一闪,如果我重用我试着写的代码,出卖灵魂,不睡觉,连续工作 11 个小时会怎么样??????这就是我们尝试编写坐骑槽位代码的方式,这也是我们模组以某种方式诞生的原因 :)。
现在我可以按照我原本想象的方式享受我的吸血鬼世界了,获得了更多的变形形态,并且让我们的 MountGetSpeed 来接收加成,我们现在完整了!我可以玩得更开心了!!!(不过,我想在这里澄清一下,尽管我重用了 MountGetSpeed 的全部代码,我们还是花了 9 个小时在这上面 :( 又是连续不睡觉,我不后悔,但我不会再这样做了……)
我知道我知道……我说过我不会再创造任何新东西,我知道……但我这样做只是为了我自己,这样我可以更快乐,并且可以反击当我解锁新的变形/变身形态时,以为自己会成为真正的始祖吸血鬼,却被“唯一槽位”拉回现实时的悲伤 :(。
总之,就是这样!
我想再说一次,我不是模组制作者,我只是像看菜谱一样看别人的作品并尝试复现,就像我一直使用 Menk1l 的模组一样 <3(他创造了我最想要的模组),因为我无法理解如何为属性注入创建 UI 和面板逻辑,甚至不知道如何让它与哥布林 NPC 配合工作,这些是我做不到的,这就是为什么我一开始请别人来做……我能做的仅限于菜谱和观看/阅读别人的作品。我甚至尝试按照 Menk1l 的作品阅读他的 manifest.json 为模组创建一个按键绑定和重新绑定系统,结果失败了!彻底失败了!哈哈哈,我后来还是放弃了按键绑定的想法,反正禁用模组也没什么意义。
总之我想说的是,我要强调,我不是模组制作者,再说一次,所有内容都对所有人开放,可以使用、重建、作为示例,因为我也是用了别人的作品、示例和代码来尝试创建 MountGetSpeed,我以它为基础(实际上我只是复制了文件并在上面编写)创建了 MountLoadouts :)。
ps:宠物槽位是一个额外奖励,因为我想要更多宠物,因为我喜欢这个游戏里不止一只宠物 <3
ps2:染料槽位是后来添加的,因为我一开始没想到,但一旦你看到评论,你会注意到添加它很容易,哈哈,只需复制粘贴。
安装说明
与 TerrariaModder 和 TerrariaVault 配合使用,当然你也可以手动下载。
主要特点
如果你玩过《V-Rising》,这个模组为每个装备栏在坐骑上“创建”了一个隐藏槽位(宠物和相应的染料槽位也是),用于在切换装备栏时使用,就像你在《V-Rising》中可以变形和切换变形形态一样 :)
前置需求
TerrariaModder
致谢
如果你读过我们 Mod.cs 文件里的注释,你现在应该知道为什么我一直说我不是模组制作者了 :)),但我还是在这里简短地再说一遍:
对我来说,模组制作者是那些能理解逻辑(我理解逻辑,我之前用过 C#)并且对模组制作有知识(我没有)并且知道如何处理他们所修改的游戏的人(我也不懂)。所以我不是模组制作者,也永远不会是,首先是因为这两个模组已经吞噬了我的灵魂,花了无数小时只是试图弄清楚如何创建一个能工作的代码并显示在游戏中……我已在 MountGetSpeed 上谈过这个。所以除了这个比另一个快得多,因为我用了那个作为基础,真的只是复制了 mod.cs 文件并在上面编写,它仍然花了将近 9 个小时去尝试弄清楚泰拉瑞亚中使用的字符串,以及如何把我脑子里的逻辑翻译成游戏语言……我当然需要谷歌大神的帮助,并且问了所有我能想到的问题,那是一场这样的对话:
“所以,实际上我们的逻辑是把这些数据存储在这里和那里,还有这个,等等等等,然后补丁到我们的游戏中,而不是强制游戏创建一个新槽位(那会是很重量级的事情),我们可以尝试把数据保存在自定义槽位中并补丁到游戏中,只存储数据对吗?然后……等等等等等等”
就这样我们花了数小时数小时地思考和提问。我展示逻辑,我展示草稿和代码的编写过程(以 MountGetSpeed 为基础),然后继续,他用常见的字符串和泰拉瑞亚语言回答(比如他告诉我系统在游戏中是如何读取坐骑槽位的)。
另外,这就是为什么我不把这个模组标记为 AI 制作的,因为这是我自己做的,虽然用了 AI 来告诉我泰拉瑞亚内部使用的语言,但代码中所有的逻辑、系统和一切内容都是我自己思考的,并在帮助下翻译成了可用的游戏语言,例如我不知道泰拉瑞亚语言如何处理角色的坐骑槽位,在询问和尝试后我发现是 player.miscEquips[3],后来我通过观察逻辑发现游戏对其他槽位也使用顺序数字模式,比如宠物是 [0]。当然,这也是我一直说我不是模组制作者的原因,就像我在模组里用注释做的比喻一样,我只是一个专业的家庭厨师(我说专业是因为我热爱我的食物哈哈哈,而且我多年每天都会做饭),所以当我需要尝试一个从来没做过的菜谱时,我该怎么做?我直接上谷歌搜索别人做什么怎么做,找示例,所以除了我有多年的烹饪知识和理解烹饪背后的逻辑外,要做一道我从未做过的菜,我需要跟随别人的示例,这加上我已经有的知识,让我能做出以前从未做过的新菜,虽然不是完美的。这两个模组也是一样的 :)
比如,在我们让模组工作之后,后来我想追踪染料,因为我是等到模组工作了才想到染料的,当时我在切换模组,想给它们用不同的颜色,所以我想了想然后问了类似的问题:
“嘿,如果游戏使用顺序数字模式来引用槽位,也许染料只是遵循相同的模式逻辑对吧?我们可以用相同的逻辑也应用到染料上”
这就是我们对话的走向,在我提问之后:
[ !没错,你又一针见血了!泰拉瑞亚对染料使用了一个漂亮、完美镜像的顺序模式。
泰拉瑞亚如何处理染料: 装备槽的染料存储在一个专用的数组中,叫做 player.cunglasses 或 player.miscDyes,取决于版本,但在泰拉瑞亚 1.4.5 中,它是 player.miscDyes。”
索引编号与装备槽完全对应。
存在精确的 1 对 1 关联:
- player.miscEquips[0](宠物)直接关联到 player.miscDyes[0](宠物染料)
- player.miscEquips[3](坐骑)直接关联到 player.miscDyes[3](坐骑染料) ]
所以现在我知道游戏如何处理染料了,而且正如我所想的那样,相同的逻辑适用,我可以做同样的事情,把染料也添加到我们的代码中存储,所以就是像我们做宠物那样复制粘贴逻辑哈哈哈,但现在是为染料。
现在你明白了我尝试创建模组时做了什么,以及为什么第一个模组花了大量时间试图做出可用的东西,而这个仍然花了 9 个小时,因为每次我都需要通过问谷歌和请求字符串示例来把我的逻辑翻译成游戏语言……就这样,数小时数小时的提问、阅读、思考等等。
我已经习惯了 C# 语言及其背后的逻辑,这就是为什么我有在文件里大量注释的习惯哈哈哈,因为这是我之前用 C# 工作时养成的习惯(虽然不是用来做游戏模组……)。
总之,同样的事情适用,编辑它,使用它,发布它,随意使用,源代码是免费的,因为我自己也使用了别人的所有示例和信息,所以它不是我的,而且我不是模组制作者,如果模组制作者看到并想改进它,那就去做吧。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。