rpg制作大师吧 关注:78,444贴子:427,527
  • 27回复贴,共1

【求教】8人队伍菜单

只看楼主收藏回复

有没有办法让菜单里面显示的人数从四人变到八人?
在网上搜了许久,无果。
66上有人说把Window_SenuStatus脚本的26行从把116改成80,改过后发现,只是菜单界面上角色状态栏变窄了,但选项还是4人项,毫无用处。
求高人指教~~~~~~~~~~o(≥口≤)o


IP属地:陕西1楼2013-09-12 10:08回复

    没有简单地缩放,你要设计每个人占多大,都显示什么


    IP属地:北京2楼2013-09-12 11:54
    收起回复
      先改上限
      然后在改状态窗口的描绘设置……


      3楼2013-09-12 13:03
      收起回复
        在Window_MenuStatus,你可以看到
        #--------------------------------------------------------------------------
        # ● 获取项目的高度
        #--------------------------------------------------------------------------
        def item_height
        (height - standard_padding * 2) / 4
        end
        如果你把最后/4改成/8马上就能显示8个人,但是头像都堆到一起了,
        所以你还要改后边的draw_item,以及里边再调用的方法
        至于这个坐标怎么安排,那就看你自己的意思了。


        IP属地:北京4楼2013-09-12 13:17
        收起回复
          所以说……我没找到那几行……
          能直接粘贴进去吗?
          @曲阿小将马忠
          我看到的是这样的……
          #==============================================================================
          # ■ Window_MenuStatus
          #------------------------------------------------------------------------------
          #  显示菜单画面和同伴状态的窗口。
          #==============================================================================class Window_MenuStatus < Window_Selectable
          #--------------------------------------------------------------------------
          # ● 初始化目标
          #--------------------------------------------------------------------------
          def initialize
          super(0, 0, 480, 480)
          self.contents = Bitmap.new(width - 32, height - 32)
          refresh
          self.active = false
          self.index = -1
          end
          #--------------------------------------------------------------------------
          # ● 刷新
          #--------------------------------------------------------------------------
          def refresh
          self.contents.clear
          @item_max = $game_party.actors.size
          for i in 0...$game_party.actors.size
          x = 32
          y = i * 116
          actor = $game_party.actors[i]
          draw_actor_graphic(actor, x - 40, y + 80)
          draw_actor_name(actor, x, y)
          draw_actor_class(actor, x + 144, y)
          draw_actor_level(actor, x, y + 32)
          draw_actor_state(actor, x + 90, y + 32)
          draw_actor_exp(actor, x, y + 64)
          draw_actor_hp(actor, x + 236, y + 32)
          draw_actor_sp(actor, x + 236, y + 64)
          end
          end
          #--------------------------------------------------------------------------
          # ● 刷新光标矩形
          #--------------------------------------------------------------------------
          def update_cursor_rect
          if @index < 0
          self.cursor_rect.empty
          else
          self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
          end
          end
          end


          IP属地:陕西5楼2013-09-12 13:32
          收起回复
            其实我随便看了一下,你把
            y = i * 116
            改成
            y = i * 58
            下面
            self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
            改成
            self.cursor_rect.set(0, @index * 58, self.width - 32, 96)
            你看看应该先能显示八个人了(前提你队里有8个人),
            然后你再改那一堆draw_actor_xxx的y+xxx的值


            IP属地:北京6楼2013-09-12 13:52
            收起回复
              在网上找到这么个8人状态脚本,但是用了以后每次测试游戏都会出现这个

              求大神指教!
              #==============================================================================
              # ○ 多人队伍脚本扩展-八人状态菜单
              # ——By.冰舞蝶恋
              #------------------------------------------------------------------------------
              # ■ Window_MenuStatus
              #------------------------------------------------------------------------------
              #  显示菜单画面和同伴状态的窗口。
              #==============================================================================class Window_MenuStatus < Window_Selectable
              #--------------------------------------------------------------------------
              # ● 初始化对像
              # x : 窗口 X 座标
              # y : 窗口 Y 座标
              #--------------------------------------------------------------------------
              def initialize(x, y)
              super(x, y, 384, 416)
              refresh
              self.active = false
              self.index = -1
              end
              #--------------------------------------------------------------------------
              # ● 刷新
              #--------------------------------------------------------------------------
              def refresh
              self.contents.clear
              @item_max = $game_party.members.size
              if @item_max <= 4
              for actor in $game_party.members
              draw_actor_face(actor, 2, actor.index * 96 + 2, 92)
              x = 104
              y = actor.index * 96 + WLH / 2
              draw_actor_name(actor, x, y)
              draw_actor_class(actor, x + 120, y)
              draw_actor_level(actor, x, y + WLH * 1)
              draw_actor_state(actor, x, y + WLH * 2)
              draw_actor_hp(actor, x + 120, y + WLH * 1)
              draw_actor_mp(actor, x + 120, y + WLH * 2)
              end
              else
              for actor in $game_party.members
              for a in 0..@item_max-1
              if a < 4
              draw_actor_face(actor, 2, actor.index * 96 + 2, 92)
              x = 4
              y = actor.index * 96 + WLH / 2-12
              draw_actor_name(actor, x, y)
              draw_actor_class(actor, x + 120-24, y)
              draw_actor_level(actor, x+120-24, y + WLH * 1)
              draw_actor_hp(actor, x + 120-24, y + WLH * 1+24, 72)
              draw_actor_mp(actor, x + 120-24, y + WLH * 2+24, 72)
              else
              draw_actor_face(actor, 2+176, (actor.index - 4) * 96 + 2, 92)
              x = 4+176
              y = (actor.index - 4) * 96 + WLH / 2-12
              draw_actor_name(actor, x, y)
              draw_actor_class(actor, x + 120-24, y)
              draw_actor_level(actor, x+120-24, y + WLH * 1)
              draw_actor_hp(actor, x + 120-24, y + WLH * 1+24, 72)
              draw_actor_mp(actor, x + 120-24, y + WLH * 2+24, 72)
              end
              end
              end
              end
              end
              #--------------------------------------------------------------------------
              # ● 更新光标
              #--------------------------------------------------------------------------
              def update_cursor
              if @item_max <= 4
              if @index < 0 # 无光标
              self.cursor_rect.empty
              elsif @index < @item_max # 一般
              self.cursor_rect.set(0, @index * 96, contents.width, 96)
              elsif @index >= 100 # 使用本身
              self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96)
              else # 全体
              self.cursor_rect.set(0, 0, contents.width, @item_max * 96)
              end
              else
              if @index < 0 # 无光标
              self.cursor_rect.empty
              elsif @index < @item_max # 一般
              if @index < 4
              self.cursor_rect.set(0, @index * 96, 352 / 2, 96)
              else
              self.cursor_rect.set(352 / 2, (@index - 4) * 96, 352 / 2, 96)
              end
              elsif @index >= 100 # 使用本身
              if @index -100 < 4
              self.cursor_rect.set(0, (@index - 100) * 96, 352 / 2, 96)
              else
              self.cursor_rect.set(352 / 2, (@index - 100 - 4) * 96, 352 / 2, 96)
              end
              else # 全体
              self.cursor_rect.set(0, 0, contents.width, 4*96)
              end
              end
              end
              end


              IP属地:陕西7楼2013-09-12 15:47
              收起回复