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

Project1

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

[原创发布] 战斗视窗调整(行走图战斗) + DQ菜单

[复制链接]

Lv2.观梦者

梦石
0
星屑
373
在线时间
207 小时
注册时间
2011-4-16
帖子
71
跳转到指定楼层
1

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

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

x
我方角色遭受技能与攻击的动画未完成,只有背部行走图的动态显示。
战斗视窗调整为原创,DQ菜单是转载。
RUBY 代码复制
  1. module Vocab
  2.   BattleParty = "队伍"
  3. end
  4.  
  5. class Scene_Equip < Scene_Base
  6.   #--------------------------------------------------------------------------
  7.   # * 战斗时更换装备,返回战斗场景
  8.   #--------------------------------------------------------------------------
  9.   def return_scene
  10.     if $game_temp.in_battle
  11.       $scene = Scene_Battle.new
  12.     else
  13.       $scene = Scene_Menu.new(2)
  14.     end
  15.   end
  16. end  
  17.  
  18. class Window_BattleMessage < Window_Message
  19. #  设置战斗信息显示的最大行数
  20.   MAX_LINE = 4
  21.   #--------------------------------------------------------------------------
  22.   # * 战斗信息窗口 初始化
  23.   #--------------------------------------------------------------------------
  24.   def initialize
  25.     super
  26.     self.openness = 255    # 设置窗口可见性
  27.     self.back_opacity = 0  # 设置窗口不透明度
  28.     @lines = []
  29.     self.x = -10
  30.     self.y = 112
  31.     self.width = 566
  32.     self.height = 315
  33.     refresh
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # * 绘制战斗信息     index : Line number
  37.   #--------------------------------------------------------------------------
  38. def draw_line(index)
  39.   rect = Rect.new(5, index * WLH, contents.width - 5, WLH)
  40.   self.contents.clear_rect(rect)
  41.   self.contents.font.color = normal_color
  42.   self.contents.draw_text(rect, @lines[index])
  43. end
  44.   #--------------------------------------------------------------------------
  45.   # * 刷新战斗文本   
  46.   #--------------------------------------------------------------------------  
  47.   def refresh
  48.     self.contents.clear
  49.     (0...[MAX_LINE, @lines.size].min).each do |i|  # 使用min函数确保不会超出数组界限
  50.       draw_line(i)
  51.     end
  52.   end   
  53. end
  54.  
  55. class Window_TargetEnemy < Window_Command
  56.   #--------------------------------------------------------------------------
  57.   # * 敌人队伍指令窗口 初始化
  58.   #--------------------------------------------------------------------------
  59.   def initialize
  60.     commands = []
  61.     @enemies = []
  62.     count = 0  # 遍历敌人角标的计数器
  63.     for enemy in $game_troop.members
  64.       count += 1      
  65.       next unless enemy.exist?
  66.       commands.push(enemy.name)
  67.       @enemies.push(enemy)
  68.     end
  69.     if count > 4  # 超过4个敌人时,选框两列显示
  70.       super(360, commands, 2, 4)
  71.     else
  72.       super(180, commands, 1, 4)
  73.     end
  74.   end
  75. end
  76.  
  77. class Window_TurnCount < Window_Command   # 自定义类,用于实现战斗回合的显示 #
  78.   #--------------------------------------------------------------------------
  79.   # * 回合显示窗口 初始化
  80.   #--------------------------------------------------------------------------
  81.   def initialize
  82.     s1 = $game_troop.turn_count + 1
  83.     s2 = "回合"
  84.     super(128,[s1, s2], 2, 1)
  85.     draw_item(0, true)
  86.     draw_item(1, true)
  87.   end
  88. end
  89.  
  90. class Window_BattleStatus < Window_Selectable
  91.   #--------------------------------------------------------------------------
  92.   # * 角色状态窗口 初始化
  93.   #--------------------------------------------------------------------------
  94.   def initialize
  95.     super(126, -10, 420, 128, spacing = 0)
  96.     refresh
  97.     self.active = false
  98.   end
  99.   #--------------------------------------------------------------------------
  100.   # * 绘制角色状态窗口的项目
  101.   #--------------------------------------------------------------------------
  102.   def draw_item(index)
  103.     rect = item_rect(index)
  104.     rect.x += 4
  105.     rect.width -= 8
  106.     self.contents.clear_rect(rect)
  107.     self.contents.font.color = normal_color
  108.     actor = $game_party.members[index]
  109.     draw_actor_name(actor, 4, rect.y)
  110.     draw_actor_state(actor, 80, rect.y, 120)
  111.     draw_actor_hp(actor, 210, rect.y, 90)
  112.     draw_actor_mp(actor, 310, rect.y, 70)
  113.   end
  114. end
  115.  
  116. class Window_ActorCommand < Window_Command
  117.   #--------------------------------------------------------------------------
  118.   # * 角色指令菜单窗口 初始化
  119.   #--------------------------------------------------------------------------
  120.   def initialize
  121.     super(128, [], 2, 2)
  122.     self.active = false
  123.   end
  124. end
  125.  
  126. class Window_PartyCommand < Window_Command
  127.   #--------------------------------------------------------------------------
  128.   # * 战斗初始指令窗口 初始化 ( 卡斯尔顿城堡2F侍卫放行后) (只有第一回合可管理队伍)
  129.   #--------------------------------------------------------------------------
  130.   def initialize
  131.     s1 = Vocab::fight
  132.     s2 = Vocab::equip
  133.     s3 = Vocab::BattleParty
  134.     s4 = Vocab::escape
  135.     super(128, [s1, s2, s3, s4], 2, 2)
  136.     draw_item(0, true)
  137.     draw_item(1, true)
  138.     if $game_switches[130] == true && $game_troop.turn_count == 0
  139.       draw_item(2, true)
  140.     else
  141.       draw_item(2, false)
  142.     end  
  143.     draw_item(3, $game_troop.can_escape)
  144.     self.active = false
  145.   end
  146. end
  147.  
  148. class Scene_Battle < Scene_Base
  149. # 定义实例变量用于全局调用  
  150.   attr_accessor :draw_count  
  151.   #--------------------------------------------------------------------------
  152.   # * 战斗场景开始处理
  153.   #--------------------------------------------------------------------------
  154.   def start
  155.     super
  156.     @draw_count = 0  # 绘制行走图的切换开关  
  157.     $game_temp.in_battle = true
  158.     @spriteset = Spriteset_Battle.new
  159.     @message_window = Window_BattleMessage.new
  160.     @action_battlers = []
  161.     create_info_viewport
  162.   end  
  163.   #--------------------------------------------------------------------------
  164.   # * 框架更新
  165.   #--------------------------------------------------------------------------
  166.   def update
  167.     super
  168.     update_basic(true)
  169.     update_info_viewport                  # 更新信息视窗
  170.     @turnCount_window.visible = true
  171.     if $game_message.visible
  172.       @info_viewport.visible = false
  173.       @status_window.visible = true
  174.       @message_window.visible = true
  175.     end
  176.     unless $game_message.visible          # 消息显示的情况之外
  177.     draw_actor_character                  # 绘制行走图
  178.     @draw_count += 1
  179.       return if judge_win_loss            # 确定输赢结果
  180.       update_scene_change
  181.       if @target_enemy_window != nil
  182.         update_target_enemy_selection     # 选择目标敌人
  183.       elsif @target_actor_window != nil
  184.         update_target_actor_selection     # 选择目标角色
  185.       elsif @skill_window != nil      
  186.         update_skill_selection            # 选择技能
  187.       elsif @item_window != nil      
  188.         update_item_selection             # 选择道具
  189.       elsif @party_command_window.active
  190.         update_party_command_selection    # 战斗初始指令窗口
  191.       elsif @status_window.active     
  192.         update_actor_selection            # 角色更换装备需要进行角色选择
  193.       elsif @actor_command_window.active     
  194.         update_actor_command_selection    # 选择角色窗口
  195.       else
  196.         process_battle_event              # 战斗事件处理
  197.         process_action                    # 战斗动作
  198.         @status_window.refresh            # 刷新角色状态信息
  199.         process_battle_event              # 战斗事件处理
  200.       end
  201.     end
  202.   end
  203.   #--------------------------------------------------------------------------
  204.   # * 创建信息显示视窗
  205.   #--------------------------------------------------------------------------
  206.   def create_info_viewport
  207.     @info_viewport = Viewport.new(0, 0, 544, 128)  # 0,288, 544, 128
  208.     @info_viewport.z = 100
  209.     @status_window = Window_BattleStatus.new  
  210.     @party_command_window = Window_PartyCommand.new
  211.     @party_command_window.x = 0
  212.     @party_command_window.y = 38
  213.     @actor_command_window = Window_ActorCommand.new
  214.     @actor_command_window.x = 0
  215.     @actor_command_window.y = 38
  216.     @turnCount_window = Window_TurnCount.new
  217.     @turnCount_window.x = 0
  218.     @turnCount_window.y = -10
  219.     @actor_character_window = Window_Base.new(-10, -10, 566, 600)
  220.     @actor_character_window.back_opacity = 0
  221.     @actor_character_window.visible = true
  222.     draw_character_1
  223.     @actor_command_window.visible = false
  224.     @party_command_window.visible = false
  225.     @turnCount_window.visible = false
  226.     @status_window.visible = false
  227.     @info_viewport.visible = false
  228.   end
  229.   #--------------------------------------------------------------------------
  230.   # * 绘制玩家角色行走图
  231.   #--------------------------------------------------------------------------
  232.   def draw_actor_character
  233.     if @draw_count == 20
  234.       draw_character_1
  235.       @actor_character_window.update
  236.     elsif @draw_count == 40
  237.       draw_character_2
  238.       @draw_count = 0
  239.       @actor_character_window.update
  240.     else
  241.       @actor_character_window.update
  242.     end
  243.   end
  244.   #--------------------------------------------------------------------------
  245.   # * 行走图 - 动作1
  246.   #--------------------------------------------------------------------------
  247.   def draw_character_1
  248.     x_coordinate = 120
  249.     for actor in $game_party.members
  250.       @actor_character_window.draw_character_turnU(actor.character_name, actor.character_index, x_coordinate, 380) if $game_party.members.size == 4
  251.       @actor_character_window.draw_character_turnU(actor.character_name, actor.character_index, x_coordinate + 50, 380) if $game_party.members.size == 3
  252.       @actor_character_window.draw_character_turnU(actor.character_name, actor.character_index, x_coordinate + 90, 380) if $game_party.members.size == 2
  253.       @actor_character_window.draw_character_turnU(actor.character_name, actor.character_index, x_coordinate + 150, 380) if $game_party.members.size == 1
  254.       x_coordinate += 100
  255.     end
  256.   end
  257.   #--------------------------------------------------------------------------
  258.   # * 行走图 - 动作2
  259.   #--------------------------------------------------------------------------
  260.   def draw_character_2
  261.     x_coordinate = 120
  262.     for actor in $game_party.members
  263.       @actor_character_window.draw_character_turnU2(actor.character_name, actor.character_index, x_coordinate, 380) if $game_party.members.size == 4
  264.       @actor_character_window.draw_character_turnU2(actor.character_name, actor.character_index, x_coordinate + 50, 380) if $game_party.members.size == 3
  265.       @actor_character_window.draw_character_turnU2(actor.character_name, actor.character_index, x_coordinate + 90, 380) if $game_party.members.size == 2
  266.       @actor_character_window.draw_character_turnU2(actor.character_name, actor.character_index, x_coordinate + 150, 380) if $game_party.members.size == 1
  267.       x_coordinate += 100
  268.     end
  269.   end
  270.   #--------------------------------------------------------------------------
  271.   # * 逃跑动作1
  272.   #--------------------------------------------------------------------------
  273.   def draw_runaway_1
  274.     x_coordinate = 120
  275.     for actor in $game_party.members
  276.       @actor_character_window.draw_character_turnD(actor.character_name, actor.character_index, x_coordinate, 380) if $game_party.members.size == 4
  277.       @actor_character_window.draw_character_turnD(actor.character_name, actor.character_index, x_coordinate + 50, 380) if $game_party.members.size == 3
  278.       @actor_character_window.draw_character_turnD(actor.character_name, actor.character_index, x_coordinate + 90, 380) if $game_party.members.size == 2
  279.       @actor_character_window.draw_character_turnD(actor.character_name, actor.character_index, x_coordinate + 150, 380) if $game_party.members.size == 1
  280.       x_coordinate += 100
  281.     end
  282.   end
  283.   #--------------------------------------------------------------------------
  284.   # * 逃跑动作2
  285.   #--------------------------------------------------------------------------
  286.   def draw_runaway_2
  287.     x_coordinate = 120
  288.     for actor in $game_party.members
  289.       @actor_character_window.draw_character_turnD2(actor.character_name, actor.character_index, x_coordinate, 380) if $game_party.members.size == 4
  290.       @actor_character_window.draw_character_turnD2(actor.character_name, actor.character_index, x_coordinate + 50, 380) if $game_party.members.size == 3
  291.       @actor_character_window.draw_character_turnD2(actor.character_name, actor.character_index, x_coordinate + 90, 380) if $game_party.members.size == 2
  292.       @actor_character_window.draw_character_turnD2(actor.character_name, actor.character_index, x_coordinate + 150, 380) if $game_party.members.size == 1
  293.       x_coordinate += 100
  294.     end
  295.   end
  296.   #--------------------------------------------------------------------------
  297.   # * 执行角色逃跑动作 (搁置)
  298.   #--------------------------------------------------------------------------
  299.   def set_runaway
  300.     count = 0
  301.     if  #  判断条件
  302.       loop do
  303.         if count == 0
  304.           draw_runaway_1
  305.           @actor_character_window.update
  306.         elsif count == 10
  307.           draw_runaway_2
  308.           count = 0
  309.           @actor_character_window.update
  310.         else
  311.           @actor_character_window.update
  312.         end
  313.         count += 1
  314.       end
  315.     end
  316.   end  
  317.   #--------------------------------------------------------------------------
  318.   # *处置(关闭)信息显示视口
  319.   #--------------------------------------------------------------------------
  320.   def dispose_info_viewport
  321.     @status_window.dispose
  322.     @party_command_window.dispose
  323.     @actor_command_window.dispose
  324.     @info_viewport.dispose
  325.     @turnCount_window.dispose
  326.     @actor_character_window.dispose
  327.   end  
  328.   #--------------------------------------------------------------------------
  329.   # *更新信息显示视口
  330.   #--------------------------------------------------------------------------
  331.   def update_info_viewport
  332.     @turnCount_window.active = false
  333.     draw_actor_character                  # 绘制行走图
  334.     @draw_count += 1
  335.     @actor_command_window.update
  336.     @status_window.update
  337.     @turnCount_window.update
  338.     @party_command_window.update  
  339.     if @party_command_window.active   
  340.       @party_command_window.visible = true
  341.       @status_window.visible = true
  342.       @actor_command_window.visible = false
  343.     elsif @actor_command_window.active
  344.       @actor_command_window.visible = true
  345.       @party_command_window.visible = false
  346.     end
  347.   end  
  348.   #--------------------------------------------------------------------------
  349.   # * 开始窗口列表選擇指令
  350.   #--------------------------------------------------------------------------
  351.   def start_party_command_selection
  352.     if $game_temp.in_battle
  353.       @status_window.refresh
  354.       @status_window.index = @actor_index = -1
  355.       @active_battler = nil
  356.       @info_viewport.visible = true
  357.       @message_window.visible = false
  358.       @party_command_window.active = true
  359.       @party_command_window.index = 0
  360.       @actor_command_window.active = false
  361.       $game_party.clear_actions
  362.       if $game_troop.surprise or not $game_party.inputable?
  363.         start_main
  364.       end
  365.     end
  366.   end  
  367.   #--------------------------------------------------------------------------
  368.   # * 更新战斗初始選擇指令  ( 卡斯尔顿城堡2F侍卫放行后) (只有第一回合可管理队伍)
  369.   #--------------------------------------------------------------------------
  370.   def update_party_command_selection
  371.     if $game_switches[130] == true && $game_troop.turn_count == 0
  372.       new_party_command_selection
  373.     else
  374.       old_party_command_selection
  375.     end
  376.   end
  377.   #--------------------------------------------------------------------------
  378.   # * 战斗初始選擇指令 - 不能管理队伍
  379.   #--------------------------------------------------------------------------
  380.   def old_party_command_selection
  381.     if Input.trigger?(Input::B)
  382.       Sound.play_cancel
  383.       end_actor_selection
  384.     elsif Input.trigger?(Input::C)
  385.       case @party_command_window.index
  386.       when 0
  387.         Sound.play_decision
  388.         @status_window.index = @actor_index = -1
  389.         next_actor
  390.       when 1
  391.         start_actor_selection
  392.       when 2
  393.         Sound.play_buzzer
  394.         return
  395.       when 3
  396.         if $game_troop.can_escape == false
  397.           Sound.play_buzzer
  398.           return
  399.         end
  400.         Sound.play_decision
  401.         process_escape
  402.       end
  403.     end
  404.   end
  405.   #--------------------------------------------------------------------------
  406.   # * 战斗初始選擇指令 - 可以管理队伍
  407.   #--------------------------------------------------------------------------
  408.   def new_party_command_selection
  409.     if Input.trigger?(Input::B)
  410.       Sound.play_cancel
  411.       end_actor_selection
  412.     elsif Input.trigger?(Input::C)
  413.       case @party_command_window.index
  414.       when 0
  415.         Sound.play_decision
  416.         @status_window.index = @actor_index = -1
  417.         next_actor
  418.       when 1
  419.         start_actor_selection
  420.       when 2
  421.         party_manage
  422.       when 3
  423.         if $game_troop.can_escape == false
  424.           Sound.play_buzzer
  425.           return
  426.         end
  427.         Sound.play_decision
  428.         process_escape
  429.       end
  430.     end
  431.   end  
  432.   #--------------------------------------------------------------------------
  433.   # * 更改装备 - 开始选择角色
  434.   #--------------------------------------------------------------------------
  435.   def start_actor_selection
  436.     @party_command_window.active = false
  437.     @status_window.active = true
  438.     if $game_party.last_actor_index < @status_window.item_max
  439.       @status_window.index = $game_party.last_actor_index
  440.     else
  441.       @status_window.index = 0
  442.     end
  443.   end
  444.   #--------------------------------------------------------------------------
  445.   # * 更改装备 - 角色选择结束
  446.   #--------------------------------------------------------------------------
  447.   def end_actor_selection
  448.     @party_command_window.active = true
  449.     @status_window.active = false
  450.     @status_window.index = -1
  451.   end
  452.   #--------------------------------------------------------------------------
  453.   # * 更改装备 - 更新角色选择指令
  454.   #--------------------------------------------------------------------------
  455.   def update_actor_selection
  456.     if Input.trigger?(Input::B)
  457.       Sound.play_cancel
  458.       end_actor_selection
  459.     elsif Input.trigger?(Input::C)
  460.       $game_party.last_actor_index = @status_window.index
  461.       Sound.play_decision
  462.       $scene = Scene_Equip.new(@status_window.index)
  463.     end
  464.   end
  465.   #--------------------------------------------------------------------------
  466.   # * 开始道具选择 (创建道具窗口和帮助窗口)
  467.   #--------------------------------------------------------------------------
  468.   def start_item_selection
  469.     @help_window = Window_Help.new
  470.     @help_window.y = 238
  471.     @help_window.back_opacity = 180
  472.     @item_window = Window_Item.new(0, 288, 544, 130)
  473.     @item_window.back_opacity = 180
  474.     @item_window.help_window = @help_window
  475.     @actor_command_window.active = false
  476.   end
  477.   #--------------------------------------------------------------------------
  478.   # * 开始技能选择 (创建技能窗口和帮助窗口)
  479.   #--------------------------------------------------------------------------
  480.   def start_skill_selection
  481.     @help_window = Window_Help.new
  482.     @help_window.y = 238
  483.     @help_window.back_opacity = 180
  484.     @skill_window = Window_Skill.new(0, 288, 544, 130, @active_battler)
  485.     @skill_window.back_opacity = 180
  486.     @skill_window.help_window = @help_window
  487.     @actor_command_window.active = false
  488.   end
  489.   #--------------------------------------------------------------------------
  490.   # * 调整队伍 (调用PartyRoster类的方法)
  491.   #--------------------------------------------------------------------------
  492.   def party_manage
  493.     $data_actors[1].required = true
  494.     $scene = Scene_Party.new
  495.   end
  496.   #--------------------------------------------------------------------------
  497.   # * 开始目标角色选择 (使用道具或技能时,选择玩家角色的窗口)
  498.   #--------------------------------------------------------------------------
  499.   def start_target_actor_selection
  500.     @target_actor_window = Window_BattleStatus.new
  501.     @target_actor_window.index = 0
  502.     @target_actor_window.x = 0
  503.     @target_actor_window.y = 288
  504.     @info_viewport.rect.x += @target_actor_window.width
  505.     @info_viewport.ox += @target_actor_window.width
  506.     @actor_command_window.active = false
  507.     @target_actor_window.active = true
  508.   end
  509.   #--------------------------------------------------------------------------
  510.   # *更新目标角色选择
  511.   #--------------------------------------------------------------------------
  512.   def update_target_actor_selection
  513.     @target_actor_window.update
  514.     if Input.trigger?(Input::B)
  515.       Sound.play_cancel
  516.       end_target_actor_selection
  517.     elsif Input.trigger?(Input::C)
  518.       Sound.play_decision
  519.       @active_battler.action.target_index = @target_actor_window.index
  520.       end_target_actor_selection
  521.       end_skill_selection
  522.       end_item_selection
  523.       next_actor
  524.     end
  525.   end  
  526.   #--------------------------------------------------------------------------
  527.   # * 开始目标敌人选择 - 创建选择敌人的指令窗口
  528.   #--------------------------------------------------------------------------
  529.   def start_target_enemy_selection
  530.     @target_enemy_window = Window_TargetEnemy.new
  531.     @target_enemy_window.x = 0
  532.     @target_enemy_window.y = 288
  533.     @info_viewport.rect.x += @target_enemy_window.width
  534.     @info_viewport.ox += @target_enemy_window.width
  535.     @actor_command_window.active = false
  536.   end
  537.   #--------------------------------------------------------------------------
  538.   # * 回合结束    重新创建回合显示窗口和作战指令窗口
  539.   #--------------------------------------------------------------------------
  540.   def turn_end
  541.     $game_troop.turn_ending = true
  542.     $game_party.slip_damage_effect
  543.     $game_troop.slip_damage_effect
  544.     $game_party.do_auto_recovery
  545.     $game_troop.preemptive = false
  546.     $game_troop.surprise = false
  547.     process_battle_event
  548.     $game_troop.turn_ending = false
  549.     @turnCount_window.dispose
  550.     @turnCount_window = Window_TurnCount.new
  551.     @turnCount_window.x = 0
  552.     @turnCount_window.y = -10
  553.     @party_command_window.dispose
  554.     @party_command_window = Window_PartyCommand.new
  555.     @party_command_window.x = 0
  556.     @party_command_window.y = 38
  557.     start_party_command_selection
  558.     draw_actor_character                  # 绘制行走图
  559.     @draw_count += 1
  560.   end
  561.   #--------------------------------------------------------------------------
  562.   # * 开始逃跑       添加“逃跑成功”字样显示
  563.   #--------------------------------------------------------------------------
  564.   def process_escape
  565. #    set_runaway    # 执行角色逃跑动作
  566.     @info_viewport.visible = false
  567.     @message_window.visible = true
  568.     text = sprintf(Vocab::EscapeStart, $game_party.name)
  569.     $game_message.texts.push(text)
  570.     if $game_troop.preemptive
  571.       success = true
  572.     else
  573.       success = (rand(100) < @escape_ratio)
  574.     end
  575.     Sound.play_escape
  576.     if success
  577.       wait_for_message
  578.       $game_message.texts.push("成功的逃脱了。")
  579.       wait_for_message
  580.       battle_end(1)
  581.     else
  582.       @escape_ratio += 10
  583.       $game_message.texts.push('\.' + Vocab::EscapeFailure)
  584.       wait_for_message
  585.       $game_party.clear_actions
  586.       start_main
  587.     end
  588.   end
  589.   #--------------------------------------------------------------------------
  590.   # * 战斗事件处理
  591.   #--------------------------------------------------------------------------
  592.   def process_battle_event
  593.     loop do
  594.       draw_actor_character  # 绘制角色行走图
  595.       @draw_count += 1
  596.       @status_window.refresh            # 刷新角色状态信息
  597.       return if judge_win_loss
  598.       return if $game_temp.next_scene != nil
  599.       $game_troop.interpreter.update
  600.       $game_troop.setup_battle_event
  601.       wait_for_message
  602.       process_action if $game_troop.forcing_battler != nil
  603.       return unless $game_troop.interpreter.running?
  604.       update_basic
  605.     end
  606.   end  
  607. end
  608.  
  609. #==============================================================================
  610. #                 在窗口中绘制不同身体朝向的角色行走图
  611. # 调用方法·例: @xxxx_window.draw_character(character_name, character_index, x, y)
  612. #==============================================================================
  613. class Window_Base < Window
  614. # 定义原有方法绘制行走图朝向的常量 (0-下,1-左,2-右,3-上)
  615.   TURN = 0  
  616.   #--------------------------------------------------------------------------
  617.   # * 绘制角色图像   (原有方法,绘制的行走图身体朝下)
  618.   #     character_name  : 角色图像文件名
  619.   #     character_index : 角色图像索引
  620.   #     x     : 绘制点 x-坐标
  621.   #     y     : 绘制点 y-坐标
  622.   #--------------------------------------------------------------------------
  623.   def draw_character(character_name, character_index, x, y)
  624.     return if character_name == nil    # 检测角色位图是否为空
  625.     bitmap = Cache.character(character_name)  # 从游戏的缓存中获取角色的位图
  626.     sign = character_name[/^[\!\$]./]# 使用正则表达式来匹配角色名称的第一个字符,如果匹配成功,sign 变量将存储该字符。   
  627.     if sign != nil and sign.include?('$') # 检查 sign 变量是否不为 nil 并且包含字符 $。
  628.       cw = bitmap.width / 3   # 半身头像位图的宽度
  629.       ch = bitmap.height / 4  # 半身头像位图的高度
  630.     else
  631.       cw = bitmap.width / 12  # 行走图宽度
  632.       ch = bitmap.height / 8  # 行走图高度
  633.     end
  634.     n = character_index       # 存储角色位图索引
  635. # x 坐标是根据图像索引和每行的图像数量(对于全身图像通常是 4 个)计算的,y 坐标是根据图像索引除以每行的图像数量计算的。cw 和 ch 是源区域的宽度和高度。
  636.     src_rect = Rect.new((n%4*3+1)*cw, (n/4*4+TURN)*ch, cw, ch)   #  通过Rect定义位图绘制区域
  637. # blt 是 Bitmap 类的方法,将源位图(bitmap)中的一个区域(由 src_rect 定义)绘制到窗口内容位图(self.contents)上的指定位置(由 x 和 y 坐标定义)
  638. # x - cw / 2 和 y - ch 是目标位置的坐标,它们确保角色图像居中绘制在指定的 x 和 y 坐标上。
  639.     self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) # 执行实际的绘制操作
  640.   end
  641.   #--------------------------------------------------------------------------
  642.   # * 绘制角色行走图 - 朝下-动作1
  643.   #--------------------------------------------------------------------------  
  644.   def draw_character_turnD(character_name, character_index, x, y)
  645.     return if character_name == nil
  646.     bitmap = Cache.character(character_name)
  647.     sign = character_name[/^[\!\$]./]
  648.     if sign != nil
  649.       cw = bitmap.width / 12
  650.       ch = bitmap.height / 8
  651.     end
  652.     n = character_index
  653.     src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
  654.     self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  655.   end   
  656.   #--------------------------------------------------------------------------
  657.   # * 绘制角色行走图 - 朝下-动作2
  658.   #--------------------------------------------------------------------------  
  659.   def draw_character_turnD2(character_name, character_index, x, y)
  660.     return if character_name == nil
  661.     bitmap = Cache.character(character_name)
  662.     sign = character_name[/^[\!\$]./]
  663.     if sign != nil
  664.       cw = bitmap.width / 12
  665.       ch = bitmap.height / 8
  666.     end
  667.     n = character_index
  668.     src_rect = Rect.new((n%4*3+2)*cw, (n/4*4)*ch, cw, ch)
  669.     self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  670.   end   
  671.   #--------------------------------------------------------------------------
  672.   # * 绘制角色行走图 - 朝上-动作1
  673.   #--------------------------------------------------------------------------  
  674.   def draw_character_turnU(character_name, character_index, x, y)
  675.     return if character_name == nil
  676.     bitmap = Cache.character(character_name)
  677.     sign = character_name[/^[\!\$]./]
  678.     if sign != nil
  679.       cw = bitmap.width / 12
  680.       ch = bitmap.height / 8
  681.     end
  682.     n = character_index
  683.     src_rect = Rect.new((n%4*3+1)*cw, (n/4*4+3)*ch, cw, ch)
  684.     self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  685.   end
  686.   #--------------------------------------------------------------------------
  687.   # * 绘制角色行走图 - 朝上-动作2
  688.   #--------------------------------------------------------------------------  
  689.   def draw_character_turnU2(character_name, character_index, x, y)
  690.     return if character_name == nil
  691.     bitmap = Cache.character(character_name)
  692.     sign = character_name[/^[\!\$]./]
  693.     if sign != nil
  694.       cw = bitmap.width / 12
  695.       ch = bitmap.height / 8
  696.     end
  697.     n = character_index
  698.     src_rect = Rect.new((n%4*3+2)*cw, (n/4*4+3)*ch, cw, ch)
  699.     self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  700.   end
  701. end



