查看: 2522|回复: 7

[已经解决] 想把默认战斗队友人数上限改为三个

[复制链接]
梦石
0
星屑
50
在线时间
53 小时
注册时间
2013-12-20
回帖
12
发表于 2014-12-6 19:55:23 | 显示全部楼层 |阅读模式

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

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

×
我的意思是
我是想让三个角色刚好占满整个队伍
如果用默认的话 由于默认是四个人为上限
少一个人会缺一块- -不美观
就是让三个角色平均占1/3的位置
像图中圈的那样
QQ截图20141206194007.png
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2014-12-6 21:49:08 | 显示全部楼层
好象有只显示出场人物框框的脚本。我是我用的系统里有带这个功能的。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
53 小时
注册时间
2013-12-20
回帖
12
 楼主| 发表于 2014-12-7 09:16:27 | 显示全部楼层
yang1zhi 发表于 2014-12-6 21:49
好象有只显示出场人物框框的脚本。我是我用的系统里有带这个功能的。

{:2_257:}为毛我觉得你水经验- -
回复

使用道具 举报

梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2014-12-7 09:36:44 | 显示全部楼层
你需要改一下这两个地方:
1.窗口显示的队员信息的位置,这个在脚本Window_BattleStatus中,找到下面这一段:
[pre lang="Ruby"]  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      actor = $game_party.actors
      ######
      actor_x = i * 160 + 4
      ######
      draw_actor_name(actor, actor_x, 0)
      draw_actor_hp(actor, actor_x, 32, 120)
      draw_actor_sp(actor, actor_x, 64, 120)
      if @level_up_flags
        self.contents.font.color = normal_color
        self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
      else
        draw_actor_state(actor, actor_x, 96)
      end
    end
  end[/pre]
有一句actor_x = i * 160 + 4(脚本中已经标出),这个明显是4人的情况,如果要是3个人的话,可以改成
actor_x = i * 210 + 4
2.然后就是角色战斗图的位置,也需要改,这个在Game_Actor中,找到下面的部分:
[pre lang="Ruby"]  #--------------------------------------------------------------------------
  # ● 取得战斗画面的 X 坐标
  #--------------------------------------------------------------------------
  def screen_x
    # 返回计算后的队伍 X 坐标的排列顺序
    if self.index != nil
      return self.index * 160 + 80
    else
      return 0
    end
  end[/pre]
里面有个return self.index * 160 + 80
同样把160改成210

这样做的原理只是把多出的那个队员的位置改到了屏幕外面去,队伍的实际最大人数还是4个,所以队伍的人数上限就不用改了,编游戏的时候自己控制就好。
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2014-12-7 12:07:55 | 显示全部楼层
RyanBern 发表于 2014-12-6 16:36
你需要改一下这两个地方:
1.窗口显示的队员信息的位置,这个在脚本Window_BattleStatus中,找到下面这一段 ...

里面显示的HP字体什么的不用改坐标吗?
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
0
星屑
50
在线时间
53 小时
注册时间
2013-12-20
回帖
12
 楼主| 发表于 2014-12-7 12:10:38 | 显示全部楼层
RyanBern 发表于 2014-12-7 09:36
你需要改一下这两个地方:
1.窗口显示的队员信息的位置,这个在脚本Window_BattleStatus中,找到下面这一段 ...

(・ω・)HP SP怎么办

点评

你是不是只看了Chd114的回帖但是没有真正试过?我这里测试没问题  发表于 2014-12-7 12:26
回复

使用道具 举报

梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2014-12-7 12:25:19 | 显示全部楼层
狂人示范店 发表于 2014-12-7 12:10
(・ω・)HP SP怎么办

照着那样改HP和SP的文字都应该移动才对。
刚才我忘了一个地方就是战斗指令的窗口坐标也要改下(就是显示“攻击”“特技”那个)
这个在Scene_Battle3里面
[pre lang="Ruby"]  #--------------------------------------------------------------------------
  # ● 设置角色指令窗口
  #--------------------------------------------------------------------------
  def phase3_setup_command_window
    # 同伴指令窗口无效化
    @party_command_window.active = false
    @party_command_window.visible = false
    # 角色指令窗口无效化
    @actor_command_window.active = true
    @actor_command_window.visible = true
    # 设置角色指令窗口的位置
    @actor_command_window.x = @actor_index * 160
    # 设置索引为 0
    @actor_command_window.index = 0
  end[/pre]
还是把那个@actor_index * 160 改成 @actor_index * 210即可

评分

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

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
53 小时
注册时间
2013-12-20
回帖
12
 楼主| 发表于 2014-12-7 12:45:31 | 显示全部楼层
本帖最后由 狂人示范店 于 2014-12-7 12:52 编辑
RyanBern 发表于 2014-12-7 12:25
照着那样改HP和SP的文字都应该移动才对。
刚才我忘了一个地方就是战斗指令的窗口坐标也要改下(就是显示 ...


(´・ω・`)恩 谢谢大神 对了- -顺便帮我看看我的另一个问题吧
效果如下
QQ截图20141206194007.png
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部