首页 攻略 游戏教程 > 骑马与砍杀系列 > 骑马与砍杀原版 《骑马与砍杀》给物品添加介绍(傻瓜教程TXT+PY)

热门资讯

《骑马与砍杀》给物品添加介绍(傻瓜教程TXT+PY)

浏览:2088 评论:0 发表时间:2020-01-03

关于如何给物品添加注释,由于我自己智商不高,所以整合了一个傻瓜教程,用来指引和我一样基础不合格的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), 

 

最后,再次向所有帮过我的人致敬。


 
 

0相关评论