骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 小黑盒加速器
查看: 20814|回复: 39

[MOD相关] 【mod】城镇粮食减损mod,随管理学加成效果

[复制链接]

8

主题

385

回帖

178

积分

见习骑士

Rank: 3

UID
2227377
第纳尔
4139
精华
0
互助
6
荣誉
3
贡献
0
魅力
2
注册时间
2014-10-9

衣谷首次众筹勋章 霸主正版勋章元老骑士勋章

鲜花(35) 鸡蛋(0)
发表于 2020-4-6 08:29:54 | 显示全部楼层 |阅读模式
本帖最后由 跳舞的花生 于 2020-4-7 13:31 编辑

前言:有汽油反馈城镇粮食容易降低,导致丢兵,故临时做此mod缓解。我打了两天还一直沉浸在跑商、单刷中,有点惭愧

mod功能:根据管理学技能级别,对所拥有城镇的粮食损失进行减损,级别越高减损效果越好。注意是减损不是增加,也就是如果城镇是预期增长粮食的,那么不会加成,只有发生损耗时针对性减损。



城镇粮食库存的计算方式:
通过代码看,城镇的粮食每天变化时根据  
1、驻军
2、繁荣
3、家族政策(HuntingRights,狩猎?还没玩到家族很多功能还不清楚)
4、是否被围城
5、周围村庄(会判断存在的状态加成)
6、城镇建筑物(判断是否有食物生产能力)
7、商店的商品消耗
QQ图片20200406124026.png

但是由于写法问题,导致我只能在外部事件做一些增量回补技巧,即获取粮食损失度并根据管理技能按效果回补粮食存量,不能直接真的修改消耗变少,所以游戏中城镇粮食存量括号里的数字依旧不变,但是每天晚上统计时,mod会根据技能效果减损。

1、减损效果规则公式:管理学技能级别 / 600 + 基础减损百分比,我大致认为300满级,满级效果是50% + 基础减损(可自定义配置,默认10%)
举个栗子:

本来萨哥特今日粮食负增长2.64,拥有该城镇的领主德瑟特的管理技能是163,那么经过减损后今日粮食实际损失则是:2.64 x (1 - (163 / 600 + 10%)) 1.65

QQ截图20200406052207.png

2、城镇被围攻时无法减损,管理学技能为0时无法减损,粮食本身增长时不会有加效果

3、注意:
- 大家可以自己根据需求调整减损基础百分率。默认10,也就是10%
- 可以设置参数只对玩家拥有的城镇有效!!!,默认对所有城镇有效
- 建议测试之后,关掉开发日志!!! - 不用开新档


配置文件(路径TownFoodBuff\ModuleData\config.xml):
<Config>
        <ShowDebugInfo>true</ShowDebugInfo>         <!-- 是否显示debug信息,开发调试用,建议关,设置为false   -->
        
        <OnlyPlayer>false</OnlyPlayer>                                <!-- 城镇食物减损 是否只对玩家有效,设置为false则对其他领主的城镇有效   -->
        <BaseFoodPercent>10</BaseFoodPercent>                <!-- 城镇食物存量减损基础百分比 -->
</Config>


安装方式和其他mod一样,不懂看我之前的帖子也行,http://bbs.mountblade.com.cn/forum.php?mod=viewthread&tid=2057163

TownFoodBuff.zip (5.46 KB, 下载次数: 1322)




看到有汽油想调整,发下修改细节:
第一种方式:
        思路:hook城镇的每日事件,也就是DailyTickTownEvent,将食物存量修正
     关键类Town,Town.Owner是城镇拥有者,Town.FoodChange是城镇食物预期变化(背后指向一个实时计算预期值的函数FoodChangeExplanation),Town.FoodStocks是当前真正的城镇食物库存。

第二种方式:
        思路:hook计算预期值的函数,因为当系统结算时会调用该函数计算食物变化,然后消耗或者增加食物,只要修改了那么也就生效了,同时地图上你点击查看的时候也显示的最新的(库存数字后面括号里的)。
        关键类:DefaultSettlementFoodModel,关键方法:CalculateTownFoodStocksChange,只要增加model,然后重写该类即可。因为是实时计算的,需要注意性能问题,这个函数用的地方很多,比如地图上我们查看城堡信息,这个值会通过这个函数实时计算,还有部分系统行为也会触发。我是两个方式都实现了,但开的是第一种方式。省计算。


