Re: [wizs] shop

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間13年前 (2012/04/30 16:31), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《justinj (黑旋風)》之銘言: : 給norr的: : storeroom我覺得應該是放樣品的吧.... : 那程式寫法就可以這樣寫 : 到迴圈那邊開始 : if(!ob=present(str,storeroom)) return notify_fail("沒有這個物品哦!\n"); : //第i個物品的東西我沒寫進去....請自行補吧..... : //還有如果是馬房請另外寫吧... : if(ob->query("mass")*num>user_mass) return notify_fail("你買的東西重量超過你的負重哦!\n"); : for(i=0;i<num;i++) clone_object(base_name(ob))->move_to(ppl); : //接下來是金錢的計算...就不說了... : //不過我覺得錢夠不夠也要移到前面判斷.... 用 storeroom 是很多 mud 的共通寫法,它的好處就是 我今天 sell 一個東西進去時,若該物 storeroom 沒有, 則該物 ob->move(storeroom); 則 list 商店時,只需要 obs=all_inventory(storeroom), 則 foreach(ob in obs) 所列的東西「即是商店內的所有 東西」,而且要讀這些東西的資料(如價格)都不必重新去 clone 這些東西。 它也很方便做排序,比方我買光商店的第 5 件東西,買 最後一件時就是做 ob from storeroom moveto ppl,這 時 storeroom 就沒有該物品,list 時自然也不會有。 它更重要的功能是指定物品,比方 buy sword 2 指定購 買商店的第二種 sword 時,它的做法就是.. ob = present("sword 2",storeroom); 要修改跟 storeroom 有關的東西時先確定有上述概念即 可。 LAechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.141.186.229

04/30 16:32, , 1F
PS storeroom 也可以當做「不會被系統清掉」的房間設
04/30 16:32, 1F

04/30 16:33, , 2F
計參考,它有設 set("pre_clean",1); 也有自訂
04/30 16:33, 2F

04/30 16:33, , 3F
int clean_up() { return 0; } 這樣幾乎就不會被清掉
04/30 16:33, 3F
文章代碼(AID): #1FdatuaM (mud_sanc)
討論串 (同標題文章)
本文引述了以下文章的的內容:
0
4
13年前, 04/30
完整討論串 (本文為第 2 之 2 篇):
0
3
13年前, 04/30
0
4
13年前, 04/30
文章代碼(AID): #1FdatuaM (mud_sanc)