作者laechan (揮淚斬馬雲)
看板mud_sanc
標題[wizs] 藥水最大攜帶量的遠端讀取
時間Tue Jun 18 20:32:14 2019
以下不適用國家藥水。
這個我剛洗澡時有想了一下,大致是讀取 potion_shop.c
就可以辦到,寫進 questing 也可以。
/* 虛擬藥水補給所 for inherit
Belldandy@Sanc in 1999.08.07
Laechan@Sanc 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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.66.104 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/mud_sanc/M.1560861138.A.C8C.html
※ 編輯: laechan (114.33.66.104 臺灣), 06/18/2019 20:33:49