[wizs] 以 questing 遠端讀取藥水最大攜帶量

作者: laechan (揮淚斬馬雲)   2019-06-18 20:32:14
以下不適用國家藥水。
這個我剛洗澡時有想了一下,大致是讀取 potion_shop.c
就可以辦到,寫進 questing 也可以。
/* 虛擬藥水補給所 for inherit
[email protected] in 1999.08.07
[email protected] in 1999.10.10 修改為永久保存 */
沒想到自 3p 藥水虛擬化到現在已經 20 年了。
玩家在 buy 藥水時:
// num=想購買的某種藥水的數量
// pnum=該種藥水目前身上的數量
// max_num=該種藥水目前的可購買量
pnum=user_potion_num(ob,kind);
max_num=axiom_carry(ob,kind,num,pnum,ff);
if(num>max_num)
{
num=max_num;
if(num<=0)
{
shows("me",ob,sname+"的$K罐數或總藥水罐數已經達到滿檔,不用再購買了。\n",
kind,0);
return 1;
}
shows("me",ob,sname+"只能再購買 $n 罐的$K。\n",kind,num);
}
這樣就很簡單了用 questing 就可以解決:
max_num=(int)questing("potion_shop","max_num",kind,({num}));
if(max_num<1)
return notify_fail("你已經無法再攜帶更多的藥水囉.\n");
else if(num>max_num)
return notify_fail("你最多只能再攜帶 "+(max_num-num)+" 罐藥水喔.\n");
上面的 questing 用法我已經新增了。以下實驗:
> drink list
生命藥水:105罐,魔法藥水:0罐,內力藥水:0罐。(114:114:114)
我最多可以帶 114 罐藥水。
> running
編輯結束並存檔(.). 中途放棄編輯(~q).訊息暫時中斷。
__________________________________________________________________
write(questing("potion_shop","max_num","hp",({10}))+"\n");
========== 程式執行區 ==========
9
========== 程式執行區 ==========
也就是說當我想帶 hp 藥水 10 罐時,經過計算,我最多將只能
帶 9 罐。
Laechan

Links booklink

Contact Us: admin [ a t ] ucptt.com