查看: 6248|回复: 15

[已经解决] 怎样制作追逐敌人?

[复制链接]
梦石
0
星屑
134
在线时间
52 小时
注册时间
2014-2-25
回帖
16
发表于 2014-7-17 15:10:20 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

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

×
RT,之前找的AI有点低,有没有AI高一点的事件?{:8_432:}
万分感谢!{:8_432:}

点评

你之前找的是什么?  发表于 2014-7-17 15:18
梦石
0
星屑
50
在线时间
29 小时
注册时间
2014-6-25
回帖
12
发表于 2014-7-17 15:12:45 | 显示全部楼层
把设定范围扩大?
回复

使用道具 举报

梦石
0
星屑
134
在线时间
52 小时
注册时间
2014-2-25
回帖
16
 楼主| 发表于 2014-7-17 15:14:34 | 显示全部楼层
矫情的蘑菇桑~ 发表于 2014-7-17 15:12
把设定范围扩大?

我是新手,听不太懂捏~( ̄▽ ̄)~

点评

楼下的方法不可行,喵  发表于 2014-7-17 15:23
回复

使用道具 举报

梦石
0
星屑
50
在线时间
29 小时
注册时间
2014-6-25
回帖
12
发表于 2014-7-17 15:17:56 | 显示全部楼层
本帖最后由 矫情的蘑菇桑~ 于 2014-7-17 15:24 编辑

作死中。。。

点评

这样是不可以的,不要误导别人哦  发表于 2014-7-17 15:21

评分

参与人数 2星屑 0 收起 理由
鑫晴 + 1 回血
VIPArcher -1 那就作死吧,喵。

查看全部评分

回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-7-17 15:21:56 来自手机 | 显示全部楼层
我记得有个叫寻路脚本的东西……
回复

使用道具 举报

梦石
0
星屑
134
在线时间
52 小时
注册时间
2014-2-25
回帖
16
 楼主| 发表于 2014-7-17 15:23:20 | 显示全部楼层
矫情的蘑菇桑~ 发表于 2014-7-17 15:17

好像不得也!{:2_276:}
敌人走了几步路就不见了!
吓尿了!
回复

使用道具 举报

梦石
0
星屑
50
在线时间
29 小时
注册时间
2014-6-25
回帖
12
发表于 2014-7-17 15:24:33 | 显示全部楼层
其实就是简单的寻路。 没载对图 我那是自己的图 触发方式改下
回复

使用道具 举报

梦石
0
星屑
134
在线时间
52 小时
注册时间
2014-2-25
回帖
16
 楼主| 发表于 2014-7-17 15:28:06 | 显示全部楼层
之前是66站viktor大神的机关整合 @VIPArcher  
回复

使用道具 举报

梦石
0
星屑
134
在线时间
52 小时
注册时间
2014-2-25
回帖
16
 楼主| 发表于 2014-7-17 15:29:32 | 显示全部楼层
taroxd 发表于 2014-7-17 15:21
我记得有个叫寻路脚本的东西……

66站上有吗?您能给个指路链接吗?谢谢!

点评

爪机,给不出  发表于 2014-7-17 15:31
回复

使用道具 举报

无限の剣制

梦石
0
星屑
10445
在线时间
5019 小时
注册时间
2013-2-28
回帖
4942

开拓者贵宾

