设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3177|回复: 3
打印 上一主题 下一主题

[已经过期] 请问有谁有修改物品名称颜色的脚本

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2949
在线时间
389 小时
注册时间
2010-12-4
帖子
141
跳转到指定楼层
1
发表于 2010-12-5 15:23:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
RT,求发个,原来的链接坏了!!

评分

参与人数 1星屑 -40 收起 理由
fux2 -40 RT和伸手真有爱。

查看全部评分

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
2
发表于 2010-12-5 17:52:19 | 只看该作者
贵重物品特殊颜色脚本:
  1. #==============================================================================
  2. # 本脚本载于www.66RPG.com,转载和使用请保留此信息
  3. #==============================================================================

  4. # 首先请定义价格多少以上为贵重物品

  5. EXPENSIVE_ITEM_PRICE = 8000


  6. #==============================================================================
  7. # ■ Window_Base
  8. #------------------------------------------------------------------------------
  9. #  游戏中全部窗口的超级类。
  10. #==============================================================================
  11. class Window_Base < Window
  12.   def golden_color      #定义一种金色
  13.     return Color.new(255, 255, 0, 255)
  14.   end
  15. end
  16. #==============================================================================
  17. # ■ Window_ShopSell
  18. #==============================================================================
  19. class Window_ShopSell < Window_Selectable
  20. def draw_item(index)
  21.     item = @data[index]
  22.     # 获取物品所持数
  23.     case item
  24.     when RPG::Item
  25.       number = $game_party.item_number(item.id)
  26.     when RPG::Weapon
  27.       number = $game_party.weapon_number(item.id)
  28.     when RPG::Armor
  29.       number = $game_party.armor_number(item.id)
  30.     end
  31.     # 价格在所持金以下、并且所持数不是 99 的情况下为普通文字颜色
  32.     # 除此之外的情况设置为无效文字色
  33.     if item.price <= $game_party.gold and number < 99
  34.       if item.price >= EXPENSIVE_ITEM_PRICE    #价格10000以上金色显示  
  35.         self.contents.font.color = golden_color
  36.         else
  37.       self.contents.font.color = normal_color
  38.       end
  39.     else
  40.       self.contents.font.color = disabled_color
  41.     end
  42.     x = 4
  43.     y = index * 32
  44.     rect = Rect.new(x, y, self.width - 32, 32)
  45.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  46.     bitmap = RPG::Cache.icon(item.icon_name)
  47.     opacity = self.contents.font.color == disabled_color ? 128 : 255
  48.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  49.     self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  50.     self.contents.draw_text(x + 240, y, 88, 32, item.price.to_s, 2)
  51.   end
  52. end
  53. #==============================================================================
  54. # ■ Window_ShopBuy
  55. #==============================================================================
  56. class Window_ShopBuy < Window_Selectable
  57.   def draw_item(index)
  58.     item = @data[index]
  59.     # 获取物品所持数
  60.     case item
  61.     when RPG::Item
  62.       number = $game_party.item_number(item.id)
  63.     when RPG::Weapon
  64.       number = $game_party.weapon_number(item.id)
  65.     when RPG::Armor
  66.       number = $game_party.armor_number(item.id)
  67.     end
  68.     # 价格在所持金以下、并且所持数不是 99 的情况下为普通文字颜色
  69.     # 除此之外的情况设置为无效文字色
  70.     if item.price <= $game_party.gold and number < 99
  71.       if item.price >= EXPENSIVE_ITEM_PRICE #价格10000以上金色显示
  72.         self.contents.font.color = golden_color
  73.         else
  74.       self.contents.font.color = normal_color
  75.       end
  76.     else
  77.       self.contents.font.color = disabled_color
  78.     end
  79.     x = 4
  80.     y = index * 32
  81.     rect = Rect.new(x, y, self.width - 32, 32)
  82.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  83.     bitmap = RPG::Cache.icon(item.icon_name)
  84.     opacity = self.contents.font.color == disabled_color ? 128 : 255
  85.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  86.     self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  87.     self.contents.draw_text(x + 240, y, 88, 32, item.price.to_s, 2)
  88.   end
  89. end
复制代码
我没记错的话这个脚本貌似有Bug

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2949
在线时间
389 小时
注册时间
2010-12-4
帖子
141
3
 楼主| 发表于 2010-12-5 20:08:26 | 只看该作者
非常感谢,不过好像不是这个!
我在网上找到过一个,就是类似于暗黑破坏神那样的装备根据好坏名字有不同的颜色,我在网上找了一个,可是进入游戏就直接报错!或者谁帮我看看,问题出在哪?
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
#
# 脚本功能:给不同物品显示不同颜色,类似暗黑破坏神,比如套装为绿色,超级为金色
#           可以更改的种类包括物品、防具、特技、武器。
#
# 使用方法:对于不想为白色表示的物品,在描述中最后添加@6,@4一类的即可。
#           数字为颜色编号,和对话框中的一样。
# ——————————————————————————————————————
module RPG
  class Skill
    def description
      description = @description.split([url=]/@/)[0[/url]]
      return description != nil ? description : ''
    end
    def name_color_66RPG
      name_color = @description.split([url=]/@/)[1[/url]]
      return name_color != nil ? name_color.to_i : 0
    end
  end
  class Weapon
    def description
      description = @description.split([url=]/@/)[0[/url]]
      return description != nil ? description : ''
    end
    def name_color_66RPG
      name_color = @description.split([url=]/@/)[1[/url]]
      return name_color != nil ? name_color.to_i : 0
    end
  end
  class Item
    def description
      description = @description.split([url=]/@/)[0[/url]]
      return description != nil ? description : ''
    end
    def name_color_66RPG
      name_color = @description.split([url=]/@/)[1[/url]]
      return name_color != nil ? name_color.to_i : 0
    end
  end
  class Armor
    def description
      description = @description.split([url=]/@/)[0[/url]]
      return description != nil ? description : ''
    end
    def name_color_66RPG
      name_color = @description.split([url=]/@/)[1[/url]]
      return name != nil ? name_color.to_i : 0
    end
  end
