Project1

标题: 待机人物辅助修正 [打印本页]

作者: TERENCE    时间: 2008-2-20 03:55
标题: 待机人物辅助修正
不知道大家还记不记得待机人数脚本:
http://rpg.blue/web/htm/news101.htm
(请配合此脚本)
[LINE]1,#dddddd[/LINE]
在物品画面与技能画面使用对像角色选择视窗(Window_Target)中发生了很严重的错误!
当队伍人数($game_party.actors.size)大於4时,在下图的(Window_Target)光标移动竟然可以移动到4个人以下!?
{/gg}

主要是因为Window_Target中的@item_max和def refresh中並没有做队伍人数4个人的判断!!
必须用if...else...end判断。
把以下脚本代替脚本中的Window_Target:
  1. #==============================================================================
  2. # ■ Window_Target
  3. #------------------------------------------------------------------------------
  4. #  物品畫面與技能畫面、使用對像角色選擇視窗。
  5. #==============================================================================

  6. class Window_Target < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化物件
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 336, 480)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     self.z += 10
  14. #########################################################################
  15.     if $game_party.actors.size<=4
  16.        @item_max = $game_party.actors.size
  17.     else   
  18.        @item_max = 4
  19.     end
  20. #########################################################################
  21.     refresh
  22.   end
  23.   #--------------------------------------------------------------------------
  24.   # ● 更新
  25.   #--------------------------------------------------------------------------
  26.   def refresh
  27.     self.contents.clear
  28. #########################################################################
  29.     if $game_party.actors.size<=4
  30.       for i in 0...$game_party.actors.size
  31.         x = 4
  32.         y = i * 116
  33.         actor = $game_party.actors[i]
  34.         draw_actor_name(actor, x, y)
  35.         draw_actor_class(actor, x + 144, y)
  36.         draw_actor_level(actor, x + 8, y + 32)
  37.         draw_actor_state(actor, x + 8, y + 64)
  38.         draw_actor_hp(actor, x + 152, y + 32)
  39.         draw_actor_sp(actor, x + 152, y + 64)
  40.       end
  41.     else
  42.       for i in 0...4
  43.         x = 4
  44.         y = i * 116
  45.         actor = $game_party.actors[i]
  46.         draw_actor_name(actor, x, y)
  47.         draw_actor_class(actor, x + 144, y)
  48.         draw_actor_level(actor, x + 8, y + 32)
  49.         draw_actor_state(actor, x + 8, y + 64)
  50.         draw_actor_hp(actor, x + 152, y + 32)
  51.         draw_actor_sp(actor, x + 152, y + 64)
  52.       end
  53.     end
  54. #########################################################################
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ● 更新游標矩形
  58.   #--------------------------------------------------------------------------
  59.   def update_cursor_rect
  60.     # 游標位置 -1 為全選、-2 以下為單獨選擇 (使用者自身)
  61.     if @index <= -2
  62.       self.cursor_rect.set(0, (@index + 10) * 116, self.width - 32, 96)
  63.     elsif @index == -1
  64.       self.cursor_rect.set(0, 0, self.width - 32, @item_max * 116 - 20)
  65.     else
  66.       self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
  67.     end
  68.   end
  69. end
复制代码


作者: 英俊de狗    时间: 2008-2-20 05:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: shanely    时间: 2008-2-20 05:09
呵呵~及时改正!
作者: 皇贞季    时间: 2008-12-1 23:17
{/se}这个今天发现也有用哦。

正好配合LZ新的人物替补哟。哈哈
作者: TERENCE    时间: 2008-12-1 23:34
以下引用皇贞季于2008-12-1 15:17:11的发言:

这个今天发现也有用哦。

正好配合LZ新的人物替补哟。哈哈

LS MS 对我的这一类的脚本很感兴趣欧!





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