评分

参与人数 1荣誉 +1 第纳尔 +10 互助 +1 收起 理由
Aomine Daiki + 1 + 10 + 1 原创内容,值得鼓励!

查看全部评分

鲜花鸡蛋

默默无意义  在2020-4-18 21:10  送朵鲜花  并说:大佬nb
luguokankan  在2020-4-6 16:19  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
a5225354  在2020-4-6 11:18  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下

0

主题

7

回帖

2

积分

平民

Rank: 1

UID
654316
第纳尔
188
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2012-2-10
鲜花(0) 鸡蛋(0)
发表于 2020-4-6 08:49:27 | 显示全部楼层
多谢分享。

0

主题

2

回帖

1

积分

平民

Rank: 1

UID
480644
第纳尔
106
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2019-5-13
鲜花(0) 鸡蛋(0)
发表于 2020-4-6 08:59:40 | 显示全部楼层
哇,感谢大佬,被这个粮食问题搞死了

56

主题

871

回帖

548

积分

骑士

自由骑士
联机ID:8080

Rank: 4Rank: 4

UID
1659112
第纳尔
1588
精华
0
互助
52
荣誉
1
贡献
0
魅力
115
注册时间
2013-11-8

霸主正版勋章元老骑士勋章骑士美德之仁慈勋章[杰出会员互助勋章]

鲜花(67) 鸡蛋(0)
发表于 2020-4-6 09:09:28 | 显示全部楼层
大佬会做就多做些

0

主题

6

回帖

7

积分

平民

Rank: 1

UID
3143349
第纳尔
94
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2020-3-3
鲜花(0) 鸡蛋(0)
发表于 2020-4-6 09:12:26 | 显示全部楼层
感谢大佬

1

主题

388

回帖

137

积分

见习骑士

Rank: 3

UID
144410
第纳尔
1945
精华
0
互助
4
荣誉
0
贡献
0
魅力
2
注册时间
2009-7-23

霸主正版勋章

鲜花(16) 鸡蛋(0)
发表于 2020-4-6 09:29:06 | 显示全部楼层
哇大佬这个牛B啊

14

主题

1827

回帖

568

积分

骑士

Rank: 4Rank: 4

UID
529507
第纳尔
790
精华
0
互助
1
荣誉
1
贡献
0
魅力
80
注册时间
2011-10-10
鲜花(15) 鸡蛋(1)
发表于 2020-4-6 11:15:47 来自手机 | 显示全部楼层
感谢大哥分享

0

主题

15

回帖

5

积分

平民

Rank: 1

UID
2884185
第纳尔
101
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2017-10-14
鲜花(0) 鸡蛋(0)
发表于 2020-4-6 11:56:33 | 显示全部楼层
被粮食恶心坏了,感谢大佬

2

主题

122

回帖

42

积分

扈从

Rank: 2Rank: 2

UID
272374
第纳尔
1502
精华
0
互助
1
荣誉
0
贡献
0
魅力
12
注册时间
2010-6-29

汉匈决战正版勋章

鲜花(7) 鸡蛋(0)
发表于 2020-4-6 12:08:06 | 显示全部楼层
哇,感谢大佬,请问哪里有MOD制作教程或者例程之类的吗?

0

主题

201

回帖

85

积分

扈从

Rank: 2Rank: 2

UID
262739
第纳尔
429
精华
0
互助
5
荣誉
0
贡献
0
魅力
8
注册时间
2010-6-5
鲜花(0) 鸡蛋(0)
发表于 2020-4-6 12:38:54 | 显示全部楼层
感恩,砍2城镇的粮食计算真的迷。。

8

主题

385

回帖

178

积分

见习骑士

Rank: 3

UID
2227377
第纳尔
4139
精华
0
互助
6
荣誉
3
贡献
0
魅力
2
注册时间
2014-10-9

衣谷首次众筹勋章 霸主正版勋章元老骑士勋章

鲜花(35) 鸡蛋(0)
 楼主| 发表于 2020-4-6 12:40:56 | 显示全部楼层