发表于 2014-7-17 15:34:24 | 显示全部楼层
好像这个脚本也可以符合要求?
敌人隐藏战斗?[pre lang="ruby" line="1"]=begin
      RGSS3
      
      ★ シンボルエンカウント補助 ★

      イベントでのシンボルエンカウントの動作を補助します。
      
      ● 仕様 ●==========================================================
      シンボルエンカウント有効後は、
      イベントページの自律移動の項で設定されたものは全て無効になります。
      --------------------------------------------------------------------
      一度有効になったシンボルエンカウントを無効にするには、
      シンボルエンカウント設定のないイベントページに切り替えてください。
      ====================================================================
      
      ● 機能 ●==========================================================
      シンボルエンカウントイベントから戦闘を起動した場合、
      シンボルとプレイヤーの位置関係により先制攻撃or不意打ちが発生します。
          ・イベントの背後を取った場合           => 先制攻撃
          ・イベントに背後を取られた場合         => 不意打ち
          ・イベントが隊列の最後尾に接触した場合 => 不意打ち
      --------------------------------------------------------------------
      プレイヤーとの距離が一定内になるとプレイヤーを追跡するようになります。
      --------------------------------------------------------------------
      プレイヤーとの距離によりシンボルの透明度を変化させることができます。
      --------------------------------------------------------------------
      プレイヤーのレベルによりシンボルが逃走したりします。
      --------------------------------------------------------------------
      ダッシュしているとシンボルが反応しやすくなったりします。
      --------------------------------------------------------------------
      シンボルが反応した瞬間フキダシアイコンが表示されたりします。
      --------------------------------------------------------------------
      シンボルが反応しなくなるアイテムやスキルを作ることができます。
      --------------------------------------------------------------------
      シンボルが通行できないリージョンを設定することができます。
      ====================================================================
      
      ● シンボルエンカウントイベントの設定方法 ●========================
      シンボルの動作を設定箇所にてあらかじめ定義しておきます。
      --------------------------------------------------------------------
      イベント>自律移動>頻度を最高に設定してください。
      --------------------------------------------------------------------
      イベント>自律移動>カスタム>移動ルート>スクリプトに
        enable_symbol_encount(id)
      と記述します。idには設定箇所で定義したものを指定します。
      --------------------------------------------------------------------
      後はイベントのトリガーを"イベントから接触"にして戦闘を起動するだけ!
      ====================================================================
      
      ● ステルス機能について ●==========================================
      メモ欄に「ステルス:n」と記述されたスキル・アイテムを使用すると
      ステルス状態となり、一定期間シンボルが反応しなくなります。
      nにはステルス状態が維持されるプレイヤーの歩数を指定します。
      --------------------------------------------------------------------
      イベントのスクリプトから下記のコードを実行することで、
      ステルスを強制的に解除することができます。
        reset_stealth
      --------------------------------------------------------------------
      操作キャラクターの変更時や、シナリオ上で長い時間が経過した際などに
      使用してください。
      ====================================================================
      
      ● 注意 ●==========================================================
      ニューゲームから始めないとエラーを吐きます。
      ====================================================================
      
      ver1.01

      Last Update : 2012/03/04
      03/04 : 追跡中のイベントが存在する際にイベントが発生すると、
              追跡状態がおかしくなる不具合を修正
      ----------------------2012--------------------------
      12/23 : RGSS2からの移植
      ----------------------2011--------------------------
      
      ろかん   http://kaisou-ryouiki.sakura.ne.jp/
=end

