じ☆ve冰风 发表于 2024-4-20 00:32:48

队列行进不被门夹的事件设置

如图,队列行进的时候开关门会导致后面的队友被夹脸或者穿门而过。

于是我尝试了一下事件设置,现在会判断最后一个人的位置再关门。素材仍然来自上面的这款游戏。
首先在脚本里添加:
RUBY 代码
class Game_Party
attr_reader :characters
end

然后设置门事件,一共2页。
第1页是玩家接触触发:

第2页并行处理,出现条件是独立开关 A 为 ON:

下面是公共事件的内容:
第1页的开门事件,就是一般的设置:

第2页的关门事件,会判断队伍里(Train Actors)最后一名角色的位置,然后执行关门事件。
旧的设置


新的设置利用了RB提供的脚本(3楼),然后修改了穿透 OFF 的时机,这样就不会穿墙了:

新的脚本:
RUBY 代码
all_chars = [$game_player]
size = $game_party.actors.size - 2
if size >= 0
all_chars += $game_party.characters
end
ev = $game_map.events[@event_id]
@close_door = !all_chars.any?{ |ch|
ch.x == ev.x && ch.y == ev.y
}

发张示意图,可以看到最后一个角色还在门上的时候,门仍然是开着的,但是此角色走出去之后门就关上了。


如此设置就可以做到不被门夹住~
             本帖来自P1论坛作者九幽魔道,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=400873若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页: [1]
查看完整版本: 队列行进不被门夹的事件设置