设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 112|回复: 0

[转载发布] Rogue-Like Movement / Chase Mode / Surprise Attack

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    2026-7-12 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    9071

    主题

    864

    回帖

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    58883
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    68848

    灌水之王

    发表于 2026-8-2 09:55:37 | 显示全部楼层 |阅读模式
    Saw a request here, and thought of putting up a script for it.

    In case anyone needs it, i have it reposted here.

    This script allows the rogue-like dungeon movement for events.

    This means the event will move only when the player is moving. (can be turned on/off with switch)

    Events can "hide" until player is close up in range, allowing surprise attack/chase.

    Features:

      [1] Have the event move only when the player is moving
          (Controlled by switch)
      [2] Enemy remain half/fully hidden until the player is in range
          (Surprise attack anyone?)
      [3] Chase Mode, events will start chasing the player in range
          (Or runs away, you can even set your own AI)
      [4] Puts an exclamation mark on the event when chase starts
          (You get to choose the balloon)
      [5] Extra ENFORCED moveroute toward the player during chase
          (Go striaght for player when in chase range, do normal chase when not in range, do random move 
           when player is 10 mas away)
      [6] Chase Mode works for both rogue move/normal move
          (So you get to choose which one you like most, rogue or normal)

           

    How to use:

      [1] Paste this script above Main and below Material

      [2] Add <enemy> tag in the event's name

          

      [3] Change the event's Autonomous Movement type to Approach

          

      [4] Turn the Switch on for rogue like move, off for normal move.

      
      = Run Away Enemy =
      ** If you set the move type to "custom" you can setup your own AI
      ** Use "Move away from Player" x 3, "Random move" x 1, "Move one step forward" x 1
      ** Check both repeat and ignore when unable to move tick boxes
      ** You should be able to make an event that runs away from the player this way

      = Hidden Enemy =

      ** If you wish to have your event enemies hidden until the player is close enough.

      ** In the script's setting area, set HIDE_OPACITY to 0

    Compatiblity:

    Should work with all scripts out there because everything is properly aliased.

    Shouldn't be an issue unless someone creates a new method using the same name as this script does.

    Terms of Use:

    Have fun for both free and commercial use as long as credit is given.  


    Update:

    06-Oct: Added screenshot to show how transparent & "!" mark works

    06-Sept: Added a switch control for chase mode

    05-Sept: Just updated the script, forgot to remove a line during testing when i posted this, so chase isn't working properly for normal mode. Please use the new one.

    04-Sept: Released

    Spoiler                Code:       
    1. #==============================================================================# ■ Meow Face Rogue Chase System#------------------------------------------------------------------------------# Allow event to move only when the player is moving, Chase Mode, Hide Mode etc#==============================================================================# How to Use:# [1] Paste this script below Material and above Main# [2] Add <enemy> tag in the event's name# [3] Change the event's movement type to Approach# [4] Config the script to your likings at the configuration area# [5] Turn the Switch on for rogue like move, off for normal move in game# [6] Chase mode is now controlled by a switch as well#==============================================================================module MF_RogueMove #DO NOT REMOVE!#==============================================================================# START OF CONFIGURATION#==============================================================================    SW_ROGUE = 1 #Switch number for turning the rogue move on/off (0 to turn it off)  SW_CHASE = 2 #Switch number for turning the chase mode on/off (0 to turn it off)    DISTANCE = 5 #Distance for chase activation (1-10, 10 is about 640x640 pixels in screen size)    HIDE_OPACITY = 128 #Opacity of the enemy when player is not in range (0-255)    BALLOON = 1 # Pop-up Balloon type (1-10, 0 to turn it Off)    CHASE_SPEED = 4 # Enemy Speed when chasing the player (0-6)    CHASE_FREQUENCY = 6 # Enemy Move Frequency when chasing the player (0-6)    DEFAULT_SPEED = 4 # Enemy Move Speed when not chasing the player (0-6)    DEFAULT_FREQUENCY = 3 # Enemy Move Frequency when not chasing the player (0-6)  #==============================================================================# END OF CONFIGURATION# Edit anything pass this line at your own risk!#==============================================================================end #DO NOT REMOVE!#==============================================================================class Game_Event < Game_Character  #--------------------------------------------------------------------------  # ◎ Alias Move Type: Move Toward Player  #--------------------------------------------------------------------------  alias meowface_mttp move_type_toward_player  def move_type_toward_player    if @event.name.include?('<enemy>') && distance_from_player <= MF_RogueMove::DISTANCE      move_toward_player      else      meowface_mttp    end  end  #--------------------------------------------------------------------------  # ◎ Alias update movement  #--------------------------------------------------------------------------  alias meowface_stop update_stop  def update_stop    if $game_switches[MF_RogueMove::SW_ROGUE] && @event.name.include?('<enemy>')      super      return update_self_movement if $game_player.moving?    else      meowface_stop    end  end  #--------------------------------------------------------------------------  # ○ New method: Get the Distance between Event and Player  #--------------------------------------------------------------------------  def distance_from_player    distance_x_from($game_player.x).abs + distance_y_from($game_player.y).abs  end    #--------------------------------------------------------------------------  # ○ New method: Start Chasing the Player  #--------------------------------------------------------------------------  def chase_player      if distance_from_player <= MF_RogueMove::DISTANCE        self.balloon_id = MF_RogueMove::BALLOON        @opacity = 255         @move_speed = MF_RogueMove::CHASE_SPEED        @move_frequency = MF_RogueMove::CHASE_FREQUENCY      else        @opacity = MF_RogueMove::HIDE_OPACITY        @move_speed = MF_RogueMove::DEFAULT_SPEED        @move_frequency = MF_RogueMove::DEFAULT_FREQUENCY      end  end  #--------------------------------------------------------------------------  # ◎ Alias Update Method  #--------------------------------------------------------------------------  alias meowface_rg_update update  def update    if @event.name.include?('<enemy>') && !$game_map.interpreter.running?      chase_player if $game_switches[MF_RogueMove::SW_CHASE]    end    meowface_rg_update  endend
    复制代码








    本贴来自国际rpgmaker官方论坛作者:MeowFace处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/rogue-like-movement-chase-mode-surprise-attack.44421/

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-8-17 12:44 , Processed in 0.110981 second(s), 53 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表