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

Project1

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

[已经过期] 请问这个脚本如何代入游戏内使用,谢谢!

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
34 小时
注册时间
2014-7-16
帖子
61
跳转到指定楼层
1
发表于 2016-11-4 21:56:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
# ● 名字描繪
    #------------------------------------------------------------------------
    text = item.name
    self.contents.font.color = normal_color#顔色腳本
    self.contents.font.size = name_size
    if text.nil?
      self.visible = false
    else
      self.visible = true
      self.contents.draw_text(0,0, text.size*7, 20, text, 0)
    end



是关于装备颜色功能的。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
34 小时
注册时间
2014-7-16
帖子
61
2
 楼主| 发表于 2016-11-5 17:54:41 | 只看该作者
# ● 裝備名字顔色變化 接口
  #------------------------------------------------------------------------
  def draw_name_color(equipment)
    return normal_color
  end


没有人知道吗? 这个呢?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
104 小时
注册时间
2016-8-8
帖子
54
3
发表于 2016-11-5 18:32:48 | 只看该作者
这个应该是放在Window类里面的,具体看你想要在哪些window里面显示,起码Window_EquipRight,Window_ShopSell,Window_Status里面可能都会用到,你这个是哪个完整脚本里面截下来的吧。
人性是物性的绽放,人道是天道的赓续。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

4
发表于 2016-11-5 18:45:26 | 只看该作者
在    self.contents.draw_text
前面一行
加入
self.contents.font.color.set(255, 255, 255)
就可以改变颜色
255,255,255是白色。
输入这个后后面输出的文本就全是白色了。

点评

你加我微信吧W976257309  发表于 2016-11-5 21:59
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
34 小时
注册时间
2014-7-16
帖子
61
5
 楼主| 发表于 2016-11-5 19:14:25 | 只看该作者
箫声东传 发表于 2016-11-5 18:32
这个应该是放在Window类里面的,具体看你想要在哪些window里面显示,起码Window_EquipRight,Window_ShopSe ...

是的,这个是显示装备属性的,但是显示属性的窗口字体都是白色的,我想弄别的颜色。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
34 小时
注册时间
2014-7-16
帖子
61
6
 楼主| 发表于 2016-11-5 19:15:12 | 只看该作者
yang1zhi 发表于 2016-11-5 18:45
在    self.contents.draw_text
前面一行
加入

这个是显示装备属性的脚本,但是显示的窗口是白色字体 ,我想弄有颜色的字体,

点评

在脚本编辑器内,按CTRL+F可以使用查找功能。  发表于 2016-11-6 18:47
我没懂你说的什么意思!我对脚本不懂!!!  发表于 2016-11-5 19:53
你先按我说的去试试,不行再变回来,也没损失。  发表于 2016-11-5 19:50
我把脚本发在下面了,你看一下。  发表于 2016-11-5 19:45
所以呢。没有draw_text吗  发表于 2016-11-5 19:41
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

梦石
0
星屑
2315
在线时间
5539 小时
注册时间
2011-1-10
帖子
6619

青铜编剧史诗剧作家剧作品鉴家

7
发表于 2016-11-5 19:19:55 | 只看该作者
本帖最后由 H·H·Y 于 2016-11-5 19:23 编辑

你这个……是从哪个脚本里截取下来的?这些脚本缺乏与游戏其他脚本的联系,不做加工的话就算不报错,也没办法调用。你不能只看注释上面些什么你想要就截啊……你至少要指定它们是属于哪个方法或者哪个类的,并且指定哪些情况要调用这些方法,这段脚本才算是用的了呃……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
34 小时
注册时间
2014-7-16
帖子
61
8
 楼主| 发表于 2016-11-5 19:21:18 | 只看该作者
