Project1

标题: 关于主站的头像脚本 [打印本页]

作者: 梦幻想    时间: 2008-7-19 02:20
标题: 关于主站的头像脚本
有BUG吖,用辅助类技能(如快速移动,治愈)后就会只显示第一个人的头像……
有没有人可以帮忙修改一下呢,万分感谢……(鄙人脚本盲{/hx})
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 分子轨道理论    时间: 2008-7-19 04:17
LZ能把头像脚本铁出来吗
没脚本,没办法帮你
作者: 梦幻想    时间: 2008-7-19 04:56
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================

#==============================================================================
# ■ Window_BattleStatus
#------------------------------------------------------------------------------
#  显示战斗画面同伴状态的窗口。
#==============================================================================

class Window_BattleStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 416, 128)
    self.contents.font.size = 18
    refresh
    self.active = false
  end
  #--------------------------------------------------------------------------
  # ● 释放
  #--------------------------------------------------------------------------
  def dispose
    super
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.members.size
    for i in 0...@item_max
      draw_item(i)
    end
    draw_6Rface(@index) if @index >= 0
  end
  #--------------------------------------------------------------------------
  # ● 描绘项目
  #     index : 项目编号
  #--------------------------------------------------------------------------
  def draw_item(index)
    rect = item_rect(index)
    rect.x += 4
    rect.width -= 8
    self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    actor = $game_party.members[index]
    draw_actor_name(actor, 124, rect.y + 2)
    begin_x = self.contents.text_size(actor.name).width + 4
    draw_actor_state(actor, begin_x, rect.y, 24)
    draw_actor_hp(actor, 230, rect.y, 65)
    draw_actor_mp(actor, 310, rect.y, 65)
  end
  #--------------------------------------------------------------------------
  # ● 描绘人物头像
  #     index : 项目编号
  #--------------------------------------------------------------------------
  def draw_6Rface(index)
    rect = Rect.new(0, 0, 96, 96)
    self.contents.clear_rect(rect)
    actor = $game_party.members[index]
    draw_actor_face(actor, 0, 0, 96)
  end  
  #--------------------------------------------------------------------------
  # ● 设置光标的位置
  #     index : 新的光标位置
  #--------------------------------------------------------------------------
  def index=(index)
    @index = index
    update_cursor
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 获取项目描画矩形
  #     index : 项目编号
  #--------------------------------------------------------------------------
  def item_rect(index)
    rect = Rect.new(0, 0, 0, 0)
    rect.width = contents.width - 113
    rect.height = WLH
    rect.x = 113
    rect.y = index / @column_max * WLH
    return rect
  end  
  #--------------------------------------------------------------------------
  # ● 更新光标矩形
  #--------------------------------------------------------------------------
  def update_cursor
    if @index < 0                   # 光标位置不满 0 的情况下
      self.cursor_rect.empty        # 光标无效
    else                            # 光标位 0 以上的情况下
      row = @index / @column_max    # 获取当前的行
      if row < top_row              # 当前行被显示开头行前面的情况下
        self.top_row = row          # 从当前行向开头行滚动
      end
      if row > bottom_row           # 当前行被显示末尾行之后的情况下
        self.bottom_row = row       # 从当前行向末尾滚动
      end
      rect = item_rect(@index)      # 获取选择项的矩形
      rect.y -= self.oy             # 矩形滚动的位置加起来
      self.cursor_rect = rect       # 更新光标矩形
    end
  end
end

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


