Re: [wizs] 關於虛擬物品
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間13年前 (2012/11/06 09:48)推噓0(0推 0噓 0→)留言0則, 0人參與討論串2/2 (看更多)
> 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
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
1
1
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
29
45