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

Project1

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

[已经解决] 求太监掉详细幫助窗口脚本……

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
192 小时
注册时间
2010-8-23
帖子
161
跳转到指定楼层
1
发表于 2013-5-29 20:36:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 512195574 于 2013-5-31 20:13 编辑

禾西详细帮助脚本是个好东西,能在方方面面起到提示作用,不过也就是因为这个脚本太方面了,以至于和很多窗口类脚冲突。
其它脚本也就算了,修修补补总能糊弄过去,不过加入RTAB0.17的时候就出现问题了,一来是两者都是很不错的脚本,难以取舍,二来是两个脚本覆盖范围都很广,不知道哪里出问题了。
不得已只得采取折中之策,将帮助窗口的脚本有关战斗的都注释掉,不过我脚本刚入门,这个也没成功……ORZ
所以在这里求删去帮助窗口脚本的功能,使得其能与RTAB并存并不显示错误就行了


PS:剩下的一个要求多少有些强人所难,不行的话就当我说的是题外话吧。技能分类和物品分类也是不错的窗口脚本,能否将技能分类与RTAB、物品分类与窗口脚本(物品浏览界面不调用窗口脚本也可以)整合起来?
如能帮忙解决,感激不尽……(总会有福利的)

以下是禾西的详细幫助窗口,另外的分类脚本仁兄如果有兴趣的话回帖再粘上= =

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

问题已自行解决~
其实我是个三流的画师  ←_←

Lv1.梦旅人

梦石
0
星屑
60
在线时间
568 小时
注册时间
2012-9-7
帖子
611
2
发表于 2013-5-30 09:09:07 | 只看该作者
你的脚本第48行,1096行,1098行混入了一些奇怪的东西,删掉就可以
RTAB是战斗系统,跟窗口类脚本不会冲突,你的脚本我删掉那3行后让入自己的RTAB运行不会报错
另外你的PS问题直接插入需要脚本不就可以了?
FTM正式版已经发布,点击图片开启传送门
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
192 小时
注册时间
2010-8-23
帖子
161
3
 楼主| 发表于 2013-5-30 18:26:39 | 只看该作者
本帖最后由 512195574 于 2013-5-30 18:30 编辑
wingzeroplus 发表于 2013-5-30 09:09
你的脚本第48行,1096行,1098行混入了一些奇怪的东西,删掉就可以
RTAB是战斗系统,跟窗口类脚本不会冲突 ...


额,首先十分感谢
这些东西估计是在粘贴的时候混入的,游戏测试没有问题。
关于冲突,其实并不是什么大不了的冲突,也没有弹窗错误,只是敌人名字显示时有问题,显示不出名称,已经确定是帮助窗口的问题了(去掉无误),和什么脚本冲突目前不清楚 = =RTAB可能只占一部分,也不排除其他脚本的干扰。最方便的解决办法就是去掉窗口帮助脚本的战斗部分。(关于这个我试过注释掉详细帮助窗口关于战斗类的定义这一块的脚本,不过依旧无效……)
至于技能分类和物品分类是确确实实跟详细窗口帮助出现错误的,包括一些商店脚本,错误也不表现为弹窗,依旧是显示问题,有几个我通过建立确定的帮助窗口坐标解决了,不过其他的实在是看不懂。其实这个详细帮助窗口我只需要它在装备浏览界面运行就够了,其他界面运行的话冲突太多(主要是help windows的位置问题),当然能解决最好。
其实我是个三流的画师  ←_←
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
192 小时
注册时间
2010-8-23
帖子
161
4
 楼主| 发表于 2013-5-31 19:12:59 | 只看该作者
本帖最后由 512195574 于 2013-5-31 19:52 编辑

果然求人不如求己
此问题已被楼主自行解决………………可以结贴了


现在放入解决方法

详细帮助窗口与RTAB的冲突的方法(禾西大神):
新建脚本
# 衝突位置:
# ∑def start_skill_select < class Scene_Battle
class Scene_Battle
  def start_skill_select
    @skill_window = Window_Skill.new(@active_actor)
    @skill_window.help_window = Window_Help.new
    @actor_command_window.active = false
    @actor_command_window.visible = false
  end
end

详细帮助脚本与技能分类脚本的冲突解决办法(亲手太监掉的脚本)
附加了一个功能,装备显示属性的时候根据能力值的不能会产生不同的颜色的提示……
技能分类脚本请放在最后,帮助脚本次之,RTAB在上方。其实RTAB基本与所有的窗口类脚本都有矛盾,所以窗口类脚本最好放在RTAB的下方

