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

Project1

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

[已经解决] 显示技能名字文字或图片设定

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2013-3-3
帖子
36
跳转到指定楼层
1
发表于 2013-3-19 15:27:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x

上面这里显示文字的设定,比如颜色字体大小之类的,或者更改成图片显示
脚本应该是这个吧
代码复制
  1. #==============================================================================
  2. # ■ Window_Help
  3. #------------------------------------------------------------------------------
  4. # 原作:xuelong
  5. # 修正:水迭澜
  6. # 移植:禾西
  7. #==============================================================================
  8. class Window_Help < Window_Base
  9.   #--------------------------------------------------------------------------
  10.   # ● 定義
  11.   #--------------------------------------------------------------------------
  12.   def set
  13.     @phrase,@y= {}, 0
  14.     @scope, @parameter_type = [], []
  15. =begin
  16.     @name_size = 名字文字大小
  17.     @size = 描述文字大小
  18.     @word = 每行的描述文字數
  19. =end
  20.     @name_size = 18
  21.     @size = 14
  22.     @word = 11
  23.  
  24.     # 不顯示的 屬性 與 狀態 ID
  25.     @unshow_elements = [55, 57]
  26.     @unshow_states = []
  27.  
  28.     # 基本文字設定
  29.     @phrase[:price]          = "价格"
  30.     @phrase[:elements]       = "攻击属性"
  31.     @phrase[:states]         = "附加状态"
  32.     @phrase[:guard_elements] = "属性伤害减半"
  33.     @phrase[:guard_states]   = "无效化状态"
  34.     #------------------#
  35.     #   物品效果語句   #
  36.     #------------------#
  37.     @phrase[:recover]      = "回复"
  38.     @phrase[:hp]           = "HP"
  39.     @phrase[:mp]           = "MP"
  40.     @phrase[:plus_states]  = "状态附加"
  41.     @phrase[:minus_states] = "状态解除"
  42.     @phrase[:speed]        = "速度补正"
  43.     @phrase[:consumable]   = "消耗品"
  44.     @phrase[:base_damage]  = "基本伤害"
  45.     #------------------#
  46.     #   特殊效果語句   #
  47.     #------------------#
  48.     @phrase[:special]          = "特殊"
  49.     @phrase[:two_handed]       = "双手武器"
  50.     @phrase[:fast_attack]      = "回合内先攻击"
  51.     @phrase[:dual_attack]      = "连续攻击"
  52.     @phrase[:critical_bonus]   = "会心频发"
  53.     @phrase[:prevent_critical] = "会心防止"
  54.     @phrase[:half_mp_cost]     = "消耗MP减半"
  55.     @phrase[:double_exp_gain]  = "取得经验值2倍"
  56.     @phrase[:auto_hp_recover]  = "HP自动回复"
  57.     @phrase[:physical_attack]  = "物理攻击"
  58.     @phrase[:damage_to_mp]     = "MP伤害"
  59.     @phrase[:absorb_damage]    = "伤害吸收"
  60.     @phrase[:ignore_defense]   = "无视防御力"
  61.     #------------------#
  62.     #   技能描述語句   #
  63.     #------------------#
  64.     @phrase[:recovery] = "回复力"
  65.     @phrase[:mp_cost]  = "消耗SP"
  66.     @phrase[:hit]      = "命中率"
  67.     #------------------#
  68.     #   效果範圍語句   #
  69.     #------------------#
  70.     @phrase[:scope]    = "效果范围"
  71.     @scope[0]  = "特殊"
  72.     @scope[1]  = "敌单体"
  73.     @scope[2]  = "敌全体"
  74.     @scope[3]  = "敌单体 连续"
  75.     @scope[4]  = "敌单体 随即"
  76.     @scope[5]  = "敌二体 随即"
  77.     @scope[6]  = "敌三体 随即"
  78.     @scope[7]  = "已方単体"
  79.     @scope[8]  = "已方全体"
  80.     @scope[9]  = "已方战斗不能(单)"
  81.     @scope[10] = "已方战斗不能(全)"
  82.     @scope[11] = "使用者"
  83.     #------------------#
  84.     #   效果範圍語句   #
  85.     #------------------#
  86.     @parameter_type[1] = "MaxHP"
  87.     @parameter_type[2] = "MaxMP"
  88.     @parameter_type[3] = $data_system.terms.atk
  89.     @parameter_type[4] = $data_system.terms.def
  90.     @parameter_type[5] = $data_system.terms.spi
  91.     @parameter_type[6] = $data_system.terms.agi
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ● 初始化對象
  95.   #--------------------------------------------------------------------------
  96.   def initialize
  97.     super(0, 0, 544, WLH + 32)
  98.     self.opacity = 200
  99.     self.z = 150
  100.     self.visible = false
  101.   end
  102.   #--------------------------------------------------------------------------
  103.   # ● 設置文本
  104.   #     data  : 窗口顯示的字符串/物品資料
  105.   #     align : 對齊方式 (0..左對齊、1..中間對齊、2..右對齊)
  106.   #--------------------------------------------------------------------------
  107.   def set_text(data, align=0)
  108.     #------------------------------------------------------------------------
  109.     # ● 當資料爲文字時候
  110.     #------------------------------------------------------------------------
  111.     if data != @text or align != @align
  112.       if data.is_a?(String)
  113.         draw_string("",align)
  114.         draw_string(data,align)
  115.       end
  116.     end
  117.     return if data.is_a?(String)
  118.     #------------------------------------------------------------------------
  119.     # ● 當沒有資料時候
  120.     #------------------------------------------------------------------------
  121.     if data.nil?
  122.       self.visible=false
  123.     else
  124.       self.visible=true
  125.     end
  126.     #------------------------------------------------------------------------
  127.     # ● 當資料爲物品/技能時候
  128.     #------------------------------------------------------------------------
  129.     if data != nil && @data != data
  130.       self.width = 210
  131.       self.height = 430
  132.       self.x=0
  133.       self.y=200
  134.       set
  135.       draw_data(data)
  136.     else
  137.       return
  138.     end
  139.   end
  140.   #--------------------------------------------------------------------------
  141.   # ● 更新帮助窗口
  142.   #--------------------------------------------------------------------------
  143.   def draw_string(data,align)
  144.     self.width = 544        #修正寬度
  145.     self.height = WLH + 32  #修正高度
  146.     self.x=0                #修正 x 坐標
  147.     self.y=0                #修正 y 坐標
  148.     @text = data            #記錄文本資料
  149.     @align = align          #記錄對齊方式
  150.     @actor = nil            #清空角色資料
  151.     self.contents = Bitmap.new(width - 32, height - 32) if self.contents.nil?
  152.     self.contents.clear
  153.     self.contents.font.color = normal_color
  154.     self.contents.font.size = 20
  155.     self.contents.draw_text(4, 0, self.width - 40, 32, data, align)
  156.     self.visible = true
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ● 更新帮助窗口
  160.   #--------------------------------------------------------------------------
  161.   def draw_data(data=@data)
  162.     self.width = 186        #修正寬度
  163.     self.height = 430       #修正高度
  164.     self.x=0                #修正 x 坐標
  165.     self.y=150              #修正 y 坐標
  166.     @data = data            #記錄 data 資料
  167.     case @data
  168.     when RPG::Item
  169.       set_item_text(@data)
  170.     when RPG::Weapon, RPG::Armor
  171.       set_equipment_text(@data)
  172.     when RPG::Skill
  173.       set_skill_text(@data)
  174.     end
  175.   end
  176.   #--------------------------------------------------------------------------
  177.   # ● 修正窗口位置
  178.   #--------------------------------------------------------------------------
  179.   def set_pos(x,y,width,oy,index,column_max)
  180.     cursor_width = width / column_max - 32
  181.     xx = index % column_max * (cursor_width + WLH)
  182.     yy = index / column_max * WLH - oy
  183.     self.x=xx+x+140
  184.     self.y=yy+y+35
  185.     self.z=999
  186.     if self.x+self.width>544
  187.       self.x=544-self.width
  188.     end
  189.     if self.y+self.height>416
  190.       self.y=416-self.height
  191.     end  
  192.   end
  193.   #------------------------------------------------------------------------
  194.   # ● 文字描繪
  195.   #------------------------------------------------------------------------
  196.   def draw_text(text, increase, move=0)
  197.     @y += increase
  198.     self.contents.font.color = normal_color
  199.     self.contents.font.size = @size
  200.     self.contents.draw_text(0+move, @y*@size+5, text.size*6, @size, text, 0)
  201.   end
  202. #-------------------------------------#
  203. # 子方法
  204. #-------------------------------------#
  205.   #--------------------------------------------------------------------------
  206.   # ● 裝備幫助窗口
  207.   #--------------------------------------------------------------------------
  208.   def set_equipment_text(equipment)
  209.     #------------------------------------------------------------------------
  210.     # ● 取得基本質料
  211.     #------------------------------------------------------------------------
  212.  
  213.     #----------------------------#
  214.     # 取得屬性、狀態、說明之副本 #
  215.     #----------------------------#
  216.     element_set = equipment.element_set.clone
  217.     state_set   = equipment.state_set.clone
  218.     description = equipment.description.clone
  219.     phrase      = @phrase
  220.     #----------------------------#
  221.     # 過濾不顯示的屬性與狀態描述 #
  222.     #----------------------------#
  223.     element_set -= @unshow_elements
  224.     state_set   -= @unshow_states
  225.     #----------------#
  226.     # 初始化數據設定 #
  227.     #----------------#
  228.     x, h, move = 0, 0, 0
  229.     #------------------#
  230.     # 取得特殊效果數據 #
  231.     #------------------#
  232.     special = []
  233.     case equipment
  234.     when RPG::Weapon
  235.       special << phrase[:two_handed]      if equipment.two_handed
  236.       special << phrase[:fast_attack]     if equipment.fast_attack
  237.       special << phrase[:dual_attack]     if equipment.dual_attack
  238.       special << phrase[:critical_bonus]  if equipment.critical_bonus
  239.     when RPG::Armor
  240.       special << phrase[:prevent_critical]if equipment.prevent_critical
  241.       special << phrase[:half_mp_cost]    if equipment.half_mp_cost
  242.       special << phrase[:double_exp_gain] if equipment.double_exp_gain
  243.       special << phrase[:auto_hp_recover] if equipment.auto_hp_recover
  244.     end
  245.     #------------------------------------------------------------------------
  246.     # ● 確定背景圖片的高度
  247.     #------------------------------------------------------------------------
  248.     h += (description.size/3/@word)
  249.     h += 1 if (description.size/3%@word) > 0
  250.     now_h = h
  251.  
  252.     h += 1                               #價格
  253.  
  254.     h += 1 unless equipment.atk.zero?    #攻擊力
  255.     h += 1 unless equipment.def.zero?    #防禦力
  256.     h += 1 unless equipment.spi.zero?    #精神力
  257.     h += 1 unless equipment.agi.zero?    #敏捷力
  258.  
  259.     h += element_set.size + 1 if element_set.size > 0  #屬性
  260.     h += state_set.size   + 1 if state_set.size   > 0  #狀態
  261.     h += special.size     + 1 if special.size     > 0  #特殊效果
  262.  
  263.     #------------------------------------------------------------------------
  264.     # ● 圖片顯示保證高度
  265.     #------------------------------------------------------------------------
  266.     #h = 6 + now_h if (h - now_h) < 6
  267.     #------------------------------------------------------------------------
  268.     # ● 換算高度
  269.     #------------------------------------------------------------------------
  270.     self.height = h * @size + @name_size + 32
  271.     #------------------------------------------------------------------------
  272.     # ● 生成背景
  273.     #------------------------------------------------------------------------
  274.     self.contents = Bitmap.new(self.width - 32, self.height - 32)
  275.     self.contents.clear
  276.     #------------------------------------------------------------------------
  277.     # ● 名字描繪
  278.     #------------------------------------------------------------------------
  279.     text = equipment.name
  280.     self.contents.font.color = normal_color
  281.     self.contents.font.size = @name_size
  282.     if text.nil?
  283.       self.visible = false
  284.     else
  285.       self.visible = true
  286.       self.contents.draw_text(0, 0, text.size*7, @name_size, text, 0)
  287.     end
  288.     #------------------------------------------------------------------------
  289.     # ● 說明描繪
  290.     #------------------------------------------------------------------------
  291.     x = 0
  292.     @y += 1
  293.     while ((text = description.slice!(/./m)) != nil)
  294.       self.contents.font.color = normal_color
  295.       self.contents.font.size = @size
  296.       self.contents.draw_text(x*@size, @y*@size+5, @size, @size, text, 0)
  297.       x+=1
  298.       if x == @word
  299.         x=0
  300.         @y+=1
  301.       end
  302.     end
  303.     #------------------------------------------------------------------------
  304.     # ● 圖標描繪
  305.     #------------------------------------------------------------------------
  306.     #bitmap = Cache.system("Iconset")
  307.     #rect = Rect.new(equipment.icon_index % 16 * 24, equipment.icon_index / 16 * 24, 24, 24)
  308.     #self.contents.blt(0, y*size + 20, bitmap, rect, 255)
  309.     #------------------------------------------------------------------------
  310.     # ● 價格描繪
  311.     #------------------------------------------------------------------------
  312.     unless equipment.price.zero?
  313.       text = phrase[:price] + ":" + equipment.price.to_s
  314.       draw_text(text, 1, move)
  315.     end
  316.     #------------------------------------------------------------------------
  317.     # ● 攻擊力
  318.     #------------------------------------------------------------------------
  319.     unless equipment.atk.zero?
  320.       text = $data_system.terms.atk + ":" + equipment.atk.to_s
  321.       draw_text(text, 1, move)
  322.     end
  323.     #------------------------------------------------------------------------
  324.     # ● 防禦力
  325.     #------------------------------------------------------------------------
  326.     unless equipment.def.zero?
  327.       text = $data_system.terms.def + ":" + equipment.def.to_s
  328.       draw_text(text, 1, move)
  329.     end
  330.     #------------------------------------------------------------------------
  331.     # ● 精神力
  332.     #------------------------------------------------------------------------
  333.     unless equipment.spi.zero?
  334.       text = $data_system.terms.spi + ":" + equipment.spi.to_s
  335.       draw_text(text, 1, move)
  336.     end
  337.     #------------------------------------------------------------------------
  338.     # ● 敏捷力
  339.     #------------------------------------------------------------------------
  340.     unless equipment.agi.zero?
  341.       text = $data_system.terms.agi + ":" + equipment.agi.to_s
  342.       draw_text(text, 1, move)
  343.     end
  344.     #------------------------------------------------------------------------
  345.     # ● 屬性
  346.     #------------------------------------------------------------------------
  347.     if element_set.size > 0
  348.       case equipment
  349.       when RPG::Weapon
  350.         text=phrase[:elements]+":"
  351.       when RPG::Armor
  352.         text=phrase[:guard_elements]+":"
  353.       end
  354.       draw_text(text, 1, move)
  355.       element_set.each do |i|
  356.         text = $data_system.elements[i]
  357.         draw_text(text, 1, move + @size)
  358.       end
  359.     end
  360.     #------------------------------------------------------------------------
  361.     # ● 狀態
  362.     #------------------------------------------------------------------------
  363.     if state_set.size > 0
  364.       case equipment
  365.       when RPG::Weapon
  366.         text=phrase[:states]+":"
  367.       when RPG::Armor
  368.         text=phrase[:guard_states]+":"
  369.       end
  370.       draw_text(text, 1, move)
  371.       state_set.each do |i|
  372.         text = $data_states[i].name
  373.         draw_text(text, 1, move + @size)
  374.       end
  375.     end
  376.     #------------------------------------------------------------------------
  377.     # ● 特殊效果
  378.     #------------------------------------------------------------------------
  379.     if special.size > 0
  380.       text = phrase[:special]+":"
  381.       draw_text(text, 1, move)
  382.       special.each {|text| draw_text(text, 1, move + @size)}
  383.     end
  384.   end
  385. #////////////////////////////////////////////////////////////////////////////
  386.   #--------------------------------------------------------------------------
  387.   # ● 物品幫助窗口
  388.   #--------------------------------------------------------------------------
  389.   def set_item_text(item)
  390.     #----------------------------#
  391.     # 取得屬性、狀態、說明之副本 #
  392.     #----------------------------#
  393.     description = item.description.clone
  394.     element_set = item.element_set.clone
  395.     plus_state_set = item.plus_state_set.clone
  396.     minus_state_set = item.minus_state_set.clone
  397.     # 過濾不顯示的描述
  398.     element_set -= @unshow_elements
  399.     plus_state_set -= @unshow_states
  400.     minus_state_set -= @unshow_states
  401.     # 初始化數據設定
  402.     x, h, move = 0, 0, 0
  403.     phrase = @phrase
  404.     scope = @scope
  405.     parameter_type = @parameter_type
  406.     occasion = @occasion
  407.     # 基本文字設定
  408.  
  409.  
  410.     #------------------#
  411.     # 取得特殊效果數據 #
  412.     #------------------#
  413.     special = []
  414.     special << phrase[:physical_attack] if item.physical_attack #物理攻撃
  415.     special << phrase[:damage_to_mp]    if item.damage_to_mp    #MPにダメージ
  416.     special << phrase[:absorb_damage]   if item.absorb_damage   #ダメージを吸収
  417.     special << phrase[:ignore_defense]  if item.ignore_defense  #防御力無視
  418.  
  419.     #------------------------------------------------------------------------
  420.     # ● 確定背景圖片的高度
  421.     #------------------------------------------------------------------------
  422.     h += (description.size/3/@word)
  423.     h += 1 if (description.size/3%@word) > 0
  424.     now_h = h
  425.  
  426.     h += 2                                  #効果範囲,價格
  427.     h += 1 if item.consumable               #消耗品
  428.     h += 1 unless item.speed.zero?          #速度補正値
  429.  
  430.     h += 1 unless item.hp_recovery_rate==0 and item.hp_recovery==0 #HP 回復
  431.     h += 1 unless item.mp_recovery_rate==0 and item.mp_recovery==0 #MP 回復
  432.  
  433.     h += 1 unless item.parameter_type.zero? #能力値
  434.     h += 1 unless item.base_damage.zero?    #基本ダメージ
  435.  
  436.     h += element_set.size     + 1 if element_set.size     > 0  #屬性
  437.     h += plus_state_set.size  + 1 if plus_state_set.size  > 0  #附加狀態
  438.     h += minus_state_set.size + 1 if minus_state_set.size > 0  #解除狀態
  439.     h += special.size         + 1 if special.size         > 0  #特殊效果
  440.  
  441.     #------------------------------------------------------------------------
  442.     # ● 圖片顯示保證高度
  443.     #------------------------------------------------------------------------
  444.     #h = 6 + now_h if (h - now_h) < 6
  445.     #------------------------------------------------------------------------
  446.     # ● 換算高度
  447.     #------------------------------------------------------------------------
  448.     self.height = h * @size + @name_size + 32
  449.     #------------------------------------------------------------------------
  450.     # ● 生成背景
  451.     #------------------------------------------------------------------------
  452.     self.contents = Bitmap.new(self.width - 32, self.height - 32)
  453.     self.contents.clear
  454.     #------------------------------------------------------------------------
  455.     # ● 名字描繪
  456.     #------------------------------------------------------------------------
  457.     text = item.name
  458.     self.contents.font.color = normal_color#顔色腳本
  459.     self.contents.font.size = @name_size
  460.     if text.nil?
  461.       self.visible = false
  462.     else
  463.       self.visible = true
  464.       self.contents.draw_text(0,0, text.size*7, 20, text, 0)
  465.     end
  466.     #------------------------------------------------------------------------
  467.     # ● 說明描繪
  468.     #------------------------------------------------------------------------
  469.      x = 0
  470.     @y += 1
  471.     while ((text = description.slice!(/./m)) != nil)
  472.       self.contents.font.color = normal_color
  473.       self.contents.font.size = @size
  474.       self.contents.draw_text(x*@size, @y*@size+5, @size, @size, text, 0)
  475.       x+=1
  476.       if x == @word
  477.          x = 0
  478.         @y += 1
  479.       end
  480.     end
  481.     #------------------------------------------------------------------------
  482.     # ● 圖標描繪
  483.     #------------------------------------------------------------------------
  484.     #bitmap = Cache.system("Iconset")
  485.     #rect = Rect.new(item.icon_index % 16 * 24, equipment.icon_index / 16 * 24, 24, 24)
  486.     #self.contents.blt(0, y*size + 20, bitmap, rect, 255)
  487.     #------------------------------------------------------------------------
  488.     # ● 效果範圍
  489.     #------------------------------------------------------------------------
  490.     text = phrase[:scope] +":"
  491.     draw_text(text, 1, move)
  492.     text = scope[item.scope]
  493.     draw_text(text, 1, move + @size)
  494.     #------------------------------------------------------------------------
  495.     # ● 價格
  496.     #------------------------------------------------------------------------
  497.     text = phrase[:price] + item.price.to_s
  498.     draw_text(text, 1, move)
  499.     #------------------------------------------------------------------------
  500.     # ● 消耗品
  501.     #------------------------------------------------------------------------
  502.     if item.consumable
  503.       text = phrase[:consumable]
  504.       draw_text(text, 1, move)
  505.     end
  506.     #------------------------------------------------------------------------
  507.     # ● 速度補正値
  508.     #------------------------------------------------------------------------
  509.     unless item.speed.zero?
  510.       text = phrase[:speed]
  511.       draw_text(text, 1, move)
  512.     end
  513.     #------------------------------------------------------------------------
  514.     # ● HP回復
  515.     #------------------------------------------------------------------------
  516.     unless item.hp_recovery_rate.zero? and item.hp_recovery.zero?
  517.       if item.hp_recovery_rate > 0 and item.hp_recovery > 0
  518.         text = " + "
  519.       else
  520.         text = ""
  521.       end
  522.  
  523.       unless item.hp_recovery_rate.zero?
  524.         text = item.hp_recovery_rate.to_s + "%" + text
  525.       end
  526.       unless item.hp_recovery.zero?
  527.         text += item.hp_recovery.to_s
  528.       end
  529.       text = phrase[:recover] +":" + phrase[:hp] + text
  530.       draw_text(text, 1, move)
  531.     end
  532.     #------------------------------------------------------------------------
  533.     # ● SP回復
  534.     #------------------------------------------------------------------------
  535.     unless item.mp_recovery_rate.zero? and item.mp_recovery.zero?
  536.       if item.mp_recovery_rate > 0 and item.mp_recovery > 0
  537.         text = " + "
  538.       else
  539.         text = ""
  540.       end
  541.  
  542.       unless item.mp_recovery_rate.zero?
  543.         text = item.mp_recovery_rate.to_s + "%" + text
  544.       end
  545.       unless item.mp_recovery.zero?
  546.         text += item.mp_recovery.to_s
  547.       end
  548.       text = phrase[:recover] +":" + phrase[:mp] + text
  549.       draw_text(text, 1, move)
  550.     end
  551.     #------------------------------------------------------------------------
  552.     # ● 能力值增加
  553.     #------------------------------------------------------------------------
  554.     unless item.parameter_type.zero?
  555.       text= parameter_type[item.parameter_type]+" +"+item.parameter_points.to_s
  556.       draw_text(text, 1, move)
  557.     end
  558.     #------------------------------------------------------------------------
  559.     # ● 基本ダメージ
  560.     #------------------------------------------------------------------------
  561.     unless item.base_damage.zero?
  562.       text = phrase[:base_damage] +":" + item.base_damage.to_s
  563.       draw_text(text, 1, move)
  564.     end
  565.     #------------------------------------------------------------------------
  566.     # ● 屬性
  567.     #------------------------------------------------------------------------
  568.     if element_set.size > 0
  569.       text = phrase[:elements]+":"
  570.       draw_text(text, 1, move)
  571.       element_set.each do |i|
  572.         text = $data_system.elements[i]
  573.         draw_text(text, 1, move + @size)
  574.       end
  575.     end
  576.     #------------------------------------------------------------------------
  577.     # ● 添加狀態
  578.     #------------------------------------------------------------------------
  579.     unless plus_state_set.empty?
  580.       text = phrase[:plus_states]+":"
  581.       draw_text(text, 1, move)
  582.       plus_state_set.each do |i|
  583.         text = $data_states[i].name
  584.         draw_text(text, 1, move + @size)
  585.       end
  586.     end
  587.     #------------------------------------------------------------------------
  588.     # ● 解除狀態
  589.     #------------------------------------------------------------------------
  590.     unless minus_state_set.empty?
  591.       text = phrase[:minus_states]+":"
  592.       draw_text(text, 1, move)
  593.       minus_state_set.each do |i|
  594.         text = $data_states[i].name
  595.         draw_text(text, 1, move + @size)
  596.       end
  597.     end
  598.     #------------------------------------------------------------------------
  599.     # ● 特殊效果
  600.     #------------------------------------------------------------------------
  601.     if special.size > 0
  602.       text = phrase[:special]+":"
  603.       draw_text(text, 1, move)
  604.       special.each {|text| draw_text(text, 1, move + @size)}
  605.     end
  606.   end
  607. #////////////////////////////////////////////////////////////////////////////
  608.   #--------------------------------------------------------------------------
  609.   # ● 技能帮助窗口
  610.   #--------------------------------------------------------------------------
  611.   def set_skill_text(skill)
  612.     #----------------------------#
  613.     # 取得屬性、狀態、說明之副本 #
  614.     #----------------------------#
  615.     description = skill.description.clone
  616.     element_set = skill.element_set.clone
  617.     plus_state_set = skill.plus_state_set.clone
  618.     minus_state_set = skill.minus_state_set.clone
  619.     # 過濾不顯示的描述
  620.     element_set -= @unshow_elements
  621.     plus_state_set -= @unshow_states
  622.     minus_state_set -= @unshow_states
  623.     # 初始化設定
  624.     x ,h, move = 0, 0, 0
  625.     phrase = @phrase
  626.     scope = @scope
  627.     #------------------#
  628.     # 取得特殊效果數據 #
  629.     #------------------#
  630.     special = []
  631.     special << phrase[:physical_attack] if skill.physical_attack #物理攻撃
  632.     special << phrase[:damage_to_mp]    if skill.damage_to_mp    #MPにダメージ
  633.     special << phrase[:absorb_damage]   if skill.absorb_damage   #ダメージを吸収
  634.     special << phrase[:ignore_defense]  if skill.ignore_defense  #防御力無視
  635.     #------------------------------------------------------------------------
  636.     # ● 確定背景圖片的高度
  637.     #------------------------------------------------------------------------
  638.     h += (description.size/3/@word)
  639.     h += 1 if (description.size/3%@word) > 0
  640.     now_h = h
  641.  
  642.     h += 4                                  #効果範囲,消費MP,命中率
  643.     h += 1 unless skill.speed.zero?         #速度補正値
  644.     h += 1 unless skill.base_damage.zero?   #基本ダメージ
  645.  
  646.  
  647.  
  648.     h += element_set.size     + 1 if element_set.size     > 0  #屬性
  649.     h += plus_state_set.size  + 1 if plus_state_set.size  > 0  #附加狀態
  650.     h += minus_state_set.size + 1 if minus_state_set.size > 0  #解除狀態
  651.     h += special.size         + 1 if special.size         > 0  #特殊效果
  652.     #------------------------------------------------------------------------
  653.     # ● 換算高度
  654.     #------------------------------------------------------------------------
  655.     self.height=h * @size + @name_size + 32  
  656.     self.contents = Bitmap.new(self.width - 32,self.height - 32)
  657.     self.contents.clear
  658.  
  659.     #------------------------------------------------------------------------
  660.     # ● 名字描述
  661.     #------------------------------------------------------------------------
  662.     text = skill.name
  663.     self.contents.font.color = Color.new(255, 255, 128, 255)
  664.     self.contents.font.size = @name_size
  665.     if text!=nil
  666.       self.visible = true
  667.       self.contents.draw_text(0,0, text.size*7, @name_size, text, 0)
  668.     else
  669.       self.visible = false
  670.     end
  671.  
  672.     #------------------------------------------------------------------------
  673.     # ● 說明描述
  674.     #------------------------------------------------------------------------
  675.     x = 0
  676.     @y += 1
  677.     text = description
  678.     while ((text = description.slice!(/./m)) != nil)
  679.       self.contents.font.color = normal_color
  680.       self.contents.font.size = @size
  681.       self.contents.draw_text(x*@size, @y*@size+5, @size, @size, text, 0)
  682.       x+=1
  683.       if x==@word
  684.         x = 0
  685.         @y += 1
  686.       end
  687.     end
  688.  
  689.     #------------------------------------------------------------------------
  690.     # ● 攻擊範圍
  691.     #------------------------------------------------------------------------
  692.     text = phrase[:scope] +":"
  693.     draw_text(text, 1, move)
  694.     text = scope[skill.scope]
  695.     draw_text(text, 1, move + @size)
  696.     #------------------------------------------------------------------------
  697.     # ● 基本ダメージ
  698.     #------------------------------------------------------------------------
  699.     unless skill.base_damage .zero?
  700.       text = skill.base_damage > 0 ? phrase[:base_damage] : phrase[:recovery]
  701.       text += ":" + skill.base_damage.abs.to_s
  702.       draw_text(text, 1, move)
  703.     end
  704.     #------------------------------------------------------------------------
  705.     # ● 消費SP描述
  706.     #------------------------------------------------------------------------
  707.     text = phrase[:mp_cost] +":"+ skill.mp_cost.to_s
  708.     draw_text(text, 1, move)
  709.     #------------------------------------------------------------------------
  710.     # ● 命中率描述
  711.     #------------------------------------------------------------------------
  712.     text = phrase[:hit] + ":" + skill.hit.to_s + "%"
  713.     draw_text(text, 1, move)
  714.     #------------------------------------------------------------------------
  715.     # ● 屬性
  716.     #------------------------------------------------------------------------
  717.     if element_set.size > 0
  718.       text = phrase[:elements]+":"
  719.       draw_text(text, 1, move)
  720.       element_set.each do |i|
  721.         text = $data_system.elements[i]
  722.         draw_text(text, 1, move + @size)
  723.       end
  724.     end
  725.     #------------------------------------------------------------------------
  726.     # ● 添加狀態
  727.     #------------------------------------------------------------------------
  728.     unless plus_state_set.empty?
  729.       text = phrase[:plus_states]+":"
  730.       draw_text(text, 1, move)
  731.       plus_state_set.each do |i|
  732.         text = $data_states[i].name
  733.         draw_text(text, 1, move + @size)
  734.       end
  735.     end
  736.     #------------------------------------------------------------------------
  737.     # ● 解除狀態
  738.     #------------------------------------------------------------------------
  739.     unless minus_state_set.empty?
  740.       text = phrase[:minus_states]+":"
  741.       draw_text(text, 1, move)
  742.       minus_state_set.each do |i|
  743.         text = $data_states[i].name
  744.         draw_text(text, 1, move + @size)
  745.       end
  746.     end
  747.     #------------------------------------------------------------------------
  748.     # ● 特殊效果
  749.     #------------------------------------------------------------------------
  750.     if special.size > 0
  751.       text = phrase[:special]+":"
  752.       draw_text(text, 1, move)
  753.       special.each {|text| draw_text(text, 1, move + @size)}
  754.     end  
  755.   end
  756. end
  757.  
  758. #==============================================================================
  759. # ■ Window_Item
  760. #------------------------------------------------------------------------------
  761. #  アイテム画面などで、所持アイテムの一覧を表示するウィンドウです。
  762. #==============================================================================
  763.  
  764. class Window_Item < Window_Selectable
  765.   #--------------------------------------------------------------------------
  766.   # ● ヘルプテキスト更新
  767.   #--------------------------------------------------------------------------
  768.   def update_help
  769.     @help_window.set_text(item)
  770.     #修正窗口位置
  771.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  772.   end
  773. end
  774. #==============================================================================
  775. # ■ Window_Skill
  776. #------------------------------------------------------------------------------
  777. #  スキル画面などで、使用できるスキルの一覧を表示するウィンドウです。
  778. #==============================================================================
  779.  
  780. class Window_Skill < Window_Selectable
  781.   #--------------------------------------------------------------------------
  782.   # ● ヘルプテキスト更新
  783.   #--------------------------------------------------------------------------
  784.   def update_help
  785.     @help_window.set_text(skill)
  786.     #修正窗口位置
  787.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  788.   end
  789. end
  790. #==============================================================================
  791. # ■ Window_Equip
  792. #------------------------------------------------------------------------------
  793. #  装備画面で、アクターが現在装備しているアイテムを表示するウィンドウです。
  794. #==============================================================================
  795.  
  796. class Window_Equip < Window_Selectable
  797.   #--------------------------------------------------------------------------
  798.   # ● ヘルプテキスト更新
  799.   #--------------------------------------------------------------------------
  800.   def update_help
  801.     @help_window.set_text(item)
  802.     #修正窗口位置
  803.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  804.   end
  805. end
  806. #==============================================================================
  807. # ■ Window_ShopBuy
  808. #------------------------------------------------------------------------------
  809. #  ショップ画面で、購入できる商品の一覧を表示するウィンドウです。
  810. #==============================================================================
  811. class Window_ShopBuy < Window_Selectable
  812.   #--------------------------------------------------------------------------
  813.   # ● ヘルプテキスト更新
  814.   #--------------------------------------------------------------------------
  815.   def update_help
  816.     @help_window.set_text(item)
  817.     #修正窗口位置
  818.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  819.   end
  820. end


Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2013-3-3
帖子
36
2
 楼主| 发表于 2013-3-19 15:28:10 | 只看该作者
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
38
在线时间
1165 小时
注册时间
2012-3-16
帖子
5336
3
发表于 2013-3-19 15:37:01 | 只看该作者

