「队友不在菜单显示」脚本出错

查看数: 2053 | 评论数: 1 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-7-30 02:28

正文摘要:

  @三途亚梦 「队友不在菜单显示」脚本[pre lang="ruby"]#============================================================================== # +++ 追加不战斗的跟随队友 +++ #======================== ...

回复

三途亚梦 发表于 2015-7-30 13:42:50
目前实测倒是可行了,你再多测试看看有没有问题。

[pre lang="ruby"]#==============================================================================
# +++ 追加不战斗的跟随队友 +++
#==============================================================================
# 提问区应求小脚本 by 三途亚梦
#==============================================================================
# 给根据人物的别名判断这个人物是否会在以及在菜单栏显示战斗中登场。
# 使用本脚本,如果在地图上有队伍随机乱序的操作话会出现bug。
#==============================================================================
module AMU
  module NPC

    NPC_NAME = "NPC"
    #这里设置别名为引号内文字的人物不会显示
    # ※ 注意保留引号

  end
end
#==============================================================================
# ■ Window_MenuStatus
#------------------------------------------------------------------------------
#  菜单画面中,显示队伍成员状态的窗口
#==============================================================================
class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 获取项目数
  #--------------------------------------------------------------------------
  def item_max
    a = 0
    $game_party.members.each do |actor|
      a += 1 if actor.nickname != AMU::NPC::NPC_NAME
    end
    return a
  end
end
#==============================================================================
# ■ Game_Party
#------------------------------------------------------------------------------
#  管理队伍的类。保存有金钱及物品的信息。本类的实例请参考 $game_party 。
#==============================================================================

class Game_Party < Game_Unit
  #--------------------------------------------------------------------------
  # ● 获取参战角色
  #--------------------------------------------------------------------------
  def battle_members
    all_members[0, max_battle_members].select {|actor| actor.exist? && actor.nickname != AMU::NPC::NPC_NAME}
  end
end
#==============================================================================
# ■ Game_Follower
#------------------------------------------------------------------------------
#  管理跟随角色的类。处理跟随角色的显示、跟随的行为等。
#   请在 Game_Followers 类中查看具体的应用。
#==============================================================================
class Game_Follower < Game_Character
  #--------------------------------------------------------------------------
  # ● 获取对应的角色
  #--------------------------------------------------------------------------
  def actor
    $game_party.members[@member_index]
  end
end
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
#  事件指令的解释器。
#   本类在 Game_Map、Game_Troop、Game_Event 类的内部使用。
#==============================================================================
class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● 队伍管理
  #--------------------------------------------------------------------------
  alias amu_20150125_command_129 command_129
  def command_129
   amu_20150125_command_129
   party = $game_party.members; npc = nil
   if ($game_actors[@params[0]].nickname == AMU::NPC::NPC_NAME ||
     party.any?{|a| a.nickname == AMU::NPC::NPC_NAME}) && @params[1] == 0
     party.each do |actor|
       npc = actor if actor.nickname == AMU::NPC::NPC_NAME
       break if npc != nil
     end
     $game_party.swap_order(npc.index, party[party.size - 1].index)
    end
  end
end
[/pre]

点评

好的,我去测试看看  发表于 2015-7-30 14:35

评分

参与人数 2星屑 +10 梦石 +1 收起 理由
VIPArcher + 1 认可答案
KB.Driver + 10 没有问题了,谢谢~

查看全部评分

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

在本版发帖返回顶部