所以我有一个基本完成的简单家具系统。
当玩家放置一件家具时,游戏会执行以下精确的命令集。
将家具变量设置为 Table
将 Table 设置为“可穿透”模式
将玩家向后移动 1 格并开启开关 150,如果无法移动则忽略
(如果 150 处于关闭状态…)
将玩家向上旋转并移动玩家向后 1 格并开启开关 150,如果无法移动则忽略,等待
(如果 150 处于关闭状态…)
将玩家旋转并移动玩家向后 1 格并开启开关 150,如果无法移动则忽略,等待
(如果 150 处于关闭状态…)
将玩家向左旋转并移动玩家向后 1 格并开启开关 150,如果无法移动则忽略,等待
(如果 150 处于关闭状态…)
将玩家向右旋转并移动玩家向后 1 格并开启开关 150,如果无法移动则忽略,等待
(如果 150 处于关闭状态…)
将玩家传送至房间入口
将 Table 设置为“不可穿透”模式
(如果 150 处于开启状态…)
关闭开关 150
基本上,这会将家具放置好,使其变为“可穿透”状态,然后尝试在所有方向上将玩家向后移动 1 格,以防止他们卡在家具内部。如果玩家无法移动(例如把自己逼到了角落),他们将被传送到一个空旷的位置。
然而,命令中的“如果无法移动则忽略”部分似乎没有起作用。如果玩家无法移动,无论什么情况都会开启开关 150,而没有任何其他反应。请问有什么解决办法吗?