赞 | 0 |
VIP | 0 |
好人卡 | 7 |
积分 | 1 |
经验 | 18941 |
最后登录 | 2021-9-4 |
在线时间 | 592 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 69
- 在线时间
- 592 小时
- 注册时间
- 2010-10-31
- 帖子
- 194
|
本帖最后由 黯光無影 于 2011-2-8 16:21 编辑
是那个帮助窗口的y值有差,我改了一下,顺便标记了修改地方有需要自己修改- #==============================================================================
- # ■ Window_Help
- #------------------------------------------------------------------------------
- # 特技及物品的说明、角色的状态显示的窗口。
- # 若要更改属性,请搜索element_set={1=>"火",2=>"冰",3=>"光",4=>"暗"} 改成对应属性即可
- #==============================================================================
- UNSHOW_STATE=[1,2,3,4,5]#记录不显示的状态数组
- UNSHOW_ELEMENT=[2,3,4,5]#记录不显示的属性数组
- class Window_Help < Window_Base
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- super(0,0, 180, 430)
- self.windowskin = RPG::Cache.windowskin("window_item")
- 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 = 64
- 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 = 66 #高
- self.x=220 #横坐标
- self.y=0 #纵坐标
- #############################
- 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)
- @actor = 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+70
- 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
- #--------------------------------------------------------------------------
- # ● 物品帮助窗口
- #--------------------------------------------------------------------------
- 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(item.name_color)
- 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 = text_color(item.item_self_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 = text_color(item.item_xg_color)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- #价格
- x=0
- y+=1
-
- #bitmap = RPG::Cache.icon(item.icon_name)
- #self.contents.blt(24, 32, bitmap, Rect.new(0, 0, 48, 48))
-
- text="价格:"[email protected]_s
- self.contents.font.color = text_color(item.item_q_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="回复HP:"[email protected]_hp_rate.to_s+"%"
- self.contents.font.color = text_color(item.item_jhpb_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="回复HP:"[email protected]_hp.to_s
- self.contents.font.color = text_color(item.item_jhp_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="回复SP:"[email protected]_sp_rate.to_s+"%"
- self.contents.font.color = text_color(item.item_jspb_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="回复SP:"[email protected]_sp.to_s
- self.contents.font.color = text_color(item.item_jsp_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=>"MaxHP",2=>"MaxSP",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 = text_color(item.item_ultra_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 = text_color(item.item_sx_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 = text_color(item.item_fstate_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 = text_color(item.item_fstate_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 = text_color(item.item_jstate_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 = text_color(item.item_jstate_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
- #--------------------------------------------------------------------------
- # ● 武器帮助窗口
- #--------------------------------------------------------------------------
-
- 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+=1
- 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
-
-
- if (weapon.levels + weapon.strs + weapon.dexs\
- + weapon.agis + weapon.ints).to_i != 0
- height+=1
- end
- if weapon.levels.to_i != 0
- height+=1
- end
- if weapon.strs.to_i != 0
- height+=1
- end
- if weapon.dexs.to_i != 0
- height+=1
- end
- if weapon.agis.to_i != 0
- height+=1
- end
- if weapon.ints.to_i != 0
- height+=1
- end
-
-
- self.height=height*15+10
- self.contents = Bitmap.new(self.width - 32,self.height - 32)
- self.contents.clear
- #描绘名字
- [email protected]
- self.contents.font.color = text_color(weapon.name_color)#颜色脚本
- 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 = text_color(weapon.weapon_self_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(weapon.weapon_q_color)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
-
- if (weapon.levels + weapon.strs + weapon.dexs\
- + weapon.agis + weapon.ints).to_i != 0
- x=0
- y+=1 #空行
- text="装备条件:"
- self.contents.font.color = Color.new(255,0,0,255)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- if weapon.levels.to_i != 0
- y+=1
- text="需要等级:"+weapon.levels
- self.contents.font.color = Color.new(255,255,0,255)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- if weapon.strs.to_i != 0
- y+=1
- text="必要力量:"+weapon.strs
- self.contents.font.color = Color.new(255,255,0,255)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- if weapon.dexs.to_i != 0
- y+=1
- text="必要灵巧:"+weapon.dexs
- self.contents.font.color = Color.new(255,255,0,255)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- if weapon.agis.to_i != 0
- y+=1
- text="必要速度:"+weapon.agis
- self.contents.font.color = Color.new(255,255,0,255)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- if weapon.ints.to_i != 0
- y+=1
- text="必要魔力:"+weapon.ints
- self.contents.font.color = Color.new(255,255,0,255)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- end
-
-
- #由特技属性确定高
- #攻击
- x=0
- y+=1 #空行
- text="攻击:"[email protected]_s
- self.contents.font.color = text_color(weapon.weapon_atk_color)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, 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(weapon.weapon_def_color)#颜色脚本
- 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(weapon.weapon_mdef_color)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- 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(weapon.weapon_str_color)#颜色脚本
- 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(weapon.weapon_dex_color)#颜色脚本
- 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(weapon.weapon_agi_color)#颜色脚本
- 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(weapon.weapon_int_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 = text_color(weapon.weapon_sx_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 = text_color(weapon.weapon_fstate_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 = text_color(weapon.weapon_fstate_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 = text_color(weapon.weapon_jstate_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 = text_color(weapon.weapon_jstate_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
- #--------------------------------------------------------------------------
- # ● 防具帮助窗口
- #--------------------------------------------------------------------------
- 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=1 #依要显示的内容确定高
- #由描叙确定高
- height+=description.size/3/10
- if description.size%10 !=0
- height+=1
- end
- height+=2 #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
-
-
- if (armor.levels + armor.strs + armor.dexs\
- + armor.agis + armor.ints).to_i != 0
- height+=1
- end
- if armor.levels.to_i != 0
- height+=1
- end
- if armor.strs.to_i != 0
- height+=1
- end
- if armor.dexs.to_i != 0
- height+=1
- end
- if armor.agis.to_i != 0
- height+=1
- end
- if armor.ints.to_i != 0
- height+=1
- end
-
-
- self.height=height*16+25
- self.contents = Bitmap.new(self.width - 32,self.height - 32)
- self.contents.clear
- #描绘名字
- [email protected]
- self.contents.font.color = text_color(armor.name_color)#颜色脚本
- self.contents.font.size=18
- if text!=nil
- self.visible = true
- self.contents.draw_text(x+45,0, @armor.name.size*7, 20, text, 1)
- else
- self.visible = false
- end
- x=0
- y+=1
- text=description
- #描绘描叙
- while ((text = description.slice!(/./m)) != nil)
- self.contents.font.color = text_color(armor.armor_self_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(armor.armor_q_color)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- x=0
- y+=1
-
-
-
- if (armor.levels + armor.strs + armor.dexs\
- + armor.agis + armor.ints).to_i != 0
- text="装备条件"
- self.contents.font.color = Color.new(255,0,0,255)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- x+=15
- if armor.levels.to_i != 0
- y+=1
- text="需要等级:"+armor.levels
- self.contents.font.color = Color.new(255,255,0,255)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- if armor.strs.to_i != 0
- y+=1
- text="必要力量:"+armor.strs
- self.contents.font.color = Color.new(255,255,0,255)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- if armor.dexs.to_i != 0
- y+=1
- text="必要灵巧:"+armor.dexs
- self.contents.font.color = Color.new(255,255,0,255)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- if armor.agis.to_i != 0
- y+=1
- text="必要速度:"+armor.agis
- self.contents.font.color = Color.new(255,255,0,255)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- if armor.ints.to_i != 0
- y+=1
- text="必要魔力:"+armor.ints
- self.contents.font.color = Color.new(255,255,0,255)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- y+=1
- end
- x=0
- if @armor.pdef!=0 #物理防御
- text="物理防御:"[email protected]_s
- self.contents.font.color = text_color(armor.armor_def_color)#颜色脚本
- 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(armor.armor_mdef_color)#颜色脚本
- 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
- self.contents.font.color = text_color(armor.armor_sxdef_color)
- 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 guard_state_set.empty?!=true #附加状态。为状态 ID 的数组
- text="状态防御:"
- self.contents.font.color = text_color(armor.armor_statedef_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...guard_state_set.size
- y+=1
- text=$data_states[guard_state_set[i]].name
- self.contents.font.color = text_color(armor.armor_statedef_color)
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
- end
- end
- 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(armor.armor_str_color)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, 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(armor.armor_dex_color)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, 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(armor.armor_agi_color)#颜色脚本
- self.contents.font.size=14
- self.contents.draw_text(x, y*15+5, 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(armor.armor_int_color)#颜色脚本
- 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
- #--------------------------------------------------------------------------
- # ● 技能帮助窗口
- #--------------------------------------------------------------------------
- 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(skill.name_color)
- 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 = text_color(skill.skill_self_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 = text_color(skill.skill_fw_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 = text_color(skill.skill_wl_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 = text_color(skill.skill_jsp_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 = text_color(skill.skill_mzl_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 = text_color(skill.skill_sx_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 = text_color(skill.skill_fstate_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 = text_color(skill.skill_fstate_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 = text_color(skill.skill_jstate_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 = text_color(skill.skill_jstate_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
复制代码 |
评分
-
查看全部评分
|