#===================================
#  ●設定箇所
#===================================
module SymbolEncount
  # 隊列がシンボルと接触した場合、イベントを起動するかどうか
  FOLLOWER_CONTACT = true
  
  # シンボルエンカウントの設定をあらかじめ定義
  SYMBOL_SETTING_LIST = {
    #-----------------------------------------------------------
    0 => [
          # シンボルが逃げるプレイヤーレベル
          #   0が設定されている場合逃走しません
          0,
          # プレイヤーレベルの判断種別
          #   0:平均レベル、1:最大レベル、2:先頭メンバーのレベル
          0,
          # シンボルが反応するプレイヤーとの距離
          3,
          # シンボルが反応するプレイヤーとの距離(プレイヤーダッシュ時)
          5,
          # プレイヤーに反応していない時の移動パターン
          #   0:ランダム移動、1:停止
          0,
          # 透明度の変化するプレイヤーとの距離
          #   ここで指定した距離よりもシンボルから遠ざかることで
          #   シンボルが少しずつ見えにくくなっていきます。
          #   0が設定されている場合この機能は無効になります。
          5,
          # 反応前の移動速度
          #   1:1/8倍速、2:1/4倍速、3:1/2倍速、4:標準速、5:2倍速、6:4倍速
          2,
          # 反応後の移動速度
          #   1:1/8倍速、2:1/4倍速、3:1/2倍速、4:標準速、5:2倍速、6:4倍速
          4,
          # 反応前の移動頻度
          #   1:最低、2:低、3:通常、4:高、5:最高
          5,
          # 反応後の移動頻度
          #   1:最低、2:低、3:通常、4:高、5:最高
          5,
          # 反応時に再生するフキダシアイコンID
          #   0が設定されている場合この機能は無効になります。
          1,
          # シンボルが通行することのできないリージョンID
          # 配列形式で指定してください。
          [1, 3]
         ],
    #-----------------------------------------------------------
    1 => [
          15,# シンボルが逃げるプレイヤーレベル
          0, # プレイヤーレベルの判断種別
          3, # シンボルが反応するプレイヤーとの距離
          5, # シンボルが反応するプレイヤーとの距離(プレイヤーダッシュ時)
          1, # プレイヤーに反応していない時の移動パターン
          0, # 透明度の変化するプレイヤーとの距離
          0, # 反応前の移動速度
          4, # 反応後の移動速度
          0, # 反応前の移動頻度
          5, # 反応後の移動頻度
          1, # 反応時に再生するフキダシアイコンID
          [] # シンボルが移動することのできないリージョンID
         ],
    #-----------------------------------------------------------
    2 => [
          0, # シンボルが逃げるプレイヤーレベル
          0, # プレイヤーレベルの判断種別
          0, # シンボルが反応するプレイヤーとの距離
          0, # シンボルが反応するプレイヤーとの距離(プレイヤーダッシュ時)
          0, # プレイヤーに反応していない時の移動パターン
          0, # 透明度の変化するプレイヤーとの距離
          0, # 反応前の移動速度
          0, # 反応後の移動速度
          0, # 反応前の移動頻度
          0, # 反応後の移動頻度
          0, # 反応時に再生するフキダシアイコンID
          [] # シンボルが移動することのできないリージョンID
         ],
    #-----------------------------------------------------------
    3 => [
          0, # シンボルが逃げるプレイヤーレベル
          0, # プレイヤーレベルの判断種別
          0, # シンボルが反応するプレイヤーとの距離
          0, # シンボルが反応するプレイヤーとの距離(プレイヤーダッシュ時)
          0, # プレイヤーに反応していない時の移動パターン
          0, # 透明度の変化するプレイヤーとの距離
          0, # 反応前の移動速度
          0, # 反応後の移動速度
          0, # 反応前の移動頻度
          0, # 反応後の移動頻度
          0, # 反応時に再生するフキダシアイコンID
          [] # シンボルが移動することのできないリージョンID
         ],
    #-----------------------------------------------------------
  }
end
#===================================
#  ここまで
#===================================

$rsi ||= {}
$rsi["シンボルエンカウント補助"] = true

class RPG::UsableItem < RPG::BaseItem
  def stealth_obj_count
    self.note.each_line{|line|
      return $1.to_i if line =~ /ステルス:(\d+)/i
    }
    0
  end
end

class << BattleManager
  #--------------------------------------------------------------------------
  # ● モジュールのインスタンス変数
  #--------------------------------------------------------------------------
  attr_writer   :run_event
  @run_event = nil # 戦闘を呼び出したイベント
  #--------------------------------------------------------------------------
  # ● セットアップ
  #--------------------------------------------------------------------------
  alias _symbol_encount_setup setup
  def setup(troop_id, can_escape = true, can_lose = false)
    _symbol_encount_setup(troop_id, can_escape, can_lose)
    set_battle_condition
  end
  #--------------------------------------------------------------------------
  # ● シンボルエンカウントイベントから戦闘が呼び出されている場合の処理
  #--------------------------------------------------------------------------
  def set_battle_condition
    if @run_event && @run_event.symbol_encount
      @run_event.set_contact_condition
      case @run_event.contact_condition
      when 1
        @preemptive = true
      when 2
        @surprise = true
      end
    end
    @run_event = nil
  end
end

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● スキル/アイテムの使用
  #--------------------------------------------------------------------------
  def use_item(item)
    stealth_effect(item)
    super
  end
  #--------------------------------------------------------------------------
  # ● ステルス効果の適用
  #--------------------------------------------------------------------------
  def stealth_effect(item)
    result = item.stealth_obj_count
    $game_player.stealth_count = result if result > 0
  end
end

class Game_Party < Game_Unit
  #--------------------------------------------------------------------------
  # ● プレイヤーレベルの取得
  #--------------------------------------------------------------------------
  def get_player_level(type)
    case type
    when 0
      members.inject(0){|r, actor| r += actor.level} / members.size
    when 1
      members.max_by{|actor| actor.level}
    when 2
      $game_party.members.first.level
    end
  end
end

