赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 5 |
经验 | 7051 |
最后登录 | 2024-11-23 |
在线时间 | 213 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 463
- 在线时间
- 213 小时
- 注册时间
- 2011-4-16
- 帖子
- 72
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
我方角色遭受技能与攻击的动画未完成,只有背部行走图的动态显示。
战斗视窗调整为原创,DQ菜单是转载。
module Vocab BattleParty = "队伍" end class Scene_Equip < Scene_Base #-------------------------------------------------------------------------- # * 战斗时更换装备,返回战斗场景 #-------------------------------------------------------------------------- def return_scene if $game_temp.in_battle $scene = Scene_Battle.new else $scene = Scene_Menu.new(2) end end end class Window_BattleMessage < Window_Message # 设置战斗信息显示的最大行数 MAX_LINE = 4 #-------------------------------------------------------------------------- # * 战斗信息窗口 初始化 #-------------------------------------------------------------------------- def initialize super self.openness = 255 # 设置窗口可见性 self.back_opacity = 0 # 设置窗口不透明度 @lines = [] self.x = -10 self.y = 112 self.width = 566 self.height = 315 refresh end #-------------------------------------------------------------------------- # * 绘制战斗信息 index : Line number #-------------------------------------------------------------------------- def draw_line(index) rect = Rect.new(5, index * WLH, contents.width - 5, WLH) self.contents.clear_rect(rect) self.contents.font.color = normal_color self.contents.draw_text(rect, @lines[index]) end #-------------------------------------------------------------------------- # * 刷新战斗文本 #-------------------------------------------------------------------------- def refresh self.contents.clear (0...[MAX_LINE, @lines.size].min).each do |i| # 使用min函数确保不会超出数组界限 draw_line(i) end end end class Window_TargetEnemy < Window_Command #-------------------------------------------------------------------------- # * 敌人队伍指令窗口 初始化 #-------------------------------------------------------------------------- def initialize commands = [] @enemies = [] count = 0 # 遍历敌人角标的计数器 for enemy in $game_troop.members count += 1 next unless enemy.exist? commands.push(enemy.name) @enemies.push(enemy) end if count > 4 # 超过4个敌人时,选框两列显示 super(360, commands, 2, 4) else super(180, commands, 1, 4) end end end class Window_TurnCount < Window_Command # 自定义类,用于实现战斗回合的显示 # #-------------------------------------------------------------------------- # * 回合显示窗口 初始化 #-------------------------------------------------------------------------- def initialize s1 = $game_troop.turn_count + 1 s2 = "回合" super(128,[s1, s2], 2, 1) draw_item(0, true) draw_item(1, true) end end class Window_BattleStatus < Window_Selectable #-------------------------------------------------------------------------- # * 角色状态窗口 初始化 #-------------------------------------------------------------------------- def initialize super(126, -10, 420, 128, spacing = 0) refresh self.active = false end #-------------------------------------------------------------------------- # * 绘制角色状态窗口的项目 #-------------------------------------------------------------------------- def draw_item(index) rect = item_rect(index) rect.x += 4 rect.width -= 8 self.contents.clear_rect(rect) self.contents.font.color = normal_color actor = $game_party.members[index] draw_actor_name(actor, 4, rect.y) draw_actor_state(actor, 80, rect.y, 120) draw_actor_hp(actor, 210, rect.y, 90) draw_actor_mp(actor, 310, rect.y, 70) end end class Window_ActorCommand < Window_Command #-------------------------------------------------------------------------- # * 角色指令菜单窗口 初始化 #-------------------------------------------------------------------------- def initialize super(128, [], 2, 2) self.active = false end end class Window_PartyCommand < Window_Command #-------------------------------------------------------------------------- # * 战斗初始指令窗口 初始化 ( 卡斯尔顿城堡2F侍卫放行后) (只有第一回合可管理队伍) #-------------------------------------------------------------------------- def initialize s1 = Vocab::fight s2 = Vocab::equip s3 = Vocab::BattleParty s4 = Vocab::escape super(128, [s1, s2, s3, s4], 2, 2) draw_item(0, true) draw_item(1, true) if $game_switches[130] == true && $game_troop.turn_count == 0 draw_item(2, true) else draw_item(2, false) end draw_item(3, $game_troop.can_escape) self.active = false end end class Scene_Battle < Scene_Base # 定义实例变量用于全局调用 attr_accessor :draw_count #-------------------------------------------------------------------------- # * 战斗场景开始处理 #-------------------------------------------------------------------------- def start super @draw_count = 0 # 绘制行走图的切换开关 $game_temp.in_battle = true @spriteset = Spriteset_Battle.new @message_window = Window_BattleMessage.new @action_battlers = [] create_info_viewport end #-------------------------------------------------------------------------- # * 框架更新 #-------------------------------------------------------------------------- def update super update_basic(true) update_info_viewport # 更新信息视窗 @turnCount_window.visible = true if $game_message.visible @info_viewport.visible = false @status_window.visible = true @message_window.visible = true end unless $game_message.visible # 消息显示的情况之外 draw_actor_character # 绘制行走图 @draw_count += 1 return if judge_win_loss # 确定输赢结果 update_scene_change if @target_enemy_window != nil update_target_enemy_selection # 选择目标敌人 elsif @target_actor_window != nil update_target_actor_selection # 选择目标角色 elsif @skill_window != nil update_skill_selection # 选择技能 elsif @item_window != nil update_item_selection # 选择道具 elsif @party_command_window.active update_party_command_selection # 战斗初始指令窗口 elsif @status_window.active update_actor_selection # 角色更换装备需要进行角色选择 elsif @actor_command_window.active update_actor_command_selection # 选择角色窗口 else process_battle_event # 战斗事件处理 process_action # 战斗动作 @status_window.refresh # 刷新角色状态信息 process_battle_event # 战斗事件处理 end end end #-------------------------------------------------------------------------- # * 创建信息显示视窗 #-------------------------------------------------------------------------- def create_info_viewport @info_viewport = Viewport.new(0, 0, 544, 128) # 0,288, 544, 128 @info_viewport.z = 100 @status_window = Window_BattleStatus.new @party_command_window = Window_PartyCommand.new @party_command_window.x = 0 @party_command_window.y = 38 @actor_command_window = Window_ActorCommand.new @actor_command_window.x = 0 @actor_command_window.y = 38 @turnCount_window = Window_TurnCount.new @turnCount_window.x = 0 @turnCount_window.y = -10 @actor_character_window = Window_Base.new(-10, -10, 566, 600) @actor_character_window.back_opacity = 0 @actor_character_window.visible = true draw_character_1 @actor_command_window.visible = false @party_command_window.visible = false @turnCount_window.visible = false @status_window.visible = false @info_viewport.visible = false end #-------------------------------------------------------------------------- # * 绘制玩家角色行走图 #-------------------------------------------------------------------------- def draw_actor_character if @draw_count == 20 draw_character_1 @actor_character_window.update elsif @draw_count == 40 draw_character_2 @draw_count = 0 @actor_character_window.update else @actor_character_window.update end end #-------------------------------------------------------------------------- # * 行走图 - 动作1 #-------------------------------------------------------------------------- def draw_character_1 x_coordinate = 120 for actor in $game_party.members @actor_character_window.draw_character_turnU(actor.character_name, actor.character_index, x_coordinate, 380) if $game_party.members.size == 4 @actor_character_window.draw_character_turnU(actor.character_name, actor.character_index, x_coordinate + 50, 380) if $game_party.members.size == 3 @actor_character_window.draw_character_turnU(actor.character_name, actor.character_index, x_coordinate + 90, 380) if $game_party.members.size == 2 @actor_character_window.draw_character_turnU(actor.character_name, actor.character_index, x_coordinate + 150, 380) if $game_party.members.size == 1 x_coordinate += 100 end end #-------------------------------------------------------------------------- # * 行走图 - 动作2 #-------------------------------------------------------------------------- def draw_character_2 x_coordinate = 120 for actor in $game_party.members @actor_character_window.draw_character_turnU2(actor.character_name, actor.character_index, x_coordinate, 380) if $game_party.members.size == 4 @actor_character_window.draw_character_turnU2(actor.character_name, actor.character_index, x_coordinate + 50, 380) if $game_party.members.size == 3 @actor_character_window.draw_character_turnU2(actor.character_name, actor.character_index, x_coordinate + 90, 380) if $game_party.members.size == 2 @actor_character_window.draw_character_turnU2(actor.character_name, actor.character_index, x_coordinate + 150, 380) if $game_party.members.size == 1 x_coordinate += 100 end end #-------------------------------------------------------------------------- # * 逃跑动作1 #-------------------------------------------------------------------------- def draw_runaway_1 x_coordinate = 120 for actor in $game_party.members @actor_character_window.draw_character_turnD(actor.character_name, actor.character_index, x_coordinate, 380) if $game_party.members.size == 4 @actor_character_window.draw_character_turnD(actor.character_name, actor.character_index, x_coordinate + 50, 380) if $game_party.members.size == 3 @actor_character_window.draw_character_turnD(actor.character_name, actor.character_index, x_coordinate + 90, 380) if $game_party.members.size == 2 @actor_character_window.draw_character_turnD(actor.character_name, actor.character_index, x_coordinate + 150, 380) if $game_party.members.size == 1 x_coordinate += 100 end end #-------------------------------------------------------------------------- # * 逃跑动作2 #-------------------------------------------------------------------------- def draw_runaway_2 x_coordinate = 120 for actor in $game_party.members @actor_character_window.draw_character_turnD2(actor.character_name, actor.character_index, x_coordinate, 380) if $game_party.members.size == 4 @actor_character_window.draw_character_turnD2(actor.character_name, actor.character_index, x_coordinate + 50, 380) if $game_party.members.size == 3 @actor_character_window.draw_character_turnD2(actor.character_name, actor.character_index, x_coordinate + 90, 380) if $game_party.members.size == 2 @actor_character_window.draw_character_turnD2(actor.character_name, actor.character_index, x_coordinate + 150, 380) if $game_party.members.size == 1 x_coordinate += 100 end end #-------------------------------------------------------------------------- # * 执行角色逃跑动作 (搁置) #-------------------------------------------------------------------------- def set_runaway count = 0 if # 判断条件 loop do if count == 0 draw_runaway_1 @actor_character_window.update elsif count == 10 draw_runaway_2 count = 0 @actor_character_window.update else @actor_character_window.update end count += 1 end end end #-------------------------------------------------------------------------- # *处置(关闭)信息显示视口 #-------------------------------------------------------------------------- def dispose_info_viewport @status_window.dispose @party_command_window.dispose @actor_command_window.dispose @info_viewport.dispose @turnCount_window.dispose @actor_character_window.dispose end #-------------------------------------------------------------------------- # *更新信息显示视口 #-------------------------------------------------------------------------- def update_info_viewport @turnCount_window.active = false draw_actor_character # 绘制行走图 @draw_count += 1 @actor_command_window.update @status_window.update @turnCount_window.update @party_command_window.update if @party_command_window.active @party_command_window.visible = true @status_window.visible = true @actor_command_window.visible = false elsif @actor_command_window.active @actor_command_window.visible = true @party_command_window.visible = false end end #-------------------------------------------------------------------------- # * 开始窗口列表選擇指令 #-------------------------------------------------------------------------- def start_party_command_selection if $game_temp.in_battle @status_window.refresh @status_window.index = @actor_index = -1 @active_battler = nil @info_viewport.visible = true @message_window.visible = false @party_command_window.active = true @party_command_window.index = 0 @actor_command_window.active = false $game_party.clear_actions if $game_troop.surprise or not $game_party.inputable? start_main end end end #-------------------------------------------------------------------------- # * 更新战斗初始選擇指令 ( 卡斯尔顿城堡2F侍卫放行后) (只有第一回合可管理队伍) #-------------------------------------------------------------------------- def update_party_command_selection if $game_switches[130] == true && $game_troop.turn_count == 0 new_party_command_selection else old_party_command_selection end end #-------------------------------------------------------------------------- # * 战斗初始選擇指令 - 不能管理队伍 #-------------------------------------------------------------------------- def old_party_command_selection if Input.trigger?(Input::B) Sound.play_cancel end_actor_selection elsif Input.trigger?(Input::C) case @party_command_window.index when 0 Sound.play_decision @status_window.index = @actor_index = -1 next_actor when 1 start_actor_selection when 2 Sound.play_buzzer return when 3 if $game_troop.can_escape == false Sound.play_buzzer return end Sound.play_decision process_escape end end end #-------------------------------------------------------------------------- # * 战斗初始選擇指令 - 可以管理队伍 #-------------------------------------------------------------------------- def new_party_command_selection if Input.trigger?(Input::B) Sound.play_cancel end_actor_selection elsif Input.trigger?(Input::C) case @party_command_window.index when 0 Sound.play_decision @status_window.index = @actor_index = -1 next_actor when 1 start_actor_selection when 2 party_manage when 3 if $game_troop.can_escape == false Sound.play_buzzer return end Sound.play_decision process_escape end end end #-------------------------------------------------------------------------- # * 更改装备 - 开始选择角色 #-------------------------------------------------------------------------- def start_actor_selection @party_command_window.active = false @status_window.active = true if $game_party.last_actor_index < @status_window.item_max @status_window.index = $game_party.last_actor_index else @status_window.index = 0 end end #-------------------------------------------------------------------------- # * 更改装备 - 角色选择结束 #-------------------------------------------------------------------------- def end_actor_selection @party_command_window.active = true @status_window.active = false @status_window.index = -1 end #-------------------------------------------------------------------------- # * 更改装备 - 更新角色选择指令 #-------------------------------------------------------------------------- def update_actor_selection if Input.trigger?(Input::B) Sound.play_cancel end_actor_selection elsif Input.trigger?(Input::C) $game_party.last_actor_index = @status_window.index Sound.play_decision $scene = Scene_Equip.new(@status_window.index) end end #-------------------------------------------------------------------------- # * 开始道具选择 (创建道具窗口和帮助窗口) #-------------------------------------------------------------------------- def start_item_selection @help_window = Window_Help.new @help_window.y = 238 @help_window.back_opacity = 180 @item_window = Window_Item.new(0, 288, 544, 130) @item_window.back_opacity = 180 @item_window.help_window = @help_window @actor_command_window.active = false end #-------------------------------------------------------------------------- # * 开始技能选择 (创建技能窗口和帮助窗口) #-------------------------------------------------------------------------- def start_skill_selection @help_window = Window_Help.new @help_window.y = 238 @help_window.back_opacity = 180 @skill_window = Window_Skill.new(0, 288, 544, 130, @active_battler) @skill_window.back_opacity = 180 @skill_window.help_window = @help_window @actor_command_window.active = false end #-------------------------------------------------------------------------- # * 调整队伍 (调用PartyRoster类的方法) #-------------------------------------------------------------------------- def party_manage $data_actors[1].required = true $scene = Scene_Party.new end #-------------------------------------------------------------------------- # * 开始目标角色选择 (使用道具或技能时,选择玩家角色的窗口) #-------------------------------------------------------------------------- def start_target_actor_selection @target_actor_window = Window_BattleStatus.new @target_actor_window.index = 0 @target_actor_window.x = 0 @target_actor_window.y = 288 @info_viewport.rect.x += @target_actor_window.width @info_viewport.ox += @target_actor_window.width @actor_command_window.active = false @target_actor_window.active = true end #-------------------------------------------------------------------------- # *更新目标角色选择 #-------------------------------------------------------------------------- def update_target_actor_selection @target_actor_window.update if Input.trigger?(Input::B) Sound.play_cancel end_target_actor_selection elsif Input.trigger?(Input::C) Sound.play_decision @active_battler.action.target_index = @target_actor_window.index end_target_actor_selection end_skill_selection end_item_selection next_actor end end #-------------------------------------------------------------------------- # * 开始目标敌人选择 - 创建选择敌人的指令窗口 #-------------------------------------------------------------------------- def start_target_enemy_selection @target_enemy_window = Window_TargetEnemy.new @target_enemy_window.x = 0 @target_enemy_window.y = 288 @info_viewport.rect.x += @target_enemy_window.width @info_viewport.ox += @target_enemy_window.width @actor_command_window.active = false end #-------------------------------------------------------------------------- # * 回合结束 重新创建回合显示窗口和作战指令窗口 #-------------------------------------------------------------------------- def turn_end $game_troop.turn_ending = true $game_party.slip_damage_effect $game_troop.slip_damage_effect $game_party.do_auto_recovery $game_troop.preemptive = false $game_troop.surprise = false process_battle_event $game_troop.turn_ending = false @turnCount_window.dispose @turnCount_window = Window_TurnCount.new @turnCount_window.x = 0 @turnCount_window.y = -10 @party_command_window.dispose @party_command_window = Window_PartyCommand.new @party_command_window.x = 0 @party_command_window.y = 38 start_party_command_selection draw_actor_character # 绘制行走图 @draw_count += 1 end #-------------------------------------------------------------------------- # * 开始逃跑 添加“逃跑成功”字样显示 #-------------------------------------------------------------------------- def process_escape # set_runaway # 执行角色逃跑动作 @info_viewport.visible = false @message_window.visible = true text = sprintf(Vocab::EscapeStart, $game_party.name) $game_message.texts.push(text) if $game_troop.preemptive success = true else success = (rand(100) < @escape_ratio) end Sound.play_escape if success wait_for_message $game_message.texts.push("成功的逃脱了。") wait_for_message battle_end(1) else @escape_ratio += 10 $game_message.texts.push('\.' + Vocab::EscapeFailure) wait_for_message $game_party.clear_actions start_main end end #-------------------------------------------------------------------------- # * 战斗事件处理 #-------------------------------------------------------------------------- def process_battle_event loop do draw_actor_character # 绘制角色行走图 @draw_count += 1 @status_window.refresh # 刷新角色状态信息 return if judge_win_loss return if $game_temp.next_scene != nil $game_troop.interpreter.update $game_troop.setup_battle_event wait_for_message process_action if $game_troop.forcing_battler != nil return unless $game_troop.interpreter.running? update_basic end end end #============================================================================== # 在窗口中绘制不同身体朝向的角色行走图 # 调用方法·例: @xxxx_window.draw_character(character_name, character_index, x, y) #============================================================================== class Window_Base < Window # 定义原有方法绘制行走图朝向的常量 (0-下,1-左,2-右,3-上) TURN = 0 #-------------------------------------------------------------------------- # * 绘制角色图像 (原有方法,绘制的行走图身体朝下) # character_name : 角色图像文件名 # character_index : 角色图像索引 # x : 绘制点 x-坐标 # y : 绘制点 y-坐标 #-------------------------------------------------------------------------- def draw_character(character_name, character_index, x, y) return if character_name == nil # 检测角色位图是否为空 bitmap = Cache.character(character_name) # 从游戏的缓存中获取角色的位图 sign = character_name[/^[\!\$]./]# 使用正则表达式来匹配角色名称的第一个字符,如果匹配成功,sign 变量将存储该字符。 if sign != nil and sign.include?('$') # 检查 sign 变量是否不为 nil 并且包含字符 $。 cw = bitmap.width / 3 # 半身头像位图的宽度 ch = bitmap.height / 4 # 半身头像位图的高度 else cw = bitmap.width / 12 # 行走图宽度 ch = bitmap.height / 8 # 行走图高度 end n = character_index # 存储角色位图索引 # x 坐标是根据图像索引和每行的图像数量(对于全身图像通常是 4 个)计算的,y 坐标是根据图像索引除以每行的图像数量计算的。cw 和 ch 是源区域的宽度和高度。 src_rect = Rect.new((n%4*3+1)*cw, (n/4*4+TURN)*ch, cw, ch) # 通过Rect定义位图绘制区域 # blt 是 Bitmap 类的方法,将源位图(bitmap)中的一个区域(由 src_rect 定义)绘制到窗口内容位图(self.contents)上的指定位置(由 x 和 y 坐标定义) # x - cw / 2 和 y - ch 是目标位置的坐标,它们确保角色图像居中绘制在指定的 x 和 y 坐标上。 self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) # 执行实际的绘制操作 end #-------------------------------------------------------------------------- # * 绘制角色行走图 - 朝下-动作1 #-------------------------------------------------------------------------- def draw_character_turnD(character_name, character_index, x, y) return if character_name == nil bitmap = Cache.character(character_name) sign = character_name[/^[\!\$]./] if sign != nil cw = bitmap.width / 12 ch = bitmap.height / 8 end n = character_index src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) end #-------------------------------------------------------------------------- # * 绘制角色行走图 - 朝下-动作2 #-------------------------------------------------------------------------- def draw_character_turnD2(character_name, character_index, x, y) return if character_name == nil bitmap = Cache.character(character_name) sign = character_name[/^[\!\$]./] if sign != nil cw = bitmap.width / 12 ch = bitmap.height / 8 end n = character_index src_rect = Rect.new((n%4*3+2)*cw, (n/4*4)*ch, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) end #-------------------------------------------------------------------------- # * 绘制角色行走图 - 朝上-动作1 #-------------------------------------------------------------------------- def draw_character_turnU(character_name, character_index, x, y) return if character_name == nil bitmap = Cache.character(character_name) sign = character_name[/^[\!\$]./] if sign != nil cw = bitmap.width / 12 ch = bitmap.height / 8 end n = character_index src_rect = Rect.new((n%4*3+1)*cw, (n/4*4+3)*ch, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) end #-------------------------------------------------------------------------- # * 绘制角色行走图 - 朝上-动作2 #-------------------------------------------------------------------------- def draw_character_turnU2(character_name, character_index, x, y) return if character_name == nil bitmap = Cache.character(character_name) sign = character_name[/^[\!\$]./] if sign != nil cw = bitmap.width / 12 ch = bitmap.height / 8 end n = character_index src_rect = Rect.new((n%4*3+2)*cw, (n/4*4+3)*ch, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) end end
module Vocab
BattleParty = "队伍"
end
class Scene_Equip < Scene_Base
#--------------------------------------------------------------------------
# * 战斗时更换装备,返回战斗场景
#--------------------------------------------------------------------------
def return_scene
if $game_temp.in_battle
$scene = Scene_Battle.new
else
$scene = Scene_Menu.new(2)
end
end
end
class Window_BattleMessage < Window_Message
# 设置战斗信息显示的最大行数
MAX_LINE = 4
#--------------------------------------------------------------------------
# * 战斗信息窗口 初始化
#--------------------------------------------------------------------------
def initialize
super
self.openness = 255 # 设置窗口可见性
self.back_opacity = 0 # 设置窗口不透明度
@lines = []
self.x = -10
self.y = 112
self.width = 566
self.height = 315
refresh
end
#--------------------------------------------------------------------------
# * 绘制战斗信息 index : Line number
#--------------------------------------------------------------------------
def draw_line(index)
rect = Rect.new(5, index * WLH, contents.width - 5, WLH)
self.contents.clear_rect(rect)
self.contents.font.color = normal_color
self.contents.draw_text(rect, @lines[index])
end
#--------------------------------------------------------------------------
# * 刷新战斗文本
#--------------------------------------------------------------------------
def refresh
self.contents.clear
(0...[MAX_LINE, @lines.size].min).each do |i| # 使用min函数确保不会超出数组界限
draw_line(i)
end
end
end
class Window_TargetEnemy < Window_Command
#--------------------------------------------------------------------------
# * 敌人队伍指令窗口 初始化
#--------------------------------------------------------------------------
def initialize
commands = []
@enemies = []
count = 0 # 遍历敌人角标的计数器
for enemy in $game_troop.members
count += 1
next unless enemy.exist?
commands.push(enemy.name)
@enemies.push(enemy)
end
if count > 4 # 超过4个敌人时,选框两列显示
super(360, commands, 2, 4)
else
super(180, commands, 1, 4)
end
end
end
class Window_TurnCount < Window_Command # 自定义类,用于实现战斗回合的显示 #
#--------------------------------------------------------------------------
# * 回合显示窗口 初始化
#--------------------------------------------------------------------------
def initialize
s1 = $game_troop.turn_count + 1
s2 = "回合"
super(128,[s1, s2], 2, 1)
draw_item(0, true)
draw_item(1, true)
end
end
class Window_BattleStatus < Window_Selectable
#--------------------------------------------------------------------------
# * 角色状态窗口 初始化
#--------------------------------------------------------------------------
def initialize
super(126, -10, 420, 128, spacing = 0)
refresh
self.active = false
end
#--------------------------------------------------------------------------
# * 绘制角色状态窗口的项目
#--------------------------------------------------------------------------
def draw_item(index)
rect = item_rect(index)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
self.contents.font.color = normal_color
actor = $game_party.members[index]
draw_actor_name(actor, 4, rect.y)
draw_actor_state(actor, 80, rect.y, 120)
draw_actor_hp(actor, 210, rect.y, 90)
draw_actor_mp(actor, 310, rect.y, 70)
end
end
class Window_ActorCommand < Window_Command
#--------------------------------------------------------------------------
# * 角色指令菜单窗口 初始化
#--------------------------------------------------------------------------
def initialize
super(128, [], 2, 2)
self.active = false
end
end
class Window_PartyCommand < Window_Command
#--------------------------------------------------------------------------
# * 战斗初始指令窗口 初始化 ( 卡斯尔顿城堡2F侍卫放行后) (只有第一回合可管理队伍)
#--------------------------------------------------------------------------
def initialize
s1 = Vocab::fight
s2 = Vocab::equip
s3 = Vocab::BattleParty
s4 = Vocab::escape
super(128, [s1, s2, s3, s4], 2, 2)
draw_item(0, true)
draw_item(1, true)
if $game_switches[130] == true && $game_troop.turn_count == 0
draw_item(2, true)
else
draw_item(2, false)
end
draw_item(3, $game_troop.can_escape)
self.active = false
end
end
class Scene_Battle < Scene_Base
# 定义实例变量用于全局调用
attr_accessor :draw_count
#--------------------------------------------------------------------------
# * 战斗场景开始处理
#--------------------------------------------------------------------------
def start
super
@draw_count = 0 # 绘制行走图的切换开关
$game_temp.in_battle = true
@spriteset = Spriteset_Battle.new
@message_window = Window_BattleMessage.new
@action_battlers = []
create_info_viewport
end
#--------------------------------------------------------------------------
# * 框架更新
#--------------------------------------------------------------------------
def update
super
update_basic(true)
update_info_viewport # 更新信息视窗
@turnCount_window.visible = true
if $game_message.visible
@info_viewport.visible = false
@status_window.visible = true
@message_window.visible = true
end
unless $game_message.visible # 消息显示的情况之外
draw_actor_character # 绘制行走图
@draw_count += 1
return if judge_win_loss # 确定输赢结果
update_scene_change
if @target_enemy_window != nil
update_target_enemy_selection # 选择目标敌人
elsif @target_actor_window != nil
update_target_actor_selection # 选择目标角色
elsif @skill_window != nil
update_skill_selection # 选择技能
elsif @item_window != nil
update_item_selection # 选择道具
elsif @party_command_window.active
update_party_command_selection # 战斗初始指令窗口
elsif @status_window.active
update_actor_selection # 角色更换装备需要进行角色选择
elsif @actor_command_window.active
update_actor_command_selection # 选择角色窗口
else
process_battle_event # 战斗事件处理
process_action # 战斗动作
@status_window.refresh # 刷新角色状态信息
process_battle_event # 战斗事件处理
end
end
end
#--------------------------------------------------------------------------
# * 创建信息显示视窗
#--------------------------------------------------------------------------
def create_info_viewport
@info_viewport = Viewport.new(0, 0, 544, 128) # 0,288, 544, 128
@info_viewport.z = 100
@status_window = Window_BattleStatus.new
@party_command_window = Window_PartyCommand.new
@party_command_window.x = 0
@party_command_window.y = 38
@actor_command_window = Window_ActorCommand.new
@actor_command_window.x = 0
@actor_command_window.y = 38
@turnCount_window = Window_TurnCount.new
@turnCount_window.x = 0
@turnCount_window.y = -10
@actor_character_window = Window_Base.new(-10, -10, 566, 600)
@actor_character_window.back_opacity = 0
@actor_character_window.visible = true
draw_character_1
@actor_command_window.visible = false
@party_command_window.visible = false
@turnCount_window.visible = false
@status_window.visible = false
@info_viewport.visible = false
end
#--------------------------------------------------------------------------
# * 绘制玩家角色行走图
#--------------------------------------------------------------------------
def draw_actor_character
if @draw_count == 20
draw_character_1
@actor_character_window.update
elsif @draw_count == 40
draw_character_2
@draw_count = 0
@actor_character_window.update
else
@actor_character_window.update
end
end
#--------------------------------------------------------------------------
# * 行走图 - 动作1
#--------------------------------------------------------------------------
def draw_character_1
x_coordinate = 120
for actor in $game_party.members
@actor_character_window.draw_character_turnU(actor.character_name, actor.character_index, x_coordinate, 380) if $game_party.members.size == 4
@actor_character_window.draw_character_turnU(actor.character_name, actor.character_index, x_coordinate + 50, 380) if $game_party.members.size == 3
@actor_character_window.draw_character_turnU(actor.character_name, actor.character_index, x_coordinate + 90, 380) if $game_party.members.size == 2
@actor_character_window.draw_character_turnU(actor.character_name, actor.character_index, x_coordinate + 150, 380) if $game_party.members.size == 1
x_coordinate += 100
end
end
#--------------------------------------------------------------------------
# * 行走图 - 动作2
#--------------------------------------------------------------------------
def draw_character_2
x_coordinate = 120
for actor in $game_party.members
@actor_character_window.draw_character_turnU2(actor.character_name, actor.character_index, x_coordinate, 380) if $game_party.members.size == 4
@actor_character_window.draw_character_turnU2(actor.character_name, actor.character_index, x_coordinate + 50, 380) if $game_party.members.size == 3
@actor_character_window.draw_character_turnU2(actor.character_name, actor.character_index, x_coordinate + 90, 380) if $game_party.members.size == 2
@actor_character_window.draw_character_turnU2(actor.character_name, actor.character_index, x_coordinate + 150, 380) if $game_party.members.size == 1
x_coordinate += 100
end
end
#--------------------------------------------------------------------------
# * 逃跑动作1
#--------------------------------------------------------------------------
def draw_runaway_1
x_coordinate = 120
for actor in $game_party.members
@actor_character_window.draw_character_turnD(actor.character_name, actor.character_index, x_coordinate, 380) if $game_party.members.size == 4
@actor_character_window.draw_character_turnD(actor.character_name, actor.character_index, x_coordinate + 50, 380) if $game_party.members.size == 3
@actor_character_window.draw_character_turnD(actor.character_name, actor.character_index, x_coordinate + 90, 380) if $game_party.members.size == 2
@actor_character_window.draw_character_turnD(actor.character_name, actor.character_index, x_coordinate + 150, 380) if $game_party.members.size == 1
x_coordinate += 100
end
end
#--------------------------------------------------------------------------
# * 逃跑动作2
#--------------------------------------------------------------------------
def draw_runaway_2
x_coordinate = 120
for actor in $game_party.members
@actor_character_window.draw_character_turnD2(actor.character_name, actor.character_index, x_coordinate, 380) if $game_party.members.size == 4
@actor_character_window.draw_character_turnD2(actor.character_name, actor.character_index, x_coordinate + 50, 380) if $game_party.members.size == 3
@actor_character_window.draw_character_turnD2(actor.character_name, actor.character_index, x_coordinate + 90, 380) if $game_party.members.size == 2
@actor_character_window.draw_character_turnD2(actor.character_name, actor.character_index, x_coordinate + 150, 380) if $game_party.members.size == 1
x_coordinate += 100
end
end
#--------------------------------------------------------------------------
# * 执行角色逃跑动作 (搁置)
#--------------------------------------------------------------------------
def set_runaway
count = 0
if # 判断条件
loop do
if count == 0
draw_runaway_1
@actor_character_window.update
elsif count == 10
draw_runaway_2
count = 0
@actor_character_window.update
else
@actor_character_window.update
end
count += 1
end
end
end
#--------------------------------------------------------------------------
# *处置(关闭)信息显示视口
#--------------------------------------------------------------------------
def dispose_info_viewport
@status_window.dispose
@party_command_window.dispose
@actor_command_window.dispose
@info_viewport.dispose
@turnCount_window.dispose
@actor_character_window.dispose
end
#--------------------------------------------------------------------------
# *更新信息显示视口
#--------------------------------------------------------------------------
def update_info_viewport
@turnCount_window.active = false
draw_actor_character # 绘制行走图
@draw_count += 1
@actor_command_window.update
@status_window.update
@turnCount_window.update
@party_command_window.update
if @party_command_window.active
@party_command_window.visible = true
@status_window.visible = true
@actor_command_window.visible = false
elsif @actor_command_window.active
@actor_command_window.visible = true
@party_command_window.visible = false
end
end
#--------------------------------------------------------------------------
# * 开始窗口列表選擇指令
#--------------------------------------------------------------------------
def start_party_command_selection
if $game_temp.in_battle
@status_window.refresh
@status_window.index = @actor_index = -1
@active_battler = nil
@info_viewport.visible = true
@message_window.visible = false
@party_command_window.active = true
@party_command_window.index = 0
@actor_command_window.active = false
$game_party.clear_actions
if $game_troop.surprise or not $game_party.inputable?
start_main
end
end
end
#--------------------------------------------------------------------------
# * 更新战斗初始選擇指令 ( 卡斯尔顿城堡2F侍卫放行后) (只有第一回合可管理队伍)
#--------------------------------------------------------------------------
def update_party_command_selection
if $game_switches[130] == true && $game_troop.turn_count == 0
new_party_command_selection
else
old_party_command_selection
end
end
#--------------------------------------------------------------------------
# * 战斗初始選擇指令 - 不能管理队伍
#--------------------------------------------------------------------------
def old_party_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
end_actor_selection
elsif Input.trigger?(Input::C)
case @party_command_window.index
when 0
Sound.play_decision
@status_window.index = @actor_index = -1
next_actor
when 1
start_actor_selection
when 2
Sound.play_buzzer
return
when 3
if $game_troop.can_escape == false
Sound.play_buzzer
return
end
Sound.play_decision
process_escape
end
end
end
#--------------------------------------------------------------------------
# * 战斗初始選擇指令 - 可以管理队伍
#--------------------------------------------------------------------------
def new_party_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
end_actor_selection
elsif Input.trigger?(Input::C)
case @party_command_window.index
when 0
Sound.play_decision
@status_window.index = @actor_index = -1
next_actor
when 1
start_actor_selection
when 2
party_manage
when 3
if $game_troop.can_escape == false
Sound.play_buzzer
return
end
Sound.play_decision
process_escape
end
end
end
#--------------------------------------------------------------------------
# * 更改装备 - 开始选择角色
#--------------------------------------------------------------------------
def start_actor_selection
@party_command_window.active = false
@status_window.active = true
if $game_party.last_actor_index < @status_window.item_max
@status_window.index = $game_party.last_actor_index
else
@status_window.index = 0
end
end
#--------------------------------------------------------------------------
# * 更改装备 - 角色选择结束
#--------------------------------------------------------------------------
def end_actor_selection
@party_command_window.active = true
@status_window.active = false
@status_window.index = -1
end
#--------------------------------------------------------------------------
# * 更改装备 - 更新角色选择指令
#--------------------------------------------------------------------------
def update_actor_selection
if Input.trigger?(Input::B)
Sound.play_cancel
end_actor_selection
elsif Input.trigger?(Input::C)
$game_party.last_actor_index = @status_window.index
Sound.play_decision
$scene = Scene_Equip.new(@status_window.index)
end
end
#--------------------------------------------------------------------------
# * 开始道具选择 (创建道具窗口和帮助窗口)
#--------------------------------------------------------------------------
def start_item_selection
@help_window = Window_Help.new
@help_window.y = 238
@help_window.back_opacity = 180
@item_window = Window_Item.new(0, 288, 544, 130)
@item_window.back_opacity = 180
@item_window.help_window = @help_window
@actor_command_window.active = false
end
#--------------------------------------------------------------------------
# * 开始技能选择 (创建技能窗口和帮助窗口)
#--------------------------------------------------------------------------
def start_skill_selection
@help_window = Window_Help.new
@help_window.y = 238
@help_window.back_opacity = 180
@skill_window = Window_Skill.new(0, 288, 544, 130, @active_battler)
@skill_window.back_opacity = 180
@skill_window.help_window = @help_window
@actor_command_window.active = false
end
#--------------------------------------------------------------------------
# * 调整队伍 (调用PartyRoster类的方法)
#--------------------------------------------------------------------------
def party_manage
$data_actors[1].required = true
$scene = Scene_Party.new
end
#--------------------------------------------------------------------------
# * 开始目标角色选择 (使用道具或技能时,选择玩家角色的窗口)
#--------------------------------------------------------------------------
def start_target_actor_selection
@target_actor_window = Window_BattleStatus.new
@target_actor_window.index = 0
@target_actor_window.x = 0
@target_actor_window.y = 288
@info_viewport.rect.x += @target_actor_window.width
@info_viewport.ox += @target_actor_window.width
@actor_command_window.active = false
@target_actor_window.active = true
end
#--------------------------------------------------------------------------
# *更新目标角色选择
#--------------------------------------------------------------------------
def update_target_actor_selection
@target_actor_window.update
if Input.trigger?(Input::B)
Sound.play_cancel
end_target_actor_selection
elsif Input.trigger?(Input::C)
Sound.play_decision
@active_battler.action.target_index = @target_actor_window.index
end_target_actor_selection
end_skill_selection
end_item_selection
next_actor
end
end
#--------------------------------------------------------------------------
# * 开始目标敌人选择 - 创建选择敌人的指令窗口
#--------------------------------------------------------------------------
def start_target_enemy_selection
@target_enemy_window = Window_TargetEnemy.new
@target_enemy_window.x = 0
@target_enemy_window.y = 288
@info_viewport.rect.x += @target_enemy_window.width
@info_viewport.ox += @target_enemy_window.width
@actor_command_window.active = false
end
#--------------------------------------------------------------------------
# * 回合结束 重新创建回合显示窗口和作战指令窗口
#--------------------------------------------------------------------------
def turn_end
$game_troop.turn_ending = true
$game_party.slip_damage_effect
$game_troop.slip_damage_effect
$game_party.do_auto_recovery
$game_troop.preemptive = false
$game_troop.surprise = false
process_battle_event
$game_troop.turn_ending = false
@turnCount_window.dispose
@turnCount_window = Window_TurnCount.new
@turnCount_window.x = 0
@turnCount_window.y = -10
@party_command_window.dispose
@party_command_window = Window_PartyCommand.new
@party_command_window.x = 0
@party_command_window.y = 38
start_party_command_selection
draw_actor_character # 绘制行走图
@draw_count += 1
end
#--------------------------------------------------------------------------
# * 开始逃跑 添加“逃跑成功”字样显示
#--------------------------------------------------------------------------
def process_escape
# set_runaway # 执行角色逃跑动作
@info_viewport.visible = false
@message_window.visible = true
text = sprintf(Vocab::EscapeStart, $game_party.name)
$game_message.texts.push(text)
if $game_troop.preemptive
success = true
else
success = (rand(100) < @escape_ratio)
end
Sound.play_escape
if success
wait_for_message
$game_message.texts.push("成功的逃脱了。")
wait_for_message
battle_end(1)
else
@escape_ratio += 10
$game_message.texts.push('\.' + Vocab::EscapeFailure)
wait_for_message
$game_party.clear_actions
start_main
end
end
#--------------------------------------------------------------------------
# * 战斗事件处理
#--------------------------------------------------------------------------
def process_battle_event
loop do
draw_actor_character # 绘制角色行走图
@draw_count += 1
@status_window.refresh # 刷新角色状态信息
return if judge_win_loss
return if $game_temp.next_scene != nil
$game_troop.interpreter.update
$game_troop.setup_battle_event
wait_for_message
process_action if $game_troop.forcing_battler != nil
return unless $game_troop.interpreter.running?
update_basic
end
end
end
#==============================================================================
# 在窗口中绘制不同身体朝向的角色行走图
# 调用方法·例: @xxxx_window.draw_character(character_name, character_index, x, y)
#==============================================================================
class Window_Base < Window
# 定义原有方法绘制行走图朝向的常量 (0-下,1-左,2-右,3-上)
TURN = 0
#--------------------------------------------------------------------------
# * 绘制角色图像 (原有方法,绘制的行走图身体朝下)
# character_name : 角色图像文件名
# character_index : 角色图像索引
# x : 绘制点 x-坐标
# y : 绘制点 y-坐标
#--------------------------------------------------------------------------
def draw_character(character_name, character_index, x, y)
return if character_name == nil # 检测角色位图是否为空
bitmap = Cache.character(character_name) # 从游戏的缓存中获取角色的位图
sign = character_name[/^[\!\$]./]# 使用正则表达式来匹配角色名称的第一个字符,如果匹配成功,sign 变量将存储该字符。
if sign != nil and sign.include?('$') # 检查 sign 变量是否不为 nil 并且包含字符 $。
cw = bitmap.width / 3 # 半身头像位图的宽度
ch = bitmap.height / 4 # 半身头像位图的高度
else
cw = bitmap.width / 12 # 行走图宽度
ch = bitmap.height / 8 # 行走图高度
end
n = character_index # 存储角色位图索引
# x 坐标是根据图像索引和每行的图像数量(对于全身图像通常是 4 个)计算的,y 坐标是根据图像索引除以每行的图像数量计算的。cw 和 ch 是源区域的宽度和高度。
src_rect = Rect.new((n%4*3+1)*cw, (n/4*4+TURN)*ch, cw, ch) # 通过Rect定义位图绘制区域
# blt 是 Bitmap 类的方法,将源位图(bitmap)中的一个区域(由 src_rect 定义)绘制到窗口内容位图(self.contents)上的指定位置(由 x 和 y 坐标定义)
# x - cw / 2 和 y - ch 是目标位置的坐标,它们确保角色图像居中绘制在指定的 x 和 y 坐标上。
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) # 执行实际的绘制操作
end
#--------------------------------------------------------------------------
# * 绘制角色行走图 - 朝下-动作1
#--------------------------------------------------------------------------
def draw_character_turnD(character_name, character_index, x, y)
return if character_name == nil
bitmap = Cache.character(character_name)
sign = character_name[/^[\!\$]./]
if sign != nil
cw = bitmap.width / 12
ch = bitmap.height / 8
end
n = character_index
src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
#--------------------------------------------------------------------------
# * 绘制角色行走图 - 朝下-动作2
#--------------------------------------------------------------------------
def draw_character_turnD2(character_name, character_index, x, y)
return if character_name == nil
bitmap = Cache.character(character_name)
sign = character_name[/^[\!\$]./]
if sign != nil
cw = bitmap.width / 12
ch = bitmap.height / 8
end
n = character_index
src_rect = Rect.new((n%4*3+2)*cw, (n/4*4)*ch, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
#--------------------------------------------------------------------------
# * 绘制角色行走图 - 朝上-动作1
#--------------------------------------------------------------------------
def draw_character_turnU(character_name, character_index, x, y)
return if character_name == nil
bitmap = Cache.character(character_name)
sign = character_name[/^[\!\$]./]
if sign != nil
cw = bitmap.width / 12
ch = bitmap.height / 8
end
n = character_index
src_rect = Rect.new((n%4*3+1)*cw, (n/4*4+3)*ch, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
#--------------------------------------------------------------------------
# * 绘制角色行走图 - 朝上-动作2
#--------------------------------------------------------------------------
def draw_character_turnU2(character_name, character_index, x, y)
return if character_name == nil
bitmap = Cache.character(character_name)
sign = character_name[/^[\!\$]./]
if sign != nil
cw = bitmap.width / 12
ch = bitmap.height / 8
end
n = character_index
src_rect = Rect.new((n%4*3+2)*cw, (n/4*4+3)*ch, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
end
#============================================================================== # [RMVX] 《勇者斗恶龙》风格可定制菜单系统 Version 1.20 #------------------------------------------------------------------------------ =begin by Ekras released on 04/07/2008 感谢 "Woratana", "kmhp", "Trihan", 和 "modern algebra"(个人)在论坛上的帮助 :) 更新至版本 1.2 - 脚本名称从 "Dragon Quest Style Status Indicator" 改为 "Dragon Quest Style Customizable Menu System" - 编码了DQ风格的状态下屏幕 - 主菜单现在可以轻松配置(更改菜单项!) - 状态下屏幕上的 "Refill Command" 目前不工作(待定) - 不知何故,1.1 版本中没有包含空白行,但它肯定在 1.2 版本中 - 向小框中添加了显示当前经验值、升级所需经验和职业的功能 - 新的错误消息更具描述性,并出现在打印命令中,而不是游戏中。(你将得到一个弹出窗口) - 玩家能够在DQ风格的状态下屏幕上退出菜单屏幕 - 能够独立更改状态下菜单的字体(部分实现) 1.3 版本即将推出 - 大量优化 - 脚本将更快、更智能、更小 - 在小框中显示精灵(代码已完成,但仍然有很多bug) - 使用一个大的“超级”框代替小框的能力 - DQ风格的装备屏幕 + 在DQ风格的状态下装备框 - 在DQ风格的状态下屏幕上的 "See All" 下显示额外信息(装备) - 更多字体定制 - 更多...... =end #============================================================================== module DQ_Menu_Setup # 在此处配置主菜单 # 脚本的这一部分允许您快速更改主菜单的显示。 # 您可以设置行数和列数,以及显示的项目 NUM_OF_ITEMS = 6 #设置菜单上的项目数量 (1-12) NUM_ROWS = 3 # 主菜单中的行数 NUM_COL = 2 # 主菜单中的列数 #在此处配置显示在主菜单上的项目。类型如下: #1-空白,以备将来使用 #2-空白,以备将来使用 #3-调用DQ状态屏幕 #4-调用DQ设备屏幕(在此版本中不使用) #5-内置保存菜单 #6-内置游戏结束菜单 #7-内置项目菜单 #8-内置状态菜单 #9-内置技能菜单 #10-内置设备菜单 # 菜单上显示什么 ITEM_1_TYPE = 7 ITEM_1_NAME = "道具" ITEM_2_TYPE = 9 ITEM_2_NAME = "特技" ITEM_3_TYPE = 10 ITEM_3_NAME = "装备" ITEM_4_TYPE = 3 ITEM_4_NAME = "强度" ITEM_5_TYPE = 5 ITEM_5_NAME = "储存" ITEM_6_TYPE = 6 ITEM_6_NAME = "其他" ITEM_7_TYPE = 3 ITEM_7_NAME = "物品 7" ITEM_8_TYPE = 3 ITEM_8_NAME = "物品 8" ITEM_9_TYPE = 3 ITEM_9_NAME = "物品 9" ITEM_10_TYPE = 3 ITEM_10_NAME = "物品 10" ITEM_11_TYPE = 3 ITEM_11_NAME = "物品 11" ITEM_12_TYPE = 3 ITEM_12_NAME = "物品 12" end module DQ_Status_Setup #此模块定义了DQ风格状态屏幕。如果你不使用它,你可以放心地忽略这一部分。 #在此处配置状态菜单的“查看统计信息”部分 #在此处配置右侧窗口, 每一行都是一行文本和统计值。对于类型,请使用以下内容: # 1-攻击,2-敏捷,3-精神 4-职业,5-防御,6-HP,7-MP,8-MaxHP,9-MaxMP, # 10-经验,11-经验等级, 12-姓名, 13-等级 # 设置状态菜单中使用的字体 STATUS_FONT = "仿宋" # 区分大小写 - 可以命名任何 TrueType 字体。 # 关于字体的注意事项:玩家必须安装字体才能显示。 # 字体更改目前只影响非可选择菜单。 # 配置右边角色详细信息大窗口 (强度》个人详情》选择角色后显示的大窗口) # 设置状态和其值之间的分隔符 SEP = ":" # 用于分隔状态和其值的字符 # 设置要显示的文本以及是否显示 LINE_1_STRING = "" # 设置第八行显示的文本 LINE_1_ONOFF = false # 设置是否显示这行文本 LINE_1_TYPE = 11 # 类型代码见上文 LINE_2_STRING = "角色" # 设置第九行显示的文本 LINE_2_ONOFF = true # 设置是否显示这行文本 LINE_2_TYPE = 12 # 类型代码见上文 LINE_3_STRING = "职业" # 设置第十行显示的文本 LINE_3_ONOFF = true # 设置是否显示这行文本 LINE_3_TYPE = 4 # 类型代码见上文 LINE_4_STRING = "最大HP" # 设置第一行显示的文本 LINE_4_ONOFF = true # 设置是否显示这行文本 LINE_4_TYPE = 8 # 类型代码见上文 LINE_5_STRING = "最大MP" # 设置第二行显示的文本 LINE_5_ONOFF = true # 设置是否显示这行文本 LINE_5_TYPE = 9 # 类型代码见上文 LINE_6_STRING = "力量" # 设置第三行显示的文本 LINE_6_ONOFF = true # 设置是否显示这行文本 LINE_6_TYPE = 1 # 类型代码见上文 LINE_7_STRING = "物防" # 设置第四行显示的文本 LINE_7_ONOFF = true # 设置是否显示这行文本 LINE_7_TYPE = 5 # 类型代码见上文 LINE_8_STRING = "智慧" # 设置第五行显示的文本 LINE_8_ONOFF = true # 设置是否显示这行文本 LINE_8_TYPE = 3 # 类型代码见上文 LINE_9_STRING = "敏捷" # 设置第六行显示的文本 LINE_9_ONOFF = true # 设置是否显示这行文本 LINE_9_TYPE = 2 # 类型代码见上文 LINE_10_STRING = "" # 设置第七行显示的文本 LINE_10_ONOFF = false # 设置是否显示这行文本 LINE_10_TYPE = 10 # 类型代码见上文 LINE_11_STRING = "当前经验" # 设置第八行显示的文本 LINE_11_ONOFF = true # 设置是否显示这行文本 LINE_11_TYPE = 10 # 类型代码见上文 LINE_12_STRING = "提升所需" # 设置第八行显示的文本 LINE_12_ONOFF = true # 设置是否显示这行文本 LINE_12_TYPE = 11 # 类型代码见上文 # 配置左边角色信息预览小窗口 (强度》个人详情》选择角色后显示的小窗口) UL_SEP = '' # 设置分隔符 UL_NAME_ONOFF = false # 设置是否显示角色名 UL_NAME_DIV = false # 设置角色名与其他信息之间是否显示分隔符 UL_LINE_1_ONOFF = false # 设置是否显示第一行 UL_LINE_1_STRING = "" UL_LINE_1_TYPE = 4 # 类型代码见上文 UL_LINE_2_ONOFF = false # 设置是否显示第二行 UL_LINE_2_STRING = "Lv" UL_LINE_2_TYPE = 13 # 类型代码见上文 UL_LINE_3_ONOFF = false # 设置是否显示第三行 UL_LINE_3_STRING = "HP" UL_LINE_3_TYPE = 6 # 类型代码见上文 UL_LINE_4_ONOFF = false # 设置是否显示第四行 UL_LINE_4_STRING = "MP" UL_LINE_4_TYPE = 7 # 类型代码见上文 UL_LINE_5_ONOFF = false # 设置是否显示第五行 UL_LINE_5_STRING = "" UL_LINE_5_TYPE = 0 # 类型代码见上文 end # 状态菜单配置结束 module Wor_Litemenu # Litemenu 设置 MENU_WINDOW_Y = 175 # 主菜单 窗口的Y轴 (X轴 需要搜索“MENU_WINDOW_X”) CHARA_WINDOW_Y = 80 CHARA_WINDOW_WIDTH = 150 SHOW_LV = false GOLD_TEXT_X = 0 # “金币”的坐标 VOCAB_GOLD = "钱" SHOW_LOCATION_WINDOW = true VOCAB_LOCATION = "" LOCATION_WINDOW_Y = -10 # 地图名称、金币显示 窗口的Y轴 LOCATION_TEXT_X = 0 # 地图名称的坐标 GOLD_TEXT_X = 0 # "G"的坐标 end ###################### 不要碰这个部分 class Scene_Menu < Scene_Base def initialize(menu_index = 0) @menu_index = menu_index @LASTX = 0 @TEMPX = 0 @TEMPY = 0 @dqwhotype = 'null' @actorarray = [] ##################### 恢复编辑 # MINI-BOX 设置在这里 # 这些框有时候有点棘手 - 调整一个可能会影响其他框 # 你可以将它移动到任何地方,可能只是需要一段时间来找到正确的数字组合。 # 主设置 (界面最下方角色信息小窗口) @BOX_ONOFF = true # 打开小框为 true,关闭为 false @NS_LOCATION = 130 # 将小框向左或向右移动 @NS_GAP = 270 # 调整小框之间的距离 @BOX_W = 140 # 调整小框的宽度 @BOX_H = 140 # 调整小框的高度 @BOX_Y = 267 # 调整小框的 Y 坐标 @BOX_LEFT_RIGHT = 2 # 设置为 1 从小框向右展开,设置为 2 向左展开 # 名字设置 @NAME_ONOFF = true # 打开为 true,关闭为 false @N_X = 0 # 设置角色名字的 X 坐标 @N_Y = 0 # 设置角色名字的 Y 坐标 # 设置每个角色小框中的文本行。默认支持一行名字和最多三行其他文本。(第四行已编码但禁用) # 调整这些设置会影响所有角色的小框。 # 我在下面提供了如何添加更多行以及如何将新状态添加到列表中的说明。 # 第一行设置 @LINEONE_ONOFF = true # 打开为 true,关闭为 false @L1_Y = 20 # 设置文本的 Y 坐标 @L1_X = 0 # 设置状态标题的 X 坐标 @L1_X2 = 40 # 设置状态与标题的距离 @L1_HEADER = 'HP:' # 设置状态的文本标题 @L1_STAT = 1 # 参见下面的统计指南 # 第二行设置 @LINETWO_ONOFF = true # 打开为 true,关闭为 false @L2_Y = 40 # 设置文本的 Y 坐标 @L2_X = 0 # 设置状态标题的 X 坐标 @L2_X2 = 40 # 设置状态与标题的距离 @L2_HEADER = 'MP:' # 设置状态的文本标题 @L2_STAT = 2 # 参见下面的统计指南 # 第三行设置 @LINETHREE_ONOFF = true # 打开为 true,关闭为 false @L3_Y = 60 # 设置文本的 Y 坐标 @L3_X = 0 # 设置状态标题的 X 坐标 @L3_X2 = 40 # 设置状态与标题的距离 @L3_HEADER = 'LV:' # 设置状态的文本标题 @L3_STAT = 3 # 参见下面的统计指南 # 第四行设置 @LINEFOUR_ONOFF = true # 打开为 true,关闭为 false @L4_Y = 80 # 设置文本的 Y 坐标 @L4_X = 0 # 设置状态标题的 X 坐标 @L4_X2 = 40 # 设置状态与标题的距离 @L4_HEADER = '' # 设置状态的文本标题 @L4_STAT = 4 # 参见下面的统计指南 # 统计指南 # 这是当前实现的小框中显示的状态列表 # 要使用,在想要显示状态的行的 STAT 行输入它们的项目编号。如果你想显示其他内容,应该不久就能显示它 # # 1 : 生命值 # 2 : 魔法值 # 3 : 等级 # 4 : 金币 - 只出现在玩家1的框中! # 5 : 经验值 # 6 : 升级所需经验值 # 7 : 职业 # # 高级设置 # - 添加新行 # 所以你想要在框中添加新的状态是吗?以下是如何操作的。首先,改变总行数以显示的行数。 @LCOUNT = 7 # 在这里设置要显示的项目数量 # 现在要添加新行,去每个窗口框,复制/粘贴现有的一行,并修改它以显示你的新状态。应该不会太难。 # 不要忘记更改错误代码以反映新的行号 # 完成后,在上面复制/粘贴一行设置,并更改新行上的变量以反映新行。 # - 添加新状态以显示 # 要将新状态添加到菜单中,首先在上面的统计指南中添加它 # 一旦你有了编号,去每个菜单框下面复制/粘贴一个状态项目 # 将 if @L1_STAT == X 改为新状态的编号 # 现在在每个框中添加一个事件来获取状态信息 # 最后编辑新项目的状态部分列表, # # 将新状态发送给作者 # # 如果你觉得这个脚本的下一个版本应该包含其他状态 # 请通过 strager at comcast dot net 发邮件给我,并在主题行写上 "MINI-BOX STAT"。 # 不使用这个主题行的邮件将不会被阅读(我的电子邮件只接受预先批准的主题行) # # 在邮件中将状态编号改为 # # 只发送一个状态框的代码 - 我足够聪明地在其他框中复制它 :) # 请不要通过邮件发送其他请求(使用论坛提出脚本请求) # end def start blah = 0; super psize = ($game_party.members.size) create_menu_background create_command_window create_dqs_window @dqs_window.visible = false create_dqwho_window create_DQStatus_ATTACK_window create_DQStatus_HPMP_window for actor in $game_party.members @actorarray[blah] = actor blah = blah + 1; end lite_create_location_window if Wor_Litemenu::SHOW_LOCATION_WINDOW == true lite_create_actor_window if @BOX_ONOFF == true if @BOX_LEFT_RIGHT == 1 for actor in $game_party.members if psize == 4 @LASTX = ((@NS_GAP * 1) - @NS_LOCATION) create_newstat_windowfour (psize) elsif psize == 3 @LASTX = ((@NS_GAP * 2) - @NS_LOCATION) create_newstat_windowthree (psize) elsif psize == 2 @LASTX = ((@NS_GAP * 3) - @NS_LOCATION) create_newstat_windowtwo (psize) elsif psize == 1 @LASTX = ((@NS_GAP * 4) - @NS_LOCATION) create_newstat_window (psize) end psize = (psize - 1) end end if @BOX_LEFT_RIGHT == 2 for actor in $game_party.members if psize == 4 @LASTX = ((@NS_GAP * 4) - @NS_LOCATION) create_newstat_windowfour (psize) elsif psize == 3 @LASTX = ((@NS_GAP * 3) - @NS_LOCATION) create_newstat_windowthree (psize) elsif psize == 2 @LASTX = ((@NS_GAP * 2) - @NS_LOCATION) create_newstat_windowtwo (psize) elsif psize == 1 @LASTX = ((@NS_GAP * 1) - @NS_LOCATION) create_newstat_window (psize) end psize = (psize - 1) end end end end #创建角色窗口(从 Litemenu 菜单) def lite_create_actor_window member = [] @item_max = $game_party.members.size for actor in $game_party.members member.push ((actor.name) + " Lv." + (actor.level.to_s)) if Wor_Litemenu::SHOW_LV == true member.push (actor.name) if Wor_Litemenu::SHOW_LV == false end @status_window = Window_Command.new(Wor_Litemenu::CHARA_WINDOW_WIDTH, member) @status_window.index = @menu_index @status_window.x = (200 / 2) - (@status_window.width / 2) @status_window.y = Wor_Litemenu::CHARA_WINDOW_Y @status_window.visible = false end #重新实现 litemenu菜单 地图名称 def lite_get_map_name mapdata = load_data("Data/MapInfos.rvdata") map_id = $game_map.map_id @map_name = mapdata[map_id].name end #重新实现的litemenu菜单 金币 def lite_draw_currency_value(value, x, y, width) cx = @location_window.contents.text_size(Vocab::gold).width @location_window.contents.font.color = @location_window.normal_color @location_window.contents.draw_text(x+5, y, @location_window.width+cx, 24, value, 0) @location_window.contents.font.color = @location_window.system_color @location_window.contents.draw_text(x+(($game_party.gold).to_s.size * 8)+10, y, @location_window.width, 24, Vocab::gold, 0) end #重新实现的地图位置窗口 def lite_create_location_window width = 140 height = 65 x = (138 /2) - (width/2) # 地图位置/金币窗口 的 X轴 (LOCATION_WINDOW_X) y = Wor_Litemenu::LOCATION_WINDOW_Y @location_window = Window_Base.new(x, y, width, height) @location_window.create_contents lite_get_map_name @location_window.contents.font.color = @location_window.system_color @location_window.contents.draw_text(0, 17, 80, 20, Wor_Litemenu::VOCAB_GOLD) @location_window.contents.font.color = @location_window.normal_color lite_draw_currency_value($game_party.gold, 40, 16, Wor_Litemenu::GOLD_TEXT_X) @location_window.contents.font.color = @location_window.system_color @location_window.contents.draw_text(0, 4, 100, 15, Wor_Litemenu::VOCAB_LOCATION) @location_window.contents.font.color = @location_window.normal_color @location_window.contents.draw_text(Wor_Litemenu::LOCATION_TEXT_X, 4, 100, 15, @map_name) end #-------------------------------------------------------------------------- # * Actor Selection #-------------------------------------------------------------------------- #~ def start_actor_selection #~ @command_window.active = false #~ @status_window.visible = true #~ @status_window.active = true #~ @status_window.index = 0 #~ end #~ def end_actor_selection #~ @command_window.active = true #~ @status_window.visible = false #~ @status_window.active = false #~ @status_window.index = -1 #~ end # Party member 1's Box def create_newstat_window (ac) member = [] hitpoints = [] magpoints = [] lev = [] cclass = [] cexp = [] cexptolev = [] @item_max = $game_party.members.size for actor in $game_party.members member.push (actor.name) hitpoints.push (actor.hp) magpoints.push (actor.mp) lev.push (actor.level.to_s) cclass.push (actor.class.name) cexp.push (actor.exp) cexptolev.push (actor.next_rest_exp_s) end width = @BOX_W height = @BOX_H x = ((@LASTX) /2) - (width/2) y = (@BOX_Y + 10) @newstat_window = Window_Base.new(x, y, width, height) @newstat_window.create_contents #Name Line if @NAME_ONOFF == true @newstat_window.contents.font.color = @newstat_window.normal_color @newstat_window.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)]) end #Line One #Set Color @newstat_window.contents.font.color = @newstat_window.normal_color if @LINEONE_ONOFF == true @newstat_window.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) if @L1_STAT < 0 p 'ERROR: @L1_STAT < 0 for player 1. Please set to a valid value.' end if @L1_STAT == 1 @newstat_window.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)]) end if @L1_STAT == 2 @newstat_window.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)]) end if @L1_STAT == 3 @newstat_window.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)]) end if @L1_STAT == 4 # @newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,$game_party.gold) @newstat_window.draw_actor_state($game_party.members[0], @L1_X, @L1_Y, 120) end if @L1_STAT == 5 @newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,cexp[(ac-1)]) end if @L1_STAT == 6 @newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,cexptolev[(ac-1)]) end if @L1_STAT == 7 @newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,cclass[(ac-1)]) end if @L1_STAT > @LCOUNT p 'L1_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.' end end #Line Two #Set Color @newstat_window.contents.font.color = @newstat_window.normal_color if @LINETWO_ONOFF == true @newstat_window.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) if @L2_STAT < 0 p 'ERROR: @L2_STAT < 0 for player 1. Please set to a valid value.' end case @L2_STAT when 1 @newstat_window.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)]) when 2 @newstat_window.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)]) when 3 @newstat_window.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)]) when 4 # @newstat_window.contents.draw_text( (@L2_X + @L2_X2), @L2_Y, 300, 20,$game_party.gold) @newstat_window.draw_actor_state($game_party.members[0], @L2_X, @L2_Y, 120) end if @L2_STAT > @LCOUNT p 'L2_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.' end end #Line Three #Set Color @newstat_window.contents.font.color = @newstat_window.normal_color if @LINETHREE_ONOFF == true @newstat_window.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) if @L3_STAT < 0 p 'ERROR: @L3_STAT < 0 for player 1. Please set to a valid value.' end if @L3_STAT == 1 @newstat_window.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)]) end if @L3_STAT == 2 @newstat_window.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)]) end if @L3_STAT == 3 @newstat_window.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)]) end if @L3_STAT == 4 # @newstat_window.contents.draw_text( (@L3_X + @L3_X2), @L3_Y, 300, 20,$game_party.gold) @newstat_window.draw_actor_state($game_party.members[0], @L3_X, @L3_Y, 120) end if @L3_STAT > @LCOUNT p 'L3_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.' end end #Line Four (Off by default) if @LINEFOUR_ONOFF == true @newstat_window.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT) if @L4_STAT < 0 p 'ERROR: @L4_STAT < 0 for player 1. Please set to a valid value.' end if @L4_STAT == 1 @newstat_window.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)]) end if @L4_STAT == 2 @newstat_window.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)]) end if @L4_STAT == 3 @newstat_window.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)]) end if @L4_STAT == 4 # @newstat_window.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold) @newstat_window.draw_actor_state($game_party.members[0], @L4_X, @L4_Y, 120) end if @L4_STAT > @LCOUNT p 'L4_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.' end end @LASTX = (@LASTX + @NS_LOCATION) end # Party Member 2's Box def create_newstat_windowtwo (ac) member = [] hitpoints = [] magpoints = [] lev = [] @item_max = $game_party.members.size for actor in $game_party.members member.push (actor.name) hitpoints.push (actor.hp) magpoints.push (actor.mp) lev.push (actor.level.to_s) end width = @BOX_W height = @BOX_H x = ((@LASTX) /2) - (width/2) y = (@BOX_Y + 10) @newstat_windowtwo = Window_Base.new(x, y, width, height) @newstat_windowtwo.create_contents #Name Line if @NAME_ONOFF == true @newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color @newstat_windowtwo.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)]) end #Line One #Set Color @newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color if @LINEONE_ONOFF == true @newstat_windowtwo.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) and (@L1_STAT != 4) if @L1_STAT < 0 p 'ERROR: @L1_STAT < 0 for player 2. Please set to a valid value.' end if @L1_STAT == 1 @newstat_windowtwo.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)]) end if @L1_STAT == 2 @newstat_windowtwo.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)]) end if @L1_STAT == 3 @newstat_windowtwo.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)]) end if @L1_STAT > @LCOUNT p 'L1_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.' end end #Line Two #Set Color @newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color if @LINETWO_ONOFF == true @newstat_windowtwo.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) and (@L2_STAT != 4) if @L2_STAT < 0 p 'ERROR: @L2_STAT < 0 for player 2. Please set to a valid value.' end case @L2_STAT when 1 @newstat_windowtwo.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)]) when 2 @newstat_windowtwo.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)]) when 3 @newstat_windowtwo.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)]) end if @L2_STAT > @LCOUNT p 'L2_STAT > LCOUNT for (Player 2) - Please check your LCOUNT #.' end end #Line Three #Set Color @newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color if @LINETHREE_ONOFF == true @newstat_windowtwo.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) and (@L3_STAT != 4) if @L3_STAT < 0 p 'ERROR: @L3_STAT < 0 for player 2. Please set to a valid value.' end if @L3_STAT == 1 @newstat_windowtwo.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)]) end if @L3_STAT == 2 @newstat_windowtwo.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)]) end if @L3_STAT == 3 @newstat_windowtwo.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)]) end if @L3_STAT > @LCOUNT p 'L3_STAT > LCOUNT for (Player 2) - Please check your LCOUNT #.' end end #Line Four (Off by default) if @LINEFOUR_ONOFF == true @newstat_windowtwo.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT) if @L4_STAT < 0 p 'ERROR: @L4_STAT < 0 for player 2. Please set to a valid value.' end if @L4_STAT == 1 @newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)]) end if @L4_STAT == 2 @newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)]) end if @L4_STAT == 3 @newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)]) end if @L4_STAT == 4 # @newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold) @newstat_windowtwo.draw_actor_state($game_party.members[1], @L4_X , @L4_Y, 120) end if @L4_STAT > @LCOUNT p 'L4_STAT > LCOUNT for (Player 2) - Please check your LCOUNT #.' end end @LASTX = (@LASTX + @NS_LOCATION) end # Party member 3's Box def create_newstat_windowthree (ac) member = [] hitpoints = [] magpoints = [] lev = [] @item_max = $game_party.members.size for actor in $game_party.members member.push (actor.name) hitpoints.push (actor.hp) magpoints.push (actor.mp) lev.push (actor.level.to_s) end width = @BOX_W height = @BOX_H x = ((@LASTX) /2) - (width/2) y = (@BOX_Y + 10) @newstat_windowthree = Window_Base.new(x, y, width, height) @newstat_windowthree.create_contents #Name Line if @NAME_ONOFF == true @newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color @newstat_windowthree.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)]) end #Line One #Set Color @newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color if @LINEONE_ONOFF == true @newstat_windowthree.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) and (@L1_STAT != 4) if @L1_STAT < 0 p 'ERROR: @L1_STAT < 0 for player 3. Please set to a valid value.' end if @L1_STAT == 1 @newstat_windowthree.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)]) end if @L1_STAT == 2 @newstat_windowthree.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)]) end if @L1_STAT == 3 @newstat_windowthree.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)]) end if @L1_STAT > @LCOUNT p 'L1_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.' end end #Line Two #Set Color @newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color if @LINETWO_ONOFF == true @newstat_windowthree.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) and (@L2_STAT != 4) if @L2_STAT < 0 p 'ERROR: @L2_STAT < 0 for player 3. Please set to a valid value.' end if @L2_STAT == 1 @newstat_windowthree.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)]) end if @L2_STAT == 2 @newstat_windowthree.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)]) end if @L2_STAT == 3 @newstat_windowthree.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)]) end if @L2_STAT > @LCOUNT p 'L2_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.' end end #Line Three #Set Color @newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color if @LINETHREE_ONOFF == true @newstat_windowthree.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) and (@L3_STAT != 4) if @L3_STAT < 0 p 'ERROR: @L3_STAT < 0 for player 3. Please set to a valid value.' end if @L3_STAT == 1 @newstat_windowthree.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)]) end if @L3_STAT == 2 @newstat_windowthree.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)]) end if @L3_STAT == 3 @newstat_windowthree.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)]) end if @L3_STAT > @LCOUNT p 'L3_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.' end end #Line Four (Off by default) if @LINEFOUR_ONOFF == true @newstat_windowthree.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT) if @L4_STAT < 0 p 'ERROR: @L4_STAT < 0 for player 3. Please set to a valid value.' end if @L4_STAT == 1 @newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)]) end if @L4_STAT == 2 @newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)]) end if @L4_STAT == 3 @newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)]) end if @L4_STAT == 4 # @newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold) @newstat_windowthree.draw_actor_state($game_party.members[2], @L4_X, @L4_Y, 120) end if @L4_STAT > @LCOUNT p 'L4_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.' end end @LASTX = (@LASTX + @NS_LOCATION) end #Party Member 4's box def create_newstat_windowfour (ac) member = [] hitpoints = [] magpoints = [] lev = [] @item_max = $game_party.members.size for actor in $game_party.members member.push (actor.name) hitpoints.push (actor.hp) magpoints.push (actor.mp) lev.push (actor.level.to_s) end width = @BOX_W height = @BOX_H x = ((@LASTX) /2) - (width/2) y = (@BOX_Y + 10) @newstat_windowfour = Window_Base.new(x, y, width, height) @newstat_windowfour.create_contents #Name Line if @NAME_ONOFF == true @newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color @newstat_windowfour.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)]) end #Line One #Set Color @newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color if @LINEONE_ONOFF == true @newstat_windowfour.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) and (@L1_STAT != 4) if @L1_STAT < 0 p 'ERROR: @L1_STAT < 0 for player 4. Please set to a valid value.' end if @L1_STAT == 1 @newstat_windowfour.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)]) end if @L1_STAT == 2 @newstat_windowfour.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)]) end if @L1_STAT == 3 @newstat_windowfour.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)]) end if @L1_STAT > @LCOUNT p 'L1_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.' end end #Line Two #Set Color @newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color if @LINETWO_ONOFF == true @newstat_windowfour.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) and (@L2_STAT != 4) if @L2_STAT < 0 p 'ERROR: @L2_STAT < 0 for player 4. Please set to a valid value.' end if @L2_STAT == 1 @newstat_windowfour.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)]) end if @L2_STAT == 2 @newstat_windowfour.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)]) end if @L2_STAT == 3 @newstat_windowfour.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)]) end if @L2_STAT > @LCOUNT p 'L2_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.' end end #Line Three #Set Color @newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color if @LINETHREE_ONOFF == true @newstat_windowfour.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) and (@L3_STAT != 4) if @L3_STAT < 0 p 'ERROR: @L3_STAT < 0 for player 4. Please set to a valid value.' end if @L3_STAT == 1 @newstat_windowfour.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)]) end if @L3_STAT == 2 @newstat_windowfour.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)]) end if @L3_STAT == 3 @newstat_windowfour.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)]) end if @L3_STAT > @LCOUNT p 'L3_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.' end end #Line Four (Off by default) if @LINEFOUR_ONOFF == true @newstat_windowfour.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT) if @L4_STAT < 0 p 'ERROR: @L4_STAT < 0 for player 4. Please set to a valid value.' end if @L4_STAT == 1 @newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)]) end if @L4_STAT == 2 @newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)]) end if @L4_STAT == 3 @newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)]) end if @L4_STAT == 4 # @newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold) @newstat_windowfour.draw_actor_state($game_party.members[3], @L4_X, @L4_Y, 120) end if @L4_STAT > @LCOUNT p 'L4_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.' end end @LASTX = (@LASTX + @NS_LOCATION) end # End Character Boxes def create_command_window s1 = DQ_Menu_Setup::ITEM_1_NAME s2 = DQ_Menu_Setup::ITEM_2_NAME s3 = DQ_Menu_Setup::ITEM_3_NAME s4 = DQ_Menu_Setup::ITEM_4_NAME s5 = DQ_Menu_Setup::ITEM_5_NAME s6 = DQ_Menu_Setup::ITEM_6_NAME s7 = DQ_Menu_Setup::ITEM_7_NAME s8 = DQ_Menu_Setup::ITEM_8_NAME s9 = DQ_Menu_Setup::ITEM_9_NAME s10 = DQ_Menu_Setup::ITEM_10_NAME s11 = DQ_Menu_Setup::ITEM_11_NAME s12 = DQ_Menu_Setup::ITEM_12_NAME if DQ_Menu_Setup::NUM_OF_ITEMS == 0 p 'ERROR: Number of items on the main menu is set to 0 or garbage.' while 1 == 1 end if DQ_Menu_Setup::NUM_OF_ITEMS == 1 @command_window = Window_Command.new(140, [s1],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 2 @command_window = Window_Command.new(140, [s1, s2],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 3 @command_window = Window_Command.new(140, [s1, s2, s3],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 4 @command_window = Window_Command.new(140, [s1, s2, s3, s4],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 5 @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 6 @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 7 @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 8 @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7,s8],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 9 @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7,s8,s9],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 10 @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7,s8,s9,s10],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 11 @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7,s8,s9,s10,s11],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 12 @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7,s8,s9,s10,s11,s12],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS > 12 p "出错了: 主菜单上的项目数大于12.", "你需要写更多的行号。" while 1 == 1 end @command_window.index = @menu_index @command_window.x = (140 /2) - (@command_window.width/2) # 主菜单 X轴 MENU_WINDOW_X @command_window.y = Wor_Litemenu::MENU_WINDOW_Y if $game_party.members.size == 0 p 'error - 0 party members. Lock the menu here.' end if $game_system.save_disabled @command_window.draw_item(4, false) end end # Command Selection Re-Write def update_command_selection if Input.trigger?(Input::B) Sound.play_cancel $scene = Scene_Map.new elsif Input.trigger?(Input::C) if $game_party.members.size == 0 and @command_window.index < 4 #- 4 Sound.play_buzzer return elsif $game_system.save_disabled and @command_window.index == 4 #- 4 Sound.play_buzzer return end Sound.play_decision case @command_window.index when 0 # Item 1 on the menu #$scene = DQ_Menu_Setup::ITEM_1_STRING if DQ_Menu_Setup::ITEM_1_TYPE == 1 start_DQStatus_selection if DQ_Menu_Setup::ITEM_1_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_1_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_1_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_1_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_1_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_1_TYPE == 8 @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_1_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_1_TYPE == 9 @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_1_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_1_TYPE == 10 when 1 # @dqwhotype = 'equip' # left this here as a reminder. Should be placed for #item type for equip menu #start_DQWho_selection start_DQStatus_selection if DQ_Menu_Setup::ITEM_2_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_2_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_2_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_2_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_2_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_2_TYPE == 8 @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_2_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_2_TYPE == 9 @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_2_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_2_TYPE == 10 when 2 # Skill, equipment, status start_DQStatus_selection if DQ_Menu_Setup::ITEM_3_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_3_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_3_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_3_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_3_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_3_TYPE == 8 @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_3_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_3_TYPE == 9 @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_3_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_3_TYPE == 10 when 3 start_DQStatus_selection if DQ_Menu_Setup::ITEM_4_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_4_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_4_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_4_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_4_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_4_TYPE == 8 @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_4_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_4_TYPE == 9 @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_4_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_4_TYPE == 10 when 4 start_DQStatus_selection if DQ_Menu_Setup::ITEM_5_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_5_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_5_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_5_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_5_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_5_TYPE == 8 @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_5_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_5_TYPE == 9 @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_5_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_5_TYPE == 10 when 5 start_DQStatus_selection if DQ_Menu_Setup::ITEM_6_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_6_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_6_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_6_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_6_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_6_TYPE == 8 @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_6_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_6_TYPE == 9 @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_6_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_6_TYPE == 10 when 6 start_DQStatus_selection if DQ_Menu_Setup::ITEM_7_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_7_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_7_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_7_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_7_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_7_TYPE == 8 @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_7_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_7_TYPE == 9 @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_7_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_7_TYPE == 10 when 7 start_DQStatus_selection if DQ_Menu_Setup::ITEM_8_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_8_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_8_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_8_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_8_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_8_TYPE == 8 @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_8_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_8_TYPE == 9 @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_8_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_8_TYPE == 10 when 8 start_DQStatus_selection if DQ_Menu_Setup::ITEM_9_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_9_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_9_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_9_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_9_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_9_TYPE == 8 @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_9_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_9_TYPE == 9 @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_9_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_9_TYPE == 10 when 9 start_DQStatus_selection if DQ_Menu_Setup::ITEM_10_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_10_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_10_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_10_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_10_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_10_TYPE == 8 @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_10_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_10_TYPE == 9 @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_10_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_10_TYPE == 10 when 10 start_DQStatus_selection if DQ_Menu_Setup::ITEM_11_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_11_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_11_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_11_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_11_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_11_TYPE == 8 @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_11_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_11_TYPE == 9 @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_11_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_11_TYPE == 10 when 11 start_DQStatus_selection if DQ_Menu_Setup::ITEM_12_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_12_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_12_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_12_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_12_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_12_TYPE == 8 @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_12_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_12_TYPE == 9 @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_12_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_12_TYPE == 10 end end end ########################BEGIN DQ STYLE STATUS MENU ################### #创建DQ风格状态窗口 def create_dqs_window s1 = "HP & MP" s2 = "全员概要" s3 = "角色详情" @dqs_window = Window_Command.new(140, [s1,s2,s3]) @dqs_window.height = 130 @dqs_window.x = 0 @dqs_window.y = 50 @dqs_window.index = 4 @dqs_window.visible = false end #自定义DQ样式成员选择菜单 def create_dqwho_window member = [] acount = 0; for actor in $game_party.members member.push (" " + actor.name) acount = acount+1 end case acount when 1 @dqwho_window = Window_Command.new(140, [member[0]]) when 2 @dqwho_window = Window_Command.new(140, [member[0], member[1]]) when 3 @dqwho_window = Window_Command.new(140, [member[0], member[1], member[2]]) when 4 @dqwho_window = Window_Command.new(140, [member[0], member[1], member[2], member[3]]) end @dqwho_window.height = 130 @dqwho_window.x = 0 @dqwho_window.y = 50 @dqwho_window.index = 4 @dqwho_window.visible = false end #在状态下创建HP/MP显示 def create_DQStatus_HPMP_window () @W_PERCHAR = 0 @spacer = 0 member = [] @item_max = $game_party.members.size for actor in $game_party.members member.push (actor.name) @W_PERCHAR = @W_PERCHAR + 103 end width = @W_PERCHAR height = 200 x = (134) y = (-20) @DQStatus_HPMP_window = Window_Base.new(x, y, width, height) @DQStatus_HPMP_window.create_contents @DQStatus_HPMP_window.contents.font.name = DQ_Status_Setup::STATUS_FONT # 输出 for actor in $game_party.members @DQStatus_HPMP_window.contents.font.color = @DQStatus_HPMP_window.normal_color # @DQStatus_HPMP_window.contents.draw_text(@TEMPX, -60, 300, 150, (@spacer + 1).to_s + ':') @DQStatus_HPMP_window.contents.draw_text(@TEMPX, -40, 300, 150, actor.name.to_s) #HP Display @DQStatus_HPMP_window.contents.draw_text(@TEMPX, -10, 300, 150, 'HP') @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), -10, 300, 150,actor.hp.to_s) if actor.maxhp >= 100 @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), -10, 300, 150,' ' + actor.hp.to_s) if actor.maxhp < 100 and actor.maxhp >=10 @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), -10, 300, 150,' ' + actor.hp.to_s) if actor.maxhp < 10 @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 0), 0, 300, 150, '-------') @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 10, 300, 150,actor.maxhp.to_s) if actor.maxhp >= 100 @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 10, 300, 150,' ' + actor.maxhp.to_s) if actor.maxhp < 100 and actor.maxhp >=10 @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 10, 300, 150,' ' + actor.maxhp.to_s) if actor.maxhp < 10 #MP Diaplay @DQStatus_HPMP_window.contents.draw_text(@TEMPX, 50, 300, 150, 'MP') @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 50, 300, 150,actor.mp.to_s) if actor.maxmp >= 100 @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 50, 300, 150,' ' + actor.mp.to_s) if actor.maxmp < 100 and actor.maxmp >=10 @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 50, 300, 150,' ' + actor.mp.to_s) if actor.maxmp < 10 @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 0), 60, 300, 150, '-------') @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 70, 300, 150,actor.maxmp.to_s) if actor.maxmp >= 100 @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 70, 300, 150,' ' + actor.maxmp.to_s) if actor.maxmp < 100 and actor.maxmp >=10 @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 70, 300, 150,' ' + actor.maxmp.to_s) if actor.maxmp < 10 @TEMPX = @TEMPX + 100 end @spacer = @spacer + 1 @TEMPX = 0 @DQStatus_HPMP_window.visible = false end #Create the Attack Power Display under Status def create_DQStatus_ATTACK_window () @spacer = 0 @H_PERCHAR = 0 member = [] @item_max = $game_party.members.size for actor in $game_party.members member.push (actor.name) @H_PERCHAR = @H_PERCHAR + 25 end width = 410 height = 88 + @H_PERCHAR x = (135) y = (-10) @DQStatus_ATTACK_window = Window_Base.new(x, y, width, height) @DQStatus_ATTACK_window.create_contents @DQStatus_ATTACK_window.contents.font.name = DQ_Status_Setup::STATUS_FONT #Output #HEADER @DQStatus_ATTACK_window.contents.draw_text(0, -50, 300, 150, "成员") @DQStatus_ATTACK_window.contents.draw_text(110, -50, 300, 150, "等级") @DQStatus_ATTACK_window.contents.draw_text(165, -50, 300, 150, "力量") @DQStatus_ATTACK_window.contents.draw_text(225, -50, 300, 150, "物防") @DQStatus_ATTACK_window.contents.draw_text(285, -50, 300, 150, "智慧") @DQStatus_ATTACK_window.contents.draw_text(345, -50, 300, 150, "敏捷") @DQStatus_ATTACK_window.contents.draw_text(-30, -40, 420, 150, '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------') for actor in $game_party.members @DQStatus_ATTACK_window.contents.font.color = @DQStatus_ATTACK_window.normal_color #显示每个成员 @DQStatus_ATTACK_window.contents.draw_text(0, @TEMPY - 20 , 300, 150, actor.name.to_s) @DQStatus_ATTACK_window.contents.draw_text(120,@TEMPY - 20, 300, 150, actor.level.to_s) @DQStatus_ATTACK_window.contents.draw_text(170, @TEMPY - 20, 300, 150, actor.atk.to_s) @DQStatus_ATTACK_window.contents.draw_text(230, @TEMPY - 20, 300, 150, actor.def.to_s) @DQStatus_ATTACK_window.contents.draw_text(290, @TEMPY - 20, 300, 150, actor.spi.to_s) @DQStatus_ATTACK_window.contents.draw_text(350, @TEMPY - 20, 300, 150, actor.agi.to_s) @TEMPY = @TEMPY + 25 end @TEMPY = 0 @spacer = @spacer + 1 @DQStatus_ATTACK_window.active = false @DQStatus_ATTACK_window.visible = false end # 创建完整状态窗口(显示全部的右侧屏幕) def create_DQStatus_FullStat_window (actorstat) @dqs_window.active = false create_DQStatus_FullStatChar_window(actorstat) #Calls the character (right) window #This next part determines the longest string size in use (to line up lines) xpos = 0 if DQ_Status_Setup::LINE_1_ONOFF == true xpos = DQ_Status_Setup::LINE_1_STRING.size if DQ_Status_Setup::LINE_1_STRING.size >= xpos end if DQ_Status_Setup::LINE_2_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_3_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_4_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_5_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_6_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_7_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_8_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_9_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_10_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_11_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_12_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end @dqs_window.active = false @dqwho_window.active = false @spacer = 10 width = 411 height = 290 x = (134) y = (-10) @DQStatus_FullStat_window = Window_Base.new(x, y, width, height) @DQStatus_FullStat_window.create_contents @DQStatus_FullStat_window.contents.font.name = DQ_Status_Setup::STATUS_FONT @DQStatus_FullStat_window.contents.font.color = @DQStatus_FullStat_window.normal_color # Line 1 Output if DQ_Status_Setup::LINE_1_ONOFF == true @DQStatus_FullStat_window.contents.draw_text(xpos, -65, 350, 150, DQ_Status_Setup::LINE_1_STRING + DQ_Status_Setup::SEP) @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_1_TYPE == 1 @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_1_TYPE == 2 @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_1_TYPE == 3 @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_1_TYPE == 4 @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_1_TYPE == 5 @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_1_TYPE == 6 @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_1_TYPE == 7 @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_1_TYPE == 8 @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_1_TYPE == 9 @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_1_TYPE == 10 @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_1_TYPE == 11 @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_1_TYPE == 12 @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_1_TYPE == 13 end # Line 2 output if DQ_Status_Setup::LINE_2_ONOFF == true @DQStatus_FullStat_window.contents.draw_text(xpos, -45, 350, 150, DQ_Status_Setup::LINE_2_STRING + DQ_Status_Setup::SEP) @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_2_TYPE == 1 @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_2_TYPE == 2 @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_2_TYPE == 3 @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_2_TYPE == 4 @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_2_TYPE == 5 @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_2_TYPE == 6 @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_2_TYPE == 7 @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_2_TYPE == 8 @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_2_TYPE == 9 @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_2_TYPE == 10 @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_2_TYPE == 11 @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_2_TYPE == 12 @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_2_TYPE == 13 end # Line 3 output if DQ_Status_Setup::LINE_3_ONOFF == true @DQStatus_FullStat_window.contents.draw_text(xpos, -25, 350, 150, DQ_Status_Setup::LINE_3_STRING + DQ_Status_Setup::SEP) @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_3_TYPE == 1 @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_3_TYPE == 2 @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_3_TYPE == 3 @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_3_TYPE == 4 @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_3_TYPE == 5 @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_3_TYPE == 6 @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_3_TYPE == 7 @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_3_TYPE == 8 @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_3_TYPE == 9 @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_3_TYPE == 10 @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_3_TYPE == 11 @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_3_TYPE == 12 @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_3_TYPE == 13 end # Line 4 output if DQ_Status_Setup::LINE_4_ONOFF == true @DQStatus_FullStat_window.contents.draw_text(xpos, -5, 350, 150, DQ_Status_Setup::LINE_4_STRING + DQ_Status_Setup::SEP) @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_4_TYPE == 1 @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_4_TYPE == 2 @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_4_TYPE == 3 @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_4_TYPE == 4 @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_4_TYPE == 5 @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_4_TYPE == 6 @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_4_TYPE == 7 @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_4_TYPE == 8 @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_4_TYPE == 9 @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_4_TYPE == 10 @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_4_TYPE == 11 @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_4_TYPE == 12 @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_4_TYPE == 13 end # Line 5 output if DQ_Status_Setup::LINE_5_ONOFF == true @DQStatus_FullStat_window.contents.draw_text(xpos, 15, 350, 150, DQ_Status_Setup::LINE_5_STRING + DQ_Status_Setup::SEP) @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_5_TYPE == 1 @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_5_TYPE == 2 @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_5_TYPE == 3 @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_5_TYPE == 4 @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_5_TYPE == 5 @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_5_TYPE == 6 @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_5_TYPE == 7 @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_5_TYPE == 8 @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_5_TYPE == 9 @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_5_TYPE == 10 @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_5_TYPE == 11 @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_5_TYPE == 12 @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_5_TYPE == 13 end # Line 6 output if DQ_Status_Setup::LINE_6_ONOFF == true @DQStatus_FullStat_window.contents.draw_text(xpos, 35, 350, 150, DQ_Status_Setup::LINE_6_STRING + DQ_Status_Setup::SEP) @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_6_TYPE == 1 @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_6_TYPE == 2 @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_6_TYPE == 3 @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_6_TYPE == 4 @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_6_TYPE == 5 @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_6_TYPE == 6 @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_6_TYPE == 7 @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_6_TYPE == 8 @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_6_TYPE == 9 @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_6_TYPE == 10 @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_6_TYPE == 11 @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_6_TYPE == 12 @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_6_TYPE == 13 end # Line 7 output if DQ_Status_Setup::LINE_7_ONOFF == true @DQStatus_FullStat_window.contents.draw_text(xpos, 55, 350, 150, DQ_Status_Setup::LINE_7_STRING + DQ_Status_Setup::SEP) @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_7_TYPE == 1 @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_7_TYPE == 2 @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_7_TYPE == 3 @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_7_TYPE == 4 @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_7_TYPE == 5 @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_7_TYPE == 6 @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_7_TYPE == 7 @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_7_TYPE == 8 @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_7_TYPE == 9 @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_7_TYPE == 10 @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_7_TYPE == 11 @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_7_TYPE == 12 @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_7_TYPE == 13 end # Line 8 output if DQ_Status_Setup::LINE_8_ONOFF == true @DQStatus_FullStat_window.contents.draw_text(xpos, 75, 350, 150, DQ_Status_Setup::LINE_8_STRING + DQ_Status_Setup::SEP) @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_8_TYPE == 1 @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_8_TYPE == 2 @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_8_TYPE == 3 @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_8_TYPE == 4 @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_8_TYPE == 5 @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_8_TYPE == 6 @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_8_TYPE == 7 @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_8_TYPE == 8 @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_8_TYPE == 9 @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_8_TYPE == 10 @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_8_TYPE == 11 @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_8_TYPE == 12 @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_8_TYPE == 13 end # Line 9 output if DQ_Status_Setup::LINE_9_ONOFF == true @DQStatus_FullStat_window.contents.draw_text(xpos, 95, 350, 150, DQ_Status_Setup::LINE_9_STRING + DQ_Status_Setup::SEP) @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_9_TYPE == 1 @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_9_TYPE == 2 @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_9_TYPE == 3 @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_9_TYPE == 4 @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_9_TYPE == 5 @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_9_TYPE == 6 @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_9_TYPE == 7 @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_9_TYPE == 8 @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_9_TYPE == 9 @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_9_TYPE == 10 @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_9_TYPE == 11 @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_9_TYPE == 12 @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_9_TYPE == 13 end # Line 10 output if DQ_Status_Setup::LINE_10_ONOFF == true @DQStatus_FullStat_window.contents.draw_text(xpos, 115, 350, 150, DQ_Status_Setup::LINE_10_STRING + DQ_Status_Setup::SEP) @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_10_TYPE == 1 @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_10_TYPE == 2 @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_10_TYPE == 3 @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_10_TYPE == 4 @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_10_TYPE == 5 @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_10_TYPE == 6 @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_10_TYPE == 7 @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_10_TYPE == 8 @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_10_TYPE == 9 @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_10_TYPE == 10 @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_10_TYPE == 11 @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_10_TYPE == 12 @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_10_TYPE == 13 end # Line 11 output if DQ_Status_Setup::LINE_11_ONOFF == true @DQStatus_FullStat_window.contents.draw_text(xpos, 135, 350, 150, DQ_Status_Setup::LINE_11_STRING + DQ_Status_Setup::SEP) @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_11_TYPE == 1 @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_11_TYPE == 2 @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_11_TYPE == 3 @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_11_TYPE == 4 @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_11_TYPE == 5 @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_11_TYPE == 6 @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_11_TYPE == 7 @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_11_TYPE == 8 @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_11_TYPE == 9 @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_11_TYPE == 10 @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_11_TYPE == 11 @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_11_TYPE == 12 @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_11_TYPE == 13 end # Line 12 output if DQ_Status_Setup::LINE_12_ONOFF == true @DQStatus_FullStat_window.contents.draw_text(xpos, 155, 350, 150, DQ_Status_Setup::LINE_12_STRING + DQ_Status_Setup::SEP) @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_12_TYPE == 1 @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_12_TYPE == 2 @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_12_TYPE == 3 @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_12_TYPE == 4 @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_12_TYPE == 5 @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_12_TYPE == 6 @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_12_TYPE == 7 @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_12_TYPE == 8 @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_12_TYPE == 9 @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_12_TYPE == 10 @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_12_TYPE == 11 @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_12_TYPE == 12 @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_12_TYPE == 13 end end #Create the right window in the "See All Stats" section under Status def create_DQStatus_FullStatChar_window (actorstat) member = [] for actor in $game_party.members member.push (actor.name) end # 查看强度》个人详情》选择角色后显示的预览小窗 width = 50 height = 50 x = (-100) y = (-100) @DQStatus_FullStatChar_window = Window_Base.new(x, y, width, height) @DQStatus_FullStatChar_window.create_contents @DQStatus_FullStatChar_window.contents.font.name = DQ_Status_Setup::STATUS_FONT #output player name @DQStatus_FullStatChar_window.contents.draw_text(0, -65, 300, 150, actorstat.name) if DQ_Status_Setup::UL_NAME_ONOFF == true @DQStatus_FullStatChar_window.contents.draw_text(-30, -55, 250, 150, '----------------------------------------') if DQ_Status_Setup::UL_NAME_ONOFF == true and DQ_Status_Setup::UL_NAME_DIV == true # Line 1 output if DQ_Status_Setup::UL_LINE_1_ONOFF == true @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 350, 150, DQ_Status_Setup::UL_LINE_1_STRING + DQ_Status_Setup::UL_SEP) @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_1_TYPE == 1 @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_1_TYPE == 2 @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_1_TYPE == 3 @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_1_TYPE == 4 @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_1_TYPE == 5 @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_1_TYPE == 6 @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_1_TYPE == 7 @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_1_TYPE == 8 @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_1_TYPE == 9 @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_1_TYPE == 10 @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_1_TYPE == 11 @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_1_TYPE == 12 @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_1_TYPE == 13 end # Line 2 output if DQ_Status_Setup::UL_LINE_2_ONOFF == true @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 350, 150, DQ_Status_Setup::UL_LINE_2_STRING + DQ_Status_Setup::UL_SEP) @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_2_TYPE == 1 @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_2_TYPE == 2 @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_2_TYPE == 3 @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_2_TYPE == 4 @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_2_TYPE == 5 @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_2_TYPE == 6 @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_2_TYPE == 7 @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_2_TYPE == 8 @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_2_TYPE == 9 @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_2_TYPE == 10 @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_2_TYPE == 11 @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_2_TYPE == 12 @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_2_TYPE == 13 end # Line 3 output if DQ_Status_Setup::UL_LINE_3_ONOFF == true @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 350, 150, DQ_Status_Setup::UL_LINE_3_STRING + DQ_Status_Setup::UL_SEP) @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_3_TYPE == 1 @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_3_TYPE == 2 @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_3_TYPE == 3 @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_3_TYPE == 4 @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_3_TYPE == 5 @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_3_TYPE == 6 @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_3_TYPE == 7 @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_3_TYPE == 8 @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_3_TYPE == 9 @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_3_TYPE == 10 @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_3_TYPE == 11 @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_3_TYPE == 12 @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_3_TYPE == 13 end # Line 4 output if DQ_Status_Setup::UL_LINE_4_ONOFF == true @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 350, 150, DQ_Status_Setup::UL_LINE_4_STRING + DQ_Status_Setup::UL_SEP) @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_4_TYPE == 1 @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_4_TYPE == 2 @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_4_TYPE == 3 @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_4_TYPE == 4 @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_4_TYPE == 5 @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_4_TYPE == 6 @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_4_TYPE == 7 @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_4_TYPE == 8 @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_4_TYPE == 9 @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_4_TYPE == 10 @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_4_TYPE == 11 @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_4_TYPE == 12 @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_4_TYPE == 13 end # Line 5 output if DQ_Status_Setup::UL_LINE_5_ONOFF == true @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 350, 150, DQ_Status_Setup::UL_LINE_5_STRING + DQ_Status_Setup::UL_SEP) @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_5_TYPE == 1 @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_5_TYPE == 2 @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_5_TYPE == 3 @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_5_TYPE == 4 @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_5_TYPE == 5 @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_5_TYPE == 6 @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_5_TYPE == 7 @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_5_TYPE == 8 @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_5_TYPE == 9 @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_5_TYPE == 10 @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_5_TYPE == 11 @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_5_TYPE == 12 @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_5_TYPE == 13 end end # DQ STATUS MENU CONTROLS (Allows you to back up out of menus) # Fullstat windows def update_dqfullstat_selection @dqs_window.active = false @dqwho_window.active = false if Input.trigger?(Input::B) Sound.play_cancel @DQStatus_FullStat_window.visible = false @DQStatus_FullStatChar_window.visible = false @dqwho_window.active = true @dqwho_window.visible = true end end #HPMP window def update_dqhpmp_selection if Input.trigger?(Input::B) Sound.play_cancel end_dqhpmp_selection @DQStatus_ATTACK_window.visible = false @DQStatus_HPMP_window.visible = false @DQStatus_ATTACK_window.active = false @DQStatus_HPMP_window.active = false @DQStatus_FullStatChar_window.visible = false if @DQStatus_FullStatChar_window @DQStatus_FullStatChar_window.active = false if @DQStatus_FullStatChar_window @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window @dqwho_window.active = false @dqwho_window.active = false @dqs_window.active = true @dqs_window.visible = true end end #Attack window def update_attack_selection if Input.trigger?(Input::B) Sound.play_cancel end_attack_selection @DQStatus_ATTACK_window.visible = false @DQStatus_HPMP_window.visible = false @DQStatus_ATTACK_window.active = false @DQStatus_HPMP_window.active = false @DQStatus_FullStatChar_window.visible = false if @DQStatus_FullStatChar_window @DQStatus_FullStatChar_window.active = false if @DQStatus_FullStatChar_window @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window @dqwho_window.active = false @dqwho_window.active = false @dqs_window.active = true @dqs_window.visible = true end end #Update the Dragon Quest Status Selection def update_dqs_selection if Input.trigger?(Input::B) Sound.play_cancel @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window @DQStatus_FullStatChar_window.visible = false if @DQStatus_FullStatChar_window @DQStatus_HPMP_window.visible = false if @DQStatus_HPMP_window @DQStatus_ATTACK_window.visible = false if @DQStatus_ATTACK_window $scene = Scene_Map.new elsif Input.trigger?(Input::C) if $game_party.members.size == 0 and @dqs_window.index < 8 #- 4 Sound.play_buzzer return end Sound.play_decision case @dqs_window.index when 0 # Item 1 on the menu start_dqhpmp_selection when 1 start_attack_selection when 2 @dqwhotype = 'status' start_DQWho_selection () end end end #Update the Dragon Quest Who Selection Screen for Status def update_dqwho_selection () if Input.trigger?(Input::B) Sound.play_cancel @command_window.active = true if @dqwhotype == 'oldskill' @command_window.active = true if @dqwhotype == 'oldstatus' @command_window.active = true if @dqwhotype == 'oldequip' @command_window.active = true if @dqwhotype == 'equip' @dqs_window.active = true if @dqwhotype == 'status' @dqwho_window.visible = false # @DQStatus_FullStatChar_window.visible = false elsif Input.trigger?(Input::C) if $game_party.members.size == 0 and @dqwho_window.index < 8 #- 4 Sound.play_buzzer return end Sound.play_decision #When called for the Old (built-in) Style status Menu if @dqwhotype == 'oldstatus' @dqwho_window.active = false $scene = Scene_Status.new(@dqwho_window.index) end #When called for the Old (built-in) Style Equip Menu if @dqwhotype == 'oldequip' @dqwho_window.active = false $scene = Scene_Equip.new(@dqwho_window.index) end #When called for the Old (built-in) Style Skill Menu if @dqwhotype == 'oldskill' @dqwho_window.active = false $scene = Scene_Skill.new(@dqwho_window.index) end #当需要DQ风格裝備菜单时 if @dqwhotype == 'equip' case @dqwho_window.index when 0 return end #When called from the DQ Status screen (to show all stats) elsif @dqwhotype == 'status' case @dqwho_window.index when 0 # Should be Player #1 @dqwho_window.active = false create_DQStatus_FullStat_window (@actorarray[0]) start_fullstat_selection return when 1 @dqwho_window.active = false create_DQStatus_FullStat_window (@actorarray[1]) return when 2 @dqwho_window.active = false create_DQStatus_FullStat_window (@actorarray[2]) return when 3 @dqwho_window.active = false create_DQStatus_FullStat_window (@actorarray[3]) return when 4 @dqwho_window.active = false create_DQStatus_FullStat_window (@actorarray[4]) return when 5 @dqwho_window.active = false create_DQStatus_FullStat_window (@actorarray[5]) return when 6 @dqwho_window.active = false create_DQStatus_FullStat_window (@actorarray[6]) return when 7 @dqwho_window.active = false create_DQStatus_FullStat_window (@actorarray[7]) return end end p "出错了: @dqwho_window.index > 3. 队伍超出最大人数。" if @dqwho_window.index > 3 #- 3 end end #Start Selection on the DQ Status Menu def start_DQStatus_selection @command_window.active = false @dqs_window.visible = true @dqs_window.active = true @DQStatus_HPMP_window.visible = false @DQStatus_HPMP_window.active = false @DQStatus_ATTACK_window.visible = false @DQStatus_ATTACK_window.active = false @dqwho_window.visible = false @dqwho_window.active = false @dqs_window.index = 0 end #End Selection on the DQ Status Menu def end_DQStatus_selection @command_window.active = true @dqs_window.visible = false @dqs_window.active = false @dqs_window.index = -1 end #Start Selection on the HPMP Screen def start_dqhpmp_selection create_DQStatus_HPMP_window() @dqwho_window.active = false @dqs_window.active = false @DQStatus_HPMP_window.visible = true @DQStatus_HPMP_window.active = true end def end_dqhpmp_selection start_DQStatus_selection end #Start Selection on the ATTACK Screen def start_attack_selection create_DQStatus_ATTACK_window() @dqwho_window.active = false @dqs_window.active = false @DQStatus_ATTACK_window.visible = true @DQStatus_ATTACK_window.active = true end def end_attack_selection start_DQStatus_selection end #Start Selection on the Dragon Quest Who Selection Screen for Status def start_DQWho_selection create_dqwho_window() @command_window.active = false @dqs_window.active = false @dqwho_window.visible = true @dqwho_window.active = true @dqwho_window.index = 0 end #End Selection on the Dragon Quest Who Selection Screen for Status def end_DQWho_selection @command_window.active = true @dqwho_window.visible = false @dqwho_window.active = false @dqwho_window.index = -1 end #Start Selection on the FullStat screen def start_fullstat_selection @dqwho_window.active = false @dqs_window.active = false @DQStatus_HPMP_window.active = false @DQStatus_ATTACK_window.active = false @DQStatus_FullStat_window.visible = true @DQStatus_FullStat_window.active = true end #End Selection on the FullStat screen def end_fullstat_selection @dqwho_window.active = true @DQStatus_FullStat_window.visible = false @DQStatus_FullStat_window.active = false @DQStatus_FullStatChar_window.visible = false @DQStatus_FullStatChar_window.active = false end ########################END DQ STYLE STATUS MENU ################### # UPDATE def update super update_menu_background @command_window.update if @command_window.active update_command_selection elsif @dqs_window.active update_dqs_selection @dqs_window.update elsif @dqwho_window.active update_dqwho_selection @dqwho_window.update elsif @DQStatus_ATTACK_window.active update_attack_selection elsif @DQStatus_HPMP_window.active update_dqhpmp_selection elsif @status_window.visible @status_window.update update_actor_selection elsif @DQStatus_FullStat_window update_dqfullstat_selection if @DQStatus_FullStat_window.active end end #Terminate def terminate super dispose_menu_background @command_window.dispose @status_window.dispose @dqs_window.dispose @DQStatus_FullStat_window.dispose if @DQStatus_FullStat_window @DQStatus_FullStatChar_window.dispose if @DQStatus_FullStatChar_window @dqwho_window.dispose if @dqwho_window @DQStatus_HPMP_window.dispose if @DQStatus_HPMP_window @DQStatus_ATTACK_window.dispose if @DQStatus_ATTACK_window @location_window.dispose if @location_window psize = ($game_party.members.size) if @BOX_ONOFF == true for actor in $game_party.members if psize == 4 @newstat_windowfour.dispose elsif psize == 3 @newstat_windowthree.dispose elsif psize == 2 @newstat_windowtwo.dispose elsif psize == 1 @newstat_window.dispose end psize = (psize - 1) end end end end #Configuring the old-style menu's to update their cursors to the first position class Scene_Status < Scene_Base def return_scene $scene = Scene_Menu.new(0) end end class Scene_Equip < Scene_Base def return_scene $scene = Scene_Menu.new(0) end end
#==============================================================================
# [RMVX] 《勇者斗恶龙》风格可定制菜单系统 Version 1.20
#------------------------------------------------------------------------------
=begin
by Ekras
released on 04/07/2008
感谢 "Woratana", "kmhp", "Trihan", 和 "modern algebra"(个人)在论坛上的帮助 :)
更新至版本 1.2
- 脚本名称从 "Dragon Quest Style Status Indicator" 改为 "Dragon Quest Style Customizable Menu System"
- 编码了DQ风格的状态下屏幕
- 主菜单现在可以轻松配置(更改菜单项!)
- 状态下屏幕上的 "Refill Command" 目前不工作(待定)
- 不知何故,1.1 版本中没有包含空白行,但它肯定在 1.2 版本中
- 向小框中添加了显示当前经验值、升级所需经验和职业的功能
- 新的错误消息更具描述性,并出现在打印命令中,而不是游戏中。(你将得到一个弹出窗口)
- 玩家能够在DQ风格的状态下屏幕上退出菜单屏幕
- 能够独立更改状态下菜单的字体(部分实现)
1.3 版本即将推出
- 大量优化 - 脚本将更快、更智能、更小
- 在小框中显示精灵(代码已完成,但仍然有很多bug)
- 使用一个大的“超级”框代替小框的能力
- DQ风格的装备屏幕 + 在DQ风格的状态下装备框
- 在DQ风格的状态下屏幕上的 "See All" 下显示额外信息(装备)
- 更多字体定制
- 更多......
=end
#==============================================================================
module DQ_Menu_Setup
# 在此处配置主菜单
# 脚本的这一部分允许您快速更改主菜单的显示。
# 您可以设置行数和列数,以及显示的项目
NUM_OF_ITEMS = 6 #设置菜单上的项目数量 (1-12)
NUM_ROWS = 3 # 主菜单中的行数
NUM_COL = 2 # 主菜单中的列数
#在此处配置显示在主菜单上的项目。类型如下:
#1-空白,以备将来使用
#2-空白,以备将来使用
#3-调用DQ状态屏幕
#4-调用DQ设备屏幕(在此版本中不使用)
#5-内置保存菜单
#6-内置游戏结束菜单
#7-内置项目菜单
#8-内置状态菜单
#9-内置技能菜单
#10-内置设备菜单
# 菜单上显示什么
ITEM_1_TYPE = 7
ITEM_1_NAME = "道具"
ITEM_2_TYPE = 9
ITEM_2_NAME = "特技"
ITEM_3_TYPE = 10
ITEM_3_NAME = "装备"
ITEM_4_TYPE = 3
ITEM_4_NAME = "强度"
ITEM_5_TYPE = 5
ITEM_5_NAME = "储存"
ITEM_6_TYPE = 6
ITEM_6_NAME = "其他"
ITEM_7_TYPE = 3
ITEM_7_NAME = "物品 7"
ITEM_8_TYPE = 3
ITEM_8_NAME = "物品 8"
ITEM_9_TYPE = 3
ITEM_9_NAME = "物品 9"
ITEM_10_TYPE = 3
ITEM_10_NAME = "物品 10"
ITEM_11_TYPE = 3
ITEM_11_NAME = "物品 11"
ITEM_12_TYPE = 3
ITEM_12_NAME = "物品 12"
end
module DQ_Status_Setup
#此模块定义了DQ风格状态屏幕。如果你不使用它,你可以放心地忽略这一部分。
#在此处配置状态菜单的“查看统计信息”部分
#在此处配置右侧窗口, 每一行都是一行文本和统计值。对于类型,请使用以下内容:
# 1-攻击,2-敏捷,3-精神 4-职业,5-防御,6-HP,7-MP,8-MaxHP,9-MaxMP,
# 10-经验,11-经验等级, 12-姓名, 13-等级
# 设置状态菜单中使用的字体
STATUS_FONT = "仿宋" # 区分大小写 - 可以命名任何 TrueType 字体。
# 关于字体的注意事项:玩家必须安装字体才能显示。
# 字体更改目前只影响非可选择菜单。
# 配置右边角色详细信息大窗口 (强度》个人详情》选择角色后显示的大窗口)
# 设置状态和其值之间的分隔符
SEP = ":" # 用于分隔状态和其值的字符
# 设置要显示的文本以及是否显示
LINE_1_STRING = "" # 设置第八行显示的文本
LINE_1_ONOFF = false # 设置是否显示这行文本
LINE_1_TYPE = 11 # 类型代码见上文
LINE_2_STRING = "角色" # 设置第九行显示的文本
LINE_2_ONOFF = true # 设置是否显示这行文本
LINE_2_TYPE = 12 # 类型代码见上文
LINE_3_STRING = "职业" # 设置第十行显示的文本
LINE_3_ONOFF = true # 设置是否显示这行文本
LINE_3_TYPE = 4 # 类型代码见上文
LINE_4_STRING = "最大HP" # 设置第一行显示的文本
LINE_4_ONOFF = true # 设置是否显示这行文本
LINE_4_TYPE = 8 # 类型代码见上文
LINE_5_STRING = "最大MP" # 设置第二行显示的文本
LINE_5_ONOFF = true # 设置是否显示这行文本
LINE_5_TYPE = 9 # 类型代码见上文
LINE_6_STRING = "力量" # 设置第三行显示的文本
LINE_6_ONOFF = true # 设置是否显示这行文本
LINE_6_TYPE = 1 # 类型代码见上文
LINE_7_STRING = "物防" # 设置第四行显示的文本
LINE_7_ONOFF = true # 设置是否显示这行文本
LINE_7_TYPE = 5 # 类型代码见上文
LINE_8_STRING = "智慧" # 设置第五行显示的文本
LINE_8_ONOFF = true # 设置是否显示这行文本
LINE_8_TYPE = 3 # 类型代码见上文
LINE_9_STRING = "敏捷" # 设置第六行显示的文本
LINE_9_ONOFF = true # 设置是否显示这行文本
LINE_9_TYPE = 2 # 类型代码见上文
LINE_10_STRING = "" # 设置第七行显示的文本
LINE_10_ONOFF = false # 设置是否显示这行文本
LINE_10_TYPE = 10 # 类型代码见上文
LINE_11_STRING = "当前经验" # 设置第八行显示的文本
LINE_11_ONOFF = true # 设置是否显示这行文本
LINE_11_TYPE = 10 # 类型代码见上文
LINE_12_STRING = "提升所需" # 设置第八行显示的文本
LINE_12_ONOFF = true # 设置是否显示这行文本
LINE_12_TYPE = 11 # 类型代码见上文
# 配置左边角色信息预览小窗口 (强度》个人详情》选择角色后显示的小窗口)
UL_SEP = '' # 设置分隔符
UL_NAME_ONOFF = false # 设置是否显示角色名
UL_NAME_DIV = false # 设置角色名与其他信息之间是否显示分隔符
UL_LINE_1_ONOFF = false # 设置是否显示第一行
UL_LINE_1_STRING = ""
UL_LINE_1_TYPE = 4 # 类型代码见上文
UL_LINE_2_ONOFF = false # 设置是否显示第二行
UL_LINE_2_STRING = "Lv"
UL_LINE_2_TYPE = 13 # 类型代码见上文
UL_LINE_3_ONOFF = false # 设置是否显示第三行
UL_LINE_3_STRING = "HP"
UL_LINE_3_TYPE = 6 # 类型代码见上文
UL_LINE_4_ONOFF = false # 设置是否显示第四行
UL_LINE_4_STRING = "MP"
UL_LINE_4_TYPE = 7 # 类型代码见上文
UL_LINE_5_ONOFF = false # 设置是否显示第五行
UL_LINE_5_STRING = ""
UL_LINE_5_TYPE = 0 # 类型代码见上文
end
# 状态菜单配置结束
module Wor_Litemenu
# Litemenu 设置
MENU_WINDOW_Y = 175 # 主菜单 窗口的Y轴 (X轴 需要搜索“MENU_WINDOW_X”)
CHARA_WINDOW_Y = 80
CHARA_WINDOW_WIDTH = 150
SHOW_LV = false
GOLD_TEXT_X = 0 # “金币”的坐标
VOCAB_GOLD = "钱"
SHOW_LOCATION_WINDOW = true
VOCAB_LOCATION = ""
LOCATION_WINDOW_Y = -10 # 地图名称、金币显示 窗口的Y轴
LOCATION_TEXT_X = 0 # 地图名称的坐标
GOLD_TEXT_X = 0 # "G"的坐标
end
###################### 不要碰这个部分
class Scene_Menu < Scene_Base
def initialize(menu_index = 0)
@menu_index = menu_index
@LASTX = 0
@TEMPX = 0
@TEMPY = 0
@dqwhotype = 'null'
@actorarray = []
##################### 恢复编辑
# MINI-BOX 设置在这里
# 这些框有时候有点棘手 - 调整一个可能会影响其他框
# 你可以将它移动到任何地方,可能只是需要一段时间来找到正确的数字组合。
# 主设置 (界面最下方角色信息小窗口)
@BOX_ONOFF = true # 打开小框为 true,关闭为 false
@NS_LOCATION = 130 # 将小框向左或向右移动
@NS_GAP = 270 # 调整小框之间的距离
@BOX_W = 140 # 调整小框的宽度
@BOX_H = 140 # 调整小框的高度
@BOX_Y = 267 # 调整小框的 Y 坐标
@BOX_LEFT_RIGHT = 2 # 设置为 1 从小框向右展开,设置为 2 向左展开
# 名字设置
@NAME_ONOFF = true # 打开为 true,关闭为 false
@N_X = 0 # 设置角色名字的 X 坐标
@N_Y = 0 # 设置角色名字的 Y 坐标
# 设置每个角色小框中的文本行。默认支持一行名字和最多三行其他文本。(第四行已编码但禁用)
# 调整这些设置会影响所有角色的小框。
# 我在下面提供了如何添加更多行以及如何将新状态添加到列表中的说明。
# 第一行设置
@LINEONE_ONOFF = true # 打开为 true,关闭为 false
@L1_Y = 20 # 设置文本的 Y 坐标
@L1_X = 0 # 设置状态标题的 X 坐标
@L1_X2 = 40 # 设置状态与标题的距离
@L1_HEADER = 'HP:' # 设置状态的文本标题
@L1_STAT = 1 # 参见下面的统计指南
# 第二行设置
@LINETWO_ONOFF = true # 打开为 true,关闭为 false
@L2_Y = 40 # 设置文本的 Y 坐标
@L2_X = 0 # 设置状态标题的 X 坐标
@L2_X2 = 40 # 设置状态与标题的距离
@L2_HEADER = 'MP:' # 设置状态的文本标题
@L2_STAT = 2 # 参见下面的统计指南
# 第三行设置
@LINETHREE_ONOFF = true # 打开为 true,关闭为 false
@L3_Y = 60 # 设置文本的 Y 坐标
@L3_X = 0 # 设置状态标题的 X 坐标
@L3_X2 = 40 # 设置状态与标题的距离
@L3_HEADER = 'LV:' # 设置状态的文本标题
@L3_STAT = 3 # 参见下面的统计指南
# 第四行设置
@LINEFOUR_ONOFF = true # 打开为 true,关闭为 false
@L4_Y = 80 # 设置文本的 Y 坐标
@L4_X = 0 # 设置状态标题的 X 坐标
@L4_X2 = 40 # 设置状态与标题的距离
@L4_HEADER = '' # 设置状态的文本标题
@L4_STAT = 4 # 参见下面的统计指南
# 统计指南
# 这是当前实现的小框中显示的状态列表
# 要使用,在想要显示状态的行的 STAT 行输入它们的项目编号。如果你想显示其他内容,应该不久就能显示它
#
# 1 : 生命值
# 2 : 魔法值
# 3 : 等级
# 4 : 金币 - 只出现在玩家1的框中!
# 5 : 经验值
# 6 : 升级所需经验值
# 7 : 职业
#
# 高级设置
# - 添加新行
# 所以你想要在框中添加新的状态是吗?以下是如何操作的。首先,改变总行数以显示的行数。
@LCOUNT = 7 # 在这里设置要显示的项目数量
# 现在要添加新行,去每个窗口框,复制/粘贴现有的一行,并修改它以显示你的新状态。应该不会太难。
# 不要忘记更改错误代码以反映新的行号
# 完成后,在上面复制/粘贴一行设置,并更改新行上的变量以反映新行。
# - 添加新状态以显示
# 要将新状态添加到菜单中,首先在上面的统计指南中添加它
# 一旦你有了编号,去每个菜单框下面复制/粘贴一个状态项目
# 将 if @L1_STAT == X 改为新状态的编号
# 现在在每个框中添加一个事件来获取状态信息
# 最后编辑新项目的状态部分列表,
#
# 将新状态发送给作者
#
# 如果你觉得这个脚本的下一个版本应该包含其他状态
# 请通过 strager at comcast dot net 发邮件给我,并在主题行写上 "MINI-BOX STAT"。
# 不使用这个主题行的邮件将不会被阅读(我的电子邮件只接受预先批准的主题行)
#
# 在邮件中将状态编号改为 #
# 只发送一个状态框的代码 - 我足够聪明地在其他框中复制它 :)
# 请不要通过邮件发送其他请求(使用论坛提出脚本请求)
#
end
def start
blah = 0;
super
psize = ($game_party.members.size)
create_menu_background
create_command_window
create_dqs_window
@dqs_window.visible = false
create_dqwho_window
create_DQStatus_ATTACK_window
create_DQStatus_HPMP_window
for actor in $game_party.members
@actorarray[blah] = actor
blah = blah + 1;
end
lite_create_location_window if Wor_Litemenu::SHOW_LOCATION_WINDOW == true
lite_create_actor_window
if @BOX_ONOFF == true
if @BOX_LEFT_RIGHT == 1
for actor in $game_party.members
if psize == 4
@LASTX = ((@NS_GAP * 1) - @NS_LOCATION)
create_newstat_windowfour (psize)
elsif psize == 3
@LASTX = ((@NS_GAP * 2) - @NS_LOCATION)
create_newstat_windowthree (psize)
elsif psize == 2
@LASTX = ((@NS_GAP * 3) - @NS_LOCATION)
create_newstat_windowtwo (psize)
elsif psize == 1
@LASTX = ((@NS_GAP * 4) - @NS_LOCATION)
create_newstat_window (psize)
end
psize = (psize - 1)
end
end
if @BOX_LEFT_RIGHT == 2
for actor in $game_party.members
if psize == 4
@LASTX = ((@NS_GAP * 4) - @NS_LOCATION)
create_newstat_windowfour (psize)
elsif psize == 3
@LASTX = ((@NS_GAP * 3) - @NS_LOCATION)
create_newstat_windowthree (psize)
elsif psize == 2
@LASTX = ((@NS_GAP * 2) - @NS_LOCATION)
create_newstat_windowtwo (psize)
elsif psize == 1
@LASTX = ((@NS_GAP * 1) - @NS_LOCATION)
create_newstat_window (psize)
end
psize = (psize - 1)
end
end
end
end
#创建角色窗口(从 Litemenu 菜单)
def lite_create_actor_window
member = []
@item_max = $game_party.members.size
for actor in $game_party.members
member.push ((actor.name) + " Lv." + (actor.level.to_s)) if Wor_Litemenu::SHOW_LV == true
member.push (actor.name) if Wor_Litemenu::SHOW_LV == false
end
@status_window = Window_Command.new(Wor_Litemenu::CHARA_WINDOW_WIDTH, member)
@status_window.index = @menu_index
@status_window.x = (200 / 2) - (@status_window.width / 2)
@status_window.y = Wor_Litemenu::CHARA_WINDOW_Y
@status_window.visible = false
end
#重新实现 litemenu菜单 地图名称
def lite_get_map_name
mapdata = load_data("Data/MapInfos.rvdata")
map_id = $game_map.map_id
@map_name = mapdata[map_id].name
end
#重新实现的litemenu菜单 金币
def lite_draw_currency_value(value, x, y, width)
cx = @location_window.contents.text_size(Vocab::gold).width
@location_window.contents.font.color = @location_window.normal_color
@location_window.contents.draw_text(x+5, y, @location_window.width+cx, 24, value, 0)
@location_window.contents.font.color = @location_window.system_color
@location_window.contents.draw_text(x+(($game_party.gold).to_s.size * 8)+10, y, @location_window.width, 24, Vocab::gold, 0)
end
#重新实现的地图位置窗口
def lite_create_location_window
width = 140
height = 65
x = (138 /2) - (width/2) # 地图位置/金币窗口 的 X轴 (LOCATION_WINDOW_X)
y = Wor_Litemenu::LOCATION_WINDOW_Y
@location_window = Window_Base.new(x, y, width, height)
@location_window.create_contents
lite_get_map_name
@location_window.contents.font.color = @location_window.system_color
@location_window.contents.draw_text(0, 17, 80, 20, Wor_Litemenu::VOCAB_GOLD)
@location_window.contents.font.color = @location_window.normal_color
lite_draw_currency_value($game_party.gold, 40, 16, Wor_Litemenu::GOLD_TEXT_X)
@location_window.contents.font.color = @location_window.system_color
@location_window.contents.draw_text(0, 4, 100, 15, Wor_Litemenu::VOCAB_LOCATION)
@location_window.contents.font.color = @location_window.normal_color
@location_window.contents.draw_text(Wor_Litemenu::LOCATION_TEXT_X, 4, 100, 15, @map_name)
end
#--------------------------------------------------------------------------
# * Actor Selection
#--------------------------------------------------------------------------
#~ def start_actor_selection
#~ @command_window.active = false
#~ @status_window.visible = true
#~ @status_window.active = true
#~ @status_window.index = 0
#~ end
#~ def end_actor_selection
#~ @command_window.active = true
#~ @status_window.visible = false
#~ @status_window.active = false
#~ @status_window.index = -1
#~ end
# Party member 1's Box
def create_newstat_window (ac)
member = []
hitpoints = []
magpoints = []
lev = []
cclass = []
cexp = []
cexptolev = []
@item_max = $game_party.members.size
for actor in $game_party.members
member.push (actor.name)
hitpoints.push (actor.hp)
magpoints.push (actor.mp)
lev.push (actor.level.to_s)
cclass.push (actor.class.name)
cexp.push (actor.exp)
cexptolev.push (actor.next_rest_exp_s)
end
width = @BOX_W
height = @BOX_H
x = ((@LASTX) /2) - (width/2)
y = (@BOX_Y + 10)
@newstat_window = Window_Base.new(x, y, width, height)
@newstat_window.create_contents
#Name Line
if @NAME_ONOFF == true
@newstat_window.contents.font.color = @newstat_window.normal_color
@newstat_window.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)])
end
#Line One
#Set Color
@newstat_window.contents.font.color = @newstat_window.normal_color
if @LINEONE_ONOFF == true
@newstat_window.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT)
if @L1_STAT < 0
p 'ERROR: @L1_STAT < 0 for player 1. Please set to a valid value.'
end
if @L1_STAT == 1
@newstat_window.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L1_STAT == 2
@newstat_window.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)])
end
if @L1_STAT == 3
@newstat_window.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)])
end
if @L1_STAT == 4
# @newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,$game_party.gold)
@newstat_window.draw_actor_state($game_party.members[0], @L1_X, @L1_Y, 120)
end
if @L1_STAT == 5
@newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,cexp[(ac-1)])
end
if @L1_STAT == 6
@newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,cexptolev[(ac-1)])
end
if @L1_STAT == 7
@newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,cclass[(ac-1)])
end
if @L1_STAT > @LCOUNT
p 'L1_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.'
end
end
#Line Two
#Set Color
@newstat_window.contents.font.color = @newstat_window.normal_color
if @LINETWO_ONOFF == true
@newstat_window.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT)
if @L2_STAT < 0
p 'ERROR: @L2_STAT < 0 for player 1. Please set to a valid value.'
end
case @L2_STAT
when 1
@newstat_window.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)])
when 2
@newstat_window.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)])
when 3
@newstat_window.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)])
when 4
# @newstat_window.contents.draw_text( (@L2_X + @L2_X2), @L2_Y, 300, 20,$game_party.gold)
@newstat_window.draw_actor_state($game_party.members[0], @L2_X, @L2_Y, 120)
end
if @L2_STAT > @LCOUNT
p 'L2_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.'
end
end
#Line Three
#Set Color
@newstat_window.contents.font.color = @newstat_window.normal_color
if @LINETHREE_ONOFF == true
@newstat_window.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT)
if @L3_STAT < 0
p 'ERROR: @L3_STAT < 0 for player 1. Please set to a valid value.'
end
if @L3_STAT == 1
@newstat_window.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L3_STAT == 2
@newstat_window.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)])
end
if @L3_STAT == 3
@newstat_window.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)])
end
if @L3_STAT == 4
# @newstat_window.contents.draw_text( (@L3_X + @L3_X2), @L3_Y, 300, 20,$game_party.gold)
@newstat_window.draw_actor_state($game_party.members[0], @L3_X, @L3_Y, 120)
end
if @L3_STAT > @LCOUNT
p 'L3_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.'
end
end
#Line Four (Off by default)
if @LINEFOUR_ONOFF == true
@newstat_window.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT)
if @L4_STAT < 0
p 'ERROR: @L4_STAT < 0 for player 1. Please set to a valid value.'
end
if @L4_STAT == 1
@newstat_window.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L4_STAT == 2
@newstat_window.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)])
end
if @L4_STAT == 3
@newstat_window.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)])
end
if @L4_STAT == 4
# @newstat_window.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold)
@newstat_window.draw_actor_state($game_party.members[0], @L4_X, @L4_Y, 120)
end
if @L4_STAT > @LCOUNT
p 'L4_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.'
end
end
@LASTX = (@LASTX + @NS_LOCATION)
end
# Party Member 2's Box
def create_newstat_windowtwo (ac)
member = []
hitpoints = []
magpoints = []
lev = []
@item_max = $game_party.members.size
for actor in $game_party.members
member.push (actor.name)
hitpoints.push (actor.hp)
magpoints.push (actor.mp)
lev.push (actor.level.to_s)
end
width = @BOX_W
height = @BOX_H
x = ((@LASTX) /2) - (width/2)
y = (@BOX_Y + 10)
@newstat_windowtwo = Window_Base.new(x, y, width, height)
@newstat_windowtwo.create_contents
#Name Line
if @NAME_ONOFF == true
@newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color
@newstat_windowtwo.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)])
end
#Line One
#Set Color
@newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color
if @LINEONE_ONOFF == true
@newstat_windowtwo.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) and (@L1_STAT != 4)
if @L1_STAT < 0
p 'ERROR: @L1_STAT < 0 for player 2. Please set to a valid value.'
end
if @L1_STAT == 1
@newstat_windowtwo.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L1_STAT == 2
@newstat_windowtwo.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)])
end
if @L1_STAT == 3
@newstat_windowtwo.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)])
end
if @L1_STAT > @LCOUNT
p 'L1_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.'
end
end
#Line Two
#Set Color
@newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color
if @LINETWO_ONOFF == true
@newstat_windowtwo.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) and (@L2_STAT != 4)
if @L2_STAT < 0
p 'ERROR: @L2_STAT < 0 for player 2. Please set to a valid value.'
end
case @L2_STAT
when 1
@newstat_windowtwo.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)])
when 2
@newstat_windowtwo.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)])
when 3
@newstat_windowtwo.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)])
end
if @L2_STAT > @LCOUNT
p 'L2_STAT > LCOUNT for (Player 2) - Please check your LCOUNT #.'
end
end
#Line Three
#Set Color
@newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color
if @LINETHREE_ONOFF == true
@newstat_windowtwo.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) and (@L3_STAT != 4)
if @L3_STAT < 0
p 'ERROR: @L3_STAT < 0 for player 2. Please set to a valid value.'
end
if @L3_STAT == 1
@newstat_windowtwo.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L3_STAT == 2
@newstat_windowtwo.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)])
end
if @L3_STAT == 3
@newstat_windowtwo.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)])
end
if @L3_STAT > @LCOUNT
p 'L3_STAT > LCOUNT for (Player 2) - Please check your LCOUNT #.'
end
end
#Line Four (Off by default)
if @LINEFOUR_ONOFF == true
@newstat_windowtwo.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT)
if @L4_STAT < 0
p 'ERROR: @L4_STAT < 0 for player 2. Please set to a valid value.'
end
if @L4_STAT == 1
@newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L4_STAT == 2
@newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)])
end
if @L4_STAT == 3
@newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)])
end
if @L4_STAT == 4
# @newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold)
@newstat_windowtwo.draw_actor_state($game_party.members[1], @L4_X , @L4_Y, 120)
end
if @L4_STAT > @LCOUNT
p 'L4_STAT > LCOUNT for (Player 2) - Please check your LCOUNT #.'
end
end
@LASTX = (@LASTX + @NS_LOCATION)
end
# Party member 3's Box
def create_newstat_windowthree (ac)
member = []
hitpoints = []
magpoints = []
lev = []
@item_max = $game_party.members.size
for actor in $game_party.members
member.push (actor.name)
hitpoints.push (actor.hp)
magpoints.push (actor.mp)
lev.push (actor.level.to_s)
end
width = @BOX_W
height = @BOX_H
x = ((@LASTX) /2) - (width/2)
y = (@BOX_Y + 10)
@newstat_windowthree = Window_Base.new(x, y, width, height)
@newstat_windowthree.create_contents
#Name Line
if @NAME_ONOFF == true
@newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color
@newstat_windowthree.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)])
end
#Line One
#Set Color
@newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color
if @LINEONE_ONOFF == true
@newstat_windowthree.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) and (@L1_STAT != 4)
if @L1_STAT < 0
p 'ERROR: @L1_STAT < 0 for player 3. Please set to a valid value.'
end
if @L1_STAT == 1
@newstat_windowthree.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L1_STAT == 2
@newstat_windowthree.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)])
end
if @L1_STAT == 3
@newstat_windowthree.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)])
end
if @L1_STAT > @LCOUNT
p 'L1_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.'
end
end
#Line Two
#Set Color
@newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color
if @LINETWO_ONOFF == true
@newstat_windowthree.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) and (@L2_STAT != 4)
if @L2_STAT < 0
p 'ERROR: @L2_STAT < 0 for player 3. Please set to a valid value.'
end
if @L2_STAT == 1
@newstat_windowthree.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L2_STAT == 2
@newstat_windowthree.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)])
end
if @L2_STAT == 3
@newstat_windowthree.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)])
end
if @L2_STAT > @LCOUNT
p 'L2_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.'
end
end
#Line Three
#Set Color
@newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color
if @LINETHREE_ONOFF == true
@newstat_windowthree.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) and (@L3_STAT != 4)
if @L3_STAT < 0
p 'ERROR: @L3_STAT < 0 for player 3. Please set to a valid value.'
end
if @L3_STAT == 1
@newstat_windowthree.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L3_STAT == 2
@newstat_windowthree.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)])
end
if @L3_STAT == 3
@newstat_windowthree.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)])
end
if @L3_STAT > @LCOUNT
p 'L3_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.'
end
end
#Line Four (Off by default)
if @LINEFOUR_ONOFF == true
@newstat_windowthree.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT)
if @L4_STAT < 0
p 'ERROR: @L4_STAT < 0 for player 3. Please set to a valid value.'
end
if @L4_STAT == 1
@newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L4_STAT == 2
@newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)])
end
if @L4_STAT == 3
@newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)])
end
if @L4_STAT == 4
# @newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold)
@newstat_windowthree.draw_actor_state($game_party.members[2], @L4_X, @L4_Y, 120)
end
if @L4_STAT > @LCOUNT
p 'L4_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.'
end
end
@LASTX = (@LASTX + @NS_LOCATION)
end
#Party Member 4's box
def create_newstat_windowfour (ac)
member = []
hitpoints = []
magpoints = []
lev = []
@item_max = $game_party.members.size
for actor in $game_party.members
member.push (actor.name)
hitpoints.push (actor.hp)
magpoints.push (actor.mp)
lev.push (actor.level.to_s)
end
width = @BOX_W
height = @BOX_H
x = ((@LASTX) /2) - (width/2)
y = (@BOX_Y + 10)
@newstat_windowfour = Window_Base.new(x, y, width, height)
@newstat_windowfour.create_contents
#Name Line
if @NAME_ONOFF == true
@newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color
@newstat_windowfour.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)])
end
#Line One
#Set Color
@newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color
if @LINEONE_ONOFF == true
@newstat_windowfour.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) and (@L1_STAT != 4)
if @L1_STAT < 0
p 'ERROR: @L1_STAT < 0 for player 4. Please set to a valid value.'
end
if @L1_STAT == 1
@newstat_windowfour.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L1_STAT == 2
@newstat_windowfour.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)])
end
if @L1_STAT == 3
@newstat_windowfour.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)])
end
if @L1_STAT > @LCOUNT
p 'L1_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.'
end
end
#Line Two
#Set Color
@newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color
if @LINETWO_ONOFF == true
@newstat_windowfour.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) and (@L2_STAT != 4)
if @L2_STAT < 0
p 'ERROR: @L2_STAT < 0 for player 4. Please set to a valid value.'
end
if @L2_STAT == 1
@newstat_windowfour.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L2_STAT == 2
@newstat_windowfour.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)])
end
if @L2_STAT == 3
@newstat_windowfour.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)])
end
if @L2_STAT > @LCOUNT
p 'L2_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.'
end
end
#Line Three
#Set Color
@newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color
if @LINETHREE_ONOFF == true
@newstat_windowfour.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) and (@L3_STAT != 4)
if @L3_STAT < 0
p 'ERROR: @L3_STAT < 0 for player 4. Please set to a valid value.'
end
if @L3_STAT == 1
@newstat_windowfour.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L3_STAT == 2
@newstat_windowfour.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)])
end
if @L3_STAT == 3
@newstat_windowfour.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)])
end
if @L3_STAT > @LCOUNT
p 'L3_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.'
end
end
#Line Four (Off by default)
if @LINEFOUR_ONOFF == true
@newstat_windowfour.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT)
if @L4_STAT < 0
p 'ERROR: @L4_STAT < 0 for player 4. Please set to a valid value.'
end
if @L4_STAT == 1
@newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)])
end
if @L4_STAT == 2
@newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)])
end
if @L4_STAT == 3
@newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)])
end
if @L4_STAT == 4
# @newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold)
@newstat_windowfour.draw_actor_state($game_party.members[3], @L4_X, @L4_Y, 120)
end
if @L4_STAT > @LCOUNT
p 'L4_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.'
end
end
@LASTX = (@LASTX + @NS_LOCATION)
end
# End Character Boxes
def create_command_window
s1 = DQ_Menu_Setup::ITEM_1_NAME
s2 = DQ_Menu_Setup::ITEM_2_NAME
s3 = DQ_Menu_Setup::ITEM_3_NAME
s4 = DQ_Menu_Setup::ITEM_4_NAME
s5 = DQ_Menu_Setup::ITEM_5_NAME
s6 = DQ_Menu_Setup::ITEM_6_NAME
s7 = DQ_Menu_Setup::ITEM_7_NAME
s8 = DQ_Menu_Setup::ITEM_8_NAME
s9 = DQ_Menu_Setup::ITEM_9_NAME
s10 = DQ_Menu_Setup::ITEM_10_NAME
s11 = DQ_Menu_Setup::ITEM_11_NAME
s12 = DQ_Menu_Setup::ITEM_12_NAME
if DQ_Menu_Setup::NUM_OF_ITEMS == 0
p 'ERROR: Number of items on the main menu is set to 0 or garbage.' while 1 == 1
end
if DQ_Menu_Setup::NUM_OF_ITEMS == 1
@command_window = Window_Command.new(140, [s1],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
end
if DQ_Menu_Setup::NUM_OF_ITEMS == 2
@command_window = Window_Command.new(140, [s1, s2],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
end
if DQ_Menu_Setup::NUM_OF_ITEMS == 3
@command_window = Window_Command.new(140, [s1, s2, s3],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
end
if DQ_Menu_Setup::NUM_OF_ITEMS == 4
@command_window = Window_Command.new(140, [s1, s2, s3, s4],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
end
if DQ_Menu_Setup::NUM_OF_ITEMS == 5
@command_window = Window_Command.new(140, [s1, s2, s3, s4, s5],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
end
if DQ_Menu_Setup::NUM_OF_ITEMS == 6
@command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
end
if DQ_Menu_Setup::NUM_OF_ITEMS == 7
@command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
end
if DQ_Menu_Setup::NUM_OF_ITEMS == 8
@command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7,s8],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
end
if DQ_Menu_Setup::NUM_OF_ITEMS == 9
@command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7,s8,s9],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
end
if DQ_Menu_Setup::NUM_OF_ITEMS == 10
@command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7,s8,s9,s10],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
end
if DQ_Menu_Setup::NUM_OF_ITEMS == 11
@command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7,s8,s9,s10,s11],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
end
if DQ_Menu_Setup::NUM_OF_ITEMS == 12
@command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7,s8,s9,s10,s11,s12],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
end
if DQ_Menu_Setup::NUM_OF_ITEMS > 12
p "出错了: 主菜单上的项目数大于12.", "你需要写更多的行号。" while 1 == 1
end
@command_window.index = @menu_index
@command_window.x = (140 /2) - (@command_window.width/2) # 主菜单 X轴 MENU_WINDOW_X
@command_window.y = Wor_Litemenu::MENU_WINDOW_Y
if $game_party.members.size == 0
p 'error - 0 party members. Lock the menu here.'
end
if $game_system.save_disabled
@command_window.draw_item(4, false)
end
end
# Command Selection Re-Write
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4 #- 4
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 4 #- 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0 # Item 1 on the menu
#$scene = DQ_Menu_Setup::ITEM_1_STRING if DQ_Menu_Setup::ITEM_1_TYPE == 1
start_DQStatus_selection if DQ_Menu_Setup::ITEM_1_TYPE == 3
$scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_1_TYPE == 5
$scene = Scene_End.new if DQ_Menu_Setup::ITEM_1_TYPE == 6
$scene = Scene_Item.new if DQ_Menu_Setup::ITEM_1_TYPE == 7
@dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_1_TYPE == 8
start_DQWho_selection if DQ_Menu_Setup::ITEM_1_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_1_TYPE == 9
start_DQWho_selection if DQ_Menu_Setup::ITEM_1_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_1_TYPE == 10
start_DQWho_selection if DQ_Menu_Setup::ITEM_1_TYPE == 10
when 1
# @dqwhotype = 'equip' # left this here as a reminder. Should be placed for
#item type for equip menu
#start_DQWho_selection
start_DQStatus_selection if DQ_Menu_Setup::ITEM_2_TYPE == 3
$scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_2_TYPE == 5
$scene = Scene_End.new if DQ_Menu_Setup::ITEM_2_TYPE == 6
$scene = Scene_Item.new if DQ_Menu_Setup::ITEM_2_TYPE == 7
@dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_2_TYPE == 8
start_DQWho_selection if DQ_Menu_Setup::ITEM_2_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_2_TYPE == 9
start_DQWho_selection if DQ_Menu_Setup::ITEM_2_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_2_TYPE == 10
start_DQWho_selection if DQ_Menu_Setup::ITEM_2_TYPE == 10
when 2 # Skill, equipment, status
start_DQStatus_selection if DQ_Menu_Setup::ITEM_3_TYPE == 3
$scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_3_TYPE == 5
$scene = Scene_End.new if DQ_Menu_Setup::ITEM_3_TYPE == 6
$scene = Scene_Item.new if DQ_Menu_Setup::ITEM_3_TYPE == 7
@dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_3_TYPE == 8
start_DQWho_selection if DQ_Menu_Setup::ITEM_3_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_3_TYPE == 9
start_DQWho_selection if DQ_Menu_Setup::ITEM_3_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_3_TYPE == 10
start_DQWho_selection if DQ_Menu_Setup::ITEM_3_TYPE == 10
when 3
start_DQStatus_selection if DQ_Menu_Setup::ITEM_4_TYPE == 3
$scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_4_TYPE == 5
$scene = Scene_End.new if DQ_Menu_Setup::ITEM_4_TYPE == 6
$scene = Scene_Item.new if DQ_Menu_Setup::ITEM_4_TYPE == 7
@dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_4_TYPE == 8
start_DQWho_selection if DQ_Menu_Setup::ITEM_4_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_4_TYPE == 9
start_DQWho_selection if DQ_Menu_Setup::ITEM_4_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_4_TYPE == 10
start_DQWho_selection if DQ_Menu_Setup::ITEM_4_TYPE == 10
when 4
start_DQStatus_selection if DQ_Menu_Setup::ITEM_5_TYPE == 3
$scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_5_TYPE == 5
$scene = Scene_End.new if DQ_Menu_Setup::ITEM_5_TYPE == 6
$scene = Scene_Item.new if DQ_Menu_Setup::ITEM_5_TYPE == 7
@dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_5_TYPE == 8
start_DQWho_selection if DQ_Menu_Setup::ITEM_5_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_5_TYPE == 9
start_DQWho_selection if DQ_Menu_Setup::ITEM_5_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_5_TYPE == 10
start_DQWho_selection if DQ_Menu_Setup::ITEM_5_TYPE == 10
when 5
start_DQStatus_selection if DQ_Menu_Setup::ITEM_6_TYPE == 3
$scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_6_TYPE == 5
$scene = Scene_End.new if DQ_Menu_Setup::ITEM_6_TYPE == 6
$scene = Scene_Item.new if DQ_Menu_Setup::ITEM_6_TYPE == 7
@dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_6_TYPE == 8
start_DQWho_selection if DQ_Menu_Setup::ITEM_6_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_6_TYPE == 9
start_DQWho_selection if DQ_Menu_Setup::ITEM_6_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_6_TYPE == 10
start_DQWho_selection if DQ_Menu_Setup::ITEM_6_TYPE == 10
when 6
start_DQStatus_selection if DQ_Menu_Setup::ITEM_7_TYPE == 3
$scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_7_TYPE == 5
$scene = Scene_End.new if DQ_Menu_Setup::ITEM_7_TYPE == 6
$scene = Scene_Item.new if DQ_Menu_Setup::ITEM_7_TYPE == 7
@dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_7_TYPE == 8
start_DQWho_selection if DQ_Menu_Setup::ITEM_7_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_7_TYPE == 9
start_DQWho_selection if DQ_Menu_Setup::ITEM_7_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_7_TYPE == 10
start_DQWho_selection if DQ_Menu_Setup::ITEM_7_TYPE == 10
when 7
start_DQStatus_selection if DQ_Menu_Setup::ITEM_8_TYPE == 3
$scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_8_TYPE == 5
$scene = Scene_End.new if DQ_Menu_Setup::ITEM_8_TYPE == 6
$scene = Scene_Item.new if DQ_Menu_Setup::ITEM_8_TYPE == 7
@dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_8_TYPE == 8
start_DQWho_selection if DQ_Menu_Setup::ITEM_8_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_8_TYPE == 9
start_DQWho_selection if DQ_Menu_Setup::ITEM_8_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_8_TYPE == 10
start_DQWho_selection if DQ_Menu_Setup::ITEM_8_TYPE == 10
when 8
start_DQStatus_selection if DQ_Menu_Setup::ITEM_9_TYPE == 3
$scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_9_TYPE == 5
$scene = Scene_End.new if DQ_Menu_Setup::ITEM_9_TYPE == 6
$scene = Scene_Item.new if DQ_Menu_Setup::ITEM_9_TYPE == 7
@dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_9_TYPE == 8
start_DQWho_selection if DQ_Menu_Setup::ITEM_9_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_9_TYPE == 9
start_DQWho_selection if DQ_Menu_Setup::ITEM_9_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_9_TYPE == 10
start_DQWho_selection if DQ_Menu_Setup::ITEM_9_TYPE == 10
when 9
start_DQStatus_selection if DQ_Menu_Setup::ITEM_10_TYPE == 3
$scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_10_TYPE == 5
$scene = Scene_End.new if DQ_Menu_Setup::ITEM_10_TYPE == 6
$scene = Scene_Item.new if DQ_Menu_Setup::ITEM_10_TYPE == 7
@dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_10_TYPE == 8
start_DQWho_selection if DQ_Menu_Setup::ITEM_10_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_10_TYPE == 9
start_DQWho_selection if DQ_Menu_Setup::ITEM_10_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_10_TYPE == 10
start_DQWho_selection if DQ_Menu_Setup::ITEM_10_TYPE == 10
when 10
start_DQStatus_selection if DQ_Menu_Setup::ITEM_11_TYPE == 3
$scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_11_TYPE == 5
$scene = Scene_End.new if DQ_Menu_Setup::ITEM_11_TYPE == 6
$scene = Scene_Item.new if DQ_Menu_Setup::ITEM_11_TYPE == 7
@dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_11_TYPE == 8
start_DQWho_selection if DQ_Menu_Setup::ITEM_11_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_11_TYPE == 9
start_DQWho_selection if DQ_Menu_Setup::ITEM_11_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_11_TYPE == 10
start_DQWho_selection if DQ_Menu_Setup::ITEM_11_TYPE == 10
when 11
start_DQStatus_selection if DQ_Menu_Setup::ITEM_12_TYPE == 3
$scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_12_TYPE == 5
$scene = Scene_End.new if DQ_Menu_Setup::ITEM_12_TYPE == 6
$scene = Scene_Item.new if DQ_Menu_Setup::ITEM_12_TYPE == 7
@dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_12_TYPE == 8
start_DQWho_selection if DQ_Menu_Setup::ITEM_12_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_12_TYPE == 9
start_DQWho_selection if DQ_Menu_Setup::ITEM_12_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_12_TYPE == 10
start_DQWho_selection if DQ_Menu_Setup::ITEM_12_TYPE == 10
end
end
end
########################BEGIN DQ STYLE STATUS MENU ###################
#创建DQ风格状态窗口
def create_dqs_window
s1 = "HP & MP"
s2 = "全员概要"
s3 = "角色详情"
@dqs_window = Window_Command.new(140, [s1,s2,s3])
@dqs_window.height = 130
@dqs_window.x = 0
@dqs_window.y = 50
@dqs_window.index = 4
@dqs_window.visible = false
end
#自定义DQ样式成员选择菜单
def create_dqwho_window
member = []
acount = 0;
for actor in $game_party.members
member.push (" " + actor.name)
acount = acount+1
end
case acount
when 1
@dqwho_window = Window_Command.new(140, [member[0]])
when 2
@dqwho_window = Window_Command.new(140, [member[0], member[1]])
when 3
@dqwho_window = Window_Command.new(140, [member[0], member[1], member[2]])
when 4
@dqwho_window = Window_Command.new(140, [member[0], member[1], member[2], member[3]])
end
@dqwho_window.height = 130
@dqwho_window.x = 0
@dqwho_window.y = 50
@dqwho_window.index = 4
@dqwho_window.visible = false
end
#在状态下创建HP/MP显示
def create_DQStatus_HPMP_window ()
@W_PERCHAR = 0
@spacer = 0
member = []
@item_max = $game_party.members.size
for actor in $game_party.members
member.push (actor.name)
@W_PERCHAR = @W_PERCHAR + 103
end
width = @W_PERCHAR
height = 200
x = (134)
y = (-20)
@DQStatus_HPMP_window = Window_Base.new(x, y, width, height)
@DQStatus_HPMP_window.create_contents
@DQStatus_HPMP_window.contents.font.name = DQ_Status_Setup::STATUS_FONT
# 输出
for actor in $game_party.members
@DQStatus_HPMP_window.contents.font.color = @DQStatus_HPMP_window.normal_color
# @DQStatus_HPMP_window.contents.draw_text(@TEMPX, -60, 300, 150, (@spacer + 1).to_s + ':')
@DQStatus_HPMP_window.contents.draw_text(@TEMPX, -40, 300, 150, actor.name.to_s)
#HP Display
@DQStatus_HPMP_window.contents.draw_text(@TEMPX, -10, 300, 150, 'HP')
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), -10, 300, 150,actor.hp.to_s) if actor.maxhp >= 100
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), -10, 300, 150,' ' + actor.hp.to_s) if actor.maxhp < 100 and actor.maxhp >=10
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), -10, 300, 150,' ' + actor.hp.to_s) if actor.maxhp < 10
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 0), 0, 300, 150, '-------')
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 10, 300, 150,actor.maxhp.to_s) if actor.maxhp >= 100
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 10, 300, 150,' ' + actor.maxhp.to_s) if actor.maxhp < 100 and actor.maxhp >=10
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 10, 300, 150,' ' + actor.maxhp.to_s) if actor.maxhp < 10
#MP Diaplay
@DQStatus_HPMP_window.contents.draw_text(@TEMPX, 50, 300, 150, 'MP')
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 50, 300, 150,actor.mp.to_s) if actor.maxmp >= 100
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 50, 300, 150,' ' + actor.mp.to_s) if actor.maxmp < 100 and actor.maxmp >=10
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 50, 300, 150,' ' + actor.mp.to_s) if actor.maxmp < 10
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 0), 60, 300, 150, '-------')
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 70, 300, 150,actor.maxmp.to_s) if actor.maxmp >= 100
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 70, 300, 150,' ' + actor.maxmp.to_s) if actor.maxmp < 100 and actor.maxmp >=10
@DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 70, 300, 150,' ' + actor.maxmp.to_s) if actor.maxmp < 10
@TEMPX = @TEMPX + 100
end
@spacer = @spacer + 1
@TEMPX = 0
@DQStatus_HPMP_window.visible = false
end
#Create the Attack Power Display under Status
def create_DQStatus_ATTACK_window ()
@spacer = 0
@H_PERCHAR = 0
member = []
@item_max = $game_party.members.size
for actor in $game_party.members
member.push (actor.name)
@H_PERCHAR = @H_PERCHAR + 25
end
width = 410
height = 88 + @H_PERCHAR
x = (135)
y = (-10)
@DQStatus_ATTACK_window = Window_Base.new(x, y, width, height)
@DQStatus_ATTACK_window.create_contents
@DQStatus_ATTACK_window.contents.font.name = DQ_Status_Setup::STATUS_FONT
#Output
#HEADER
@DQStatus_ATTACK_window.contents.draw_text(0, -50, 300, 150, "成员")
@DQStatus_ATTACK_window.contents.draw_text(110, -50, 300, 150, "等级")
@DQStatus_ATTACK_window.contents.draw_text(165, -50, 300, 150, "力量")
@DQStatus_ATTACK_window.contents.draw_text(225, -50, 300, 150, "物防")
@DQStatus_ATTACK_window.contents.draw_text(285, -50, 300, 150, "智慧")
@DQStatus_ATTACK_window.contents.draw_text(345, -50, 300, 150, "敏捷")
@DQStatus_ATTACK_window.contents.draw_text(-30, -40, 420, 150, '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------')
for actor in $game_party.members
@DQStatus_ATTACK_window.contents.font.color = @DQStatus_ATTACK_window.normal_color
#显示每个成员
@DQStatus_ATTACK_window.contents.draw_text(0, @TEMPY - 20 , 300, 150, actor.name.to_s)
@DQStatus_ATTACK_window.contents.draw_text(120,@TEMPY - 20, 300, 150, actor.level.to_s)
@DQStatus_ATTACK_window.contents.draw_text(170, @TEMPY - 20, 300, 150, actor.atk.to_s)
@DQStatus_ATTACK_window.contents.draw_text(230, @TEMPY - 20, 300, 150, actor.def.to_s)
@DQStatus_ATTACK_window.contents.draw_text(290, @TEMPY - 20, 300, 150, actor.spi.to_s)
@DQStatus_ATTACK_window.contents.draw_text(350, @TEMPY - 20, 300, 150, actor.agi.to_s)
@TEMPY = @TEMPY + 25
end
@TEMPY = 0
@spacer = @spacer + 1
@DQStatus_ATTACK_window.active = false
@DQStatus_ATTACK_window.visible = false
end
# 创建完整状态窗口(显示全部的右侧屏幕)
def create_DQStatus_FullStat_window (actorstat)
@dqs_window.active = false
create_DQStatus_FullStatChar_window(actorstat) #Calls the character (right) window
#This next part determines the longest string size in use (to line up lines)
xpos = 0
if DQ_Status_Setup::LINE_1_ONOFF == true
xpos = DQ_Status_Setup::LINE_1_STRING.size if DQ_Status_Setup::LINE_1_STRING.size >= xpos
end
if DQ_Status_Setup::LINE_2_ONOFF == true
xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
end
if DQ_Status_Setup::LINE_3_ONOFF == true
xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
end
if DQ_Status_Setup::LINE_4_ONOFF == true
xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
end
if DQ_Status_Setup::LINE_5_ONOFF == true
xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
end
if DQ_Status_Setup::LINE_6_ONOFF == true
xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
end
if DQ_Status_Setup::LINE_7_ONOFF == true
xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
end
if DQ_Status_Setup::LINE_8_ONOFF == true
xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
end
if DQ_Status_Setup::LINE_9_ONOFF == true
xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
end
if DQ_Status_Setup::LINE_10_ONOFF == true
xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
end
if DQ_Status_Setup::LINE_11_ONOFF == true
xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
end
if DQ_Status_Setup::LINE_12_ONOFF == true
xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
end
@dqs_window.active = false
@dqwho_window.active = false
@spacer = 10
width = 411
height = 290
x = (134)
y = (-10)
@DQStatus_FullStat_window = Window_Base.new(x, y, width, height)
@DQStatus_FullStat_window.create_contents
@DQStatus_FullStat_window.contents.font.name = DQ_Status_Setup::STATUS_FONT
@DQStatus_FullStat_window.contents.font.color = @DQStatus_FullStat_window.normal_color
# Line 1 Output
if DQ_Status_Setup::LINE_1_ONOFF == true
@DQStatus_FullStat_window.contents.draw_text(xpos, -65, 350, 150, DQ_Status_Setup::LINE_1_STRING + DQ_Status_Setup::SEP)
@DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_1_TYPE == 1
@DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_1_TYPE == 2
@DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_1_TYPE == 3
@DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_1_TYPE == 4
@DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_1_TYPE == 5
@DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_1_TYPE == 6
@DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_1_TYPE == 7
@DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_1_TYPE == 8
@DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_1_TYPE == 9
@DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_1_TYPE == 10
@DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_1_TYPE == 11
@DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_1_TYPE == 12
@DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_1_TYPE == 13
end
# Line 2 output
if DQ_Status_Setup::LINE_2_ONOFF == true
@DQStatus_FullStat_window.contents.draw_text(xpos, -45, 350, 150, DQ_Status_Setup::LINE_2_STRING + DQ_Status_Setup::SEP)
@DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_2_TYPE == 1
@DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_2_TYPE == 2
@DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_2_TYPE == 3
@DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_2_TYPE == 4
@DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_2_TYPE == 5
@DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_2_TYPE == 6
@DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_2_TYPE == 7
@DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_2_TYPE == 8
@DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_2_TYPE == 9
@DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_2_TYPE == 10
@DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_2_TYPE == 11
@DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_2_TYPE == 12
@DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_2_TYPE == 13
end
# Line 3 output
if DQ_Status_Setup::LINE_3_ONOFF == true
@DQStatus_FullStat_window.contents.draw_text(xpos, -25, 350, 150, DQ_Status_Setup::LINE_3_STRING + DQ_Status_Setup::SEP)
@DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_3_TYPE == 1
@DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_3_TYPE == 2
@DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_3_TYPE == 3
@DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_3_TYPE == 4
@DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_3_TYPE == 5
@DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_3_TYPE == 6
@DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_3_TYPE == 7
@DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_3_TYPE == 8
@DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_3_TYPE == 9
@DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_3_TYPE == 10
@DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_3_TYPE == 11
@DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_3_TYPE == 12
@DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_3_TYPE == 13
end
# Line 4 output
if DQ_Status_Setup::LINE_4_ONOFF == true
@DQStatus_FullStat_window.contents.draw_text(xpos, -5, 350, 150, DQ_Status_Setup::LINE_4_STRING + DQ_Status_Setup::SEP)
@DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_4_TYPE == 1
@DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_4_TYPE == 2
@DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_4_TYPE == 3
@DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_4_TYPE == 4
@DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_4_TYPE == 5
@DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_4_TYPE == 6
@DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_4_TYPE == 7
@DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_4_TYPE == 8
@DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_4_TYPE == 9
@DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_4_TYPE == 10
@DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_4_TYPE == 11
@DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_4_TYPE == 12
@DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_4_TYPE == 13
end
# Line 5 output
if DQ_Status_Setup::LINE_5_ONOFF == true
@DQStatus_FullStat_window.contents.draw_text(xpos, 15, 350, 150, DQ_Status_Setup::LINE_5_STRING + DQ_Status_Setup::SEP)
@DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_5_TYPE == 1
@DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_5_TYPE == 2
@DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_5_TYPE == 3
@DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_5_TYPE == 4
@DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_5_TYPE == 5
@DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_5_TYPE == 6
@DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_5_TYPE == 7
@DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_5_TYPE == 8
@DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_5_TYPE == 9
@DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_5_TYPE == 10
@DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_5_TYPE == 11
@DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_5_TYPE == 12
@DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_5_TYPE == 13
end
# Line 6 output
if DQ_Status_Setup::LINE_6_ONOFF == true
@DQStatus_FullStat_window.contents.draw_text(xpos, 35, 350, 150, DQ_Status_Setup::LINE_6_STRING + DQ_Status_Setup::SEP)
@DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_6_TYPE == 1
@DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_6_TYPE == 2
@DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_6_TYPE == 3
@DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_6_TYPE == 4
@DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_6_TYPE == 5
@DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_6_TYPE == 6
@DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_6_TYPE == 7
@DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_6_TYPE == 8
@DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_6_TYPE == 9
@DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_6_TYPE == 10
@DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_6_TYPE == 11
@DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_6_TYPE == 12
@DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_6_TYPE == 13
end
# Line 7 output
if DQ_Status_Setup::LINE_7_ONOFF == true
@DQStatus_FullStat_window.contents.draw_text(xpos, 55, 350, 150, DQ_Status_Setup::LINE_7_STRING + DQ_Status_Setup::SEP)
@DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_7_TYPE == 1
@DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_7_TYPE == 2
@DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_7_TYPE == 3
@DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_7_TYPE == 4
@DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_7_TYPE == 5
@DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_7_TYPE == 6
@DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_7_TYPE == 7
@DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_7_TYPE == 8
@DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_7_TYPE == 9
@DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_7_TYPE == 10
@DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_7_TYPE == 11
@DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_7_TYPE == 12
@DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_7_TYPE == 13
end
# Line 8 output
if DQ_Status_Setup::LINE_8_ONOFF == true
@DQStatus_FullStat_window.contents.draw_text(xpos, 75, 350, 150, DQ_Status_Setup::LINE_8_STRING + DQ_Status_Setup::SEP)
@DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_8_TYPE == 1
@DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_8_TYPE == 2
@DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_8_TYPE == 3
@DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_8_TYPE == 4
@DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_8_TYPE == 5
@DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_8_TYPE == 6
@DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_8_TYPE == 7
@DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_8_TYPE == 8
@DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_8_TYPE == 9
@DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_8_TYPE == 10
@DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_8_TYPE == 11
@DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_8_TYPE == 12
@DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_8_TYPE == 13
end
# Line 9 output
if DQ_Status_Setup::LINE_9_ONOFF == true
@DQStatus_FullStat_window.contents.draw_text(xpos, 95, 350, 150, DQ_Status_Setup::LINE_9_STRING + DQ_Status_Setup::SEP)
@DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_9_TYPE == 1
@DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_9_TYPE == 2
@DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_9_TYPE == 3
@DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_9_TYPE == 4
@DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_9_TYPE == 5
@DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_9_TYPE == 6
@DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_9_TYPE == 7
@DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_9_TYPE == 8
@DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_9_TYPE == 9
@DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_9_TYPE == 10
@DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_9_TYPE == 11
@DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_9_TYPE == 12
@DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_9_TYPE == 13
end
# Line 10 output
if DQ_Status_Setup::LINE_10_ONOFF == true
@DQStatus_FullStat_window.contents.draw_text(xpos, 115, 350, 150, DQ_Status_Setup::LINE_10_STRING + DQ_Status_Setup::SEP)
@DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_10_TYPE == 1
@DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_10_TYPE == 2
@DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_10_TYPE == 3
@DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_10_TYPE == 4
@DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_10_TYPE == 5
@DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_10_TYPE == 6
@DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_10_TYPE == 7
@DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_10_TYPE == 8
@DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_10_TYPE == 9
@DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_10_TYPE == 10
@DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_10_TYPE == 11
@DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_10_TYPE == 12
@DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_10_TYPE == 13
end
# Line 11 output
if DQ_Status_Setup::LINE_11_ONOFF == true
@DQStatus_FullStat_window.contents.draw_text(xpos, 135, 350, 150, DQ_Status_Setup::LINE_11_STRING + DQ_Status_Setup::SEP)
@DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_11_TYPE == 1
@DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_11_TYPE == 2
@DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_11_TYPE == 3
@DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_11_TYPE == 4
@DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_11_TYPE == 5
@DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_11_TYPE == 6
@DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_11_TYPE == 7
@DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_11_TYPE == 8
@DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_11_TYPE == 9
@DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_11_TYPE == 10
@DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_11_TYPE == 11
@DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_11_TYPE == 12
@DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_11_TYPE == 13
end
# Line 12 output
if DQ_Status_Setup::LINE_12_ONOFF == true
@DQStatus_FullStat_window.contents.draw_text(xpos, 155, 350, 150, DQ_Status_Setup::LINE_12_STRING + DQ_Status_Setup::SEP)
@DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_12_TYPE == 1
@DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_12_TYPE == 2
@DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_12_TYPE == 3
@DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_12_TYPE == 4
@DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_12_TYPE == 5
@DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_12_TYPE == 6
@DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_12_TYPE == 7
@DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_12_TYPE == 8
@DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_12_TYPE == 9
@DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_12_TYPE == 10
@DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_12_TYPE == 11
@DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_12_TYPE == 12
@DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_12_TYPE == 13
end
end
#Create the right window in the "See All Stats" section under Status
def create_DQStatus_FullStatChar_window (actorstat)
member = []
for actor in $game_party.members
member.push (actor.name)
end
# 查看强度》个人详情》选择角色后显示的预览小窗
width = 50
height = 50
x = (-100)
y = (-100)
@DQStatus_FullStatChar_window = Window_Base.new(x, y, width, height)
@DQStatus_FullStatChar_window.create_contents
@DQStatus_FullStatChar_window.contents.font.name = DQ_Status_Setup::STATUS_FONT
#output player name
@DQStatus_FullStatChar_window.contents.draw_text(0, -65, 300, 150, actorstat.name) if DQ_Status_Setup::UL_NAME_ONOFF == true
@DQStatus_FullStatChar_window.contents.draw_text(-30, -55, 250, 150, '----------------------------------------') if DQ_Status_Setup::UL_NAME_ONOFF == true and DQ_Status_Setup::UL_NAME_DIV == true
# Line 1 output
if DQ_Status_Setup::UL_LINE_1_ONOFF == true
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 350, 150, DQ_Status_Setup::UL_LINE_1_STRING + DQ_Status_Setup::UL_SEP)
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_1_TYPE == 1
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_1_TYPE == 2
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_1_TYPE == 3
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_1_TYPE == 4
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_1_TYPE == 5
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_1_TYPE == 6
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_1_TYPE == 7
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_1_TYPE == 8
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_1_TYPE == 9
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_1_TYPE == 10
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_1_TYPE == 11
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_1_TYPE == 12
@DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_1_TYPE == 13
end
# Line 2 output
if DQ_Status_Setup::UL_LINE_2_ONOFF == true
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 350, 150, DQ_Status_Setup::UL_LINE_2_STRING + DQ_Status_Setup::UL_SEP)
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_2_TYPE == 1
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_2_TYPE == 2
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_2_TYPE == 3
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_2_TYPE == 4
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_2_TYPE == 5
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_2_TYPE == 6
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_2_TYPE == 7
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_2_TYPE == 8
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_2_TYPE == 9
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_2_TYPE == 10
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_2_TYPE == 11
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_2_TYPE == 12
@DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_2_TYPE == 13
end
# Line 3 output
if DQ_Status_Setup::UL_LINE_3_ONOFF == true
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 350, 150, DQ_Status_Setup::UL_LINE_3_STRING + DQ_Status_Setup::UL_SEP)
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_3_TYPE == 1
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_3_TYPE == 2
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_3_TYPE == 3
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_3_TYPE == 4
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_3_TYPE == 5
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_3_TYPE == 6
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_3_TYPE == 7
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_3_TYPE == 8
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_3_TYPE == 9
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_3_TYPE == 10
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_3_TYPE == 11
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_3_TYPE == 12
@DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_3_TYPE == 13
end
# Line 4 output
if DQ_Status_Setup::UL_LINE_4_ONOFF == true
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 350, 150, DQ_Status_Setup::UL_LINE_4_STRING + DQ_Status_Setup::UL_SEP)
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_4_TYPE == 1
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_4_TYPE == 2
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_4_TYPE == 3
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_4_TYPE == 4
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_4_TYPE == 5
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_4_TYPE == 6
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_4_TYPE == 7
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_4_TYPE == 8
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_4_TYPE == 9
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_4_TYPE == 10
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_4_TYPE == 11
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_4_TYPE == 12
@DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_4_TYPE == 13
end
# Line 5 output
if DQ_Status_Setup::UL_LINE_5_ONOFF == true
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 350, 150, DQ_Status_Setup::UL_LINE_5_STRING + DQ_Status_Setup::UL_SEP)
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_5_TYPE == 1
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_5_TYPE == 2
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_5_TYPE == 3
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_5_TYPE == 4
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_5_TYPE == 5
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_5_TYPE == 6
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_5_TYPE == 7
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_5_TYPE == 8
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_5_TYPE == 9
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_5_TYPE == 10
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_5_TYPE == 11
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_5_TYPE == 12
@DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_5_TYPE == 13
end
end
# DQ STATUS MENU CONTROLS (Allows you to back up out of menus)
# Fullstat windows
def update_dqfullstat_selection
@dqs_window.active = false
@dqwho_window.active = false
if Input.trigger?(Input::B)
Sound.play_cancel
@DQStatus_FullStat_window.visible = false
@DQStatus_FullStatChar_window.visible = false
@dqwho_window.active = true
@dqwho_window.visible = true
end
end
#HPMP window
def update_dqhpmp_selection
if Input.trigger?(Input::B)
Sound.play_cancel
end_dqhpmp_selection
@DQStatus_ATTACK_window.visible = false
@DQStatus_HPMP_window.visible = false
@DQStatus_ATTACK_window.active = false
@DQStatus_HPMP_window.active = false
@DQStatus_FullStatChar_window.visible = false if @DQStatus_FullStatChar_window
@DQStatus_FullStatChar_window.active = false if @DQStatus_FullStatChar_window
@DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window
@DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window
@dqwho_window.active = false
@dqwho_window.active = false
@dqs_window.active = true
@dqs_window.visible = true
end
end
#Attack window
def update_attack_selection
if Input.trigger?(Input::B)
Sound.play_cancel
end_attack_selection
@DQStatus_ATTACK_window.visible = false
@DQStatus_HPMP_window.visible = false
@DQStatus_ATTACK_window.active = false
@DQStatus_HPMP_window.active = false
@DQStatus_FullStatChar_window.visible = false if @DQStatus_FullStatChar_window
@DQStatus_FullStatChar_window.active = false if @DQStatus_FullStatChar_window
@DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window
@DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window
@dqwho_window.active = false
@dqwho_window.active = false
@dqs_window.active = true
@dqs_window.visible = true
end
end
#Update the Dragon Quest Status Selection
def update_dqs_selection
if Input.trigger?(Input::B)
Sound.play_cancel
@DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window
@DQStatus_FullStatChar_window.visible = false if @DQStatus_FullStatChar_window
@DQStatus_HPMP_window.visible = false if @DQStatus_HPMP_window
@DQStatus_ATTACK_window.visible = false if @DQStatus_ATTACK_window
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @dqs_window.index < 8 #- 4
Sound.play_buzzer
return
end
Sound.play_decision
case @dqs_window.index
when 0 # Item 1 on the menu
start_dqhpmp_selection
when 1
start_attack_selection
when 2
@dqwhotype = 'status'
start_DQWho_selection ()
end
end
end
#Update the Dragon Quest Who Selection Screen for Status
def update_dqwho_selection ()
if Input.trigger?(Input::B)
Sound.play_cancel
@command_window.active = true if @dqwhotype == 'oldskill'
@command_window.active = true if @dqwhotype == 'oldstatus'
@command_window.active = true if @dqwhotype == 'oldequip'
@command_window.active = true if @dqwhotype == 'equip'
@dqs_window.active = true if @dqwhotype == 'status'
@dqwho_window.visible = false
# @DQStatus_FullStatChar_window.visible = false
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @dqwho_window.index < 8 #- 4
Sound.play_buzzer
return
end
Sound.play_decision
#When called for the Old (built-in) Style status Menu
if @dqwhotype == 'oldstatus'
@dqwho_window.active = false
$scene = Scene_Status.new(@dqwho_window.index)
end
#When called for the Old (built-in) Style Equip Menu
if @dqwhotype == 'oldequip'
@dqwho_window.active = false
$scene = Scene_Equip.new(@dqwho_window.index)
end
#When called for the Old (built-in) Style Skill Menu
if @dqwhotype == 'oldskill'
@dqwho_window.active = false
$scene = Scene_Skill.new(@dqwho_window.index)
end
#当需要DQ风格裝備菜单时
if @dqwhotype == 'equip'
case @dqwho_window.index
when 0
return
end
#When called from the DQ Status screen (to show all stats)
elsif @dqwhotype == 'status'
case @dqwho_window.index
when 0 # Should be Player #1
@dqwho_window.active = false
create_DQStatus_FullStat_window (@actorarray[0])
start_fullstat_selection
return
when 1
@dqwho_window.active = false
create_DQStatus_FullStat_window (@actorarray[1])
return
when 2
@dqwho_window.active = false
create_DQStatus_FullStat_window (@actorarray[2])
return
when 3
@dqwho_window.active = false
create_DQStatus_FullStat_window (@actorarray[3])
return
when 4
@dqwho_window.active = false
create_DQStatus_FullStat_window (@actorarray[4])
return
when 5
@dqwho_window.active = false
create_DQStatus_FullStat_window (@actorarray[5])
return
when 6
@dqwho_window.active = false
create_DQStatus_FullStat_window (@actorarray[6])
return
when 7
@dqwho_window.active = false
create_DQStatus_FullStat_window (@actorarray[7])
return
end
end
p "出错了: @dqwho_window.index > 3. 队伍超出最大人数。" if @dqwho_window.index > 3 #- 3
end
end
#Start Selection on the DQ Status Menu
def start_DQStatus_selection
@command_window.active = false
@dqs_window.visible = true
@dqs_window.active = true
@DQStatus_HPMP_window.visible = false
@DQStatus_HPMP_window.active = false
@DQStatus_ATTACK_window.visible = false
@DQStatus_ATTACK_window.active = false
@dqwho_window.visible = false
@dqwho_window.active = false
@dqs_window.index = 0
end
#End Selection on the DQ Status Menu
def end_DQStatus_selection
@command_window.active = true
@dqs_window.visible = false
@dqs_window.active = false
@dqs_window.index = -1
end
#Start Selection on the HPMP Screen
def start_dqhpmp_selection
create_DQStatus_HPMP_window()
@dqwho_window.active = false
@dqs_window.active = false
@DQStatus_HPMP_window.visible = true
@DQStatus_HPMP_window.active = true
end
def end_dqhpmp_selection
start_DQStatus_selection
end
#Start Selection on the ATTACK Screen
def start_attack_selection
create_DQStatus_ATTACK_window()
@dqwho_window.active = false
@dqs_window.active = false
@DQStatus_ATTACK_window.visible = true
@DQStatus_ATTACK_window.active = true
end
def end_attack_selection
start_DQStatus_selection
end
#Start Selection on the Dragon Quest Who Selection Screen for Status
def start_DQWho_selection
create_dqwho_window()
@command_window.active = false
@dqs_window.active = false
@dqwho_window.visible = true
@dqwho_window.active = true
@dqwho_window.index = 0
end
#End Selection on the Dragon Quest Who Selection Screen for Status
def end_DQWho_selection
@command_window.active = true
@dqwho_window.visible = false
@dqwho_window.active = false
@dqwho_window.index = -1
end
#Start Selection on the FullStat screen
def start_fullstat_selection
@dqwho_window.active = false
@dqs_window.active = false
@DQStatus_HPMP_window.active = false
@DQStatus_ATTACK_window.active = false
@DQStatus_FullStat_window.visible = true
@DQStatus_FullStat_window.active = true
end
#End Selection on the FullStat screen
def end_fullstat_selection
@dqwho_window.active = true
@DQStatus_FullStat_window.visible = false
@DQStatus_FullStat_window.active = false
@DQStatus_FullStatChar_window.visible = false
@DQStatus_FullStatChar_window.active = false
end
########################END DQ STYLE STATUS MENU ###################
# UPDATE
def update
super
update_menu_background
@command_window.update
if @command_window.active
update_command_selection
elsif @dqs_window.active
update_dqs_selection
@dqs_window.update
elsif @dqwho_window.active
update_dqwho_selection
@dqwho_window.update
elsif @DQStatus_ATTACK_window.active
update_attack_selection
elsif @DQStatus_HPMP_window.active
update_dqhpmp_selection
elsif @status_window.visible
@status_window.update
update_actor_selection
elsif @DQStatus_FullStat_window
update_dqfullstat_selection if @DQStatus_FullStat_window.active
end
end
#Terminate
def terminate
super
dispose_menu_background
@command_window.dispose
@status_window.dispose
@dqs_window.dispose
@DQStatus_FullStat_window.dispose if @DQStatus_FullStat_window
@DQStatus_FullStatChar_window.dispose if @DQStatus_FullStatChar_window
@dqwho_window.dispose if @dqwho_window
@DQStatus_HPMP_window.dispose if @DQStatus_HPMP_window
@DQStatus_ATTACK_window.dispose if @DQStatus_ATTACK_window
@location_window.dispose if @location_window
psize = ($game_party.members.size)
if @BOX_ONOFF == true
for actor in $game_party.members
if psize == 4
@newstat_windowfour.dispose
elsif psize == 3
@newstat_windowthree.dispose
elsif psize == 2
@newstat_windowtwo.dispose
elsif psize == 1
@newstat_window.dispose
end
psize = (psize - 1)
end
end
end
end
#Configuring the old-style menu's to update their cursors to the first position
class Scene_Status < Scene_Base
def return_scene
$scene = Scene_Menu.new(0)
end
end
class Scene_Equip < Scene_Base
def return_scene
$scene = Scene_Menu.new(0)
end
end
|
组图打开中,请稍候......
|