本帖最后由 灯笼菜刀王 于 2019-8-30 10:38 编辑 一句话就可以了, 当10086开关打开的时候, 中断执行, 注意check_event_trigger_touch 这个函数有两个, game player 和 game event , 一个是主角碰事件,一个是事件碰主角, 要禁止的话要都禁了哦 还有一个 check_event_trigger_here 也要一起禁 #-------------------------------------------------------------------------- # ● 接触事件启动判定 #-------------------------------------------------------------------------- def check_event_trigger_touch(x, y) return false if $game_switches[10086] result = false # 事件执行中的情况下 if $game_system.map_interpreter.running? return result end # 全事件的循环 for event in $game_map.events.values # 事件坐标与目标一致的情况下 if event.x == x and event.y == y and [1,2].include?(event.trigger) # 跳跃中以外的情况下、启动判定是正面的事件 if not event.jumping? and not event.over_trigger? event.start result = true end end end return result end 后排提醒, 虽然禁止是很容易, 但是要应用可不容易, 要好好考虑如何安排这个开关的启动和关闭, 打开它是"所有接触启动的事件都无效了哦" 当然, 也可以增加条件, 让它不"禁止全部" 先加入这个插件 class Game_Event < Game_Character def name ; return @event.name ; end end 然后, 把条件改为 return false if $game_switches[10086] && name.include?("门") 这样,打开10086开关的时候, 只有事件名字带"门"字的会被禁止触发 根据需要, 好好考虑用什么条件吧 |
参与人数 2 | 星屑 +100 | 赞 +1 | 收起 理由 |
---|---|---|---|
RyanBern | + 100 | 认可答案 | |
miantouchi | + 1 | 认可答案 |
加个开关多省事,事件页加个分歧,当开关打开时 空白 中断事件处理 开关关闭时,该咋地咋地,中断事件处理, 不过缺点,每个角色和每个事件页都得加,除非能用脚本写个方法,当开关10086打开时,所有事件均不触发。 缺点,飞起来就只能满地逛了,想触发事件必须落下才可以,然后你还得写落脚点地形通行情况判断,不可通行位置不可降落,避免落到水里。 |
参与人数 1 | 赞 +1 | 收起 理由 |
---|---|---|
miantouchi | + 1 | 塞糖 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-26 19:35
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.