关于如何给物品添加注释,由于我自己智商不高,所以整合了一个傻瓜教程,用来指引和我一样基础不合格的MOD制作者。
另外,本帖子的内容十分低端,而且引用了“暗暗十分”的教程,在此向他致敬。
首先,需要一个魔球工具,在此需要用到魔球的操作快编写工具(偷懒)。
以潘德G2.7为例
打开scripts.txt
搜索game_get_item_extra_text
然后可以看到以下文字
85 23 2 1224979098644774912。。。。。。1 1585267068834414780 2075 1 9662683 3 0
不用管省掉的东西,因为我们只需修改开头和结尾
如果你只想给一个物品增加介绍,那就将开头的85改为90,加N件介绍就将开头改为85+N*5,再把结尾的3 0 改为5 0(注意空格)
(以加一件物品为例)
然后在后面先加上31 2 1224979098644774912 (TXT物品ID) 31 2 1224979098644774913 0 60 1 (信息ID) 2075 1 (十进制颜色代码) 3 0
以落暮弓为例,那么我就应该这么写
31 2 1224979098644774912 288230376151712873 31 2 1224979098644774913 0 60 1 1585267068834417312 2075 1 16776960 3 0
注:
1、红字部分为物品ID,如何查询在下面贴出。
2、黄字部分为信息ID,这个要根据quick_string.txt文件来写,现在,打开该文件,我们可以看到第一行写的是2720,我们添加了一个说明,故要将其改为2721,即加N件改为2720+N。
在我的例子中因为只加一件物品,所以改为2721
因而我的信息ID就是1585267068834417312(末尾四位数为定值4591+条数2721)
然后在该文件的最下方添加上qstr_XXX YYYY
XXX最好写为你要加说明的装备名称,这样方便以后修改和查询,而YYYY则可以随便写,因为只有在没有汉化的情况下,YYYY的内容才会显示。
我的例子中,将在最下方写成qstr_Duskfall shenqi
然后就是要改汉化文件,否则落暮弓下方显示的内容就是shenqi,打开languages/cns文件中的quick_string文件(一定要用TXT,即记事本打开),在最下方添加汉化说明,在我的例子中,我要写成qstr_Duskfall|汉 化 内 容(注意字之间要打空格)
如果想打出我显示的图片中的那种形式,则需要用到^符号断句(类似于回车)
3、十进制颜色代码在后面贴出。
关于TXT物品ID如何查询:
打开魔球的操作快编写工具,先建立一个新触发,然后写上以下内容
(item_set_slot,"itm_duskfall_bow",100,1)其中,itm_duckfall_bow就是你想加介绍的文件的物品ID。
然后将其翻译,可以看到以下内容
507 2 288230376151712873 100 1
其中288230376151712873即为TXT物品ID了
附上一般十进制颜色代码
白色:16777215 红色:16711680 绿色:65280 蓝色:255 牡丹红:16711935
青色:65535 黄色:16776960 黑色:0 海蓝:7396243 巧克力色:6042391
蓝紫色:10444703 黄铜色:11904578 亮金色:14276889 棕色:10911037
青铜色:9205843 深棕:6045747 深绿:3100463 深铜绿色:4879982
深橄榄绿:5197615 深兰花色:10040013 深紫色:8855416 深石板蓝:7021454
深铅灰色:3100495 深棕褐色:9922895 深绿松石色:7377883 暗木色:8740418
淡灰色:5526612 土灰玫瑰红色:8741731 长石色:13734517 火砖色:9315107
森林绿:2330147 金色:13467442 鲜黄色:14408560 灰色:12632256
铜绿色:5406582 青黄色:9689968 猎人绿:2186785 印度红:5123887
土黄色:10461023 浅蓝色:12638681 浅灰色:11053224 浅钢蓝色:9408445
浅木色:15319718 石灰绿色:3329330 桔黄色:14972979 褐红色:9315179
中海蓝色:3329433 中蓝色:3289805 中森林绿:7048739 中鲜黄色:15395502
中兰花色:9662683 中海绿色:4353858 中石板蓝色:8323327 中春绿色:8388352
中绿松石色:7396315 中紫红色:14381203 中木色:10911844 深藏青色:3092303
海军蓝:2302862 霓虹蓝:5066239 霓虹粉红:16740039 新深藏青色:156
新棕褐色:15452062 暗金黄色:13612347 橙色:16744192 橙红色:16720896
淡紫色:14381275 浅绿色:9419919 粉红色:12357519 李子色:15379946
石英色:14277107 艳蓝色:5855659 鲑鱼色:7291458 猩红色:12326679
海绿色:2330216 半甜巧克力色:7029286 赭色:9333539 银色:15132922
天蓝:3316172 石板蓝:32767 艳粉红色:16719022 春绿色:65407
钢蓝色:2321294 亮天蓝色:3715294 棕褐色:14390128 紫红色:14204888
石板蓝色:11397866 浓深棕色:6045747 淡浅灰色:13487565 紫罗兰色:5189455
紫罗兰红色:13382297 麦黄色:14211263 黄绿色:10079282
(搬运,PY老李?GUXX ?)下面贴出用PY修改的方法
在module_scripts.py里找"game_get_item_extra_text",这里就是要改的地方了,
这个script是游戏引擎自动调用的,所以不需要在module system的其实地方加额外的代码了.这个script有三个参数,
第一个是":item_no",就是目标物品.在游戏的物品栏里鼠标指向哪个物品,它就是这个参数此时的值了.可以看一下下面这段代码里我加了注释的地方,可以更好地说明.
第二个是":extra_text_id",这一段script开始的注释部分里写了说明,":extra_text_id"可以从0一直取到7.它表示的是当前使用额外信息栏(将就这么说吧!我也不知怎么说才好)的第几行来显示你所要加的信息.
第三个是":item_modifier",这是当前物品的原有属性,就是"腐烂的","弯曲的","极品的"之类的属性.这个script自动读取这一项,实在很方便对物品新加入的属性的修改!
这部分代码出现在这个script的结尾处.
......
(else_try),
(is_between, ":item_no", reference_books_begin, reference_books_end),
(try_begin),
(eq, ":extra_text_id", 0),
(try_begin),
(eq, ":item_no", "itm_book_wound_treatment_reference"),
(str_store_string, s1, "@wound treament"),
(else_try),
(eq, ":item_no", "itm_book_training_reference"),
(str_store_string, s1, "@trainer"),
(else_try),
(eq, ":item_no", "itm_book_surgery_reference"),
(str_store_string, s1, "@surgery"),
(try_end),
(set_result_string, "@+1 to {s1} while in inventory"),
(set_trigger_result, 0xFFEEDD),
(try_end),
###添加的部分开始.上面全是原代码
(else_try),
(eq,":item_no","itm_mod_item"), #假设你所要改的物品,名字是itm_mod_item,这里就使得游戏里鼠标指向该物品时,条件成立
(try_begin),
(eq, ":extra_text_id", 0), #设置第一行额外信息.
(set_result_string,"@Agility +2"), #引号里的@符号 之后的文字全是在游戏里对物品的额外信息.
(set_trigger_result, 0x00FFFF), #在这个script里,set_trigger_result是用来显示颜色的.00ffff是天蓝色.
(else_try),
(eq,":extra_text_id",1), #还有其它属性?还可以继续加,位置还有不少.但相比Diablo2里的物品属性,8个位置就太少了...
...... #继续像上面的那样做
(try_end),
###添加的部分结束
(try_end),
最后,再次向所有帮过我的人致敬。