- UID
- 14537267
- 主题
- 12
- 阅读权限
- 20
- 帖子
- 109
- 精华
- 0
- 积分
- 55
- 金钱
- 715
- 荣誉
- 0
- 人气
- 3
- 在线时间
- 380 小时
- 评议
- 0
- 帖子
- 109
- 精华
- 0
- 积分
- 55
- 金钱
- 715
- 荣誉
- 0
- 人气
- 3
- 评议
- 0
|
本帖最后由 mogong1601 于 2021-2-8 14:33 编辑
修改前一定要备份原文件!修改前一定要备份原文件!修改前一定要备份原文件!
修改文件 Assembly-CSharp.dll
文件位置 Survivalist Invisible Strain_Data\Managed
修改社区人数
用dnspy修改,网上有自己搜索,免费的
打开文件,搜索 GenerateCommunity
原始代码如下
public void GenerateCommunity(CustomRandom rand, BiomeType[,] biome, int maxCommunities, int desiredNumNPCs, int iter)
{
CommunityManager communityManager = Session.Instance.CommunityManager;
CharacterManager characterManager = Session.Instance.CharacterManager;
Weather weather = Session.Instance.Weather;
int num = (this.Size <= 256 || iter >= 500) ? 16 : 32;
int num2 = (this.Size <= 256) ? 16 : 32;
int num3 = 25;
int minValue = 10; 这里是营地人数初始值,可以不用改,改多了营地数量会变少
bool flag = iter < 500 && this.Size > 256 && characterManager.Characters.Count < desiredNumNPCs / 2;
if (flag)
{
minValue = 20;这个是经过判断什么的最终营地人数最大值,建议改成30或者40,改太大,整个地图就一个大社区了
}
反正,营地数量貌似和营地人口挂钩,但是我看不懂代码,所以不知道哪里改营地数量,还等懂代码的大佬来指点了,反正,后面那个改成30或者40,营地数量拉满的情况下,10多个社区,也有人口比较多的社区,如果改太大,可能就一个大社区了
这个修改的时候要注意,一般修改都是右键然后编辑方法或者编辑类,这里这样做编译不回去,所以右键选择编辑il指令,改数字就行了
修改商人数量
搜索 GetMaxRovingTraderGroups
原始代码如下
public int GetMaxRovingTraderGroups()
{
int num = Math.Max(1, MathUtil.Squared(GameTerrain.Instance.Size / 256) / 8);这里8改成4,或者更少,改成1的话,地图上10多个商人,商人太多遇到强盗会杀,就很少有强盗来你家了
return Mathf.CeilToInt((float)num * (Session.Instance.DifficultySettings.TraderDensity / 100f));
}
这个编译回去代码会变不知道因为啥,所以,修改前一定备份原文件
|
|