查看: 2616|回复: 16

[已经解决] [已解决]应用特技效果skill_effect,一段代码

[复制链接]
梦石
0
星屑
15041
在线时间
2230 小时
注册时间
2019-1-24
回帖
964

R考场第七期纪念奖

发表于 2019-5-15 19:48:17 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 miantouchi 于 2019-5-15 20:40 编辑

[pre lang="ruby"] # 特技的效果范围是 HP 1 以上的己方、自己的 HP 为 0、
    # 或者特技的效果范围是 HP 0 的己方、自己的 HP 为 1 以上的情况下
    if ((skill.scope == 3 or skill.scope == 4) and self.hp == 0) or
       ((skill.scope == 5 or skill.scope == 6) and self.hp >= 1)
      # 过程结束
      return false
    end[/pre]

第一句是,特技的效果范围是 HP 1 以上的己方,就是作用在我方存活的人身上,自己的 HP 为 0啥意思,自己HP都是0了,还怎么作用我方队员?
第二句,特技的效果范围是 HP 0的己方,作用在我方阵亡人物身上,自己的HP为1以上,就是我方活着的人物,用技能复活死去队友吧

第一句就不太理解了。第二句感觉还算明白
2019-05-15_193847.png
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2019-5-15 19:58:57 | 显示全部楼层
满足这两个条件都结束执行..

点评

刀王,你解释的格式真是有助于我理解这段代码  发表于 2019-5-15 20:41
对, 这句的意思是, 如果 技能范围为3,4(己方单体和全体)而对象方死亡 或者 技能范围为5,6(己方单尸和全尸)而对象方HP大于0, 中断技能效果并返回false  发表于 2019-5-15 20:24
第一句 是技能不能用在死人身上?  发表于 2019-5-15 20:19
第二句是意思是, 复活技能不能用于HP大于0的角色  发表于 2019-5-15 20:13
还不让我HP>=1的人去复活队友啊  发表于 2019-5-15 20:07
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2019-5-15 20:06:52 | 显示全部楼层
你有两个误区

1, 这段的self 是"挨打方"

2, 这句判定返回false,  意思就是"以上的情况下, 不应用技能效果"

点评

哦这样啊,里面这么多玄机xp脚本学问真多啊  发表于 2019-5-15 20:37
我看到self.pdef就懂了..  发表于 2019-5-15 20:32
后面有一句 self.hp -= self.damage  发表于 2019-5-15 20:26
这咋整的我,一看代码就理解错了。你怎么发现self是“挨打方”,被作用方的?我怎么就弄反了  发表于 2019-5-15 20:20
你俩懂,我不懂  发表于 2019-5-15 20:12

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部