Project1

标题: 求一个RMVA状态派生效果的脚本 [打印本页]

作者: xpdkoei    时间: 2015-4-15 13:05
标题: 求一个RMVA状态派生效果的脚本
RMVX有个“状态派生”的脚本http://ytomy.sakura.ne.jp/tkool/ ... ch=derivative_state
就是当A状态正常解除后,会产生B状态
我现在想做一个“蓄力”的技能,就是使用技能后,附加“蓄力”状态(被敌人攻击后解除),如果1回合后没有解除,就再附加“攻击大幅上升”状态。请问这样的效果要如何实现,谢谢。
作者: jianyulei    时间: 2015-4-15 23:17
本帖最后由 jianyulei 于 2015-4-15 23:21 编辑

  1. class Game_Battler
  2.   def remove_state(state_id)
  3.     if state?(state_id)
  4.       revive if state_id == death_state_id
  5.       erase_state(state_id)
  6.       refresh
  7.       # 上面部分不要动
  8.       # 如果状态30消失,那么有80%的概率附加状态31
  9.       add_state(31) if state_id == 30 && rand < 0.8
  10.       add_state(508) if state_id == 102 #可以这样排列具备多个状态
  11.       # 下面部分不要动
  12.       @result.removed_states.push(state_id).uniq!
  13.     end
  14.   end
  15. end
复制代码
这个脚本是论坛里哪个大神写的,我现在正在用,说实话,我忘记是哪个大神了。
说句题外话,目前我正在找 “状态非正常结束时附加状态” 以及 “状态正常以及非正常结束时发动技能的脚本”,有谁知道的话告诉我一下吧,谢谢。
作者: xpdkoei    时间: 2015-4-16 00:29
jianyulei 发表于 2015-4-15 23:17
这个脚本是论坛里哪个大神写的,我现在正在用,说实话,我忘记是哪个大神了。
说句题外话,目前我正在找 “ ...

嗯。我见过这个脚本,就是无法判定正常解除和被动解除状态。如果能区分下就好了。
作者: jianyulei    时间: 2015-4-16 01:27
  1. class Game_Battler < Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 状态的自动解除
  4.   #     timing : 时机(1:行动结束 2:回合结束)
  5.   #--------------------------------------------------------------------------
  6.   def remove_states_auto(timing)
  7.     states.each do |state|
  8.       if @state_turns[state.id] == 0 && state.auto_removal_timing == timing
  9.         add_state(1) if state.id ==999  #会死人的状态ID
  10.         remove_state(state.id)
  11.       end
  12.     end
  13.   end
  14. end
复制代码
刚刚又找到了一个状态,是再状态正常结束时附加死亡状态的,理论上这个可以修改add_state(1)为其他状态来获得另外的状态,我试验过这个状态在其他技能或者道具效果下解除是不会触发,只有再时间结束是触发。
作者: xpdkoei    时间: 2015-4-16 09:42
jianyulei 发表于 2015-4-16 01:27
刚刚又找到了一个状态,是再状态正常结束时附加死亡状态的,理论上这个可以修改add_state(1)为其他状态来获 ...

3Q,用这个也能做出FF系列“死亡宣告”状态的效果吧~~




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