Project1

标题: 如何使Esc菜单中不显示后备队成员状态。 [打印本页]

作者: hcm    时间: 2013-3-25 18:08
标题: 如何使Esc菜单中不显示后备队成员状态。
本帖最后由 hcm 于 2013-3-28 12:42 编辑

在VA默认的Esc菜单系统中,
后备队成员以半透明形式显示,如果后备队超出菜单显示范围,
队员状态列表末尾就会出现箭头提示可以下拉查看,

请问如何使Esc菜单中完全不显示后备队成员状态,
必须使用其他整队脚本的专用整队窗口把后备队调到前面后才可以查看。

作者: j433463    时间: 2013-3-25 20:46
Window_MenuStatus 中不是有一个取得专案数
  1.   #--------------------------------------------------------------------------
  2.   # ● 取得专案数
  3.   #--------------------------------------------------------------------------
  4.   def item_max
  5.     $game_party.members.size
  6.   end
复制代码
把 members.size 队员总数改成参战最大人数 max_battle_members 就只会显示参战者了。

不过,这个没改 Window_Status 所以状态页内按上下翻页还是可以看到后备成员状态的,只是主菜单的状态列表看不到而已。
作者: hcm    时间: 2013-4-28 21:00
j433463 发表于 2013-3-25 20:46
Window_MenuStatus 中不是有一个取得专案数把 members.size 队员总数改成参战最大人数 max_battle_members ...

发现你的办法出了点问题啊,
就是如果当前的参战人数小于max_battle_members(最大参战人数)的时候打开Esc菜单会报错。
作者: j433463    时间: 2013-4-28 22:05
喔,是 undefined method 'face_name' for nil:NilClass 吧?因为找不到要显示的空角色脸图名称,队伍人数不足最大值,空了几个角色,确实都会找不到设定的资料而出错,我习惯用至少六七个角色来测脚本,忘了测不足人数,不好意思,失误了。

那就加上判断:

$game_party.members.size >= $game_party.max_battle_members ? $game_party.max_battle_members : $game_party.members.size

如果队伍人数大于或等于最大参战数,就取最大参战数,否则就取实际队伍人数,
相同于这样写:

if $game_party.members.size >= $game_party.max_battle_members
  $game_party.max_battle_members
else
  $game_party.members.size
end
作者: hcm    时间: 2013-4-28 23:26
本帖最后由 hcm 于 2013-4-28 23:31 编辑
j433463 发表于 2013-4-28 22:05
喔,是 undefined method 'face_name' for nil:NilClass 吧?因为找不到要显示的空角色脸图名称,队伍人数 ...


后一个做法的思路我考虑过,
不过自己好像脚本不过关写好后另外报错了。
这个我试试成了,
以下是我自己写的,请问为何会报错呢。
  1.     if $game_party.members.size <= 4
  2.        $game_party.members.size
  3.     else
  4.        $game_party.max_battle_members
  5.     end
复制代码

作者: j433463    时间: 2013-4-29 00:41
目测看不出错误,测试了一下也都正常,不知道您看到的错误讯息是什么?

另外, <= 4 和 < 5 是一样的吧?我用 >= 是因为变量无法改值,否则我直接用 > 3 了。




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