作者laechan (挥泪斩马云)
看板mud_sanc
标题Re: [wizs] 副本 (多层式副本)
时间Tue May 15 16:06:08 2018
以下是出口设定的变通做法,我认为在特定地图路线下是可行的,
供 wiz 参考。
map2data=@LONG
001
|
002
|
003-004-005-006
LONG
;
如上,虽然是一张地图但实际上副本区域切成两块,这时候设定
003 会跑 instance_check:
instance_check()
{
case "003":
flags=room->query("instance_flags");
switch(flags)
{
case 0:
room->set("instance_flags",1);
ob=room->query("exits/east");
room->set("tmp_east",ob);
room->delete("exits/east");
break;
.
.
}
break;
return 1;
}
这样理论上房间被载入时,往 east 的出口是不存在的,等到满
足出口打开的条件时
ob=room->query("tmp_east");
room->set("exits/east",ob);
再让出口产生就行了。
这种写法的好处就是不需要去读取 instance_rooms.c,缺点就
是不适用层数极多且实际地图极长、或出口较特别的区域,但极
适用总房间数不多的副本区域。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.117.106.224
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1526371572.A.817.html