赞 | 0 |
VIP | 16 |
好人卡 | 0 |
积分 | 1 |
经验 | 12245 |
最后登录 | 2023-5-31 |
在线时间 | 275 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 70
- 在线时间
- 275 小时
- 注册时间
- 2008-10-22
- 帖子
- 205
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 u566 于 2013-2-22 20:26 编辑
我一直在想仿梦幻做一个游戏,而梦幻里不同的窗口使用了不同的皮肤。所以我想在RM上尝试一下。
我新建了一个超级类Window_Base_2
把里面的@windowskin_name = $game_system.windowskin_name
替换成了@windowskin_name = "001-Blue01"
然后再把所有想要换皮肤的窗口的< Window_Base改为< Window_Base_2
这在某一个外挂脚本中成功了,但在动态详尽帮助里失败了
做了上述修改之后,帮助窗口的皮肤只是闪了一下,又回到了原来的皮肤
这是怎么回事求解答
注:在装备窗口中没有这个问题,只有在物品窗口和技能窗口里有
附帮助窗口脚本- #==============================================================================
- # ■ Window_Help
- #------------------------------------------------------------------------------
- # 特技及物品的说明、角色的状态显示的窗口。
- # 若要更改属性,请搜索element_set={1=>"火",2=>"冰",3=>"光",4=>"暗"} 改成对应属性即可
- #==============================================================================
- UNSHOW_STATE=[1,2,3,4,5]#记录不显示的状态数组
- UNSHOW_ELEMENT=[1,2,3,4,5]#记录不显示的属性数组
- class Window_Help < Window_Base_2
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- super(150,200, 180, 480)
- self.opacity = 150
- self.z = 150
- self.visible = false
- self.contents = Bitmap.new(width - 32, height - 32)
- description=""
- @item=nil
- @armor=nil
- @weapon=nil
- end
- #--------------------------------------------------------------------------
- # ● 设置文本
- # text : 窗口显示的字符串
- # align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)
- #--------------------------------------------------------------------------
- def set_text(data, align=nil)
- # 如果文本和对齐方式的至少一方与上次的不同
- if align != nil
- # 再描绘窗口和文本
- self.width = 640
- self.height = 128
- self.x=0
- self.y=0
- self.contents = Bitmap.new(width - 32, height - 32)
- self.contents.clear
- self.contents.font.color = normal_color
- self.contents.font.size = 20
- self.contents.draw_text(4, 0, self.width - 48, 32, data, align)
- self.visible = true
- return
- end
- if data == nil
- self.visible = false
- @data = nil
- end
- if data != nil && @data != data
- @data=data
- self.visible = true
- self.width = 180
- self.height = 200
- self.x=180
- self.y=430
- self.contents = Bitmap.new(width - 32, height - 32)
- case @data
- when RPG::Item
- set_item_text(@data)
- when RPG::Weapon
- set_weapon_text(@data)
- when RPG::Armor
- set_armor_text(@data)
- when RPG::Skill
- set_skill_text(@data)
- end
- else
- return
- end
- end
- #--------------------------------------------------------------------------
- # ● 设置敌人
- # enemy : 要显示名字和状态的敌人
- #--------------------------------------------------------------------------
- def set_enemy(enemy)
- text = enemy.name
- state_text = make_battler_state_text(enemy, 0, false)
- if state_text != ""
- text += " " + state_text
- end
- set_text(text, 1)
- @data=nil
- end
- #--------------------------------------------------------------------------
- # ● 设置角色
- # actor : 要显示状态的角色
- #--------------------------------------------------------------------------
- def set_actor(actor)
- if actor != @actor
- self.width = 640
- self.height = 64
- self.x=0
- self.y=0
- self.contents = Bitmap.new(width - 32, height - 32)
- self.contents.clear
- self.contents.font.size=20
- self.contents.font.color = normal_color
- draw_actor_name(actor, 4, 0)
- draw_actor_state(actor, 140, 0)
- draw_actor_hp(actor, 284, 0)
- draw_actor_sp(actor, 460, 0)
- [url=home.php?mod=space&uid=95897]@actor[/url] = actor
- @text = nil
- self.visible = true
- end
- end
- #--------------------------------------------------------------------------
- # ● 校正帮助窗口位置
- #--------------------------------------------------------------------------
- def set_pos(x,y,width,oy,index,column_max)
- #光标坐标
- cursor_width = width / column_max - 32
- xx = index % column_max * (cursor_width + 32)
- yy = index / column_max * 32 - oy
- self.x=xx+x+150
- self.y=yy+y+30
- if self.x+self.width>640
- self.x=640-self.width
- end
- if self.y+self.height>480
- self.y=480-self.height
- end
- end
- end
- class Window_Help < Window_Base_2
- #--------------------------------------------------------------------------
- # ● 物品帮助窗口
- #--------------------------------------------------------------------------
- def set_item_text(item)
- @item=item
- description=""
- [email protected]
- x=0
- y=0
- # 取得屬性、附加狀態、解除狀態之副本
- element_set = @item.element_set.clone
- plus_state_set = @item.plus_state_set.clone
- minus_state_set = @item.minus_state_set.clone
- # 過濾不顯示的描述
- element_set -= UNSHOW_ELEMENT
- plus_state_set -= UNSHOW_STATE
- minus_state_set -= UNSHOW_STATE
- height=1 #依要显示的内容确定高
- #由描叙确定高
- height+=description.size/3/10
- if description.size%10!=0
- height+=1
- end
- height+=3 #空行,效果范围,价格
- if @item.recover_hp_rate !=0 #HP 回复率。
- height+=1
- end
- if @item.recover_hp !=0 #HP 回复量。
- height+=1
- end
- if @item.recover_sp_rate!=0 #SP 回复率。
- height+=1
- end
- if @item.recover_sp !=0 #SP 回复量。
- height+=1
- end
- if @item.parameter_type !=0 #增加能力值
- height+=1
- end
- if element_set.empty? !=true #属性。为属性 ID 的数组
- height+=1
- end
- if plus_state_set.empty? !=true #附加状态。为状态 ID 的数组
- height+=plus_state_set.size
- end
- if minus_state_set.empty? !=true #解除状态。为状态 ID 的数组
- height+=minus_state_set.size
- end
- self.height=height*15+40+15
- self.contents = Bitmap.new(self.width - 32,self.height - 32)
- self.contents.clear
- #描绘名字
- [email protected]
- self.contents.font.color =text_color(3)
- self.contents.font.size=18
- if text!=nil
- self.visible = true
- self.contents.draw_text(0,0, @item.name.size*7, 20, text, 0)
- else
- self.visible = false
- end
- x=0
- y+=1
- text=description
- #描绘描叙
- while ((text = description.slice!(/./m)) != nil)
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x*15, y*15+5, 14, 14, text, 0)
- x+=1
- if x==10#每行10个字
- x=0
- y+=1
- end
- end
- #由特技属性确定高
- #效果范围
- scope = {0=>"特殊物品",1=>"敌单体",2=>"敌全体",3=>"己方单体",4=>"己方全体",5=>"己方昏死单体",6=>"己方昏死全体",7=>"使用者"}#HASH表
- text="范围:"+scope[@item.scope]
- x=0
- y+=2 #空一行
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- #价格
- x=0
- y+=1
- text="价格:"[email protected]_s
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
-
- #HP 回复率
- if @item.recover_hp_rate!=0
- x=0
- y+=1
- text="回复气血:"[email protected]_hp_rate.to_s+"%"
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- #HP回复量
- if @item.recover_hp!=0
- x=0
- y+=1
- text="回复气血:"[email protected]_hp.to_s
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- #SP 回复率
- if @item.recover_sp_rate!=0
- x=0
- y+=1
- text="回复魔法:"[email protected]_sp_rate.to_s+"%"
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- #SP 回复量
- if @item.recover_sp!=0
- x=0
- y+=1
- text="回复魔法:"[email protected]_sp.to_s
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- #增加能力值
- if @item.parameter_type!=0
- parameter_type={1=>"最大气血",2=>"最大魔法",3=>$data_system.words.str,4=>$data_system.words.dex,5=>$data_system.words.agi,6=>$data_system.words.int}
- x=0
- y+=1
- if @item.parameter_points>0
- text="增加:"+parameter_type[@item.parameter_type]+" +"[email protected]_points.to_s
- else
- text="减少:"+parameter_type[@item.parameter_type][email protected]_points.to_s
- end
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
-
- #物品属性
- if element_set.empty? !=true #属性。为属性 ID 的数组
- text="属性:"
- for i in 0...element_set.size
- text+=$data_system.elements[element_set[i]]+" "
- end
- x=0
- y+=1
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- #附加状态
- if plus_state_set.empty? !=true #附加状态。为状态 ID 的数组
- text="附加状态:"
- x=0
- y+=1
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- y-=1
- x+=text.size*5
- for i in 0...plus_state_set.size
- y+=1
- text=$data_states[plus_state_set[i]].name
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- end
- #解除状态
- if minus_state_set.empty? !=true #解除状态。为状态 ID 的数组
- text="解除状态:"
- x=0
- y+=1
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- y-=1
- x+=text.size*5
- for i in 0...minus_state_set.size
- y+=1
- text=$data_states[minus_state_set[i]].name
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- end
- end
- end
- class Window_Help < Window_Base_2
- #--------------------------------------------------------------------------
- # ● 武器帮助窗口
- #--------------------------------------------------------------------------
-
- def set_weapon_text(weapon)
- @weapon=weapon
- description=""
- [email protected]
- # 取得屬性、附加狀態、解除狀態之副本
- element_set = @weapon.element_set.clone
- plus_state_set = @weapon.plus_state_set.clone
- minus_state_set = @weapon.minus_state_set.clone
- # 過濾不顯示的描述
- element_set -= UNSHOW_ELEMENT
- plus_state_set -= UNSHOW_STATE
- minus_state_set -= UNSHOW_STATE
-
-
- x=0
- y=0
- height=1 #依要显示的内容确定高
- #由描叙确定高
- height+=description.size/3/10
- if description.size%10!=0
- height+=2
- end
- height+=4 #2个空行,攻击,价格
- if @weapon.pdef!=0 #物理防御
- height+=1
- end
- if @weapon.mdef!=0 #魔法防御
- height+=1
- end
- if @weapon.str_plus!=0 #力量
- height+=1
- end
- if @weapon.dex_plus!=0#体质
- height+=1
- end
- if @weapon.agi_plus!=0#敏捷
- height+=1
- end
- if @weapon.int_plus!=0 #智力
- height+=1
- end
- if element_set.empty? !=true #属性。为属性 ID 的数组
- height+=1
- end
- if plus_state_set.empty? !=true #附加状态。为状态 ID 的数组
- height+=plus_state_set.size
- end
- if minus_state_set.empty? !=true #解除状态。为状态 ID 的数组
- height+=minus_state_set.size
- end
- self.height=height*15+40+15
- self.contents = Bitmap.new(self.width - 32,self.height - 32)
- self.contents.clear
- #描绘名字
- [email protected]
- self.contents.font.color = text_color(1)#颜色脚本
- self.contents.font.size=18
- if text!=nil
- self.visible = true
- self.contents.draw_text(0,0, @weapon.name.size*7, 20, text, 0)
- else
- self.visible = false
- end
- x=0
- y+=1
- text=description
- #描绘描叙
- while ((text = description.slice!(/./m)) != nil)
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x*15, y*15+5, 14, 14, text, 0)
- x+=1
- if x==10#每行10个字
- x=0
- y+=1
- end
- end
- #由特技属性确定高
-
- #攻击
- x=0
- y+=1 #空行
- text="攻击:"[email protected]_s
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- #价格
- x=0
- y+=1
- text="价格:"[email protected]_s
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- #耐久度
- x=0
- y+=1
- #dur_set = @weapon.dur_set
- dur = @weapon.dur
- text = "耐久度: #{dur}"
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x-1, y*15+5, text.size*6, 14, text, 0)
- #可镶嵌次数
- x=0
- y+=1
- text = "可镶嵌次数: "[email protected]_s
- self.contents.font.color = text_color(4)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x-1, y*15+5, text.size*6, 14, text, 0)
- #品质
- x=0
- y+=1
- text = "品质: "[email protected]
- self.contents.font.color = text_color(3)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x-1, y*15+5, text.size*6, 14, text, 0)
-
- if @weapon.pdef !=0 #物理防御
- x=0
- y+=1
- text="物理防御:"[email protected]_s
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- if @weapon.mdef!=0 #魔法防御
- x=0
- y+=1
- text="魔法防御:"[email protected]_s
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- #武器属性
- if element_set.empty? != true #属性。为属性 ID 的数组
- text="属性:"
- for i in 0...element_set.size
- text+=$data_system.elements[element_set[i]]+" "
- end
- x=0
- y+=1
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- #附加状态
- if plus_state_set.empty? != true #附加状态。为状态 ID 的数组
- text="附加状态:"
- x=0
- y+=1
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- y-=1
- x+=text.size*5
- for i in 0...plus_state_set.size
- y+=1
- text=$data_states[plus_state_set[i]].name
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- end
- #解除状态
- if minus_state_set.empty? != true #解除状态。为状态 ID 的数组
- text="解除状态:"
- x=0
- y+=1
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- y-=1
- x+=text.size*5
- for i in 0...minus_state_set.size
- y+=1
- text=$data_states[minus_state_set[i]].name
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- end
- y+=2 #空行
- if @weapon.str_plus !=0 #力量
- x=0
- y+=1
- if @weapon.str_plus > 0
- text=$data_system.words.str+" + "[email protected]_plus.to_s
- else
- [email protected]_plus
- text=$data_system.words.str+" - "+str_minus.to_s
- end
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- if @weapon.dex_plus !=0#体质
- x=0
- y+=1
- if @weapon.dex_plus > 0
- text=$data_system.words.dex+" + "[email protected]_plus.to_s
- else
- [email protected]_plus
- text=$data_system.words.dex+" - "+dex_minus.to_s
- end
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- if @weapon.agi_plus !=0#敏捷
- x=0
- y+=1
- if @weapon.agi_plus > 0
- text=$data_system.words.agi+" + "[email protected]_plus.to_s
- else
- [email protected]_plus
- text=$data_system.words.agi+" - "+agi_minus.to_s
- end
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- if @weapon.int_plus != 0 #智力
- x=0
- y+=1
- if @weapon.int_plus > 0
- text=$data_system.words.int+" + "[email protected]_plus.to_s
- else
- [email protected]_plus
- text=$data_system.words.int+" - "+int_minus.to_s
- end
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- end
- end
- class Window_Help < Window_Base_2
- #--------------------------------------------------------------------------
- # ● 防具帮助窗口
- #--------------------------------------------------------------------------
- def set_armor_text(armor)
- @armor=armor
- description=""
- [email protected]
- # 取得屬性、附加狀態、解除狀態之副本
- element_set = @armor.guard_element_set.clone
- guard_state_set = @armor.guard_state_set.clone
- # 過濾不顯示的描述
- element_set -= UNSHOW_ELEMENT
- guard_state_set -= UNSHOW_STATE
- x=0
- y=0
- height=2 #依要显示的内容确定高
- #由描叙确定高
- height+=description.size/3/10
- if description.size%10 !=0
- height+=2
- end
- height+=3 #2个空行,价格
- if @armor.pdef !=0 #物理防御
- height+=1
- end
- if @armor.mdef !=0 #魔法防御
- height+=1
- end
- if @armor.str_plus !=0 #力量
- height+=1
- end
- if @armor.dex_plus !=0#体质
- height+=1
- end
- if @armor.agi_plus !=0#敏捷
- height+=1
- end
- if @armor.int_plus !=0 #智力
- height+=1
- end
- if element_set.empty? != true #属性防御。为属性 ID 的数组
- height+=1
- end
- if guard_state_set.empty? != true #状态防御。为状态 ID 的数组
- height+=guard_state_set.size
- end
- self.height=height*16+70
- self.contents = Bitmap.new(self.width - 32,self.height - 32)
- self.contents.clear
- #描绘名字
- [email protected]
- self.contents.font.color = text_color(1)#颜色脚本
- self.contents.font.size=18
- if text!=nil
- self.visible = true
- self.contents.draw_text(0,0, @armor.name.size*7, 20, text, 0)
- else
- self.visible = false
- end
- x=0
- y+=1
- text=description
- #描绘描叙
- while ((text = description.slice!(/./m)) != nil)
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x*15, y*15+5, 14, 14, text, 0)
- x+=1
- if x==10#每行10个字
- x=0
- y+=1
- end
- end
- #由特技属性确定高
-
-
- #价格
- x=0
- y+=1#空行
- text="价格:"[email protected]_s
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- #耐久度
- x=2
- y+=1
- #dur_set = @weapon.dur_set
- dur = @armor.dur
- text = "耐久度: #{dur}"
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x-1, y*15+5, text.size*6, 14, text, 0)
- #可镶嵌次数
- x=0
- y+=1
- text = "可镶嵌次数: "[email protected]_s
- self.contents.font.color = text_color(4)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x-1, y*15+65, text.size*6, 14, text, 0)
- #品质
- x=0
- y+=1
- text = "品质: "[email protected]
- self.contents.font.color = text_color(3)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x-1, y*15+35, text.size*6, 14, text, 0)
-
- if @armor.pdef !=0 #物理防御
- text="物理防御:"[email protected]_s
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- x=0
- y+=1
- end
- if @armor.mdef !=0 #魔法防御
- text="魔法防御:"[email protected]_s
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- x=0
- y+=1
- end
- #属性防御
- if element_set.empty? !=true #属性。为属性 ID 的数组
- text="属性防御:"
- for i in 0...element_set.size
- text+=$data_system.elements[element_set[i]]+" "
- end
- x=0
- y+=1
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)
- end
- #状态防御
- if guard_state_set.empty? !=true #附加状态。为状态 ID 的数组
- text="状态防御:"
- x=0
- y+=1
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)
- y-=1
- x+=text.size*5
- for i in 0...guard_state_set.size
- y+=1
- text=$data_states[guard_state_set[i]].name
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)
- end
- end
-
- y+=1 #空行
- if @armor.str_plus !=0 #力量
- x=0
- y+=1
- if @armor.str_plus > 0
- text=$data_system.words.str+" + "[email protected]_plus.to_s
- else
- [email protected]_plus
- text=$data_system.words.str+" - "+str_minus.to_s
- end
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)
- end
- if @armor.dex_plus !=0#体质
- x=0
- y+=1
- if @armor.dex_plus > 0
- text=$data_system.words.dex+" + "[email protected]_plus.to_s
- else
- [email protected]_plus
- text=$data_system.words.dex+" - "+dex_minus.to_s
- end
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)
- end
- if @armor.agi_plus !=0#敏捷
- x=0
- y+=1
- if @armor.agi_plus > 0
- text=$data_system.words.agi+" + "[email protected]_plus.to_s
- else
- [email protected]_plus
- text=$data_system.words.agi+" - "+agi_minus.to_s
- end
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)
- end
- if @armor.int_plus !=0 #智力
- x=0
- y+=1
- if @armor.int_plus > 0
- text=$data_system.words.int+" + "[email protected]_plus.to_s
- else
- [email protected]_plus
- text=$data_system.words.int+" - "+int_minus.to_s
- end
- self.contents.font.color = text_color(6)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)
- end
- end
- end
- class Window_Help < Window_Base_2
- #--------------------------------------------------------------------------
- # ● 技能帮助窗口
- #--------------------------------------------------------------------------
- def set_skill_text(skill)
- @skill=skill
- description=""
- [email protected]
- # 取得屬性、附加狀態、解除狀態之副本
- element_set = @skill.element_set.clone
- plus_state_set = @skill.plus_state_set.clone
- minus_state_set = @skill.minus_state_set.clone
- # 過濾不顯示的描述
- element_set -= UNSHOW_ELEMENT
- plus_state_set -= UNSHOW_STATE
- minus_state_set -= UNSHOW_STATE
- x=0
- y=0
- height=1 #依要显示的内容确定高
- #由描叙确定高
- height+=description.size/3/10
- if description.size%10!=0
- height+=1
- end
- height+=4 #空行,效果范围,消费SP,命中率
- if @skill.power!=0 #威力,威力为0,则可能为状态魔法
- height+=1
- end
- if element_set.empty? !=true #属性。为属性 ID 的数组
- height+=1
- end
- if plus_state_set.empty? !=true #附加状态。为状态 ID 的数组
- height+=plus_state_set.size
- end
- if minus_state_set.empty? !=true #解除状态。为状态 ID 的数组
- height+=minus_state_set.size
- end
- self.height=height*15+40+15
- self.contents = Bitmap.new(self.width - 32,self.height - 32)
- self.contents.clear
- #描绘名字
- [email protected]
- self.contents.font.color =text_color(6)
- self.contents.font.size=18
- if text!=nil
- self.visible = true
- self.contents.draw_text(0,0, @skill.name.size*7, 20, text, 0)
- else
- self.visible = false
- end
- x=0
- y+=1
- text=description
- #描绘描叙
- while ((text = description.slice!(/./m)) != nil)
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x*15, y*15+5, 14, 14, text, 0)
- x+=1
- text
- if x==10#每行10个字
- x=0
- y+=1
- end
- end
- #由特技属性确定高
- #效果范围
-
- scope = {0=>"特殊技能",1=>"敌单体",2=>"敌全体",3=>"己方单体",4=>"己方全体",5=>"己方昏死单体",6=>"己方昏死全体",7=>"使用者"}#HASH表
- text="范围:"+scope[@skill.scope]
- x=0
- y+=2 #空一行
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
-
- #威力
- if @skill.power!=0
- x=0
- y+=1
- [email protected] > 0 ? @skill.power : -1* @skill.power
- text="威力:"+c.to_s
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- #描绘消费SP
- x=0
- y+=1
- text="消耗SP:"[email protected]_cost.to_s
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- #命中率
- x=0
- y+=1
- text="命中率:"[email protected]_s+"%"
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- #攻击属性
-
- if element_set.empty? != true #属性。为属性 ID 的数组
- text="属性:"
- for i in 0...element_set.size
- text+=$data_system.elements[element_set[i]]+" "
- end
- x=0
- y+=1
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- #附加状态
- if plus_state_set.empty? != true #附加状态。为状态 ID 的数组
- text="附加状态:"
- x=0
- y+=1
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- y-=1
- x+=text.size*5
- for i in 0...plus_state_set.size
- y+=1
- text=$data_states[plus_state_set[i]].name
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- end
- #解除状态
- if minus_state_set.empty? != true #解除状态。为状态 ID 的数组
- text="解除状态:"
- x=0
- y+=1
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- y-=1
- x+=text.size*5
- for i in 0...minus_state_set.size
- y+=1
- text=$data_states[minus_state_set[i]].name
- self.contents.font.color = normal_color
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- end
- end
- end
- class Window_Item < Window_Selectable
- #--------------------------------------------------------------------------
- # ● 刷新帮助文本
- #--------------------------------------------------------------------------
- def update_help
- # @help_window.set_text(self.item == nil ? "" : self.item.description)
- @help_window.set_text(item)
- #校正帮助窗口位置
- @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
- end
- end
- class Window_Skill < Window_Selectable
- #--------------------------------------------------------------------------
- # ● 刷新帮助文本
- #--------------------------------------------------------------------------
- def update_help
- # @help_window.set_text(self.skill == nil ? "" : self.skill.description)
- @help_window.set_text(skill)
- #校正帮助窗口位置
- @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
- end
- end
- class Window_EquipRight < Window_Selectable
- def update_help
- # @help_window.set_text(self.item == nil ? "" : self.item.description)
- @help_window.set_text(item)
- #校正帮助窗口位置
- @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
- end
- end
- class Window_EquipItem < Window_Selectable
- def update_help
- # @help_window.set_text(self.item == nil ? "" : self.item.description)
- @help_window.set_text(item)
- #校正帮助窗口位置
- @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
- end
- end
- class Window_ShopBuy < Window_Selectable
- def update_help
- @help_window.set_text(item)
- #校正帮助窗口位置
- @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
- end
- end
- class Window_ShopSell < Window_Selectable
- def update_help
- @help_window.set_text(item)
- #校正帮助窗口位置
- @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
- end
- end
复制代码 |
|