在看过《剖析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分钟!至此你已经学会了添加最简单的自定义物品啦!请大家动手试试看吧!