[閒聊] 20170503修改事項

作者: laechan (揮淚斬馬雲)   2017-05-03 08:05:51
早上六點多利用上班前的時間,先完成了公司交辦事項,今天應該
仍會有零星時間可 coding。
(除非被叫去開會,最近障礙頗多)
一、指令 ob 修改
備份檔: /cmds/std/ob.20170503
可使用 ob use 指令的虛擬物品,其指向的實體物件檔,可自
訂兩種類的對映函數
第一類: special_use_fun
special_use_func
以上只是名稱不同,當 ob use 偵測到實體物件檔有
這兩個函數時就會呼叫,而且不會扣該物品數量 1。
第二類: use_fun
use_func
ob_use_func <= 盡量少用這個函數
以上只是名稱不同,當 ob use 偵測到實體物件檔有
這兩個函數時就會呼叫,而且預設扣該物品數量 1。
以上函數在實體物件檔裡頭「理論上」只會存在一個,第一類
函數具有優先的呼叫權。比方當 special_use_fun 與 use_fun
同時存在時,只有 special_use_fun 會有作用。
vobjs -export 可以秀出目前現存各物品的快速設定指令。
> vobjs -export
其中兩行如下
vobjs -quick 生命水晶;s001;顆;水晶類;/adm/daemons/eq/s001;10;1;1;1;
vobjs -quick bueq紀錄卡;s002;張;系統類;/adm/daemons/eq/bueqcard;10;1;1;1;
上面各欄位對映如下
vobjs -quick 物品名稱;種類標頭;unit;kind;desc;value;carry;no_sell;no_trade
比方我今天要新增一顆 s003=賢者之石的東西,不可交易,不可販賣,
最大攜帶量 1,實體檔 /std/new_ob/s/s003.c
vobjs -quick 賢者之石;s003;顆;系統類;/std/new_ob/s/s003;10;1;1;1;
複製上面,貼到 mud 當做指令下下去,就新增該物品完成。
這樣當玩家 ob view 該物品 時,其看到的物品敘述就會直接讀取其指
向的實體物件檔所設定的 long,例如
ob view 生命水晶
────────────────────────────
生命水晶(物品編號: s001)
────────────────────────────
單位:顆
型態:水晶類
攜帶:9 / 1
價格:10
掉落:無
販賣:不可
交換:不可
一顆清澈無暇的水晶,包含著諸神的魔力在裡面。 <= 這個即是讀取實體物件
────────────────────────────
實體檔沒有指定位置,wiz 可依自己方便或是考量物品分類來做存放。
二、

Links booklink

Contact Us: admin [ a t ] ucptt.com