[抠顶] 副本系统

楼主: laechan (挥泪斩马云)   2014-02-21 08:35:47
#define INSTANCE_ROOM
static mixed files=({});
static mapping instance_area=([]);
int product_instance(object ppl)
{
string f,names;
object room,ob;
names=ppl->query("name");
instance_room[names]=([]);
foreach(f in files)
{
if(!file_exists(f+".c"))
{
write("副本产生失败!\n");
return 1;
}
else if(catch(room=find_object_or_load(f)))
{
write("副本产生失败!\n");
return 1;
}
ob=clone_object(INSTANCE_ROOM);
ob->set("short",room->query("short"));
ob->set("long",room->query("long"));
ob->set("exits",room->query("exits"));
ob->set("objects",room->query("objects"));
ob->reset();
instance_room[names][f]=ob;
}
write("副本产生中......\n");
call_out("enter_instance",2,ppl,names);
return 1;
}
int enter_instance(object ppl)
{
object ob;
if(!ppl)
{
clean_instance(ppl,names);
return 1;
}
ob=instance_room[names][files[0]];
ppl->move_player(ob,"SNEAK");
ob->start_count_time(ppl);
return 1;
}
========================================================
这个副本系统是比之前更单纯的东西,如上所见,它的核心只有
几行,加上一些扩充的东西应该 200 行以内也可以搞定,精华
主要写在 INSTANCE_ROOM 里头。结合 quest 的话就类似底下的
表现..
> quest ooo about xxx
某人: 好的, 现在就送你到OO之地, 请跟那里的神官对话!
副本产生中....
+ 罗德斯大教堂 +
你现在位于本地最负盛名的教堂里,这个教堂已经有相当久的历
史了,看起来大概有一、二百年的时间,墙上的绘画已经开始剥
落了,已经快看不出来在画些什么了,但依稀可见到的是,天神
创造这个世界的情况。目前这个教堂由几个牧师来管理,帮忙人
们办理结婚大事。你可以打(help marriage)来获得讯息。
明显出口有: north.
Lv200.教堂神官-尤尼(Yuuni)
>
这东西不会很难写,而且它也支援组队过副本、多人副本、脚本
架构等,甚至玩家也有能力写,因为它的脚本架构还蛮简单的。
不过这东西我现在没啥动力写(给我一些动力吧!!),可以确定的
是这东西一定会出现在圣殿。
Laechan

Links booklink

Contact Us: admin [ a t ] ucptt.com