Project1

标题: 战斗中如何不显示不想用的技能 [打印本页]

作者: jiushiainilip19    时间: 2015-8-3 22:26
标题: 战斗中如何不显示不想用的技能
想问下 如何把一些技能在战斗中取消 只能在平时的时候使用  不是RMXP直接设置的那些 平时 战斗 和无法使用

举例:当角色装备剑武器的时候 战斗中只显示剑有关的技能 其他技能不显示(不是变暗 是完全不显示)

求大神指教  最好是能和天干宝典中的技能分类的脚本兼容
      
作者: 无忧谷主幻    时间: 2015-8-3 23:01
本帖最后由 无忧谷主幻 于 2015-8-3 23:54 编辑

具体用法:设定几个新的属性。
比如【冥】,给武器勾上该属性后,再查看特技栏,把所有能被该武器使用的技能勾上同样的属性
RUBY 代码复制
  1. class Window_Skill < Window_Selectable
  2.   #--------------------------------------------------------------------------
  3.   # ● 刷新
  4.   #--------------------------------------------------------------------------
  5.   def refresh
  6.     if self.contents != nil
  7.       self.contents.dispose
  8.       self.contents = nil
  9.     end
  10.     @data = []
  11.     @actor.skills.each do |skill_id|
  12.       skill = $data_skills[skill_id]
  13.       if $game_temp.in_battle &&
  14.         !skill.element_set.empty? &&
  15.         (skill.element_set & required_element_set).empty?
  16.         skill = nil
  17.       end
  18.       if skill != nil
  19.         @data.push(skill)
  20.       end
  21.     end
  22.     # 如果项目数不是 0 就生成位图、重新描绘全部项目
  23.     @item_max = @data.size
  24.     if @item_max > 0
  25.       self.contents = Bitmap.new(width - 32, row_max * 32)
  26.       for i in 0...@item_max
  27.         draw_item(i)
  28.       end
  29.     end
  30.   end
  31.   def required_element_set
  32.     result = []
  33.     weapon = $data_weapons[@actor.weapon_id]
  34.     armor1 = $data_armors[@actor.armor1_id]
  35.     result |= weapon.nil?  ? [] : weapon.element_set
  36.     result |= armor1.nil?  ? [] : armor1.guard_element_set
  37.     result
  38.   end
  39. end





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