作者laechan (小太保)
看板mud_sanc
标题[技能] explorer
时间Fri Oct 26 14:25:17 2007
之前的讨论有人提到迷宫知识,以及最近提到的迷宫探索,我想这
个就用 explorer 支援就好。
我最新想到的方式是...
一、玩家 cast explorer 或 heart explorer
二、在效果常驻期间,看得到隐藏出口(原有效果)。
三、效果常驻期间,玩家有特殊指令可以下,这个特殊指令是用来
为房间加上只有自己看得到的记号。
它的实作方式是...
ppl->set_temp("explorer_marks",(["房间档名":"特殊标记",...]));
在下指令画标记时...
explorer_marks=(mapping)ppl->query("explorer_marks");
keys_marks=(mixed)ppl->query("keys_explorer_marks");
files=base_name(environment(ppl));
if(member_array(files,keys_marks)!=-1)
return notify_fail("你已经有在这个房间加上「"+explorer_marks[files]+
"」这个记号了喔。\n");
write("你在这个房间标上了「"+str+"记号。\n");
keys_marks+=({files});
explorer_marks[files]=str;
if(sizeof(keys_marks)>n) // n 与技能值 or int 有关
{
files=keys_marks[0];
write("你最多只能在 n 个房间做上记号喔.\n"+
"XXXX清除了你先前做的「"+explorer_marks[files]+"」标记.\n");
keys_marks-=({files});
map_delete(explorer_marks,files);
}
ppl->set_temp("keys_explorer_marks",keys_marks);
一、因为是独立指令,所以有两种做法...
a)玩家必须在 cast explorer 状态下才能为房间做标记
b)玩家只需学有某个技能就可以为房间做标记
c)或者玩家的什麽技能必须达到多少才可以.
b 的话可以帮盗贼多灌个技能(性质类似 leadership),
但这不是必要。
二、记号让玩家自由标记,但 str 一定会经过底下判断..
s=strlen(str);
if(s>多少) return 长度太长;
str=substr(str,ESC,""); // 去掉颜色码
中英文不拘,原则上只有自己看得到。
三、实用上,盗贼单枪匹马闯迷宫时,这个技能要派得上用
场,必须允许盗贼可以观看房间出口的记号。
例如我往东看,跟往西看,都看到相同的「这是我一开
始进入的房间」这个记号时,我就不需要往东跟往西走
了。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.225.185.8