• 注册
  • 攻略教程 攻略教程 关注:716 内容:221

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

  • 查看作者
  • 打赏作者
  • 当前位置: 七日杀中文网 > 攻略教程 > 正文
  • 攻略教程
  • Lv.2
    武林萌主

    本文解释皆是自己在制作模组过程中对于文件、代码的理解,如果解释有误还请自行查询判断。

    以亡灵遗产为例,我所用到的工具如下:

    vscode用于修改查询代码的工具

    everything:用于搜索七日杀物品图片信息的工具

    Photoshop:简称PS,用于裁剪修改图片

    Honeyview:用于压缩图片大小和固定图片尺寸

    百度翻译:用于翻译不认识的英文

    Chatgpt:用于翻译解释不认识的代码

    搜图神器:用于搜索全网图片

    以上文件链接在此:链接:https://pan.baidu.com/s/1QccHrjeUJ20fwdrlwEknOg 提取码:p29y

    下面开始模组制作:

    1.搜集图片。

    搜图神器上面搜索图片,然后用截图工具截取一个差不多是正方形的图片,我用的QQ截图

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    2.用PS调整图片亮度,大小,消除不需要的地方等等,网上有很多教程,很简单,可以自行查看

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    3.用Honeyview打开图片,然后按快捷键:Ctrl+T

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    设置图片大小为200*200像素,然后设置品质为90,品质就是压缩图片大小的意思,90已经能很大程度的压缩图片体积了,然后点击开始,图片就修改好了。

    4.将修改好的图片放入文件夹内,以海绵宝宝模组为例,模组文件分为3个

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    Config文件放模组代码,UIAtlases文件放图片,ModInfo.xml放读取模组的信息

    先解释UIAtlases文件夹,这个文件夹包括七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例两个文件夹,ItemIconAtlas存放模组图片,UIAtlas存放技能,buff图片,文件夹名字不能修改,启动游戏时会直接读取文件夹内的图片信息,对于是png还是jpg都无所谓,只要名字对应就能去读到。

    然后将刚刚的图片放到ItemIconAtlas文件夹内即可

    5.然后就开始代码部分

    代码用vscode打开,点击文件,打开Config文件夹

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    这种装备的模组主要的文件是item_modifiers.xml文件,打开文件

    现在拿一个简单的作为示例

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例


    <append xpath=”/item_modifiers”> 表示将新加模组内容到游戏里面的item_modifiers

    <!– 无BUFF 只有被动 –> <!– –>这种形式表示代码注释,不会读取到游戏里面,可以随便写

    然后从<item_modifier name=”海绵宝宝” installable_tags=”melee,bow,crossbow,gun” modifier_tags=”hmbb” blocked_tags=”noMods” type=”attachment”>

    开始到</item_modifier>结束,

    算是一个模组内容,buff和效果都在这里面写。

    name=”海绵宝宝” 这个name可以随便写的,就是你想添加什么名字作为新模组的名称,这个name是和ItemIconAtlas文件夹里面的图片名字是对应的,这里写海绵宝宝,图片名字也得是海绵宝宝

    installable_tags=”melee,bow,crossbow,gun” 表示安装在哪个装备上,这里写的表示可以在近战,箭,弩箭,枪上面安装,还有一些其他的表示我总结在下面,这是我目前已知且使用过的,还有很多很多

    installable_tags
    头 head | 胸 chest | 手 hands| 腿 legs | 足 feet | 贴身衣物 pocketMod |
    机器人雪橇turretMelee |机器人炮塔 turretRanged
    载具 vfuel |弓 bow | 弩 crossbow  | 近战 melee  |工具 tool   |枪 gun|
    散弹枪 shotgun | 发射器 launcher | 刀 knife | machete 弯刀 | 斧头 axe |
    铲子 shovel| 轻 light |,| 中等 medium |,|重物 铁锤 heavy |,turretMelee
    电击棒 perkElectrocutioner| 棍棒 club|拳套 perkBrawler |矛 perkJavelinMaster|
    带有刀刃的 perkDeepCuts|

    左键 onSelfPrimaryActionRayHit | 右键重击 onSelfSecondaryActionRayHit

    modifier_tags=”hmbb” 表示这个模组的标签是什么,这个可以随便写的,但是如果两个模组的标签一样的话,是不能同时装备的,比如海绵宝宝和正义海绵宝宝都是 hmbb 这个标签,所以不能同时安装

    blocked_tags=”noMods” 表示该物品不能被添加模组

    type=”attachment” 表示该物品的类型是一个附件

    <property name=”Extends” value=”modGeneralMaster”/>  表示继承与基础模组的信息

    <property name=”DescriptionKey” value=”海绵宝宝Desc” />  这里是和游戏内的描述相对于的,和localization.txt里的 海绵宝宝Desc 对应

    <property name=”DisplayType” value=”海绵宝宝type”/>  这里是亡灵遗产内部的描述,就是这一块七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    它和ui_display.xml里面的display_type=”海绵宝宝type”是对应的

                <!– 材料 –>
    <property name=”Material” value=”matLeather”/>
                <!– 重量 –>
    <property name=”Weight” value=”20″/>
                <!– 经济 –>
    <property name=”EconomicValue” value=”2000″/>
                <!– 携带重量 –>
    <property name=”CarryWeight” value=”.5″/>    这几个就是注释所示

    <property name=”MaintenanceGroup” value=”HMBBMOD”/> 这个组的value可以随便写,具体是和recipes.xml里面的modify对应的,如图

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    这个modify简单说一下,就是升级,只要带有HMBBMOD这个组名字的都可以进行升级,quality是质量,就是从H->SSS级,area表示制作的地方,分别是1,2,3,4级维修站,prob表示升级概率,1就是100%升级成功

    下面的ingredient表示升级所需材料为代币 后面count是数量

                <property name=”dEntityDamage” value=”5,20″/>
                <property name=”dTargetArmor” value=”-.1,-.2″/>
                <property name=”dStaminaLoss” value=”-.02,-.1″/>

    这三个是和下面这三个是对应的

    <!–   20固定伤害–>
                    <passive_effect name=”EntityDamage” operation=”base_add” value=”5,20″ tier=”1,90″/>
                    <!– 目标破甲 –>
                    <passive_effect name=”TargetArmor” operation=”perc_add” value=”-.1,-.2″ tier=”1,90″/>
                    <!– 体力消耗-10% –>
                    <passive_effect name=”StaminaLoss” operation=”perc_add” value=”-.02,-.1″ tags=”primary,secondary” tier=”1,90″/>

    只需在name前加上d即可,这里的dEntityDamagedTargetArmor,dStaminaLoss是和ui_display.xml对应的

    简单介绍一下ui_display.xml七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    name=”#dEntityDamage” #d是不能动的 后面这个EntityDamage就是passive_effect被动效果的名字,max表示最大值,icon是图标,图标的查看地址是7Days To Die-A20.6(b9)\Mods\UndeadLegacy\UIAtlases\UIAtlas,当然也可以直接在everything上面搜索对应的icon名称如symbol_sword来查看是什么样子的

    title_key是可以自己随便写的,不过写完需要再localization.txt文件里面加入类似下图即可

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    display_type=”Decimal1″ 表示直接显示你的数值

    display_type=”Percent” 表示显示当前数值的百分比

    继续讲解这个item_modifiers.xml的效果组

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    passive_effect表示固有能力,被动效果,name=“EntityDamage”这里的EntityDamage是不能随意更改的,需要游戏原代码里面有才可以用,可以按照以下方法进行查找

    用VSCODE打开7Days To Die-A20.6(b9)\Data\Config这个文件夹,然后再vscode里面

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    找到buff.xml的最底部,点击就能跳转到对应的代码块,这里面的代码就是官方游戏代码,只要官方使用过就可以使用

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    operation=”base_add” 表示操作,为基础添加,就是直接添加具体数值,后面的value=”5,20″就是数值,这个可以直接写一个value=”20″即可,如果想我一样想要加入等级,就写成逗号的形式,表示按照等级从5到20,后面的tier=”1,90″就是等级,如果你设置1,60,就表示1到60级的效果是5-20攻击力

    operation=”perc_add” 表示按照百分比添加

    在后面还有一个tags=”primary,secondary” 这个可加可不加,不加就表示所有动作,加了就是限制这个效果生效在哪个动作上面

    还有,如果effect_group 后面有个tiered=”false”就表示没有等级制度,想要等级就得删掉这个

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    name只是一个标签,可以不用管

    下面来看一个复杂一点的

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    上面的代码基本上都一样,已经解释过了,泡芙老师 安装在胸部 标签是pfls

    看第三个

    <triggered_effect trigger=”onOtherAttackedSelf” action=”AddBuff” target=”other” buff=”泡芙保护” />

    这个表示根据条件触发, trigger=”onOtherAttackedSelf”触发条件是当别人(丧尸,动物等)攻击自己时,触发行为

    action=”AddBuff” 添加buff, target=”other”目标是为别人(丧尸,动物等)添加一个buff,buff名字叫泡芙保护,这时候,就转跳到buffs.xml文件里面的name为泡芙保护的效果中了。

    以下为buffs.xml里面的效果

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

     <buff name=”泡芙保护” name_key=”[FF0000]【莫挨老子】” description_key=”[FF0000]-30生命值” remove_on_death=”false” hidden=”false” icon=”泡芙老师” icon_color=”eacd76″>

    name和上面的buff=”泡芙保护”对应,name_key表示你点击查看时的名字 比如丧尸身上的

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    description_key 是详细说明

    remove_on_death=”false” 表示是否死亡时移除 false 否

    hidden=”false” 是否隐藏 false 否 表示能看见

     icon=”泡芙老师” 表示图标 图标是在UIAtlases\UIAtlas这个文件夹内的,名字得对应

    icon_color=”eacd76″ 表示图标颜色

    Stack_type:表示该 BUFF 如何叠加。这里设置为 “ignore”,表示该 BUFF 不会叠加。

    Duration:表示该 BUFF 的持续时间。这里设置为 “1”,表示该 BUFF 只能持续一秒钟。

    Effect_group:这里包含了只有一个效果,即在 BUFF 持续期间,玩家每秒会失去 30 的生命值。这个效果通过 “HealthChangeOT” 来实现,操作类型为 “base_subtract”,表示在基础生命值上减去一个固定的值。

    这些可以使用chatgpt帮你解释,例如上面那几个就是,你只要说明是七日杀代码然后直接发代码,他就能解释,下面给大家一个网站:https://chat.fed.qiweioa.cn/zh 这些随时可能失效,最好多储备几个

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例


    好了,下面说一个比较复杂的buff 宇智波鼬海绵宝宝 天照

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    这个trigger=”onSelfEquipStart”表示装备上会触发的效果 添加buff 没有指定target 默认表示自己 buff为天照冷却1秒

        这个是我自己想出来的,原版的直接是使用onSelfEquipStart在装备模组时生效天照,但是因为各种原因,例如添加第二个模组时会同时触发第一个的onSelfEquipStart,所以就会自动触发技能,还有上下载具也会触发,这就导致技能不能随自己的想法触发,所以我在所有主动技能前都添加1秒冷却。这样,无论怎样都会触发冷却1秒,而现在看第二行代码,onSelfItemActivate表示自己主动按F使用技能, active=”true”表示技能为开启状态,添加天照buff效果,而他下面有几个requirement就是限制他的触发,因为每次装备都会率先触发1秒冷却,所以不会触发onSelfItemActivate,因为不满足<requirement name=”NotHasBuff” buff=”天照冷却1秒” /> 需要同时满足所有requirement才可以触发技能

    <triggered_effect trigger=”onSelfItemDeactivate” action=”RemoveBuff” active=”false” buff=”天照”/> 这个表示关闭技能会移除buff 天照 状态设置为false关闭状态

    <triggered_effect trigger=”onSelfItemDeactivate” action=”RemoveBuff” active=”false” buff=”天照效果”/>
                    <triggered_effect trigger=”onSelfItemDeactivate” action=”RemoveBuff” active=”false” buff=”天照效果2″/>

    这些是同时移除天照效果,因为大火熄灭需要10秒,所以不能达到那种关闭技能大火就会熄灭的效果,所以我添加了以上这两行代码,直接移除周围丧尸 的燃烧效果

    <triggered_effect trigger=”onSelfEquipStop” action=”RemoveBuff” active=”false” buff=”天照”/>这个表示卸下装备时会触发移除buff效果,这个会被其他第二个模组安装上时触发,

    <triggered_effect trigger=”onSelfEquipStop” action=”AddBuff” buff=”天照冷却1秒” />

    最后一定要是添加一个冷却,不然会有其他bug

    自己身上的效果 天照 buff

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    Duration:表示该 BUFF 的持续时间。这里设置为 “0”,表示该 BUFF 没有持续时间限制。需要其他地方removebuff才可以使这个效果消失

    Update_rate:表示该 BUFF 的更新速率,即多长时间更新一次。这里设置为 “1”,表示每秒钟更新一次。

    Effect_group:这里包含了三个地方的效果,其中两个效果是 “triggered_effect”,表示它们会在指定的条件下自动触发(即
    “onSelfBuffUpdate”表示其他地方调用该buff时会触发 例如addbuff )。第一个效果会添加 “天照效果” 的 BUFF,第二个效果会添加 “天照效果2” 的
    BUFF。第三个效果是 “requirement”,表示该效果只会在满足指定的要求时才会触发。这里的要求是玩家没有 “天照冷却” 的 BUFF。

    注意这个requirement,因为是和triggered_effect是同一级,所以需要满足requirement才能触发这个effect_group。

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    天照冷却是10分钟,因为原版的buff效果都是多几秒,所以我也多了几秒,因为原版的获得这个buff后会只显示分钟,所以多加几秒让他刚开始看起来是10分钟的效果,如果设置600秒,获得这个buff时候就是9分钟,不好看,亡灵遗产版的就不需要这个,因为他是直接显示秒数的

    第一个 天照效果 持续时间无限 一定要注意

          <effect_group>
            <passive_effect name=”HealthChangeOT” operation=”base_add” value=”-2″/>
          </effect_group>

    passive_effect一定要放在effect_group里面,不然不会生效

    HealthChangeOT表示每秒改变血量 这里是添加数值 数值为-2 即每秒-2滴血


    第二个 天照效果2

     <triggered_effect trigger=”onSelfBuffUpdate” action=”AddBuff” target=”selfAOE” target_tags=”zombie,animal” range=”30″ buff=”buffBurningElement2″ /> 在调用天照效果2时启动,以自身为中心,范围为30m的范围内的所有丧尸和动物 添加buff名字为buffBurningElement2的buff效果

    这个buffBurningElement2是我抄官方燃烧buff的,因为官方的燃烧减血太少,所以我就复制过来了,加强了一下威力,就是减血更多 了,以下是代码,这代码就不用看了,燃烧代码,直接复制就行,很难看懂而且无用

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    好吧我没改,我记得我想要改来着 [s-30] ,,,算了有火就行。。。 [s-7] 


    下面来看一下角都的地怨虞效果

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    和上面一样,就是给自己添加了一个buff效果,直接看buff代码即可

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    其他不重要,主要是这个

    <triggered_effect trigger=”onSelfBuffUpdate” action=”CallGameEvent” event=”action_fenghe” />

    表示触发调用这个代码时 执行调用GameEvent 里面的事件,名字叫action_fenghe

    就是表面意思,调用了gameevents.xml文件里面的action_fenghe,如图

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    这个我也不太懂,我是抄的官方的代码,因为好多代码都和twitch有关,比较繁琐,让chatgpt读吧。

    • Name: 动作序列的名称为 “action_fenghe”。

    • Category: 动作序列(action_sequence)的类别,该值被设置为 “twitch_actions”,可能表示该序列与 Twitch 配置有关。

    • Action 1: AddPartyToGroup(将玩家添加到组中)

      • Class: 动作类型为 “AddPartyToGroup”。

      • Phase: 执行此动作的阶段,该值被设置为 “0”。

      • Group_name: 表示将玩家添加到的组名称为 “party”。

      • Twitch_negative: 这个通道操作是否是负面的,默认为 “false”。

    • Action 2: PlaySound(播放声音)

      • Class:动作类型为 “PlaySound”。

      • Sound:声音的名称,这里是 “player_firstAidKit”,可能表示玩家正在使用一个医疗包。

      • Phase: 执行此动作的阶段,该值被设置为 “1”。

    • Action 3: AddItemDurability(增加物品耐久度)

      • Class: 动作类型为 “AddItemDurability”。

      • Phase: 执行此动作的阶段,该值被设置为 “1”。

      • Items_location: 该属性表示将向其中添加耐久度的物品位置。这里设置为 “All”,表示向所有物品添加耐久度。

      • Amount: 表示将物品的耐久度增加多少,这里设置为 “999”。

      • Is_percent: 该属性表示增加的耐久度是否为物品当前耐久度的百分比。这里设置为 “true”,表示增加的耐久度为百分比。

      • Target_group: 表示将物品耐久度增加的物品组,这里设置为 “party”,表示玩家组中的所有物品都可以从增加中受益。

    这个效果就是修复所有物品的耐久度,听说空汽油也能修复,这个要改的话我觉得应该是该Items_location,这个是ALL,应该是有其他的选项的,我找找,这个是gameevent.xml文件,所以要去官方的源代码的gameevent.xml找他的注释,找到了

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    翻译一下,更改一下,应该就可以了,如果查询官方代码也没有或者没有相关介绍,或者官方游戏里面没有使用过的,一遍不管用。

    还有一个,击杀丧尸获得代币的,自动获得代币,都是通过gameevent里面的事件来获得的

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    这表示给你的物品栏添加物品,名称和数量

    这个action_sequence name是可以随便写的,但是下面的action 里面的class必须是官方有的

    还有一个buff,如图

    七日杀:亡灵遗产 模组制作过程+解析——以海绵宝宝模组为例

    就表示进入游戏就会触发这个buff


    各个文件个人见解解释

    blocks.xml没用过,不知道

    buffs.xml buff效果

    entityclasses.xml应该是丧尸,动物,玩家角色,商人这些

    entitygroups.xml 应该是丧尸,动物,玩家角色,商人所属的组

    gameevents.xml游戏事件

    item_modifiers.xml 模组

    items.xml 吃的喝的玩的 代币和食物就是在这里面

    localization.txt 这个是和游戏里面文字联系的,很重要

    loot.xml 是掉落 比如空投掉落,boss掉落,掉包掉落,搜刮掉落等等

    quests.xml 是跟任务有关的代码 任务奖励一类的

    recipes.xml 合成一类的 某个物品可以通过某个东西合成,升级,回收等

    traders.xml 表示商人出售

    twitch 很烦,不知道

    ui_display.xml 数值显示在游戏里面


    还有什么不懂的可以私信我,我看到了会尽可能的回答。

    欢迎对海绵宝宝模组进行二创,修改等,因为我可能没什么时间再去完善了,感谢大家的支持!

    最后希望七日杀越做越好,代码能有更多的优化!



    "点赞是美意,打赏是鼓励"

    我要做头霸王龙 骑着走

  • 小石头234泰裤啦 [s-26]
    拉黑 11个月前 电脑端回复
  • 回复
    LV.4

    感谢分享

    回复
    打赏了13金币
    回复
    大版主
    Lv.5
    萌新驾到

    建议加精

    群:1050040662 定制/开服/地图制作/价格公道

    回复
    Lv.5
    浴火重生
    打赏了10金币
    回复
    LV.4
    浴火重生
    打赏了300金币
  • 小石头234感谢支持 [s-31]
    拉黑 11个月前 电脑端回复
  • 回复
    LV.4
    浴火重生

    感谢大佬分享

    回复
    Lv.5

    感谢分享

    回复
    Lv.6
    怦然心动

    感谢大佬

    回复

    谢分享

    回复
    因恶意刷帖用户过多,本版块已取消回帖金币奖励,请签到获取!>>>金币获取指南<<<

    请登录之后再进行评论

    登录
    • 大版主
    • 小版主
  • yichen
  • 柒月白风清
    柒月白风清
    一只小萌新,万年摸鱼党!已经脱坑了。。。
  • Cure_805
    Cure_805
    晚上在睡觉,白天在工作,不一定能及时回复,有事可以留言!
  • 至善丶丶
    至善丶丶
    群:1050040662 定制/开服/地图制作/价格公道
  • 东方清华EX
    东方清华EX
    一个爱玩七日杀的妹纸
  • 暂没有数据

    赞助广告位

  • 点击展示图片即可一键加入QQ群
    赞助广告:100R/月 目前空缺广告位:0

    分享网站

  • 繁体中文
  • 任务
  • 动态
  • 到底部
  • 帖子间隔 侧栏位置: