Project1

标题: 怎么将上次使用的技能放到第一位? [打印本页]

作者: 上古卷轴    时间: 2015-10-31 14:50
标题: 怎么将上次使用的技能放到第一位?
例如OZ大乱斗NS,上次使用过的技能会自动排序到第一位。
作者: 枫の叶    时间: 2015-10-31 17:16
  1. class Game_System ; attr_accessor :skill_data ; end
  2. #==============================================================================
  3. class Window_Skill < Window_Selectable
  4.   #--------------------------------------------------------------------------
  5.   def refresh
  6.     if self.contents != nil
  7.       self.contents.dispose
  8.       self.contents = nil
  9.     end
  10.     if $game_system.skill_data and @actor.skill_learn?($game_system.skill_data[@actor.id])
  11.       @data = [$data_skills[$game_system.skill_data[@actor.id]]]
  12.     else
  13.       @data = []
  14.     end
  15.     for i in [email protected]
  16.       skill = $data_skills[@actor.skills[i]]
  17.       if skill != nil
  18.         @data.push(skill) unless @data.include?(skill)
  19.       end
  20.     end
  21.     # 如果项目数不是 0 就生成位图、重新描绘全部项目
  22.     @item_max = @data.size
  23.     if @item_max > 0
  24.       self.contents = Bitmap.new(width - 32, row_max * 32)
  25.       for i in 0...@item_max
  26.         draw_item(i)
  27.       end
  28.     end
  29.   end
  30. end
  31. class Scene_Battle
  32.   alias fy_phase3_next_actor phase3_next_actor
  33.   def phase3_next_actor
  34.     if @active_battler != nil and @active_battler.current_action.kind == 1
  35.       $game_system.skill_data = Hash.new unless $game_system.skill_data
  36.       $game_system.skill_data[@active_battler.id] = @active_battler.current_action.skill_id
  37.     end
  38.     fy_phase3_next_actor
  39.   end
  40. end
复制代码

作者: 上古卷轴    时间: 2015-11-1 12:02
枫の叶 发表于 2015-10-31 17:16

多谢!!!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1