RUBY 代码复制
  1. #==============================================================================
  2. #  [RMVX] 《勇者斗恶龙》风格可定制菜单系统 Version 1.20
  3. #------------------------------------------------------------------------------
  4. =begin
  5.  
  6.   by Ekras
  7.  
  8.   released on 04/07/2008
  9.  
  10.   感谢 Woratana [[email protected]] 提供的 LiteMenu,本脚本在此基础之上构建。
  11.  
  12.   感谢 "Woratana", "kmhp", "Trihan", 和 "modern algebra"(个人)在论坛上的帮助 :)
  13.  
  14. 更新至版本 1.2
  15.  
  16. - 脚本名称从 "Dragon Quest Style Status Indicator" 改为 "Dragon Quest Style Customizable Menu System"
  17.  
  18. - 编码了DQ风格的状态下屏幕
  19.  
  20. - 主菜单现在可以轻松配置(更改菜单项!)
  21.  
  22. - 状态下屏幕上的 "Refill Command" 目前不工作(待定)
  23.  
  24. - 不知何故,1.1 版本中没有包含空白行,但它肯定在 1.2 版本中
  25.  
  26. - 向小框中添加了显示当前经验值、升级所需经验和职业的功能
  27.  
  28. - 新的错误消息更具描述性,并出现在打印命令中,而不是游戏中。(你将得到一个弹出窗口)
  29.  
  30. - 玩家能够在DQ风格的状态下屏幕上退出菜单屏幕
  31.  
  32. - 能够独立更改状态下菜单的字体(部分实现)
  33.  
  34. 1.3 版本即将推出
  35.  
  36. - 大量优化 - 脚本将更快、更智能、更小
  37.  
  38. - 在小框中显示精灵(代码已完成,但仍然有很多bug)
  39.  
  40. - 使用一个大的“超级”框代替小框的能力
  41.  
  42. - DQ风格的装备屏幕 + 在DQ风格的状态下装备框
  43.  
  44. - 在DQ风格的状态下屏幕上的 "See All" 下显示额外信息(装备)
  45.  
  46. - 更多字体定制
  47.  
  48. - 更多......
  49.  
  50. =end
  51. #==============================================================================
  52. module DQ_Menu_Setup
  53. #  在此处配置主菜单
  54. #  脚本的这一部分允许您快速更改主菜单的显示。
  55. #  您可以设置行数和列数,以及显示的项目
  56.  
  57.   NUM_OF_ITEMS = 6 #设置菜单上的项目数量 (1-12)
  58.   NUM_ROWS = 3 # 主菜单中的行数
  59.   NUM_COL = 2  # 主菜单中的列数
  60.  
  61.   #在此处配置显示在主菜单上的项目。类型如下:
  62.  
  63.   #1-空白,以备将来使用
  64.   #2-空白,以备将来使用
  65.   #3-调用DQ状态屏幕
  66.   #4-调用DQ设备屏幕(在此版本中不使用)
  67.   #5-内置保存菜单
  68.   #6-内置游戏结束菜单
  69.   #7-内置项目菜单
  70.   #8-内置状态菜单
  71.   #9-内置技能菜单
  72.   #10-内置设备菜单
  73.  
  74.   # 菜单上显示什么
  75.   ITEM_1_TYPE = 7        
  76.   ITEM_1_NAME = "道具"         
  77.  
  78.   ITEM_2_TYPE = 9
  79.   ITEM_2_NAME = "特技"   
  80.  
  81.   ITEM_3_TYPE = 10
  82.   ITEM_3_NAME = "装备"  
  83.  
  84.   ITEM_4_TYPE = 3
  85.   ITEM_4_NAME = "强度"   
  86.  
  87.   ITEM_5_TYPE = 5
  88.   ITEM_5_NAME = "储存"   
  89.  
  90.   ITEM_6_TYPE = 6
  91.   ITEM_6_NAME = "其他"   
  92.  
  93.   ITEM_7_TYPE = 3
  94.   ITEM_7_NAME = "物品 7"   
  95.  
  96.   ITEM_8_TYPE = 3
  97.   ITEM_8_NAME = "物品 8"   
  98.  
  99.   ITEM_9_TYPE = 3
  100.   ITEM_9_NAME = "物品 9"   
  101.  
  102.   ITEM_10_TYPE = 3
  103.   ITEM_10_NAME = "物品 10"   
  104.  
  105.   ITEM_11_TYPE = 3
  106.   ITEM_11_NAME = "物品 11"   
  107.  
  108.   ITEM_12_TYPE = 3
  109.   ITEM_12_NAME = "物品 12"   
  110. end
  111.  
  112. module DQ_Status_Setup
  113. #此模块定义了DQ风格状态屏幕。如果你不使用它,你可以放心地忽略这一部分。
  114.  
  115. #在此处配置状态菜单的“查看统计信息”部分
  116.  
  117. #在此处配置右侧窗口, 每一行都是一行文本和统计值。对于类型,请使用以下内容:
  118.  
  119. # 1-攻击,2-敏捷,3-精神 4-职业,5-防御,6-HP,7-MP,8-MaxHP,9-MaxMP,
  120. # 10-经验,11-经验等级, 12-姓名, 13-等级
  121.  
  122. # 设置状态菜单中使用的字体
  123. STATUS_FONT = "仿宋" # 区分大小写 - 可以命名任何 TrueType 字体。
  124.   # 关于字体的注意事项:玩家必须安装字体才能显示。
  125.   # 字体更改目前只影响非可选择菜单。
  126.  
  127.  
  128. # 配置右边角色详细信息大窗口 (强度》个人详情》选择角色后显示的大窗口)  
  129. # 设置状态和其值之间的分隔符
  130. SEP = ":" # 用于分隔状态和其值的字符
  131.  
  132. # 设置要显示的文本以及是否显示
  133. LINE_1_STRING = "" # 设置第八行显示的文本
  134. LINE_1_ONOFF = false # 设置是否显示这行文本
  135. LINE_1_TYPE = 11 # 类型代码见上文
  136.  
  137. LINE_2_STRING = "角色" # 设置第九行显示的文本
  138. LINE_2_ONOFF = true # 设置是否显示这行文本
  139. LINE_2_TYPE = 12 # 类型代码见上文
  140.  
  141. LINE_3_STRING = "职业" # 设置第十行显示的文本
  142. LINE_3_ONOFF = true # 设置是否显示这行文本
  143. LINE_3_TYPE = 4 # 类型代码见上文
  144.  
  145. LINE_4_STRING = "最大HP" # 设置第一行显示的文本
  146. LINE_4_ONOFF = true # 设置是否显示这行文本
  147. LINE_4_TYPE = 8 # 类型代码见上文
  148.  
  149. LINE_5_STRING = "最大MP" # 设置第二行显示的文本
  150. LINE_5_ONOFF = true # 设置是否显示这行文本
  151. LINE_5_TYPE = 9 # 类型代码见上文
  152.  
  153. LINE_6_STRING = "力量" # 设置第三行显示的文本
  154. LINE_6_ONOFF = true # 设置是否显示这行文本
  155. LINE_6_TYPE = 1 # 类型代码见上文
  156.  
  157. LINE_7_STRING = "物防" # 设置第四行显示的文本
  158. LINE_7_ONOFF = true # 设置是否显示这行文本
  159. LINE_7_TYPE = 5 # 类型代码见上文
  160.  
  161. LINE_8_STRING = "智慧" # 设置第五行显示的文本
  162. LINE_8_ONOFF = true # 设置是否显示这行文本
  163. LINE_8_TYPE = 3 # 类型代码见上文
  164.  
  165. LINE_9_STRING = "敏捷" # 设置第六行显示的文本
  166. LINE_9_ONOFF = true # 设置是否显示这行文本
  167. LINE_9_TYPE = 2 # 类型代码见上文
  168.  
  169. LINE_10_STRING = "" # 设置第七行显示的文本
  170. LINE_10_ONOFF = false # 设置是否显示这行文本
  171. LINE_10_TYPE = 10 # 类型代码见上文
  172.  
  173. LINE_11_STRING = "当前经验" # 设置第八行显示的文本
  174. LINE_11_ONOFF = true # 设置是否显示这行文本
  175. LINE_11_TYPE = 10 # 类型代码见上文
  176.  
  177. LINE_12_STRING = "提升所需" # 设置第八行显示的文本
  178. LINE_12_ONOFF = true # 设置是否显示这行文本
  179. LINE_12_TYPE = 11 # 类型代码见上文
  180.  
  181.  
  182.  
  183. # 配置左边角色信息预览小窗口 (强度》个人详情》选择角色后显示的小窗口)
  184. UL_SEP = '' # 设置分隔符
  185. UL_NAME_ONOFF = false # 设置是否显示角色名
  186. UL_NAME_DIV = false # 设置角色名与其他信息之间是否显示分隔符
  187.  
  188. UL_LINE_1_ONOFF = false # 设置是否显示第一行
  189. UL_LINE_1_STRING = ""
  190. UL_LINE_1_TYPE = 4 # 类型代码见上文
  191.  
  192. UL_LINE_2_ONOFF = false # 设置是否显示第二行
  193. UL_LINE_2_STRING = "Lv"
  194. UL_LINE_2_TYPE = 13 # 类型代码见上文
  195.  
  196. UL_LINE_3_ONOFF = false # 设置是否显示第三行
  197. UL_LINE_3_STRING = "HP"
  198. UL_LINE_3_TYPE = 6 # 类型代码见上文
  199.  
  200. UL_LINE_4_ONOFF = false # 设置是否显示第四行
  201. UL_LINE_4_STRING = "MP"
  202. UL_LINE_4_TYPE = 7 # 类型代码见上文
  203.  
  204. UL_LINE_5_ONOFF = false # 设置是否显示第五行
  205. UL_LINE_5_STRING = ""
  206. UL_LINE_5_TYPE = 0 # 类型代码见上文
  207.  
  208. end
  209. # 状态菜单配置结束
  210.  
  211. module Wor_Litemenu
  212.  
  213.   # Litemenu 设置
  214.   MENU_WINDOW_Y = 175  # 主菜单 窗口的Y轴 (X轴 需要搜索“MENU_WINDOW_X”)
  215.   CHARA_WINDOW_Y = 80  
  216.   CHARA_WINDOW_WIDTH = 150
  217.   SHOW_LV = false
  218.   GOLD_TEXT_X = 0  # “金币”的坐标
  219.   VOCAB_GOLD = "钱"
  220.   SHOW_LOCATION_WINDOW = true
  221.   VOCAB_LOCATION = ""
  222.   LOCATION_WINDOW_Y = -10  # 地图名称、金币显示 窗口的Y轴
  223.   LOCATION_TEXT_X = 0   # 地图名称的坐标
  224.   GOLD_TEXT_X = 0   # "G"的坐标
  225. end
  226.  
  227. ###################### 不要碰这个部分
  228. class Scene_Menu < Scene_Base
  229.  
  230.   def initialize(menu_index = 0)
  231.     @menu_index = menu_index
  232.     @LASTX = 0
  233.     @TEMPX = 0
  234.     @TEMPY = 0
  235.     @dqwhotype = 'null'
  236.     @actorarray = []
  237. ##################### 恢复编辑
  238.  
  239. # MINI-BOX 设置在这里
  240.  
  241. # 这些框有时候有点棘手 - 调整一个可能会影响其他框
  242. # 你可以将它移动到任何地方,可能只是需要一段时间来找到正确的数字组合。
  243.  
  244. # 主设置 (界面最下方角色信息小窗口)
  245.     @BOX_ONOFF = true # 打开小框为 true,关闭为 false
  246.     @NS_LOCATION = 130 # 将小框向左或向右移动
  247.     @NS_GAP = 270 # 调整小框之间的距离
  248.     @BOX_W = 140 # 调整小框的宽度
  249.     @BOX_H = 140 # 调整小框的高度
  250.     @BOX_Y = 267 # 调整小框的 Y 坐标
  251.     @BOX_LEFT_RIGHT = 2 # 设置为 1 从小框向右展开,设置为 2 向左展开
  252.  
  253. # 名字设置
  254.     @NAME_ONOFF = true # 打开为 true,关闭为 false
  255.     @N_X = 0 # 设置角色名字的 X 坐标
  256.     @N_Y = 0 # 设置角色名字的 Y 坐标
  257.  
  258. # 设置每个角色小框中的文本行。默认支持一行名字和最多三行其他文本。(第四行已编码但禁用)
  259. # 调整这些设置会影响所有角色的小框。
  260. # 我在下面提供了如何添加更多行以及如何将新状态添加到列表中的说明。
  261. # 第一行设置
  262.     @LINEONE_ONOFF = true # 打开为 true,关闭为 false
  263.     @L1_Y = 20 # 设置文本的 Y 坐标
  264.     @L1_X = 0 # 设置状态标题的 X 坐标
  265.     @L1_X2 = 40 # 设置状态与标题的距离
  266.     @L1_HEADER = 'HP:' # 设置状态的文本标题
  267.     @L1_STAT = 1 # 参见下面的统计指南
  268.  
  269. # 第二行设置
  270.     @LINETWO_ONOFF = true # 打开为 true,关闭为 false
  271.     @L2_Y = 40 # 设置文本的 Y 坐标
  272.     @L2_X = 0 # 设置状态标题的 X 坐标
  273.     @L2_X2 = 40 # 设置状态与标题的距离
  274.     @L2_HEADER = 'MP:' # 设置状态的文本标题
  275.     @L2_STAT = 2 # 参见下面的统计指南
  276.  
  277. # 第三行设置
  278.     @LINETHREE_ONOFF = true # 打开为 true,关闭为 false
  279.     @L3_Y = 60 # 设置文本的 Y 坐标
  280.     @L3_X = 0 # 设置状态标题的 X 坐标
  281.     @L3_X2 = 40 # 设置状态与标题的距离
  282.     @L3_HEADER = 'LV:' # 设置状态的文本标题
  283.     @L3_STAT = 3 # 参见下面的统计指南
  284.  
  285. # 第四行设置
  286.     @LINEFOUR_ONOFF = true # 打开为 true,关闭为 false
  287.     @L4_Y = 80 # 设置文本的 Y 坐标
  288.     @L4_X = 0 # 设置状态标题的 X 坐标
  289.     @L4_X2 = 40 # 设置状态与标题的距离
  290.     @L4_HEADER = '' # 设置状态的文本标题
  291.     @L4_STAT = 4 # 参见下面的统计指南
  292.  
  293.     # 统计指南
  294.  
  295. # 这是当前实现的小框中显示的状态列表
  296. # 要使用,在想要显示状态的行的 STAT 行输入它们的项目编号。如果你想显示其他内容,应该不久就能显示它
  297.  
  298. #
  299. # 1 : 生命值
  300. # 2 : 魔法值
  301. # 3 : 等级
  302. # 4 : 金币 - 只出现在玩家1的框中!
  303. # 5 : 经验值
  304. # 6 : 升级所需经验值
  305. # 7 : 职业
  306. #
  307.  
  308. # 高级设置
  309. #      - 添加新行
  310. # 所以你想要在框中添加新的状态是吗?以下是如何操作的。首先,改变总行数以显示的行数。
  311.  
  312.     @LCOUNT = 7 # 在这里设置要显示的项目数量
  313. # 现在要添加新行,去每个窗口框,复制/粘贴现有的一行,并修改它以显示你的新状态。应该不会太难。
  314. # 不要忘记更改错误代码以反映新的行号
  315. # 完成后,在上面复制/粘贴一行设置,并更改新行上的变量以反映新行。
  316.  
  317. #      - 添加新状态以显示
  318. # 要将新状态添加到菜单中,首先在上面的统计指南中添加它
  319. # 一旦你有了编号,去每个菜单框下面复制/粘贴一个状态项目
  320. # 将 if @L1_STAT == X 改为新状态的编号
  321. # 现在在每个框中添加一个事件来获取状态信息
  322. # 最后编辑新项目的状态部分列表,
  323.  
  324. #
  325. # 将新状态发送给作者
  326. #
  327. # 如果你觉得这个脚本的下一个版本应该包含其他状态
  328. # 请通过 strager at comcast dot net 发邮件给我,并在主题行写上 "MINI-BOX STAT"。
  329. # 不使用这个主题行的邮件将不会被阅读(我的电子邮件只接受预先批准的主题行)
  330. #
  331. # 在邮件中将状态编号改为 #
  332. # 只发送一个状态框的代码 - 我足够聪明地在其他框中复制它 :)
  333. # 请不要通过邮件发送其他请求(使用论坛提出脚本请求)
  334. #
  335. end
  336.  
  337. def start
  338. blah = 0;   
  339.     super
  340.     psize = ($game_party.members.size)
  341.     create_menu_background
  342.     create_command_window
  343.     create_dqs_window
  344.     @dqs_window.visible = false
  345.     create_dqwho_window
  346.     create_DQStatus_ATTACK_window
  347.     create_DQStatus_HPMP_window
  348.     for actor in $game_party.members
  349.     @actorarray[blah] = actor
  350.      blah = blah + 1;
  351.     end
  352.  
  353.     lite_create_location_window if Wor_Litemenu::SHOW_LOCATION_WINDOW == true
  354.     lite_create_actor_window
  355.  
  356. if @BOX_ONOFF == true
  357.  
  358.   if @BOX_LEFT_RIGHT == 1  
  359.     for actor in $game_party.members
  360.  
  361.  
  362.       if psize == 4
  363.         @LASTX = ((@NS_GAP * 1) - @NS_LOCATION)
  364.         create_newstat_windowfour (psize)
  365.       elsif psize == 3
  366.         @LASTX = ((@NS_GAP * 2) - @NS_LOCATION)
  367.         create_newstat_windowthree (psize)
  368.       elsif psize == 2
  369.         @LASTX = ((@NS_GAP * 3) - @NS_LOCATION)
  370.         create_newstat_windowtwo (psize)
  371.       elsif psize == 1
  372.         @LASTX = ((@NS_GAP * 4) - @NS_LOCATION)
  373.         create_newstat_window (psize)
  374.       end
  375.       psize = (psize - 1)
  376.     end
  377.   end
  378.  
  379. if @BOX_LEFT_RIGHT == 2  
  380.   for actor in $game_party.members
  381.       if psize == 4
  382.         @LASTX = ((@NS_GAP * 4) - @NS_LOCATION)
  383.         create_newstat_windowfour (psize)
  384.       elsif psize == 3
  385.         @LASTX = ((@NS_GAP * 3) - @NS_LOCATION)
  386.         create_newstat_windowthree (psize)
  387.       elsif psize == 2
  388.         @LASTX = ((@NS_GAP * 2) - @NS_LOCATION)
  389.         create_newstat_windowtwo (psize)
  390.       elsif psize == 1
  391.         @LASTX = ((@NS_GAP * 1) - @NS_LOCATION)
  392.         create_newstat_window (psize)
  393.       end
  394.       psize = (psize - 1)
  395.     end
  396.   end
  397.   end
  398. end
  399.  
  400. #创建角色窗口(从 Litemenu 菜单)
  401.  
  402. def lite_create_actor_window
  403.         member = []
  404.         @item_max = $game_party.members.size
  405.         for actor in $game_party.members
  406.          member.push ((actor.name) + " Lv." + (actor.level.to_s)) if Wor_Litemenu::SHOW_LV == true
  407.          member.push (actor.name) if Wor_Litemenu::SHOW_LV == false
  408.         end
  409.         @status_window = Window_Command.new(Wor_Litemenu::CHARA_WINDOW_WIDTH, member)
  410.         @status_window.index = @menu_index
  411.         @status_window.x = (200 / 2) - (@status_window.width / 2)
  412.         @status_window.y = Wor_Litemenu::CHARA_WINDOW_Y
  413.         @status_window.visible = false
  414. end
  415.  
  416. #重新实现 litemenu菜单 地图名称
  417.  
  418. def lite_get_map_name
  419.     mapdata = load_data("Data/MapInfos.rvdata")
  420.     map_id = $game_map.map_id
  421.     @map_name = mapdata[map_id].name
  422.   end
  423.  
  424. #重新实现的litemenu菜单 金币
  425.   def lite_draw_currency_value(value, x, y, width)
  426.     cx = @location_window.contents.text_size(Vocab::gold).width
  427.     @location_window.contents.font.color = @location_window.normal_color
  428.     @location_window.contents.draw_text(x+5, y, @location_window.width+cx, 24, value, 0)
  429.     @location_window.contents.font.color = @location_window.system_color
  430.     @location_window.contents.draw_text(x+(($game_party.gold).to_s.size * 8)+10, y, @location_window.width, 24, Vocab::gold, 0)
  431.   end
  432.  
  433. #重新实现的地图位置窗口
  434. def lite_create_location_window
  435.     width = 140
  436.     height = 65
  437.     x = (138 /2) - (width/2)   # 地图位置/金币窗口 的 X轴 (LOCATION_WINDOW_X)
  438.     y = Wor_Litemenu::LOCATION_WINDOW_Y
  439.     @location_window = Window_Base.new(x, y, width, height)
  440.     @location_window.create_contents
  441.     lite_get_map_name
  442.     @location_window.contents.font.color = @location_window.system_color
  443.     @location_window.contents.draw_text(0, 17, 80, 20, Wor_Litemenu::VOCAB_GOLD)
  444.     @location_window.contents.font.color = @location_window.normal_color
  445.     lite_draw_currency_value($game_party.gold, 40, 16, Wor_Litemenu::GOLD_TEXT_X)
  446.     @location_window.contents.font.color = @location_window.system_color
  447.     @location_window.contents.draw_text(0, 4, 100, 15, Wor_Litemenu::VOCAB_LOCATION)
  448.     @location_window.contents.font.color = @location_window.normal_color
  449.     @location_window.contents.draw_text(Wor_Litemenu::LOCATION_TEXT_X, 4, 100, 15, @map_name)
  450.   end  
  451. #--------------------------------------------------------------------------
  452. # * Actor Selection
  453. #--------------------------------------------------------------------------  
  454. #~   def start_actor_selection
  455. #~     @command_window.active = false
  456. #~     @status_window.visible = true
  457. #~     @status_window.active = true
  458. #~     @status_window.index = 0
  459. #~   end
  460.  
  461. #~   def end_actor_selection
  462. #~     @command_window.active = true
  463. #~     @status_window.visible = false
  464. #~     @status_window.active = false
  465. #~     @status_window.index = -1  
  466. #~   end  
  467.  
  468.  
  469. # Party member 1's Box
  470. def create_newstat_window (ac)
  471.  
  472.     member = []
  473.     hitpoints = []
  474.     magpoints = []
  475.     lev = []
  476.     cclass = []
  477.     cexp = []
  478.     cexptolev = []
  479.     @item_max = $game_party.members.size
  480.     for actor in $game_party.members
  481.     member.push (actor.name)
  482.     hitpoints.push (actor.hp)
  483.     magpoints.push (actor.mp)
  484.     lev.push (actor.level.to_s)
  485.     cclass.push (actor.class.name)
  486.     cexp.push (actor.exp)
  487.     cexptolev.push (actor.next_rest_exp_s)
  488.     end  
  489.  
  490.     width = @BOX_W
  491.     height = @BOX_H
  492.     x = ((@LASTX) /2) - (width/2)
  493.     y = (@BOX_Y + 10)
  494.     @newstat_window = Window_Base.new(x, y, width, height)
  495.  
  496.  
  497.     @newstat_window.create_contents
  498. #Name Line
  499.     if @NAME_ONOFF == true
  500.     @newstat_window.contents.font.color = @newstat_window.normal_color  
  501.     @newstat_window.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)])
  502.     end
  503.  
  504.     #Line One
  505.  
  506.     #Set Color
  507.     @newstat_window.contents.font.color = @newstat_window.normal_color
  508.  
  509.     if @LINEONE_ONOFF == true
  510.       @newstat_window.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT)
  511.       if @L1_STAT < 0
  512.         p 'ERROR: @L1_STAT < 0 for player 1. Please set to a valid value.'
  513.       end
  514.       if @L1_STAT == 1
  515.         @newstat_window.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)])
  516.       end
  517.       if @L1_STAT == 2
  518.         @newstat_window.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)])
  519.       end
  520.       if @L1_STAT == 3
  521.         @newstat_window.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)])
  522.       end
  523.       if @L1_STAT == 4
  524. #       @newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,$game_party.gold)
  525.         @newstat_window.draw_actor_state($game_party.members[0], @L1_X, @L1_Y, 120)
  526.      end
  527.       if @L1_STAT == 5
  528.        @newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,cexp[(ac-1)])
  529.      end
  530.       if @L1_STAT == 6
  531.        @newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,cexptolev[(ac-1)])
  532.      end
  533.       if @L1_STAT == 7
  534.        @newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,cclass[(ac-1)])
  535.      end
  536.  
  537.       if @L1_STAT > @LCOUNT
  538.         p 'L1_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.'
  539.       end
  540.     end
  541.  
  542. #Line Two
  543.  
  544.     #Set Color
  545.     @newstat_window.contents.font.color = @newstat_window.normal_color
  546.  
  547.     if @LINETWO_ONOFF == true
  548.       @newstat_window.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT)
  549.       if @L2_STAT < 0
  550.         p 'ERROR: @L2_STAT < 0 for player 1. Please set to a valid value.'
  551.       end
  552.       case @L2_STAT
  553.       when 1
  554.         @newstat_window.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)])
  555.       when 2
  556.         @newstat_window.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)])
  557.       when 3
  558.         @newstat_window.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)])
  559.       when 4
  560. #       @newstat_window.contents.draw_text( (@L2_X + @L2_X2), @L2_Y, 300, 20,$game_party.gold)
  561.         @newstat_window.draw_actor_state($game_party.members[0], @L2_X, @L2_Y, 120)
  562.       end
  563.       if @L2_STAT > @LCOUNT
  564.         p 'L2_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.'
  565.       end
  566.     end
  567.  
  568. #Line Three
  569.  
  570.     #Set Color
  571.     @newstat_window.contents.font.color = @newstat_window.normal_color
  572.  
  573.   if @LINETHREE_ONOFF == true
  574.       @newstat_window.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT)
  575.       if @L3_STAT < 0
  576.        p 'ERROR: @L3_STAT < 0 for player 1. Please set to a valid value.'
  577.       end
  578.       if @L3_STAT == 1
  579.         @newstat_window.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)])
  580.       end
  581.       if @L3_STAT == 2
  582.         @newstat_window.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)])
  583.       end
  584.        if @L3_STAT == 3
  585.         @newstat_window.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)])
  586.       end
  587.       if @L3_STAT == 4
  588. #       @newstat_window.contents.draw_text( (@L3_X + @L3_X2), @L3_Y, 300, 20,$game_party.gold)
  589.         @newstat_window.draw_actor_state($game_party.members[0], @L3_X, @L3_Y, 120)
  590.       end
  591.       if @L3_STAT > @LCOUNT
  592.         p 'L3_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.'
  593.       end
  594.  
  595.     end
  596. #Line Four (Off by default)   
  597. if @LINEFOUR_ONOFF == true
  598.       @newstat_window.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT)
  599.       if @L4_STAT < 0
  600.         p 'ERROR: @L4_STAT < 0 for player 1. Please set to a valid value.'
  601.       end
  602.       if @L4_STAT == 1
  603.         @newstat_window.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)])
  604.       end
  605.       if @L4_STAT == 2
  606.         @newstat_window.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)])
  607.       end
  608.        if @L4_STAT == 3
  609.         @newstat_window.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)])
  610.       end
  611.       if @L4_STAT == 4
  612. #       @newstat_window.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold)
  613.         @newstat_window.draw_actor_state($game_party.members[0], @L4_X, @L4_Y, 120)
  614.       end
  615.       if @L4_STAT > @LCOUNT
  616.         p 'L4_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.'
  617.       end
  618.       end
  619.     @LASTX = (@LASTX + @NS_LOCATION)
  620.     end  
  621. # Party Member 2's Box
  622.     def create_newstat_windowtwo (ac)
  623.  
  624.     member = []
  625.     hitpoints = []
  626.     magpoints = []
  627.     lev = []
  628.     @item_max = $game_party.members.size
  629.     for actor in $game_party.members
  630.     member.push (actor.name)
  631.     hitpoints.push (actor.hp)
  632.     magpoints.push (actor.mp)
  633.     lev.push (actor.level.to_s)
  634.     end  
  635.  
  636.     width = @BOX_W
  637.     height = @BOX_H
  638.     x = ((@LASTX) /2) - (width/2)
  639.     y = (@BOX_Y + 10)
  640.     @newstat_windowtwo = Window_Base.new(x, y, width, height)
  641.  
  642.     @newstat_windowtwo.create_contents
  643.  
  644.  
  645.     #Name Line
  646.     if @NAME_ONOFF == true
  647.     @newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color  
  648.     @newstat_windowtwo.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)])
  649.     end
  650.  
  651.     #Line One
  652.  
  653.     #Set Color
  654.     @newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color
  655.  
  656.     if @LINEONE_ONOFF == true
  657.       @newstat_windowtwo.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) and (@L1_STAT != 4)
  658.       if @L1_STAT < 0
  659.         p 'ERROR: @L1_STAT < 0 for player 2. Please set to a valid value.'
  660.       end
  661.       if @L1_STAT == 1
  662.         @newstat_windowtwo.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)])
  663.       end
  664.       if @L1_STAT == 2
  665.         @newstat_windowtwo.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)])
  666.       end
  667.       if @L1_STAT == 3
  668.         @newstat_windowtwo.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)])
  669.       end
  670.       if @L1_STAT > @LCOUNT
  671.          p 'L1_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.'
  672.       end
  673.     end
  674.  
  675. #Line Two
  676.  
  677.     #Set Color
  678.     @newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color
  679.  
  680.     if @LINETWO_ONOFF == true   
  681.       @newstat_windowtwo.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) and (@L2_STAT != 4)
  682.       if @L2_STAT < 0
  683.         p 'ERROR: @L2_STAT < 0 for player 2. Please set to a valid value.'
  684.       end
  685.            case @L2_STAT
  686.       when 1
  687.         @newstat_windowtwo.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)])
  688.       when 2
  689.         @newstat_windowtwo.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)])
  690.       when 3
  691.         @newstat_windowtwo.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)])
  692.       end
  693.  
  694.       if @L2_STAT > @LCOUNT
  695.          p 'L2_STAT > LCOUNT for (Player 2) - Please check your LCOUNT #.'
  696.       end
  697.     end
  698.  
  699. #Line Three
  700.  
  701.     #Set Color
  702.     @newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color
  703.  
  704.     if @LINETHREE_ONOFF == true
  705.       @newstat_windowtwo.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) and (@L3_STAT != 4)
  706.       if @L3_STAT < 0
  707.         p 'ERROR: @L3_STAT < 0 for player 2. Please set to a valid value.'
  708.       end
  709.       if @L3_STAT == 1
  710.         @newstat_windowtwo.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)])
  711.       end
  712.       if @L3_STAT == 2
  713.         @newstat_windowtwo.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)])
  714.       end
  715.       if @L3_STAT == 3
  716.         @newstat_windowtwo.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)])
  717.       end
  718.  
  719.       if @L3_STAT > @LCOUNT
  720.          p 'L3_STAT > LCOUNT for (Player 2) - Please check your LCOUNT #.'
  721.       end
  722.     end  
  723.  
  724. #Line Four (Off by default)   
  725. if @LINEFOUR_ONOFF == true
  726.       @newstat_windowtwo.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT)
  727.  
  728.  
  729.       if @L4_STAT < 0
  730.         p 'ERROR: @L4_STAT < 0 for player 2. Please set to a valid value.'
  731.       end
  732.       if @L4_STAT == 1
  733.         @newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)])
  734.       end
  735.       if @L4_STAT == 2
  736.         @newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)])
  737.       end
  738.        if @L4_STAT == 3
  739.         @newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)])
  740.       end
  741.       if @L4_STAT == 4
  742. #       @newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold)
  743.         @newstat_windowtwo.draw_actor_state($game_party.members[1], @L4_X , @L4_Y, 120)
  744.       end
  745.  
  746.       if @L4_STAT > @LCOUNT
  747.          p 'L4_STAT > LCOUNT for (Player 2) - Please check your LCOUNT #.'
  748.       end
  749.       end
  750.  
  751.     @LASTX = (@LASTX + @NS_LOCATION)
  752.     end
  753.  
  754.  
  755. # Party member 3's Box
  756.     def create_newstat_windowthree (ac)
  757.  
  758.     member = []
  759.     hitpoints = []
  760.     magpoints = []
  761.     lev = []
  762.     @item_max = $game_party.members.size
  763.     for actor in $game_party.members
  764.     member.push (actor.name)
  765.     hitpoints.push (actor.hp)
  766.     magpoints.push (actor.mp)
  767.     lev.push (actor.level.to_s)
  768.     end  
  769.  
  770.     width = @BOX_W
  771.     height = @BOX_H
  772.     x = ((@LASTX) /2) - (width/2)
  773.     y = (@BOX_Y + 10)
  774.     @newstat_windowthree = Window_Base.new(x, y, width, height)
  775.  
  776.  
  777.     @newstat_windowthree.create_contents
  778.  
  779.     #Name Line
  780.     if @NAME_ONOFF == true
  781.     @newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color  
  782.     @newstat_windowthree.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)])
  783.     end
  784.  
  785. #Line One
  786.  
  787.     #Set Color
  788.     @newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color
  789.  
  790.     if @LINEONE_ONOFF == true
  791.       @newstat_windowthree.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) and (@L1_STAT != 4)
  792.       if @L1_STAT < 0
  793.         p 'ERROR: @L1_STAT < 0 for player 3. Please set to a valid value.'
  794.       end
  795.       if @L1_STAT == 1
  796.         @newstat_windowthree.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)])
  797.       end
  798.       if @L1_STAT == 2
  799.         @newstat_windowthree.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)])
  800.       end
  801.       if @L1_STAT == 3
  802.         @newstat_windowthree.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)])
  803.       end
  804.       if @L1_STAT > @LCOUNT
  805.          p 'L1_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.'
  806.       end
  807.     end
  808.  
  809. #Line Two
  810.  
  811.     #Set Color
  812.     @newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color
  813.  
  814.     if @LINETWO_ONOFF == true  
  815.       @newstat_windowthree.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) and (@L2_STAT != 4)
  816.       if @L2_STAT < 0
  817.         p 'ERROR: @L2_STAT < 0 for player 3. Please set to a valid value.'
  818.       end
  819.       if @L2_STAT == 1
  820.         @newstat_windowthree.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)])
  821.       end
  822.       if @L2_STAT == 2
  823.         @newstat_windowthree.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)])
  824.       end
  825.       if @L2_STAT == 3
  826.         @newstat_windowthree.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)])
  827.       end
  828.       if @L2_STAT > @LCOUNT
  829.          p 'L2_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.'
  830.       end
  831.     end
  832.  
  833. #Line Three
  834.  
  835.     #Set Color
  836.     @newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color
  837.  
  838.     if @LINETHREE_ONOFF == true
  839.       @newstat_windowthree.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) and (@L3_STAT != 4)
  840.       if @L3_STAT < 0
  841.         p 'ERROR: @L3_STAT < 0 for player 3. Please set to a valid value.'
  842.       end
  843.       if @L3_STAT == 1
  844.         @newstat_windowthree.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)])
  845.       end
  846.       if @L3_STAT == 2
  847.         @newstat_windowthree.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)])
  848.       end
  849.       if @L3_STAT == 3
  850.         @newstat_windowthree.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)])
  851.       end
  852.       if @L3_STAT > @LCOUNT
  853.          p 'L3_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.'
  854.       end
  855.     end  
  856.     #Line Four (Off by default)   
  857. if @LINEFOUR_ONOFF == true
  858.       @newstat_windowthree.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT)
  859.  
  860.  
  861.       if @L4_STAT < 0
  862.         p 'ERROR: @L4_STAT < 0 for player 3. Please set to a valid value.'
  863.       end
  864.       if @L4_STAT == 1
  865.         @newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)])
  866.       end
  867.       if @L4_STAT == 2
  868.         @newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)])
  869.       end
  870.        if @L4_STAT == 3
  871.         @newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)])
  872.       end
  873.       if @L4_STAT == 4
  874. #       @newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold)
  875.         @newstat_windowthree.draw_actor_state($game_party.members[2], @L4_X, @L4_Y, 120)
  876.       end
  877.  
  878.       if @L4_STAT > @LCOUNT
  879.          p 'L4_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.'
  880.       end
  881.       end
  882.  
  883.     @LASTX = (@LASTX + @NS_LOCATION)
  884.     end
  885. #Party Member 4's box
  886.     def create_newstat_windowfour (ac)
  887.  
  888.     member = []
  889.     hitpoints = []
  890.     magpoints = []
  891.     lev = []
  892.     @item_max = $game_party.members.size
  893.     for actor in $game_party.members
  894.     member.push (actor.name)
  895.     hitpoints.push (actor.hp)
  896.     magpoints.push (actor.mp)
  897.     lev.push (actor.level.to_s)
  898.     end  
  899.  
  900.     width = @BOX_W
  901.     height = @BOX_H
  902.     x = ((@LASTX) /2) - (width/2)
  903.     y = (@BOX_Y + 10)
  904.     @newstat_windowfour = Window_Base.new(x, y, width, height)
  905.  
  906.  
  907.     @newstat_windowfour.create_contents
  908.  
  909.         #Name Line
  910.     if @NAME_ONOFF == true
  911.     @newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color  
  912.     @newstat_windowfour.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)])
  913.     end
  914.  
  915. #Line One
  916.  
  917.     #Set Color
  918.     @newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color
  919.  
  920.     if @LINEONE_ONOFF == true   
  921.       @newstat_windowfour.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) and (@L1_STAT != 4)
  922.       if @L1_STAT < 0
  923.         p 'ERROR: @L1_STAT < 0 for player 4. Please set to a valid value.'
  924.       end
  925.       if @L1_STAT == 1
  926.         @newstat_windowfour.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)])
  927.       end
  928.       if @L1_STAT == 2
  929.         @newstat_windowfour.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)])
  930.       end
  931.       if @L1_STAT == 3
  932.         @newstat_windowfour.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)])
  933.       end
  934.       if @L1_STAT > @LCOUNT
  935.         p 'L1_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.'
  936.       end
  937.     end
  938.  
  939. #Line Two
  940.  
  941.     #Set Color
  942.     @newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color
  943.  
  944.     if @LINETWO_ONOFF == true
  945.       @newstat_windowfour.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) and (@L2_STAT != 4)
  946.       if @L2_STAT < 0
  947.         p 'ERROR: @L2_STAT < 0 for player 4. Please set to a valid value.'
  948.       end
  949.       if @L2_STAT == 1
  950.         @newstat_windowfour.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)])
  951.       end
  952.       if @L2_STAT == 2
  953.         @newstat_windowfour.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)])
  954.       end
  955.       if @L2_STAT == 3
  956.         @newstat_windowfour.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)])
  957.       end
  958.       if @L2_STAT > @LCOUNT
  959.         p 'L2_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.'
  960.       end
  961.     end
  962.  
  963. #Line Three
  964.  
  965.     #Set Color
  966.     @newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color
  967.  
  968.     if @LINETHREE_ONOFF == true
  969.       @newstat_windowfour.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) and (@L3_STAT != 4)
  970.       if @L3_STAT < 0
  971.         p 'ERROR: @L3_STAT < 0 for player 4. Please set to a valid value.'
  972.       end
  973.       if @L3_STAT == 1
  974.         @newstat_windowfour.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)])
  975.       end
  976.       if @L3_STAT == 2
  977.         @newstat_windowfour.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)])
  978.       end
  979.       if @L3_STAT == 3
  980.         @newstat_windowfour.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)])
  981.       end
  982.       if @L3_STAT > @LCOUNT
  983.         p 'L3_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.'
  984.       end
  985.     end
  986.   #Line Four (Off by default)   
  987. if @LINEFOUR_ONOFF == true
  988.       @newstat_windowfour.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT)
  989.  
  990.  
  991.       if @L4_STAT < 0
  992.         p 'ERROR: @L4_STAT < 0 for player 4. Please set to a valid value.'
  993.       end
  994.       if @L4_STAT == 1
  995.         @newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)])
  996.       end
  997.       if @L4_STAT == 2
  998.         @newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)])
  999.       end
  1000.        if @L4_STAT == 3
  1001.         @newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)])
  1002.       end
  1003.       if @L4_STAT == 4
  1004. #       @newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold)
  1005.         @newstat_windowfour.draw_actor_state($game_party.members[3], @L4_X, @L4_Y, 120)
  1006.       end
  1007.  
  1008.       if @L4_STAT > @LCOUNT
  1009.         p 'L4_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.'
  1010.       end
  1011.       end      
  1012.     @LASTX = (@LASTX + @NS_LOCATION)
  1013.     end
  1014.  
  1015. # End Character Boxes
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021. def create_command_window
  1022.  
  1023.         s1 = DQ_Menu_Setup::ITEM_1_NAME
  1024.         s2 = DQ_Menu_Setup::ITEM_2_NAME
  1025.         s3 = DQ_Menu_Setup::ITEM_3_NAME
  1026.         s4 = DQ_Menu_Setup::ITEM_4_NAME
  1027.         s5 = DQ_Menu_Setup::ITEM_5_NAME
  1028.         s6 = DQ_Menu_Setup::ITEM_6_NAME
  1029.   s7 = DQ_Menu_Setup::ITEM_7_NAME
  1030.   s8 = DQ_Menu_Setup::ITEM_8_NAME
  1031.   s9 = DQ_Menu_Setup::ITEM_9_NAME
  1032.   s10 = DQ_Menu_Setup::ITEM_10_NAME
  1033.   s11 = DQ_Menu_Setup::ITEM_11_NAME
  1034.   s12 = DQ_Menu_Setup::ITEM_12_NAME
  1035.   if DQ_Menu_Setup::NUM_OF_ITEMS == 0
  1036.   p 'ERROR: Number of items on the main menu is set to 0 or garbage.' while 1 == 1
  1037.     end
  1038.     if DQ_Menu_Setup::NUM_OF_ITEMS == 1  
  1039.   @command_window = Window_Command.new(140, [s1],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
  1040. end
  1041.   if DQ_Menu_Setup::NUM_OF_ITEMS == 2
  1042.   @command_window = Window_Command.new(140, [s1, s2],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
  1043. end
  1044.   if DQ_Menu_Setup::NUM_OF_ITEMS == 3
  1045.   @command_window = Window_Command.new(140, [s1, s2, s3],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
  1046. end
  1047.   if DQ_Menu_Setup::NUM_OF_ITEMS == 4
  1048.   @command_window = Window_Command.new(140, [s1, s2, s3, s4],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
  1049. end
  1050.   if DQ_Menu_Setup::NUM_OF_ITEMS == 5
  1051.   @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
  1052.   end
  1053.  
  1054.   if DQ_Menu_Setup::NUM_OF_ITEMS == 6
  1055.   @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
  1056.   end
  1057.  
  1058.   if DQ_Menu_Setup::NUM_OF_ITEMS == 7
  1059.   @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
  1060.   end
  1061.   if DQ_Menu_Setup::NUM_OF_ITEMS == 8
  1062.   @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6, s7,s8],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS)
  1063.   end
  1064.   if DQ_Menu_Setup::NUM_OF_ITEMS == 9
  1065.   @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)
  1066.   end  
  1067.   if DQ_Menu_Setup::NUM_OF_ITEMS == 10
  1068.   @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)
  1069. end
  1070.   if DQ_Menu_Setup::NUM_OF_ITEMS == 11
  1071.   @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)
  1072. end
  1073.   if DQ_Menu_Setup::NUM_OF_ITEMS == 12
  1074.   @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)
  1075. end
  1076.   if DQ_Menu_Setup::NUM_OF_ITEMS > 12
  1077.   p "出错了: 主菜单上的项目数大于12.", "你需要写更多的行号。" while 1 == 1
  1078.     end
  1079.         @command_window.index = @menu_index
  1080.         @command_window.x = (140 /2) - (@command_window.width/2) # 主菜单 X轴 MENU_WINDOW_X
  1081.         @command_window.y = Wor_Litemenu::MENU_WINDOW_Y
  1082.  
  1083. if $game_party.members.size == 0
  1084. p 'error - 0 party members. Lock the menu here.'
  1085. end
  1086.  
  1087. if $game_system.save_disabled
  1088.           @command_window.draw_item(4, false)
  1089. end
  1090.  
  1091. end
  1092.  
  1093. # Command Selection Re-Write
  1094.  
  1095. def update_command_selection
  1096.  
  1097.     if Input.trigger?(Input::B)
  1098.       Sound.play_cancel
  1099.       $scene = Scene_Map.new
  1100.     elsif Input.trigger?(Input::C)
  1101.       if $game_party.members.size == 0 and @command_window.index < 4 #- 4
  1102.         Sound.play_buzzer
  1103.         return
  1104.       elsif $game_system.save_disabled and @command_window.index == 4 #- 4
  1105.         Sound.play_buzzer
  1106.         return
  1107.       end
  1108.       Sound.play_decision
  1109.  
  1110.  
  1111.       case @command_window.index
  1112.  
  1113.  
  1114.       when 0      # Item 1 on the menu
  1115.  
  1116.         #$scene = DQ_Menu_Setup::ITEM_1_STRING if DQ_Menu_Setup::ITEM_1_TYPE == 1
  1117.         start_DQStatus_selection if DQ_Menu_Setup::ITEM_1_TYPE == 3
  1118.         $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_1_TYPE == 5
  1119.         $scene = Scene_End.new if DQ_Menu_Setup::ITEM_1_TYPE == 6
  1120.         $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_1_TYPE == 7
  1121.         @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_1_TYPE == 8
  1122.         start_DQWho_selection if DQ_Menu_Setup::ITEM_1_TYPE == 8
  1123.  
  1124.         @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_1_TYPE == 9
  1125.         start_DQWho_selection if DQ_Menu_Setup::ITEM_1_TYPE == 9
  1126.  
  1127.         @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_1_TYPE == 10
  1128.         start_DQWho_selection if DQ_Menu_Setup::ITEM_1_TYPE == 10
  1129.       when 1  
  1130.         # @dqwhotype = 'equip' # left this here as a reminder. Should be placed for
  1131.         #item type for equip menu
  1132.         #start_DQWho_selection
  1133.         start_DQStatus_selection if DQ_Menu_Setup::ITEM_2_TYPE == 3
  1134.         $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_2_TYPE == 5
  1135.         $scene = Scene_End.new if DQ_Menu_Setup::ITEM_2_TYPE == 6
  1136.         $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_2_TYPE == 7
  1137.         @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_2_TYPE == 8
  1138.         start_DQWho_selection if DQ_Menu_Setup::ITEM_2_TYPE == 8
  1139.  
  1140.         @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_2_TYPE == 9
  1141.         start_DQWho_selection if DQ_Menu_Setup::ITEM_2_TYPE == 9
  1142.  
  1143.         @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_2_TYPE == 10
  1144.         start_DQWho_selection if DQ_Menu_Setup::ITEM_2_TYPE == 10
  1145.       when 2  # Skill, equipment, status
  1146.         start_DQStatus_selection if DQ_Menu_Setup::ITEM_3_TYPE == 3
  1147.         $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_3_TYPE == 5
  1148.         $scene = Scene_End.new if DQ_Menu_Setup::ITEM_3_TYPE == 6
  1149.         $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_3_TYPE == 7
  1150.         @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_3_TYPE == 8
  1151.         start_DQWho_selection if DQ_Menu_Setup::ITEM_3_TYPE == 8
  1152.  
  1153.         @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_3_TYPE == 9
  1154.         start_DQWho_selection if DQ_Menu_Setup::ITEM_3_TYPE == 9
  1155.  
  1156.         @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_3_TYPE == 10
  1157.         start_DQWho_selection if DQ_Menu_Setup::ITEM_3_TYPE == 10
  1158.  
  1159.       when 3      
  1160.         start_DQStatus_selection if DQ_Menu_Setup::ITEM_4_TYPE == 3
  1161.         $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_4_TYPE == 5
  1162.         $scene = Scene_End.new if DQ_Menu_Setup::ITEM_4_TYPE == 6
  1163.         $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_4_TYPE == 7
  1164.         @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_4_TYPE == 8
  1165.         start_DQWho_selection if DQ_Menu_Setup::ITEM_4_TYPE == 8
  1166.  
  1167.         @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_4_TYPE == 9
  1168.         start_DQWho_selection if DQ_Menu_Setup::ITEM_4_TYPE == 9
  1169.  
  1170.         @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_4_TYPE == 10
  1171.         start_DQWho_selection if DQ_Menu_Setup::ITEM_4_TYPE == 10
  1172.       when 4
  1173.         start_DQStatus_selection if DQ_Menu_Setup::ITEM_5_TYPE == 3
  1174.         $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_5_TYPE == 5
  1175.         $scene = Scene_End.new if DQ_Menu_Setup::ITEM_5_TYPE == 6
  1176.         $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_5_TYPE == 7
  1177.         @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_5_TYPE == 8
  1178.         start_DQWho_selection if DQ_Menu_Setup::ITEM_5_TYPE == 8
  1179.  
  1180.         @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_5_TYPE == 9
  1181.         start_DQWho_selection if DQ_Menu_Setup::ITEM_5_TYPE == 9
  1182.  
  1183.         @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_5_TYPE == 10
  1184.         start_DQWho_selection if DQ_Menu_Setup::ITEM_5_TYPE == 10
  1185.       when 5      
  1186.         start_DQStatus_selection if DQ_Menu_Setup::ITEM_6_TYPE == 3
  1187.         $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_6_TYPE == 5
  1188.         $scene = Scene_End.new if DQ_Menu_Setup::ITEM_6_TYPE == 6
  1189.         $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_6_TYPE == 7
  1190.         @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_6_TYPE == 8
  1191.         start_DQWho_selection if DQ_Menu_Setup::ITEM_6_TYPE == 8
  1192.  
  1193.         @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_6_TYPE == 9
  1194.         start_DQWho_selection if DQ_Menu_Setup::ITEM_6_TYPE == 9
  1195.  
  1196.         @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_6_TYPE == 10
  1197.         start_DQWho_selection if DQ_Menu_Setup::ITEM_6_TYPE == 10
  1198.       when 6
  1199.         start_DQStatus_selection if DQ_Menu_Setup::ITEM_7_TYPE == 3
  1200.         $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_7_TYPE == 5
  1201.         $scene = Scene_End.new if DQ_Menu_Setup::ITEM_7_TYPE == 6
  1202.         $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_7_TYPE == 7
  1203.         @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_7_TYPE == 8
  1204.         start_DQWho_selection if DQ_Menu_Setup::ITEM_7_TYPE == 8
  1205.  
  1206.         @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_7_TYPE == 9
  1207.         start_DQWho_selection if DQ_Menu_Setup::ITEM_7_TYPE == 9
  1208.  
  1209.         @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_7_TYPE == 10
  1210.         start_DQWho_selection if DQ_Menu_Setup::ITEM_7_TYPE == 10
  1211.       when 7
  1212.         start_DQStatus_selection if DQ_Menu_Setup::ITEM_8_TYPE == 3
  1213.         $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_8_TYPE == 5
  1214.         $scene = Scene_End.new if DQ_Menu_Setup::ITEM_8_TYPE == 6
  1215.         $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_8_TYPE == 7
  1216.         @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_8_TYPE == 8
  1217.         start_DQWho_selection if DQ_Menu_Setup::ITEM_8_TYPE == 8
  1218.  
  1219.         @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_8_TYPE == 9
  1220.         start_DQWho_selection if DQ_Menu_Setup::ITEM_8_TYPE == 9
  1221.  
  1222.         @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_8_TYPE == 10
  1223.         start_DQWho_selection if DQ_Menu_Setup::ITEM_8_TYPE == 10
  1224.         when 8
  1225.         start_DQStatus_selection if DQ_Menu_Setup::ITEM_9_TYPE == 3
  1226.         $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_9_TYPE == 5
  1227.         $scene = Scene_End.new if DQ_Menu_Setup::ITEM_9_TYPE == 6
  1228.         $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_9_TYPE == 7
  1229.         @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_9_TYPE == 8
  1230.         start_DQWho_selection if DQ_Menu_Setup::ITEM_9_TYPE == 8
  1231.  
  1232.         @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_9_TYPE == 9
  1233.         start_DQWho_selection if DQ_Menu_Setup::ITEM_9_TYPE == 9
  1234.  
  1235.         @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_9_TYPE == 10
  1236.         start_DQWho_selection if DQ_Menu_Setup::ITEM_9_TYPE == 10
  1237.           when 9
  1238.         start_DQStatus_selection if DQ_Menu_Setup::ITEM_10_TYPE == 3
  1239.         $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_10_TYPE == 5
  1240.         $scene = Scene_End.new if DQ_Menu_Setup::ITEM_10_TYPE == 6
  1241.         $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_10_TYPE == 7
  1242.         @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_10_TYPE == 8
  1243.         start_DQWho_selection if DQ_Menu_Setup::ITEM_10_TYPE == 8
  1244.  
  1245.         @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_10_TYPE == 9
  1246.         start_DQWho_selection if DQ_Menu_Setup::ITEM_10_TYPE == 9
  1247.  
  1248.         @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_10_TYPE == 10
  1249.         start_DQWho_selection if DQ_Menu_Setup::ITEM_10_TYPE == 10   
  1250.             when 10
  1251.         start_DQStatus_selection if DQ_Menu_Setup::ITEM_11_TYPE == 3
  1252.         $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_11_TYPE == 5
  1253.         $scene = Scene_End.new if DQ_Menu_Setup::ITEM_11_TYPE == 6
  1254.         $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_11_TYPE == 7
  1255.         @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_11_TYPE == 8
  1256.         start_DQWho_selection if DQ_Menu_Setup::ITEM_11_TYPE == 8
  1257.  
  1258.         @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_11_TYPE == 9
  1259.         start_DQWho_selection if DQ_Menu_Setup::ITEM_11_TYPE == 9
  1260.  
  1261.         @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_11_TYPE == 10
  1262.         start_DQWho_selection if DQ_Menu_Setup::ITEM_11_TYPE == 10      
  1263.             when 11
  1264.         start_DQStatus_selection if DQ_Menu_Setup::ITEM_12_TYPE == 3
  1265.         $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_12_TYPE == 5
  1266.         $scene = Scene_End.new if DQ_Menu_Setup::ITEM_12_TYPE == 6
  1267.         $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_12_TYPE == 7
  1268.         @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_12_TYPE == 8
  1269.         start_DQWho_selection if DQ_Menu_Setup::ITEM_12_TYPE == 8
  1270.  
  1271.         @dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_12_TYPE == 9
  1272.         start_DQWho_selection if DQ_Menu_Setup::ITEM_12_TYPE == 9
  1273.  
  1274.         @dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_12_TYPE == 10
  1275.         start_DQWho_selection if DQ_Menu_Setup::ITEM_12_TYPE == 10
  1276.       end
  1277.     end
  1278.   end
  1279.  
  1280.  
  1281. ########################BEGIN DQ STYLE STATUS MENU ###################
  1282.  
  1283.  
  1284. #创建DQ风格状态窗口
  1285.  
  1286. def create_dqs_window
  1287.     s1 = "HP & MP"
  1288.     s2 = "全员概要"
  1289.     s3 = "角色详情"
  1290.     @dqs_window = Window_Command.new(140, [s1,s2,s3])
  1291.     @dqs_window.height = 130
  1292.     @dqs_window.x = 0
  1293.     @dqs_window.y = 50
  1294.     @dqs_window.index = 4
  1295.     @dqs_window.visible = false
  1296.  
  1297.   end
  1298.  
  1299. #自定义DQ样式成员选择菜单
  1300. def create_dqwho_window
  1301.   member = []
  1302.   acount = 0;
  1303.   for actor in $game_party.members  
  1304.     member.push (" " + actor.name)
  1305.     acount = acount+1
  1306.   end
  1307.  
  1308.    case acount
  1309.  
  1310.    when 1
  1311.      @dqwho_window = Window_Command.new(140, [member[0]])
  1312.    when 2
  1313.      @dqwho_window = Window_Command.new(140, [member[0], member[1]])
  1314.    when 3
  1315.      @dqwho_window = Window_Command.new(140, [member[0], member[1], member[2]])
  1316.    when 4
  1317.      @dqwho_window = Window_Command.new(140, [member[0], member[1], member[2], member[3]])
  1318. end
  1319.  
  1320.     @dqwho_window.height = 130
  1321.     @dqwho_window.x = 0
  1322.     @dqwho_window.y = 50
  1323.     @dqwho_window.index = 4
  1324.     @dqwho_window.visible = false
  1325.  
  1326.   end
  1327. #在状态下创建HP/MP显示
  1328.  
  1329. def create_DQStatus_HPMP_window ()
  1330.  
  1331.   @W_PERCHAR = 0
  1332.    @spacer = 0
  1333.     member = []
  1334.     @item_max = $game_party.members.size
  1335.     for actor in $game_party.members
  1336.     member.push (actor.name)
  1337.     @W_PERCHAR = @W_PERCHAR + 103
  1338.     end  
  1339.  
  1340.     width = @W_PERCHAR
  1341.     height = 200
  1342.     x = (134)
  1343.     y = (-20)
  1344.  
  1345.     @DQStatus_HPMP_window = Window_Base.new(x, y, width, height)
  1346.  
  1347.  
  1348.  
  1349.      @DQStatus_HPMP_window.create_contents
  1350.      @DQStatus_HPMP_window.contents.font.name = DQ_Status_Setup::STATUS_FONT
  1351.  
  1352. # 输出
  1353. for actor in $game_party.members
  1354.     @DQStatus_HPMP_window.contents.font.color = @DQStatus_HPMP_window.normal_color  
  1355. #    @DQStatus_HPMP_window.contents.draw_text(@TEMPX, -60, 300, 150, (@spacer + 1).to_s + ':')
  1356.     @DQStatus_HPMP_window.contents.draw_text(@TEMPX, -40, 300, 150, actor.name.to_s)
  1357. #HP Display
  1358.     @DQStatus_HPMP_window.contents.draw_text(@TEMPX, -10, 300, 150, 'HP')
  1359.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), -10, 300, 150,actor.hp.to_s) if actor.maxhp >= 100
  1360.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), -10, 300, 150,' ' + actor.hp.to_s) if actor.maxhp < 100 and actor.maxhp >=10
  1361.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), -10, 300, 150,'  ' + actor.hp.to_s) if actor.maxhp < 10
  1362.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 0),  0, 300, 150, '-------')
  1363.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 10, 300, 150,actor.maxhp.to_s) if actor.maxhp >= 100
  1364.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 10, 300, 150,' ' + actor.maxhp.to_s) if actor.maxhp < 100 and actor.maxhp >=10
  1365.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 10, 300, 150,'  ' + actor.maxhp.to_s) if actor.maxhp < 10
  1366. #MP Diaplay   
  1367.     @DQStatus_HPMP_window.contents.draw_text(@TEMPX, 50, 300, 150, 'MP')
  1368.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 50, 300, 150,actor.mp.to_s) if actor.maxmp >= 100
  1369.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 50, 300, 150,' ' + actor.mp.to_s) if actor.maxmp < 100 and actor.maxmp >=10
  1370.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 50, 300, 150,'  ' + actor.mp.to_s) if actor.maxmp < 10
  1371.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 0),  60, 300, 150, '-------')
  1372.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 70, 300, 150,actor.maxmp.to_s) if actor.maxmp >= 100
  1373.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 70, 300, 150,' ' + actor.maxmp.to_s) if actor.maxmp < 100 and actor.maxmp >=10
  1374.     @DQStatus_HPMP_window.contents.draw_text((@TEMPX + 40), 70, 300, 150,'  ' + actor.maxmp.to_s) if actor.maxmp < 10   
  1375.     @TEMPX = @TEMPX + 100
  1376.     end
  1377.  
  1378.     @spacer = @spacer + 1
  1379.  
  1380.   @TEMPX = 0
  1381.   @DQStatus_HPMP_window.visible = false
  1382.   end  
  1383.  
  1384. #Create the Attack Power Display under Status  
  1385.  
  1386. def create_DQStatus_ATTACK_window ()
  1387.  
  1388.    @spacer = 0
  1389.    @H_PERCHAR = 0
  1390.     member = []
  1391.     @item_max = $game_party.members.size
  1392.     for actor in $game_party.members
  1393.     member.push (actor.name)
  1394.     @H_PERCHAR = @H_PERCHAR + 25
  1395.     end  
  1396.  
  1397.     width = 410
  1398.     height = 88 + @H_PERCHAR
  1399.     x = (135)
  1400.     y = (-10)
  1401.  
  1402.     @DQStatus_ATTACK_window = Window_Base.new(x, y, width, height)
  1403.  
  1404.  
  1405.  
  1406.      @DQStatus_ATTACK_window.create_contents   
  1407.      @DQStatus_ATTACK_window.contents.font.name = DQ_Status_Setup::STATUS_FONT
  1408. #Output
  1409.  
  1410. #HEADER
  1411.     @DQStatus_ATTACK_window.contents.draw_text(0, -50, 300, 150, "成员")
  1412.     @DQStatus_ATTACK_window.contents.draw_text(110, -50, 300, 150, "等级")
  1413.     @DQStatus_ATTACK_window.contents.draw_text(165, -50, 300, 150, "力量")
  1414.     @DQStatus_ATTACK_window.contents.draw_text(225, -50, 300, 150, "物防")
  1415.     @DQStatus_ATTACK_window.contents.draw_text(285, -50, 300, 150, "智慧")
  1416.     @DQStatus_ATTACK_window.contents.draw_text(345, -50, 300, 150, "敏捷")
  1417.     @DQStatus_ATTACK_window.contents.draw_text(-30, -40, 420, 150, '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------')
  1418.  
  1419.  
  1420. for actor in $game_party.members
  1421.     @DQStatus_ATTACK_window.contents.font.color = @DQStatus_ATTACK_window.normal_color  
  1422.  
  1423.  
  1424. #显示每个成员
  1425.     @DQStatus_ATTACK_window.contents.draw_text(0, @TEMPY - 20 , 300, 150, actor.name.to_s)
  1426.     @DQStatus_ATTACK_window.contents.draw_text(120,@TEMPY - 20, 300, 150, actor.level.to_s)
  1427.     @DQStatus_ATTACK_window.contents.draw_text(170, @TEMPY - 20, 300, 150, actor.atk.to_s)
  1428.     @DQStatus_ATTACK_window.contents.draw_text(230, @TEMPY - 20, 300, 150, actor.def.to_s)
  1429.     @DQStatus_ATTACK_window.contents.draw_text(290, @TEMPY - 20, 300, 150, actor.spi.to_s)
  1430.     @DQStatus_ATTACK_window.contents.draw_text(350, @TEMPY - 20, 300, 150, actor.agi.to_s)
  1431.  
  1432.     @TEMPY = @TEMPY + 25
  1433.  
  1434.     end
  1435.     @TEMPY = 0
  1436.     @spacer = @spacer + 1
  1437.  
  1438. @DQStatus_ATTACK_window.active = false
  1439. @DQStatus_ATTACK_window.visible = false
  1440.   end   
  1441.  
  1442.  
  1443.  
  1444. # 创建完整状态窗口(显示全部的右侧屏幕)
  1445.  
  1446. def create_DQStatus_FullStat_window (actorstat)
  1447. @dqs_window.active = false
  1448.   create_DQStatus_FullStatChar_window(actorstat) #Calls the character (right) window
  1449.  
  1450.   #This next part determines the longest string size in use (to line up lines)
  1451.   xpos = 0
  1452.   if DQ_Status_Setup::LINE_1_ONOFF == true
  1453.     xpos = DQ_Status_Setup::LINE_1_STRING.size if DQ_Status_Setup::LINE_1_STRING.size >= xpos
  1454.     end
  1455.     if DQ_Status_Setup::LINE_2_ONOFF == true
  1456.     xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
  1457.   end  
  1458.   if DQ_Status_Setup::LINE_3_ONOFF == true
  1459.     xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
  1460.   end  
  1461.   if DQ_Status_Setup::LINE_4_ONOFF == true
  1462.     xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
  1463.   end  
  1464.   if DQ_Status_Setup::LINE_5_ONOFF == true
  1465.     xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
  1466.   end  
  1467.   if DQ_Status_Setup::LINE_6_ONOFF == true
  1468.     xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
  1469.   end  
  1470.   if DQ_Status_Setup::LINE_7_ONOFF == true
  1471.     xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
  1472.   end  
  1473.   if DQ_Status_Setup::LINE_8_ONOFF == true
  1474.     xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
  1475.   end  
  1476.   if DQ_Status_Setup::LINE_9_ONOFF == true
  1477.     xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
  1478.   end  
  1479.   if DQ_Status_Setup::LINE_10_ONOFF == true
  1480.     xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
  1481.   end  
  1482.   if DQ_Status_Setup::LINE_11_ONOFF == true
  1483.     xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
  1484.   end
  1485.   if DQ_Status_Setup::LINE_12_ONOFF == true
  1486.     xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos
  1487.   end   
  1488.  
  1489.     @dqs_window.active = false
  1490.     @dqwho_window.active = false
  1491.     @spacer = 10
  1492.     width = 411
  1493.     height = 290
  1494.     x = (134)
  1495.     y = (-10)
  1496.  
  1497.     @DQStatus_FullStat_window = Window_Base.new(x, y, width, height)
  1498.      @DQStatus_FullStat_window.create_contents   
  1499.      @DQStatus_FullStat_window.contents.font.name = DQ_Status_Setup::STATUS_FONT
  1500.     @DQStatus_FullStat_window.contents.font.color = @DQStatus_FullStat_window.normal_color
  1501. # Line 1 Output
  1502. if DQ_Status_Setup::LINE_1_ONOFF == true
  1503.     @DQStatus_FullStat_window.contents.draw_text(xpos, -65, 350, 150, DQ_Status_Setup::LINE_1_STRING + DQ_Status_Setup::SEP)
  1504.     @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_1_TYPE == 1
  1505.     @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_1_TYPE == 2
  1506.     @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_1_TYPE == 3
  1507.     @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_1_TYPE == 4
  1508.     @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_1_TYPE == 5
  1509.     @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_1_TYPE == 6
  1510.     @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_1_TYPE == 7
  1511.     @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_1_TYPE == 8
  1512.     @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_1_TYPE == 9
  1513.     @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_1_TYPE == 10
  1514.     @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_1_TYPE == 11
  1515.     @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_1_TYPE == 12
  1516.     @DQStatus_FullStat_window.contents.draw_text(250, -65, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_1_TYPE == 13
  1517. end        
  1518. # Line 2 output
  1519. if DQ_Status_Setup::LINE_2_ONOFF == true
  1520.     @DQStatus_FullStat_window.contents.draw_text(xpos, -45, 350, 150, DQ_Status_Setup::LINE_2_STRING + DQ_Status_Setup::SEP)
  1521.     @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_2_TYPE == 1
  1522.     @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_2_TYPE == 2
  1523.     @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_2_TYPE == 3
  1524.     @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_2_TYPE == 4
  1525.     @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_2_TYPE == 5
  1526.     @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_2_TYPE == 6
  1527.     @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_2_TYPE == 7
  1528.     @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_2_TYPE == 8
  1529.     @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_2_TYPE == 9
  1530.     @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_2_TYPE == 10
  1531.     @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_2_TYPE == 11
  1532.     @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_2_TYPE == 12
  1533.     @DQStatus_FullStat_window.contents.draw_text(250, -45, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_2_TYPE == 13
  1534. end      
  1535. # Line 3 output        
  1536. if DQ_Status_Setup::LINE_3_ONOFF == true
  1537.     @DQStatus_FullStat_window.contents.draw_text(xpos, -25, 350, 150, DQ_Status_Setup::LINE_3_STRING + DQ_Status_Setup::SEP)
  1538.     @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_3_TYPE == 1
  1539.     @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_3_TYPE == 2
  1540.     @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_3_TYPE == 3
  1541.     @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_3_TYPE == 4
  1542.     @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_3_TYPE == 5
  1543.     @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_3_TYPE == 6
  1544.     @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_3_TYPE == 7
  1545.     @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_3_TYPE == 8
  1546.     @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_3_TYPE == 9
  1547.     @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_3_TYPE == 10
  1548.     @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_3_TYPE == 11
  1549.     @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_3_TYPE == 12
  1550.     @DQStatus_FullStat_window.contents.draw_text(250, -25, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_3_TYPE == 13
  1551. end   
  1552. # Line 4 output              
  1553. if DQ_Status_Setup::LINE_4_ONOFF == true
  1554.     @DQStatus_FullStat_window.contents.draw_text(xpos, -5, 350, 150, DQ_Status_Setup::LINE_4_STRING + DQ_Status_Setup::SEP)
  1555.     @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_4_TYPE == 1
  1556.     @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_4_TYPE == 2
  1557.     @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_4_TYPE == 3
  1558.     @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_4_TYPE == 4
  1559.     @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_4_TYPE == 5
  1560.     @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_4_TYPE == 6
  1561.     @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_4_TYPE == 7
  1562.     @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_4_TYPE == 8
  1563.     @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_4_TYPE == 9
  1564.     @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_4_TYPE == 10
  1565.     @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_4_TYPE == 11
  1566.     @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_4_TYPE == 12
  1567.     @DQStatus_FullStat_window.contents.draw_text(250, -5, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_4_TYPE == 13
  1568. end      
  1569. # Line 5 output           
  1570. if DQ_Status_Setup::LINE_5_ONOFF == true
  1571.     @DQStatus_FullStat_window.contents.draw_text(xpos, 15, 350, 150, DQ_Status_Setup::LINE_5_STRING + DQ_Status_Setup::SEP)
  1572.     @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_5_TYPE == 1
  1573.     @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_5_TYPE == 2
  1574.     @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_5_TYPE == 3
  1575.     @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_5_TYPE == 4
  1576.     @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_5_TYPE == 5
  1577.     @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_5_TYPE == 6
  1578.     @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_5_TYPE == 7
  1579.     @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_5_TYPE == 8
  1580.     @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_5_TYPE == 9
  1581.     @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_5_TYPE == 10
  1582.     @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_5_TYPE == 11
  1583.     @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_5_TYPE == 12
  1584.     @DQStatus_FullStat_window.contents.draw_text(250, 15, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_5_TYPE == 13
  1585. end   
  1586. # Line 6 output     
  1587. if DQ_Status_Setup::LINE_6_ONOFF == true
  1588.     @DQStatus_FullStat_window.contents.draw_text(xpos, 35, 350, 150, DQ_Status_Setup::LINE_6_STRING + DQ_Status_Setup::SEP)
  1589.     @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_6_TYPE == 1
  1590.     @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_6_TYPE == 2
  1591.     @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_6_TYPE == 3
  1592.     @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_6_TYPE == 4
  1593.     @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_6_TYPE == 5
  1594.     @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_6_TYPE == 6
  1595.     @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_6_TYPE == 7
  1596.     @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_6_TYPE == 8
  1597.     @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_6_TYPE == 9
  1598.     @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_6_TYPE == 10
  1599.     @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_6_TYPE == 11
  1600.     @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_6_TYPE == 12
  1601.     @DQStatus_FullStat_window.contents.draw_text(250, 35, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_6_TYPE == 13
  1602.   end   
  1603. # Line 7 output     
  1604. if DQ_Status_Setup::LINE_7_ONOFF == true
  1605.     @DQStatus_FullStat_window.contents.draw_text(xpos, 55, 350, 150, DQ_Status_Setup::LINE_7_STRING + DQ_Status_Setup::SEP)
  1606.     @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_7_TYPE == 1
  1607.     @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_7_TYPE == 2
  1608.     @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_7_TYPE == 3
  1609.     @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_7_TYPE == 4
  1610.     @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_7_TYPE == 5
  1611.     @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_7_TYPE == 6
  1612.     @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_7_TYPE == 7
  1613.     @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_7_TYPE == 8
  1614.     @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_7_TYPE == 9
  1615.     @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_7_TYPE == 10
  1616.     @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_7_TYPE == 11
  1617.     @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_7_TYPE == 12
  1618.     @DQStatus_FullStat_window.contents.draw_text(250, 55, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_7_TYPE == 13
  1619.   end   
  1620. # Line 8 output     
  1621. if DQ_Status_Setup::LINE_8_ONOFF == true
  1622.     @DQStatus_FullStat_window.contents.draw_text(xpos, 75, 350, 150, DQ_Status_Setup::LINE_8_STRING + DQ_Status_Setup::SEP)
  1623.     @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_8_TYPE == 1
  1624.     @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_8_TYPE == 2
  1625.     @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_8_TYPE == 3
  1626.     @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_8_TYPE == 4
  1627.     @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_8_TYPE == 5
  1628.     @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_8_TYPE == 6
  1629.     @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_8_TYPE == 7
  1630.     @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_8_TYPE == 8
  1631.     @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_8_TYPE == 9
  1632.     @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_8_TYPE == 10
  1633.     @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_8_TYPE == 11
  1634.     @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_8_TYPE == 12
  1635.     @DQStatus_FullStat_window.contents.draw_text(250, 75, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_8_TYPE == 13
  1636.   end   
  1637. # Line 9 output     
  1638. if DQ_Status_Setup::LINE_9_ONOFF == true
  1639.     @DQStatus_FullStat_window.contents.draw_text(xpos, 95, 350, 150, DQ_Status_Setup::LINE_9_STRING + DQ_Status_Setup::SEP)
  1640.     @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_9_TYPE == 1
  1641.     @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_9_TYPE == 2
  1642.     @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_9_TYPE == 3
  1643.     @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_9_TYPE == 4
  1644.     @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_9_TYPE == 5
  1645.     @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_9_TYPE == 6
  1646.     @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_9_TYPE == 7
  1647.     @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_9_TYPE == 8
  1648.     @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_9_TYPE == 9
  1649.     @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_9_TYPE == 10
  1650.     @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_9_TYPE == 11
  1651.     @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_9_TYPE == 12
  1652.     @DQStatus_FullStat_window.contents.draw_text(250, 95, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_9_TYPE == 13
  1653.   end   
  1654. # Line 10 output     
  1655. if DQ_Status_Setup::LINE_10_ONOFF == true
  1656.     @DQStatus_FullStat_window.contents.draw_text(xpos, 115, 350, 150, DQ_Status_Setup::LINE_10_STRING + DQ_Status_Setup::SEP)
  1657.     @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_10_TYPE == 1
  1658.     @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_10_TYPE == 2
  1659.     @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_10_TYPE == 3
  1660.     @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_10_TYPE == 4
  1661.     @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_10_TYPE == 5
  1662.     @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_10_TYPE == 6
  1663.     @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_10_TYPE == 7
  1664.     @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_10_TYPE == 8
  1665.     @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_10_TYPE == 9
  1666.     @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_10_TYPE == 10
  1667.     @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_10_TYPE == 11
  1668.     @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_10_TYPE == 12
  1669.     @DQStatus_FullStat_window.contents.draw_text(250, 115, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_10_TYPE == 13
  1670. end     
  1671. # Line 11 output     
  1672. if DQ_Status_Setup::LINE_11_ONOFF == true
  1673.     @DQStatus_FullStat_window.contents.draw_text(xpos, 135, 350, 150, DQ_Status_Setup::LINE_11_STRING + DQ_Status_Setup::SEP)
  1674.     @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_11_TYPE == 1
  1675.     @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_11_TYPE == 2
  1676.     @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_11_TYPE == 3
  1677.     @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_11_TYPE == 4
  1678.     @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_11_TYPE == 5
  1679.     @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_11_TYPE == 6
  1680.     @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_11_TYPE == 7
  1681.     @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_11_TYPE == 8
  1682.     @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_11_TYPE == 9
  1683.     @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_11_TYPE == 10
  1684.     @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_11_TYPE == 11
  1685.     @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_11_TYPE == 12
  1686.     @DQStatus_FullStat_window.contents.draw_text(250, 135, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_11_TYPE == 13
  1687. end     
  1688. # Line 12 output     
  1689. if DQ_Status_Setup::LINE_12_ONOFF == true
  1690.     @DQStatus_FullStat_window.contents.draw_text(xpos, 155, 350, 150, DQ_Status_Setup::LINE_12_STRING + DQ_Status_Setup::SEP)
  1691.     @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.atk) if DQ_Status_Setup::LINE_12_TYPE == 1
  1692.     @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.agi) if DQ_Status_Setup::LINE_12_TYPE == 2
  1693.     @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.spi) if DQ_Status_Setup::LINE_12_TYPE == 3
  1694.     @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.class.name) if DQ_Status_Setup::LINE_12_TYPE == 4
  1695.     @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.def) if DQ_Status_Setup::LINE_12_TYPE == 5
  1696.     @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.hp) if DQ_Status_Setup::LINE_12_TYPE == 6
  1697.     @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.mp) if DQ_Status_Setup::LINE_12_TYPE == 7
  1698.     @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.maxhp) if DQ_Status_Setup::LINE_12_TYPE == 8
  1699.     @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.maxmp) if DQ_Status_Setup::LINE_12_TYPE == 9
  1700.     @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.exp) if DQ_Status_Setup::LINE_12_TYPE == 10
  1701.     @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::LINE_12_TYPE == 11
  1702.     @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.name) if DQ_Status_Setup::LINE_12_TYPE == 12
  1703.     @DQStatus_FullStat_window.contents.draw_text(250, 155, 300, 150, actorstat.level) if DQ_Status_Setup::LINE_12_TYPE == 13
  1704. end   
  1705.   end   
  1706.  
  1707.  
  1708. #Create the right window in the "See All Stats" section under Status  
  1709.  
  1710. def create_DQStatus_FullStatChar_window (actorstat)
  1711.  
  1712.     member = []
  1713.     for actor in $game_party.members
  1714.     member.push (actor.name)
  1715.     end  
  1716.   # 查看强度》个人详情》选择角色后显示的预览小窗
  1717.     width = 50
  1718.     height = 50
  1719.     x = (-100)
  1720.     y = (-100)
  1721.  
  1722.     @DQStatus_FullStatChar_window = Window_Base.new(x, y, width, height)
  1723.  
  1724.  
  1725.  
  1726.      @DQStatus_FullStatChar_window.create_contents   
  1727.      @DQStatus_FullStatChar_window.contents.font.name = DQ_Status_Setup::STATUS_FONT
  1728. #output player name
  1729.     @DQStatus_FullStatChar_window.contents.draw_text(0, -65, 300, 150, actorstat.name) if DQ_Status_Setup::UL_NAME_ONOFF == true
  1730.     @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
  1731.  
  1732. # Line 1 output     
  1733. if DQ_Status_Setup::UL_LINE_1_ONOFF == true  
  1734.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 350, 150, DQ_Status_Setup::UL_LINE_1_STRING + DQ_Status_Setup::UL_SEP)
  1735.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_1_TYPE == 1
  1736.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_1_TYPE == 2
  1737.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_1_TYPE == 3
  1738.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_1_TYPE == 4
  1739.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_1_TYPE == 5
  1740.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_1_TYPE == 6
  1741.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_1_TYPE == 7
  1742.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_1_TYPE == 8
  1743.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_1_TYPE == 9
  1744.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_1_TYPE == 10
  1745.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_1_TYPE == 11
  1746.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_1_TYPE == 12
  1747.     @DQStatus_FullStatChar_window.contents.draw_text(100, -30, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_1_TYPE == 13
  1748. end     
  1749.  
  1750. # Line 2 output     
  1751. if DQ_Status_Setup::UL_LINE_2_ONOFF == true
  1752.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 350, 150, DQ_Status_Setup::UL_LINE_2_STRING + DQ_Status_Setup::UL_SEP)
  1753.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_2_TYPE == 1
  1754.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_2_TYPE == 2
  1755.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_2_TYPE == 3
  1756.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_2_TYPE == 4
  1757.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_2_TYPE == 5
  1758.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_2_TYPE == 6
  1759.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_2_TYPE == 7
  1760.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_2_TYPE == 8
  1761.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_2_TYPE == 9
  1762.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_2_TYPE == 10
  1763.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_2_TYPE == 11
  1764.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_2_TYPE == 12
  1765.     @DQStatus_FullStatChar_window.contents.draw_text(100, -10, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_2_TYPE == 13
  1766. end
  1767.  
  1768. # Line 3 output     
  1769. if DQ_Status_Setup::UL_LINE_3_ONOFF == true
  1770.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 350, 150, DQ_Status_Setup::UL_LINE_3_STRING + DQ_Status_Setup::UL_SEP)
  1771.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_3_TYPE == 1
  1772.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_3_TYPE == 2
  1773.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_3_TYPE == 3
  1774.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_3_TYPE == 4
  1775.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_3_TYPE == 5
  1776.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_3_TYPE == 6
  1777.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_3_TYPE == 7
  1778.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_3_TYPE == 8
  1779.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_3_TYPE == 9
  1780.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_3_TYPE == 10
  1781.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_3_TYPE == 11
  1782.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_3_TYPE == 12
  1783.     @DQStatus_FullStatChar_window.contents.draw_text(100, 10, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_3_TYPE == 13
  1784.   end
  1785.  
  1786.   # Line 4 output     
  1787. if DQ_Status_Setup::UL_LINE_4_ONOFF == true
  1788.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 350, 150, DQ_Status_Setup::UL_LINE_4_STRING + DQ_Status_Setup::UL_SEP)
  1789.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_4_TYPE == 1
  1790.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_4_TYPE == 2
  1791.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_4_TYPE == 3
  1792.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_4_TYPE == 4
  1793.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_4_TYPE == 5
  1794.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_4_TYPE == 6
  1795.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_4_TYPE == 7
  1796.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_4_TYPE == 8
  1797.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_4_TYPE == 9
  1798.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_4_TYPE == 10
  1799.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_4_TYPE == 11
  1800.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_4_TYPE == 12
  1801.     @DQStatus_FullStatChar_window.contents.draw_text(100, 30, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_4_TYPE == 13
  1802.   end
  1803.  
  1804.   # Line 5 output     
  1805. if DQ_Status_Setup::UL_LINE_5_ONOFF == true
  1806.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 350, 150, DQ_Status_Setup::UL_LINE_5_STRING + DQ_Status_Setup::UL_SEP)
  1807.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.atk) if DQ_Status_Setup::UL_LINE_5_TYPE == 1
  1808.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.agi) if DQ_Status_Setup::UL_LINE_5_TYPE == 2
  1809.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.spi) if DQ_Status_Setup::UL_LINE_5_TYPE == 3
  1810.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.class.name) if DQ_Status_Setup::UL_LINE_5_TYPE == 4
  1811.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.def) if DQ_Status_Setup::UL_LINE_5_TYPE == 5
  1812.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.hp) if DQ_Status_Setup::UL_LINE_5_TYPE == 6
  1813.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.mp) if DQ_Status_Setup::UL_LINE_5_TYPE == 7
  1814.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.maxhp) if DQ_Status_Setup::UL_LINE_5_TYPE == 8
  1815.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.maxmp) if DQ_Status_Setup::UL_LINE_5_TYPE == 9
  1816.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.exp) if DQ_Status_Setup::UL_LINE_5_TYPE == 10
  1817.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.next_rest_exp_s) if DQ_Status_Setup::UL_LINE_5_TYPE == 11
  1818.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.name) if DQ_Status_Setup::UL_LINE_5_TYPE == 12
  1819.     @DQStatus_FullStatChar_window.contents.draw_text(100, 50, 300, 150, actorstat.level) if DQ_Status_Setup::UL_LINE_5_TYPE == 13
  1820. end
  1821.   end   
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828. # DQ STATUS MENU CONTROLS (Allows you to back up out of menus)
  1829.  
  1830. # Fullstat windows
  1831.  
  1832. def update_dqfullstat_selection
  1833. @dqs_window.active = false  
  1834. @dqwho_window.active = false
  1835.  
  1836. if Input.trigger?(Input::B)
  1837.         Sound.play_cancel
  1838.         @DQStatus_FullStat_window.visible = false
  1839.         @DQStatus_FullStatChar_window.visible = false
  1840.         @dqwho_window.active = true
  1841.         @dqwho_window.visible = true
  1842.       end
  1843.     end
  1844. #HPMP window   
  1845. def update_dqhpmp_selection
  1846.  
  1847. if Input.trigger?(Input::B)
  1848.         Sound.play_cancel
  1849.         end_dqhpmp_selection
  1850.         @DQStatus_ATTACK_window.visible = false
  1851.         @DQStatus_HPMP_window.visible = false
  1852.         @DQStatus_ATTACK_window.active = false
  1853.         @DQStatus_HPMP_window.active = false
  1854.         @DQStatus_FullStatChar_window.visible = false if @DQStatus_FullStatChar_window
  1855.         @DQStatus_FullStatChar_window.active = false if @DQStatus_FullStatChar_window
  1856.         @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window
  1857.         @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window
  1858.         @dqwho_window.active = false
  1859.         @dqwho_window.active = false
  1860.         @dqs_window.active = true
  1861.         @dqs_window.visible = true
  1862.       end
  1863. end
  1864. #Attack window
  1865. def update_attack_selection
  1866.  
  1867. if Input.trigger?(Input::B)
  1868.         Sound.play_cancel
  1869.         end_attack_selection
  1870.         @DQStatus_ATTACK_window.visible = false
  1871.         @DQStatus_HPMP_window.visible = false
  1872.         @DQStatus_ATTACK_window.active = false
  1873.         @DQStatus_HPMP_window.active = false
  1874.         @DQStatus_FullStatChar_window.visible = false if @DQStatus_FullStatChar_window
  1875.         @DQStatus_FullStatChar_window.active = false  if @DQStatus_FullStatChar_window
  1876.         @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window
  1877.         @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window
  1878.         @dqwho_window.active = false
  1879.         @dqwho_window.active = false   
  1880.         @dqs_window.active = true
  1881.         @dqs_window.visible = true
  1882.       end
  1883.  
  1884. end
  1885.  
  1886.  
  1887.  
  1888. #Update the Dragon Quest Status Selection  
  1889. def update_dqs_selection  
  1890.     if Input.trigger?(Input::B)
  1891.       Sound.play_cancel
  1892.       @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window
  1893.       @DQStatus_FullStatChar_window.visible = false if @DQStatus_FullStatChar_window
  1894.       @DQStatus_HPMP_window.visible = false if @DQStatus_HPMP_window
  1895.       @DQStatus_ATTACK_window.visible = false if @DQStatus_ATTACK_window
  1896.     $scene = Scene_Map.new
  1897.     elsif Input.trigger?(Input::C)
  1898.       if $game_party.members.size == 0 and @dqs_window.index < 8 #- 4
  1899.         Sound.play_buzzer
  1900.         return
  1901.       end
  1902.       Sound.play_decision
  1903.  
  1904.       case @dqs_window.index
  1905.  
  1906.  
  1907.       when 0      # Item 1 on the menu
  1908.  
  1909.         start_dqhpmp_selection      
  1910.       when 1
  1911.         start_attack_selection
  1912.       when 2
  1913.         @dqwhotype = 'status'
  1914.         start_DQWho_selection ()
  1915.  
  1916.       end
  1917.     end
  1918.   end
  1919.  
  1920.   #Update the Dragon Quest Who Selection Screen for Status
  1921. def update_dqwho_selection  ()
  1922.     if Input.trigger?(Input::B)
  1923.       Sound.play_cancel
  1924.       @command_window.active = true if @dqwhotype == 'oldskill'
  1925.       @command_window.active = true if @dqwhotype == 'oldstatus'
  1926.       @command_window.active = true if @dqwhotype == 'oldequip'
  1927.       @command_window.active = true if @dqwhotype == 'equip'
  1928.       @dqs_window.active = true if @dqwhotype == 'status'
  1929.       @dqwho_window.visible = false
  1930.  
  1931.      # @DQStatus_FullStatChar_window.visible = false
  1932.     elsif Input.trigger?(Input::C)
  1933.       if $game_party.members.size == 0 and @dqwho_window.index < 8  #- 4
  1934.         Sound.play_buzzer
  1935.         return
  1936.       end
  1937.       Sound.play_decision
  1938.  
  1939.   #When called for the Old (built-in) Style status Menu   
  1940.       if @dqwhotype == 'oldstatus'
  1941.       @dqwho_window.active = false
  1942.       $scene = Scene_Status.new(@dqwho_window.index)
  1943.  
  1944.     end      
  1945.       #When called for the Old (built-in) Style Equip Menu   
  1946.       if @dqwhotype == 'oldequip'
  1947.       @dqwho_window.active = false
  1948.       $scene = Scene_Equip.new(@dqwho_window.index)
  1949.  
  1950.     end   
  1951.       #When called for the Old (built-in) Style Skill Menu   
  1952.       if @dqwhotype == 'oldskill'
  1953.       @dqwho_window.active = false
  1954.       $scene = Scene_Skill.new(@dqwho_window.index)
  1955.  
  1956.          end   
  1957. #当需要DQ风格裝備菜单时
  1958.     if @dqwhotype == 'equip'
  1959.         case @dqwho_window.index
  1960.         when 0
  1961.  
  1962.           return
  1963.         end
  1964.  
  1965.   #When called from the DQ Status screen (to show all stats)   
  1966.       elsif @dqwhotype == 'status'
  1967.  
  1968.       case @dqwho_window.index
  1969.  
  1970.  
  1971.       when 0      # Should be Player #1
  1972.         @dqwho_window.active = false
  1973.         create_DQStatus_FullStat_window (@actorarray[0])
  1974.         start_fullstat_selection
  1975.         return
  1976.  
  1977.       when 1
  1978.         @dqwho_window.active = false
  1979.         create_DQStatus_FullStat_window (@actorarray[1])
  1980.         return
  1981.  
  1982.       when 2
  1983.         @dqwho_window.active = false
  1984.         create_DQStatus_FullStat_window (@actorarray[2])
  1985.         return
  1986.  
  1987.       when 3
  1988.         @dqwho_window.active = false
  1989.         create_DQStatus_FullStat_window (@actorarray[3])
  1990.         return
  1991.  
  1992.       when 4
  1993.         @dqwho_window.active = false
  1994.         create_DQStatus_FullStat_window (@actorarray[4])
  1995.         return        
  1996.  
  1997.       when 5
  1998.         @dqwho_window.active = false
  1999.         create_DQStatus_FullStat_window (@actorarray[5])
  2000.         return        
  2001.  
  2002.       when 6
  2003.         @dqwho_window.active = false
  2004.         create_DQStatus_FullStat_window (@actorarray[6])
  2005.         return  
  2006.  
  2007.       when 7
  2008.         @dqwho_window.active = false
  2009.         create_DQStatus_FullStat_window (@actorarray[7])
  2010.         return   
  2011.       end
  2012.       end
  2013.  
  2014.         p "出错了: @dqwho_window.index > 3. 队伍超出最大人数。" if @dqwho_window.index > 3  #- 3
  2015.     end
  2016.     end
  2017.  
  2018. #Start Selection on the DQ Status Menu   
  2019.  
  2020. def start_DQStatus_selection
  2021.     @command_window.active = false
  2022.     @dqs_window.visible = true
  2023.     @dqs_window.active = true
  2024.     @DQStatus_HPMP_window.visible = false
  2025.     @DQStatus_HPMP_window.active = false
  2026.     @DQStatus_ATTACK_window.visible = false
  2027.     @DQStatus_ATTACK_window.active = false
  2028.     @dqwho_window.visible = false
  2029.     @dqwho_window.active = false
  2030.     @dqs_window.index = 0
  2031.   end
  2032.  
  2033. #End Selection on the DQ Status Menu
  2034.  
  2035. def end_DQStatus_selection
  2036.     @command_window.active = true
  2037.     @dqs_window.visible = false
  2038.     @dqs_window.active = false
  2039.     @dqs_window.index = -1
  2040.   end
  2041.  
  2042. #Start Selection on the HPMP Screen
  2043. def start_dqhpmp_selection
  2044.     create_DQStatus_HPMP_window()
  2045.     @dqwho_window.active = false
  2046.     @dqs_window.active = false
  2047.     @DQStatus_HPMP_window.visible = true
  2048.     @DQStatus_HPMP_window.active = true
  2049.  
  2050.  
  2051.   end
  2052.  
  2053. def end_dqhpmp_selection
  2054.     start_DQStatus_selection
  2055.  
  2056.   end  
  2057.  
  2058.   #Start Selection on the ATTACK Screen
  2059. def start_attack_selection
  2060.     create_DQStatus_ATTACK_window()
  2061.     @dqwho_window.active = false
  2062.     @dqs_window.active = false
  2063.     @DQStatus_ATTACK_window.visible = true
  2064.     @DQStatus_ATTACK_window.active = true
  2065.  
  2066.   end
  2067.  
  2068. def end_attack_selection
  2069.     start_DQStatus_selection
  2070.  
  2071.   end   
  2072.     #Start Selection on the Dragon Quest Who Selection Screen for Status
  2073. def start_DQWho_selection
  2074.     create_dqwho_window()
  2075.     @command_window.active = false
  2076.     @dqs_window.active = false
  2077.     @dqwho_window.visible = true
  2078.     @dqwho_window.active = true
  2079.     @dqwho_window.index = 0
  2080.   end
  2081.  
  2082. #End Selection on the Dragon Quest Who Selection Screen for Status
  2083.  
  2084. def end_DQWho_selection
  2085.     @command_window.active = true
  2086.     @dqwho_window.visible = false
  2087.     @dqwho_window.active = false
  2088.     @dqwho_window.index = -1
  2089.   end
  2090.  
  2091.     #Start Selection on the FullStat screen
  2092. def start_fullstat_selection
  2093.     @dqwho_window.active = false
  2094.     @dqs_window.active = false
  2095.     @DQStatus_HPMP_window.active = false
  2096.     @DQStatus_ATTACK_window.active = false
  2097.     @DQStatus_FullStat_window.visible = true
  2098.     @DQStatus_FullStat_window.active = true
  2099.   end
  2100.  
  2101. #End Selection on the FullStat screen
  2102.  
  2103. def end_fullstat_selection
  2104.     @dqwho_window.active = true
  2105.     @DQStatus_FullStat_window.visible = false
  2106.     @DQStatus_FullStat_window.active = false
  2107.     @DQStatus_FullStatChar_window.visible = false
  2108.     @DQStatus_FullStatChar_window.active = false
  2109.   end
  2110.  
  2111. ########################END DQ STYLE STATUS MENU ###################  
  2112.  
  2113.  
  2114.  
  2115. # UPDATE
  2116. def update
  2117.     super
  2118.  
  2119.     update_menu_background
  2120.     @command_window.update
  2121.     if @command_window.active
  2122.       update_command_selection
  2123.  
  2124.     elsif @dqs_window.active
  2125.           update_dqs_selection
  2126.           @dqs_window.update
  2127.     elsif @dqwho_window.active
  2128.  
  2129.        update_dqwho_selection
  2130.       @dqwho_window.update
  2131.  
  2132.           elsif @DQStatus_ATTACK_window.active
  2133.         update_attack_selection      
  2134.       elsif @DQStatus_HPMP_window.active
  2135.         update_dqhpmp_selection
  2136.       elsif @status_window.visible
  2137.       @status_window.update
  2138.       update_actor_selection
  2139.  
  2140.     elsif @DQStatus_FullStat_window
  2141.        update_dqfullstat_selection if @DQStatus_FullStat_window.active
  2142.       end
  2143. end  
  2144.  
  2145. #Terminate
  2146. def terminate
  2147.     super
  2148.     dispose_menu_background
  2149.     @command_window.dispose
  2150.     @status_window.dispose
  2151.     @dqs_window.dispose
  2152.     @DQStatus_FullStat_window.dispose if @DQStatus_FullStat_window
  2153.     @DQStatus_FullStatChar_window.dispose if @DQStatus_FullStatChar_window
  2154.     @dqwho_window.dispose if @dqwho_window
  2155.     @DQStatus_HPMP_window.dispose  if @DQStatus_HPMP_window
  2156.     @DQStatus_ATTACK_window.dispose  if @DQStatus_ATTACK_window
  2157.     @location_window.dispose if @location_window
  2158.  
  2159.     psize = ($game_party.members.size)
  2160.  
  2161. if @BOX_ONOFF == true   
  2162.     for actor in $game_party.members
  2163.       if psize == 4
  2164.        @newstat_windowfour.dispose
  2165.       elsif psize == 3
  2166.        @newstat_windowthree.dispose
  2167.       elsif psize == 2
  2168.        @newstat_windowtwo.dispose
  2169.       elsif psize == 1
  2170.        @newstat_window.dispose
  2171.       end
  2172.       psize = (psize - 1)
  2173.     end     
  2174.   end
  2175. end  
  2176.  
  2177. end
  2178.  
  2179. #Configuring the old-style menu's to update their cursors to the first position
  2180.  
  2181. class Scene_Status < Scene_Base
  2182.     def return_scene
  2183.     $scene = Scene_Menu.new(0)
  2184.   end
  2185. end
  2186.  
  2187. class Scene_Equip < Scene_Base
  2188.     def return_scene
  2189.     $scene = Scene_Menu.new(0)
  2190.   end
  2191. end
