作者laechan (小太保)
看板mud_sanc
标题Re: [wizs] 关於虚拟物品
时间Tue Nov 6 09:48:51 2012
> ls hiei.o
5 hiei.o
> call hiei;set;"vobjs/a001";100
> call hiei;set;"vobjs/a002";100
.
.
> call hiei;set;"vobjs/a100";100
> ls hiei.o
6 hiei.o
> call hiei;set;"vobjs/b001";100
> call hiei;set;"vobjs/b002";100
.
.
> call hiei;set;"vobjs/b100";100
> ls hiei.o
7 hiei.o
可以解释为,每增加 100 笔资料,容量约增加 1K。
在 grep vobjs 相关的资料时,发现 /std/user.c,以及
/std/user 目录下的部份档案,都有定义 vobjs 的相关变
数及函数,其中 /std/user/save.c 的已废弃。
依 laechan 在 2010 年的写法,vobjs 是一个内部变数,
然後 laechan 写了两个专用的函数来存取这个变数:
varargs mixed return_vobjs(string term);
varargs void change_vobjs(string func,string term,int value,int k);
依据 /d/skill/skill_stat.c 可储存的量来看,至少储存
到 400 种(我想最多只会给到 300 种)物品是没问题的。
那麽,假设物品的分类是依据字头,有一种做法是:
for(i='a';i<='z';i++)
{
foreach(tmp in keys_vobjs)
{
if(tmp[0]==i)
{
.
.
}
}
}
也就是说,用双层回圈的方式,来对物品的列表做自动分
类,它的好处就是容易控制总量,因为 sizeof(vobjs)是
经常会呼叫到的东西。
最後,
sell 生命药水 这样的动作,如何识别说它是要找
p001呢?
mixed OO草+XX翅膀+QQ尾巴 的动作又要如何实
现呢?
这是商业机密。
Belldandy.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.61.157.53