各种东西的设置= =
应该看得懂吧0w0/

这是效果~
我想要到的是保护同伴的力量,能与同伴一起欢笑的未来的力量,如果无法做到的话,那就无需继承,如果是这样的彭格列的话,那我亲手毁掉它!
  
                       欢迎加入我们的家族~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2013-3-3
帖子
36
4
 楼主| 发表于 2013-3-19 15:43:53 | 只看该作者
彭格列第XI代 发表于 2013-3-19 15:37
各种东西的设置= =
应该看得懂吧0w0/

这个看得懂
说起来那个怪物名字的问题能改么?后面加了一二三那个
不要再叫窝开贴了

点评

我看看~0w0/ 帖子越多P叔给的奖励就越多什么的...  发表于 2013-3-19 15:45
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
38
在线时间
1165 小时
注册时间
2012-3-16
帖子
5336
5
发表于 2013-3-19 15:47:35 | 只看该作者
qc641487196 发表于 2013-3-19 15:43
这个看得懂
说起来那个怪物名字的问题能改么?后面加了一二三那个
不要再叫窝开贴了 ...


同敌人下每个敌人后面加的文字,如果想要不加把里面的文字去除~
或者改成别的也可以~

点评

那就OK了  发表于 2013-3-19 16:07

评分

参与人数 1梦石 +1 收起 理由
怪蜀黍 + 1 回答了三个问题,值一张卡了

