推 hlead : 做實體拍賣場存在房間就好了吧?..一種武器店的概念? 05/16 21:28
→ hlead : 只是額外添加去紀錄說拍賣的金額異動就好了吧?... 05/16 21:28
不這樣做,是因現在的人數加上可拍賣種類量(認主的就不行了),
做這個太浪費。用現有的設計,也就是物品及物品資料本來就會被
玩家儲存這一點,加上一些限制(玩家必須帶著物品在線上,而玩家
通常都會在線上,斷線也沒差),就可以實現
1.讓玩家線上查詢物品
2.讓玩家對線上物品出價購買
3.讓玩家可取消上架物品
理論上會存在一個適當的寫法來呈現以上我想要的效果。
那另一種寫法,就是玩家可把物品交給某 npc,設定好價錢,物品
即由該 npc save,其 save 物品的格式跟玩家的一樣,嘛,這個或
許是更好的寫法,不管是用 npc 還是用拍賣場,後者就類似 shop
,會有 storeroom 存在。
我是盡量不想再寫新的物件,能用一個指令就解決是最好的。
※ 編輯: laechan (122.117.106.224), 05/16/2018 21:58:23
繼續。
昨晚想了一下,有更簡易寫法:
foreach(ob in objects())
{
if(undefindp(ob->query("auctions"))) continue;
.
.
}
線上物件頂多一兩萬個,有上述參數的才跑出來就可,因為大部份
情況只判斷是否有 auctions 參數,跑起來就會很快,loading 較
小,而且會很即時。以上會寫成函數,回傳拍賣物件。
然後物件不需排序,只需給獨一無二的序號,玩家要買東西或下架
物品,都要給序號,這樣就沒啥問題,最後就是 auctions 的列表
指令給 CD 時間即可。
嘛,指令暫定 auctions,我是希望能有別的指令,如 onsell 之
類的。
目前問題只剩下如何判斷什麼東西可以被設定為可放進 onsell,
以下是暫擬規則
1.若有 !undefinedp(ob->query("names")) 就不行 認主
2.若有 !undefinedp(ob->query("damage")) 就不行 武器
3.若有 !undefinedp(ob->query("armor")) 就不行 防具
4.若有 !undefinedp(ob->query("present_drop")) 就不行 防掉
[編輯中]
※ 編輯: laechan (122.117.106.224), 05/17/2018 08:57:28