class Game_Character < Game_CharacterBase
  #--------------------------------------------------------------------------
  # ● 非公開メンバ変数の初期化
  #--------------------------------------------------------------------------
  alias _symbol_init_private_members init_private_members
  def init_private_members
    _symbol_init_private_members
    @origin_opacity = @opacity
  end
  #--------------------------------------------------------------------------
  # ● 移動コマンドの処理
  #--------------------------------------------------------------------------
  alias _symbol_process_move_command process_move_command
  def process_move_command(command)
    params = command.parameters
    @origin_opacity = params[0] if command.code == ROUTE_CHANGE_OPACITY
    _symbol_process_move_command(command)
  end
  #--------------------------------------------------------------------------
  # ● 指定キャラクターとの位置関係を取得(接触していることを前提)
  #--------------------------------------------------------------------------
  def positional_relationship(character)
    if character.real_x == real_x
      character.real_y > real_y ? 1 : 0
    elsif character.real_y == real_y
      character.real_x > real_x ? 2 : 3
    else
      -1
    end
  end
  #--------------------------------------------------------------------------
  # ● シンボルエンカウント関連処理による透明度の更新
  #--------------------------------------------------------------------------
  def update_symbol_opacity
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias _symbol_opacity_update update
  def update
    _symbol_opacity_update
    update_symbol_opacity
  end
end

class Game_Player < Game_Character
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_writer :stealth_count
  #--------------------------------------------------------------------------
  # ● 公開メンバ変数の初期化
  #--------------------------------------------------------------------------
  def init_public_members
    super
    reset_stealth
  end
  #--------------------------------------------------------------------------
  # ● ステルス状態の初期化
  #--------------------------------------------------------------------------
  def reset_stealth
    @stealth_count = 0
  end
  #--------------------------------------------------------------------------
  # ● ステルス判定
  #--------------------------------------------------------------------------
  def stealth?
    !@stealth_count.zero?
  end
  #--------------------------------------------------------------------------
  # ● 歩数増加
  #--------------------------------------------------------------------------
  alias _increase_stealth_count increase_steps
  def increase_steps
    _increase_stealth_count
    @stealth_count -= 1 if stealth?
  end
  #--------------------------------------------------------------------------
  # ● シンボルエンカウント関連処理による透明度の更新
  #--------------------------------------------------------------------------
  def update_symbol_opacity
    if stealth? && !$game_map.interpreter.running?
      @opacity = 128
    else
      @opacity = @origin_opacity
    end
  end
end

class Game_Follower < Game_Character
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader :member_index
end

