module NODMG GUARD_ONCE_STATE = [ 447, # 状态ID 448, 449, ] GUARD_TIME = [ 1,#免伤次数 2, 3, ] end class Game_Battler alias init0622 initialize def initialize init0622 @guard_times = 0 end alias add_state_0622 add_state def add_state(state_id) for i in 0..NODMG::GUARD_ONCE_STATE.size-1 @guard_times += NODMG::GUARD_TIME[i] if state_id == NODMG::GUARD_ONCE_STATE[i] @state_id = state_id if state_id == NODMG::GUARD_ONCE_STATE[i] end add_state_0622(state_id) end alias remove_state_0622 remove_state def remove_state(state_id) for i in 0..NODMG::GUARD_ONCE_STATE.size-1 @guard_times = 0 if state_id == NODMG::GUARD_ONCE_STATE[i] end remove_state_0622(state_id) end def item_apply(user, item) @result.clear @result.used = item_test(user, item) @result.missed = (@result.used && rand >= item_hit(user, item)) @result.evaded = (!@result.missed && rand < item_eva(user, item)) return unless @result.hit? if @guard_times > 0 if (@guard_times -= 1) <= 0 remove_state(@state_id) return end return if @guard_times > 0 end end end unless item.damage.none? @result.critical = (rand < item_cri(user, item)) make_damage_value(user, item) execute_damage(user) end item.effects.each {|effect| item_effect_apply(user, item, effect) } item_user_effect(user, item) end end
soulsaga 发表于 2018-5-16 19:27
module NODMG
GUARD_ONCE_STATE = [
447, # 状态ID
報錯1.png (17.06 KB, 下载次数: 26)
報錯
elemmy72 发表于 2018-5-16 21:10
感謝幫忙!
但是報錯了…
soulsaga 发表于 2018-5-16 21:24
26行更新了..
一合回消失可能和初始化有关..?
elemmy72 发表于 2018-5-16 21:46
感謝!
狀態不會一回合就消失了,
soulsaga 发表于 2018-5-16 22:03
看看这次行不行..
骷髅岛遗老 发表于 2018-5-18 17:56
emmm,测试了一下才发现删错了一段
不过就算出问题也是第三次免伤状态不解除无限无敌,没有免伤不存在啊 ...
骷髅岛遗老 发表于 2018-5-18 18:09
emmm,对了,还有个小问题,如果你用来附加减伤状态的技能没有冷却脚本之类的限制的话,最好同时在技能里设 ...
1.png (74.57 KB, 下载次数: 19)
2.png (52.21 KB, 下载次数: 18)
骷髅岛遗老 发表于 2018-5-18 18:09
emmm,对了,还有个小问题,如果你用来附加减伤状态的技能没有冷却脚本之类的限制的话,最好同时在技能里设 ...
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |