[wizs] base_shop.c 研究
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間14年前 (2012/01/08 11:11)推噓1(1推 0噓 20→)留言21則, 2人參與討論串1/2 (看更多)
要改之前先研究一下。
基本上每間商店都有一個 storeroom.c,每一間商店的 storeroom
都是獨立的。
商店被載入時會呼叫 create_obj,用來處理 data["obj_num"] 所
設定的商店物品資料,因此,只要儲存了 data["obj_num"],下次
就可交由 create_obj 函數做自動載入或手動的載入,例如..
system eq_shop save/restore
system wp_shop save/restore
但是這裡要對 create_obj 函數做修正,加入 storeroom 是否為
原先的 storeroom 的判斷..
新載入的 - 那就執行原先的 create_obj 函數段
舊有存在的 - 那得清空 storeroom 裡面的東西再做載入
現在的重點就是儲存檔會不會過大的問題。因此基本上我還是比較
傾向手動的儲存及回存,重點在於做回存時多做一道手續:資料的
過濾及整合,這樣就不會使資料在做回存時有遺漏,例如..
回存前的 obj_num = xx1 : 50,
xx2 : 30,
xx3 : 20
做回存的 obj_num = xx1 : 40, 變少
xx3 : 40, 變多
xx4 : 60, 新資料
↓ 經過整合
回存後的 obj_num = xx1 : 50, 採較多的
xx2 : 30, 採較多的
xx3 : 40, 採較多的
xx4 : 60, 新加入的資料
實際做法就是 restore 前先讀 data["obj_num"], 然後將其拆成
兩個 mixed 資料(以免資料消失或變更), 之後做回存, 再比對資
料, 中間可能得用一下 call_out 做一些延遲處理.
因此,新商店需要改的就是增加 save_room 及 restore_room 兩
個函數,以及將它們搬離 /d 其它都不需要動,然後更改 system
指令新增語法即可。
這個有空會試做看看,而且我也想實驗反饋系統。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 223.141.173.94
→
01/08 11:17, , 1F
01/08 11:17, 1F
→
01/08 11:17, , 2F
01/08 11:17, 2F
推
01/08 12:07, , 3F
01/08 12:07, 3F
→
01/08 12:07, , 4F
01/08 12:07, 4F
→
01/08 12:09, , 5F
01/08 12:09, 5F
→
01/08 12:24, , 6F
01/08 12:24, 6F
→
01/08 12:24, , 7F
01/08 12:24, 7F
→
01/08 12:24, , 8F
01/08 12:24, 8F
→
01/08 13:20, , 9F
01/08 13:20, 9F
→
01/08 18:41, , 10F
01/08 18:41, 10F
→
01/08 18:42, , 11F
01/08 18:42, 11F
→
01/08 18:42, , 12F
01/08 18:42, 12F
→
01/08 18:42, , 13F
01/08 18:42, 13F
→
01/08 18:52, , 14F
01/08 18:52, 14F
→
01/08 18:52, , 15F
01/08 18:52, 15F
→
01/08 19:13, , 16F
01/08 19:13, 16F
→
01/08 22:55, , 17F
01/08 22:55, 17F
→
01/09 11:03, , 18F
01/09 11:03, 18F
→
01/09 13:03, , 19F
01/09 13:03, 19F
→
01/09 13:03, , 20F
01/09 13:03, 20F
→
01/09 13:43, , 21F
01/09 13:43, 21F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
-22
41