赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 665 |
最后登录 | 2020-5-5 |
在线时间 | 1 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 60
- 在线时间
- 1 小时
- 注册时间
- 2008-1-2
- 帖子
- 58
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
{/fd}我使用的是最老的那套RTAB整合脚本,装备显示就是这样![]()
用了装备大图之后 就变成这样了![]()
{/fd}怎么可以在第一张图片的基础上来显示大图 而不是第2张那张= =
{/pz}或者谁能告诉我怎么美化装备大图的界面么{/fd}
诶,对了,那个第一张图的脚本是这个,怎么可以把他和装备大图结合起来{/pz}
- # ————————————————————————————————————
- # 本脚本来自www.66rpg.com,转载请保留此信息
- # ————————————————————————————————————
- #==============================================================================
- # ■ Harts_Window_EquipTitle
- #==============================================================================
- class Harts_Window_EquipTitle < Window_Base
- #--------------------------------------------------------------------------
- # ● 初期化
- #--------------------------------------------------------------------------
- def initialize
- super(0, 0, 160, 64)
- self.contents = Bitmap.new(width - 32, height - 32)
- self.contents.clear
- self.contents.font.color = normal_color
- self.contents.draw_text(4, 0, 120, 32, $data_system.words.equip, 1)
- end
- end
- #==============================================================================
- # ■ Harts_Window_EquipCommand
- #==============================================================================
- class Harts_Window_EquipCommand < Window_Selectable
- #--------------------------------------------------------------------------
- # ● 初期化
- #--------------------------------------------------------------------------
- def initialize
- super(160, 0, 480, 64)
- self.contents = Bitmap.new(width - 32, height - 32)
- @item_max = 3
- @column_max = 3
- @commands = ["手动装备", "自动装备", "结束"]
- refresh
- self.index = 0
- end
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- def refresh
- self.contents.clear
- for i in 0...@item_max
- draw_item(i, normal_color)
- end
- end
- #--------------------------------------------------------------------------
- # ● 項目描画
- # index : 項目番号
- # color : 文字色
- #--------------------------------------------------------------------------
- def draw_item(index, color)
- self.contents.font.color = color
- x = index * 160 + 4
- self.contents.draw_text(x, 0, 128, 32, @commands[index], 1)
- end
- end
- #==============================================================================
- # ■ Harts_Window_EquipItem
- #==============================================================================
- class Harts_Window_EquipItem < Window_Selectable
- #--------------------------------------------------------------------------
- # ● 初期化
- # actor : 角色
- # equip_type : 装備部位 (0~3)
- #--------------------------------------------------------------------------
- def initialize(actor, equip_type)
- super(272, 256, 368, 160)
- @actor = actor
- @equip_type = equip_type
- @column_max = 1
- refresh
- self.active = false
- self.index = -1
- end
- #--------------------------------------------------------------------------
- # ● 物品取得
- #--------------------------------------------------------------------------
- def item
- return @data[self.index]
- end
- #--------------------------------------------------------------------------
- # ● 最強id取得
- #--------------------------------------------------------------------------
- def max_item_id
- if @equip_type == 0
- if @actor.weapon_id == 0
- max = 0
- else
- max = $data_weapons[@actor.weapon_id].atk
- end
- elsif @equip_type == 1
- if @actor.armor1_id == 0
- max = 0
- else
- max = $data_armors[@actor.armor1_id].pdef
- end
- elsif @equip_type == 2
- if @actor.armor2_id == 0
- max = 0
- else
- max = $data_armors[@actor.armor2_id].pdef
- end
- elsif @equip_type == 3
- if @actor.armor3_id == 0
- max = 0
- else
- max = $data_armors[@actor.armor3_id].pdef
- end
- end
- for i in [email protected]
- if @equip_type == 0
- if max <= $data_weapons[@data[i].id].atk
- max = $data_weapons[@data[i].id].atk
- item_id = @data[i].id
- end
- elsif @equip_type >= 1
- if max <= $data_armors[@data[i].id].pdef
- max = $data_armors[@data[i].id].pdef
- item_id = @data[i].id
- end
- end
- end
- return item_id
- end
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- def refresh
- if self.contents != nil
- self.contents.dispose
- self.contents = nil
- end
- @data = []
- # 装備可能的武器追加
- if @equip_type == 0
- weapon_set = $data_classes[@actor.class_id].weapon_set
- for i in 1...$data_weapons.size
- if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
- @data.push($data_weapons[i])
- end
- end
- end
- # 装備可能的防具追加
- if @equip_type >= 1
- armor_set = $data_classes[@actor.class_id].armor_set
- for i in 1...$data_armors.size
- if $game_party.armor_number(i) > 0 and armor_set.include?(i)
- if $data_armors[i].kind == @equip_type-1
- @data.push($data_armors[i])
- end
- end
- end
- end
- # 空白追加
- @data.push(nil)
- # 全項目描画
- @item_max = @data.size
- self.contents = Bitmap.new(width - 32, row_max * 32)
- for i in 0...@item_max-1
- draw_item(i)
- end
- end
- #--------------------------------------------------------------------------
- # ● 項目描画
- # index : 項目编号
- #--------------------------------------------------------------------------
- def draw_item(index)
- item = @data[index]
- x = 4
- y = index * 32
- case item
- when RPG::Weapon
- number = $game_party.weapon_number(item.id)
- when RPG::Armor
- number = $game_party.armor_number(item.id)
- end
- bitmap = RPG::Cache.icon(item.icon_name)
- self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
- self.contents.font.color = normal_color
- self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
- self.contents.draw_text(x + 280, y, 16, 32, ":", 1)
- self.contents.draw_text(x + 296, y, 24, 32, number.to_s, 2)
- end
- #--------------------------------------------------------------------------
- # ● 帮助更新
- #--------------------------------------------------------------------------
- def update_help
- @help_window.set_text(self.item == nil ? "" : self.item.description)
- end
- end
- #==============================================================================
- # ■ Harts_Window_EquipLeft
- #==============================================================================
- class Harts_Window_EquipLeft < Window_Base
- #--------------------------------------------------------------------------
- # ● 初期化
- # actor : 角色
- #--------------------------------------------------------------------------
- def initialize(actor)
- super(0, 64, 272, 352)
- self.contents = Bitmap.new(width - 32, height - 32)
- @actor = actor
- refresh
- end
- #--------------------------------------------------------------------------
- # ● リフレッシュ
- #--------------------------------------------------------------------------
- def refresh
- self.contents.clear
- draw_actor_graphic(@actor, 32, 64)
- draw_actor_name(@actor, 4 + 96, 0)
- draw_actor_level(@actor, 4 + 96, 32)
- draw_actor_parameter(@actor, 4, 80, 0)
- draw_actor_parameter(@actor, 4, 112, 1)
- draw_actor_parameter(@actor, 4, 144, 2)
- draw_actor_parameter(@actor, 4, 192, 3)
- draw_actor_parameter(@actor, 4, 224, 4)
- draw_actor_parameter(@actor, 4, 256, 5)
- draw_actor_parameter(@actor, 4, 288, 6)
- if @new_atk != nil and @new_atk != @actor.atk
- if @new_atk > @actor.atk
- self.contents.font.color = system_color
- else
- self.contents.font.color = disabled_color
- end
- self.contents.draw_text(160, 80, 40, 32, "→", 1)
- self.contents.draw_text(200, 80, 36, 32, @new_atk.to_s, 2)
- end
- if @new_pdef != nil and @new_pdef != @actor.pdef
- if @new_pdef > @actor.pdef
- self.contents.font.color = system_color
- else
- self.contents.font.color = disabled_color
- end
- self.contents.draw_text(160, 112, 40, 32, "→", 1)
- self.contents.draw_text(200, 112, 36, 32, @new_pdef.to_s, 2)
- end
- if @new_mdef != nil and @new_mdef != @actor.mdef
- if @new_mdef > @actor.mdef
- self.contents.font.color = system_color
- else
- self.contents.font.color = disabled_color
- end
- self.contents.draw_text(160, 144, 40, 32, "→", 1)
- self.contents.draw_text(200, 144, 36, 32, @new_mdef.to_s, 2)
- end
- if @new_str != nil and @new_str != @actor.str
- if @new_str > @actor.str
- self.contents.font.color = system_color
- else
- self.contents.font.color = disabled_color
- end
- self.contents.draw_text(160, 192, 40, 32, "→", 1)
- self.contents.draw_text(200, 192, 36, 32, @new_str.to_s, 2)
- end
- if @new_dex != nil and @new_dex != @actor.dex
- if @new_dex > @actor.dex
- self.contents.font.color = system_color
- else
- self.contents.font.color = disabled_color
- end
- self.contents.draw_text(160, 224, 40, 32, "→", 1)
- self.contents.draw_text(200, 224, 36, 32, @new_dex.to_s, 2)
- end
- if @new_agi != nil and @new_agi != @actor.agi
- if @new_agi > @actor.agi
- self.contents.font.color = system_color
- else
- self.contents.font.color = disabled_color
- end
- self.contents.draw_text(160, 256, 40, 32, "→", 1)
- self.contents.draw_text(200, 256, 36, 32, @new_agi.to_s, 2)
- end
- if @new_int != nil and @new_int != @actor.int
- if @new_int > @actor.int
- self.contents.font.color = system_color
- else
- self.contents.font.color = disabled_color
- end
- self.contents.draw_text(160, 288, 40, 32, "→", 1)
- self.contents.draw_text(200, 288, 36, 32, @new_int.to_s, 2)
- end
- end
- #--------------------------------------------------------------------------
- # ● 装備変更後設定
- # new_atk : 装備変更後攻撃力
- # new_pdef : 装備変更後物理防御
- # new_mdef : 装備変更後魔法防御
- #--------------------------------------------------------------------------
- def set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex, new_agi, new_int)
- if @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef or @new_str != new_str or @new_dex != new_dex or @new_agi != new_agi or @new_int != new_int
- @new_atk = new_atk
- @new_pdef = new_pdef
- @new_mdef = new_mdef
- @new_str = new_str
- @new_dex = new_dex
- @new_agi = new_agi
- @new_int = new_int
- refresh
- end
- end
- end
- #==============================================================================
- # ■ Harts_Scene_Equip
- #==============================================================================
- class Scene_Equip
- include OPACITY_66RPG
- #--------------------------------------------------------------------------
- # ● 初期化
- # actor_index : 角色编号
- # equip_index : 装備编号
- #--------------------------------------------------------------------------
- def initialize(actor_index = 0, equip_index = -1, command_index = 0, equip_active = false, command_active = true)
- @actor_index = actor_index
- @equip_index = equip_index
- @command_index = command_index
- @equip_active = equip_active
- @command_active = command_active
- end
- #--------------------------------------------------------------------------
- # ● 主处理
- #--------------------------------------------------------------------------
- def main
- create_screen
- @actor = $game_party.actors[@actor_index]
- @title_window = Harts_Window_EquipTitle.new
- @command_window = Harts_Window_EquipCommand.new
- @help_window = Window_Help.new
- @help_window.y = 416
- @left_window = Harts_Window_EquipLeft.new(@actor)
- @right_window = Window_EquipRight.new(@actor)
- @item_window0 = Harts_Window_EquipItem.new(@actor, -1)
- @item_window1 = Harts_Window_EquipItem.new(@actor, 0)
- @item_window2 = Harts_Window_EquipItem.new(@actor, 1)
- @item_window3 = Harts_Window_EquipItem.new(@actor, 2)
- @item_window4 = Harts_Window_EquipItem.new(@actor, 3)
- @item_window5 = Harts_Window_EquipItem.new(@actor, 4)
- @right_window.help_window = @help_window
- @item_window0.help_window = @help_window
- @item_window1.help_window = @help_window
- @item_window2.help_window = @help_window
- @item_window3.help_window = @help_window
- @item_window4.help_window = @help_window
- @item_window5.help_window = @help_window
- @command_window.index = @command_index
- @right_window.index = @equip_index
- @command_window.active = @command_active
- @right_window.active = @equip_active
- testname = @actor.battler_name+"_h.png"
- if FileTest.exist?("Graphics/battlers/#{testname}")
- sp = Sprite.new
- sp.bitmap=Bitmap.new("Graphics/battlers/#{testname}")
- sp.opacity = 120
- end
- refresh
- Graphics.transition
- loop do
- Graphics.update
- Input.update
- update
- if $scene != self
- break
- end
- end
- # トランジション準備
- Graphics.freeze
- # ウィンドウを解放
- @title_window.dispose
- @command_window.dispose
- @help_window.dispose
- @left_window.dispose
- @right_window.dispose
- @item_window0.dispose
- @item_window1.dispose
- @item_window2.dispose
- @item_window3.dispose
- @item_window4.dispose
- @item_window5.dispose
- dispose_screen
- end
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- def refresh
- @item_window0.visible = (@right_window.index == -1)
- @item_window1.visible = (@right_window.index == 0)
- @item_window2.visible = (@right_window.index == 1)
- @item_window3.visible = (@right_window.index == 2)
- @item_window4.visible = (@right_window.index == 3)
- @item_window5.visible = (@right_window.index == 4)
- item1 = @right_window.item
- case @right_window.index
- when -1
- @item_window = @item_window0
- when 0
- @item_window = @item_window1
- when 1
- @item_window = @item_window2
- when 2
- @item_window = @item_window3
- when 3
- @item_window = @item_window4
- when 4
- @item_window = @item_window5
- end
- if @right_window.active
- @left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil)
- end
- if @item_window.active
- item2 = @item_window.item
- last_hp = @actor.hp
- last_sp = @actor.sp
- @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
- new_atk = @actor.atk
- new_pdef = @actor.pdef
- new_mdef = @actor.mdef
- new_str = @actor.str
- new_dex = @actor.dex
- new_agi = @actor.agi
- new_int = @actor.int
- @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
- @actor.hp = last_hp
- @actor.sp = last_sp
- @left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex, new_agi, new_int)
- end
- end
- #--------------------------------------------------------------------------
- # ● 更新
- #--------------------------------------------------------------------------
- def update
- @title_window.update
- @command_window.update
- @left_window.update
- @right_window.update
- @item_window.update
- refresh
- if @command_window.active
- update_command
- return
- end
- if @right_window.active
- update_right
- return
- end
- if @item_window.active
- update_item
- return
- end
- end
- #--------------------------------------------------------------------------
- # ● 更新
- #--------------------------------------------------------------------------
- def update_command
- # 按下B的场合
- if Input.trigger?(Input::B)
- # 音效演奏
- $game_system.se_play($data_system.cancel_se)
- # 画面切换
- $scene = Scene_Menu.new(2)
- return
- end
- # 按下C的场合
- if Input.trigger?(Input::C)
- case @command_window.index
- # 装備的場合
- when 0
- # 音效演奏
- $game_system.se_play($data_system.decision_se)
- @right_window.active = true
- @command_window.active = false
- @right_window.index = 0
- @command_window.index = -1
- return
- # 最強装備的場合
- when 1
- # 音效演奏
- $game_system.se_play($data_system.equip_se)
- # 最強装備的取得
- max_weapon_id = @item_window1.max_item_id
- max_armor1_id = @item_window2.max_item_id
- max_armor2_id = @item_window3.max_item_id
- max_armor3_id = @item_window4.max_item_id
- # 最強装備执行
- @actor.equip(0, max_weapon_id)
- @actor.equip(1, max_armor1_id)
- @actor.equip(2, max_armor2_id)
- @actor.equip(3, max_armor3_id)
- @right_window.refresh
- @left_window.refresh
- @item_window1.refresh
- @item_window2.refresh
- @item_window3.refresh
- @item_window4.refresh
- return
- when 2
- # 音效演奏
- $game_system.se_play($data_system.cancel_se)
- # 画面切换
- $scene = Scene_Menu.new(2)
- return
- end
- end
- # 按下R的场合
- if Input.trigger?(Input::R)
- # 音效演奏
- $game_system.se_play($data_system.cursor_se)
- @actor_index += 1
- @actor_index %= $game_party.actors.size
- # 画面切换
- $scene = Scene_Equip.new(@actor_index, @right_window.index, @command_window.index)
- return
- end
- # 按下L的场合
- if Input.trigger?(Input::L)
- # 音效演奏
- $game_system.se_play($data_system.cursor_se)
- @actor_index += $game_party.actors.size - 1
- @actor_index %= $game_party.actors.size
- # 画面切换
- $scene = Scene_Equip.new(@actor_index, @right_window.index, @command_window.index)
- return
- end
- end
- #--------------------------------------------------------------------------
- # ● 更新右边窗口
- #--------------------------------------------------------------------------
- def update_right
- # 按下B的场合
- if Input.trigger?(Input::B)
- # 音效演奏
- $game_system.se_play($data_system.cancel_se)
- @right_window.active = false
- @command_window.active = true
- @right_window.index = -1
- @command_window.index = 0
- return
- end
- # 按下C的场合
- if Input.trigger?(Input::C)
- # 装備固定时
- if @actor.equip_fix?(@right_window.index)
- # 音效演奏
- $game_system.se_play($data_system.buzzer_se)
- return
- end
- # 音效演奏
- $game_system.se_play($data_system.decision_se)
- @right_window.active = false
- @item_window.active = true
- @item_window.index = 0
- return
- end
- # 按下R的场合
- if Input.trigger?(Input::R)
- # 音效演奏
- $game_system.se_play($data_system.cursor_se)
- @actor_index += 1
- @actor_index %= $game_party.actors.size
- # 画面切换
- $scene = Scene_Equip.new(@actor_index, @right_window.index, @command_window.index, true, false)
- return
- end
- # 按下L的场合
- if Input.trigger?(Input::L)
- # 音效演奏
- $game_system.se_play($data_system.cursor_se)
- @actor_index += $game_party.actors.size - 1
- @actor_index %= $game_party.actors.size
- # 画面切换
- $scene = Scene_Equip.new(@actor_index, @right_window.index, @command_window.index, true, false)
- return
- end
- end
- #--------------------------------------------------------------------------
- # ● 更新物品
- #--------------------------------------------------------------------------
- def update_item
- # 按下B的场合
- if Input.trigger?(Input::B)
- # 音效演奏
- $game_system.se_play($data_system.cancel_se)
- @right_window.active = true
- @item_window.active = false
- @item_window.index = -1
- return
- end
- # 按下C的场合
- if Input.trigger?(Input::C)
- # 音效演奏
- $game_system.se_play($data_system.equip_se)
- item = @item_window.item
- # 装備変更
- @actor.equip(@right_window.index, item == nil ? 0 : item.id)
- @right_window.active = true
- @item_window.active = false
- @item_window.index = -1
- # 刷新
- @right_window.refresh
- @item_window.refresh
- return
- end
- end
- end
复制代码 |
|