作者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
1F:→ doall:有办法让这些物品乾脆不重叠吗? 12/25 01:46
2F:→ doall:hmm...重叠条件从base_name改成query("short")应该 12/25 02:39
3F:→ doall:可以彻底解决这问题 12/25 02:40
4F:→ doall:可以延伸出很多应用呢 12/25 02:40
5F:→ doall:端看小宝觉得可不可行了~ 12/25 02:41
6F:推 bahatest:重叠条件是档名相同吧 12/25 04:08
7F:推 laechan:通常我会建议你乾脆让这些物品的档名不同不就得了? 12/25 07:19
8F:推 laechan:例如至少要分 type 吧,arm 一个档, kneepad 一个档,.. 12/25 07:20
9F:→ doall:唔...这样不同属性还是会重叠... 12/25 11:57
10F:→ doall:不能修改重叠条件的话...那我想想看有没有别的办法好了... 12/25 12:09
11F:→ doall:记得有个方法可以骗过系统让他认为档案存在 12/25 12:10
12F:推 laechan:现在的重点在装备被储存进资料档时,其格式是固定的. 12/25 12:57
13F:推 laechan:目前也没有变更格式的计划. 12/25 12:58
14F:→ doall:呜...所以...重开之後会重新creat罗?那倒是大问题 12/25 23:28