Project1

标题: 职业或角色低于总生命百分比自动附加状态 [打印本页]

作者: qq1014850720    时间: 2014-9-18 20:26
标题: 职业或角色低于总生命百分比自动附加状态
思路是固定几个职业或几个角色在生命值低于10%时自动给自身附加某个ID状态,求脚本或者是事件解决办法
作者: qq1014850720    时间: 2014-9-18 20:35
补充一下:还有能不能使每场战斗这个效果只执行一次
作者: VIPArcher    时间: 2014-9-18 20:43
本帖最后由 VIPArcher 于 2014-9-18 20:55 编辑
  1. module VIPArcher
  2.   Class_State = [1,2] #自己添加职业ID
  3.   Class_State_ID = 5  #附加的状态ID
  4. end
  5. class Game_BattlerBase
  6.   def hp=(hp)
  7.     @hp=(hp)
  8.     if hp_rate <= 0.1
  9.       self.add_state(VIPArcher::Class_State_ID) if
  10.       VIPArcher::Class_State.include?(self.class_id)
  11.     end
  12.     refresh
  13.   end
  14. end
复制代码
没详细测试过,不过应该可以了
作者: qq1014850720    时间: 2014-9-18 21:03
VIPArcher 发表于 2014-9-18 20:43
没详细测试过,不过应该可以了

对应不同的职业和状态可以这样写吗?
Class_State = [1,2] #自己添加职业ID
Class_State_ID = [5,6]  #附加的状态ID
作者: VIPArcher    时间: 2014-9-18 21:20
本帖最后由 VIPArcher 于 2014-9-19 02:38 编辑
qq1014850720 发表于 2014-9-18 21:03
对应不同的职业和状态可以这样写吗?
Class_State = [1,2] #自己添加职业ID
Class_State_ID = [5,6]  # ...
  1. module VIPArcher
  2.   Class_State = [1,2,3,4] #自己添加职业ID
  3.   Class_State_ID = [5,6,6,5]  #附加的状态ID和上面一一对应
  4. end
  5. class Game_BattlerBase
  6.   alias vip_20140817_hp hp=
  7.   def hp=(hp)
  8.     vip_20140817_hp(hp)
  9.     if hp_rate <= 0.1
  10.       state = VIPArcher::Class_State_ID[VIPArcher::Class_State.index(self.class_id)] if
  11.       VIPArcher::Class_State.include?(self.class_id)
  12.       self.add_state(state) if state != nil
  13.     end if self.actor?
  14.     refresh
  15.   end
  16. end
复制代码
嗯,依然未测试。如果上面可用,这里基本没问题
作者: 死月邪瞳    时间: 2014-11-4 13:45
VIPArcher 发表于 2014-9-18 21:20
嗯,依然未测试。如果上面可用,这里基本没问题

敌人没有职业的话这个脚本就不会对其产生作用吗?
如果我想设定2组职业,
A组的HP低于50%后附加A状态(能力上升),
B组的HP低于50%后附加B状态(能力下降),
那么我该如何设置呢?
作者: swbsl    时间: 2014-11-4 23:34
如果要用公共事件做的话,可以参考我这个。但不建议这样做,因为在脚本中调用公共事件是通过缓存类的方法实现的,只能调用一个公共事件。






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