[wizs] 精鍊武防構想
聖殿目前有計劃要將各武防分門別類存放到指定目錄,這個
我想可以藉由精鍊來協助完成,這個想法很簡單,就是在玩
家 refine 武防時順手做即可。
原始: /u/l/laechan/area/eq/felid/ring1.c
變成: /d/eq/ring/001.c
在 /d/eq/ring/ 下需有一個物件檔,假設叫 ring.c, 用來
比對資料用的。
object origin_eq,refine_eq,query_ob;
string files,types,ns;
files=base_name(origin_eq); // 先讀取原始檔名
types=origin_eq->query("type"); // 並讀取其型態
query_ob=find_object_or_load("/d/eq/"+types+"/"+types); // load ring.c
if((string)query_ob->return_eq_number(files)=="ERROR") // 該 eq 尚未被 cp
{
ns=query_ob->return_max_number(); // 讀出最大的數值+1
ns="/d/eq/"+types+"/"+ns+".c");
cp(files,ns); // 做檔案的拷貝
}
else
ns="/d/eq/"+types+"/"+query_ob->return_eq_number(files)+".c";
refine_eq=clone_object(ns);
origin_eq->remove(); // 把舊的砍掉
refine_eq->move_to(this_player()); // 把新的移到玩家身上
this_player()->save_ob();
this_player()->save_me();
這樣,/d/eq/ring/xxx.c 就是原始 ring 的備份,也就是它會
藉由玩家精鍊武防的動作,先 copy 一份檔案到別的目錄,然後
直接以新目錄的武防取代掉玩家舊的武防。
當然實作上會判斷是否載入失敗、若失敗就不做上述的替換動作
,但是在此同時「也會告知玩家此武防目前不可精鍊」。
然後會順手寫入一個紀錄檔,供 wiz 事後去查看該武防為何無
法順利載入。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.6.12
推
02/19 08:40, , 1F
02/19 08:40, 1F
→
02/19 09:57, , 2F
02/19 09:57, 2F
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
15
19