查看全部评分

我想要到的是保护同伴的力量,能与同伴一起欢笑的未来的力量,如果无法做到的话,那就无需继承,如果是这样的彭格列的话,那我亲手毁掉它!
  
                       欢迎加入我们的家族~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2013-3-3
帖子
36
6
 楼主| 发表于 2013-3-19 16:02:50 | 只看该作者
彭格列第XI代 发表于 2013-3-19 15:47
同敌人下每个敌人后面加的文字,如果想要不加把里面的文字去除~
或者改成别的也可 ...

好了,这个倒是简单,只是没找到在哪改
顺便问下这里是怎么回事,需要按键才会消失么

点评

翻翻F1帮助里面有写= =!  发表于 2013-3-19 16:04
或者加个Bitmap.new(width, height) 生成指定大小的位图对象。  发表于 2013-3-19 16:04
图太大了就会那样- -你做的时候要先把图片大小改好·  发表于 2013-3-19 16:03
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
23 小时
注册时间
2013-3-12
帖子
74
7
发表于 2013-3-19 16:04:14 | 只看该作者
受教了  受教了

点评

在提问区禁止灌水,只能回答问题。  发表于 2013-3-19 19:59
{:4_92:}一定要回答问题才不算灌水吗?  发表于 2013-3-19 16:55
= =到处灌水?  发表于 2013-3-19 16:07

评分

参与人数 1星屑 -5 收起 理由
怪蜀黍 -5 灌水

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 13:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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