添加自定义道具-伊利纯牛奶

在看过《剖析item_db各个字段的含义以及作用》后加应该知道如何添加物品的DB信息了,那么本章开始我们讲解如何添加自定义道具,先从最简单的开始~ 我们来添加一个”没有头饰外观”的道具——伊利纯牛奶

我们希望这个”伊利纯牛奶”道具的重量是1,是一个治愈类型的道具,只有初学者超级初学者职业才能使用,任何级别都可以使用,使用后的效果是触发和料理类似的”持续5分钟STR+20″。现在我们开始动手!

1、准备工作

首先我们先来为这个物品分配一个编号,我这里分配的编号是30000给它,但是这个物品编号有没有被用过,还需要去游戏里面用@item 30000看看是否可以把它制作出来,如果失败表示这个物品编号还没被使用,以此可以判定这个30000的编号在item_db里面是不存在的,我们可以拿来用。

除了判断30000这个编号在item_db里面是否存在之外,还需要看一下iteminfo.lub里面是否已经有人用了这个编号,只需要打开iteminfo.lub文件然后搜索[30000]即可(加个方括号),如果发现没找到任何内容,那么也说明这个物品编号在iteminfo.lub里面是没有被人用过的,我们可以拿来用。

2、为这个新道具添加item_db信息

当我们确定好了这个物品的编号后,接下来就可以为其添加item_db信息了,请打开你的item_db文件,然后在里面按照之前在《剖析item_db各个字段的含义以及作用》学到的知识,来撰写这个物品的信息。

首先,把ID写上:

30000,

然后物品的英文名,拍脑袋就用YILI_MILK吧,搜索了一下这个英文名字在item_db里面没有使用过:

30000,YILI_MILK,

接下来是物品的中文名了:

30000,YILI_MILK,伊利纯牛奶,

再接下来是物品的类型,我们这算是治愈类型的物品了,那么类型是0(我们的效果其实就是一种特殊料理,我们可以看到游戏中自带的体力料理等道具的类型就是”治愈类型”,所以我们和它们一样即可):

30000,YILI_MILK,伊利纯牛奶,0,

接下来是从NPC购买它所需的价格,定价20000好了:

30000,YILI_MILK,伊利纯牛奶,0,20000,

再接下来是将它卖给NPC时候的价格,我们不做特殊指定的话,就会使20000的一半,即10000~ 挺好的,就不做特殊指定了,直接使用空:

30000,YILI_MILK,伊利纯牛奶,0,20000„

然后就是物品的重量了,1重量的话在DB里面要填写10:

30000,YILI_MILK,伊利纯牛奶,0,20000„10,

然后就是这件物品的攻击力,药水哪有什么攻击力啊,填0:

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,

接下来是物品的防御力,药水也没有防御力,填0:

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,

然后是攻击射程,药水也没这玩意儿,填0:

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,0,

然后是洞数,额……那是装备才有的,还是0:

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,0,0,

再然后是要求的职业,我们说过只有初学者、超级初学者可用,那么对应的值是0x00000001:

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,0,0,0×00000001,

然后接下来是可以使用的职业类型,我们允许没转生的(超级)初学者、转生后的(超级)初学者、(超级)初学者宝宝使用,所以对我们来说这里要填写:7

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,0,0,0×00000001,7,

接下来是性别限制,我们男女都可用,填2:

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,0,0,0×00000001,7,2,

然后是装备的位置,药水没有装备位置,直接放空:

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,0,0,0×00000001,7,2„

然后是装备等级,我们药水也没这玩意儿,直接放空:

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,0,0,0×00000001,7,2„,

接下来是基础等级限制,我们没有任何限制,放空:

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,0,0,0×00000001,7,2„„

然后是此件物品是否可精炼,药水也没这玩意儿,放空:

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,0,0,0×00000001,7,2„„,

接下来是物品的外观ID,我们做的是普通药水物品,不是装备,所以也没有外观ID,填写0:

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,0,0,0×00000001,7,2„„,0,

接下来是双击物品的时候,执行的效果脚本,用大括号括起来,我们希望效果是”持续5分钟STR+20″,在这里我直接把脚本给大家,回头我们再详细说说这脚本的内容是什么含义,内容是”sc_start SC_FOOD_STR_CASH,300000,20; “:

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,0,0,0×00000001,7,2„„,0,{ sc_start SC_FOOD_STR_CASH,300000,20; },

接下来是穿戴物品的效果,我们不是装备所以没有,放空(这里放空也需要有大括号):

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,0,0,0×00000001,7,2„„,0,{ sc_start SC_FOOD_STR_CASH,300000,20; },{},

最后是脱下物品时的效果,我们不是装备所以放空(这里放空也需要有大括号):

30000,YILI_MILK,伊利纯牛奶,0,20000„10,0,0,0,0,0×00000001,7,2„„,0,{ sc_start SC_FOOD_STR_CASH,300000,20; },{},{}

记住最后是没有逗号的~ 至此我们已经完成了整个物品的DB信息撰写,只需把它填写到item_db里面就可以了,比如加到最末尾:

3、为这个物品添加iteminfo.lub信息

在动手之前,我们先来学习一点基础知识~ 我们每个物品都需要有它的图档文件才可以,那么图档文件是哪些呢?应该放在data目录里面的哪里?

