本帖最后由 nmsnb111 于 2024-2-22 15:14 编辑
引路总结贴,更多修改:【风云三国修改】TXT修改总结
不能收回封地好像是战团本身的设定啊;
虽然我玩的是风云三国的MOD,但是为了能让更多朋友进行修改,我专门对照着游戏文件从scripts文件里重新找了一个方法,尽量保证通用
尽管编码不同,但方法是共通的,大家可以对照我的帖子定位到内容,就可以修改试试(记得备份)
我们来到\Modules\(你的剧本)\scripts.txt文件,搜索:“indict_lord_for_treason -1”,可以找到:
indict_lord_for_treason -1
91 23 2 1224979098644774912 1 23 2 1224979098644774913 2 1506 2 72057594037927940 1224979098644774912 6 3 1224979098644774914 648518346341351448 648518346341351732 541 3 1224979098644774914 7 1224979098644774912 501 3 1224979098644774914 7 -1 3 0 522 3 1224979098644774915 1224979098644774913 11 1 3 936748722493063670 1224979098644774912 1224979098644774915 2133 2 1224979098644774916 72057594037927936 2121 3 1224979098644774917 -150 1224979098644774916 2108 2 1224979098644774917 40 2110 2 1224979098644774917 -1 6 3 1224979098644774918 360287970189640188 360287970189640642 2173 2 1224979098644774919 1224979098644774918 31 2 1224979098644774913 1224979098644774919 1 3 936748722493063497 1224979098644774912 1224979098644774918 2133 2 1224979098644774920 72057594037927936 2133 2 1224979098644774921 1224979098644774917 4 0 32 2 1224979098644774920 1 2123 3 1224979098644774922 72057594037927936 3 2106 2 1224979098644774921 1224979098644774922 3 0 2147483678 2 1224979098644774921 0 1 4 936748722493063669 1224979098644774915 1224979098644774918 1224979098644774921 2105 2 144115188075856992 1224979098644774921 4 0 31 2 144115188075856163 1 2322 2 17 1224979098644774918 2322 2 18 1224979098644774915 2133 2 72057594037927939 1224979098644774921 1106 1 216172782113786372 3 0 3 0 2133 2 1224979098644774923 432345564227567618 4 0 31 2 1224979098644774912 360287970189639680 2133 2 1224979098644774923 0 5 0 1 2 936748722493063709 1224979098644774912 2133 2 1224979098644774923 72057594037927936 3 0 4 0 33 3 1224979098644774923 432345564227567644 432345564227567664 4 0 30 2 144115188075856163 1 2322 2 4 1224979098644774912 1106 1 1585267068834415671 3 0 1 3 936748722493063396 1224979098644774912 1224979098644774923 4 0 2147483679 2 1224979098644774923 432345564227567644 540 3 1224979098644774912 2 0 500 3 1224979098644774912 2 2 3 0 2335 2 10 1224979098644774923 2320 2 11 1585267068834415672 5 0 2147483679 2 1224979098644774912 360287970189639680 1 3 936748722493063396 1224979098644774912 432345564227567618 2320 2 11 216172782113786374 5 0 31 2 1224979098644774912 360287970189639680 1 2 936748722493063546 1 3 0 4 0 31 2 1224979098644774912 360287970189639680 2320 2 9 216172782113786375 5 0 2322 2 4 1224979098644774912 2335 2 5 1224979098644774913 2322 2 6 1224979098644774915 1506 2 72057594037927940 1224979098644774912 2320 2 9 216172782113786376 3 0 1106 1 1585267068834415673 520 3 1224979098644774924 1224979098644774912 10 4 0 132 1 1224979098644774924 2147483679 2 1224979098644774924 648518346341351424 1605 2 1224979098644774924 216172782113783809 1232 1 1224979098644774924 500 3 1224979098644774912 10 -1 3 0 4 0 31 2 144115188075856163 1 1073741855 2 1224979098644774913 144115188075856287 31 2 1224979098644774923 144115188075856287 1 4 936748722493063460 864691128455135426 1224979098644774912 1224979098644774913 3 0
这个脚本文件是与大臣对话中选择以叛国罪惩治领主选项调用的脚本
毕竟是MOD,可能会稍长一点,我也不确定制作组有没有在这个脚本文件里加了内容,但是我们看重点就可以了,也就是尝试遍历标头6 3 到尝试结束标头3 0 之间的内容,讲解一下:
首先,91 23 2 1224979098644774912 1 意为将变量0赋值为脚本参数1(你要驱逐的领主);这个语句只能存在于脚本文件中,大家先记住
6 3 1224979098644774914 648518346341351448 648518346341351732 意为遍历循环所有城镇;可是不论与大臣对话,还是与领主对话,都只会遍历势力的所有城镇
541 3 1224979098644774914 7 1224979098644774912 意为取城镇领主变量槽为变量0(1224979098644774912)的城镇;前面说过变量0已经被设置为1了,城镇领主变量槽为1即城镇有领主
501 3 1224979098644774914 7 -1 意为将城镇领主变量槽设置为-1,城镇领主变量槽为-1即城镇无领主;这两步操作结合起来就取消了城镇领主,但是,无领主就是无领主,其领主也不会是玩家
3 0 意为结束遍历循环,这一步不能少
所以综合来看,收回,或者说实际上是取消领主的封地只需要四步,也就是四行四个操作块
我们把这一段整个复制出来,并且在前面加上操作块个数标志4:
4 6 3 1224979098644774914 648518346341351448 648518346341351732 541 3 1224979098644774914 7 1224979098644774912 501 3 1224979098644774914 7 -1 3 0
但是刚刚说到过,第三步去领主变量槽为变量0的语句是在scripts脚本文件中先取出了脚本参数1进行赋值的,所以这句话实际上在conversation中是用不了的
但是我在\Modules\(你的剧本)\conversation.txt文件中又反复考察,找到了残缺的这一部分;搜索“OK._I_will_jion_you.”,即可转到:
dlga_npcs_join_3:close_window 4095 2335 1 105 1 1 OK._I_will_jion_you. 6 15 1613 3 648518346341351424 144115188075855987 1 520 3 1224979098644774912 144115188075855987 10 1605 2 1224979098644774912 216172782113783809 1232 1 1224979098644774912 500 3 144115188075855987 10 -1 500 3 144115188075855987 342 1 6 3 1224979098644774913 648518346341351448 648518346341351732 541 3 1224979098644774913 7 144115188075855987 1 4 936748722493063398 1224979098644774913 360287970189639680 0 3 0 6 3 1224979098644774914 360287970189640435 360287970189640554 540 3 1224979098644774914 341 144115188075855987 1613 3 648518346341351424 1224979098644774914 1 500 3 1224979098644774914 342 1 3 0 NO_VOICEOVER
这里我们需要的是尝试遍历标头6 3 到调用脚本标头3 0 之间的内容,讲解一下:
未加粗的那一部分是与遍历命令的参数,我们真正要用的是后面的541 3 1224979098644774913 7 144115188075855987,这句的作用是取领主为对话者的城镇,欸,就是我们所需要的
我们用这个领主为对话者的城镇的操作块替换掉刚刚取我方势力城镇的操作块,即得:
4 6 3 1224979098644774914 648518346341351448 648518346341351732 541 3 1224979098644774913 7 144115188075855987 501 3 1224979098644774914 7 -1 3 0
但是就像上面说的,城镇会恢复无领主的状态,即玩家本身也不是领主;为了方便修改,我们搜索“Do_you_have_any_idea_who_I_am?”,可以找到这样一句话:
dlga_drunk_response:drunk_player_high_renown 69631 47 1 560 3 360287970189639680 7 150 Do_you_have_any_idea_who_I_am? 1798 0 NO_VOICEOVER
这句话的好处是其中只有一个长数字串,这个360287970189639680指代的就是玩家本身这个兵种,我们用它来替换-1就能把封地收回并且将领主设置为自己,即得:
4 6 3 1224979098644774914 648518346341351448 648518346341351732 541 3 1224979098644774913 7 144115188075855987 501 3 1224979098644774914 7 360287970189639680 3 0
最后还要注意,这里一共有三个122497909864477491X的数字串,这串数字实际上代表了一个局部变量;这个操作列表中存在末尾为4的变量,也存在末尾为3的变量,我们需要把它们末尾的数字统一
接下来我们就需要在conversation.txt文件中合适的位置把这一段操作列表加进去就可以了,我们搜索:“dlga_lord_talk:lord_talk_ask_something”,这是与己方领主对话时选单的最后一个选项:
dlga_lord_talk:lord_talk_ask_something 69631 1947 2 30 2 144115188075856788 0 2147484208 3 144115188075855987 8 0 I_wish_to_ask_you_something. 2382 0 NO_VOICEOVER
这里的1947是与领主的对话选单编号,我们用在下面
在此行的末尾打上一个回车,然后按conversation里其他对话的格式加上我们的对话,就像下面我打的这样
dlga_lord_talk:lord_talk_ask_something 69631 1947 2 30 2 144115188075856788 0 2147484208 3 144115188075855987 8 0 I_wish_to_ask_you_something. 2382 0 NO_VOICEOVER
dlga_lord_talk:shouhuifengdi 69631 1947 4 31 2 144115188075855989 144115188075856287 542 3 144115188075856287 8 360287970189639680 2147484208 3 144115188075855987 8 0 540 3 144115188075855987 342 0 不_论_出_于_何_种_原_因,我_要_收_回_你_的_封_地。 19131 0 NO_VOICEOVER
dlga_lord_talk:shouhuifengdi_queren 4095 19131 0 你_确_定_吗,大_人? 19132 0 NO_VOICEOVER
dlga_lord_talk:shouhuifengdi_queren.1 69631 19132 0 没_错。 19133 4 6 3 1224979098644774914 648518346341351448 648518346341351732 541 3 1224979098644774913 7 144115188075855987 501 3 1224979098644774914 7 -1 3 0 NO_VOICEOVER
dlga_lord_talk:shouhuifengdi_queren.1 69631 19132 0 还_是_算_了_吧。 1913 0 NO_VOICEOVER
dlga_lord_talk:shouhuifengdi_queren.1 4095 19133 0 好_吧,如_你_所_愿。 1913 0 NO_VOICEOVER
中间的这些编号是五位数,这是因为我们新建对话务必要确保不能与已有的对话编号相同,否则会有BUG啊
大家可能还发现最后的对话指向编号是1913,这个其实不是非常重要
它是与领主在完成一段对话后回到与自势力领主对话选单时衔接的一句对话,我们搜索“dlga_lord_pretalk:lord_talk”:
dlga_lord_pretalk:lord_talk 4095 1913 0 Anything_else? 1947 0 NO_VOICEOVER
为了对话流畅,我们还是留下这句话,所以用1913号对话来衔接而不是直接转到1947号的对话选单
那么青色的内容是一个条件判断的操作列表,大概的内容应该是玩家是国王,领主是自己阵营等等内容,它同样来自于conversation文件,我们搜索:“I_have_a_new_task_for_you.”,可以找到这样一句对话
dlga_lord_talk:lord_give_order_ask 69631 1947 4 31 2 144115188075855989 144115188075856287 542 3 144115188075856287 8 360287970189639680 2147484208 3 144115188075855987 8 0 540 3 144115188075855987 342 0 I_have_a_new_task_for_you. 2343 0 NO_VOICEOVER
最后总结一下:
我们是从scripts脚本文件中驱逐领主的脚本找到了取消封地操作列表的大体
然后从conversation文件中找到了能取对话者作为领主的城镇的操作块,对取全势力城镇的操作块进行了替换
找好了与领主对话的对话选单编号和对话衔接编号
最后添加新语句,大功告成,效果如下:
mb43.jpg (1.25 MB, 下载次数: 78)
下载附件
保存到相册
2024-2-21 17:59 上传
mb44.jpg (928.22 KB, 下载次数: 91)
下载附件
保存到相册
2024-2-21 17:59 上传
mb45.jpg (1.1 MB, 下载次数: 107)
下载附件
保存到相册
2024-2-21 17:59 上传
mb46.jpg (966.92 KB, 下载次数: 74)
下载附件
保存到相册
2024-2-21 17:59 上传
mb47.jpg (939.76 KB, 下载次数: 98)
下载附件
保存到相册
2024-2-21 17:59 上传
mb48.jpg (1.27 MB, 下载次数: 102)
下载附件
保存到相册
2024-2-21 17:59 上传