end
# ——————————————————————————————————————
# 本脚本原创自www.66rpg.com,转载请保留此信息
# ——————————————————————————————————————
class Window_Base < Window
  #--------------------------------------------------------------------------
  # ● 描绘物品名
  #     item : 物品
  #     x    : 描画目标 X 坐标
  #     y    : 描画目标 Y 坐标
  #--------------------------------------------------------------------------
  def draw_item_name(item, x, y)
    if item == nil
      return
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = text_color(item.name_color_66RPG)
    self.contents.draw_text(x + 28, y, 212, 32, item.name.to_s)
  end
end

# ——————————————————————————————————————
# 本脚本原创自www.66rpg.com,转载请保留此信息
# ——————————————————————————————————————
class Window_Item
  #--------------------------------------------------------------------------
  # ● 描绘项目
  #     index : 项目编号
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    if item.is_a?(RPG::Item) and
       $game_party.item_can_use?(item.id)
      self.contents.font.color = text_color(item.name_color_66RPG)
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == disabled_color ? 128 : 255
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  end
end

# ——————————————————————————————————————
# 本脚本原创自www.66rpg.com,转载请保留此信息
# ——————————————————————————————————————
class Window_EquipItem < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 项目的描绘
  #     index : 项目符号
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    case item
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = text_color(item.name_color_66RPG)
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  end
end

# ——————————————————————————————————————
# 本脚本原创自www.66rpg.com,转载请保留此信息
# ——————————————————————————————————————
class Window_ShopBuy < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 描绘羡慕
  #     index : 项目编号
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    # 获取物品所持数
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    # 价格在所持金以下、并且所持数不是 99 的情况下为普通颜色
    # 除此之外的情况设置为无效文字色
    if item.price <= $game_party.gold and number < 99
      self.contents.font.color = text_color(item.name_color_66RPG)
    else
      self.contents.font.color = disabled_color
    end
    x = 4
    y = index * 32
    rect = Rect.new(x, y, self.width - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == disabled_color ? 128 : 255
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 88, 32, item.price.to_s, 2)
  end
end

# ——————————————————————————————————————
# 本脚本原创自www.66rpg.com,转载请保留此信息
# ——————————————————————————————————————
class Window_ShopSell < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 描绘项目
  #     index : 项目标号
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    # 可以卖掉的显示为普通颜色、除此之外设置成无效文字颜色
    if item.price > 0
      self.contents.font.color = text_color(item.name_color_66RPG)
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == disabled_color ? 128 : 255
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  end
end
  
# ——————————————————————————————————————
# 本脚本原创自www.66rpg.com,转载请保留此信息
# ——————————————————————————————————————
class Window_Skill
  #--------------------------------------------------------------------------
  # ● 描绘项目
  #     index : 项目编号
  #--------------------------------------------------------------------------
  def draw_item(index)
    skill = @data[index]
    if @actor.skill_can_use?(skill.id)
      self.contents.font.color = text_color(skill.name_color_66RPG)
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(skill.icon_name)
    opacity = self.contents.font.color == disabled_color ? 128 : 255
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 204, 32, skill.name, 0)
    self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
  end
end
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
995
在线时间
180 小时
注册时间
2013-2-16
帖子
176
4
发表于 2013-2-21 16:05:47 | 只看该作者
将以下内容替换1-55行
  1. module RPG
  2.   class Skill
  3.     def description
  4.       description = @description.split(/@/)[0]
  5.       return description != nil ? description : ''
  6.     end
  7.     def name_color_66RPG
  8.       name_color = @description.split(/@/)[1]
  9.       return name_color != nil ? name_color.to_i : 0
  10.     end
  11.   end
  12.   class Weapon

  13.     def description
  14.       description = @description.split(/@/)[0]
  15.       return description != nil ? description : ''
  16.     end
  17.     def name_color_66RPG
  18.       name_color = @description.split(/@/)[1]
  19.       return name_color != nil ? name_color.to_i : 0
  20.     end
  21.   end
  22.   class Item
  23.    
  24.     def description
  25.       description = @description.split(/@/)[0]
  26.       return description != nil ? description : ''
  27.     end
  28.     def name_color_66RPG
  29.       name_color = @description.split(/@/)[1]
  30.       return name_color != nil ? name_color.to_i : 0
  31.     end
  32.   end
  33.   class Armor
  34.    
  35.     def description
  36.       description = @description.split(/@/)[0]
  37.       return description != nil ? description : ''
  38.     end
  39.     def name_color_66RPG
  40.       name_color = @description.split(/@/)[1]
  41.       return name != nil ? name_color.to_i : 0
  42.     end
  43.   end
  44. end
复制代码
麻烦你下次用代码好不好,搞得我还要数行。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-30 06:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表