Inform7中另一个人的全局可见性?

时间:2017-05-20 13:12:34

标签: inform7

在我正在为大学工作的一个项目中,有人要求一个人能够使用一种对讲机来引导另一个人。然而,这需要对应该能够像这样控制的人进行某种全局访问。人们可能会做以下其中一件事:

  • 每当他要求其他角色做某事时,交换玩家,执行动作并返回
  • 使用对讲机改变角色的视图(看起来不像是一种直观的演奏方式)
  • 以某种方式让每个房间都能看到另一个角色(这是我最喜欢的角色)。

不幸的是,我无法在文档中找到类似的内容(可见性仅在一个房间内点亮,可达性仅打开/取出某些东西)。我想到的另一种方法是保存两者的原始空间,将它们放在一个秘密房间,c1然后要求c2尝试做某事,两者都放在他们的位置,并且要求的动作由c2执行。
但是,将此作为之前的规则写入不起作用,因为它已被默认检查规则取消。另一方面,我不能写:

Check asking c2to try doing something

因为那是一般性的 欢迎任何想法,方法或解决方案!

1 个答案:

答案 0 :(得分:2)

您正在寻找的概念是"范围" (用Inform ch.18.29写作。)以下地方" c2"在范围内,因此可以随处访问:

After deciding the scope of the player:
    place c2 in scope.

你也可以让它有条件:

After deciding the scope of the player when the player is carrying the walkie talkie:
    place c2 in scope.

其余的是微调。当c2在物理上不在同一空间时,以下内容可以防止命令不合逻辑(例如"查看c2"):

Before doing something to c2 when c2 is not in the location and not answering c2 that:
    say "C2 isn't here right now. You can tell it what to do through the walkie talkie by commanding for example C2, JUMP." instead.

这个可以阻止"你无法进入......"发出的命令无效时出错:

Before answering c2 that:
    say "C2 doesn't understand that command." instead.