Project1

标题: 关于物品颜色脚本的错误 [打印本页]

作者: 落雪鸦杀    时间: 2015-7-2 09:14
标题: 关于物品颜色脚本的错误
本帖最后由 落雪鸦杀 于 2015-7-2 09:16 编辑


如图所示,装备物品时出现错误,之后游戏停止运行。



但是我把每个出现在游戏里的装备都在备注上写了品质了,脚本也没有改,求解。
脚本:
#==============================================================================
# [PS0]物品颜色描绘
#      Window_Base_Itemcolor
#------------------------------------------------------------------------------
#     在物品、技能选项中显示物品品质并显示品质框和修改物品名颜色。
#==============================================================================
# [更新记录]
#    - 2012.01.03 By 仲秋启明
#      * 修改为VA定义
#    - 2011.12.27 By 仲秋启明
#      * 移植至RGSS3,遵循PS0协议;
#      * 优化数据库备注中设定方法
#    - 2011.08.22 By 冰舞蝶恋
#      * 蓝本(实用·极简 -- 按品质,给物品描绘色彩边框)
#    - 2010.08.06 By 仲秋启明
#      * 蓝本(物品颜色描绘脚本(完整无冲突版))
#------------------------------------------------------------------------------
# [使用方法]
#    - 替换原Window_Base中的draw_item_name定义或复制到Main之前
#==============================================================================
$_PS0 = {} if $_PS0 == nil  
$_PS0["Window_Base_Itemcolor"] = 20111227
#==============================================================================
# [PS0] 通用配置模块  
#==============================================================================
module PS0
  module Window_Base_Itemcolor
    Color1 = Color.new(255, 255, 255)  # 一般品质的色彩(白,1)
    Color2 = Color.new(128, 255, 128)  # 平庸品质的色彩(绿,2)
    Color3 = Color.new(57, 185, 255)  # 精良品质的色彩(蓝,3)
    Color4 = Color.new(128, 100, 245)    # 卓越品质的色彩(紫,4)
    Color5 = Color.new(255, 40, 255)  # 神秘品质的色彩(红,5)
    Color6 = Color.new(255, 128, 0)    # 传说品质的色彩(橙,6)
    Color7 = Color.new(255, 255, 128)  # 特殊品质的色彩(黄,7)
  end
end
#==============================================================================
# ■ Window_Base
#==============================================================================
class Window_Base < Window
  def draw_item_name(item, x, y, enabled = true, width = 172)
    if item != nil
      n = item.note
      a = n.split{/<(?:Quality|品质)\s*(.+)>/i}
      c = a[1].to_i
      if c <= 1
        color = PS0::Window_Base_Itemcolor::Color1
      elsif c == 2
        color = PS0::Window_Base_Itemcolor::Color2
      elsif c == 3
        color = PS0::Window_Base_Itemcolor::Color3
      elsif c == 4
        color = PS0::Window_Base_Itemcolor::Color4
      elsif c == 5
        color = PS0::Window_Base_Itemcolor::Color5
      elsif c == 6
        color = PS0::Window_Base_Itemcolor::Color6
      elsif c == 7
        color = PS0::Window_Base_Itemcolor::Color7
      else
        color = Color.new(0, 0, 0, 0)
      end
      self.contents.fill_rect(x, y, 24, 1, color)
      self.contents.fill_rect(x, y, 1, 24, color)
      self.contents.fill_rect(x, y+23, 24, 1, color)
      self.contents.fill_rect(x+23, y, 1, 24, color)
      draw_icon(item.icon_index, x, y, enabled)
      change_color(color, enabled)
        if item.is_a?(RPG::EquipItem)
  if item.up != nil && item.up != 0
    draw_text(x + 24, y, width, line_height, "+" + item.up.to_s + item.name)
  else
    draw_text(x + 24, y, width, line_height, item.name)
  end
  else
    draw_text(x + 24, y, width, line_height, item.name)
  end
      
    end
  end
end
#==============================================================================
# [PS0] End of Script
#==============================================================================




补充:本人认为是和装备栏数量脚本有冲突,或者缺少脚本。
作者: VIPArcher    时间: 2015-7-2 09:18
试试这个https://raw.githubusercontent.co ... 9%A2%9C%E8%89%B2.rb
作者: 1181770261    时间: 2015-7-2 09:20
这脚本有许多改进过的兼容版本啊。たとえば https://rpg.blue/thread-349653-1-1.html   https://rpg.blue/thread-372466-1-1.html 。先去看看这些脚本解决你的问题没有吧?
作者: 落雪鸦杀    时间: 2015-7-2 13:14
VIPArcher 发表于 2015-7-2 09:18
试试这个https://raw.githubusercontent.com/VIPArcher/RGSS3/master/scripts/%E6%8F%8F%E7%BB%98%E7%89%A9 ...

多谢大大。已收。(ΦωΦ)
作者: 落雪鸦杀    时间: 2015-7-2 13:16
1181770261 发表于 2015-7-2 09:20
这脚本有许多改进过的兼容版本啊。たとえば https://rpg.blue/thread-349653-1-1.html   http://rm.66rp ...

第一个脚本美化很不错,但是第二个就足够使用的了(第二个和2L的脚本重复了)




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