rimworld吧 关注:284,029贴子:5,227,511

武器兼容奥德赛DLC的特化小教程

只看楼主收藏回复

还在为任务奖励的特化武器只有原版武器而烦恼?这个帖子可以让你喜欢的武器也能有特化词条,我会先教怎么兼容然后还有自制武器改装词条的教程。


IP属地:北京来自Android客户端1楼2025-08-18 14:14回复
    首先是准备物品,推荐visual studio code来编写代码,这个软件用来找原版的代码也很方便,没有用记事本也可以,但是容易出现结构问题。可选的还有你为这个武器绘制的变体的图片,大概像我这样命名,图片名字都相同最后加一个大写的字母按顺序就行。
    推荐的mod则是人物编辑器、和订购特化武器(Order Unique Weapon)



    IP属地:北京来自Android客户端2楼2025-08-18 14:22
    回复
      2026-03-08 19:42:42
      广告
      不感兴趣
      开通SVIP免广告
      先打开你想要兼容的武器的xml文件,红圈全出的位置就是要添加的代码,在ParentName“xxx”后面空一格添加这个Name=“xxx”建议这个Name里面直接填写defname比较方便,注意里面不能有空格中文之类的,规则和defname差不多,这段代码决定了你的特化武器继承的基础数据。


      IP属地:北京来自Android客户端3楼2025-08-18 14:27
      回复
        边缘大学习


        IP属地:四川4楼2025-08-18 14:30
        回复
          然后我们打开游戏本地文件,或者指定这个Data文件进行搜索,以我这个举例,我这个武器类似突击步枪就在里面查询突击步枪的defname,在人物编辑器中点击突击步枪左上角就会显示defname,这个有Unique的就是特化武器的代码。







          IP属地:北京来自Android客户端5楼2025-08-18 14:32
          回复
            当然如果你没有visual studio code可以直接打开Data/Odyssey/Defs/ThingDefs_Items找到所有原版特化武器的代码。


            IP属地:北京来自Android客户端6楼2025-08-18 14:34
            回复
              这样就得到了原版特化突击步枪的代码,第二张图的红圈都是必须要修改的东西,特化武器的defname一样遵循不要空格不要英文以外的文字和不要重复这样的规则,label和description可以随便写,对应到原版就是特化突击步枪和特化突击步枪的介绍,ParentName里面填写你之前Name里面的代码,最底下的红圈里面填写兼容的武器的defname,这会在描述里面链接到未特化版本的武器,中间的路径则指向图片集的文件夹,路径里不要有中文图片的处理我们接下来说。



              IP属地:北京来自Android客户端7楼2025-08-18 14:42
              收起回复
                我们回到最开始需要兼容的武器的xml文件里,在图片路径后面增加一个和图片名字一样但是后面加了个A的路径,原本的图片在同位置新建一个同名文件夹然后给这个图片名字最后添加大写A然后丢进这个同名文件夹里面,最后再照着前面所示把新画的图片后面从B开始加进去。特化武器的路径则直接指向装这些图片的文件夹。




                IP属地:北京来自Android客户端8楼2025-08-18 14:57
                回复
                  2026-03-08 19:36:42
                  广告
                  不感兴趣
                  开通SVIP免广告
                  到这一步理论上就已经可以工作了,我们来测试一下。


                  IP属地:北京来自Android客户端9楼2025-08-18 15:00
                  回复
                    打开开发者模式,按照图一点击输入SpawnWeapon点进去正常情况下就能找到特化版本的武器,在地上放置可以看到随机图片和特化都正常工作了。






                    IP属地:北京来自Android客户端10楼2025-08-18 15:08
                    回复
                      大佬我改完后进不去游戏了这是咋回事啊


                      IP属地:广东来自Android客户端11楼2025-08-19 11:41
                      收起回复



                        IP属地:广东来自Android客户端12楼2025-08-19 12:22
                        收起回复
                          这里有什么问题吗


                          IP属地:广东来自Android客户端13楼2025-08-20 10:53
                          收起回复
                            噫!好!我成了!来交个作业


                            IP属地:广东来自Android客户端14楼2025-08-20 19:12
                            收起回复
                              2026-03-08 19:30:42
                              广告
                              不感兴趣
                              开通SVIP免广告
                              Exception from asynchronous event: System.NullReferenceException: Object reference not set to an instance of an object
                              [Ref C4186846] Duplicate stacktrace, see ref for original
                              UnityEngine.StackTraceUtility:ExtractStackTrace ()
                              (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch2 (string)
                              Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
                              Verse.LongEventHandler/<>c:<UpdateCurrentAsynchronousEvent>b__28_0 ()
                              System.Threading.ThreadHelper:ThreadStart_Context (object)
                              System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
                              System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
                              System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object)
                              System.Threading.ThreadHelper:ThreadStart ()
                              报错了


                              IP属地:湖北15楼2025-08-22 19:19
                              收起回复