temple910518 发表于 2020-4-6 12:08
哇,感谢大佬,请问哪里有MOD制作教程或者例程之类的吗?

之前有人发出mod结构,其他的就是怎么琢磨游戏的接口,功能函数了,我这儿主要用反编译工具能分析出函数功能,但比较累。
QQ图片20200406124026.png

0

主题

23

回帖

7

积分

平民

Rank: 1

UID
3158364
第纳尔
80
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-4-6

霸主正版勋章

鲜花(0) 鸡蛋(0)
发表于 2020-4-6 13:47:22 | 显示全部楼层
膜拜。 可惜自己不会制作mod。我挺有兴趣

5

主题

108

回帖

34

积分

扈从

Rank: 2Rank: 2

UID
3141991
第纳尔
92
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-2-28

霸主正版勋章

鲜花(1) 鸡蛋(0)
发表于 2020-4-6 14:02:15 | 显示全部楼层
膜拜大佬,感激不尽

3

主题

104

回帖

37

积分

扈从

Rank: 2Rank: 2

UID
2776501
第纳尔
531
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2016-10-28

霸主正版勋章

鲜花(2) 鸡蛋(0)
发表于 2020-4-6 14:10:24 | 显示全部楼层
大佬大佬,这个MOD对城堡起作用吗?目前只拿到了个城堡,还没有城镇

0

主题

3

回帖

1

积分

平民

Rank: 1

UID
3158659
第纳尔
43
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-4-6

霸主正版勋章

鲜花(0) 鸡蛋(0)
发表于 2020-4-6 14:57:25 | 显示全部楼层
大佬呢个政策要怎么改啊,我想把狩猎的食物+2改成5

54

主题

320

回帖

142

积分

见习骑士

Rank: 3

UID
101850
第纳尔
1246
精华
0
互助
6
荣誉
0
贡献
0
魅力
5
注册时间
2008-11-24

元老骑士勋章霸主正版勋章

鲜花(15) 鸡蛋(0)
发表于 2020-4-6 16:19:49 | 显示全部楼层
终于有解决这个问题的MOD了!谢谢LZ!

0

主题

8

回帖

2

积分

平民

Rank: 1

UID
633087
第纳尔
78
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2012-1-20
鲜花(1) 鸡蛋(0)
发表于 2020-4-6 17:36:52 | 显示全部楼层
谢谢了,被粮食问题烦死了!

0

主题

4

回帖

1

积分

平民

Rank: 1

UID
2807608
第纳尔
160
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2017-2-16
鲜花(0) 鸡蛋(0)
发表于 2020-4-6 21:15:58 | 显示全部楼层
感谢大佬!

0

主题

11

回帖

3

积分

平民

Rank: 1

UID
919861
第纳尔
67
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2012-8-4
鲜花(0) 鸡蛋(0)
发表于 2020-4-6 21:29:20 | 显示全部楼层
大佬牛逼,mod收下了

10

主题

32

回帖

18

积分

随仆

Rank: 1

UID
3154571
第纳尔
106
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2020-4-2
鲜花(0) 鸡蛋(0)
发表于 2020-4-6 21:51:50 | 显示全部楼层
http://bbs.mountblade.com.cn/thread-2057528-1-1.html
感谢楼主分享 我这个帖子这个城汽油们也可以试试    这个城驻军到上线也不会断顿

20

主题

5016

回帖

1641

积分

骑士长

Rank: 5Rank: 5Rank: 5

UID
247505
第纳尔
23908
精华
0
互助
22
荣誉
2
贡献
0
魅力
693
注册时间
2010-5-6

有生之年勋章元老骑士勋章骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之忠诚勋章[杰出会员精华勋章]骑友真人秀勋章骑友真人秀Ⅱ勋章汉匈决战正版勋章霸主正版勋章骑士美德之谦恭勋章[杰出会员财富勋章]

鲜花(109) 鸡蛋(0)
发表于 2020-4-7 00:57:09 | 显示全部楼层
跳舞的花生 发表于 2020-4-6 12:40
之前有人发出mod结构,其他的就是怎么琢磨游戏的接口,功能函数了,我这儿主要用反编译工具能分析出函数 ...

