密教模拟器吧 关注:30,463贴子:213,841
  • 22回复贴,共1

关于写mod时遇到的疑问,还请贴吧老哥们不舍赐教

只看楼主收藏回复

事情原委是这样的,最近正在研究Mod的写法,周六从早晨九点写到晚上八点,掌握了一半代码的写法,然后发现有一些疑问,我觉得我是研究不明白了,毕竟我的本职不是码JSON(),人多力量大,希望如果贴吧老哥们知道可以不舍赐教,不然的话写的可太痛苦了。
目前遇到的问题是以下两点:
①我想要修改原有游戏事件,应该可以通过OverWrite,无论是经过我的逻辑还是代码教程,都指出知道id一样就可以把内容OverWrite掉,但是不知道为什么用id相同的方法也只会起到extends的作用,而不是覆盖原有事件【extends,似乎是在想要扩充原有事件时才会使用,目前对我用处不大】,是OverWrite只能修改element吗?
举个例子:

我现在想修改掉这个recipes,理论上只要在我自己的mod里起个id为findclericalwork的recipes,然后就可以修改文本了,但是我像如下修改后:

只会将找一份文书工作的文本改为斜体,并且右下角无法执行,但是描述的具体文本完全没有任何变化。
是我漏了什么细节吗?
②如何手动控制【日晷之影】,还有蛾子发躁动,阿灯发博闻的时间触发逻辑是什么?
写代码测试的时候发现日晷之影(也就是时间流逝)和蛾子阿灯会突然跳出来,只拿【日晷之影】为例,我只在原代码的main_verbs的最后找到了一段(还是单纯的定义),

搜索了全部代码后也没有发现有地方调用【日晷之影】,这不会是传说中的硬编码吧……


IP属地:日本1楼2022-09-19 08:07回复
    难道说日晷之影的调用写在了core里?我搜索的只有最表面的事件,还要再深挖才行吗……
    那……,虽然我可以通过加一个新的相性强行写条件分歧就是了。


    IP属地:日本来自Android客户端2楼2022-09-19 10:09
    收起回复
      但是本地化明显是通过Overwrite【复写】原理进行的,为什么我不行,MOD不是最后才调用的吗


      IP属地:日本来自Android客户端3楼2022-09-19 10:13
      回复
        Mod的复写问题无解。
        官网上文件加载的顺序是:
        all the original game core content files
        all the content files for any enabled mods(个人mod)
        all the original game loc content files
        all the loc files for any enabled mods.(语言本地化)
        这会导致,如果我在个人mod里加一个更改资金的描述复写,到了最后一步马上又会被语言本地化盖过去,又变成了英文文本的翻译,我写的就失效了。
        ——可得只有英文本体才可复写,汉化不可复写。
        ORZ


        IP属地:日本4楼2022-09-19 23:19
        收起回复
          阿巴阿巴


          IP属地:辽宁来自Android客户端5楼2022-09-20 13:52
          回复
            阿巴阿巴


            IP属地:山东来自Android客户端6楼2022-09-20 15:33
            回复
              这就好比一个老B灯有了瓶颈不去找活人脑壳而去抓了一大摊虫虫搁自己屋里听个嗡嗡响


              IP属地:辽宁来自Android客户端7楼2022-09-20 22:30
              收起回复
                仰望大佬


                IP属地:贵州来自Android客户端8楼2022-09-21 09:11
                收起回复
                  你这个问题,不应该在这个吧问


                  IP属地:新疆来自iPhone客户端9楼2022-09-21 12:32
                  收起回复
                    想问一下lz如果想大规模删除本体的卡牌有什么好办法吗?想用游戏的玩法做些不一样的故事


                    IP属地:北京来自Android客户端10楼2022-09-25 09:58
                    收起回复