设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

【已解决】如何实现 攻击被闪避时,也能解除x号状态

查看数: 2543 | 评论数: 1 | 收藏 4
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-5-23 23:51

正文摘要:

本帖最后由 迷你及其人 于 2017-5-24 16:41 编辑 大家好,我在制作一个技能时,遇到了一个问题。 我想制作一个闪避技能,效果是:100%闪避本回合内受到的第一次攻击。 我的思路是,设计一个x号状态,提升100%物 ...

回复

魔法丶小肉包 发表于 2017-5-24 12:49:31
在状态的备注里写<EVASION>便会在闪避攻击时候触发,解除状态

RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2.   def item_apply(user, item)
  3.     @result.clear
  4.     @result.used = item_test(user, item)
  5.     @result.missed = (@result.used && rand >= item_hit(user, item))
  6.     @result.evaded = (!@result.missed && rand < item_eva(user, item))
  7.     if !@result.hit?
  8.       states.each do |state|
  9.       if state.note.include?("<EVASION>")
  10.         remove_state(state.id)
  11.       end
  12.       end
  13.     end
  14.     if @result.hit?
  15.       unless item.damage.none?
  16.         @result.critical = (rand < item_cri(user, item))
  17.         make_damage_value(user, item)
  18.         execute_damage(user)
  19.       end
  20.       item.effects.each {|effect| item_effect_apply(user, item, effect) }
  21.       item_user_effect(user, item)
  22.     end
  23.   end
  24. end

点评

谢谢大佬了,但我是脚本白痴,实在是搞不来(),不过我发现有个外网的脚本可以在状态消失后附加状态,所以我想绕个远路,多做几个状态来解决  发表于 2024-8-7 06:31
可以的呀,改用正则匹配然后在状态里存入次数就可以解决  发表于 2024-7-28 21:29
大佬,有没有办法多次触发,就是闪避两三次再解除状态()  发表于 2024-7-26 00:43
感谢,问题解决了 ^_^  发表于 2017-5-24 16:40

评分

参与人数 1梦石 +1 收起 理由
RaidenInfinity + 1 认可答案

查看全部评分

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-19 09:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表