很简单,你只需要拿个类似的物品,用grfmaker2查一下就知道,比如我们现在要做的是一款药水类的物品,我们可以参考一下”万能药”,那么我们在iteminfo.lub里面可以看到,万能药的已鉴定的图档名称是:父瓷距

然后我们用grfmaker2打开data.grf,搜索这个图档名称,可以看到如下结果:

搜索到的这4个文件就是最简单的物品图档,只需要4个文件即可搞定(以后会讲一些更复杂的,比如头饰,会有更多图档),你可以选中这四个文件,解压出来看看他们是什么?

——————————————

1、在data\texture\蜡历牢磐其捞胶\collection下的bmp文件是游戏里面鼠标右键显示描述时的图片。

2、在data\texture\蜡历牢磐其捞胶\item下的bmp文件是在游戏里面背包窗口中看到的小图片。

3、在data\sprite\酒捞袍下的spr文件是游戏里面当拖拽物品,或者物品掉在地上时候的样子,相比item目录下的小图片会显得比较模糊一些:

4、在data\sprite\酒捞袍下的act文件和spr文件是配套的,act文件一般用来记录对应的spr文件的动画序列,不过在我们这个例子中,普通物品的外观都是静态的,所以act文件里面并没有承载什么内容。

——————————————

回到正题,我们需要给”伊利纯牛奶”准备图档的话,有2种办法,一种是复用游戏里面已经有的图档,另外一种是自己制作图档。自己制作图档(bmp、act、spr文件)比较麻烦,所以在这里我们先复用一下游戏里面现有图档来举例。

我们会发现,我们的物品名字”伊利纯牛奶”和游戏默认自带的”牛奶”道具的图档挺配的,那么我们就在iteminfo.lub里面找找牛奶的图档名称是什么:

可以看到牛奶的图档名称是”快蜡“,记住它,待会儿要用上~!

现在我们自己开撰写一个iteminfo信息,首先ID先定下来是30000:

——————————————

[30000] = {

},

——————————————

然后我们添加一下物品未鉴定时候的名称、以及图档:

——————————————

[30000] = {

unidentifiedDisplayName = “伊利纯牛奶”,

unidentifiedResourceName = “快蜡“,

},

——————————————

然后添加一下未鉴定时候的物品描述,我们随便写一个哈:

——————————————

[30000] = {

unidentifiedDisplayName = “伊利纯牛奶”,

unidentifiedResourceName = “快蜡“,

unidentifiedDescriptionName = {

“经典有机奶,RO研究手记出品。”,

“^0000885分钟内STR+20^000000″,

“^ffffff_^000000″,

重量 : ^7777771^000000″,

},

},

——————————————

然后我们再来添加一下已鉴定时候的物品名称、图档名称以及描述,其实和上面那的内容是一样的(但是字段名字不一样,复制粘贴时候别搞错了):

——————————————

[30000] = {

unidentifiedDisplayName = “伊利纯牛奶”,

unidentifiedResourceName = “快蜡“,

unidentifiedDescriptionName = {

“经典有机奶,RO研究手记出品。”,

“^0000885分钟内STR+20^000000″,

“^ffffff_^000000″,

重量 : ^7777771^000000″,

},

identifiedDisplayName = “伊利纯牛奶”,

identifiedResourceName = “快蜡“,

identifiedDescriptionName = {

“经典有机奶,RO研究手记出品。”,

“^0000885分钟内STR+20^000000″,

“^ffffff_^000000″,

重量 : ^7777771^000000″,

},

},

——————————————

接下来补充一下洞数和ClassNum,在这个例子中,我们添加的是普通的药水,没有洞数,所以洞数是0~ 此外也没有任何外观,所以ClassNum也是0:

——————————————

[30000] = {

unidentifiedDisplayName = “伊利纯牛奶”,

unidentifiedResourceName = “快蜡“,

unidentifiedDescriptionName = {

“经典有机奶,RO研究手记出品。”,

“^0000885分钟内STR+20^000000″,

“^ffffff_^000000″,

重量 : ^7777771^000000″,

},

identifiedDisplayName = “伊利纯牛奶”,

identifiedResourceName = “快蜡“,

identifiedDescriptionName = {

“经典有机奶,RO研究手记出品。”,

“^0000885分钟内STR+20^000000″,

“^ffffff_^000000″,

重量 : ^7777771^000000″,

},

slotCount = 0,

ClassNum = 0

},

——————————————

至此我们已经完成了物品信息的撰写,请大家用TAB按键适当整理一下格式,然后将其添加到iteminfo.lub文件末尾,如下图所示:

4、测试成果

至此我们已经完成了item_db信息的添加,以及iteminfo.lub信息的添加,请将修改后的iteminfo.lub文件放到游戏的System文件夹里面,然后启动游戏。

这时候再输入 @item 30000 就可以看到获得了一个”伊利纯牛奶”:

右键点击此物品,会发现描述信息如下(有点不完美,句号换行了):

然后我们双击使用一下看看,是否可以出现STR+20的效果:

效果不错,能够成果的做到STR+20的效果,持续5分钟!至此你已经学会了添加最简单的自定义物品啦!请大家动手试试看吧!