作者laechan (小太保)
看板mud_sanc
标题[wizs] 虚拟物品系统&怪物掉落物系统实测
时间Tue Dec 4 16:07:45 2012
以 ~laechan/area/newsnake (新毒蛇地穴) 为实验区。
> more snake.h
:::::::::::::: /u/l/laechan/area/newsnake/snake.h ::::::::::::::
#define MOBS_DATA ({\
({"snake1",105,({"pialapiala snake","snake"}),"一群啪啦啪啦蛇",\
-200,1500,10,({"arm"})}),\
({"snake2",110,({"sisusisu snake","snake"}),"一群唏咻唏咻蛇",\
-250,1500,10,({"arm"})}),\
({"snake3",110,({"bomibomi snake","snake"}),"一群波米波米蛇",\
-220,1500,10,({"arm"})}),\
({"snake4",125,({"spirit of snake","snake"}),"一队蛇精族",\
-500,1500,5,({"arm"})}),\
怪物掉落物部份的设定目录是 ~laechan/area/newsnake/mob,
设定目标分别是 snake1、snake2、snake3 及 snake4。
另外,怪物会掉的新版防具「跟怪物掉落物系统」的设定是可
以分开的,也就是说新版防具由 snake.h 支援即可,其它的实
体物品就由怪物掉落物系统来支援。
再根据底下这篇
┌─────────────────────────────────────┐
│ 文章代码(AID):
#1GdF86eY (mud_sanc) [ptt.cc] [物品] 怪物掉落物种类一览 │
│ 文章网址:
http://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1352462854.A.A22.html │
└─────────────────────────────────────┘
我们可以设定底下的掉落物品:
vobjs -quick 毒蛇的鳞片;m;;;100;99
vobjs -quick 毒蛇的牙齿;m;;;300;99
vobjs -quick 毒蛇的眼珠;m;;;500;99
> vobjs -list
编号 名称 设定者 性 质 携带 价钱
============================================================================
m003 毒蛇的鳞片 laechan 怪掉落 99 100
一个毒蛇的鳞片,可以向收集品商人购买。
m004 毒蛇的牙齿 laechan 怪掉落 99 300
一个毒蛇的牙齿,可以向收集品商人购买。
m005 毒蛇的眼珠 laechan 怪掉落 99 500
一个毒蛇的眼珠,可以向收集品商人购买。
上面的意思就是「眼珠最值钱」的意思。
接着就可以设定怪物掉落物:
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake1 set m003 = 500
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake1 set m004 = 200
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake1 set m005 = 100
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake2 set m003 = 500
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake2 set m004 = 200
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake2 set m005 = 100
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake3 set m003 = 500
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake3 set m004 = 200
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake3 set m005 = 100
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake4 set m003 = 500
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake4 set m004 = 200
vobjs -mob_drop /u/l/laechan/area/newsnake/mob/snake4 set m005 = 100
> vobjs -mob_drop
怪物掉落物设定选单:
================================
1.创建新目录
2.删除某目录(laechan 限定)
3.列出所有目录
4.列出某一目录下的所有设定
5.列出所有目录下的所有设定
6.进入某一目录做细部设定
7.离开
================================
请选择: 6
请输入目录(如 /d/crazy/1/mob): /u/l/laechan/area/newsnake/mob
格式: 怪物档 set xx = 机率/怪物档 del xx/怪物档 remove/怪物档 list/list
/u/l/laechan/area/newsnake/mob: list
([ "snake2" : ([ "m003" : 500, "m004" : 200, "m005" : 100 ]),
"snake4" : ([ "m003" : 500, "m004" : 200, "m005" : 100 ]),
"snake3" : ([ "m003" : 500, "m004" : 200, "m005" : 100 ]),
"snake1" : ([ "m003" : 500, "m004" : 200, "m005" : 100 ]) ])
确定了资料有正确设进去。
接着在 /adm/daemons/vobjs_d.c 里面补入 exec_mob_drop
函数,然後就可以马上呼叫它来测试,测试结果如下..
> call vobjs_d;exec_mob_drop;laechan;/u/l/laechan/area/newsnake/mob/snake1
你取得了一个毒蛇的牙齿。
房间(/adm/daemons/vobjs_d)-> exec_mob_drop(
玩家(laechan /std/user), 怪物(snake
/u/l/laechan/area/newsnake/mob/snake1) ) = 1
> call vobjs_d;exec_mob_drop;laechan;/u/l/laechan/area/newsnake/mob/snake1
你取得了一个毒蛇的鳞片。
你取得了一个毒蛇的牙齿。
房间(/adm/daemons/vobjs_d)-> exec_mob_drop(
玩家(laechan /std/user), 怪物(snake
/u/l/laechan/area/newsnake/mob/snake1) ) = 1
> call vobjs_d;exec_mob_drop;laechan;/u/l/laechan/area/newsnake/mob/snake1
房间(/adm/daemons/vobjs_d)-> exec_mob_drop(
玩家(laechan /std/user), 怪物(snake
/u/l/laechan/area/newsnake/mob/snake1) ) = 1
.
.
接着就马上验证虚拟物品是否有存入玩家的资料里头..
> call me;vobjs;"query";"all"
玩家(laechan /std/user)-> vobjs( "query", "all" ) =
([ "m003" : 3, "a001" : 100, "m004" : 1 ])
> ob
你的物品栏带着 3/99 件物品:
─────────────────────────────────────
1.毒蛇的鳞片 ( 3) 2.测试物品 (100) 3.毒蛇的牙齿 ( 1)
以上测试完毕。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.61.157.53