但是技能分类和RTAB还有冲突……不管了

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

  137.     # 基本數據設定
  138. =begin
  139.     name_size = 名字文字大小
  140.     size = 描述文字大小
  141.     word = 每行的描述文字數
  142.     move = 全體描述偏移幅度
  143. =end
  144.     name_size = 18
  145.     size = 14
  146.     word = 12
  147.     move = 80
  148.     #------------------------------------------------------------------------
  149.     # ● 確定背景圖片的高度
  150.     #------------------------------------------------------------------------
  151.     h += (description.size/3/word)
  152.     h += 1 if (description.size/3%word) > 0
  153.     h += 1 if equipment.is_a?(RPG::Weapon)
  154.     now_h = h
  155.     h += 1
  156.     h += 1 unless equipment.pdef.zero?
  157.     h += 1 unless equipment.mdef.zero?
  158.     h += 1 if element_set.size > 0
  159.     h += 1 if element_set.size >= 5
  160.     case equipment
  161.     when RPG::Weapon
  162.       h += 1 unless minus_state_set.empty?
  163.       h += minus_state_set.size
  164.       h += 1 unless plus_state_set.empty?
  165.       h += plus_state_set.size
  166.     when RPG::Armor
  167.       h += 1 unless guard_state_set.empty?
  168.       h += guard_state_set.size
  169.       h += 1 unless auto_state_id.zero?
  170.     end
  171.     h += 1
  172.     h += 1 unless equipment.str_plus.zero?
  173.     h += 1 unless equipment.dex_plus.zero?
  174.     h += 1 unless equipment.agi_plus.zero?
  175.     h += 1 unless equipment.int_plus.zero?
  176.     h += materia_height_plus(equipment) unless self.materia.nil?
  177.     #------------------------------------------------------------------------
  178.     # ● 圖片顯示保證高度
  179.     #------------------------------------------------------------------------
  180.     h = 6 + now_h if (h - now_h) < 6
  181.     #------------------------------------------------------------------------
  182.     # ● 換算高度
  183.     #------------------------------------------------------------------------
  184.     self.height = h * size + name_size + 32
  185.     #------------------------------------------------------------------------
  186.     # ● 生成背景
  187.     #------------------------------------------------------------------------
  188.     self.contents = Bitmap.new(self.width - 32, self.height - 32)
  189.     self.contents.clear
  190.     #------------------------------------------------------------------------
  191.     # ● 名字描繪
  192.     #------------------------------------------------------------------------

  193.     text = equipment.name     
  194.     self.contents.font.color = Color.new(255,255,100)
  195.     #self.contents.font.color = text_color(item.name_color_66RPG)
  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.     if equipment.is_a?(RPG::Weapon)
  228.       x = 0
  229.       y += 1
  230.       text = $data_system.words.atk+":"+equipment.atk.to_s
  231.       self.contents.font.color = normal_color
  232.       self.contents.font.size = size
  233.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  234.     end
  235.     #------------------------------------------------------------------------
  236.     # ● 價格描繪
  237.     #------------------------------------------------------------------------
  238.     x = 0
  239.     y += 1
  240.     text = phrase["price"] + equipment.price.to_s
  241.     self.contents.font.color = normal_color
  242.     self.contents.font.size = size
  243.     self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  244.     #------------------------------------------------------------------------
  245.     # ● 物理防禦
  246.     #------------------------------------------------------------------------
  247.     unless equipment.pdef.zero?
  248.       x = 0
  249.       y += 1
  250.       text = $data_system.words.pdef+":"+equipment.pdef.to_s
  251.       self.contents.font.color = normal_color
  252.       self.contents.font.size = size
  253.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  254.     end
  255.     #------------------------------------------------------------------------
  256.     # ● 魔法防禦
  257.     #------------------------------------------------------------------------
  258.     unless equipment.mdef.zero?
  259.       x = 0
  260.       y += 1
  261.       text=$data_system.words.mdef+":"+equipment.mdef.to_s
  262.       self.contents.font.color = normal_color
  263.       self.contents.font.size = size
  264.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  265.     end
  266.     #------------------------------------------------------------------------
  267.     # ● 屬性
  268.     #------------------------------------------------------------------------
  269.     if element_set.size > 0
  270.       x = 0
  271.       y += 1
  272.       text = phrase["elements"]
  273.       for i in 0...element_set.size
  274.         break if i > 4
  275.         text += $data_system.elements[element_set[i]]
  276.       end
  277.       self.contents.font.color = normal_color
  278.       self.contents.font.size = size
  279.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  280.     end
  281.     if element_set.size >= 5
  282.       x = (phrase["elements"].size)*5-4
  283.       y += 1
  284.       text = ""
  285.       for i in 4...element_set.size
  286.         text += $data_system.elements[element_set[i]]
  287.       end
  288.       self.contents.font.color = normal_color
  289.       self.contents.font.size = size
  290.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  291.     end
  292.     #------------------------------------------------------------------------
  293.     # ● 描述分流 武器/防具
  294.     #------------------------------------------------------------------------
  295.     case equipment
  296.     when RPG::Weapon
  297.       #------------------------------------------------------------------------
  298.       # ● 解除狀態(武器)
  299.       #------------------------------------------------------------------------
  300.       unless minus_state_set.empty?
  301.         x = 0
  302.         y += 1
  303.         text=phrase["minus_states"]
  304.         text=phrase["guard_states"]
  305.         self.contents.font.color = normal_color
  306.         self.contents.font.size = size
  307.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  308.         for i in 0...minus_state_set.size
  309.           y += 1
  310.           text = $data_states[minus_state_set[i]].name        
  311.           self.contents.font.color = normal_color
  312.           self.contents.font.size = size
  313.           self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)        
  314.         end
  315.       end
  316.       #------------------------------------------------------------------------
  317.       # ● 附加狀態(武器)
  318.       #------------------------------------------------------------------------
  319.       unless plus_state_set.empty?
  320.         x = 0
  321.         y += 1
  322.         text = phrase["plus_states"]
  323.         self.contents.font.color = normal_color
  324.         self.contents.font.size = size
  325.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  326.         for i in 0...plus_state_set.size
  327.           y += 1
  328.           text=$data_states[plus_state_set[i]].name        
  329.           self.contents.font.color = normal_color
  330.           self.contents.font.size = size
  331.           self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)        
  332.         end  
  333.       end
  334.     when RPG::Armor
  335.       #------------------------------------------------------------------------
  336.       # ● 防禦狀態(防具)
  337.       #------------------------------------------------------------------------
  338.       unless guard_state_set.empty?
  339.         x = 0
  340.         y += 1
  341.         text=phrase["guard_states"]
  342.         self.contents.font.color = normal_color
  343.         self.contents.font.size = size
  344.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  345.         for i in 0...guard_state_set.size
  346.           y += 1
  347.           text = $data_states[guard_state_set[i]].name        
  348.           self.contents.font.color = normal_color
  349.           self.contents.font.size = size
  350.           self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)        
  351.         end
  352.       end
  353.       #------------------------------------------------------------------------
  354.       # ● 自動狀態(防具)
  355.       #------------------------------------------------------------------------
  356.       unless auto_state_id.zero?
  357.         x = 0
  358.         y += 1
  359.         text = phrase["auto_state"] + $data_states[auto_state_id].name
  360.         self.contents.font.color = normal_color
  361.         self.contents.font.size = size
  362.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  363.       end
  364.     end
  365.     #------------------------------------------------------------------------
  366.     # ● 空行
  367.     #------------------------------------------------------------------------
  368.     y+=1
  369.     #------------------------------------------------------------------------
  370.     # ● 力量
  371.     #------------------------------------------------------------------------
  372.     unless equipment.str_plus.zero?
  373.       x = 0
  374.       y += 1
  375.       h += 1
  376.       if equipment.str_plus > 0
  377.         text=$data_system.words.str+" +"+ equipment.str_plus.to_s
  378.         self.contents.font.color = Color.new(30,144,255)
  379.       end
  380.       if equipment.str_plus > 10
  381.         self.contents.font.color = Color.new(252,100,100)
  382.       end
  383.       if equipment.str_plus > 99
  384.         self.contents.font.color = Color.new(255,215,0)
  385.       end
  386.       if equipment.str_plus < 0
  387.         text=$data_system.words.str+" -"+ (-equipment.str_plus).to_s
  388.         self.contents.font.color = Color.new(124,252,0)
  389.       end
  390.       if equipment.str_plus < -10
  391.         self.contents.font.color = Color.new(218,122,214)
  392.       end
  393.       self.contents.font.size = size
  394.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)  
  395.     end
  396.     #------------------------------------------------------------------------
  397.     # ● 靈巧
  398.     #------------------------------------------------------------------------
  399.     unless equipment.dex_plus.zero?
  400.       x = 0
  401.       y += 1
  402.       h += 1
  403.       if equipment.dex_plus > 0
  404.         text=$data_system.words.dex+" +"+ equipment.dex_plus.to_s
  405.         self.contents.font.color = Color.new(30,144,255)
  406.       end
  407.       if equipment.dex_plus > 10
  408.         self.contents.font.color = Color.new(252,100,100)
  409.       end
  410.       if equipment.dex_plus > 99
  411.         self.contents.font.color = Color.new(255,215,0)
  412.       end
  413.       if equipment.dex_plus < 0
  414.         text=$data_system.words.dex+" -"+ (-equipment.dex_plus).to_s
  415.         self.contents.font.color = Color.new(124,252,0)
  416.       end
  417.       if equipment.dex_plus < -10
  418.         self.contents.font.color = Color.new(218,122,214)
  419.       end
  420.       self.contents.font.size = size
  421.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  422.     end
  423.     #------------------------------------------------------------------------
  424.     # ● 速度
  425.     #------------------------------------------------------------------------
  426.     unless equipment.agi_plus.zero?
  427.       x = 0
  428.       y += 1
  429.       h += 1
  430.       if equipment.agi_plus > 0
  431.         text=$data_system.words.agi+" +"+ equipment.agi_plus.to_s
  432.         self.contents.font.color = Color.new(30,144,255)
  433.       end
  434.       if equipment.agi_plus > 10
  435.         self.contents.font.color = Color.new(252,100,100)
  436.       end
  437.       if equipment.agi_plus > 99
  438.         self.contents.font.color = Color.new(255,215,0)
  439.       end
  440.       if equipment.agi_plus < 0
  441.         text=$data_system.words.agi+" -"+ (-equipment.agi_plus).to_s
  442.         self.contents.font.color = Color.new(124,252,0)
  443.       end
  444.       if equipment.agi_plus < -10
  445.         self.contents.font.color = Color.new(218,122,214)
  446.       end
  447.       self.contents.font.size = size
  448.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  449.     end
  450.     #-------
  451.     #------------------------------------------------------------------------
  452.     # ● 智力
  453.     #------------------------------------------------------------------------
  454.     unless equipment.int_plus.zero?
  455.       x = 0
  456.       y += 1
  457.       h += 1
  458.       if equipment.int_plus > 0
  459.         text=$data_system.words.int+" +"+ equipment.int_plus.to_s
  460.         self.contents.font.color = Color.new(30,144,255)
  461.       end
  462.       if equipment.int_plus > 10
  463.         self.contents.font.color = Color.new(252,100,100)
  464.       end
  465.       if equipment.int_plus > 99
  466.         self.contents.font.color = Color.new(255,215,0)
  467.       end
  468.       if equipment.int_plus < 0
  469.         text=$data_system.words.int+" -"+ (-equipment.int_plus).to_s
  470.         self.contents.font.color = Color.new(124,252,0)
  471.       end
  472.       if equipment.int_plus < -10
  473.         self.contents.font.color = Color.new(218,122,214)
  474.       end
  475.       self.contents.font.size = size
  476.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  477.     end

  478.     #------------------------------------------------------------------------
  479.     # ● 魔力石描繪
  480.     #------------------------------------------------------------------------
  481.     y += draw_materia(equipment, move, y, size) unless self.materia.nil?
  482.   end
  483.   #--------------------------------------------------------------------------
  484.   # ● 物品幫助窗口
  485.   #--------------------------------------------------------------------------
  486.   def set_item_text(item)
  487.     # 取得描述
  488.     description = item.description.clone
  489.     # 取得屬性、附加狀態、解除狀態之副本
  490.     element_set = item.element_set.clone
  491.     plus_state_set = item.plus_state_set.clone
  492.     minus_state_set = item.minus_state_set.clone
  493.     # 過濾不顯示的描述
  494.     element_set -= @unshow_elements
  495.     plus_state_set -= @unshow_states
  496.     minus_state_set -= @unshow_states
  497.     # 初始化數據設定
  498.     x = 0
  499.     y = 0
  500.     h = 0
  501.     phrase = {}
  502.     scope ={}
  503.     parameter_type = {}
  504.    
  505.     # 基本數據設定
  506. =begin
  507.     name_size = 名字文字大小
  508.     size = 描述文字大小
  509.     word = 每行的描述文字數
  510.     move = 全體描述偏移幅度
  511. =end
  512.     name_size = 18
  513.     size = 14
  514.     word = 12
  515.     move = 80
  516.    
  517.     # 基本文字設定
  518.     phrase["scope"] = "范围:"
  519.     phrase["price"] = "价格:"
  520.     phrase["recover_hp_rate"] = "hp 回复率:"
  521.     phrase["recover_hp"] = "hp 回复量:"
  522.     phrase["recover_sp_rate"] = "sp 回复率:"
  523.     phrase["recover_sp"] = "sp 回复量:"
  524.     phrase["elements"] = "sp 回复量:"
  525.     phrase["plus"] = "附加"
  526.     phrase["minus"] = "解除"
  527.     phrase["states"] = "状态"
  528.     scope[0] = "特殊物品"
  529.     scope[1] = "敌单体"
  530.     scope[2] = "敌全体"
  531.     scope[3] = "己方单体"
  532.     scope[4] = "己方全体"
  533.     scope[5] = "己方昏死单体"
  534.     scope[6] = "己方昏死全体"
  535.     scope[7] = "使用者"
  536.     scope[8] = "使用者"

  537.     parameter_type[1] = "最大生命上升"
  538.     parameter_type[2] = "最大技力上升"
  539.     parameter_type[3] = $data_system.words.str
  540.     parameter_type[4] = $data_system.words.dex
  541.     parameter_type[5] = $data_system.words.agi
  542.     parameter_type[6] = $data_system.words.int
  543.    
  544.     #依顯示内容確定自身高
  545.     h = (description.size/3/word)
  546.     h +=1 if (description.size/3%word)> 0
  547.     now_h = h
  548.     h +=3  # 空行,效果範圍,價格
  549.     h += 1 unless item.recover_hp_rate.zero?
  550.     h += 1 unless item.recover_hp.zero?
  551.     h += 1 unless item.recover_sp_rate.zero?
  552.     h += 1 unless item.recover_sp.zero?
  553.     h += 1 unless item.parameter_type.zero?
  554.     h += 1 unless element_set[0].nil?
  555.     h += 1 unless element_set[4].nil?
  556.     h += (1+plus_state_set.size) unless plus_state_set.empty?
  557.     h += (1+minus_state_set.size) unless minus_state_set.empty?
  558.     #------------------------------------------------------------------------
  559.     # ● 圖片顯示保證高度
  560.     #------------------------------------------------------------------------
  561.     h = 6 + now_h if (h - now_h) < 6
  562.     #------------------------------------------------------------------------
  563.     # ● 換算高度
  564.     #------------------------------------------------------------------------
  565.     self.height = h * size + name_size + 32
  566.     #------------------------------------------------------------------------
  567.     # ● 生成背景
  568.     #------------------------------------------------------------------------
  569.     self.contents = Bitmap.new(self.width - 32, self.height - 32)
  570.     self.contents.clear
  571.     #------------------------------------------------------------------------
  572.     # ● 名字描繪
  573.     #------------------------------------------------------------------------
  574.     text = item.name
  575.     self.contents.font.color = normal_color#顔色腳本
  576.     self.contents.font.size = name_size
  577.     if text.nil?
  578.       self.visible = false
  579.     else
  580.       self.visible = true
  581.       self.contents.draw_text(0,0, text.size*7, 20, text, 0)
  582.     end
  583.     #------------------------------------------------------------------------
  584.     # ● 說明描繪
  585.     #------------------------------------------------------------------------
  586.     x = 0
  587.     y += 1
  588.     while ((text = description.slice!(/./m)) != nil)
  589.       self.contents.font.color = normal_color
  590.       self.contents.font.size = size
  591.       self.contents.draw_text(x*size, y*size+5, size, size, text, 0)
  592.       x+=1
  593.       if x == word
  594.         x = 0
  595.         y += 1
  596.       end
  597.     end
  598.     #------------------------------------------------------------------------
  599.     # ● 圖標描繪
  600.     #------------------------------------------------------------------------
  601.     bitmap = RPG::Cache.icon(item.icon_name) unless item.icon_name.nil?
  602.     opacity = self.contents.font.color == normal_color ? 255 : 128
  603.     self.contents.blt(0 ,y*size + 20, bitmap, Rect.new(0, 0, 95, 100), 225)
  604.     #------------------------------------------------------------------------
  605.     # ● 魔力石接口
  606.     #------------------------------------------------------------------------
  607.     unless self.materia.nil?
  608.       return if is_materia?(item)
  609.     end
  610.     #------------------------------------------------------------------------
  611.     # ● 效果範圍
  612.     #------------------------------------------------------------------------
  613.     text= phrase["scope"] + scope[item.scope]
  614.     x = 0
  615.     y += 1
  616.     self.contents.font.color = normal_color
  617.     self.contents.font.size = size
  618.     self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  619.     #------------------------------------------------------------------------
  620.     # ● 價格
  621.     #------------------------------------------------------------------------
  622.     x = 0
  623.     y += 1      
  624.     text = phrase["price"] + item.price.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.    
  629.     #------------------------------------------------------------------------
  630.     # ● HP回復率
  631.     #------------------------------------------------------------------------
  632.     unless item.recover_hp_rate.zero?  
  633.       x = 0
  634.       y += 1
  635.       text = phrase["recover_hp_rate"] + item.recover_hp_rate.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.     # ● HP回復量
  642.     #------------------------------------------------------------------------
  643.     unless item.recover_hp.zero?  
  644.       x = 0
  645.       y += 1      
  646.       text = phrase["recover_hp"] + item.recover_hp.to_s
  647.       self.contents.font.color = normal_color
  648.       self.contents.font.size = size
  649.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  650.     end
  651.     #------------------------------------------------------------------------
  652.     # ● SP回復率
  653.     #------------------------------------------------------------------------
  654.     unless item.recover_sp_rate.zero?
  655.       x = 0
  656.       y += 1      
  657.       text = phrase["recover_sp_rate"] + item.recover_sp_rate.to_s+"%"
  658.       self.contents.font.color = normal_color
  659.       self.contents.font.size = size
  660.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  661.     end
  662.     #------------------------------------------------------------------------
  663.     # ● SP回復量
  664.     #------------------------------------------------------------------------
  665.     unless item.recover_sp.zero?  
  666.       x = 0
  667.       y += 1      
  668.       text = phrase["elements"] + item.recover_sp.to_s
  669.       self.contents.font.color = normal_color
  670.       self.contents.font.size = size
  671.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  672.     end
  673.     #------------------------------------------------------------------------
  674.     # ● 能力值增加
  675.     #------------------------------------------------------------------------
  676.     unless item.parameter_type.zero?
  677.       x = 0
  678.       y += 1      
  679.       text= parameter_type[item.parameter_type]+" +"+item.parameter_points.to_s

  680.       self.contents.font.color = normal_color
  681.       self.contents.font.size = size
  682.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  683.     end
  684.     #------------------------------------------------------------------------
  685.     # ● 屬性
  686.     #------------------------------------------------------------------------
  687.     if element_set.size > 0
  688.       x = 0
  689.       y += 1
  690.       text = phrase["elements"]
  691.       for i in 0...element_set.size
  692.         break if i > 4
  693.         text += $data_system.elements[element_set[i]]
  694.       end
  695.       self.contents.font.color = normal_color
  696.       self.contents.font.size = size
  697.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  698.     end
  699.     if element_set.size >= 5
  700.       x = (phrase["elements"].size)*5-4
  701.       y += 1
  702.       text = ""
  703.       for i in 4...element_set.size
  704.         text += $data_system.elements[element_set[i]]
  705.       end
  706.       self.contents.font.color = normal_color
  707.       self.contents.font.size = size
  708.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  709.     end
  710.     #------------------------------------------------------------------------
  711.     # ● 狀態添加
  712.     #------------------------------------------------------------------------
  713.     unless plus_state_set.empty?
  714.       text = phrase["plus"]
  715.       x = 0
  716.       y += 1
  717.       self.contents.font.color = normal_color
  718.       self.contents.font.size = size
  719.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  720.       plus_state_set.each do |plus_state|
  721.         y += 1
  722.         text = $data_states[plus_state].name        
  723.         self.contents.font.color = normal_color
  724.         self.contents.font.size = size
  725.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)      
  726.       end  
  727.     end
  728.     #------------------------------------------------------------------------
  729.     # ● 狀態解除
  730.     #------------------------------------------------------------------------
  731.     unless minus_state_set.empty?
  732.       text = phrase["minus"]
  733.       x = 0
  734.       y += 1
  735.       self.contents.font.color = normal_color
  736.       self.contents.font.size = size
  737.       self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)
  738.       minus_state_set.each do |minus_state|
  739.         y += 1
  740.         text = $data_states[minus_state].name
  741.         self.contents.font.color = normal_color
  742.         self.contents.font.size = size
  743.         self.contents.draw_text(x+move, y*size+5, text.size*6, size, text, 0)   
  744.       end
  745.     end
  746.   end

  747.   #--------------------------------------------------------------------------
  748.   # ● 设置角色
  749.   #     actor : 要显示状态的角色
  750.   #--------------------------------------------------------------------------
  751.   def set_actor(actor)
  752.     if actor != @actor
  753.       self.contents.clear
  754.       draw_actor_name(actor, 4, 0)
  755.       draw_actor_state(actor, 140, 0)
  756.       draw_actor_hp(actor, 284, 0)
  757.       draw_actor_sp(actor, 460, 0)
  758.       [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  759.       @text = nil
  760.       self.visible = true
  761.     end
  762.   end
  763.   #--------------------------------------------------------------------------
  764.   # ● 設置角色
  765.   #     actor : 要顯示狀態之角色
  766.   #--------------------------------------------------------------------------
  767.   def set_actor(actor)
  768.     self.contents = Bitmap.new(width - 32, height - 32) if self.contents.nil?
  769.     if actor != @actor
  770.       self.contents.clear
  771.       draw_actor_name(actor, 4, 0)
  772.       draw_actor_state(actor, 140, 0)
  773.       draw_actor_hp(actor, 284, 0)
  774.       draw_actor_sp(actor, 460, 0)
  775.       @actor = actor
  776.       @text = nil
  777.       self.visible = true
  778.     end
  779.   end
  780.   #--------------------------------------------------------------------------
  781.   # ● 設置敵人
  782.   #     enemy : 要顯示名字與狀態之敵人
  783.   #--------------------------------------------------------------------------
  784.   def set_enemy(enemy)
  785.     self.contents = Bitmap.new(width - 32, height - 32) if self.contents.nil?
  786.     text = enemy.name.sub(/\\[Ff]\[([0-9]+)\]/) {""}
  787.     state_text = make_battler_state_text(enemy, 112, false)
  788.     if state_text != ""
  789.       text += "  " + state_text
  790.     end
  791.     set_text(text, 1)
  792.     self.visible = true
  793.   end
  794.   #--------------------------------------------------------------------------
  795.   # ● 校正帮助窗口位置
  796.   #--------------------------------------------------------------------------
  797.   def set_pos(x,y,width,oy,index,column_max)
  798.     #光标坐标
  799.     cursor_width = width / column_max - 32
  800.     xx = index % column_max * (cursor_width + 32)
  801.     yy = index / column_max * 32 - oy
  802.     self.x=xx+x+150
  803.     self.y=yy+y+30
  804.     if self.x+self.width>640
  805.       self.x=640-self.width
  806.     end
  807.     if self.y+self.height>480
  808.       self.y=480-self.height
  809.     end  
  810.   end
  811.   #------------------------------------------------------------------------
  812.   # ● 裝備名字顔色變化 接口
  813.   #------------------------------------------------------------------------
  814.   def draw_name_color(equipment)
  815.     return normal_color
  816.   end
  817.   #------------------------------------------------------------------------
  818.   # ● 自身身份確認
  819.   #------------------------------------------------------------------------
  820.   def original_help?
  821.     return false
  822.   end
  823. end

  824. #------------------------------------------------------------------------------



  825. #------------------------------------------------------------------------------
  826. #==============================================================================
  827. # ■ Window_Item
  828. #------------------------------------------------------------------------------
  829. #  物品画面、战斗画面、显示浏览物品的窗口。
  830. #==============================================================================

  831. class Window_Item < Window_Selectable
  832.   #--------------------------------------------------------------------------
  833.   # ● 初始化对像
  834.   #--------------------------------------------------------------------------
  835.   def initialize
  836.     super(0, 64-64, 640, 416+64)
  837.     @column_max = 2
  838.     refresh
  839.     self.index = 0
  840.     # 战斗中的情况下将窗口移至中央并将其半透明化
  841.     if $game_temp.in_battle
  842.       self.y = 64
  843.       self.height = 256
  844.       self.back_opacity = 160
  845.     end
  846.   end
  847.   #--------------------------------------------------------------------------
  848.   # ● 刷新帮助文本
  849.   #--------------------------------------------------------------------------
  850.   def update_help
  851.     @help_window.set_text(item)
  852.     #校正帮助窗口位置
  853.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  854.   end
  855. end
  856. #------------------------------------------------------------------------------



  857. #------------------------------------------------------------------------------


  858. #------------------------------------------------------------------------------
  859. #==============================================================================
  860. # ■ Window_EquipLeft
  861. #------------------------------------------------------------------------------
  862. #  装备画面的、显示角色能力值变化的窗口。
  863. #==============================================================================
  864. class Window_EquipLeft < Window_Base
  865.   #--------------------------------------------------------------------------
  866.   # ● 初始化对像
  867.   #     actor : 角色
  868.   #--------------------------------------------------------------------------
  869.   def initialize(actor)
  870. # -------------------
  871. # 修改開始
  872.     super(0, 64-64, 272, 416+64)#★★★★★★★★★★★★★★★★★★★★
  873. # 修改終了
  874. # -------------------
  875.     self.contents = Bitmap.new(width - 32, height - 32)
  876.     @actor = actor
  877.     refresh
  878.   end
  879. end
  880. #------------------------------------------------------------------------------



  881. #------------------------------------------------------------------------------
  882. #==============================================================================
  883. # ■ Window_EquipRight
  884. #------------------------------------------------------------------------------
  885. #  装备画面、显示角色现在装备的物品的窗口。
  886. #==============================================================================

  887. class Window_EquipRight < Window_Selectable
  888.   #--------------------------------------------------------------------------
  889.   # ● 初始化对像
  890.   #     actor : 角色
  891.   #--------------------------------------------------------------------------
  892.   def initialize(actor)
  893. # -------------------
  894. # 修改開始
  895.     super(272, 64-64, 368, 256+64)#★★★★★★★★★★★★★★★★★★★★
  896. # 修改終了
  897. # -------------------
  898.     self.contents = Bitmap.new(width - 32, height - 32)
  899.     @actor = actor
  900.     refresh
  901.     self.index = 0
  902.   end
  903.   #--------------------------------------------------------------------------
  904.   # ● 刷新帮助文本
  905.   #--------------------------------------------------------------------------

  906.   def update_help
  907.     @help_window.set_text(item)
  908.     #校正帮助窗口位置
  909.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  910.   end
  911. end
  912. #------------------------------------------------------------------------------



  913. #------------------------------------------------------------------------------
  914. #==============================================================================
  915. # ■ Window_EquipItem
  916. #------------------------------------------------------------------------------
  917. #  装备画面、显示浏览变更装备的候补物品的窗口。
  918. #==============================================================================

  919. class Window_EquipItem < Window_Selectable
  920.   #--------------------------------------------------------------------------
  921.   # ● 初始化对像
  922.   #     actor      : 角色
  923.   #     equip_type : 装备部位 (0~3)
  924.   #--------------------------------------------------------------------------
  925.   def initialize(actor, equip_type)
  926. # -------------------
  927. # 修改開始
  928.     super(272, 320, 368, 160)#★★★★★★★★★★★★★★★★★★★★
  929. # 修改終了
  930. # -------------------
  931.     @actor = actor
  932.     @equip_type = equip_type
  933.     @column_max = 1
  934.    
  935.     refresh
  936.     self.active = false
  937.     self.index = -1
  938.   end
  939.   def update_help
  940.     @help_window.set_text(item)
  941.     #校正帮助窗口位置
  942.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  943.   end
  944. end
  945. #------------------------------------------------------------------------------



  946. #------------------------------------------------------------------------------
  947. #==============================================================================
  948. # ■ Window_ShopCommand
  949. #------------------------------------------------------------------------------
  950. #  商店画面、选择要做的事的窗口
  951. #==============================================================================

  952. class Window_ShopCommand < Window_Selectable
  953.   #--------------------------------------------------------------------------
  954.   # ● 初始化对像
  955.   #--------------------------------------------------------------------------
  956.   def initialize
  957. # -------------------
  958. # 修改開始
  959.     super(0, 64-64, 480, 64)#★★★★★★★★★★★★★★★★★
  960. # 修改終了
  961. # -------------------
  962.     self.contents = Bitmap.new(width - 32, height - 32)
  963.     @item_max = 3
  964.     @column_max = 3
  965.     @commands = ["买", "卖", "取消"]
  966.     refresh
  967.     self.index = 0
  968.   end
  969. end
  970. #------------------------------------------------------------------------------



  971. #------------------------------------------------------------------------------
  972. #========================================================================================================================
  973. # ■ Window_ShopBuy
  974. #------------------------------------------------------------------------------
  975. #  商店画面、浏览显示可以购买的商品的窗口。
  976. #==============================================================================

  977. class Window_ShopBuy < Window_Selectable
  978.   #--------------------------------------------------------------------------
  979.   # ● 初始化对像
  980.   #     shop_goods : 商品
  981.   #--------------------------------------------------------------------------
  982.   def initialize(shop_goods)
  983. # -------------------
  984. # 修改開始
  985.     super(0, 128-64, 368, 352+64)#★★★★★★★★★★★★★★★★
  986. # 修改終了
  987. # -------------------
  988.     @shop_goods = shop_goods
  989.    
  990.     refresh
  991.     self.index = 0
  992.   end
  993.   #--------------------------------------------------------------------------
  994.   # ● 刷新帮助文本
  995.   #--------------------------------------------------------------------------

  996.   def update_help
  997.     @help_window.set_text(item)
  998.     #校正帮助窗口位置
  999.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1000.   end
  1001. end
  1002. #------------------------------------------------------------------------------



  1003. #------------------------------------------------------------------------------
  1004. #==============================================================================
  1005. # ■ Window_ShopSell
  1006. #------------------------------------------------------------------------------
  1007. #  商店画面、浏览显示可以卖掉的商品的窗口。
  1008. #==============================================================================

  1009. class Window_ShopSell < Window_Selectable
  1010.   #--------------------------------------------------------------------------
  1011.   # ● 初始化对像
  1012.   #--------------------------------------------------------------------------
  1013.   def initialize
  1014. # -------------------
  1015. # 修改開始
  1016.     super(0, 128-64, 640, 352+64)#★★★★★★★★★★★★★★★★
  1017. # 修改終了
  1018. # -------------------
  1019.     @column_max = 2
  1020.    
  1021.     refresh
  1022.     self.index = 0
  1023.   end
  1024.   #--------------------------------------------------------------------------
  1025.   # ● 刷新帮助文本
  1026.   #--------------------------------------------------------------------------

  1027.   def update_help
  1028.     @help_window.set_text(item)
  1029.     #校正帮助窗口位置
  1030.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  1031.   end
  1032. end
  1033. #------------------------------------------------------------------------------



  1034. #------------------------------------------------------------------------------
  1035. #==============================================================================
  1036. # ■ Window_ShopNumber
  1037. #------------------------------------------------------------------------------
  1038. #  商店画面、输入买卖数量的窗口。
  1039. #==============================================================================
  1040. class Window_ShopNumber < Window_Base
  1041.   #--------------------------------------------------------------------------
  1042.   # ● 初始化对像
  1043.   #--------------------------------------------------------------------------
  1044.   def initialize
  1045. # -------------------
  1046. # 修改開始
  1047.     super(0, 128-64, 368, 352+64)#★★★★★★★★★★★★★★★★
  1048. # 修改終了
  1049. # -------------------
  1050.     self.contents = Bitmap.new(width - 32, height - 32)
  1051.     @item = nil
  1052.     [url=home.php?mod=space&uid=25307]@Max[/url] = 1
  1053.     @price = 0
  1054.     [url=home.php?mod=space&uid=27178]@Number[/url] = 1
  1055.   end
  1056. end
  1057. #------------------------------------------------------------------------------



  1058. #------------------------------------------------------------------------------
  1059. #==============================================================================
  1060. # ■ Window_ShopStatus
  1061. #------------------------------------------------------------------------------
  1062. #  商店画面、显示物品所持数与角色装备的窗口。
  1063. #==============================================================================

  1064. class Window_ShopStatus < Window_Base
  1065.   #--------------------------------------------------------------------------
  1066.   # ● 初始化对像
  1067.   #--------------------------------------------------------------------------
  1068.   def initialize
  1069. # -------------------
  1070. # 修改開始
  1071.     super(368, 128-64, 272, 352+64)#★★★★★★★★★★★★
  1072. # 修改終了
  1073. # -------------------
  1074.     self.contents = Bitmap.new(width - 32, height - 32)
  1075.     @item = nil
  1076.     refresh
  1077.   end
  1078. end
  1079. #------------------------------------------------------------------------------



  1080. #------------------------------------------------------------------------------
  1081. #==============================================================================
  1082. # ■ Scene_Equip
  1083. #------------------------------------------------------------------------------
  1084. #  处理装备画面的类。
  1085. #==============================================================================

  1086. class Scene_Equip
  1087.   #--------------------------------------------------------------------------
  1088.   # ● 刷新画面 (右侧窗口被激活的情况下)
  1089.   #--------------------------------------------------------------------------
  1090.   def update_right
  1091. # -------------------
  1092. # 修改開始
  1093.     if @right_window.item==nil
  1094.         @help_window.visible=false
  1095.     else
  1096.         @help_window.visible=true
  1097.     end
  1098. # 修改終了
  1099. # -------------------
  1100.     # 按下 B 键的情况下
  1101.     if Input.trigger?(Input::B)
  1102.       # 演奏取消 SE
  1103.       $game_system.se_play($data_system.cancel_se)
  1104.       # 切换到菜单画面
  1105.       $scene = Scene_Menu.new(2)
  1106.       return
  1107.     end
  1108.     # 按下 C 键的情况下
  1109.     if Input.trigger?(Input::C)
  1110.       # 固定装备的情况下
  1111.       if @actor.equip_fix?(@right_window.index)
  1112.         # 演奏冻结 SE
  1113.         $game_system.se_play($data_system.buzzer_se)
  1114.         return
  1115.       end
  1116.       # 演奏确定 SE
  1117.       $game_system.se_play($data_system.decision_se)
  1118.       # 激活物品窗口
  1119.       @right_window.active = false
  1120.       @item_window.active = true
  1121.       @item_window.index = 0
  1122.       return
  1123.     end
  1124.     # 按下 R 键的情况下
  1125.     if Input.trigger?(Input::R)
  1126.       # 演奏光标 SE
  1127.       $game_system.se_play($data_system.cursor_se)
  1128.       # 移至下一位角色
  1129.       @actor_index += 1
  1130.       @actor_index %= $game_party.actors.size
  1131.       # 切换到别的装备画面
  1132.       $scene = Scene_Equip.new(@actor_index, @right_window.index)
  1133.       return
  1134.     end
  1135.     # 按下 L 键的情况下
  1136.     if Input.trigger?(Input::L)
  1137.       # 演奏光标 SE
  1138.       $game_system.se_play($data_system.cursor_se)
  1139.       # 移至上一位角色
  1140.       @actor_index += $game_party.actors.size - 1
  1141.       @actor_index %= $game_party.actors.size
  1142.       # 切换到别的装备画面
  1143.       $scene = Scene_Equip.new(@actor_index, @right_window.index)
  1144.       return
  1145.     end
  1146.   end
  1147.   #--------------------------------------------------------------------------
  1148.   # ● 刷新画面 (物品窗口被激活的情况下)
  1149.   #--------------------------------------------------------------------------
  1150.   def update_item
  1151. # -------------------
  1152. # 修改開始
  1153.     if @item_window.item==nil
  1154.         @help_window.visible=false
  1155.     else
  1156.         @help_window.visible=true
  1157.     end
  1158. # 修改終了
  1159. # -------------------
  1160.     # 按下 B 键的情况下
  1161.     if Input.trigger?(Input::B)
  1162.       # 演奏取消 SE
  1163.       $game_system.se_play($data_system.cancel_se)
  1164.       # 激活右侧窗口
  1165.       @right_window.active = true
  1166.       @item_window.active = false
  1167.       @item_window.index = -1
  1168.       return
  1169.     end
  1170.     # 按下 C 键的情况下
  1171.     if Input.trigger?(Input::C)
  1172.       # 演奏装备 SE
  1173.       $game_system.se_play($data_system.equip_se)
  1174.       # 获取物品窗口现在选择的装备数据
  1175.       item = @item_window.item
  1176.       # 变更装备
  1177.       @actor.equip(@right_window.index, item == nil ? 0 : item.id)
  1178.       # 激活右侧窗口
  1179.       @right_window.active = true
  1180.       @item_window.active = false
  1181.       @item_window.index = -1
  1182.       # 再生成右侧窗口、物品窗口的内容
  1183.       @right_window.refresh
  1184.       @item_window.refresh
  1185.       return
  1186.     end
  1187.   end
  1188. end
  1189. #------------------------------------------------------------------------------



  1190. #------------------------------------------------------------------------------
  1191. #========================================================================================================================
  1192. # ■ Scene_Battle (分割定义 3)
  1193. #------------------------------------------------------------------------------
  1194. #  处理战斗画面的类。
  1195. #========================================================================================================================

  1196. class Scene_Battle
  1197.   #--------------------------------------------------------------------------
  1198.   # ● 刷新画面 (角色命令回合 : 选择特技)
  1199.   #--------------------------------------------------------------------------
  1200.   alias first_reupdate_phase3_skill_select update_phase3_skill_select
  1201.   def update_phase3_skill_select
  1202. # -------------------
  1203. # 修改開始
  1204.     @skill_window.help_window.visible = false#★★★★★★★★★★★★★
  1205. # 修改終了
  1206. # -------------------
  1207.     first_reupdate_phase3_skill_select
  1208.   end
  1209.   #--------------------------------------------------------------------------
  1210.   # ● 刷新画面 (角色命令回合 : 选择物品)
  1211.   #--------------------------------------------------------------------------
  1212.   alias first_reupdate_phase3_item_select update_phase3_item_select  
  1213.   def update_phase3_item_select
  1214. # -------------------
  1215. # 修改開始
  1216.     @item_window.help_window.visible = false#★★★★★★★★★★★★
  1217. # 修改終了
  1218. # -------------------
  1219.     first_reupdate_phase3_item_select
  1220.   end
  1221.   #--------------------------------------------------------------------------
  1222.   # ● 开始选择特技
  1223.   #--------------------------------------------------------------------------
  1224.   def start_skill_select
  1225.     @skill_window = Window_Skill.new(@active_battler)
  1226.     @skill_window.help_window = Window_Help.new
  1227.     @actor_command_window.active = false
  1228.     @actor_command_window.visible = false
  1229.   end
  1230.   #--------------------------------------------------------------------------
  1231.   # ● 选择特技结束
  1232.   #--------------------------------------------------------------------------
  1233.   alias first_update_end_skill_select end_skill_select  
  1234.   def end_skill_select
  1235. # -------------------
  1236. # 修改開始
  1237.     @skill_window.help_window.visible = false#★★★★★★★★★★★★
  1238. # 修改終了
  1239. # -------------------
  1240.     first_update_end_skill_select
  1241.   end
  1242.   #--------------------------------------------------------------------------
  1243.   # ● 开始选择物品
  1244.   #--------------------------------------------------------------------------
  1245.   def start_item_select
  1246.     # 生成物品窗口
  1247.     @item_window = Window_Item.new
  1248.     # 关联帮助窗口
  1249. # -------------------
  1250. # 修改開始
  1251.     @item_window.help_window =  Window_Help.new#★★★★★★★★★★★★
  1252. # 修改終了
  1253. # -------------------
  1254.     # 无效化角色指令窗口
  1255.     @actor_command_window.active = false
  1256.     @actor_command_window.visible = false
  1257.   end
  1258.   #--------------------------------------------------------------------------
  1259.   # ● 结束选择物品
  1260.   #--------------------------------------------------------------------------
  1261.   alias first_update_end_item_select end_item_select
  1262.   def end_item_select
  1263. # -------------------
  1264. # 修改開始
  1265.     @item_window.help_window.visible = false#★★★★★★★★★★★★
  1266. # 修改終了
  1267. # -------------------
  1268.     first_update_end_item_select
  1269.   end
  1270. end
  1271. #------------------------------------------------------------------------------



  1272. #------------------------------------------------------------------------------
  1273. #==============================================================================
  1274. # ■ Scene_Shop
  1275. #------------------------------------------------------------------------------
  1276. #  处理商店画面的类。
  1277. #==============================================================================

  1278. class Scene_Shop
  1279.   #--------------------------------------------------------------------------
  1280.   # ● 主处理
  1281.   #--------------------------------------------------------------------------
  1282. # --------------------
  1283. # 衝突可能
  1284.   def main
  1285.     # 生成帮助窗口
  1286. # -------------------
  1287. # 修改開始
  1288.     @help_window = Window_Help.new#★★★★★★★★★★★★★★★★
  1289. # 修改終了
  1290. # -------------------
  1291.     # 生成指令窗口
  1292.     @command_window = Window_ShopCommand.new
  1293.     # 生成金钱窗口
  1294.     @gold_window = Window_Gold.new
  1295.     @gold_window.x = 480
  1296. # -------------------
  1297. # 修改開始
  1298.     @gold_window.y = 64-64#★★★★★★★★★★★★★
  1299. # 修改終了
  1300. # -------------------
  1301.     # 生成时间窗口
  1302. # -------------------
  1303. # 修改開始
  1304.     @dummy_window = Window_Base.new(0, 128-64, 640, 352+64)#★★★★★★★★★★★★★
  1305. # 修改終了
  1306. # -------------------
  1307.     # 生成购买窗口
  1308.     @buy_window = Window_ShopBuy.new($game_temp.shop_goods)
  1309.     @buy_window.active = false
  1310.     @buy_window.visible = false
  1311.     @buy_window.help_window = @help_window
  1312.     # 生成卖出窗口
  1313.     @sell_window = Window_ShopSell.new
  1314.     @sell_window.active = false
  1315.     @sell_window.visible = false
  1316.     @sell_window.help_window = @help_window
  1317.     # 生成数量输入窗口
  1318.     @number_window = Window_ShopNumber.new
  1319.     @number_window.active = false
  1320.     @number_window.visible = false
  1321.     # 生成状态窗口
  1322.     @status_window = Window_ShopStatus.new
  1323.     @status_window.visible = false
  1324.     # 执行过渡
  1325.     Graphics.transition
  1326.     # 主循环
  1327.     loop do
  1328.       # 刷新游戏画面
  1329.       Graphics.update
  1330.       # 刷新输入信息
  1331.       Input.update
  1332.       # 刷新画面
  1333.       update
  1334.       # 如果画面切换的话就中断循环
  1335.       if $scene != self
  1336.         break
  1337.       end
  1338.     end
  1339.     # 准备过渡
  1340.     Graphics.freeze
  1341.     # 释放窗口
  1342.     @help_window.dispose
  1343.     @command_window.dispose
  1344.     @gold_window.dispose
  1345.     @dummy_window.dispose
  1346.     @buy_window.dispose
  1347.     @sell_window.dispose
  1348.     @number_window.dispose
  1349.     @status_window.dispose
  1350.   end
  1351.   #--------------------------------------------------------------------------
  1352.   # ● 刷新画面
  1353.   #--------------------------------------------------------------------------
  1354. # --------------------
  1355. # 衝突可能
  1356.   def update
  1357.     # 刷新窗口
  1358.     @help_window.update
  1359.     @command_window.update
  1360.     @gold_window.update
  1361.     @dummy_window.update
  1362.     @buy_window.update
  1363.     @sell_window.update
  1364.     @number_window.update
  1365.     @status_window.update
  1366.     # 指令窗口激活的情况下: 调用 update_command
  1367.     if @command_window.active
  1368. # -------------------
  1369. # 修改開始
  1370.       @help_window.visible=false#★★★★★★★★★★★★★★★★
  1371. # 修改終了
  1372. # -------------------
  1373.       update_command
  1374.       return
  1375.     end
  1376.     # 购买窗口激活的情况下: 调用 update_buy
  1377.     if @buy_window.active
  1378. # -------------------
  1379. # 修改開始
  1380.       @help_window.visible=true#★★★★★★★★★★★★★★★★
  1381.       if @buy_window.item==nil#★★★★★★★★★★★★★★★★
  1382.         @help_window.visible=false#★★★★★★★★★★★★★★★★
  1383.       end #★★★★★★★★★★★★★★★★     
  1384. # 修改終了
  1385. # -------------------
  1386.       update_buy
  1387.       return
  1388.     end
  1389.     # 卖出窗口激活的情况下: 调用 update_sell
  1390.     if @sell_window.active
  1391. # -------------------
  1392. # 修改開始
  1393.       @help_window.visible=true#★★★★★★★★★★★★★★★★
  1394.       if @sell_window.item==nil#★★★★★★★★★★★★★★★★
  1395.         @help_window.visible=false#★★★★★★★★★★★★★★★★
  1396.       end #★★★★★★★★★★★★★★★★
  1397. # 修改終了
  1398. # -------------------      
  1399.       update_sell
  1400.       return
  1401.     end
  1402.     # 个数输入窗口激活的情况下: 调用 update_number
  1403.     if @number_window.active
  1404. # -------------------
  1405. # 修改開始
  1406.       @help_window.visible=false#★★★★★★★★★★★★★★★★
  1407. # 修改終了
  1408. # -------------------
  1409.       update_number
  1410.       return
  1411.     end
  1412.   end
  1413. end
复制代码
其实我是个三流的画师  ←_←
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-27 01:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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