Project1

标题: 实用·极简 -- 按品质,给物品描绘色彩边框 [打印本页]

作者: 冰舞蝶恋    时间: 2011-8-22 12:36
标题: 实用·极简 -- 按品质,给物品描绘色彩边框
本帖最后由 冰舞蝶恋 于 2011-8-22 13:54 编辑

嘛,脚本灰常的短..表示这素咱的全套废渣脚本系列的第九作。
献给6R站上的各位朋友们。高手不要笑话就是了。

[line]2[/line]
先上脚本:
  1. #==============================================================================
  2. # ■ 简·品质色彩框(废渣脚本系列-Ⅸ)
  3. #                            ——By.冰舞蝶恋
  4. #------------------------------------------------------------------------------
  5. # 说明:使用此脚本将会令您的物品/特技/装备等图标上显示一个品质色彩框,在备注
  6. #       里设定,/品质:/品质级数,如,/品质:/2,即可显示。品质颜色在以下设定
  7. #       中修改。如果没用进行备注的数据,则自动显示为品质1(默认白色),若备
  8. #       注品质>7,则不显示色彩框。
  9. #
  10. #--设定部分--------------------------------------------------------------------
  11. module ItemR
  12.   Color1 = Color.new(255, 255, 255)  # 一般品质的色彩(白,1)
  13.   Color2 = Color.new(128, 255, 128)  # 平庸品质的色彩(绿,2)
  14.   Color3 = Color.new(128, 128, 255)  # 精良品质的色彩(蓝,3)
  15.   Color4 = Color.new(255, 0, 255)    # 卓越品质的色彩(紫,4)
  16.   Color5 = Color.new(255, 64, 128)   # 神秘品质的色彩(红,5)
  17.   Color6 = Color.new(255, 64, 0)     # 传说品质的色彩(橙,6)
  18.   Color7 = Color.new(255, 255, 128)  # 特殊品质的色彩(黄,7)
  19. end
  20. #==============================================================================
  21. class Window_Base
  22.   #--------------------------------------------------------------------------
  23.   # ● 绘制物品
  24.   #     item    : 物品(技能、武器、防具也合用)
  25.   #     x       : 描画目标 X 坐标
  26.   #     y       : 描画目标 Y 坐标
  27.   #     enabled : 有效化标志,为 false 时则物品半透明化。
  28.   #--------------------------------------------------------------------------
  29.   def draw_item_name(item, x, y, enabled = true)
  30.     if item != nil
  31.       self.contents.fill_rect(x, y, 24, 1, color)
  32.       self.contents.fill_rect(x, y, 1, 24, color)
  33.       self.contents.fill_rect(x, y+23, 24, 1, color)
  34.       self.contents.fill_rect(x+23, y, 1, 24, color)
  35.       draw_icon(item.icon_index, x, y, enabled)
  36.       n = item.note
  37.       a = n.split("/品质:/")
  38.       c = a[1].to_i
  39.       if c <= 1
  40.         color = ItemR::Color1
  41.       elsif c == 2
  42.         color = ItemR::Color2
  43.       elsif c == 3
  44.         color = ItemR::Color3
  45.       elsif c == 4
  46.         color = ItemR::Color4
  47.       elsif c == 5
  48.         color = ItemR::Color5
  49.       elsif c == 6
  50.         color = ItemR::Color6
  51.       elsif c == 7
  52.         color = ItemR::Color7
  53.       else
  54.         color = Color.new(0, 0, 0, 0)
  55.       end
  56.       self.contents.font.color = normal_color
  57.       self.contents.font.color.alpha = enabled ? 255 : 128
  58.       self.contents.draw_text(x + 24, y, 172, WLH, item.name)
  59.     end
  60.   end
  61. end
复制代码
[line]2[/line]
再上截图:









[line]2[/line]
工程:
品质色彩框.rar (575.83 KB, 下载次数: 1580)


[line]2[/line]
最后:麻烦各位大大多给点分,咱穷死了=w=

作者: 月夜神音    时间: 2011-8-22 13:02
为何不要self.contents.fill_rect(x, y, 24, 24, color)直接涂完背景而用线来描绘边框呢?= =
话说如果直接遇见某个图标像这样 的话后面的边框直接被覆盖掉了= =
还是(x - 1, y - 1, 26, 1, color)这样子比较好吧?= =
作者: orzfly    时间: 2011-8-22 13:02
  1. a = n.split("/品质:/")
