じ☆ve冰风 发表于 2024-4-12 16:43:13

VA阻碍后延时穿过NPC事件

有时我们会需要做一个"持续移动后穿过NPC"的效果,避免被随意行走的NPC把路堵死。

RUBY 代码
# By Lanza Schneider
# 2020.09.04
# 在你想要穿过的事件中添加一条 crushable 注释即可
class Game_Event
def crushable?
    @crushable
end

alias :setup_page_2020090400 :setup_page
def setup_page(*args)
    setup_page_2020090400 *args
    @crushable = false
    @page.list.each do |command|
      if command.code == 108 && command.parameters == 'crushable'
      @crushable = true
      break
      end
    end
end
end

class Game_Player
alias :update_2020090400 :update
def update *args
    @crushed = false
    update_2020090400 *args
    @crush_count = @crushed ? @crush_count + 1 : 0
end

def collide_with_events?(x, y)
    $game_map.events_xy_nt(x, y).any? do |event|
      result = event.normal_priority? || self.is_a?(Game_Event)
      if result && event.crushable?
      @crushed = true
      result = false if @crush_count > 30
      end
      result
    end
end
end


             本帖来自P1论坛作者Mr.Jin,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg. blue/forum.php?mod=viewthread&tid=483180若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页: [1]
查看完整版本: VA阻碍后延时穿过NPC事件