Project1

标题: rmva有没有技能冷却的系统阿 [打印本页]

作者: yihe74    时间: 2012-6-13 17:38
标题: rmva有没有技能冷却的系统阿
如题 就是用一次技能得几个回合以后才能再用的
作者: Mic_洛洛    时间: 2012-6-13 17:50
把技能设为TP消耗的,不就可以了?
TP不够,多打几回合重新积累TP点数
然后不就可以再次释放了么!
作者: yihe74    时间: 2012-6-13 17:54
这样的话又要考虑一个tp值分配的问题 而且 感觉并不是很精确啊
我记得rmvx有一个 可以照搬过来吗?
作者: acn00269    时间: 2012-6-13 18:07
传送门
作者: 后知后觉    时间: 2012-6-13 18:59
加几行代码就可以了
找到 Game_Battler 的第 415 行左右能看到这样的一段


  1.   #--------------------------------------------------------------------------
  2.   # ● 技能/使用物品
  3.   #    对使用目标使用完毕后,应用对于使用目标以外的效果。
  4.   #--------------------------------------------------------------------------
  5.   def use_item(item)
  6.     pay_skill_cost(item) if item.is_a?(RPG::Skill)
  7.     consume_item(item)   if item.is_a?(RPG::Item)
  8.     item.effects.each {|effect| item_global_effect_apply(effect) }
  9.   end
复制代码
在 def use_item(item) 的下面加几行变成这样...


  1.   #--------------------------------------------------------------------------
  2.   # ● 技能/使用物品
  3.   #    对使用目标使用完毕后,应用对于使用目标以外的效果。
  4.   #--------------------------------------------------------------------------
  5.   def use_item(item)
  6.     if $game_party.in_battle
  7.       state = $data_states[item.id + 50]
  8.       if item.is_a?(RPG::Skill) && state && !state.name.empty?
  9.         add_new_state(state.id) unless state?(state.id)
  10.         reset_state_counts(state.id)
  11.       end
  12.     end
  13.     pay_skill_cost(item) if item.is_a?(RPG::Skill)
  14.     consume_item(item)   if item.is_a?(RPG::Item)
  15.     item.effects.each {|effect| item_global_effect_apply(effect) }
  16.   end
复制代码
这样就OK了
然后在 数据库-状态 里设置就可以了
这一行

      state = $data_states[item.id + 50]
里面的 50 可以自己改.
比如使用第 80 号技能后要冷却.那么就在第 80 + 50 = 130 号状态的特性里设置 禁用技能80号技能
冷却的回合就是该状态自动解除的回合范围.
不过要注意实际情况是你设置的回合数-1.
也就是说该技能要求冷却1回合.你就得设置成2.
然后把该状态起个名字.随便叫什么.只要不是空的就行.
当然你还想在特性里加点别的东西我没意见^_^
还有就是记得把 战斗时解除 打上勾.下面的文字提示都别设置




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