- 好友
- 0
- 在线时间
- 13 小时
- 最后登录
- 2024-2-6
随仆
![Rank: 1](static/image/common/star_level1.gif)
- UID
- 2748891
- 第纳尔
- 291
- 精华
- 0
- 互助
- 2
- 荣誉
- 0
- 贡献
- 0
- 魅力
- 1
- 注册时间
- 2016-5-31
![](source/plugin/floweregg/images/flower.gif) 鲜花( 8) ![](source/plugin/floweregg/images/egg.gif) 鸡蛋( 0)
|
本帖最后由 自由天空翼 于 2021-10-3 20:45 编辑
1.当我们在玩法亚史诗老版本的时候打到中后期时总会因为国家之间的开战或和平协议而造成 no string! 框框刷屏的情况,我本人是个代码小白,没有能力弄明白到底是什么原因改变了战争或议和双方国家的代码,但是我至少能让各位在玩老版本的时候不至于被这个出戏的框框破坏游戏体验,废话不多说了,下面是修改方法(该方法并不是很完美,这个方案能够使游戏中即便出现了 no string!框框刷屏的情况,也只会出现一两次,比无限刷屏要好得多):
(1)打开scripts.txt,搜索set_war_type_for_two_kingdom -1,接着将下面的第一个数字(我这里是42)加11,然后在末尾的3 0 3 0前添加下列代码
4 0 500 3 360287970189641192 900 -10 520 3 1224979098644774930 360287970189641192 901 2105 2 1224979098644774930 1 500 3 360287970189641192 901 1224979098644774930 3 0 4 0 2147483678 2 1224979098644774930 0 2133 2 1224979098644774930 0 500 3 360287970189641192 901 1224979098644774930 3 0
(2)打开scripts.txt,搜索finish_war_between_kingdoms_high_ai -1,接着将下面的第一个数字(我这里是308)加11,然后在本段末尾处添加下列代码
4 0 500 3 360287970189641192 900 -10 520 3 1224979098644774980 360287970189641192 901 2105 2 1224979098644774980 1 500 3 360287970189641192 901 1224979098644774980 3 0 4 0 2147483678 2 1224979098644774980 0 2133 2 1224979098644774980 0 500 3 360287970189641192 901 1224979098644774980 3 0
(3)打开simple_triggers.txt,搜索1.000000 76 2147484188 3 360287970189641192 0 -1 4 0 540 3,接着将整段直到120.000000之前的代码全部替换为
1.000000 84 2147484188 3 360287970189641192 0 -1 4 0 540 3 360287970189641192 0 -11 520 3 1224979098644774912 360287970189641192 150 520 3 1224979098644774913 360287970189641192 300 520 3 1224979098644774914 360287970189641192 450 520 3 1224979098644774915 360287970189641192 600 520 3 1224979098644774916 360287970189641192 750 2133 2 1224979098644774917 1 4 0 31 2 1224979098644774912 216172782113789428 3221225505 3 144115188075856287 432345564227567629 432345564227567639 31 2 144115188075856287 432345564227567629 2133 2 1224979098644774917 0 3 0 4 0 31 2 1224979098644774917 1 500 3 360287970189641267 90 1224979098644774912 500 3 360287970189641267 91 1224979098644774913 500 3 360287970189641267 92 1224979098644774914 500 3 360287970189641267 93 1224979098644774915 500 3 360287970189641267 51 1224979098644774916 900 1 1513209474796486720 3 0 5 0 540 3 360287970189641192 0 -12 520 3 1224979098644774912 360287970189641192 150 520 3 1224979098644774913 360287970189641192 300 1120 2 1224979098644774913 1224979098644774912 5 0 540 3 360287970189641192 0 -10 520 3 1224979098644774918 360287970189641192 150 4 0 31 2 144115188075856287 1224979098644774918 520 3 1224979098644774918 360287970189641192 150 520 3 1224979098644774919 360287970189641192 300 520 3 1224979098644774920 360287970189641192 450 500 3 360287970189641267 90 1224979098644774918 500 3 360287970189641267 91 1224979098644774919 500 3 360287970189641267 92 1224979098644774920 900 1 1513209474796486721 3 0 5 0 540 3 360287970189641192 900 -10 520 3 1224979098644774921 360287970189641192 901 30 2 1224979098644774921 1 520 3 1224979098644774922 360287970189641192 0 520 3 1224979098644774923 360287970189641192 150 520 3 1224979098644774924 360287970189641192 300 520 3 1224979098644774925 360287970189641192 450 520 3 1224979098644774926 360287970189641192 600 500 3 360287970189641267 90 1224979098644774922 500 3 360287970189641267 91 1224979098644774923 500 3 360287970189641267 92 1224979098644774924 500 3 360287970189641267 93 1224979098644774925 500 3 360287970189641267 51 1224979098644774926 900 1 1513209474796486722 520 3 1224979098644774921 360287970189641192 901 2106 2 1224979098644774921 1 500 3 360287970189641192 901 1224979098644774921 31 2 1224979098644774921 0 500 3 360287970189641192 900 0 3 0 6 3 1224979098644774927 0 150 2120 3 1224979098644774928 1224979098644774927 150 2120 3 1224979098644774929 1224979098644774927 300 2120 3 1224979098644774930 1224979098644774927 450 2120 3 1224979098644774931 1224979098644774927 600 2120 3 1224979098644774932 1224979098644774927 1 2120 3 1224979098644774933 1224979098644774932 150 2120 3 1224979098644774934 1224979098644774932 300 2120 3 1224979098644774935 1224979098644774932 450 2120 3 1224979098644774936 1224979098644774932 600 520 3 1224979098644774937 360287970189641192 1224979098644774932 520 3 1224979098644774938 360287970189641192 1224979098644774933 520 3 1224979098644774939 360287970189641192 1224979098644774934 520 3 1224979098644774940 360287970189641192 1224979098644774935 520 3 1224979098644774941 360287970189641192 1224979098644774936 500 3 360287970189641192 1224979098644774927 1224979098644774937 500 3 360287970189641192 1224979098644774928 1224979098644774938 500 3 360287970189641192 1224979098644774929 1224979098644774939 500 3 360287970189641192 1224979098644774930 1224979098644774940 500 3 360287970189641192 1224979098644774931 1224979098644774941 3 0
(4)全部修改完后将很少出现因国家间宣战或签订和平条约所带来的no string的刷屏
(5)原理(可不看):之所以会出现no string的刷屏是由于触发国家间战争或是签订和平条约后所出现的框框时没有给它赋予一个具体的判定值,而晋升任务的触发,议会的议案是否通过,这些情况都有具体的判定值,但是由于宣战和和平条约的签订没有具体的判定值,如果代码在运行的过程中一旦出现一点数值不对,系统便把剩下所有的情况全都算到了宣战与和平条约的签订上,所以会有频繁刷屏的no string。
(6)修改思路(可不看):要想避免出现no string的框框刷屏我们必须首先得给宣战或签订和平条约一个具体的判定值,然后专门为这个判定造一个计数器,在此基础之上每过一次判定就给计数器值加1,然后出现框框后再把前面加的1减去,这样在没有战争或签订和平条约时这个计数器始终保持在0,再将这个计数器和前面的判定值共同作为是否弹出框框的判定条件,最后再写一道代码防止数据抽风出现计数器小于0,我认为这样就可以规避掉no string的问题了
(7)修改过程详解(可不看):我在1和2中添加的代码的含义是,将trp_mainland_war_notes_keeper的第900号slot值赋予为判定值,当战争与和平条约签订后,这个值会变为-10,然后再把901号slot加1。为了确保901号slot不会因系统计算抽风出现负数的情况,我还多做了一道保险,当901号slot值小于0时,在判定结束后会把这个值变回0,防止因为其为负数的关系而导致后面的所有代码无法触发。3中的修改含义为我给战争与和平条约的判定做了两道检测,当900号slot值为-10且901号slot大于等于1时才可以过判定(之所以要写大于等于1是因为有可能出现两国同时触发和平条约,一旦没有对计数器的判定代码,就有可能出现只显示一次条约的情况)。在通过判定且弹出框框后计数器里的数字减1(这里更加显示出计数器的重要性,前面加了几次,这里就减几次,确保计数器在触发后为0,方便下次使用),然后对计数器在进行一次判定,如果在加1减1后计数器为0话,就将条约签订的判定值即第900号slot值重新变回0(我改过之后打了一个3000天的档并未发生抽风的情况,如果改后有问题可以私信我,方便我修改一些错误)
2.永夜森林第五张地图(有boss的那张)干掉boss后再次进入时红字刷屏的bug修复:
打开mission_templates.txt,搜索mst_dark_forest dark_forest 2 -1,接着搜索1.000000 0.000000 0.000000 0 62,将这里的62+1变为63,然后搜索720575940379279949 520 3 1224979098644774913 360287970189641158 230,在这后方添加30 2 1224979098644774913 0,即可修复该bug
原理(可不看):当玩家进入永夜的第五张地图时,若trp_dark_note_keeper的第230号slot的值为0时(游戏初始这个slot未被更改时,默认为0),地图上会在特定地点刷新门卫努克。在玩家干掉门卫努克后,trp_dark_note_keeper的第230号slot的值会变为-1,表示门卫努克已死,但是这段代码被更改后没有对门卫努克死后trp_dark_note_keeper的第230号slot的值进行判定,进而导致努克死后,下次再进这张地图时系统想要刷新出努克和他的小弟,但是trp_dark_note_keeper的第230号slot的值为-1,过不了上面trp_dark_note_keeper的第230号slot的值为0的判定,所以就会一直刷红字
修改思路(可不看):既然知道了这种情况,我们只需要在干掉努克后,第二次进入永夜的第五张图时,给trp_dark_note_keeper的第230号slot的值做个判定即可,30 2 1224979098644774913 0的意思是判断trp_dark_note_keeper的第230号slot的值是否大于等于0,门卫努克死后,这个值会变为-1,不符合该判定,系统就不会再尝试去刷新门卫努克和它的小弟们了
3.玩家参与守城时弹药也能得到补给:
打开mission_templates.txt,分别搜索下列数字
(1)mst_castle_attack_walls_belfry castle_attack_walls_belfry 65538 -1
接着在下方搜索
43 135232 256 16 1 0
44 135232 256 16 1 0
45 135232 256 16 1 0
46 135232 256 16 1 0
47 135232 256 16 1 0
35
(2)mst_castle_attack_walls_ladder castle_attack_walls_ladder 65538 -1
接着在下方搜索
43 135232 256 16 1 0
44 135232 256 16 1 0
45 135232 256 16 1 0
46 135232 256 16 1 0
30
把搜索到的两个数字(如果搜索到的不是35,30的话就在对应位置的数字上+1,例如35+1=36)
两个数字+1后保存修改,再重新打开打开mission_templates.txt,分别搜索下列数字
(1)mst_castle_attack_walls_belfry castle_attack_walls_belfry 65538 -1
(2)mst_castle_attack_walls_ladder castle_attack_walls_ladder 65538 -1
在两个场景的末尾分别添加下列数字
120.000000 0.000000 0.000000 0 6 1700 1 1224979098644774912 1702 1 1224979098644774912 1770 2 1224979098644774913 1224979098644774912 1073741855 2 1224979098644774913 144115188075856302 31 2 1224979098644774913 144115188075856304 1728 1 1224979098644774912
(例如我搜到的mst_castle_attack_walls_belfry castle_attack_walls_belfry 65538 -1场景末尾是
60.000000 0.000000 0.000000 0 8 12 1 1224979098644774912 1702 1 1224979098644774912 2147485352 1 1224979098644774912 1715 2 1224979098644774913 1224979098644774912 31 2 1224979098644774913 -1 2147483679 2 1224979098644774912 144115188075857107 1751 1 1224979098644774912 3 0
那么就在这行的下方另起一行并添加我上面提到的数字,添加完之后记得检查和下方保留两行空格即可)
另外还有一点,在我上面提到的数字中最前面的数字120.000000中的120是检测时间,例如120就是守城时每两分钟补给一次弹药,如果修改过弹药数量或者觉得补给的太慢可以自行修改,切记数字不要改的太小,太小了会导致系统频繁计算,浪费系统性能,适当修改即可
4.守城时所有部队听从玩家指挥:
(1)打开mission_templates.txt,搜索mst_castle_attack_walls_belfry castle_attack_walls_belfry 65538 -1,接着搜索-25.000000 0.000000 0.000000 0 4 2071 1 1224979098644774912 1 2 936748722493063664 1224979098644774912 1 2 936748722493063745 1224979098644774912 1 2 936748722493063746 1224979098644774912
(2)将上文整段替换为-25.000000 0.000000 0.000000 0 11 2071 1 1224979098644774912 1 2 936748722493063745 1224979098644774912 1 2 936748722493063746 1224979098644774912 4 0 1700 1 1224979098644774913 30 2 1224979098644774913 0 1770 2 1224979098644774914 1224979098644774913 1073741855 2 1224979098644774914 144115188075856303 31 2 1224979098644774914 144115188075856305 1 2 936748722493063664 1224979098644774912 3 0
(3)打开mission_templates.txt,搜索mst_castle_attack_walls_ladder castle_attack_walls_ladder 65538 -1,接着搜索-25.000000 0.000000 0.000000 0 4 2071 1 1224979098644774912 1 2 936748722493063664 1224979098644774912 1 2 936748722493063745 1224979098644774912 1 2 936748722493063746 1224979098644774912
(4)将上文整段替换为-25.000000 0.000000 0.000000 0 11 2071 1 1224979098644774912 1 2 936748722493063745 1224979098644774912 1 2 936748722493063746 1224979098644774912 4 0 1700 1 1224979098644774913 30 2 1224979098644774913 0 1770 2 1224979098644774914 1224979098644774913 1073741855 2 1224979098644774914 144115188075856303 31 2 1224979098644774914 144115188075856305 1 2 936748722493063664 1224979098644774912 3 0
原理(可不看):这段代码的意思是在玩家进入有攻城塔和有梯子的攻城场景时,使用一个来自scripts.txt中的agent_reassign_team -1这个脚本,这个脚本的作用是定义在一个场景中所有的单位的指挥权,当玩家为元帅时,所有单位默认为玩家指挥。正常来说,这个脚本只有在野战中才会出现,但是在法亚史诗0.486中,宁大在所有的攻城场景中也加入了这样一段代码,这就是为什么当玩家不是元帅且在攻城或守城时能够指挥自己的部队和驻军却无法指挥领主部队的原因了,之所以能够指挥驻军是因为agent_reassign_team -1这个脚本并没有定义驻军的指挥权,当友方部队没有定义谁来指挥时,系统默认为玩家指挥
修改心得(可不看):我个人感觉骑砍的攻城场景中ai的寻路网格和临场的行为判定非常的不合理,解决这个问题只有两种方法,一种是直接重铺重写ai网格和行为的代码,另一种是让玩家能够控制ai守城时的行为,规避掉ai在玩家看来很“傻”的行为,我个人能力有限,第一种方法做不到,于是我选择了第二种比较省力的方法。我一开始直接删除掉了呼出agent_reassign_team -1这个脚本的相关代码,但是在我进行攻城时,所有部队都在听我指挥,而那个档中我只是一个刚加入国家的小领主,我觉得有点违和,所以最后决定写一个关于玩家所处状态的判定。上文中替换掉原文的代码含义为——当玩家进入攻城场景时对玩家所处的队伍状态进行判定,当玩家处于守城方时,系统不呼出agent_reassign_team -1这个脚本,所有的部队指挥权归玩家所有;当玩家处于攻城方时,呼出agent_reassign_team -1这个脚本即玩家不为元帅时,玩家只能控制自己的部队。我个人修改这段代码的原因是因为我在守城时发现若是没有玩家指挥的话,大量的射手在部队刷新点刷新后就一直待在原地,使得明明能够守住的城经常失守,在实在受不了这种状况后我下定决心修改这段代码使得敌方大军兵临城下时,守城ai听从玩家指挥,这样既有种临危受命的感觉,也避免了当玩家处于攻城方时所有部队都听玩家指挥的违和感
5.修改工匠制造物品的范围以及金钱:
(1)可打造物品的范围修改
打开conversation.txt,搜索dlga_armory_master_quest_item_2:armory_master_quest_item_3,接着搜索2147483678 2 1224979098644774914 288230376151713202 1570 2 1224979098644774915,这整段话是对可以打造物品的范围的判定,即可以打造的物品仅限于第1458号物品“教廷权杖”之前的物品可以被打造,要想使重甲也可以被打造的话就需要把288230376151713202修改为288230376151713295即第1551号物品之前的物品都可以被打造,那么所有的重甲也都在可打造的范围里了
(2)可打造物品所需要的金钱修改
打开conversation.txt,搜索dlga_armory_master_quest_item_3:armory_master_quest_item_4,接着搜索144115188075856007 2107 2 1224979098644774912 10 2110 2,这里的10代表着先把物品的价格乘10倍,然后搜索1224979098644774912 50000 2111 2 1224979098644774912 12000 2133 2,这里的50000和12000分别代表着当一个物品的价格乘10倍后大于50000时,取50000为基准,当一个物品的价格乘10倍后小于12000时,取12000为基准。再搜索1224979098644774913 1224979098644774912 8 2133 2 72057594037927939,这里的数字8就是在上面物品价格基数确定时,需要在基数上乘8,所以当我们打造很贵的物品时价格会被锁定在400000就是这么来的,由于后期来钱太容易了,所以建议把10改为8,50000改为150000,12000改为30000,这样我们打造东西时的花销将会在24万到120万之间,比原来的更为合理
6.玩家可以无限次用血色晶石换取旅行商人苏珊的药:
打开conversation.txt,搜索dlga_antique_4_action_1:special_antique_response_again,接着搜索360287970189639680 1224979098644774914 1 500 3 360287970189641268 0 1 NO_VOICEOVER,这个1就是玩家在换取一次药之后,原先给药的判定值便会从-1变为1,等于说下次再想去换药时就过不了给药的判定了,如果想要无限换药的话,只需要把这里的1改为-1就行了
7.所有村子在大地图上总是可见:
打开triggers.txt,搜索541 3 1224979098644774912 7 360287970189639680 501 3
(1)将7修改为481,将360287970189639680修改为0,所有的村子就都会在大地图上显示了
(2)原理(可不看):其中7的意思是当一个据点的属性为村子时,检测它的第七个slot即这个村子的领主是谁,360287970189639680的意思是判定这个村子的拥有者是否为玩家,我们需要做的是让检测村子领主的判定变成所有村子都有的一个代码,这样当触发器检测这段代码时,所有的村子都符合判定,那么所有的村子也就都会显示在地图上了
(3)修改心得(可不看):关于据点是否永久在大地图上显示,需要有一个(party_set_flags, ":center_no", pf_always_visible, 1),的判定句,其中party_set_flags是给":center_no"这些据点加上一个相关的状态,pf_always_visible就是大地图上永久显示的代码,其在txt文本中的代号是16384,最后的1就是一直显示在大地图上的意思,若设置为0的话,只有当玩家走到该据点附近时该据点才会显示在大地图上(感谢宁大给予的提示)
8.采邑根据补给上限刷新的驻军数量修改:
打开simple_triggers.txt,搜索24.000000 147 6 3 1224979098644774912 360287970189640160 360287970189640310,然后在下方分别搜索下列数字
(1)1224979098644774929 5 5 0 2108 2 1224979098644774929 2 3 0
(2)1224979098644774931 0 2107 2 1224979098644774930 8 2108 2 1224979098644774930 10 5 0
(3)1224979098644774931 -1 2107 2 1224979098644774930 9 2108 2 1224979098644774930 10 3 0
原理(可不看):
{1}.(1)中的数字5代表着当采邑处于被占领状态时刷新的驻军数量=最大补给值除5,数字2代表着当采邑处于未被占领时刷新的驻军数量=最大补给值除2
{2}.(2)和(3)中的数字0和-1分别代表着该国家是否处于战争状态,数字为0则为未爆发战争的状态,-1为爆发战争后的状态
{3}.当国家处于未战争状态时,据点刷新的驻军数量在(1)计算的结果下还需要先乘8再除10得出最终的结果
{4}.当国家处于战争状态时,据点刷新的驻军数量在(1)计算的结果下还需要先乘9再除10得出最终的结果
{5}.最后还有一步计算,由于不涉及到修改,所以这里我没有列出代码,我们只需要知道当计算出驻军数量的结果后,当一个据点的驻军数量小于应有的驻军值时,那么该据点就会在游戏时间一天之内增加驻军,每天增加一次,直到驻军数量大于或等于应有的值为止
{6}.有了上面的公式我们就可自行计算驻军数量了,假如说我们给2级的城堡修改的最大补给上限为1500,并且该国家处于战争之中,此外该据点还不处于被占领的状态下,那么在该城堡没有任何建筑和改革的加成下,它的驻军刷新数量为1500÷2=750,750×9÷10=675
修改方法:
{1}.如果想要据点被占领后多刷部队,就把5改小(不推荐,因为这代表着弱势的国家一旦被占领地盘后想要夺回来比登天还难),最多只建议改到3,原因前面讲过
{2}.如果你设置的采邑补给值过大,又想只有自己的据点驻军多,ai据点驻军少的话,就把(2)和(3)中的8和9分别改低即可,推荐在补给值修改的比游戏原来的设定的值一倍还多的人把8改为6,9也改为6
9.招募部队费用修改:
打开scripts.txt,搜索init_legion_date -1,接着分别搜索下列数字
其中除了明确标着消耗声望或荣誉的值以外,其他数字均为招募该中文对应的军团所需要花费的金钱
(1)赤鹰兵团—— 360287970189641247 6 1200 500 3 360287970189641247 7
(2)帝鹰贵族卫队—— 360287970189641247 13 2500 500 3 360287970189641247 14
(3)铁拳佣兵团—— 360287970189641247 20 6500 500 3 360287970189641247 21 216172782113787095 500 3
(4)圣堂禁军—— 360287970189641247 30 3000 500 3 360287970189641247 31 216172782113787098 500 3
(5)波洛斯战团—— 360287970189641247 46 1600 500 3 360287970189641247 47 216172782113787090
(6)黑狼兵团—— 360287970189641247 57 2200 500 3 360287970189641247 58 216172782113787100
(7)蒂丽嘉公民兵团—— 360287970189641247 69 1600 500 3 360287970189641247 70
(8)蒂丽嘉贵族卫队—— 360287970189641247 76 3200 500 3 360287970189641247 77
(9)巴兰达外籍兵团—— 360287970189641247 85 5500 500 3 360287970189641247 86
(10)瑞因斯塔重装兵团—— 360287970189641247 92 3500 500 3 360287970189641247 93
(11)职业佣兵团—— 360287970189641247 103 8000 500 3 360287970189641247 104
(12)蒂丽嘉女王亲兵—— 360287970189641247 110 30 500 3 360287970189641247 111 (30是需要消耗的荣誉值)
360287970189641247 119 8500 500 3 360287970189641247 120
(13)格雷德民族军—— 360287970189641247 126 800 500 3 360287970189641247 127
(14)格雷德部落贵族—— 360287970189641247 133 1800 500 3 360287970189641247 134
(15)寻宝冒险团—— 360287970189641247 140 5000 500 3 360287970189641247 141
(16)冬湖守备队—— 360287970189641247 147 8500 500 3 360287970189641247 148
(17)斯莱特兵团—— 360287970189641247 161 800 500 3 360287970189641247 162
(18)御风亲兵—— 360287970189641247 168 1800 500 3 360287970189641247 169
(19)天狼军团—— 360287970189641247 177 5500 500 3 360287970189641247 178
(20)奥利安牧民守备队—— 360287970189641247 191 500 500 3 360287970189641247 192
(21)巴尔兹部族—— 360287970189641247 198 3000 500 3 360287970189641247 199
(22)帝国常规军团—— 360287970189641247 208 1050 500 3 360287970189641247 209
(23)帝国内湖军团—— 360287970189641247 221 850 500 3 360287970189641247 222
(24)帝国禁卫军团—— 360287970189641247 232 60 500 3 360287970189641247 233 (60是招募禁卫军团时所需要消耗的声望)
(25)帝国贵族军团—— 360287970189641247 243 2600 500 3 360287970189641247 244
(26)帝国宪兵军团—— 360287970189641247 250 25 500 3 360287970189641247 251 216172782113787088 500 3 360287970189641247 252 6500 500 3 (25是需要消耗的荣誉)
(27)黑蛇军团—— 360287970189641248 5 800 500 3 360287970189641248 6
(28)泽尔克安先锋军—— 360287970189641248 12 900 500 3 360287970189641248 13
(29)瓦德鲁安金甲军—— 360287970189641248 21 8000 500 3 360287970189641248 22
(30)南漠匪徒—— 360287970189641248 32 6500 500 3 360287970189641248 33
(31)自由佣兵团—— 360287970189641248 37 6500 500 3 360287970189641248 38
10.米兰森和玛丽在玩家加入帝国后不会离队:
打开simple_triggers.txt,搜索下列数字
(1)144115188075856287 432345564227567634 2133 2 144115188075856007 360287970189640161
(2)360287970189640161 2 0 31 2 144115188075856287 432345564227567634 542 3
(3)144115188075856287 432345564227567634 540 3 360287970189640161 2 0 500 3 360287970189640161 12 -1
将上面的三个432345564227567634统一改为432345564227567673即可使米兰森和玛丽这两名npc不会离队
原理:上面提到的数字432345564227567634是圣维利亚帝国的意思,而修改之后的432345564227567673是胧月公会的意思,等于说系统在判定玩家是否加入帝国时我们躲过了系统的判定,而胧月公会又是一个不会灭亡且玩家不可能加入的阵营,所以这样修改后这两名npc便不再会因玩家加入帝国而永久离队了
11.贵族议会不再使守军数量过多:
打开scripts.txt,搜索init_event_date -1,接着搜索360287970189641214 126 5 500 3 360287970189641217 23 383 500 3,将5改为0,这是贵族青年入伍的事件出发后入伍部队的数量,接着搜索360287970189641214 170 10 500 3 360287970189641217 26 427 500 3,将10改为0,这是贵族骑士入伍的事件出发后入伍骑士的数量。将这两个都改为0后ai据点的守军就不会一直增长了
12.精兵训练不再使守军数量过多:
打开scripts.txt,搜索set_influence_to_object_in_event_temp_list -1,接着搜索216172782113787398 2133 2 1224979098644774930 1224979098644774918,将这里的216172782113787398修改为216172782113790026(这个操作的目的是把刷兵判定的条件给注销掉了,等于政治里点了精兵训练,也提示你给你部队了,但实际上什么都没有,下文同理),接着搜索1224979098644774930 216172782113787406 2204 2 1224979098644774932 1224979098644774912,将216172782113787406替换为216172782113790415,再搜索1224979098644774931 216172782113787407 2133 2 1224979098644774931 1224979098644774912,把216172782113787407替换为216172782113790416,配合贵族议会的修改结果,就可以让驻军不再越来越多(如不修改的话大约游戏时间7000天时有概率出现一个村子1000+驻军的诡异情况)
13.村庄被攻占后不会弹出失去领地的弹窗:
打开scripts.txt,搜索game_event_simulate_battle -1,接着搜索1224979098644774946 432345564227567629 1 4 936748722493063573 864691128455135487 1224979098644774942 1224979098644774962 3 0 1695,其中432345564227567629就是阵营玩家支持国(13.fac_player_supporters_faction)的意思,将其替换为不会灭亡的阵营432345564227567673即胧月公会(57.fac_hazy_moon),替换完成后当村庄被攻占后就不会弹出“领地失去 因为xxx(国家)你失去了xxx(村庄)”这样的弹窗了
14.专制国家部队费用自己出修改:
打开scripts.txt,搜索player_rents_report_in_npc_kingdom -1,接着分别搜索下列数字
(1)1224979098644774953 1224979098644774950 1224979098644774952 4 0 31 2 1224979098644774912 1 522 3
(2)43520 4 0 31 2 1224979098644774912 1 2133 2 1224979098644774957 0 3 0 2133 2
(3)926 2 72057594037927937 1 4 0 32 2 1224979098644774951 0 2133 2 1224979098644774957 16711680 4 0 31 2 1224979098644774912 1
(4)1224979098644774958 14 3 0 2107 2 1224979098644774958 -1 4 0 31 2 1224979098644774912 1
(5)1224979098644774958 0 2133 2 1224979098644774957 16711680 4 0 31 2 1224979098644774912 1
将这五个1统一改为99999后即可取消专制国家的部队费用由国家来出的情况
原理:这里的1代表的是判定玩家加入的国家是否是专制国家,我们把1改为99999后等于说在计算工资时无法判断玩家是否加入了专制国家,那么在这种情况下,系统会默认采用正常的即战团原版的工资计算方式
15.ai部队进入战场后列阵时间修改(就是会使战场刷出battle_tactic_apply_aux红字的列阵模式):
打开scripts.txt,搜索battle_tactic_apply_aux -1,分别搜索下列数字
(1)1224979098644774918 60 30 2 1224979098644774914 30 2133 2
(2)1224979098644774918 80 30 2 1224979098644774914 30 2133 2
(3)1224979098644774913 0 30 2 1224979098644774914 300 2133 2 1224979098644774913 0 1790 3
这里的30和300代表着进入战场多少秒后部队开始冲锋,建议把30改为10,把300改为15,这样就不用冒着“枪林弹雨”去狙杀对面主帅了
16.亲卫队杀敌获得点数修改:
打开mission_templates.txt,分别搜索下列数字(亲卫队的id代码为360287970189641030)
(1)10 2105 2 144115188075857088 1224979098644774919 3 0
(2)10 2105 2 144115188075857088 1224979098644774917 3 0
(3)10 2105 2 144115188075857088 1224979098644774917 3 0
(4)10 2105 2 144115188075857088 1224979098644774919 3 0
(5)10 2105 2 144115188075857088 1224979098644774919 3 0
(6)10 2105 2 144115188075857088 1224979098644774919 3 0
这里的10代表的是在一场战斗结束后,玩家的亲卫队所杀的敌人的等级会进行一次相加,最后得出的数字会除以这里的数字10,之后变成玩家亲卫的亲卫队升级点数,改的越大亲卫队升级越慢,这里建议统一修改为20(我这里建议的是想要增加升级难度的修改方法,如要减少就把这里的数字改小)
17.亲卫队升级点数修改:
打开scripts.txt,搜索get_update_score_for_troop_ability -1,接着分别搜索下列数字
(1)1224979098644774918 1224979098644774915 10 2107 2
(2)1224979098644774914 10 5 0 2107 2 1224979098644774914 4
(3)1224979098644774921 200 2133 2 1224979098644774914 125
(4)1224979098644774921 300 2133 2 1224979098644774914 250
(5)1224979098644774921 400 2133 2 1224979098644774914 500
(6)1224979098644774921 500 2133 2 1224979098644774914 800
(7)1224979098644774914 1500 3 0 3 0
其中(1)的数字与亲卫队升级力量,敏捷属性相关联,如要增加亲卫队力量与敏捷的升级难度,建议这里修改为5,如要减少,建议这里修改为20。
(2)的数字4代表着当亲卫队的某项技能小于10级时,亲卫队升级技能的消耗点数乘4,10代表着当亲卫队的某项技能大于或等于10级时,消耗点数乘10,这两个值越大,亲卫队升级技能时所消耗的点数也就越多,反之越小,这里建议把10修改为20,4修改为8(我这里建议的是想要增加升级难度的修改方法,如要减少就把这里的数字改小)
(3)-(7)这些数字分别代表着当亲卫队的熟练度小于200,300,400,500点时,每升级一次所需花费的亲卫队点数为125,250,500,1000点,这里建议把需要花费的点数分别修改为250,500,1000,1500,第五行的数字1500代表着如果亲卫队技能熟练度大于500时,每次升级的花费为1500,建议修改为3000(我这里建议的是想要增加升级难度的修改方法,如要减少就把这里的数字改小)
18.战斗获得声望衰减修改:
打开scripts.txt,搜索change_troop_renown -1,接着搜索2123 3 1224979098644774915 1224979098644774914 200 2106 2,这里的200直接影响到战斗结束时玩家所获得的声望,其计算原理为——玩家战斗结束时理应获得的声望值-玩家的声望÷200=玩家战斗结束后实际获得的声望值,所以说这里的200改的越大,随着玩家声望上升而造成的声望衰减就越少
19.ai部队规模修改:
打开scripts.txt,搜索party_get_ideal_size -1,接着分别搜索下列代码
(1)1224979098644774913 10 2170 3,这里的10代表的是部队的基础规模
(2)1224979098644774916 5 2105 2 1224979098644774913 1224979098644774916,这里的5代表的是每一点统御所增加的带兵数(下面还有个魅力增加带兵数的,这里省略不提,因为数值直接以临时变量的形式加到了最后的带兵数中)
(3)1224979098644774919 1224979098644774918 25 2105 2,这里的25代表的是部队每25点声望值增加1点带兵上限
(4)1224979098644774913 150 3 0 4 0,这里的150代表的是阵营的领袖(如国王)额外增加的带兵上限
(5)1224979098644774913 20 3 0 6 3 1224979098644774920 648518346341351474,这里的20代表的是阵营中的元帅额外增加的带兵上限
(6)1224979098644774913 40 3 0 6 3 1224979098644774920,这里的40代表的是ai领主每拥有一个城堡所增加的带兵上限
(7)1224979098644774913 20 3 0 3 0 2171 2 1224979098644774921,这里的20代表的是ai领主每拥有一个城镇所增加的带兵上限
(8)1224979098644774921 80 2120 3 1224979098644774922 80 1224979098644774921 2107 2 1224979098644774913 1224979098644774922 2108 2 1224979098644774913 80,这三个80的含义为,用玩家的等级和80对比,若玩家的等级小于80(第一个80)级则取玩家的等级为基准,再用玩家的等级加上80(第二个80),再乘以(1)-(7)计算出来的总值,最后再除以80(第三个80),所得出来的数就是ai部队的带兵上限了
个人建议:将(6)中城堡增加的带兵数修改为20,(7)中城镇增加的带兵数修改为50,将(8)中的第一个80改为40
20.部队升级费用修改:
打开scripts.txt,搜索game_get_upgrade_cost -1,接着分别搜索下列数字
(1)1224979098644774913 0 6 2133 2 72057594037927936 10
(2)1224979098644774913 6 11 2133 2 72057594037927936 20
(3)1224979098644774913 11 16 2133 2 72057594037927936 40
(4)1224979098644774913 16 21 2133 2 72057594037927936 80
(5)1224979098644774913 21 26 2133 2 72057594037927936 120
(6)1224979098644774913 26 31 2133 2 72057594037927936 160
(7)72057594037927936 200 3 0 2075 1 72057594037927936
其中(1)到(6)的含义为,当可升级的部队自身等级为0-5,6-10(以此类推)等情况时,单个部队升级所需要的费用分别为10-160第纳尔。(7)的含义为,当可升级的部队自身等级大于30级时,单个部队升级所需要的费用为200第纳尔
21.好战性格的领主听从撤退建议:
打开conversation.txt,搜索dlga_lord_give_order_details_ask:lord_pretalk 4095 1268 3 2147484190 3 144115188075856287 8 360287970189639680 540 3 144115188075855987 52 1 31 2 144115188075856007 14 It_is_not_my_way_to_turn_tail_and_run,_without_even_laying_eyes_on_the_enemy. 866 0 NO_VOICEOVER
这里的1代表的是当领主性格为好战的时,玩家建议撤退的话领主会对玩家说——在连敌人影子都没有见到的情况下,就夹着尾巴逃跑绝对不是我的作风,将这里的1修改为26即帕蕾町的性格代码,因为全大陆只有帕蕾町是26号性格而帕蕾町又不会带兵出征,所以把1改为26后就不会出现领主不听从玩家建议撤退的情况了
22.领主开宴会邀请玩家时可增加关系的上限修改:
打开conversation.txt,搜索I_wish_to_welcome_you_to_my_hall_on_this_auspicious_occasion._Now,_what_is_it? 1131 5 4 0 33 3 144115188075855990 0 10 30 2 144115188075855996 24 1 4 936748722493063836 144115188075855987 360287970189639680 2 3 0 NO_VOICEOVER
这里的0 10和2代表的是玩家和开宴会的领主关系值在0-10点之间时对话增加2点关系,建议把0 10修改为0 101,这样子只要领主开宴会且与玩家的关系在0 100之间就都能增加关系了
23.ai每周给自己领地建造建筑的概率修改:
(1)打开scripts.txt,搜索initial_lord_building_plan -1,接着将下面的整段代码替换为
50 500 3 360287970189641271 0 300 500 3 360287970189641271 1 301 500 3 360287970189641271 2 302 500 3 360287970189641271 3 303 500 3 360287970189641271 4 304 500 3 360287970189641271 5 305 500 3 360287970189641271 6 306 500 3 360287970189641271 7 307 500 3 360287970189641271 8 308 500 3 360287970189641271 9 309 500 3 360287970189641271 10 310 500 3 360287970189641271 11 311 500 3 360287970189641271 12 312 500 3 360287970189641271 13 313 500 3 360287970189641271 14 316 500 3 360287970189641271 15 317 500 3 360287970189641271 16 318 500 3 360287970189641271 17 320 500 3 360287970189641271 18 323 500 3 360287970189641271 19 324 500 3 360287970189641271 20 300 500 3 360287970189641271 21 301 500 3 360287970189641271 22 302 500 3 360287970189641271 23 303 500 3 360287970189641271 24 304 500 3 360287970189641271 25 305 500 3 360287970189641271 26 306 500 3 360287970189641271 27 307 500 3 360287970189641271 28 308 500 3 360287970189641271 29 309 500 3 360287970189641271 30 310 500 3 360287970189641271 31 311 500 3 360287970189641271 32 312 500 3 360287970189641271 33 313 500 3 360287970189641271 34 314 500 3 360287970189641271 35 317 500 3 360287970189641271 36 318 500 3 360287970189641271 37 325 500 3 360287970189641271 38 326 500 3 360287970189641271 39 327 500 3 360287970189641271 40 300 500 3 360287970189641271 41 304 500 3 360287970189641271 42 305 500 3 360287970189641271 43 306 500 3 360287970189641271 44 309 500 3 360287970189641271 45 312 500 3 360287970189641271 46 314 500 3 360287970189641271 47 315 500 3 360287970189641271 48 325 500 3 360287970189641271 49 326
原理(可不看):这里的0 300代表着的意思是把trp_kingdom_lord_building这个兵种也就是第1591号兵种(txt代码为360287970189641271)的第一个slot值设为庄园的代码,即300,我们这里替换原来代码的目的是按照我自己的喜好给这里trp_kingdom_lord_building的0-49号slot赋予一个我想要建造的建筑物的值,宁大写的这里的代码给城镇,城堡,村庄算上扩建一共只能建造大约12次,我这里把整段代码按规律重新排列好了,即城镇建筑建造范围——0-20,城堡建筑建造范围——20-40,村庄建筑建造范围——40-50,提升了可建造建筑的数量,并且这里列好是为了下文对据点具体可建造的建筑物的范围做好整理,原来的太凌乱且不容易看懂(村庄可建造的建筑数量和修改前相同,我担心村庄建筑给多了以后村庄会扩建导致打赢战争后割村庄难度过大)
(2)打开scripts.txt,搜索get_center_overview_to_s21 -1,接着搜索300 2133 2 1224979098644774914 311 2320 2和303 2133 2 1224979098644774914 328 541 3
修改方法:将这里的300 311和303 328都改为300 328即可
原理(可不看):其中300和311是玩家在自己的村庄里看到建好的建筑的代码,303和328是玩家在自己的城镇里看到建好的建筑的代码。例如说建好了庄园后发展界面的左下角会显示:该城镇/城堡/村庄有如下升级设施等,建议修改为300和328,这样子做了以后该据点里所有建好的建筑都会显示出来(下文和这里同理)
(3)打开menus.txt,搜索menu_center_manage 0 {s19}^{reg6?^^You_are_currently_building_{s7},接着搜索300 2133 2 1224979098644774914 311 2320 2和303 2133 2 1224979098644774914 328 541 3
修改方法:将这里的300 311和303 328都改为300 328即可
(4.1)打开scripts.txt,搜索center_weekly_change_all -1,接着分别搜索下列数字
1224979098644774960 23 2133 2 1224979098644774961 36 4 0
1224979098644774960 0 2133 2 1224979098644774961 11 5 0
1224979098644774960 11 2133 2 1224979098644774961 23 3 0
修改方法:将23 36,0 11,11 23都替换为0 20即可
原理(可不看):这三段代表的是当据点的类型为城镇时,对该据点的拥有者(ai领主,不包括玩家)的性格进行一次判定,当判定该领主的性格为好战的(性格代码为1),或者是正直的(性格代码为7),又或是脾气暴躁的(性格代码为2)时,采用第二种即(1)里trp_kingdom_lord_building的第0-11号slot值对应的建筑来建造。当该领主的性格为温厚的(性格代码为6),或者是冷酷的(性格代码为3)时,按照(1)里trp_kingdom_lord_building的第11-23号slot值对应的建筑来建造,如果上述几种性格都不符合(例如国王的性格为0)的话,就采用(1)里trp_kingdom_lord_building的第23-36号slot值对应的建筑来建造,由于我们上文已经列好了0-20为城镇建筑的建造范围,因此我们这里只需要把23-36,0-11,11-23都替换成0-20就可以了,这样无论领主性格如何,城镇算上扩建的两次就都可以建造22个建筑了
(4.2)在上文的下方接着搜索
1224979098644774960 46 2133 2 1224979098644774961 58 5 0
修改方法:将46 58改为20 40即可
原理(可不看):这里是城堡的可建造范围,但是这里没有对领主性格的判定
(4.3)在上文的下方接着搜索
1224979098644774960 36 2133 2 1224979098644774961 46 3 0
修改方法:将36 46改为40 50即可
原理(可不看):这里是村庄的可建造范围,这里也没有对领主性格的判定
(5)在上文的下方接着搜索
1224979098644774955 0 10 4 0 31 2 1224979098644774955 1 2133 2
修改方法:将0 10根据自己的需要改为0 xx,这里xx改的越大ai建完所有建筑的速度就越慢,反之则越快
原理(可不看):这里的0 10是系统进行随机数的范围,即系统在0-9之间选个数字(不包括10),如果数字等于1的话则ai会在该据点符合的建造列表内选择建造建筑。这里判定的标准是游戏时间每7天即每周判定一次,我自己的测试结果是当0 10不变时,大约2000天左右,ai据点会算上扩建会建造12次,请根据这个结果做适当的修改
附上领主性格和建筑物代码,方便大家做参考
领主性格:
君主(0),好战的(1),脾气暴躁的(2),冷酷的(3),狡诈的(4),残酷成性的(5),温厚的(6),正直的(7)
建筑物代码:
一级建筑(所有据点都可以建):
庄园——300 磨坊——301 哨塔——302 学校——303 巡逻队营地——304 军械库——305 小型礼拜堂——306 发掘矿产——307 市场——308
作物轮种——309 驿站——310 监狱——311
城镇二级建筑:
国立军械库——312 军营——313 扶贫会——314 商行——315 治安巡府——316 教堂——317 朝圣所——318 建筑学院——319
城镇三级建筑:
骑士团大殿——324 医院——325 国家冶炼所——326 军事学院——327 驻屯军营地——320 商贸督察局——321 大法庭——323 大教堂——322
城堡二级建筑:
常备军训练营——312 军营——313 物资仓库——314 加固角楼——316 教堂——317 朝圣所——318 建筑学院——319
城堡三级建筑:
骑士团大殿——324 紧急治疗区——325 强化箭楼——326 高架引水渠——327
村庄二级建筑:
驯马场——312 自警队训练营——313 贵族猎场——314 引水槽——315 修正道路——316
村庄三级建筑:
乡间学院——324 民间铸造所——325 铁匠工坊——326 避难所——327
24.ai每周骑士团大殿邀请骑士团概率修改:
打开scripts.txt,搜索center_weekly_change_all -1,接着搜索50000 2136 3 1224979098644774955 0 5 31 2 1224979098644774955 1 4 0 31 2,其中0-5就是骑士团大殿建好后,系统每周会在0-4之间随机(不包括5),当随机到1时,该据点会随机邀请一个骑士团入驻其中,这里的0-5修改的越大(如改为0-10),则骑士团入驻的概率就越低
25.据点觉醒度和叛军的刷新关系修改(如果你使用了第23项修改的话,那么这一项我个人建议也请修改,因为我给城镇和城堡的建造列表里添加了学校,该建筑会导致据点觉醒度过高从而爆发叛乱):
打开scripts.txt,搜索center_weekly_change_all -1,接着分别搜索下列数字
(1)1224979098644774919 30 2 1224979098644774942 36 2133 2 1224979098644774938 216172782113787532
(2)1224979098644774939 6 4 0 33 3 1224979098644774942 40 61 2133
(3)432345564227567639 30 2 1224979098644774942 36 2133 2
原理(可不看):这里(1)的含义为当据点的觉醒度大于等于36时,开始刷新据点内叛乱度的相关代码,(2)的含义为当觉醒度在40-60之间时会出现保守众叛乱。(3)的含义为当满足(1)的条件且觉醒度不在40-60点之间时,根据据点的民众支持度,贵族支持度,治安这三种情况刷新四种叛乱(这里和本项修改无关,因此不予详细列出),因此只需要把这三个值提高的话就不会出现因觉醒度过高而刷出的叛乱进度和叛军了
修改方法:如不想看到攻占据点后出现叛乱进度和叛军的话,将(1)和(3)的值修改为一个统一数字,(2)的话就在(1)和(3)修改的数字基础上再加个15-20即可[如不想看到据点叛乱的话可以直接使用这个推荐数值:(1)和(3)——100,(2)——120 151]
(注意:这项修改需要开新档才能生效)
26.雇佣军招募费用修改:打开scripts.txt,搜索game_get_join_cost -1,接着搜索1224979098644774913 40 2108 2 1224979098644774913 5,雇佣军的单个招募费用计算公式为——该雇佣军的等级+5,然后平方,再+40,最除以5,如果该单位为骑兵话,在上述基础之上再乘以2。上面1224979098644774913 5中的5就是该公式最后除以的那个5,改大该数值可减少雇佣军的雇佣费用,改大则可增加雇佣费用
27.瓦德鲁安仆从军刷新bug修复(并不完全算是修bug,只因修改了据点最大补给量后导致仆从军的刷新判定无法通过):
打开scripts.txt,搜索process_center_added_party_ai -1,接着分别搜索下列代码
(1)搜索1224979098644774913 103 0 2133 2 1224979098644774916 0,这里的第一个0代表的是如果瓦德鲁安王国处于未开战状态时,仆从军返回据点中,将这里的第二个0改为1,即可不论是否开战,仆从军都不会被遣返
(2)搜索1 3 936748722493063188 432345564227567635 216172782113787454 31 2 72057594037927936 1 (注意最后1后面的空格),将这段删除
(3)搜索1224979098644774925 45 2108 2 1224979098644774925 100,将这里的45修改为20,这里计算的原理为:据点的最大补给量乘以45再除以100,的出一个数字,若此时城内的驻军数量大于该数字的话,则该据点刷新仆从军,请根据自己修改的据点最大补给量套入上面的公式后修改
(4)搜索1224979098644774929 2108 2 1224979098644774931 2,这里的数字2代表的是仆从军的数量=该据点内驻军数量除以2,由于前面修改后瓦德鲁安的所有据点都必刷仆从军,为了防止瓦德鲁安军事力量过于强大,将这里的2修改为4即可
(5)打开simple_triggers.txt,搜索3.000000 1 1 1 936748722493063509,将这里的3替换为24,这里的3代表的是仆从军的刷新每三个小时检测一次,把这里的3改为24后可以略微减少系统的运算负担,也可以方便玩家计算瓦德鲁安仆从军的刷新时间
个人修改备注(可不看):若觉得瓦德鲁安的仆从军人数实在太多了的话,可以搜索33 3 1224979098644774912 648518346341351452 648518346341351522,并将其替换为33 3 1224979098644774912 648518346341351452 648518346341351474,这里修改的意思是将仆从军的刷新列表从所有瓦德鲁安的城镇和城堡变为只在城镇中刷新,配合上面的仆从军刷新数量的修改,将仆从军的刷新变为玩家可控且希望看到的数值
28.npc永不离队修改:打开scripts.txt,搜索npc_morale -1,接着搜索1224979098644774916 50 2133 2 72057594037927944 1224979098644774916 2107 2 1224979098644774916 3 2108 2 1224979098644774916 4 2112,把50改大例如改为9999,也可以把3改大,或者把4改小都可以使npc的士气高涨
原理:
(1)npc的士气值是由玩家部队的士气值-不喜欢的队友npc带来的士气惩罚-玩家做的npc不喜欢的事+50×3÷4得来的
(2)所以在其他的值不变的情况下,把加的50改大,或者把乘的3改大,或是把除的4改小都可以影响最终的结果
接着打开triggers.txt,接着搜索1224979098644774922 0 100,将0改为20即可取消士气不足时npc的离队判定
https://bbs.mountblade.com.cn/thread-2074132-1-1.html(这是其他的一些修改方案,请根据自己的需要斟酌后修改)
|
鲜花鸡蛋aress 在2021-7-22 19:24 送朵鲜花 并说:很棒!!!
|