66的脚本……
作者: 分子轨道理论    时间: 2008-7-19 04:59
屏蔽
作者: CIS狂人    时间: 2008-7-19 05:07
在Scene_Battle "其次应该行动的角色"里有问题.
修改LOOP
(这个可以发论坛短信问我)
作者: 梦幻想    时间: 2008-7-19 05:30
屏蔽是啥意思....这边短信也不回....囧了= =
作者: dbshy    时间: 2008-7-19 05:36
刚刚我看了脚本,自己也试了,好象也没有你说的 = =
作者: 梦幻想    时间: 2008-7-19 05:42
囧,你用个给队友使的技能或物品试试,只会显示第一个人的头像
作者: 火鸡三毛老大    时间: 2008-7-19 05:43
脚本卡死~~~~~
不是说卡机...
是卡在一个位置...
作者: dbshy    时间: 2008-7-19 05:46
ORZ
我试了,你的问题可能是脚本冲突
作者: 梦幻想    时间: 2008-7-19 05:46
??不卡啊,就是使用目标为味方的技能或物品时头像显示第一个角色,应该是给谁用显示谁的头像才对吧.....
作者: 梦幻想    时间: 2008-7-19 05:48
以下引用dbshy于2008-7-18 21:46:06的发言:

ORZ
我试了,你的问题可能是脚本冲突

囧,我就用这一个脚本来着.....
作者: dbshy    时间: 2008-7-19 05:50
以下引用梦幻想于2008-7-18 21:48:01的发言:


以下引用dbshy于2008-7-18 21:46:06的发言:

ORZ
我试了,你的问题可能是脚本冲突


囧,我就用这一个脚本来着.....


好吧,你把工程传上来

作者: 梦幻想    时间: 2008-7-19 06:03
http://rpg.blue/upload_program/files/Project2_96847314.rar
战斗测试,然后使用物品,每个人都会显示第一个人的头像....
作者: dbshy    时间: 2008-7-19 06:32
ORZ
其实我一开始就理解错了....

要改很多地方,update_target_actor_selection,start_target_actor_selection
就是当人物变化的时候REFRESH

明天再弄吧
作者: dbshy    时间: 2008-7-19 18:50
Scene_Battle update_target_actor_selection
家一句
    if Input.trigger?(Input::DOWN) or Input.trigger?(Input::UP) then
      @target_actor_window.refresh
    end
就可以了

我昨天想复杂了 = = [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: windfeel    时间: 2008-7-19 19:53
LS的大人,刚才试过了,这样的话选择一个人物就会显示下一个人物的头像。
请再想下办法,{/pz}在下脚本盲一个。
也拜托论坛其他高手帮下忙,谢谢了。{/wx}
作者: 分子轨道理论    时间: 2008-7-19 20:27
以下引用windfeel于2008-7-19 11:53:45的发言:

LS的大人,刚才试过了,这样的话选择一个人物就会显示下一个人物的头像。
请再想下办法,在下脚本盲一个。
也拜托论坛其他高手帮下忙,谢谢了。


应该不会吧,我试了,OK
作者: windfeel    时间: 2008-7-19 20:39
{/fd}不会吧,可是我试了几次都不行啊。又没用其它脚本,应该不会冲突吧。
{/pz}难到我复制粘贴错了,果然是脚本白痴到连加几句都不会啊……{/dk}

作者: kissye    时间: 2008-7-19 20:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: dbshy    时间: 2008-7-19 21:34
class Scene_Battle
  def update_target_actor_selection
    @target_actor_window.update
    if Input.trigger?(Input::DOWN) or Input.trigger?(Input::UP) then
      @target_actor_window.refresh
    end
       if Input.trigger?(Input::B)
      Sound.play_cancel
      end_target_actor_selection
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      @active_battler.action.target_index = @target_actor_window.index
      end_target_actor_selection
      end_skill_selection
      end_item_selection
      next_actor
    end
  end
end


LZ把着段放到MAIN之前

作者: 梦幻想    时间: 2008-7-19 21:40
还没放LS那段,但是靠之前那几句已经成功了= =?
感谢LS……

还有LSS,我说了N变了,你用物品时显示自己的头像还好,问题是会变到第一个人的头像,而且上下移动也不会变,这不是很囧……?= =
作者: 梦幻想    时间: 2009-6-12 08:00
囧,能解决就行,先谢谢了




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