看板 mud_sanc 關於我們 聯絡資訊
以下不適用國家藥水。 這個我剛洗澡時有想了一下,大致是讀取 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://www.ptt.cc/bbs/mud_sanc/M.1560861138.A.C8C.html ※ 編輯: laechan (114.33.66.104 臺灣), 06/18/2019 20:33:49