作者doall (狂人)
看板mud_sanc
標題Re: [問題] 一些函數用法的問題。
時間Tue Dec 25 01:37:23 2007
我寫了些隨機產生的eq
不過...我發現到一個問題,算是很嚴重吧。
那就是物品是否重複,是由物品的basename去判定的
所以...就算物品的id不同,在物品欄中也會重疊在一起...囧~
可惜了這個有趣的code.....
以下附上原始碼:
inherit ARMOR;
void set_attrs(int,string,string,string);
void create()
{
seteuid(getuid(this_object()));
set_attrs(7,HIG+"翠綠"+NOR,"celadon","閃耀著綠色光芒的");
set("save",100);
set("no_break",95);
set("armor",100);
}
void set_attrs(int eq_lv,string basic_name_chi,
string basic_name_eng,string long_str){
int num_types,i,j;
string *types,*attr_name,*title_eng,*title_chi;
types = ({
"arm","kneepad","wristlet","pant","leg","sock",
"臂甲","護膝","腕鍊","長褲","脛甲","長襪"
});
num_types = sizeof(types)/2;
i = random(num_types);
title_eng = ({
"fel","str","dex","air","mag",
"str and dex","str and air","fel and str","str and mag",
"fel and dex","fel and air","fel and mag",
"dex and air","dex and mag",
"air and mag",
});
title_chi = ({
"感性","力量","敏捷","氣勁","魔力",
"逐風者","雷鳴","光鑄","毀滅者",
"狂野","血虎","占星師",
"暴風","惡魔",
"虛無",
});
attr_name = ({
({"fel"}),({"str"}),({"dex"}),({"air"}),({"mag"}),
({"str","dex"}),({"str","air"}),({"fel","str"}),({"str","mag"}),
({"fel","dex"}),({"fel","air"}),({"fel","mag"}),
({"dex","air"}),({"dex","mag"}),
({"air","mag"}),
});
for(j = 0; j<sizeof(attr_name[i]); j++){
if(eq_lv/sizeof(attr_name[i]) > 50)
set("effect/stat-"+attr_name[i][j],50);
else
set("effect/stat-"+attr_name[i][j],(eq_lv*10/sizeof(attr_name[i])));
}
set("level_of_eq",eq_lv);
set("type",types[i]);
set("id",({"LV"+eq_lv+" "+title_eng[i]+" "+basic_name_eng+" "+types[i],
title_eng[i]+" "+basic_name_eng+" "+types[i],
types[i]}) );
set("value",eq_lv*1000);
set("level",eq_lv*15);
set("mass",eq_lv*50);
set("short",HIC+title_chi[i]+"之"+
NOR+basic_name_chi+HIP+types[(i+num_types)]+
NOR+"("+title_eng[i]+" "+basic_name_eng+" "+types[i]+")");
set("long",long_str+types[(i+num_types)]);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.131.12
→ doall:有辦法讓這些物品乾脆不重疊嗎? 12/25 01:46
→ doall:hmm...重疊條件從base_name改成query("short")應該 12/25 02:39
→ doall:可以徹底解決這問題 12/25 02:40
→ doall:可以延伸出很多應用呢 12/25 02:40
→ doall:端看小寶覺得可不可行了~ 12/25 02:41
推 bahatest:重疊條件是檔名相同吧 12/25 04:08
推 laechan:通常我會建議你乾脆讓這些物品的檔名不同不就得了? 12/25 07:19
推 laechan:例如至少要分 type 吧,arm 一個檔, kneepad 一個檔,.. 12/25 07:20
→ doall:唔...這樣不同屬性還是會重疊... 12/25 11:57
→ doall:不能修改重疊條件的話...那我想想看有沒有別的辦法好了... 12/25 12:09
→ doall:記得有個方法可以騙過系統讓他認為檔案存在 12/25 12:10
推 laechan:現在的重點在裝備被儲存進資料檔時,其格式是固定的. 12/25 12:57
推 laechan:目前也沒有變更格式的計劃. 12/25 12:58
→ doall:嗚...所以...重開之後會重新creat囉?那倒是大問題 12/25 23:28