作者laechan (小太保)
看板mud_sanc
标题Re: [wizs] 关於虚拟物品
时间Tue Nov 6 10:53:33 2012
接着是打怪掉虚拟物品的设定问题,先从 mob_d.c 的
die 函数开始看。
if(killer && me && userp(killer))
find_object_or_load("/adm/daemons/mob_drop")->mob_drop(killer,me,"test");
laechan 允许 wizs 可以自订打什麽怪物会掉什麽东西
,以及这些东西应提供什麽基本讯息,但是我不赞成这
样做..
一、应该告诉 wiz,当他要新增什麽东西时,就去哪里
做设定、或是下什麽指令就可。
二、设定及查询的流程「指令化」。
三、他不需要担心「配号」的问题。
这样我们依旧可以呼叫上面的 mob_drop 函数,但是更
改其内容,例如底下的程式段可保留
files=base_name(mob);
换言之,「什麽怪物会掉什麽」,用该怪物的档名做识
别是最直觉的做法,而理论上是..
mapping mob_drop=([
"怪物档名" : ([ 他会掉什麽东西的设定资料, ... ]),
.
.
]);
那麽,我认为的理想做法就是:
一、我们先决定 tree 会掉什麽,比方「毒刺棘的树根」
,然後我们就使用指令去设定这个东西的一些资料,
并取得它的编号(例如 m001)。
这样不管以後要新增什麽,都采同样的动作即可。
二、於是我们有了一些编号,接着就要 link 毒刺棘的掉
落物为这些编号,这部份可以采取 mob_drop 现有的
做法..
mapping mob_drop=([
"怪物目录":(["怪物档名":(["m001":..
"m002":..
]),
]),
]),
换言之,物品编号←→物品资料,这中间的对映是绝
对的,这样我们就可以用「编号」来代表「物品」。
我会在本周完成虚拟物品系统及怪物掉落物系统的设计,
根据 laechan 的规划,虚拟物品系统是很多後续系统及
设定的基础,它必须好使用、好设定、好管理。
Belldandys.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.61.157.53