破门而入吧 关注:7,869贴子:32,961

回复:如何制作mod?

只看楼主收藏回复

0.30版本的XML修改,最大的变化,就是每样物品通过一组绑定代码来决定“谁可以用?”、“什么子弹”和“瞄准镜”
以枪为例

主要就是bind这一组绑定参数,里面你可以看出来可以绑定使用对象,可以绑定所用的弹药,绑定用什么瞄准镜。其实这个to name后面是没任何类别识别的参数的,反正你不同类型的物品是不能重名的,所以只要绑上了,系统会自动识别是兵种、子弹还是瞄准镜。
我这里用空行来隔开,纯粹是让自己容易辨识,其实隔不隔空行都无所谓。
我这里的例子是这支枪只配给AIM的步枪手,但如果有些装备是某个UNIT全员配用的,只要写上部队名称就行了。例如只写上PLA,就整个部队都可使用。
但相应地,在原本旧的武器参数中,所写的使用兵种、子弹类型和瞄准镜的参数要全部删除。
又比如,在头盔文件中

我这里绑定了这个盔的使用对象是PLA的SWAT,而盔本身的参数就写在下面。


IP属地:广东33楼2022-04-19 21:18
回复
    但要注意,绑定参数不一定就要写在物品参数的正上方,实际上,你可以写在另一份文件中。这就是为什么说0.30版方便了不同版本的兼容。
    旧版本中,IOV和T1会冲突,是因为有两个文件产生了冲突。一个是gui目录中的deploy文件,另一个是equipment目录中的various文件。现在先说various文件。
    various文件其实是写手榴弹、防弹衣、炸药这些物品。其实开发组跟我们讲过,只要在equipment目录中,XML参数书写正确,那么文件名叫啥都无所谓。不过习惯上按统一风格命名更方便作者查找物品。
    之前会有冲突,是因为破门炸药和炸墙炸药对地形地物的影响效果,在另外一组XML中,有大量的XML语句去关联,工作量超大而且容易漏。因此所有的MOD作者可以制作新手榴弹但都不愿意制作新的炸药。因此所有增加了新部队的MOD作者都是直接使用原版文件名various.xml,在里面的炸药下面写上关联的部队名。因此多个有新部队的MOD放在一起时,就会产生同名冲突。
    现在使用了绑定参数后,我们所写的various文件不再用原版同名文件,而可以加上自己的识别前缀或后缀。比如我这里,就用various_iov.xml
    在我这里,新增的手榴弹、防弹衣的写上与33楼的相同,都是在物品参数前面加上绑定参数,然后删除物品参数内的使用部队的命名行。而原版的物品,就这样写

    大家可以看到,只要绑定使用部队就行了。这样,破门炸药重名冲突的问题就解决了。以后再也不需要其他作者搞什么IOV+T1融合包了,特别是我这次还花了些时间,给所有的物品都加上iov前后缀,所以即使T1也有URGI和MCX LVAW,也不会与IOV有重名的冲突。


    IP属地:广东34楼2022-04-19 21:30
    收起回复
      最后再讲一讲deploy文件的问题
      0.30版已经不再需要写deploy了,除非你的兵种栏目有特殊的排版要求,例如像IOV那样,在一行上并两个兵种,否则,只要你在units文件中设定了部队名称和兵种名称,游戏就会自动产生兵种栏目,当然只能按顺序从上往下排列。而按照我的电脑 1920X1080的屏幕,只多只能排7行,所以IOV仍然会写deploy,仅仅是因为我需要把侦察兵和BLACK OPS并在一行里,否则排不下。


      IP属地:广东35楼2022-04-19 21:35
      回复
        经人提醒,才发现漏了每个解释MOD根目录下的mod.xml的代码。
        注意,每一个MOD的根目录下都必须有这个文件,这样游戏程序才会把它识别为一个MOD。没有它,就用不了。
        这个文件的内容其实很简单,以IOV为例,它是这样的内容
        title="Instrument of Violence MOD v9.4.0"
        description="I like guns, more guns"
        image=""
        author="一堆人名吧啦吧啦小魔仙"
        tags="weapon, gun, AIM unit from JA2, PLA SOF unit"
        changeNotes=""
        languageMod=""
        gameVersion="0.33"
        其实这个文件中的许多信息可能乱写都没什么影响,我估计得将来支持创意工坊上传下载装备MOD后,这里的信息才有用。
        第1行title就是标题,就是MOD的名称。所以我这里就写上IOV的全名和版本号
        第2行description就是这个MOD的简介
        第3行image我猜可能是MOD的图标,在将来支持MOD加载功能后,有这个就方便管理,目前阶段空着它也无所谓。
        第4行author就是作者,所以我把我和一堆建模师的ID都写上去了
        第5行tags我怀疑是将来在创意工坊上方便搜索用的标签吧?
        第6行changeNotes是更新记录,一般都懒复写民
        第7行languageMod我怀疑是将来官方支持多语言版本时,这个用来确定这个MOD用于哪个语言。
        第8行是gameVersion。我估计现在乱写也没啥影响,将来创意工坊上线后,可能玩家就靠这个信息去识别这MOD支持哪个版本的游戏程序吧?所以我这里都会写上适合的游戏版本。


        IP属地:广东36楼2022-07-22 11:35
        收起回复