看板 mud 關於我們 聯絡資訊
問題:那個拍賣系統有可能在 mud 實裝嗎? 首先假設每一個物件資料,與實際資料設定是一致的, 不一致的部份亦有一個系統儲存機制(例如"精鍊值")。 那麼這個拍賣系統就分為三部份 一、拍賣物件儲存系統 二、拍賣物件張貼及下標系統 三、拍賣物件搜尋系統 而且這三部份是互相相關的。 一般來說在定義儲存格式時,會假設「拍賣系統」本身 是一個「玩家」,各位都知道在玩家的身上可以存放東 西,而在該玩家離線時這些東西可以被「儲存」,所利 用的就是這種儲存機制,把拍賣系統假設是玩家,則放 在拍賣系統「身上」的東西就可以被儲存。以 mud來說 一般是這樣子存的.. mapping auto_load=([ "路徑/檔名1#編號":(["額外儲存資料1":xx1,"額外儲存資料1":xx2,..]), "路徑/檔名2#編號":(["額外儲存資料1":xx1,"額外儲存資料1":xx2,..]), . . ]); 那麼張貼時就很簡單了... ob=present("你指定張貼的物品id",this_player()); ob->move(拍賣系統); this_player->save(); 拍賣系統->save(); 一般來說張貼的語法可以這樣子設計... auc -post 身上物品名 for 價錢 這時讓系統給該物品拍賣編號,然後設計一個儲存格 mapping auc_ob=([ "拍賣編號1":({"路徑/檔名1#編號",競標價,直購價,結束時間}), "拍賣編號2":({"路徑/檔名2#編號",競標價,直購價,結束時間}), . . ]); 這樣就可以設計底下的指令.. auc -set 拍賣編號 競價價 = ooxx auc -set 拍賣編號 直購價 = ooxx auc -set 拍賣編號 結束時間 = 2012/xx/xx xx:xx . . 換言之,由拍賣編號可以找到物件編號,再由物件編 號就可找到實際被儲存的物件資料。拍賣編號也是玩 家下標時的依據。 剩下的就是搜尋系統,設計玩家可以使用哪些條件來 搜尋,一般如果是我,指令會這樣寫.. auc -search type=ring,level>99,direct>50000,direct<100000 上面的意思是說,我要找的目標是 ring 類、等級大 於 99、直購價介於 50000~100000 之間的戒指。 // 先針對後面接的那一長串, 以 , 號做 explode foreach(tmp in explode(tmps,",")) { // 再去偵測 > < = 的位置 if(s=strstch(tmp,">")>0) { // 就能分離出 type,level,direct,.. 等 tmp1 = tmp[0..s-1]; tmp2 = tmp[s+1..strlen(tmp)]; switch(tmp1) { case "type": . . case "level": . . } } } 這樣就能找出完全 match 的。 其它變化大同小異,我想「離線拍賣系統」理論上是做的 出來的,而越簡單的系統,其物件資料的「變動資料設計 」會越單純。 反過來說就是有精鍊或變動設計複雜的,越難寫,而且其 錯誤或 bug,會經常發生在伺服器重開、或者是上 patch 的時候,像 D3 那樣同樣一個名字的藍裝,其掉寶率設定 、屬性設定有時也會不同,這個就叫做變動資料,是必須 被拍賣系統額外儲存的。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.61.157.53 ※ 編輯: laechan 來自: 210.61.157.53 (06/19 18:25)
dannielz:推 06/19 18:59
laechan:其實最大的問題在於那個「仿玩家」的儲存系統,依 D3 的規 06/19 19:10
laechan:模,資料庫檔案大概會大到幾十MB,不過在mud應該就還好 06/19 19:10
loversii:有在MUD中看過 可行 06/19 19:16
QQmother:小寶要抽15%(誤 06/19 20:25
laechan:這個在新的 mud 做比較適合. 06/19 20:30
loversii:5F是Gay 06/19 20:39
kruz:拍賣是還好.重點是要有足夠的玩家群去支撐拍賣..要不然小貓兩 06/19 23:59
kruz:三隻(或是都是機器人)是賣不出什麼名堂的.. 06/20 00:00
lainhoter:auc horn 1 gold 06/20 00:52
loversii:他說的是類似網拍巴 把東西放在商店類 人可以離線 06/20 02:07
loversii:有在rw跟ww看過 06/20 02:08
kruz:人離線不是重點啊.重點是有沒有足夠的人去打東西來賣,跟有沒 06/20 02:39
kruz:有足夠的人去買東西.要不然撐不起來的.. 06/20 02:41
kruz:有些東西要有夠大的玩家群才可以撐得起來.很久以前有個mud就 06/20 02:42
kruz:有一套玩家經濟系統.玩家可以用mob的屍體去做藥水類的東西,其 06/20 02:44
kruz:他玩家可以去買,然後打mob可以用,這樣剛好一圈.不過後來完的 06/20 02:44
kruz:人變少以後這一圈就撐不太起來了.可能的解法大概是去"模擬"玩 06/20 02:45
kruz:家..要不然玩家經濟沒有玩家會垮掉.. 06/20 02:46
tawi:這個可以用機器人做吧..感覺這個圈圈用robot弄得起來 06/21 14:31
kruz:對呀.用系統依照真實玩家數去仿虛擬玩家.. 06/22 05:10
QQmother:6f最喜歡別人射在他臉上 06/24 13:10