查看: 2896|回复: 1

[已经过期] 如何让技能排序

[复制链接]
梦石
0
星屑
17561
在线时间
4249 小时
注册时间
2013-7-18
回帖
2491
发表于 2016-6-18 19:38:45 | 显示全部楼层 |阅读模式

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

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

×
如何把常用技能排到前面....战斗的时候方便
退隐....
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-6-18 20:05:29 | 显示全部楼层
### 技能排序 即插即用
###kuerlulu写的
## 括号君被我吃了系列///
# 虚拟键位 (实际默认键盘按键):
#   技能界面按 A (Z) 键进入排序模式, 此时
#   上下左右: 移动光标
#   C (C) 或 A (Z): 确认将刚刚选过的两个技能位置对调 立即见效
#   B (X): 取消本次排序

class Game_Actor
  # 去掉默认中学到新技能时自动重新排序: Game_Actor 495
  def learn_skill skill_id
    if skill_id > 0
      @skills.push skill_id unless skill_learn? skill_id
    end
  end
  # attr_writer
  def skills= skills
    @skills = skills
  end
end

# 在特技场景可以调整特技排序
class Scene_Skill

  alias yang1zhi_main main
  def main
    @yang1zhi_vars = {
      :sort_switch => false,
      :skill_id    => 0
    }
    yang1zhi_main
  end

  alias yang1zhi_update_skill update_skill
  def update_skill
    if @yang1zhi_vars[:sort_switch]
      if Input.trigger? Input::B
        $game_system.se_play $data_system.cancel_se
        @yang1zhi_vars[:sort_switch] = false
      end
      if Input.trigger? Input::C or Input.trigger? Input::A
        $game_system.se_play $data_system.decision_se
        @yang1zhi_vars[:sort_switch] = false
        swap_value @actor.skills, @skill_window.skill.id, @yang1zhi_vars[:skill_id]
        @skill_window.refresh
      end
    else
      yang1zhi_update_skill
      if Input.trigger? Input::A
        $game_system.se_play $data_system.decision_se
        @yang1zhi_vars[:sort_switch] = true
        @yang1zhi_vars[:skill_id] = @skill_window.skill.id
      end
    end
  end

  def swap_value arr, a, b
    i = arr.index a
    j = arr.index b
    arr[i], arr[j] = b, a
  end
end

点评

谢了  发表于 2016-6-18 20:54

评分

参与人数 2星屑 +96 收起 理由
hys111111 + 66 认可答案
y967 + 30 塞糖

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部