Project1

标题: 加入了Followers Options脚本之后角色行走图莫名其妙改变 [打印本页]

作者: 渡鸦的献礼    时间: 2016-5-20 19:18
标题: 加入了Followers Options脚本之后角色行走图莫名其妙改变
这是我在切换地图上的领队人物的事件做法:

我们现在有角色A和角色B:
A一直领队B
现在我设定A离队,队伍里就只剩下B,那么系统就自动让B领队了
B领队时,我让A再加入,此时B也依旧领队
然后我让B离队,队伍只剩下A,那么就是A领队了
我再让B加入,B就排在A后面,依旧A领队
这是正确的对吗?因为我在加入这个脚本之前就是这样切换地图上的领队人物的
可是当我加入这个脚本之后……重复上面的步骤后,
就发生了一件很神奇的事情,那就是:
A的行走图变成了B的样子!!!???(B还是B的行走图)

我在截图存档里(截图存档这个脚本会在截图界面下方显示队伍角色行走图)看到A和B的行走图都没变
但是在游戏里他就是变了……????A的行走图变成了B的样子
我整个人懵逼了……我真的不懂这是为什么,我确定事件页里没有设定更改角色行走图

RUBY 代码复制
  1. #==============================================================================
  2. # ** Victor Engine - Followers Options
  3. #------------------------------------------------------------------------------
  4. # Author : Victor Sant
  5. #
  6. # Version History:
  7. #  v 1.00 - 2012.01.20 > First relase
  8. #  v 1.01 - 2012.03.20 > Compatibility with Follower Control
  9. #------------------------------------------------------------------------------
  10. #  This script adds new options for the followers display. It improves the
  11. # movement, and allows to set the display of dead characters and reorder
  12. # the members on map without changing the battle order.
  13. #------------------------------------------------------------------------------
  14. # Compatibility
  15. #   Requires the script 'Victor Engine - Basic Module' v 1.16 or higher
  16. #   If used with 'Victor Engine - Character Effects' or
  17. #   'Victor Engine - Multi Frames' paste this one above them.
  18. #
  19. # * Overwrite methods (Default)
  20. #   class Game_Player < Game_Character
  21. #     def refresh
  22. #     def actor
  23. #
  24. # * Alias methods (Default)
  25. #   class Game_Actor < Game_Battler
  26. #     def setup(actor_id)
  27. #
  28. #   class Game_Party < Game_Unit
  29. #     def initialize
  30. #
  31. #   class Game_Map
  32. #     def update(main = false)
  33. #     def refresh
  34. #
  35. #   class Game_CharacterBase
  36. #     def initialize
  37. #     def update_move
  38. #     def moveto(x, y)
  39. #
  40. #   class Game_Follower < Game_Character
  41. #     def initialize(member_index, preceding_character)
  42. #     def update
  43. #
  44. # * Alias methods (Basic Module)
  45. #   class Game_Interpreter
  46. #     def comment_call
  47. #
  48. #------------------------------------------------------------------------------
  49. # Instructions:
  50. #  To instal the script, open you script editor and paste this script on
  51. #  a new section on bellow the Materials section. This script must also
  52. #  be bellow the script 'Victor Engine - Basic'
  53. #
  54. #------------------------------------------------------------------------------
  55. # Comment calls note tags:
  56. #  Tags to be used in events comment box, works like a script call.
  57. #  
  58. #  <dead charset id: 'x', i>
  59. #   Change dead graphic charset
  60. #     id  : actor ID
  61. #     'x' : dead charset filename ('filename')
  62. #     i   : dead charset charset index, if using 8 chars charsets. (0-7)
  63. #
  64. #------------------------------------------------------------------------------
  65. # Actors note tags:
  66. #   Tags to be used on the Actors note box in the database
  67. #  
  68. #  <dead charset: 'x', i>
  69. #   Initial dead graphic charset
  70. #     'x' : dead charset filename ('filename')
  71. #     i   : dead charset charset index, if using 8 chars charsets. (0-7)
  72. #
  73. #==============================================================================
  74.  
  75. #==============================================================================
  76. # ** Victor Engine
  77. #------------------------------------------------------------------------------
  78. #   Setting module for the Victor Engine
  79. #==============================================================================
  80.  
  81. module Victor_Engine
  82.   #--------------------------------------------------------------------------
  83.   # * Setup move distance
  84.   #   This is the distance for the movement dealy for the follower, to3
  85.   #   remove the delay just leave it zero.
  86.   #--------------------------------------------------------------------------
  87.   VE_MOVE_DISTANCE = 16
  88.   #--------------------------------------------------------------------------
  89.   # * Setup follower reorder
  90.   #   You can reorder the players on the map without changing the battle
  91.   #   order.
  92.   #--------------------------------------------------------------------------
  93.   VE_FOLLOWERS_REORDER = {
  94.     enable:   true,      # Enable playing sound when reorder
  95.     next_key: :R,        # Key that will move the next actor to the front
  96.                          # must be a valid key symbol, nil for no key
  97.     last_key: nil,       # Key that will move the last actor to the front
  98.                          # must be a valid key symbol, nil for no key
  99.     sound:    "Cursor2", # Filename of the SE played when changin order
  100.                          # nil for no sound
  101.     volume:   100,       # Volume of the change order SE
  102.     pitch:    100,       # Pitch of the change order SE
  103.   } # Don't remove
  104.   #--------------------------------------------------------------------------
  105.   # * Setup dead followers display
  106.   #   You can change how dead followes will be displayed
  107.   #--------------------------------------------------------------------------
  108.   VE_DEAD_FOLLOWER = {
  109.     hide:      false,     # Hide the display of dead actors
  110.     last:      true,      # Place dead actors as the last followers
  111.     filename:  "$Coffin", # Filename for dead graphic character, leave nil for
  112.                           # no dead graphic change
  113.     fileindex: 0          # Index for the dead graphic character, should be 0
  114.                           # for single charsets
  115.   } # Don't remove
  116.   #--------------------------------------------------------------------------
  117.   # * required
  118.   #   This method checks for the existance of the basic module and other
  119.   #   VE scripts required for this script to work, don't edit this
  120.   #--------------------------------------------------------------------------
  121.   def self.required(name, req, version, type = nil)
  122.     if !$imported[:ve_basic_module]
  123.       msg = "The script '%s' requires the script\n"
  124.       msg += "'VE - Basic Module' v%s or higher above it to work properly\n"
  125.       msg += "Go to [url]http://victorscripts.wordpress.com/[/url] to download this script."
  126.       msgbox(sprintf(msg, self.script_name(name), version))
  127.       exit
  128.     else
  129.       self.required_script(name, req, version, type)
  130.     end
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # * script_name
  134.   #   Get the script name base on the imported value, don't edit this
  135.   #--------------------------------------------------------------------------
  136.   def self.script_name(name, ext = "VE")
  137.     name = name.to_s.gsub("_", " ").upcase.split
  138.     name.collect! {|char| char == ext ? "#{char} -" : char.capitalize }
  139.     name.join(" ")
  140.   end
  141. end
  142.  
  143. $imported ||= {}
  144. $imported[:ve_followers_options] = 1.00
  145. Victor_Engine.required(:ve_followers_options, :ve_basic_module, 1.16, :above)
  146. Victor_Engine.required(:ve_followers_options, :ve_multi_frames, 1.00, :bellow)
  147. Victor_Engine.required(:ve_followers_options, :ve_character_effects, 1.00, :bellow)
  148.  
  149. #==============================================================================
  150. # ** Game_Actor
  151. #------------------------------------------------------------------------------
  152. #  This class handles actors. It's used within the Game_Actors class
  153. # ($game_actors) and referenced by the Game_Party class ($game_party).
  154. #==============================================================================
  155.  
  156. class Game_Actor < Game_Battler
  157.   #--------------------------------------------------------------------------
  158.   # * Alias method: setup
  159.   #--------------------------------------------------------------------------
  160.   alias :setup_ve_followers_options :setup
  161.   def setup(actor_id)
  162.     setup_ve_followers_options(actor_id)
  163.     regexp = /<DEAD CHARSET: #{get_filename}(?: *, *(\d+))?>/i
  164.     setup_dead_graphic(note, regexp)
  165.   end
  166.   #--------------------------------------------------------------------------
  167.   # * New method: dead_graphic
  168.   #--------------------------------------------------------------------------
  169.   def dead_graphic
  170.     @dead_graphic
  171.   end
  172.   #--------------------------------------------------------------------------
  173.   # * New method: setup_dead_graphic
  174.   #--------------------------------------------------------------------------
  175.   def setup_dead_graphic(note, regexp)
  176.     @dead_graphic = {name: $1, index: $2 ? $2.to_i : 0} if note =~ regexp
  177.   end
  178. end
  179.  
  180. #==============================================================================
  181. # ** Game_Party
  182. #------------------------------------------------------------------------------
  183. #  This class handles the party. It includes information on amount of gold
  184. # and items. The instance of this class is referenced by $game_party.
  185. #==============================================================================
  186.  
  187. class Game_Party < Game_Unit
  188.   #--------------------------------------------------------------------------
  189.   # * Alias method: initialize
  190.   #--------------------------------------------------------------------------
  191.   alias :initialize_ve_followers_options :initialize
  192.   def initialize
  193.     initialize_ve_followers_options
  194.     @followers_id = []
  195.   end
  196.   #--------------------------------------------------------------------------
  197.   # * New method: members_id
  198.   #--------------------------------------------------------------------------
  199.   def members_id
  200.     battle_members.collect {|member| member.id }.sort
  201.   end
  202.   #--------------------------------------------------------------------------
  203.   # * New method: followers
  204.   #--------------------------------------------------------------------------
  205.   def followers
  206.     @followers_id.collect {|id| $game_actors[id] }
  207.   end
  208.   #--------------------------------------------------------------------------
  209.   # * New method: alive_followers
  210.   #--------------------------------------------------------------------------
  211.   def alive_followers
  212.     followers.select {|actor| !actor.dead? }
  213.   end
  214.   #--------------------------------------------------------------------------
  215.   # * New method: next_member
  216.   #--------------------------------------------------------------------------
  217.   def next_member
  218.     @followers_id.next_item
  219.   end
  220.   #--------------------------------------------------------------------------
  221.   # * New method: previous_member
  222.   #--------------------------------------------------------------------------
  223.   def previous_member
  224.     @followers_id.previous_item
  225.   end
  226.   #--------------------------------------------------------------------------
  227.   # * New method: dead_followers
  228.   #--------------------------------------------------------------------------
  229.   def dead_followers
  230.     alive_followers + followers.select {|actor| actor.dead? }
  231.   end
  232.   #--------------------------------------------------------------------------
  233.   # * New method: display_followers
  234.   #--------------------------------------------------------------------------
  235.   def display_followers
  236.     return alive_followers if VE_DEAD_FOLLOWER[:hide]
  237.     return dead_followers  if VE_DEAD_FOLLOWER[:last]
  238.     followers
  239.   end
  240.   #--------------------------------------------------------------------------
  241.   # * New method: update_followers
  242.   #--------------------------------------------------------------------------
  243.   def update_followers
  244.     update_followers_id
  245.     update_alive_followers
  246.   end
  247.   #--------------------------------------------------------------------------
  248.   # * New method: update_followers_id
  249.   #--------------------------------------------------------------------------
  250.   def update_followers_id
  251.     return if @followers_id.sort == members_id
  252.     @followers_id.delete_if {|id| !members_id.include?(id) }
  253.     @followers_id += members_id.select {|id| !@followers_id.include?(id)}
  254.     $game_player.refresh
  255.   end
  256.   #--------------------------------------------------------------------------
  257.   # * New method: update_alive_followers
  258.   #--------------------------------------------------------------------------
  259.   def update_alive_followers
  260.     return if @alive_followers == alive_followers
  261.     @alive_followers = alive_followers.dup
  262.     $game_player.refresh
  263.   end
  264. end
  265.  
  266. #==============================================================================
  267. # ** Game_Map
  268. #------------------------------------------------------------------------------
  269. #  This class handles maps. It includes scrolling and passage determination
  270. # functions. The instance of this class is referenced by $game_map.
  271. #==============================================================================
  272.  
  273. class Game_Map
  274.   #--------------------------------------------------------------------------
  275.   # * Alias method: update
  276.   #--------------------------------------------------------------------------
  277.   alias :update_ve_followers_options :update
  278.   def update(main = false)
  279.     update_ve_followers_options(main)
  280.     $game_party.update_followers
  281.     reorder_party if VE_FOLLOWERS_REORDER[:enable]
  282.   end
  283.   #--------------------------------------------------------------------------
  284.   # * Alias method: update
  285.   #--------------------------------------------------------------------------
  286.   alias :refresh_ve_followers_options :refresh
  287.   def refresh
  288.     refresh_ve_followers_options
  289.     $game_player.refresh
  290.   end
  291.   #--------------------------------------------------------------------------
  292.   # * New method: reorder_party
  293.   #--------------------------------------------------------------------------
  294.   def reorder_party
  295.     if Input.trigger?(VE_FOLLOWERS_REORDER[:next_key])
  296.       reorder_sound if VE_FOLLOWERS_REORDER[:sound]
  297.       $game_party.next_member  
  298.     elsif Input.trigger?(VE_FOLLOWERS_REORDER[:last_key])
  299.       reorder_sound if VE_FOLLOWERS_REORDER[:sound]
  300.       $game_party.previous_member  
  301.     end
  302.   end
  303.   #--------------------------------------------------------------------------
  304.   # * New method: reorder_sound
  305.   #--------------------------------------------------------------------------
  306.   def reorder_sound
  307.     value = VE_FOLLOWERS_REORDER
  308.     sound = RPG::SE.new(value[:sound], value[:volume], value[:pitch])
  309.     sound.play
  310.   end
  311. end
  312.  
  313. #==============================================================================
  314. # ** Game_CharacterBase
  315. #------------------------------------------------------------------------------
  316. #  Esta classe gerencia os personagens. Comum a todos os persongens, armazena
  317. # informações básicas como coordenadas e gráficos
  318. # Esta classe é usada como superclasse da classe Game_Character.
  319. #==============================================================================
  320.  
  321. class Game_CharacterBase
  322.   #--------------------------------------------------------------------------
  323.   # * Alias method: initialize
  324.   #--------------------------------------------------------------------------
  325.   alias :initialize_ve_followers_options :initialize
  326.   def initialize
  327.     initialize_ve_followers_options
  328.     @real_x_dist = 0
  329.     @real_y_dist = 0
  330.   end
  331.   #--------------------------------------------------------------------------
  332.   # * Alias method: update_move
  333.   #--------------------------------------------------------------------------
  334.   alias :update_move_ve_followers_options :update_move
  335.   def update_move
  336.     update_move_ve_followers_options
  337.     @real_x_dist = @real_x
  338.     @real_y_dist = @real_y
  339.   end
  340.   #--------------------------------------------------------------------------
  341.   # * Alias method: moveto
  342.   #--------------------------------------------------------------------------
  343.   alias :moveto_ve_followers_options :moveto
  344.   def moveto(x, y)
  345.     moveto_ve_followers_options(x, y)
  346.     @real_x_dist = @x
  347.     @real_y_dist = @y
  348.   end
  349.   #--------------------------------------------------------------------------
  350.   # * New method: real_x_dist
  351.   #--------------------------------------------------------------------------
  352.   def real_x_dist
  353.     @real_x_dist
  354.   end
  355.   #--------------------------------------------------------------------------
  356.   # * New method: real_y_dist
  357.   #--------------------------------------------------------------------------
  358.   def real_y_dist
  359.     @real_y_dist
  360.   end
  361. end
  362.  
  363. #==============================================================================
  364. # ** Game_Player
  365. #------------------------------------------------------------------------------
  366. #  This class handles maps. It includes event starting determinants and map
  367. # scrolling functions. The instance of this class is referenced by $game_map.
  368. #==============================================================================
  369.  
  370. class Game_Player < Game_Character
  371.   #--------------------------------------------------------------------------
  372.   # * Overwirte method: refresh
  373.   #--------------------------------------------------------------------------
  374.   def refresh
  375.     @character_name  = actor_graphic[:name]
  376.     @character_index = actor_graphic[:index]
  377.     @followers.refresh
  378.   end
  379.   #--------------------------------------------------------------------------
  380.   # * Overwirte method: actor
  381.   #--------------------------------------------------------------------------
  382.   def actor
  383.     $game_party.display_followers[0]
  384.   end
  385.   #--------------------------------------------------------------------------
  386.   # * New method: actor_graphic
  387.   #--------------------------------------------------------------------------
  388.   def actor_graphic
  389.     return {name: "", index: 0} unless actor
  390.     return actor.dead_graphic if actor.dead? && actor.dead_graphic
  391.     return dead_follower      if actor.dead? && dead_follower[:name]
  392.     return {name: actor.character_name, index: actor.character_index}
  393.   end
  394.   #--------------------------------------------------------------------------
  395.   # * New method: dead_follower
  396.   #--------------------------------------------------------------------------
  397.   def dead_follower
  398.     {name: VE_DEAD_FOLLOWER[:filename], index: VE_DEAD_FOLLOWER[:fileindex]}
  399.   end
  400.   #--------------------------------------------------------------------------
  401.   # * New method: move_straight
  402.   #--------------------------------------------------------------------------
  403.   def move_straight(d, turn_ok = true)
  404.     add_move_update([d]) if passable?(@x, @y, d)
  405.     super
  406.   end
  407.   #--------------------------------------------------------------------------
  408.   # * New method: move_diagonal
  409.   #--------------------------------------------------------------------------
  410.   def move_diagonal(horz, vert)
  411.     add_move_update([horz, vert]) if diagonal_passable?(@x, @y, horz, vert)
  412.     super
  413.   end
  414.   #--------------------------------------------------------------------------
  415.   # * New method: jump
  416.   #--------------------------------------------------------------------------
  417.   def jump(x_plus, y_plus)
  418.     if x_plus != 0 || y_plus != 0
  419.       @followers[0].move_update.push({x: x_plus, y: y_plus})
  420.     end
  421.     super
  422.   end
  423.   #--------------------------------------------------------------------------
  424.   # * New method: add_move_update
  425.   #--------------------------------------------------------------------------
  426.   def add_move_update(dir)
  427.     return unless @followers[0]
  428.     last = @followers[0].move_update.last
  429.     if last && last[:dir] && opposite_move(dir, last[:dir])
  430.       @followers[0].move_update.pop
  431.       return
  432.     end
  433.     @followers[0].move_update.push({dir: dir})
  434.   end
  435.   #--------------------------------------------------------------------------
  436.   # * New method: opposite_move
  437.   #--------------------------------------------------------------------------
  438.   def opposite_move(dir, last)
  439.     dir == [2] && last == [8] || dir == [8] && last == [2] ||
  440.     dir == [4] && last == [6] || dir == [6] && last == [4] ||
  441.     dir == [4] && last == [6] || dir == [6] && last == [4] ||
  442.     dir == [4, 2] && last == [6, 8] || dir == [6, 8] && last == [4, 2] ||
  443.     dir == [6, 2] && last == [4, 8] || dir == [4, 8] && last == [6, 2]
  444.   end
  445.   #--------------------------------------------------------------------------
  446.   # * New method: origin_position?
  447.   #--------------------------------------------------------------------------
  448.   def origin_position?
  449.     return false
  450.   end
  451. end
  452.  
  453. #==============================================================================
  454. # ** Game_Follower
  455. #------------------------------------------------------------------------------
  456. #  This class handles the followers. Followers are the actors of the party
  457. # that follows the leader in a line. It's used within the Game_Followers class.
  458. #==============================================================================
  459.  
  460. class Game_Follower < Game_Character
  461.   #--------------------------------------------------------------------------
  462.   # * Public Instance Variables
  463.   #--------------------------------------------------------------------------
  464.   attr_accessor :move_update
  465.   #--------------------------------------------------------------------------
  466.   # * Overwirte method: refresh
  467.   #--------------------------------------------------------------------------
  468.   def refresh
  469.     @character_name  = actor_graphic[:name]
  470.     @character_index = actor_graphic[:index]
  471.   end
  472.   #--------------------------------------------------------------------------
  473.   # * Overwirte method: actor
  474.   #--------------------------------------------------------------------------
  475.   def actor
  476.     $game_party.display_followers[@member_index]
  477.   end
  478.   #--------------------------------------------------------------------------
  479.   # * Alias method: initialize
  480.   #--------------------------------------------------------------------------
  481.   alias :initialize_gf_ve_followers_options :initialize
  482.   def initialize(member_index, preceding_character)
  483.     initialize_gf_ve_followers_options(member_index, preceding_character)
  484.     @move_update = []
  485.     @real_move_speed = @move_speed
  486.   end
  487.   #--------------------------------------------------------------------------
  488.   # * Alias method: update
  489.   #--------------------------------------------------------------------------
  490.   alias :update_gf_ve_followers_options :update
  491.   def update
  492.     update_movement
  493.     update_gf_ve_followers_options
  494.   end
  495.   #--------------------------------------------------------------------------
  496.   # * New method: actor_graphic
  497.   #--------------------------------------------------------------------------
  498.   def actor_graphic
  499.     return {name: "", index: 0} unless actor
  500.     return actor.dead_graphic if actor.dead? && actor.dead_graphic
  501.     return dead_follower      if actor.dead? && dead_follower[:name]
  502.     return {name: actor.character_name, index: actor.character_index}
  503.   end
  504.   #--------------------------------------------------------------------------
  505.   # * New method: dead_follower
  506.   #--------------------------------------------------------------------------
  507.   def dead_follower
  508.     {name: VE_DEAD_FOLLOWER[:filename], index: VE_DEAD_FOLLOWER[:fileindex]}
  509.   end
  510.   #--------------------------------------------------------------------------
  511.   # * New method: move_straight
  512.   #--------------------------------------------------------------------------
  513.   def move_straight(d, turn_ok = true)
  514.     add_move_update([d]) if passable?(@x, @y, d)
  515.     super
  516.   end
  517.   #--------------------------------------------------------------------------
  518.   # * New method: move_diagonal
  519.   #--------------------------------------------------------------------------
  520.   def move_diagonal(horz, vert)
  521.     add_move_update([horz, vert]) if diagonal_passable?(@x, @y, horz, vert)
  522.     super
  523.   end
  524.   #--------------------------------------------------------------------------
  525.   # * New method: jump
  526.   #--------------------------------------------------------------------------
  527.   def jump(x_plus, y_plus)
  528.     next_character.move_update.push({x: x_plus, y: y_plus}) if next_character
  529.     super
  530.   end
  531.   #--------------------------------------------------------------------------
  532.   # * New method: update_movement
  533.   #--------------------------------------------------------------------------
  534.   def update_movement
  535.     @move_update.clear  if same_tile? && !@preceding_character.origin_position?
  536.     @start_move = false if @move_update.size <= 1 && !moving?
  537.     return if no_update
  538.     process_movement(@move_update.shift)
  539.   end
  540.   #--------------------------------------------------------------------------
  541.   # * New method: process_movement
  542.   #--------------------------------------------------------------------------
  543.   def process_movement(move)
  544.     @start_move = true
  545.     if move && move[:x]
  546.       jump(move[:x], move[:y])
  547.     elsif move && move[:dir]
  548.       @real_move_speed = move[:speed]
  549.       method = move[:dir].size == 1 ? :move_straight : :move_diagonal
  550.       send(method, *move[:dir])
  551.     end
  552.   end
  553.   #--------------------------------------------------------------------------
  554.   # * New method: same_tile?
  555.   #--------------------------------------------------------------------------
  556.   def same_tile?
  557.     char = @preceding_character
  558.     (char.real_x == real_x && char.real_y && real_y && jumping?) ||
  559.     (char.x == @x && char.y == @y)
  560.   end
  561.   #--------------------------------------------------------------------------
  562.   # * New method: no_update
  563.   #--------------------------------------------------------------------------
  564.   def no_update
  565.     return true if moving? || jumping?
  566.     return true if player_distance && !@start_move
  567.     return true if @move_update.size <= 1
  568.     if @move_update.first[:x]
  569.       pos  = @move_update.first
  570.       char = @preceding_character
  571.       return true if (char.x - pos[:x] == @x && char.y - pos[:y] == @y)   
  572.     end
  573.     return false
  574.   end
  575.   #--------------------------------------------------------------------------
  576.   # * New method: player_distance
  577.   #--------------------------------------------------------------------------
  578.   def player_distance
  579.     self_x  = $game_map.adjust_x(real_x_dist)
  580.     self_y  = $game_map.adjust_y(real_y_dist)
  581.     front_x = $game_map.adjust_x(@preceding_character.real_x_dist)
  582.     front_y = $game_map.adjust_y(@preceding_character.real_y_dist)
  583.     dist_x  = (front_x - self_x).abs
  584.     dist_y  = (front_y - self_y).abs
  585.     dist_m  = (next_diagonal? ? 2 : 1) + [VE_MOVE_DISTANCE / 32.0, 0].max
  586.     dist_x + dist_y < dist_m
  587.   end
  588.   #--------------------------------------------------------------------------
  589.   # * New method: add_move_update
  590.   #--------------------------------------------------------------------------
  591.   def add_move_update(dir)
  592.     return if !next_character || move_route_forcing || origin_position?
  593.     next_character.move_update.push({dir: dir, speed: real_move_speed})
  594.   end
  595.   #--------------------------------------------------------------------------
  596.   # * New method: origin_position?
  597.   #--------------------------------------------------------------------------
  598.   def origin_position?
  599.     $imported[:ve_follower_control] && origin_position
  600.   end
  601.   #--------------------------------------------------------------------------
  602.   # * New method: next_character
  603.   #--------------------------------------------------------------------------
  604.   def next_character
  605.     $game_player.followers[@member_index]
  606.   end
  607.   #--------------------------------------------------------------------------
  608.   # * New method: next_diagonal?
  609.   #--------------------------------------------------------------------------
  610.   def next_diagonal?
  611.     next_move && next_move[:dir] && next_move[:dir].size == 2
  612.   end
  613.   #--------------------------------------------------------------------------
  614.   # * New method: next_move
  615.   #--------------------------------------------------------------------------
  616.   def next_move
  617.     @move_update.first
  618.   end
  619. end
  620.  
  621. #==============================================================================
  622. # ** Game_Interpreter
  623. #------------------------------------------------------------------------------
  624. #  An interpreter for executing event commands. This class is used within the
  625. # Game_Map, Game_Troop, and Game_Event classes.
  626. #==============================================================================
  627.  
  628. class Game_Interpreter
  629.   #--------------------------------------------------------------------------
  630.   # * Alias method: comment_call
  631.   #--------------------------------------------------------------------------
  632.   alias :comment_call_ve_followers_options :comment_call
  633.   def comment_call
  634.     call_follower_setting
  635.     comment_call_ve_followers_options
  636.   end  
  637.   #--------------------------------------------------------------------------
  638.   # * New method: call_follower_setting
  639.   #--------------------------------------------------------------------------
  640.   def call_follower_setting
  641.     note.scan(/<DEAD CHARSET (\d+): #{get_filename}(?: *, *(\d+))?>/i) do
  642.       actor = $game_actors[$1.to_i]
  643.       next unless actor
  644.       notes  = "\"#{$1}\", #{$2 ? $2 : 0}"
  645.       regexp = /#{get_filename} *, *(\d+)/
  646.       actor.setup_dead_graphic(notes, regexp)
  647.     end
  648.   end
  649. end








作者: 渡鸦的献礼    时间: 2016-5-24 09:49
额,过了很久上来说一句,我自己已经把这个问题解决了……_(:з」∠)_




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1