H·H·Y 发表于 2016-11-5 19:19
你这个……是从哪个脚本里截取下来的?这些脚本缺乏与游戏其他脚本的联系,不做加工的话就算不报错,也没办 ...
  1. #==============================================================================
  2. # 禾西製作 / Created by Quarcy
  3. #==============================================================================
  4. class Window_Help < Window_Base
  5.   attr_reader :materia
  6.   #--------------------------------------------------------------------------
  7.   # ● 定義不顯示的屬性與狀態
  8.   #--------------------------------------------------------------------------
  9.   def unshown
  10.     @unshow_elements = [17, 18]
  11.     @unshow_states = []
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ● 初始化對象
  15.   #--------------------------------------------------------------------------
  16.   def initialize
  17.     super(0, 0, 640, 64)
  18.     self.opacity = 150
  19.     self.z=150
  20.     self.visible = false
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 設置文本
  24.   #     data  : 窗口顯示的字符串/物品資料
  25.   #     align : 對齊方式 (0..左對齊、1..中間對齊、2..右對齊)
  26.   #--------------------------------------------------------------------------
  27.   def set_text(data, align=0)
  28.     #------------------------------------------------------------------------
  29.     # ● 當資料爲文字時候
  30.     #------------------------------------------------------------------------
  31.     # 如果文本或對齊方式至少一方与上次的不同
  32.     if data != @text or align != @align
  33.       if data.is_a?(String)
  34.         # 再描繪文本
  35.         self.width = 640
  36.         self.height = 64
  37.         self.x=0
  38.         self.y=0
  39.         self.contents = Bitmap.new(width - 32, height - 32) if self.contents.nil?
  40.         self.contents.clear
  41.         self.contents.font.color = normal_color
  42.         self.contents.font.size = 20
  43.         self.contents.draw_text(4, 0, self.width - 40, 32, data, align)
  44.         @text = data
  45.         @align = align
  46.         @actor = nil
  47.         self.visible = true
  48.       end
  49.     end
  50.     return if data.is_a?(String)
  51.     #------------------------------------------------------------------------
  52.     # ● 當沒有資料時候
  53.     #------------------------------------------------------------------------
  54.     if data.nil?
  55.       self.visible=false
  56.     else
  57.       self.visible=true
  58.     end
  59.     #------------------------------------------------------------------------
  60.     # ● 當資料爲物品/技能時候
  61.     #------------------------------------------------------------------------
  62.     if data != nil && [url=home.php?mod=space&uid=2653549]@data[/url] != data
  63.       self.width = 210
  64.       self.height = 430
  65.       self.x=0
  66.       self.y=200
  67.       unshown
  68.       non_auto_update(data)
  69.     else
  70.       return
  71.     end
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● 更新帮助窗口
  75.   #--------------------------------------------------------------------------
  76.   def non_auto_update(data=@data)
  77.     @data = data
  78.     case @data
  79.     when RPG::Item
  80.       set_item_text(@data)
  81.     when RPG::Weapon
  82.       set_equipment_text(@data)
  83.     when RPG::Armor
  84.       set_equipment_text(@data)
  85.     when RPG::Skill
  86.       set_skill_text(@data)
  87.     end
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 裝備帮助窗口
  91.   #--------------------------------------------------------------------------
  92.   def set_equipment_text(equipment)
  93.     #------------------------------------------------------------------------
  94.     # ● 取得基本質料
  95.     #------------------------------------------------------------------------
  96.     # 取得屬性、附加狀態、解除狀態之副本
  97.     case equipment
  98.     when RPG::Weapon
  99.       element_set = equipment.element_set.clone
  100.       plus_state_set = equipment.plus_state_set.clone
  101.       minus_state_set = equipment.minus_state_set.clone
  102.       #----------------------#
  103.       # 過濾不顯示的狀態描述 #
  104.       #----------------------#
  105.       plus_state_set -= @unshow_states
  106.       minus_state_set -= @unshow_states
  107.     when RPG::Armor
  108.       element_set = equipment.guard_element_set.clone
  109.       guard_state_set = equipment.guard_state_set.clone
  110.       #----------------------#
  111.       # 過濾不顯示的狀態描述 #
  112.       #----------------------#
  113.       auto_state_id = equipment.auto_state_id
  114.       guard_state_set -= @unshow_states
  115.     end
  116.     #----------------------#
  117.     # 過濾不顯示的屬性描述 #
  118.     #----------------------#
  119.     element_set -= @unshow_elements
  120.     #--------------#
  121.     # 取得說明文字 #
  122.     #--------------#
  123.     description = equipment.description.clone
  124.     # 初始化數據設定
  125.     x = 0
  126.     y = 0
  127.     h = 0
  128.     phrase = {}
  129.    
  130.     # 基本文字設定
  131.     phrase["price"] = "价格:"
  132.     phrase["elements"] = "属性:"
  133.     phrase["minus_states"] = "解除状态:"
  134.     phrase["plus_states"] = "附加状态:"
  135.     phrase["guard_elements"] = "防御属性"
  136.     phrase["guard_states"] = "防御状态"
  137.     phrase["auto_state"] = "自动状态"

  138.     # 基本數據設定
  139. =begin
  140.     name_size = 名字文字大小
  141.     size = 描述文字大小
  142.     word = 每行的描述文字數
  143.     move = 全體描述偏移幅度
  144. =end
  145.     name_size = 18
  146.     size = 14
  147.     word = 12
  148.     move = 80
  149.     #------------------------------------------------------------------------
  150.     # ● 確定背景圖片的高度
  151.     #------------------------------------------------------------------------
  152.     h += (description.size/3/word)
  153.     h += 1 if (description.size/3%word) > 0
  154.     h += 1 if equipment.is_a?(RPG::Weapon)
  155.     now_h = h
  156.     h += 1
  157.     h += 1 unless equipment.pdef.zero?
  158.     h += 1 unless equipment.mdef.zero?
  159.     h += 1 if element_set.size > 0
  160.     h += 1 if element_set.size >= 5
  161.     case equipment
  162.     when RPG::Weapon
  163.       h += 1 unless minus_state_set.empty?
  164.       h += minus_state_set.size
  165.       h += 1 unless plus_state_set.empty?
  166.       h += plus_state_set.size
  167.     when RPG::Armor
  168.       h += 1 unless guard_state_set.empty?
  169.       h += guard_state_set.size
  170.       h += 1 unless auto_state_id.zero?
  171.     end
  172.     h += 1
  173.     h += 1 unless equipment.str_plus.zero?
  174.     h += 1 unless equipment.dex_plus.zero?
  175.     h += 1 unless equipment.agi_plus.zero?
  176.     h += 1 unless equipment.int_plus.zero?
  177.     h += materia_height_plus(equipment) unless self.materia.nil?
  178.     #------------------------------------------------------------------------
  179.     # ● 圖片顯示保證高度
  180.     #------------------------------------------------------------------------
  181.     h = 6 + now_h if (h - now_h) < 6
  182.     #------------------------------------------------------------------------
  183.     # ● 換算高度
  184.     #------------------------------------------------------------------------
  185.     self.height = h * size + name_size + 32
  186.     #------------------------------------------------------------------------
  187.     # ● 生成背景
  188.     #------------------------------------------------------------------------
  189.     self.contents = Bitmap.new(self.width - 32, self.height - 32)
  190.     self.contents.clear
  191.     #------------------------------------------------------------------------
  192.     # ● 名字描繪
  193.     #------------------------------------------------------------------------
  194.     text = equipment.name
  195.     self.contents.font.color = draw_name_color(equipment)
  196.     self.contents.font.size = name_size
  197.     if text.nil?
  198.       self.visible = false
  199.     else
  200.       self.visible = true
  201.       self.contents.draw_text(0, 0, text.size*7, name_size, text, 0)
  202.     end
  203.     #------------------------------------------------------------------------
  204.     # ● 說明描繪
  205.     #------------------------------------------------------------------------
  206.     x = 0
  207.     y += 1
  208.     while ((text = description.slice!(/./m)) != nil)
  209.       self.contents.font.color = normal_color
  210.       self.contents.font.size = size
  211.       self.contents.draw_text(x*size, y*size+5, size, size, text, 0)
  212.       x+=1
  213.       if x == word
  214.         x=0
  215.         y+=1   
  216.       end
  217.     end
  218.     #------------------------------------------------------------------------
  219.     # ● 圖標描繪
  220.     #------------------------------------------------------------------------
  221.     bitmap = RPG::Cache.icon(equipment.icon_name)
  222.     opacity = self.contents.font.color == normal_color ? 255 : 128
  223.     self.contents.blt(0 ,y*size + 20, bitmap, Rect.new(0, 0, 95, 100), 225)
  224.   
  225.     #------------------------------------------------------------------------
  226.     # ● 攻擊力描繪(武器)
  227.     #------------------------------------------------------------------------
  228.     if equipment.is_a?(RPG::Weapon)
  229.       x = 0
  230.       y += 1
  231.       text = $data_system.words.atk+":"+equipment.atk.to_s
  232.       self.contents.font.color = normal_color
  233.       self.contents.font.size = size
  234.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  235.     end
  236.     #------------------------------------------------------------------------
  237.     # ● 價格描繪
  238.     #------------------------------------------------------------------------
  239.     x = 0
  240.     y += 1
  241.     text = phrase["price"] + equipment.price.to_s
  242.     self.contents.font.color = normal_color
  243.     self.contents.font.size = size
  244.     self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  245.     #------------------------------------------------------------------------
  246.     # ● 物理防禦
  247.     #------------------------------------------------------------------------
  248.     unless equipment.pdef.zero?
  249.       x = 0
  250.       y += 1
  251.       text = $data_system.words.pdef+":"+equipment.pdef.to_s
  252.       self.contents.font.color = normal_color
  253.       self.contents.font.size = size
  254.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  255.     end
  256.     #------------------------------------------------------------------------
  257.     # ● 魔法防禦
  258.     #------------------------------------------------------------------------
  259.     unless equipment.mdef.zero?
  260.       x = 0
  261.       y += 1
  262.       text=$data_system.words.mdef+":"+equipment.mdef.to_s
  263.       self.contents.font.color = normal_color
  264.       self.contents.font.size = size
  265.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  266.     end
  267.     #------------------------------------------------------------------------
  268.     # ● 屬性
  269.     #------------------------------------------------------------------------
  270.     if element_set.size > 0
  271.       x = 0
  272.       y += 1
  273.       text = phrase["elements"]
  274.       for i in 0...element_set.size
  275.         break if i > 4
  276.         text += $data_system.elements[element_set[i]]
  277.       end
  278.       self.contents.font.color = normal_color
  279.       self.contents.font.size = size
  280.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  281.     end
  282.     if element_set.size >= 5
  283.       x = (phrase["elements"].size)*5-4
  284.       y += 1
  285.       text = ""
  286.       for i in 4...element_set.size
  287.         text += $data_system.elements[element_set[i]]
  288.       end
  289.       self.contents.font.color = normal_color
  290.       self.contents.font.size = size
  291.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  292.     end
  293.     #------------------------------------------------------------------------
  294.     # ● 描述分流 武器/防具
  295.     #------------------------------------------------------------------------
  296.     case equipment
  297.     when RPG::Weapon
  298.       #------------------------------------------------------------------------
  299.       # ● 解除狀態(武器)
  300.       #------------------------------------------------------------------------
  301.       unless minus_state_set.empty?
  302.         x = 0
  303.         y += 1
  304.         text=phrase["minus_states"]
  305.         text=phrase["guard_states"]
  306.         self.contents.font.color = normal_color
  307.         self.contents.font.size = size
  308.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  309.         for i in 0...minus_state_set.size
  310.           y += 1
  311.           text = $data_states[minus_state_set[i]].name        
  312.           self.contents.font.color = normal_color
  313.           self.contents.font.size = size
  314.           self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)        
  315.         end
  316.       end
  317.       #------------------------------------------------------------------------
  318.       # ● 附加狀態(武器)
  319.       #------------------------------------------------------------------------
  320.       unless plus_state_set.empty?
  321.         x = 0
  322.         y += 1
  323.         text = phrase["plus_states"]
  324.         self.contents.font.color = normal_color
  325.         self.contents.font.size = size
  326.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  327.         for i in 0...plus_state_set.size
  328.           y += 1
  329.           text=$data_states[plus_state_set[i]].name        
  330.           self.contents.font.color = normal_color
  331.           self.contents.font.size = size
  332.           self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)        
  333.         end  
  334.       end
  335.     when RPG::Armor
  336.       #------------------------------------------------------------------------
  337.       # ● 防禦狀態(防具)
  338.       #------------------------------------------------------------------------
  339.       unless guard_state_set.empty?
  340.         x = 0
  341.         y += 1
  342.         text=phrase["guard_states"]
  343.         self.contents.font.color = normal_color
  344.         self.contents.font.size = size
  345.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  346.         for i in 0...guard_state_set.size
  347.           y += 1
  348.           text = $data_states[guard_state_set[i]].name        
  349.           self.contents.font.color = normal_color
  350.           self.contents.font.size = size
  351.           self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)        
  352.         end
  353.       end
  354.       #------------------------------------------------------------------------
  355.       # ● 自動狀態(防具)
  356.       #------------------------------------------------------------------------
  357.       unless auto_state_id.zero?
  358.         x = 0
  359.         y += 1
  360.         text = phrase["auto_state"] + $data_states[auto_state_id].name
  361.         self.contents.font.color = normal_color
  362.         self.contents.font.size = size
  363.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  364.       end
  365.     end
  366.     #------------------------------------------------------------------------
  367.     # ● 空行
  368.     #------------------------------------------------------------------------
  369.     y+=1
  370.     #------------------------------------------------------------------------
  371.     # ● 力量
  372.     #------------------------------------------------------------------------
  373.     unless equipment.str_plus.zero?
  374.       x = 0
  375.       y += 1
  376.       h += 1
  377.       if equipment.str_plus > 0
  378.         text=$data_system.words.str+" +"+ equipment.str_plus.to_s
  379.       else
  380.         text=$data_system.words.str+" -"+ (-equipment.str_plus).to_s
  381.       end
  382.       self.contents.font.color = normal_color
  383.       self.contents.font.size = size
  384.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)  
  385.     end
  386.     #------------------------------------------------------------------------
  387.     # ● 靈巧
  388.     #------------------------------------------------------------------------
  389.     unless equipment.dex_plus.zero?
  390.       x = 0
  391.       y += 1
  392.       h += 1
  393.       if equipment.dex_plus > 0
  394.         text=$data_system.words.dex+" +"+ equipment.dex_plus.to_s
  395.       else
  396.         text=$data_system.words.dex+" -"+ (-equipment.dex_plus).to_s
  397.       end
  398.       self.contents.font.color = normal_color
  399.       self.contents.font.size = size
  400.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  401.     end
  402.     #------------------------------------------------------------------------
  403.     # ● 速度
  404.     #------------------------------------------------------------------------
  405.     unless equipment.agi_plus.zero?
  406.       x = 0
  407.       y += 1
  408.       h += 1
  409.       if equipment.agi_plus > 0
  410.         text=$data_system.words.agi+" +"+ equipment.agi_plus.to_s
  411.       else
  412.         text=$data_system.words.agi+" -"+ (-equipment.agi_plus).to_s
  413.       end
  414.       self.contents.font.color = normal_color
  415.       self.contents.font.size = size
  416.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  417.     end
  418.     #------------------------------------------------------------------------
  419.     # ● 智力
  420.     #------------------------------------------------------------------------
  421.     unless equipment.int_plus.zero?
  422.       x = 0
  423.       y += 1
  424.       h += 1
  425.       if equipment.int_plus > 0
  426.         text=$data_system.words.int+" +"+ equipment.int_plus.to_s
  427.       else
  428.         text=$data_system.words.int+" -"+ (-equipment.int_plus).to_s
  429.       end
  430.       self.contents.font.color = normal_color
  431.       self.contents.font.size = size
  432.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  433.     end
  434.     #------------------------------------------------------------------------
  435.     # ● 魔力石描繪
  436.     #------------------------------------------------------------------------
  437.     y += draw_materia(equipment, move, y, size) unless self.materia.nil?
  438.   end
  439.   #--------------------------------------------------------------------------
  440.   # ● 物品幫助窗口
  441.   #--------------------------------------------------------------------------
  442.   def set_item_text(item)
  443.     # 取得描述
  444.     description = item.description.clone
  445.     # 取得屬性、附加狀態、解除狀態之副本
  446.     element_set = item.element_set.clone
  447.     plus_state_set = item.plus_state_set.clone
  448.     minus_state_set = item.minus_state_set.clone
  449.     # 過濾不顯示的描述
  450.     element_set -= @unshow_elements
  451.     plus_state_set -= @unshow_states
  452.     minus_state_set -= @unshow_states
  453.     # 初始化數據設定
  454.     x = 0
  455.     y = 0
  456.     h = 0
  457.     phrase = {}
  458.     scope ={}
  459.     parameter_type = {}
  460.    
  461.     # 基本數據設定
  462. =begin
  463.     name_size = 名字文字大小
  464.     size = 描述文字大小
  465.     word = 每行的描述文字數
  466.     move = 全體描述偏移幅度
  467. =end
  468.     name_size = 18
  469.     size = 14
  470.     word = 12
  471.     move = 80
  472.    
  473.     # 基本文字設定
  474.     phrase["scope"] = "范围:"
  475.     phrase["price"] = "价格:"
  476.     phrase["recover_hp_rate"] = "HP 回复率:"
  477.     phrase["recover_hp"] = "HP 回复量:"
  478.     phrase["recover_sp_rate"] = "SP 回复率:"
  479.     phrase["recover_sp"] = "SP 回复量:"
  480.     phrase["elements"] = "属性:"
  481.     phrase["plus"] = "附加"
  482.     phrase["minus"] = "解除"
  483.     phrase["states"] = "状态"
  484.     scope[0] = "特殊物品"
  485.     scope[1] = "敌单体"
  486.     scope[2] = "敌全体"
  487.     scope[3] = "已单体"
  488.     scope[4] = "已全体"
  489.     scope[5] = "已单体"
  490.     scope[6] = "已全体"
  491.     scope[7] = "使用者"
  492.     scope[8] = "死亡"

  493.     parameter_type[1] = "MaxHP"
  494.     parameter_type[2] = "MaxSP"
  495.     parameter_type[3] = $data_system.words.str
  496.     parameter_type[4] = $data_system.words.dex
  497.     parameter_type[5] = $data_system.words.agi
  498.     parameter_type[6] = $data_system.words.int
  499.    
  500.     #依顯示内容確定自身高
  501.     h = (description.size/3/word)
  502.     h +=1 if (description.size/3%word)> 0
  503.     now_h = h
  504.     h +=3  # 空行,效果範圍,價格
  505.     h += 1 unless item.recover_hp_rate.zero?
  506.     h += 1 unless item.recover_hp.zero?
  507.     h += 1 unless item.recover_sp_rate.zero?
  508.     h += 1 unless item.recover_sp.zero?
  509.     h += 1 unless item.parameter_type.zero?
  510.     h += 1 unless element_set[0].nil?
  511.     h += 1 unless element_set[4].nil?
  512.     h += (1+plus_state_set.size) unless plus_state_set.empty?
  513.     h += (1+minus_state_set.size) unless minus_state_set.empty?
  514.     #------------------------------------------------------------------------
  515.     # ● 圖片顯示保證高度
  516.     #------------------------------------------------------------------------
  517.     h = 6 + now_h if (h - now_h) < 6
  518.     #------------------------------------------------------------------------
  519.     # ● 換算高度
  520.     #------------------------------------------------------------------------
  521.     self.height = h * size + name_size + 32
  522.     #------------------------------------------------------------------------
  523.     # ● 生成背景
  524.     #------------------------------------------------------------------------
  525.     self.contents = Bitmap.new(self.width - 32, self.height - 32)
  526.     self.contents.clear
  527.     #------------------------------------------------------------------------
  528.     # ● 名字描繪
  529.     #------------------------------------------------------------------------
  530.     text = item.name
  531.     self.contents.font.color = normal_color#顔色腳本
  532.     self.contents.font.size = name_size
  533.     if text.nil?
  534.       self.visible = false
  535.     else
  536.       self.visible = true
  537.       self.contents.draw_text(0,0, text.size*7, 20, text, 0)
  538.     end
  539.     #------------------------------------------------------------------------
  540.     # ● 說明描繪
  541.     #------------------------------------------------------------------------
  542.     x = 0
  543.     y += 1
  544.     while ((text = description.slice!(/./m)) != nil)
  545.       self.contents.font.color = normal_color
  546.       self.contents.font.size = size
  547.       self.contents.draw_text(x*size, y*size+5, size, size, text, 0)
  548.       x+=1
  549.       if x == word
  550.         x = 0
  551.         y += 1
  552.       end
  553.     end
  554.     #------------------------------------------------------------------------
  555.     # ● 圖標描繪
  556.     #------------------------------------------------------------------------
  557.     bitmap = RPG::Cache.icon(item.icon_name) unless item.icon_name.nil?
  558.     opacity = self.contents.font.color == normal_color ? 255 : 128
  559.     self.contents.blt(0 ,y*size + 20, bitmap, Rect.new(0, 0, 95, 100), 225)
  560.     #------------------------------------------------------------------------
  561.     # ● 魔力石接口
  562.     #------------------------------------------------------------------------
  563.     unless self.materia.nil?
  564.       return if is_materia?(item)
  565.     end
  566.     #------------------------------------------------------------------------
  567.     # ● 效果範圍
  568.     #------------------------------------------------------------------------
  569.     text= phrase["scope"] + scope[item.scope]
  570.     x = 0
  571.     y += 1
  572.     self.contents.font.color = normal_color
  573.     self.contents.font.size = size
  574.     self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  575.     #------------------------------------------------------------------------
  576.     # ● 價格
  577.     #------------------------------------------------------------------------
  578.     x = 0
  579.     y += 1      
  580.     text = phrase["price"] + item.price.to_s
  581.     self.contents.font.color = normal_color
  582.     self.contents.font.size = size
  583.     self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  584.    
  585.     #------------------------------------------------------------------------
  586.     # ● HP回復率
  587.     #------------------------------------------------------------------------
  588.     unless item.recover_hp_rate.zero?  
  589.       x = 0
  590.       y += 1
  591.       text = phrase["recover_hp_rate"] + item.recover_hp_rate.to_s+"%"
  592.       self.contents.font.color = normal_color
  593.       self.contents.font.size = size
  594.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)   
  595.     end
  596.     #------------------------------------------------------------------------
  597.     # ● HP回復量
  598.     #------------------------------------------------------------------------
  599.     unless item.recover_hp.zero?  
  600.       x = 0
  601.       y += 1      
  602.       text = phrase["recover_hp"] + item.recover_hp.to_s
  603.       self.contents.font.color = normal_color
  604.       self.contents.font.size = size
  605.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  606.     end
  607.     #------------------------------------------------------------------------
  608.     # ● SP回復率
  609.     #------------------------------------------------------------------------
  610.     unless item.recover_sp_rate.zero?
  611.       x = 0
  612.       y += 1      
  613.       text = phrase["recover_sp_rate"] + item.recover_sp_rate.to_s+"%"
  614.       self.contents.font.color = normal_color
  615.       self.contents.font.size = size
  616.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  617.     end
  618.     #------------------------------------------------------------------------
  619.     # ● SP回復量
  620.     #------------------------------------------------------------------------
  621.     unless item.recover_sp.zero?  
  622.       x = 0
  623.       y += 1      
  624.       text = phrase["elements"] + item.recover_sp.to_s
  625.       self.contents.font.color = normal_color
  626.       self.contents.font.size = size
  627.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  628.     end
  629.     #------------------------------------------------------------------------
  630.     # ● 能力值增加
  631.     #------------------------------------------------------------------------
  632.     unless item.parameter_type.zero?
  633.       x = 0
  634.       y += 1      
  635.       text= parameter_type[item.parameter_type]+" +"+item.parameter_points.to_s

  636.       self.contents.font.color = normal_color
  637.       self.contents.font.size = size
  638.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  639.     end
  640.     #------------------------------------------------------------------------
  641.     # ● 屬性
  642.     #------------------------------------------------------------------------
  643.     if element_set.size > 0
  644.       x = 0
  645.       y += 1
  646.       text = phrase["elements"]
  647.       for i in 0...element_set.size
  648.         break if i > 4
  649.         text += $data_system.elements[element_set[i]]
  650.       end
  651.       self.contents.font.color = normal_color
  652.       self.contents.font.size = size
  653.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  654.     end
  655.     if element_set.size >= 5
  656.       x = (phrase["elements"].size)*5-4
  657.       y += 1
  658.       text = ""
  659.       for i in 4...element_set.size
  660.         text += $data_system.elements[element_set[i]]
  661.       end
  662.       self.contents.font.color = normal_color
  663.       self.contents.font.size = size
  664.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  665.     end
  666.     #------------------------------------------------------------------------
  667.     # ● 狀態添加
  668.     #------------------------------------------------------------------------
  669.     unless plus_state_set.empty?
  670.       text = phrase["plus"]
  671.       x = 0
  672.       y += 1
  673.       self.contents.font.color = normal_color
  674.       self.contents.font.size = size
  675.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  676.       plus_state_set.each do |plus_state|
  677.         y += 1
  678.         text = $data_states[plus_state].name        
  679.         self.contents.font.color = normal_color
  680.         self.contents.font.size = size
  681.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)      
  682.       end  
  683.     end
  684.     #------------------------------------------------------------------------
  685.     # ● 狀態解除
  686.     #------------------------------------------------------------------------
  687.     unless minus_state_set.empty?
  688.       text = phrase["minus"]
  689.       x = 0
  690.       y += 1
  691.       self.contents.font.color = normal_color
  692.       self.contents.font.size = size
  693.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  694.       minus_state_set.each do |minus_state|
  695.         y += 1
  696.         text = $data_states[minus_state].name
  697.         self.contents.font.color = normal_color
  698.         self.contents.font.size = size
  699.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)   
  700.       end
  701.     end
  702.   end
  703.   #--------------------------------------------------------------------------
  704.   # ● 技能帮助窗口
  705.   #--------------------------------------------------------------------------
  706.   def set_skill_text(skill)
  707.     # 取得描述
  708.     description = skill.description.clone
  709.     # 取得屬性、附加狀態、解除狀態之副本
  710.     element_set = skill.element_set.clone
  711.     plus_state_set = skill.plus_state_set.clone
  712.     minus_state_set = skill.minus_state_set.clone
  713.     # 過濾不顯示的描述
  714.     element_set -= @unshow_elements
  715.     plus_state_set -= @unshow_states
  716.     minus_state_set -= @unshow_states
  717.     # 初始化設定
  718.     x = 0
  719.     y = 0
  720.     h = 0
  721.     phrase = {}
  722.     scope = {}
  723.    
  724.     # 基本數據設定
  725. =begin
  726.     name_size = 名字文字大小
  727.     size = 描述文字大小
  728.     word = 每行的描述文字數
  729.     move = 全體描述偏移幅度
  730. =end
  731.     name_size = 18
  732.     size = 14
  733.     word = 12
  734.     move = 80
  735.    
  736.     # 基本文字設定
  737.     phrase["scope"] = "范围:"
  738.     #
  739.     phrase["power"] = "威力:"
  740.     phrase["cost_sp"] = "消耗SP:"
  741.     phrase["hit_rate"] = "命中率:"
  742.     phrase["elements"] = "攻击属性"
  743.     #
  744.     phrase["plus"] = "附加"
  745.     phrase["minus"] = "解除"
  746.     phrase["states"] = "状态"
  747.     scope[0] = "特殊技能"
  748.     scope[1] = "敌单体"
  749.     scope[2] = "敌全体"
  750.     scope[3] = "我方单体"
  751.     scope[4] = "我方全体"
  752.     scope[5] = "我方昏死(单体)"
  753.     scope[6] = "我方昏死(全体)"
  754.     scope[7] = "自身"

  755.    
  756.     #由描叙确定高
  757.     h =description.size/3/word
  758.     h += 1 if (description.size%3/word) > 0
  759.     h += 4  #空行,效果范围,消费SP,命中率
  760.     h += 1 unless skill.power.zero?
  761.     h += 1 unless element_set.empty?
  762.     h += 1 unless element_set[4].nil?
  763.     h += plus_state_set.size
  764.     h += minus_state_set.size
  765.     #------------------------------------------------------------------------
  766.     # ● 換算高度
  767.     #------------------------------------------------------------------------
  768.     self.height=h * size + name_size + 32  
  769.     self.contents = Bitmap.new(self.width - 32,self.height - 32)
  770.     self.contents.clear
  771.    
  772.     #------------------------------------------------------------------------
  773.     # ● 名字描述
  774.     #------------------------------------------------------------------------
  775.     text = skill.name
  776.     self.contents.font.color = Color.new(255, 255, 128, 255)
  777.     self.contents.font.size = name_size
  778.     if text!=nil
  779.       self.visible = true
  780.       self.contents.draw_text(0,0, text.size*7, name_size, text, 0)
  781.     else
  782.       self.visible = false
  783.     end
  784.    
  785.     #------------------------------------------------------------------------
  786.     # ● 說明描述
  787.     #------------------------------------------------------------------------
  788.     x = 0
  789.     y += 1
  790.     text = description
  791.     while ((text = description.slice!(/./m)) != nil)
  792.       self.contents.font.color = normal_color
  793.       self.contents.font.size = size
  794.       self.contents.draw_text(x*size, y*size+5, size, size, text, 0)
  795.       x+=1
  796.       if x==word#每行10个字
  797.         x = 0
  798.         y += 1      
  799.       end
  800.     end
  801.    
  802.     #------------------------------------------------------------------------
  803.     # ● 攻擊範圍
  804.     #------------------------------------------------------------------------
  805.     text = phrase["scope"] + scope[skill.scope]
  806.     x = 0
  807.     y += 1
  808.     self.contents.font.color = normal_color
  809.     self.contents.font.size = size
  810.     self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  811.     #------------------------------------------------------------------------
  812.     # ● 空一行
  813.     #------------------------------------------------------------------------
  814.     y += 1
  815.     #------------------------------------------------------------------------
  816.     # ● 威力描述
  817.     #------------------------------------------------------------------------
  818.     unless skill.power.zero?
  819.       power = skill.power > 0 ? skill.power : -1 * skill.power
  820.       text = phrase["power"] + power.to_s
  821.       x = 0
  822.       y += 1
  823.       self.contents.font.color = normal_color
  824.       self.contents.font.size = size  
  825.       self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  826.     end  
  827.     #------------------------------------------------------------------------
  828.     # ● 消費SP描述
  829.     #------------------------------------------------------------------------
  830.     text = phrase["cost_sp"] + skill.sp_cost.to_s
  831.     x = 0
  832.     y += 1
  833.     self.contents.font.color = normal_color
  834.     self.contents.font.size = size   
  835.     self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  836.     #------------------------------------------------------------------------
  837.     # ● 命中率描述
  838.     #------------------------------------------------------------------------
  839.     text = phrase["hit_rate"] + skill.hit.to_s + "%"
  840.     x = 0
  841.     y += 1
  842.     self.contents.font.color = normal_color
  843.     self.contents.font.size = size
  844.     self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  845.     #------------------------------------------------------------------------
  846.     # ● 攻擊屬性
  847.     #------------------------------------------------------------------------
  848.     if element_set.size > 0
  849.       text=phrase["elements"]
  850.       for i in 0...element_set.size
  851.         if i < 4
  852.           text+=$data_system.elements[element_set[i]]
  853.         else
  854.           break
  855.         end        
  856.       end
  857.       x = 0
  858.       y += 1
  859.       self.contents.font.color = normal_color
  860.       self.contents.font.size = size
  861.       self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  862.     end
  863.     if element_set.size >= 5
  864.       text=""
  865.       for i in 4...element_set.size
  866.         text+=$data_system.elements[element_set[i]]
  867.       end
  868.       x= (phrase["elements"].size)*3
  869.       y += 1
  870.       self.contents.font.color = normal_color
  871.       self.contents.font.size = size
  872.       self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  873.     end
  874.     #------------------------------------------------------------------------
  875.     # ● 狀態附加
  876.     #------------------------------------------------------------------------
  877.     unless plus_state_set.empty?
  878.       text= phrase["plus"]
  879.       x = 0
  880.       y += 1
  881.       self.contents.font.color = normal_color
  882.       self.contents.font.size = size
  883.       self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  884.       plus_state_set.each do |plus_state|
  885.         y += 1
  886.         text=$data_states[plus_state].name        
  887.         self.contents.font.color = normal_color
  888.         self.contents.font.size = size
  889.         self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)        
  890.       end  
  891.     end
  892.     #------------------------------------------------------------------------
  893.     # ●狀態解除
  894.     #------------------------------------------------------------------------
  895.     unless minus_state_set.empty?
  896.       text = phrase["minus"]
  897.       x = 0
  898.       y += 1
  899.       self.contents.font.color = normal_color
  900.       self.contents.font.size=size
  901.       self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)
  902.       minus_state_set.each do |minus_state|
  903.         y += 1
  904.         text=$data_states[minus_state].name        
  905.         self.contents.font.color = normal_color
  906.         self.contents.font.size=size
  907.         self.contents.draw_text(x, y*size+5, text.size*6, size, text, 0)        
  908.       end  
  909.     end     
  910.   end
  911.   #--------------------------------------------------------------------------
  912.   # ● 设置角色
  913.   #     actor : 要显示状态的角色
  914.   #--------------------------------------------------------------------------
  915.   def set_actor(actor)
  916.     if actor != @actor
  917.       self.contents.clear
  918.       draw_actor_name(actor, 4, 0)
  919.       draw_actor_state(actor, 140, 0)
  920.       draw_actor_hp(actor, 284, 0)
  921.       draw_actor_sp(actor, 460, 0)
  922.       @actor = actor
  923.       @text = nil
  924.       self.visible = true
  925.     end
  926.   end
  927.   #--------------------------------------------------------------------------
  928.   # ● 設置角色
  929.   #     actor : 要顯示狀態之角色
  930.   #--------------------------------------------------------------------------
  931.   def set_actor(actor)
  932.     self.contents = Bitmap.new(width - 32, height - 32) if self.contents.nil?
  933.     if actor != @actor
  934.       self.contents.clear
  935.       draw_actor_name(actor, 4, 0)
  936.       draw_actor_state(actor, 140, 0)
  937.       draw_actor_hp(actor, 284, 0)
  938.       draw_actor_sp(actor, 460, 0)
  939.       @actor = actor
  940.       @text = nil
  941.       self.visible = true
  942.     end
  943.   end
  944.   #--------------------------------------------------------------------------
  945.   # ● 設置敵人
  946.   #     enemy : 要顯示名字與狀態之敵人
  947.   #--------------------------------------------------------------------------
  948.   def set_enemy(enemy)
  949.     self.contents = Bitmap.new(width - 32, height - 32) if self.contents.nil?
  950.     text = enemy.name.sub(/[Ff][([0-9]+)]/) {""}
  951.     state_text = make_battler_state_text(enemy, 112, false)
  952.     if state_text != ""
  953.       text += "  " + state_text
  954.     end
  955.     set_text(text, 1)
  956.     self.visible = true
  957.   end
  958.   #--------------------------------------------------------------------------
  959.   # ● 校正帮助窗口位置
  960.   #--------------------------------------------------------------------------
  961.   def set_pos(x,y,width,oy,index,column_max)
  962.     #光标坐标
  963.     cursor_width = width / column_max - 32
  964.     xx = index % column_max * (cursor_width + 32)
  965.     yy = index / column_max * 32 - oy
  966.     self.x=xx+x+150
  967.     self.y=yy+y+30
  968.     if self.x+self.width>640
  969.       self.x=640-self.width
  970.     end
  971.     if self.y+self.height>480
  972.       self.y=480-self.height
  973.     end  
  974.   end
  975.   #------------------------------------------------------------------------
  976.   # ● 裝備名字顔色變化 接口
  977.   #------------------------------------------------------------------------
  978.   def draw_name_color(equipment)
  979.     return normal_color
  980.   end
  981.   #------------------------------------------------------------------------
  982.   # ● 自身身份確認
  983.   #------------------------------------------------------------------------
  984.   def original_help?
  985.     return false
  986.   end
  987. end

  988. #------------------------------------------------------------------------------



  989. #------------------------------------------------------------------------------
  990. #==============================================================================
  991. # ■ Window_Item
  992. #------------------------------------------------------------------------------
  993. #  物品画面、战斗画面、显示浏览物品的窗口。
  994. #==============================================================================

  995. class Window_Item < Window_Selectable
  996.   #--------------------------------------------------------------------------
  997.   # ● 初始化对像
  998.   #--------------------------------------------------------------------------
  999.   def initialize
  1000.     super(0, 64-64, 640, 416+64)
  1001.     @column_max = 2
  1002.     refresh
  1003.     self.index = 0
  1004.     # 战斗中的情况下将窗口移至中央并将其半透明化
  1005.     if $game_temp.in_battle
  1006.       self.y = 64
  1007.       self.height = 256
  1008.       self.back_opacity = 160
  1009.     end
  1010.   end
  1011.   #--------------------------------------------------------------------------
  1012.   # ● 刷新帮助文本
  1013.   #--------------------------------------------------------------------------
  1014.   def update_help
  1015.     @help_window.set_text(item)
  1016.     #校正帮助窗口位置
  1017.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1018.   end
  1019. end
  1020. #------------------------------------------------------------------------------



  1021. #------------------------------------------------------------------------------
  1022. #==============================================================================
  1023. # ■ Window_Skill
  1024. #------------------------------------------------------------------------------
  1025. #  特技画面、战斗画面、显示可以使用的特技浏览的窗口。
  1026. #==============================================================================

  1027. class Window_Skill < Window_Selectable
  1028.   #--------------------------------------------------------------------------
  1029.   # ● 初始化对像
  1030.   #     actor : 角色
  1031.   #--------------------------------------------------------------------------
  1032.   def initialize(actor)
  1033.     super(0, 128, 640, 352)
  1034.     @actor = actor
  1035.     @column_max = 2
  1036.    
  1037.     refresh
  1038.     self.index = 0
  1039.     # 战斗中的情况下将窗口移至中央并将其半透明化
  1040.     if $game_temp.in_battle
  1041.       self.y = 64
  1042.       self.height = 256
  1043.       self.back_opacity = 160
  1044.     end
  1045.   end
  1046.   #--------------------------------------------------------------------------
  1047.   # ● 刷新帮助文本
  1048.   #--------------------------------------------------------------------------

  1049.   def update_help
  1050.     @help_window.set_text(skill)
  1051.     #校正帮助窗口位置
  1052.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1053.   end
  1054. end
  1055. #------------------------------------------------------------------------------



  1056. #------------------------------------------------------------------------------
  1057. #==============================================================================
  1058. # ■ Window_SkillStatus
  1059. #------------------------------------------------------------------------------
  1060. #  显示特技画面、特技使用者的窗口。
  1061. #==============================================================================

  1062. class Window_SkillStatus < Window_Base
  1063.   #--------------------------------------------------------------------------
  1064.   # ● 初始化对像
  1065.   #     actor : 角色
  1066.   #--------------------------------------------------------------------------
  1067.   def initialize(actor)
  1068. # -------------------
  1069. # 修改開始
  1070.     super(0, 64-64, 640, 64+64)#★★★★★★★★★★★★★★★★★★★★
  1071. # 修改終了
  1072. # -------------------
  1073.     self.contents = Bitmap.new(width - 32, height - 32)
  1074.     @actor = actor
  1075.     refresh
  1076.   end
  1077. end
  1078. #------------------------------------------------------------------------------



  1079. #------------------------------------------------------------------------------
  1080. #==============================================================================
  1081. # ■ Window_EquipLeft
  1082. #------------------------------------------------------------------------------
  1083. #  装备画面的、显示角色能力值变化的窗口。
  1084. #==============================================================================
  1085. class Window_EquipLeft < Window_Base
  1086.   #--------------------------------------------------------------------------
  1087.   # ● 初始化对像
  1088.   #     actor : 角色
  1089.   #--------------------------------------------------------------------------
  1090.   def initialize(actor)
  1091. # -------------------
  1092. # 修改開始
  1093.     super(0, 64-64, 272, 416+64)#★★★★★★★★★★★★★★★★★★★★
  1094. # 修改終了
  1095. # -------------------
  1096.     self.contents = Bitmap.new(width - 32, height - 32)
  1097.     @actor = actor
  1098.     refresh
  1099.   end
  1100. end
  1101. #------------------------------------------------------------------------------



  1102. #------------------------------------------------------------------------------
  1103. #==============================================================================
  1104. # ■ Window_EquipRight
  1105. #------------------------------------------------------------------------------
  1106. #  装备画面、显示角色现在装备的物品的窗口。
  1107. #==============================================================================

  1108. class Window_EquipRight < Window_Selectable
  1109.   #--------------------------------------------------------------------------
  1110.   # ● 初始化对像
  1111.   #     actor : 角色
  1112.   #--------------------------------------------------------------------------
  1113.   def initialize(actor)
  1114. # -------------------
  1115. # 修改開始
  1116.     super(272, 64-64, 368, 256+64)#★★★★★★★★★★★★★★★★★★★★
  1117. # 修改終了
  1118. # -------------------
  1119.     self.contents = Bitmap.new(width - 32, height - 32)
  1120.     @actor = actor
  1121.     refresh
  1122.     self.index = 0
  1123.   end
  1124.   #--------------------------------------------------------------------------
  1125.   # ● 刷新帮助文本
  1126.   #--------------------------------------------------------------------------

  1127.   def update_help
  1128.     @help_window.set_text(item)
  1129.     #校正帮助窗口位置
  1130.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1131.   end
  1132. end
  1133. #------------------------------------------------------------------------------



  1134. #------------------------------------------------------------------------------
  1135. #==============================================================================
  1136. # ■ Window_EquipItem
  1137. #------------------------------------------------------------------------------
  1138. #  装备画面、显示浏览变更装备的候补物品的窗口。
  1139. #==============================================================================

  1140. class Window_EquipItem < Window_Selectable
  1141.   #--------------------------------------------------------------------------
  1142.   # ● 初始化对像
  1143.   #     actor      : 角色
  1144.   #     equip_type : 装备部位 (0~3)
  1145.   #--------------------------------------------------------------------------
  1146.   def initialize(actor, equip_type)
  1147. # -------------------
  1148. # 修改開始
  1149.     super(272, 320, 368, 160)#★★★★★★★★★★★★★★★★★★★★
  1150. # 修改終了
  1151. # -------------------
  1152.     @actor = actor
  1153.     @equip_type = equip_type
  1154.     @column_max = 1
  1155.    
  1156.     refresh
  1157.     self.active = false
  1158.     self.index = -1
  1159.   end
  1160.   def update_help
  1161.     @help_window.set_text(item)
  1162.     #校正帮助窗口位置
  1163.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1164.   end
  1165. end
  1166. #------------------------------------------------------------------------------



  1167. #------------------------------------------------------------------------------
  1168. #==============================================================================
  1169. # ■ Window_ShopCommand
  1170. #------------------------------------------------------------------------------
  1171. #  商店画面、选择要做的事的窗口
  1172. #==============================================================================

  1173. class Window_ShopCommand < Window_Selectable
  1174.   #--------------------------------------------------------------------------
  1175.   # ● 初始化对像
  1176.   #--------------------------------------------------------------------------
  1177.   def initialize
  1178. # -------------------
  1179. # 修改開始
  1180.     super(0, 64-64, 480, 64)#★★★★★★★★★★★★★★★★★
  1181. # 修改終了
  1182. # -------------------
  1183.     self.contents = Bitmap.new(width - 32, height - 32)
  1184.     @item_max = 3
  1185.     @column_max = 3
  1186.     @commands = ["买", "卖", "取消"]
  1187.     refresh
  1188.     self.index = 0
  1189.   end
  1190. end
  1191. #------------------------------------------------------------------------------



  1192. #------------------------------------------------------------------------------
  1193. #========================================================================================================================
  1194. # ■ Window_ShopBuy
  1195. #------------------------------------------------------------------------------
  1196. #  商店画面、浏览显示可以购买的商品的窗口。
  1197. #==============================================================================

  1198. class Window_ShopBuy < Window_Selectable
  1199.   #--------------------------------------------------------------------------
  1200.   # ● 初始化对像
  1201.   #     shop_goods : 商品
  1202.   #--------------------------------------------------------------------------
  1203.   def initialize(shop_goods)
  1204. # -------------------
  1205. # 修改開始
  1206.     super(0, 128-64, 368, 352+64)#★★★★★★★★★★★★★★★★
  1207. # 修改終了
  1208. # -------------------
  1209.     @shop_goods = shop_goods
  1210.    
  1211.     refresh
  1212.     self.index = 0
  1213.   end
  1214.   #--------------------------------------------------------------------------
  1215.   # ● 刷新帮助文本
  1216.   #--------------------------------------------------------------------------

  1217.   def update_help
  1218.     @help_window.set_text(item)
  1219.     #校正帮助窗口位置
  1220.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1221.   end
  1222. end
  1223. #------------------------------------------------------------------------------



  1224. #------------------------------------------------------------------------------
  1225. #==============================================================================
  1226. # ■ Window_ShopSell
  1227. #------------------------------------------------------------------------------
  1228. #  商店画面、浏览显示可以卖掉的商品的窗口。
  1229. #==============================================================================

  1230. class Window_ShopSell < Window_Selectable
  1231.   #--------------------------------------------------------------------------
  1232.   # ● 初始化对像
  1233.   #--------------------------------------------------------------------------
  1234.   def initialize
  1235. # -------------------
  1236. # 修改開始
  1237.     super(0, 128-64, 640, 352+64)#★★★★★★★★★★★★★★★★
  1238. # 修改終了
  1239. # -------------------
  1240.     @column_max = 2
  1241.    
  1242.     refresh
  1243.     self.index = 0
  1244.   end
  1245.   #--------------------------------------------------------------------------
  1246.   # ● 刷新帮助文本
  1247.   #--------------------------------------------------------------------------

  1248.   def update_help
  1249.     @help_window.set_text(item)
  1250.     #校正帮助窗口位置
  1251.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1252.   end
  1253. end
  1254. #------------------------------------------------------------------------------



  1255. #------------------------------------------------------------------------------
  1256. #==============================================================================
  1257. # ■ Window_ShopNumber
  1258. #------------------------------------------------------------------------------
  1259. #  商店画面、输入买卖数量的窗口。
  1260. #==============================================================================
  1261. class Window_ShopNumber < Window_Base
  1262.   #--------------------------------------------------------------------------
  1263.   # ● 初始化对像
  1264.   #--------------------------------------------------------------------------
  1265.   def initialize
  1266. # -------------------
  1267. # 修改開始
  1268.     super(0, 128-64, 368, 352+64)#★★★★★★★★★★★★★★★★
  1269. # 修改終了
  1270. # -------------------
  1271.     self.contents = Bitmap.new(width - 32, height - 32)
  1272.     @item = nil
  1273.     [url=home.php?mod=space&uid=25307]@Max[/url] = 1
  1274.     @price = 0
  1275.     @number = 1
  1276.   end
  1277. end
  1278. #------------------------------------------------------------------------------



  1279. #------------------------------------------------------------------------------
  1280. #==============================================================================
  1281. # ■ Window_ShopStatus
  1282. #------------------------------------------------------------------------------
  1283. #  商店画面、显示物品所持数与角色装备的窗口。
  1284. #==============================================================================

  1285. class Window_ShopStatus < Window_Base
  1286.   #--------------------------------------------------------------------------
  1287.   # ● 初始化对像
  1288.   #--------------------------------------------------------------------------
  1289.   def initialize
  1290. # -------------------
  1291. # 修改開始
  1292.     super(368, 128-64, 272, 352+64)#★★★★★★★★★★★★
  1293. # 修改終了
  1294. # -------------------
  1295.     self.contents = Bitmap.new(width - 32, height - 32)
  1296.     @item = nil
  1297.     refresh
  1298.   end
  1299. end
  1300. #------------------------------------------------------------------------------



  1301. #------------------------------------------------------------------------------
  1302. #==============================================================================
  1303. # ■ Scene_Equip
  1304. #------------------------------------------------------------------------------
  1305. #  处理装备画面的类。
  1306. #==============================================================================

  1307. class Scene_Equip
  1308.   #--------------------------------------------------------------------------
  1309.   # ● 刷新画面 (右侧窗口被激活的情况下)
  1310.   #--------------------------------------------------------------------------
  1311.   def update_right
  1312. # -------------------
  1313. # 修改開始
  1314.     if @right_window.item==nil
  1315.         @help_window.visible=false
  1316.     else
  1317.         @help_window.visible=true
  1318.     end
  1319. # 修改終了
  1320. # -------------------
  1321.     # 按下 B 键的情况下
  1322.     if Input.trigger?(Input::B)
  1323.       # 演奏取消 SE
  1324.       $game_system.se_play($data_system.cancel_se)
  1325.       # 切换到菜单画面
  1326.       $scene = Scene_Menu.new(2)
  1327.       return
  1328.     end
  1329.     # 按下 C 键的情况下
  1330.     if Input.trigger?(Input::C)
  1331.       # 固定装备的情况下
  1332.       if @actor.equip_fix?(@right_window.index)
  1333.         # 演奏冻结 SE
  1334.         $game_system.se_play($data_system.buzzer_se)
  1335.         return
  1336.       end
  1337.       # 演奏确定 SE
  1338.       $game_system.se_play($data_system.decision_se)
  1339.       # 激活物品窗口
  1340.       @right_window.active = false
  1341.       @item_window.active = true
  1342.       @item_window.index = 0
  1343.       return
  1344.     end
  1345.     # 按下 R 键的情况下
  1346.     if Input.trigger?(Input::R)
  1347.       # 演奏光标 SE
  1348.       $game_system.se_play($data_system.cursor_se)
  1349.       # 移至下一位角色
  1350.       @actor_index += 1
  1351.       @actor_index %= $game_party.actors.size
  1352.       # 切换到别的装备画面
  1353.       $scene = Scene_Equip.new(@actor_index, @right_window.index)
  1354.       return
  1355.     end
  1356.     # 按下 L 键的情况下
  1357.     if Input.trigger?(Input::L)
  1358.       # 演奏光标 SE
  1359.       $game_system.se_play($data_system.cursor_se)
  1360.       # 移至上一位角色
  1361.       @actor_index += $game_party.actors.size - 1
  1362.       @actor_index %= $game_party.actors.size
  1363.       # 切换到别的装备画面
  1364.       $scene = Scene_Equip.new(@actor_index, @right_window.index)
  1365.       return
  1366.     end
  1367.   end
  1368.   #--------------------------------------------------------------------------
  1369.   # ● 刷新画面 (物品窗口被激活的情况下)
  1370.   #--------------------------------------------------------------------------
  1371.   def update_item
  1372. # -------------------
  1373. # 修改開始
  1374.     if @item_window.item==nil
  1375.         @help_window.visible=false
  1376.     else
  1377.         @help_window.visible=true
  1378.     end
  1379. # 修改終了
  1380. # -------------------
  1381.     # 按下 B 键的情况下
  1382.     if Input.trigger?(Input::B)
  1383.       # 演奏取消 SE
  1384.       $game_system.se_play($data_system.cancel_se)
  1385.       # 激活右侧窗口
  1386.       @right_window.active = true
  1387.       @item_window.active = false
  1388.       @item_window.index = -1
  1389.       return
  1390.     end
  1391.     # 按下 C 键的情况下
  1392.     if Input.trigger?(Input::C)
  1393.       # 演奏装备 SE
  1394.       $game_system.se_play($data_system.equip_se)
  1395.       # 获取物品窗口现在选择的装备数据
  1396.       item = @item_window.item
  1397.       # 变更装备
  1398.       @actor.equip(@right_window.index, item == nil ? 0 : item.id)
  1399.       # 激活右侧窗口
  1400.       @right_window.active = true
  1401.       @item_window.active = false
  1402.       @item_window.index = -1
  1403.       # 再生成右侧窗口、物品窗口的内容
  1404.       @right_window.refresh
  1405.       @item_window.refresh
  1406.       return
  1407.     end
  1408.   end
  1409. end
  1410. #------------------------------------------------------------------------------



  1411. #------------------------------------------------------------------------------
  1412. #========================================================================================================================
  1413. # ■ Scene_Battle (分割定义 3)
  1414. #------------------------------------------------------------------------------
  1415. #  处理战斗画面的类。
  1416. #========================================================================================================================

  1417. class Scene_Battle
  1418.   #--------------------------------------------------------------------------
  1419.   # ● 刷新画面 (角色命令回合 : 选择特技)
  1420.   #--------------------------------------------------------------------------
  1421.   alias first_reupdate_phase3_skill_select update_phase3_skill_select
  1422.   def update_phase3_skill_select
  1423. # -------------------
  1424. # 修改開始
  1425.     @skill_window.help_window.visible = false#★★★★★★★★★★★★★
  1426. # 修改終了
  1427. # -------------------
  1428.     first_reupdate_phase3_skill_select
  1429.   end
  1430.   #--------------------------------------------------------------------------
  1431.   # ● 刷新画面 (角色命令回合 : 选择物品)
  1432.   #--------------------------------------------------------------------------
  1433.   alias first_reupdate_phase3_item_select update_phase3_item_select  
  1434.   def update_phase3_item_select
  1435. # -------------------
  1436. # 修改開始
  1437.     @item_window.help_window.visible = false#★★★★★★★★★★★★
  1438. # 修改終了
  1439. # -------------------
  1440.     first_reupdate_phase3_item_select
  1441.   end
  1442.   #--------------------------------------------------------------------------
  1443.   # ● 开始选择特技
  1444.   #--------------------------------------------------------------------------
  1445.   def start_skill_select
  1446.     @skill_window = Window_Skill.new(@active_battler)
  1447.     @skill_window.help_window = Window_Help.new
  1448.     @actor_command_window.active = false
  1449.     @actor_command_window.visible = false
  1450.   end
  1451.   #--------------------------------------------------------------------------
  1452.   # ● 选择特技结束
  1453.   #--------------------------------------------------------------------------
  1454.   alias first_update_end_skill_select end_skill_select  
  1455.   def end_skill_select
  1456. # -------------------
  1457. # 修改開始
  1458.     @skill_window.help_window.visible = false#★★★★★★★★★★★★
  1459. # 修改終了
  1460. # -------------------
  1461.     first_update_end_skill_select
  1462.   end
  1463.   #--------------------------------------------------------------------------
  1464.   # ● 开始选择物品
  1465.   #--------------------------------------------------------------------------
  1466.   def start_item_select
  1467.     # 生成物品窗口
  1468.     @item_window = Window_Item.new
  1469.     # 关联帮助窗口
  1470. # -------------------
  1471. # 修改開始
  1472.     @item_window.help_window =  Window_Help.new#★★★★★★★★★★★★
  1473. # 修改終了
  1474. # -------------------
  1475.     # 无效化角色指令窗口
  1476.     @actor_command_window.active = false
  1477.     @actor_command_window.visible = false
  1478.   end
  1479.   #--------------------------------------------------------------------------
  1480.   # ● 结束选择物品
  1481.   #--------------------------------------------------------------------------
  1482.   alias first_update_end_item_select end_item_select
  1483.   def end_item_select
  1484. # -------------------
  1485. # 修改開始
  1486.     @item_window.help_window.visible = false#★★★★★★★★★★★★
  1487. # 修改終了
  1488. # -------------------
  1489.     first_update_end_item_select
  1490.   end
  1491. end
  1492. #------------------------------------------------------------------------------



  1493. #------------------------------------------------------------------------------
  1494. #==============================================================================
  1495. # ■ Scene_Shop
  1496. #------------------------------------------------------------------------------
  1497. #  处理商店画面的类。
  1498. #==============================================================================

  1499. class Scene_Shop
  1500.   #--------------------------------------------------------------------------
  1501.   # ● 主处理
  1502.   #--------------------------------------------------------------------------
  1503. # --------------------
  1504. # 衝突可能
  1505.   def main
  1506.     # 生成帮助窗口
  1507. # -------------------
  1508. # 修改開始
  1509.     @help_window = Window_Help.new#★★★★★★★★★★★★★★★★
  1510. # 修改終了
  1511. # -------------------
  1512.     # 生成指令窗口
  1513.     @command_window = Window_ShopCommand.new
  1514.     # 生成金钱窗口
  1515.     @gold_window = Window_Gold.new
  1516.     @gold_window.x = 480
  1517. # -------------------
  1518. # 修改開始
  1519.     @gold_window.y = 64-64#★★★★★★★★★★★★★
  1520. # 修改終了
  1521. # -------------------
  1522.     # 生成时间窗口
  1523. # -------------------
  1524. # 修改開始
  1525.     @dummy_window = Window_Base.new(0, 128-64, 640, 352+64)#★★★★★★★★★★★★★
  1526. # 修改終了
  1527. # -------------------
  1528.     # 生成购买窗口
  1529.     @buy_window = Window_ShopBuy.new($game_temp.shop_goods)
  1530.     @buy_window.active = false
  1531.     @buy_window.visible = false
  1532.     @buy_window.help_window = @help_window
  1533.     # 生成卖出窗口
  1534.     @sell_window = Window_ShopSell.new
  1535.     @sell_window.active = false
  1536.     @sell_window.visible = false
  1537.     @sell_window.help_window = @help_window
  1538.     # 生成数量输入窗口
  1539.     @number_window = Window_ShopNumber.new
  1540.     @number_window.active = false
  1541.     @number_window.visible = false
  1542.     # 生成状态窗口
  1543.     @status_window = Window_ShopStatus.new
  1544.     @status_window.visible = false
  1545.     # 执行过渡
  1546.     Graphics.transition
  1547.     # 主循环
  1548.     loop do
  1549.       # 刷新游戏画面
  1550.       Graphics.update
  1551.       # 刷新输入信息
  1552.       Input.update
  1553.       # 刷新画面
  1554.       update
  1555.       # 如果画面切换的话就中断循环
  1556.       if $scene != self
  1557.         break
  1558.       end
  1559.     end
  1560.     # 准备过渡
  1561.     Graphics.freeze
  1562.     # 释放窗口
  1563.     @help_window.dispose
  1564.     @command_window.dispose
  1565.     @gold_window.dispose
  1566.     @dummy_window.dispose
  1567.     @buy_window.dispose
  1568.     @sell_window.dispose
  1569.     @number_window.dispose
  1570.     @status_window.dispose
  1571.   end
  1572.   #--------------------------------------------------------------------------
  1573.   # ● 刷新画面
  1574.   #--------------------------------------------------------------------------
  1575. # --------------------
  1576. # 衝突可能
  1577.   def update
  1578.     # 刷新窗口
  1579.     @help_window.update
  1580.     @command_window.update
  1581.     @gold_window.update
  1582.     @dummy_window.update
  1583.     @buy_window.update
  1584.     @sell_window.update
  1585.     @number_window.update
  1586.     @status_window.update
  1587.     # 指令窗口激活的情况下: 调用 update_command
  1588.     if @command_window.active
  1589. # -------------------
  1590. # 修改開始
  1591.       @help_window.visible=false#★★★★★★★★★★★★★★★★
  1592. # 修改終了
  1593. # -------------------
  1594.       update_command
  1595.       return
  1596.     end
  1597.     # 购买窗口激活的情况下: 调用 update_buy
  1598.     if @buy_window.active
  1599. # -------------------
  1600. # 修改開始
  1601.       @help_window.visible=true#★★★★★★★★★★★★★★★★
  1602.       if @buy_window.item==nil#★★★★★★★★★★★★★★★★
  1603.         @help_window.visible=false#★★★★★★★★★★★★★★★★
  1604.       end #★★★★★★★★★★★★★★★★     
  1605. # 修改終了
  1606. # -------------------
  1607.       update_buy
  1608.       return
  1609.     end
  1610.     # 卖出窗口激活的情况下: 调用 update_sell
  1611.     if @sell_window.active
  1612. # -------------------
  1613. # 修改開始
  1614.       @help_window.visible=true#★★★★★★★★★★★★★★★★
  1615.       if @sell_window.item==nil#★★★★★★★★★★★★★★★★
  1616.         @help_window.visible=false#★★★★★★★★★★★★★★★★
  1617.       end #★★★★★★★★★★★★★★★★
  1618. # 修改終了
  1619. # -------------------      
  1620.       update_sell
  1621.       return
  1622.     end
  1623.     # 个数输入窗口激活的情况下: 调用 update_number
  1624.     if @number_window.active
  1625. # -------------------
  1626. # 修改開始
  1627.       @help_window.visible=false#★★★★★★★★★★★★★★★★
  1628. # 修改終了
  1629. # -------------------
  1630.       update_number
  1631.       return
  1632.     end
  1633.   end
  1634. end
复制代码


这个是原脚本,大神们看一下。

点评

你加我微信吧W976257309  发表于 2016-11-5 21:57
粗略估计装备名称颜色是根据983行决定的  发表于 2016-11-5 21:40
我加你QQ或者微信吧  发表于 2016-11-5 19:41
手机回复不太方便,显示白色字一般来说在描绘文本的时候调用的是normal color,改成其他的就好,或者直接指定RGB值  发表于 2016-11-5 19:36
这个我知道,这个是显示装备属性的脚本,但是显示的窗口字体都是白色的,我想弄成有颜色的,这个脚本有这个功能吗?  发表于 2016-11-5 19:27
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
34 小时
注册时间
2014-7-16
帖子
61
9
 楼主| 发表于 2016-11-5 19:26:39 | 只看该作者
H海GG 发表于 2016-11-5 19:21
这个是原脚本,大神们看一下。

这个我知道,这个是显示装备属性的脚本,但是显示的窗口字体都是白色的,我想弄成有颜色的,这个脚本有这个功能吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-30 14:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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