更多图片 小图 大图
组图打开中,请稍候......

Lv2.观梦者

梦石
0
星屑
373
在线时间
207 小时
注册时间
2011-4-16
帖子
71
2
 楼主| 发表于 6 天前 | 只看该作者
补充一个队伍管理器 Prexus-Party Manager v1.1c


  1. #==============================================================================
  2. # ** Prexus - Party Manager (v1.1c)  【队伍管理器】(角色后备仓库)
  3. #------------------------------------------------------------------------------
  4. #  这是一个由 Prexus 创建的队伍管理系统。
  5. #  它允许你从一组备用角色中更改你的队伍组成。
  6. #  它还允许你锁定角色,使他们成为强制性的,以及使角色不可用。
  7. #
  8. #  查看 RMXP.org 上的帖子获取说明:
  9. #  http://www.rmxp.org/forums/index.php?topic=42685.msg402326#msg402326
  10. #
  11. #  - 更新日志(v1.1c)
  12. #    *  修复了队伍预备窗口中的一个图形错误
  13. #
  14. #  - (v1.1b)
  15. #    * 修复了 draw_item_name 方法的一个错误,增加了宽度参数
  16. #  - (v1.1)
  17. #    * 添加了查看玩家装备的功能(按下 A 按钮)
  18. #  
  19. #==============================================================================

  20. module RPG
  21.   class Actor
  22.     def setup
  23.       @found = false
  24.       @unavailable = false
  25.       @required = false
  26.     end
  27.     attr_accessor :found
  28.     attr_accessor :unavailable
  29.     attr_accessor :required
  30.   end
  31. end

  32. class Game_Actors
  33.   attr_reader :data
  34.   alias prex_party_g_actors_initialize initialize
  35.   def initialize
  36.     prex_party_g_actors_initialize
  37.     $data_actors.each do |actor|
  38.       actor.setup if actor
  39.       @data[actor.id] = Game_Actor.new(actor.id) if actor
  40.     end
  41.   end
  42. end

  43. class Scene_File < Scene_Base
  44.   alias prex_party_s_file_write_save_data write_save_data
  45.   alias prex_party_s_file_read_save_data read_save_data
  46.   def write_save_data(file)
  47.     prex_party_s_file_write_save_data(file)
  48.     Marshal.dump($data_actors, file)
  49.   end
  50.   def read_save_data(file)
  51.     prex_party_s_file_read_save_data(file)
  52.     $data_actors = Marshal.load(file)
  53.   end
  54. end

  55. class Scene_Title < Scene_Base
  56.   alias prex_party_s_title_command_new_game command_new_game
  57.   def command_new_game
  58.     prex_party_s_title_command_new_game
  59.     $game_party.members.each {|s| s.actor.found = true if s}
  60.   end
  61. end

  62. class Window_Base < Window
  63.   def draw_item_name(item, x, y, enabled = true, width = 172)
  64.     if item != nil
  65.       draw_icon(item.icon_index, x, y, enabled)
  66.       self.contents.font.color = normal_color
  67.       self.contents.font.color.alpha = enabled ? 255 : 128
  68.       self.contents.draw_text(x + 24, y, width, WLH, item.name)
  69.     end
  70.   end
  71. end

  72. class Scene_Party < Scene_Base
  73.   def start
  74.     super
  75.     create_menu_background
  76.     create_windows
  77.   end
  78.   def create_windows
  79.     @member_window = Window_CurrentMember.new
  80.     @party_window = Window_CurrentParty.new
  81.     @party_window.active = true
  82.     @selectable_window = Window_SelectMember.new
  83.   end
  84.   def update_windows
  85.     @member_window.update
  86.     @party_window.update
  87.     @selectable_window.update
  88.     if @party_window.active
  89.       @member_window.set_member(@party_window.member)
  90.     elsif @selectable_window.active
  91.       @member_window.set_member(@selectable_window.member)
  92.     end
  93.   end
  94.   def terminate
  95.     super
  96.     @member_window.dispose
  97.     @party_window.dispose
  98.     @selectable_window.dispose
  99.   end
  100.   def update
  101.     super
  102.     update_windows
  103.     update_input
  104.   end
  105.   def update_input
  106.     if Input.trigger?(Input::A)
  107.       if @member_window.mode == 1
  108.         @member_window.set_mode(0)
  109.       elsif @member_window.mode == 0
  110.         @member_window.set_mode(1)
  111.       end
  112.     end
  113.     if @party_window.active
  114.       if Input.trigger?(Input::B)
  115.         if $game_temp.in_battle            # 按取消键返回时,判断是不是在战斗场景
  116.           $scene = Scene_Battle.new
  117.         else
  118.           Sound.play_cancel
  119.           $scene = Scene_Map.new
  120.         end
  121.       elsif Input.trigger?(Input::C)
  122.         member = @party_window.member
  123.         if member != nil
  124.           if member.actor.unavailable or member.actor.required
  125.             Sound.play_buzzer
  126.             return
  127.           end
  128.         end
  129.         Sound.play_decision
  130.         @party_window.active = false
  131.         @selectable_window.active = true
  132.         @selectable_window.index = 0
  133.       end
  134.     elsif @selectable_window.active
  135.       if Input.trigger?(Input::B)
  136.         Sound.play_cancel
  137.         @selectable_window.index = -1
  138.         @selectable_window.active = false
  139.         @party_window.active = true
  140.       elsif Input.trigger?(Input::C)
  141.         member = @selectable_window.member
  142.         if member != nil
  143.           if member.actor.unavailable
  144.             Sound.play_buzzer
  145.             return
  146.           end
  147.         end
  148.         Sound.play_decision
  149.         $game_party.remove_actor(@party_window.member.id) if @party_window.member != nil
  150.         $game_party.add_actor(@selectable_window.member.id) if @selectable_window.member != nil
  151.         @selectable_window.refresh
  152.         @party_window.refresh
  153.         @selectable_window.index = -1
  154.         @selectable_window.active = false
  155.         @party_window.active = true
  156.       end
  157.     end
  158.   end
  159. end

  160. class Window_CurrentMember < Window_Base
  161.   attr_reader :mode
  162.   def initialize(member = nil, mode = 0)
  163.     super(304, 80, 192, 256)
  164.     create_contents
  165.     @member = member
  166.     @mode = 0
  167.     refresh
  168.   end
  169.   def member
  170.     return @member
  171.   end
  172.   def set_member(member)
  173.     old_member = @member
  174.     @member = member
  175.     refresh if old_member != @member
  176.   end
  177.   def set_mode(mode)
  178.     @mode = mode if [0, 1].include?(mode)
  179.     refresh
  180.   end
  181.   def refresh
  182.     self.contents.clear
  183.     return unless @member
  184.     x, y = 0, 0
  185.     self.draw_actor_face(@member, x, y, 48)
  186.     self.draw_actor_name(@member, x + 52, y)
  187.     self.draw_actor_class(@member, x + 52, y + WLH)
  188.     self.draw_actor_level(@member, x, y + WLH*2)
  189.     case @mode
  190.     when 0
  191.       self.draw_icon(142, self.contents.width - 24, y + WLH*2)
  192.       self.contents.draw_text(x, y + WLH*2, self.contents.width - 12, WLH, '按A查装备', 2)
  193.       self.draw_actor_hp(@member, x, y + WLH*3, 160)
  194.       self.draw_actor_mp(@member, x, y + WLH*4, 160)
  195.       self.draw_actor_parameter(@member, x, y + WLH*5, 0)
  196.       self.draw_actor_parameter(@member, x, y + WLH*6, 1)
  197.       self.draw_actor_parameter(@member, x, y + WLH*7, 2)
  198.       self.draw_actor_parameter(@member, x, y + WLH*8, 3)
  199.     when 1
  200.       self.draw_icon(143, self.contents.width - 24, y + WLH*2)
  201.       self.contents.draw_text(x, y + WLH*2, self.contents.width - 12, WLH, '按A看属性', 2)
  202.       for i in [email protected]
  203.         item = @member.equips[i]
  204.         self.draw_item_name(item, x, y + WLH*(3+i), true, self.contents.width - 24)
  205.       end
  206.     end
  207.   end
  208. end

  209. class Window_CurrentParty < Window_Selectable
  210.   def initialize
  211.     super(48, 80, 256, 64)
  212.     @item_max = 4
  213.     @column_max = @item_max
  214.     create_contents
  215.     self.index = 0
  216.     refresh
  217.   end
  218.   def member
  219.     return $game_party.members[self.index]
  220.   end
  221.   def refresh
  222.     for i in 0...@item_max
  223.       rect = item_rect(i)
  224.       self.contents.clear_rect(rect)
  225.     end
  226.     for i in 0...$game_party.members.size
  227.       rect = item_rect(i)
  228.       bitmap = Cache.character($game_party.members[i].character_name)
  229.       sign = $game_party.members[i].character_name[/^[\!\$]./]
  230.       if sign != nil and sign.include?(')
  231.         cw = bitmap.width / 3
  232.         ch = bitmap.height / 4
  233.       else
  234.         cw = bitmap.width / 12
  235.         ch = bitmap.height / 8
  236.       end
  237.       n = $game_party.members[i].character_index
  238.       src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
  239.       if $game_party.members[i].actor.unavailable
  240.         self.contents.blt(rect.x, rect.y, bitmap, src_rect, 128)
  241.       else
  242.         self.contents.blt(rect.x, rect.y, bitmap, src_rect, 255)
  243.       end
  244.       if $game_party.members[i].actor.required
  245.         lock_bitmap = Cache.system("Locked")
  246.         self.contents.blt(rect.x + rect.width - lock_bitmap.width,
  247.                           rect.y + rect.height - lock_bitmap.height,
  248.                           lock_bitmap, lock_bitmap.rect)
  249.       end
  250.     end
  251.   end
  252.   def item_rect(index)
  253.     rect = Rect.new(0, 0, 0, 0)
  254.     rect.width = (contents.width + @spacing) / @column_max - @spacing
  255.     rect.height = 32
  256.     rect.x = index % @column_max * (rect.width + @spacing)
  257.     rect.y = index / @column_max * 32
  258.     return rect
  259.   end
  260. end

  261. class Window_SelectMember < Window_Selectable
  262.   def initialize
  263.     super(48, 144, 256, 192)
  264.     calculate_actors
  265.     @item_max = @actors.size + 1
  266.     @column_max = 4
  267.     self.index = -1
  268.     self.active = false
  269.     refresh
  270.   end
  271.   def calculate_actors
  272.     @actors = []
  273.     for a in $game_actors.data
  274.       @actors << a if a != nil and a.actor.found and !$game_party.members.include?(a)
  275.     end
  276.   end
  277.   def member
  278.     return @actors[self.index]
  279.   end
  280.   def refresh
  281.     self.contents.clear
  282.     calculate_actors
  283.     @item_max = @actors.size + 1
  284.     for i in [email protected]
  285.       rect = item_rect(i)
  286.       bitmap = Cache.character(@actors[i].character_name)
  287.       sign = @actors[i].character_name[/^[\!\$]./]
  288.       if sign != nil and sign.include?(')
  289.         cw = bitmap.width / 3
  290.         ch = bitmap.height / 4
  291.       else
  292.         cw = bitmap.width / 12
  293.         ch = bitmap.height / 8
  294.       end
  295.       n = @actors[i].character_index
  296.       src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
  297.       if @actors[i].actor.unavailable
  298.         self.contents.blt(rect.x, rect.y, bitmap, src_rect, 128)
  299.       else
  300.         self.contents.blt(rect.x, rect.y, bitmap, src_rect, 255)
  301.       end
  302.       if @actors[i].actor.required
  303.         lock_bitmap = Cache.system("Locked")
  304.         self.contents.blt(rect.x + rect.width - lock_bitmap.width,
  305.                           rect.y + rect.height - lock_bitmap.height,
  306.                           lock_bitmap, lock_bitmap.rect)
  307.       end
  308.     end
  309.   end
  310.   def item_rect(index)
  311.     rect = Rect.new(0, 0, 0, 0)
  312.     rect.width = (contents.width + @spacing) / @column_max - @spacing
  313.     rect.height = 32
  314.     rect.x = index % @column_max * (rect.width + @spacing)
  315.     rect.y = index / @column_max * 32
  316.     return rect
  317.   end
  318. end
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-10-23 01:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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