作者laechan (小太保)
看板mud_sanc
标题[wizs] 精链武防构想
时间Sat Feb 19 01:06:16 2011
圣殿目前有计划要将各武防分门别类存放到指定目录,这个
我想可以藉由精链来协助完成,这个想法很简单,就是在玩
家 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
1F:推 justinj :由巫师先clone一个目录下一次refine就好了..avert 02/19 08:40
2F:→ laechan :这个目的主要是观察玩家「只」会refine哪些武防 02/19 09:57