复制代码
第一次看到这样的语法……
去掉引号就是正则表达式了……
汗……
作者: 草莓君    时间: 2011-8-22 13:03
边框正方形不怎么好看啊……
另外脚本好短啊……
不过实用性不错啊……
另外我才穷啊……
求咬……
作者: ms0688987    时间: 2011-8-22 13:13

預設光标不好看 , 配合箭头光标大好 ! !


作者: fux2    时间: 2011-8-22 14:24
本帖最后由 fux2 于 2011-8-22 14:34 编辑

修改之后反而报错了,然后写的略显繁琐,以下修改版供参考.
  1. # By.冰舞蝶恋

  2. module ItemR
  3.   Colorlist = [ Color.new(255, 255, 255),  # 一般品质的色彩(白,1)
  4.                 Color.new(128, 255, 128),  # 平庸品质的色彩(绿,2)
  5.                 Color.new(128, 128, 255),  # 精良品质的色彩(蓝,3)
  6.                 Color.new(255, 0, 255),    # 卓越品质的色彩(紫,4)
  7.                 Color.new(255, 64, 128),   # 神秘品质的色彩(红,5)
  8.                 Color.new(255, 64, 0),     # 传说品质的色彩(橙,6)
  9.                 Color.new(255, 255, 128)   # 特殊品质的色彩(黄,7)
  10.                 ]
  11. end

  12. class Window_Base
  13.   def draw_item_name(item, x, y, enabled = true)
  14.     if item != nil
  15.       draw_icon(item.icon_index, x, y, enabled)
  16.       item.note[/品质:(\d)/]
  17.       c = $1.nil? ? 0 : $1.to_i-1
  18.       color=ItemR::Colorlist[[[c,0].max,ItemR::Colorlist.size-1].min]
  19.       self.contents.fill_rect(x, y, 24, 1, color)
  20.       self.contents.fill_rect(x, y, 1, 24, color)
  21.       self.contents.fill_rect(x, y+23, 24, 1, color)
  22.       self.contents.fill_rect(x+23, y, 1, 24, color)
  23.       self.contents.font.color = normal_color
  24.       self.contents.font.color.alpha = enabled ? 255 : 128
  25.       self.contents.draw_text(x + 24, y, 172, WLH, item.name)
  26.     end
  27.   end
  28. end
复制代码

作者: MSQ    时间: 2011-8-22 23:09
脚本无能的我只能默默路过抱走之{:nm_4:},大大继续努力。
作者: guaneva    时间: 2011-8-23 00:15
很好,我用VX的时候一定用你的这个脚本
作者: 冰舞蝶恋    时间: 2011-9-25 16:17
汗 楼上一堆谦虚的大神让咱情何以堪呐……
作者: 仲秋启明    时间: 2011-9-25 20:30
再加上那个物品颜色脚本美化个人感觉会更好
作者: yangff    时间: 2011-9-25 20:42
维和感……
作者: 九夜神尊    时间: 2011-9-26 23:49
按我的意思改一下吧!!
颜色对于等级的顺序为
白  浅蓝  绿   黄  橙  红   深蓝  紫  这样。

为什么呢??? 总之知道等级越高颜色越深就OK了。

作者: xbjinxilong    时间: 2011-10-10 13:08
让我想起了  暗黑破坏神的  暗金装备。。。。谢谢楼主的分享
作者: iisnow    时间: 2011-10-10 13:16
哇~这么好的脚本
对于颜色覆盖的问题,可以把图标缩小,框不变就行了嘛
LZ根本就不穷……= =
作者: 黑白界    时间: 2012-4-10 21:06
遇到问题了……
把开始的脚本复制进去,然后……
-------------66RPG-------------------
◆ 2012-04-10 21:04:12
错误类型 :
        变量未定义
错误信息 :
        undefined local variable or method `color' for #<Window_Skill:0x1c0bdd8>
错误可能发生的相关位置 :
        物品品质 : 第 61 行 : draw_item_name
        Window_Skill : 第 57 行 : draw_item
        Window_Skill : 第 43 行 : refresh
        Window_Skill : 第 42 行 : each
        Window_Skill : 第 42 行 : refresh
        Window_Skill : 第 21 行 : initialize
        Scene_Skill : 第 27 行 : new
        Scene_Skill : 第 27 行 : start
        Scene_Base : 第 12 行 : main
        脚本错误提示 : 第 33 行 : run
        脚本错误提示 : 第 147 行
-------------66RPG-------------------

作者: 冰舞蝶恋    时间: 2012-9-15 13:45
顿时泪了………给仲秋大姐姐改编之后。这个给人遗忘了(什么心理
好多整合系统都用了仲秋姐姐的那个va版本嘞。。(所以,到底你来发这个帖是为什么啊!




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