看楼主的数据是每50点繁荣和20驻军减一点粮食
能不能做个MOD改大点?
或者我们自己改,是哪个dll文件啊?
游侠的独白:砍得翻马木,翻得过维墙,比得上丝袜,冲得倒诺皇,射得过罗狙,爆菊过库枪,斗得过老四,打得过流氓。
留图不留种 菊花万人捅 留种不能看 菊花被捅烂
TXT修改:增加城镇工厂的物品产量让你不再每周赤字
TXT修改:封地不降其他领主好感

0

主题

4

回帖

1

积分

平民

Rank: 1

UID
3118220
第纳尔
20
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2019-11-18
鲜花(0) 鸡蛋(0)
发表于 2020-4-7 02:33:26 | 显示全部楼层
谢谢楼主,太强了,您的两个mod都非常好,兼顾平衡性和游戏性,期待您的作品,我就做个伸手党啦

8

主题

385

回帖

178

积分

见习骑士

Rank: 3

UID
2227377
第纳尔
4139
精华
0
互助
6
荣誉
3
贡献
0
魅力
2
注册时间
2014-10-9

衣谷首次众筹勋章 霸主正版勋章元老骑士勋章

鲜花(35) 鸡蛋(0)
 楼主| 发表于 2020-4-7 13:16:21 | 显示全部楼层
templeghost 发表于 2020-4-7 00:57
看楼主的数据是每50点繁荣和20驻军减一点粮食
能不能做个MOD改大点?
或者我们自己改,是哪个dll文件啊 ...

在 TaleWorlds.CampaignSystem里,我编辑下帖子,把相关代码细节写写

8

主题

385

回帖

178

积分

见习骑士

Rank: 3

UID
2227377
第纳尔
4139
精华
0
互助
6
荣誉
3
贡献
0
魅力
2
注册时间
2014-10-9

衣谷首次众筹勋章 霸主正版勋章元老骑士勋章

鲜花(35) 鸡蛋(0)
 楼主| 发表于 2020-4-7 13:39:55 | 显示全部楼层
高奉孝 发表于 2020-4-6 14:57
大佬呢个政策要怎么改啊,我想把狩猎的食物+2改成5

按我帖子最后的第二种思路,重写那部分代码即可

1

主题

7

回帖

2

积分

平民

Rank: 1

UID
3159849
第纳尔
33
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-4-7
鲜花(0) 鸡蛋(0)
发表于 2020-4-7 13:42:15 | 显示全部楼层
谢谢 楼主分享

0

主题

7

回帖

2

积分

平民

Rank: 1

UID
3159864
第纳尔
32
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-4-7

霸主正版勋章

鲜花(0) 鸡蛋(0)
发表于 2020-4-7 14:18:39 | 显示全部楼层
大佬牛逼

0

主题

4

回帖

1

积分

平民

Rank: 1

UID
2769259
第纳尔
23
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2016-9-13
鲜花(0) 鸡蛋(0)
发表于 2020-4-7 14:58:54 | 显示全部楼层
城市粮食问题真的整的人崩溃····

0

主题

109

回帖

33

积分

扈从

Rank: 2Rank: 2

UID
3150919
第纳尔
857
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-3-29

骑砍中文站APP会员勋章

鲜花(0) 鸡蛋(0)
发表于 2020-4-7 22:05:15 | 显示全部楼层
多谢分享。

0

主题

63

回帖

19

积分

随仆

Rank: 1

UID
3154928
第纳尔
198
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-4-2

霸主正版勋章

鲜花(1) 鸡蛋(0)
发表于 2020-4-9 13:54:41 | 显示全部楼层
大佬牛皮,谢谢

1

主题

9

回帖

3

积分

平民

Rank: 1

UID
3162136
第纳尔
51
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-4-9
鲜花(0) 鸡蛋(0)
发表于 2020-4-16 18:34:11 | 显示全部楼层
大佬 您能写一个繁荣度不减少粮食的的MOD么 从根本上解决城镇缺粮的问题 我现在城镇一万多的繁荣度 粮食完全被繁荣度减没了
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2024-12-27 04:27 , Processed in 0.208806 second(s), 74 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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