- 好友
- 0
- 在线时间
- 1034 小时
- 最后登录
- 2022-6-9
男爵[离任版主]
  
- UID
- 121410
- 第纳尔
- 1003
- 精华
- 0
- 互助
- 32
- 荣誉
- 6
- 贡献
- 50
- 魅力
- 76
- 注册时间
- 2009-3-22
 鲜花( 1)  鸡蛋( 1)
|
写在前面:
此贴就是一个PY扫盲帖,主要针对的对象就是TXT修改众,所以诸如技术含量之类的要求就不必奢望了。
另外将阿坑的置顶帖:MOD制作最简入门的地址也贴一下
http://bbs.mountblade.com.cn/viewthread.php?tid=78202
我的目的,只是为了能让更多的新手意识到,PY所拥有的优势。(不要怀疑这一点,比如这个帖子http://bbs.mountblade.com.cn/viewthread.php?tid=123503肯定有很多人觉得很神奇,却不知道到底是怎么修改出来的,我可以很负责任的告诉你,这个修改,对于PY来说,简直是简单到了无以复加(只要你肯看完这篇帖子),而TXT修改的话,绝对会让你欲仙欲死)
废话不多说,下面的内容里,我会对PY做一个尽可能细致的说明,并且手把手教大家一些基于PY的修改方法。
在这个问题之前,我们得先知道Module System(以下简称SYS),所谓的SYS,就是骑砍开发组提供的脚本开发模式,这是mod制作的核心,所有逻辑功能都在这里实现。需要python2.6环境。
请注意最后一句话,python就是我们常说的PY,实际上,你可以简单的理解为,它的存在就是为了SYS,即MOD的开发!
|
首先我们要知道,游戏自带的Native剧本的TXT文本就是通过官网发布的SYS脚本编辑而成的(重要!)。换言之,PY是直指本源。而TXT只是SYS脚本经过编译后的产生物。两者可谓高下立判。
|
战团1.113版MOD SYS的下载地址
http://173.192.225.169/mb_warband_module_system_1113.zip
在你的Native文件夹里新建一个文件夹,随便起个名字(我取的文件夹名是“source”),将下载的源码解压到这个新建的文件夹
打开module_info.py
将
export_dir = "../WOTS/Modules/Native/"
改为
export_dir = "../"
好了,在开始之前先尝试编译一下源码,看看是否有问题~~~
双击“build_module.bat”如果正常的话,应该会看到如下的界面

 |
以上只是简单的介绍了一下安装/设置的流程,虽然起初我是考虑到用原版做教程的,但是鉴于目前领军者的热度,还是拿R大的作品开刀吧。
我们这一节的目标,是在领军者1.305版本里,添加一个《所有城镇/村庄友好度99》的作弊菜单。
首先,我们进入游戏查看一下,发现领军者里有一个作弊模式,如果勾选的话,会多出一个作弊菜单,


毫无疑问,我们准备加入的作弊菜单放在这里是最合适的,那么,动手吧~~~
首先是定位,我们得先找到刚才看到的一个作弊项,然后在这个作弊项目后面添加
打开汉化文件game_menus.csv,搜索“查 找 一 件 物 品”
找到的如下
mno_camp_cheat_find_item|查 找 一 件 物 品……
好了,接下来打开menus.txt,搜索“mno_camp_cheat_find_item”
找到如下代码
mno_camp_cheat_find_item 0 Find_an_item... 1 2060 1 864691128455135258 .
好的,我们需要的,就是这句Find_an_item...
打开领军者1.305自带的MOD源码module_game_menus.py
搜索刚才找到的“Find an item”(把_替换为空格)
应该是只能找到唯一的一个~~~
往下稍微拉一点,就能看到这一行
("camp_cheat_1",[],"{!}Increase player renown.",
顾名思义,Increase player renown就是增加玩家声望的作弊菜单
看下图

在图中我用汉字标记的地方插入以下代码
("debug_test", [], "{!}debug99: Test.",
[
(try_for_range, ":center", centers_begin, centers_end),
(party_set_slot, ":center", slot_center_player_relation, 99),
(try_end),
]),
如图

任务完成了,把改好的PY文件保存一下,然后双击build_module.bat编译一下,编译完成后进入游戏测试~~~
首先打开作弊菜单,我们发现,确实是多了一个刚才我们添加的作弊菜单

点击一下,然后随便进入一个城镇/村庄看看,结果,我们的目的达到了~~~
 |
相信很多人会对这个蛋疼的设置感到不满,辛辛苦苦打下一座城镇/城堡,要求封给
自己,结果国王大手一挥:城不给你了,给你报销900元...
不知道你们是怎么看的,反正我每到这个时候,总是习惯性的翻白眼....
好了,不再废话,进入正题~~~
首先还是定位
打开game_menus.csv
找到这句话
menu_requested_castle_granted_to_another|你 从 你 的 国 王 {s3} 那
里 得 到 通 知。 ^^ 我 听 说 你 很 英 勇 地 战 斗 并 把 {s2} 给 攻 下
来 了。 你 的 胜 利 极 大 的 鼓 舞 了 我 们。 你 说 过 你 想 要 我 把
这 个 地 方 封 给 你, 但 恐 怕 我 并 不 能 同 意 你 的 要 求, 因 为
在 我 统 治 的 范 围 内, 你 已 经 有 了 封 地。 所 以 我 送 你 {reg6}
第 纳 尔 作 为 你 的 军 费 开 支, 而 {s2}, 我 把 它 封 给 {s5} 了。
然后打开menus.txt,查找”menu_requested_castle_granted_to_another“
肯定可以找到这些
menu_requested_castle_granted_to_another 4096
You_receive_a_message_from_your_monarch,_
{s3}.^^_'I_was_most_pleased_to_hear_of_your_valiant_efforts_in_the
_capture_of_
{s2}._Your_victory_has_gladdened_all_our_hearts._You_also_requeste
d_me_to_give_you_ownership_of_the_castle,_but_that_is_a_favour_whi
ch_I_fear_I_cannot_grant,_as_you_already_hold_significant_estates_
in_my_realm._Instead_I_have_sent_you_{reg6}
_denars_to_cover_the_expenses_of_your_campaign,_but_{s2}
_I_give_to_{s5}.'_ none 7 2031 1 1441151880758558722 522 3
1224979098644774912 144115188075856238 11 2322 2 3
1224979098644774912 2330 2 2 144115188075856883 521 3
1224979098644774913 144115188075856883 7 2322 2 5
1224979098644774913 2133 2 72057594037927942 900 2
好吧,我们需要的,就是开头的那个4096之后的对话,复制一小段就可以了,如
“You_receive_a_message_from_your_monarch”
还是老样子,把“_”替换为“空格”
之后,打开module_game_menus.py
查找“You receive a message from your monarch”
很显然,我们找到了~~~

看到图中那个醒目的900了吗?
如果英文稍微好点的朋友,看到图中找到的英文,应该能看懂是什么意思吧
自己可以和TXT修改对比一下,到底是PY的可读性强呢,还是在一大堆毫无规律可言
的数字里修改强呢?
呵呵,好了,那个900即攻城完成后,你向国王索要封地,但是对方拒绝的情况下,
给你的补偿军费
自己可以随意修改,但是不要太过火哦~~~
现在还不算结束,继续往下查找,还有一段一模一样的代码
同样修改为你想要的数值即可
这两段代码,一段是城镇的补偿金,一段是城堡的补偿金
修改后的效果,请看下图,猥琐的哈老四给出了最直接的答案
 |
实例未整理完毕,请等待更新~~~
最后,再罗嗦几句,说一下为什么我会想起写这么一篇不伦不类的东西~~~
一直以来,很多人都是直接修改txt或是直接用修改器进行修改,比如原版人尽皆知的美腿修改器。
说实话,这些软件也确实方便,基本的修改都可以完成,但是,修改器终究是死的,就如同上面给出的实例1,添加的作弊菜单一样。
如果分析一下TXT文本,我想,用修改器改出这个菜单,也没有什么问题。
但是,换一个MOD呢,这个菜单还能起作用吗?
再或者,我突然觉得对这个作弊项目没兴趣了,想要加一个能刷出10个诺皇的作弊菜单呢?
想一想,实例1的作弊菜单,所有城镇/村庄友好度99,如果你看教程之前,你可能会觉得这种修改很难,或者说是不可能实现的东西,但是结果是什么?短短的几行代码就能解决了。
来这里时间长的朋友大概都听说过一句话“PY就是最好的修改器”但是可惜的是,很多人压根就不知道PY到底为何物.....
现在MOD制作技术区的冷清就很能说明问题~~~
其实,一直以来论坛对于PY源码开发都是大力支持的,但是结果却是不尽人意,和论坛庞大的注册基数相比,优秀的源码简直是凤毛麟角~~~
直到昨天在某个和游戏无关的群里和人闲聊,才豁然想通~~~
套用那位哥们的原话就是:“PC游戏最大的特点是什么?”我想到了无数的答案,但是唯独没有想到答案是“只要你有能力,就可以肆无忌惮的修改”
想想,也确实有道理,比如前段时间我发的这个帖子
http://bbs.mountblade.com.cn/viewthread.php?tid=115503
为什么这个毫无技术性可言的帖子会被人翻了一遍又一遍~~~
归根到底,我们心里还是抱着,“我在玩游戏,而不是游戏在玩我”的心态
所以,这个帖子,我的目的,是引发你对PY的兴趣,不管你的目的是什么,只要我能引起你的兴趣,我就算是成功了~~~
至于你看过这个帖子后,只是单纯的学会了几种修改方法,还是准备深入的研究PY,这就不在我所关心的范围的~~~
我只是单纯的相信:量变,终究引发质变!!! |
PS:本文中我不会回答任何和PY有关的问题,因为我本人的水平也就是半吊子,打个比方,你要是问我2+2=?我会毫不犹豫的回答:4。但是你要是问我为什么2+2=4,那么我多半就会傻眼。所以,就不要强人所难了。而我的本意,也只是以“修改”为突破口,近距离的打碎PY神秘的外衣,让更多的人认识,接触,进而喜爱~~~
确实想要深入研究一下PY的,请到MOD制作技术区http://bbs.mountblade.com.cn/forumdisplay.php?fid=10寻找置顶的资料自行学习,有不懂的也可以在这个版区里发帖询问。
但是记住“千里之行始于足下”,如果你确实是连MOD制作区最基本的教程都看不下去,那么,TXT仍然是你最佳的选择
本文首发于骑砍中文站
[url=]http://bbs.mountblade.com.cn[/url]
转帖请注明出处,谢谢! |
评分
-
查看全部评分
|