class Game_Event < Game_Character
  #--------------------------------------------------------------------------
  # ● インクルード SymbolEncount
  #--------------------------------------------------------------------------
  include SymbolEncount
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader :symbol_encount
  attr_reader :contact_condition
  #--------------------------------------------------------------------------
  # ● 非公開メンバ変数の初期化
  #--------------------------------------------------------------------------
  alias _symbol_encount_ini init_private_members
  def init_private_members
    _symbol_encount_ini
    init_symbol_encount
  end
  #--------------------------------------------------------------------------
  # ● イベントページのセットアップ
  #--------------------------------------------------------------------------
  alias _symbol_encount_setup_page setup_page
  def setup_page(new_page)
    init_symbol_encount
    _symbol_encount_setup_page(new_page)
  end
  #--------------------------------------------------------------------------
  # ● シンボルエンカウントの初期化
  #--------------------------------------------------------------------------
  def init_symbol_encount
    @forming = false
    @symbol_encount = false
    @symbol_away_level = 0
    @symbol_away_level_type = 0
    @reaction_distance = 0
    @reaction_distance_with_dash = 0
    @nonreaction_move_type = 0
    @visibility_distance = 0
    @reaction_before_speed = 0
    @reaction_after_speed = 0
    @reaction_before_speed = 0
    @reaction_after_frequency = 0
    @reaction_balloon_id = 0
    @unpassable_region = []
    @contact_index = -1
    @contact_condition = 0
  end
  #--------------------------------------------------------------------------
  # ● シンボルエンカウントを有効化
  #--------------------------------------------------------------------------
  def enable_symbol_encount(id)
    data = SYMBOL_SETTING_LIST[id]
    @symbol_encount = true
    @symbol_away_level = data[0]
    @symbol_away_level_type = data[1]
    @reaction_distance = data[2]
    @reaction_distance_with_dash = data[3]
    @nonreaction_move_type = data[4]
    @visibility_distance = data[5]
    @reaction_before_speed = data[6]
    @reaction_after_speed = data[7]
    @reaction_before_frequency = data[8]
    @reaction_after_frequency = data[9]
    @reaction_balloon_id = data[10]
    @unpassable_region = data[11].dup
  end
  #--------------------------------------------------------------------------
  # ● 通行可能判定
  #--------------------------------------------------------------------------
  def passable?(x, y, d)
    if @symbol_encount
      x2 = $game_map.round_x_with_direction(x, d)
      y2 = $game_map.round_y_with_direction(y, d)
      return false if @unpassable_region.include?($game_map.region_id(x2, y2))
    end
    super
  end
  #--------------------------------------------------------------------------
  # ● ロック(実行中のイベントが立ち止まる処理) ※再定義
  #--------------------------------------------------------------------------
  def lock
    unless @locked
      @prelock_direction = @direction
      turn_toward_player unless @symbol_encount
      @locked = true
    end
  end
  #--------------------------------------------------------------------------
  # ● プレイヤーレベルの取得
  #--------------------------------------------------------------------------
  def player_level
    $game_party.get_player_level(@symbol_away_level_type)
  end
  #--------------------------------------------------------------------------
  # ● プレイヤーからの距離を取得
  #--------------------------------------------------------------------------
  def distance_from_player
    distance_x_from($game_player.x).abs + distance_y_from($game_player.y).abs
  end
  #--------------------------------------------------------------------------
  # ● 指定キャラクターからの距離を取得
  #--------------------------------------------------------------------------
  def distance_from_character(character)
    distance_x_from(character.x).abs + distance_y_from(character.y).abs
  end
  #--------------------------------------------------------------------------
  # ● 反応するプレイヤーからの距離を取得
  #--------------------------------------------------------------------------
  def reaction_distance
    if @forming
      @reaction_distance_with_dash.next
    elsif $game_player.dash? && $game_player.moving?
      @reaction_distance_with_dash
    else
      @reaction_distance
    end
  end
  #--------------------------------------------------------------------------
  # ● シンボルエンカウントを動作させるか
  #--------------------------------------------------------------------------
  def active_symbol_encount?
    if $game_map.interpreter.running?
      false
    elsif @erased || $game_player.stealth?
      @forming = false
      false
    else
      true
    end
  end
  #--------------------------------------------------------------------------
  # ● プレイヤーと同じ方向を向いているか
  #--------------------------------------------------------------------------
  def direction_as_player?
    direction == $game_player.direction
  end
  #--------------------------------------------------------------------------
  # ● 指定キャラクターとの簡易接触判定
  #--------------------------------------------------------------------------
  def contact?(character)
    distance_from_character(character) <= 1
  end
  #--------------------------------------------------------------------------
  # ● プレイヤーへの反応判定
  #--------------------------------------------------------------------------
  def reaction?
    distance_from_player <= reaction_distance
  end
  #--------------------------------------------------------------------------
  # ● プレイヤーからの逃走判定
  #--------------------------------------------------------------------------
  def away?
    player_level > @symbol_away_level
  end
  #--------------------------------------------------------------------------
  # ● 接触状況の判断
  #--------------------------------------------------------------------------
  def set_contact_condition
    @contact_index = -1
    @contact_condition = 0
    if contact?($game_player)
      @contact_index = 0
    elsif FOLLOWER_CONTACT
      $game_player.followers.visible_folloers.each{|follower|
        @contact_index = follower.member_index if contact?(follower)
      }
    end
    if @contact_index.zero?
      @contact_condition = direction_and_positional
    elsif $game_player.followers.visible_folloers.size == @contact_index
      @contact_condition = 2
    else
      @contact_condition = 0
    end
  end
  #--------------------------------------------------------------------------
  # ● プレイヤーとの位置と向き関係から接触状況を取得
  #--------------------------------------------------------------------------
  def direction_and_positional
    position = positional_relationship($game_player)
    if position == -1
      0
    else
      case direction
      when 2
        direction_as_player? ? (position == 0 ? 1 : 2) : 0
      when 4
        direction_as_player? ? (position == 2 ? 1 : 2) : 0
      when 6
        direction_as_player? ? (position == 3 ? 1 : 2) : 0
      when 8
        direction_as_player? ? (position == 1 ? 1 : 2) : 0
      else
        0
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 接触イベントの起動判定
  #--------------------------------------------------------------------------
  alias _symbol_encount_trigger check_event_trigger_touch
  def check_event_trigger_touch(x, y)
    if @symbol_encount && FOLLOWER_CONTACT
      unless $game_map.interpreter.running?
        if @trigger == 2 && collide_with_player_characters?(x, y)
          start unless jumping?
        end
      end
    else
      _symbol_encount_trigger(x, y)
    end
  end
  #--------------------------------------------------------------------------
  # ● 追跡の開始
  #--------------------------------------------------------------------------
  def start_forming
    @move_speed = @reaction_after_speed
    @move_frequency = @reaction_after_frequency
    unless @reaction_balloon_id.zero?
      Audio.se_play('Audio/SE/Decision1', 50, 150)
      @balloon_id = @reaction_balloon_id
    end
  end
  #--------------------------------------------------------------------------
  # ● 追跡の終了(見失う)
  #--------------------------------------------------------------------------
  def end_forming
    @move_speed = @reaction_before_speed
    @move_frequency = @reaction_before_frequency
  end
  #--------------------------------------------------------------------------
  # ● 反応している時の移動処理
  #--------------------------------------------------------------------------
  def reaction_movement
    @move_speed = @reaction_after_speed
    @move_frequency = @reaction_after_frequency
    if @symbol_away_level.zero?
      move_type_toward_player
    elsif away?
      move_away_from_player
    else
      move_type_toward_player
    end
  end
  #--------------------------------------------------------------------------
  # ● 反応していない時の移動処理
  #--------------------------------------------------------------------------
  def nonreaction_movement
    @move_speed = @reaction_before_speed
    @move_frequency = @reaction_before_frequency
    case @nonreaction_move_type
    when 0
      move_type_random
    when 1
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias _update_with_symbol update
  def update
    update_symbol_reaction if @symbol_encount && @wait_count <= 0 && !@move_route_forcing
    _update_with_symbol
  end
  #--------------------------------------------------------------------------
  # ● プレイヤーへの反応判定を更新
  #--------------------------------------------------------------------------
  def update_symbol_reaction
    if active_symbol_encount?
      if !@forming && reaction?
        start_forming
      elsif @forming && !reaction?
        end_forming
      end
      @forming = reaction?
    end
  end
  #--------------------------------------------------------------------------
  # ● シンボルエンカウント関連処理による透明度の更新
  #--------------------------------------------------------------------------
  def update_symbol_opacity
    if @visibility_distance.zero?
      @opacity = @origin_opacity
    else
      @opacity = @origin_opacity - 50 * (distance_from_player - @visibility_distance)
    end
  end
  #--------------------------------------------------------------------------
  # ● 自律移動の更新
  #--------------------------------------------------------------------------
  alias _update_self_movement_with_symbol update_self_movement
  def update_self_movement
    if @symbol_encount
      update_symbol_movement if near_the_screen? && @stop_count > stop_count_threshold
    else
      _update_self_movement_with_symbol
    end
  end
  #--------------------------------------------------------------------------
  # ● シンボルの動作を更新
  #--------------------------------------------------------------------------
  def update_symbol_movement
    if near_the_screen? && @stop_count > stop_count_threshold
      if active_symbol_encount?
        @forming ? reaction_movement : nonreaction_movement
      else
        nonreaction_movement
      end
    end
  end
end

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● バトルの処理
  #--------------------------------------------------------------------------
  alias _command_301_with_symbol_encount command_301
  def command_301
    unless $game_party.in_battle
      BattleManager.run_event = $game_map.events[@event_id]
      _command_301_with_symbol_encount
    end
  end
  #--------------------------------------------------------------------------
  # ● ステルス状態の解除
  #--------------------------------------------------------------------------
  def reset_stealth
    $game_player.reset_stealth
  end
end[/pre]

点评

敌人移动路线-自定义-脚本-输入 enable_symbol_encount(id) id为类型  发表于 2014-11-3 19:19
这个脚本应用时,事件页的脚本应该这么填呢?  发表于 2014-11-3 19:00

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部