3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 5000|回复: 13
打印 上一主题 下一主题

[心得] 七日杀A16.4DLL源码分享——基于饥荒MOD

[复制链接]

2

主题

65

帖子

245

积分

中级玩家

Rank: 3Rank: 3

贡献度
9
金元
2093
积分
245
精华
0
注册时间
2018-11-26
跳转到指定楼层
主题
发表于 2020-2-9 17:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 飞沙流年 于 2020-2-9 17:14 编辑

最近因为疫情的原因,闲来没事就开始看七日杀的源码(这里的源码说的是七日杀的源码,是反编译dll文件,而不是单纯修改xml文件),路径: \7DaysToDie_Data\Managed\ 下的dll文件。
因为时间的关系,本人也没有把所有的类都看完,这里跟大家分享下查看的方式以及我目前所了解到的内容,以方便大家可以更好的自定义mod。
可修改内容:
     1) 自定义版本  如把alpha 16.4改为自己的mod名称
     2) 玩家最大饱食度和口渴度
     3) 饥荒mod自带的食物变质 (可自定义变质方式,变质时间,变质成的物品)
     4) 自定义天气(可设置一年四季,风、雨、雪、雾,每种天气的作用时间和大小,温度湿度的变化)
     5) 设置每种物品的左键和右键(可自定义生成的物品,各种玩家生命属性的加减程度)
1、反编译工具dnSpy  
提供一个下载地址:https://www.jb51.net/softs/556366.html,大家也可以自行百度下载
2、反编译dll文件
这里主要用到的dll文件为:Assembly-CSharp.dll和 Mods.dll,如图
用dnspy打开后,会自动加载当前目录相关的其他dll文件
1> Assembly-CSharp.dll文件
该文件为七日杀默认的文件,所有的七日杀预设信息均在该dll文件里面,打开目录下的{},下面是所有的内置函数
该文件可以编辑常见的属性,如自定义版本、玩家最大饱食度和口渴度等
Constants类下面为定义的常量,如:版本号,默认为Alph 16.4 这种
items.xml里面食物的获取食物和水分的值经常跟界面上的加值不一致,原因也是dll里面玩家饱食度和口渴度的默认值不是100,如下图,在constants类里面,可以把玩家饱食度和口渴度都改成100,默认是72
其他属性的修改,可以自行看其他的类。
2> Mods.dll文件
该文件为mod修改文件。需依赖SDX.Core.dll和SDX.Payload.dll文件
饥荒mod自定义类的全局设置类:MorteHelpers
食物变质 MorteFoodSpoilage
饥荒mod中食物变质的原理:
增加foodSpoilImmune 食物变质免疫时间属性,在食物变质类的食物变质函数中读取该属性,并根据设置的时间获取对应的物品,从容器中(玩家背包或其他储物箱)移除到达设定时间的物品,然后再在容器中增加相应的替换物品
读取容器所有物品中属性里包含自定义的过期属性的物品,放入集合中
具体的物品变质逻辑:这里可以自定义,另外可以增加容器的判断,如容器是冰箱的话,就不变质或者重新定义属性中的变质时间
自定义item行为
item的行为全部为itemAction开头的类
这里可以自定义item行为类,然后加入自己想要的逻辑
修改后的item行为需要在items.xml中专门配置才可生效
——Class属性值改为自定义的mod行为类
天气系统MorteWeather
饥荒默认提供了7种不同的天气,可以自行根据游戏天数,游戏时间,白天黑夜等设置具体天气。
如:可以根据时间设置一年四季,每个时间段执行固定的天气,或者白天晴天或者下雨,晚上大雾或者下雪。
7种默认天气:
饥荒自带四季:一年365天
    60-90天 小雨
    90-120天 大雨
    120-150天 小雪
    150-180天  大雪
    180-210天  暴雪
    210-225天  小雪
    225-250天  小雪
其他天数,执行biomes.xml中配置的天气系统,即根据不同地形执行天气。
可自定义天气规则
目前本人知道的大概就这些,且是基于七日杀16.4饥荒mod,希望对想要自己定义mod的朋友有所帮助,如有疑问或其他建议,大家一起回帖交流。

评分

1

查看全部评分

回复

使用道具 举报

0

主题

1

帖子

1

积分

游戏菜鸟

Rank: 1

贡献度
0
金元
10
积分
1
精华
0
注册时间
2021-2-21
舒服的沙发
发表于 2021-2-21 11:05 | 只看该作者
玩家名字属性在哪里,我想改个中文的,和颜色。
回复 支持 反对

使用道具 举报

0

主题

48

帖子

48

积分

初级玩家

Rank: 2

贡献度
0
金元
480
积分
48
精华
0
注册时间
2021-3-21
硬硬的板凳
发表于 2021-4-5 05:53 | 只看该作者
看看看
回复 支持 反对

使用道具 举报

0

主题

9

帖子

12

积分

新手玩家

Rank: 1

贡献度
0
金元
120
积分
12
精华
0
注册时间
2019-12-27
冰凉的地板
发表于 2023-10-16 14:29 | 只看该作者
大佬,你知道xml解密的api在哪吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-3-22 02:22 , Processed in 0.029476 second(s), 16 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表