查看: 2694|回复: 7

[已经解决] [已解决]如何设置怪物普通攻击造成异常状态?

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

R考场第七期纪念奖

发表于 2019-5-11 15:14:10 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 miantouchi 于 2019-5-12 10:12 编辑

比如我想让怪物攻击后,一定几率让我方人员中毒、睡眠等属性,只能通过我截图,通过行为当中设置这个技能几率这样吗?

能不能让怪物普通攻击就具有中毒或者睡眠的属性。
1.png
梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2019-5-11 16:33:27 | 显示全部楼层
从战斗公式中可以看出, 普通攻击附加状态是 用 plus_state_set 这个函数决定的

全局搜索plus_state_set , 找到 game_enemy 里定义它的地方, 可以看到就只返回一个空数组, 那你只要让它返回的数组不是空的, 就可以实现敌人普通攻击附带状态了

直接换数组内容是全体敌人都有效, 所以这里要区分怪的来给于不同的数组

做法很多种, ID判断法啦, 常数关联法啦, 备注调用法啦,

栗子:

def plus_state_set
    if id == 1
      return [1]    #1号ID的敌人攻击附带1号状态(战斗不能), 也就是普通攻击附带即死
    end
    if name.include?("毒")
      return [2]  #名字带有毒的敌人, 攻击都附带2号状态
    end
    if index % 2 == 0
      return [3,4]  #双数位置的敌人,攻击都附带3号,4号状态
    end
    if @hp / @maxhp.to_f < 0.5 #血量少于一半的敌人,攻击附带1号武器所带有的状态
      return $data_weapons[1].plus_state_set
    end
    if self.state?(2) #自身附带2号状态的时候, 攻击附带自己当前所中的所有状态
      return @state
    end
    return []
end

点评

职业设置右边的状态有效度, 默认C, 换D 和E就降低几率了, F是免疫  发表于 2019-5-12 09:59
另外,如何调节现在敌人攻击后我方中状态几率太高了,怎么设置下中状态的几率  发表于 2019-5-12 07:55
对了。name.include?("毒"),这里面的include?是数组中include?(val) 的吗? 我搜索F1里面inducle?使用有好几种情况,有数组、hash、module  发表于 2019-5-12 07:53
测试了前两种已经达成需要的了,剩下的3种情况继续研究使用。就喜欢你这种回答,哈哈有例子  发表于 2019-5-12 07:50

评分

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

查看全部评分

回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2019-5-11 17:24:56 | 显示全部楼层
继续推销我签名里的《战斗调用公共事件》,在行动后的事件里指定状态附加即可。

点评

膜拜了,正在研究,不过我现在基础太差了,看不太懂现在。  发表于 2019-5-12 08:26

评分

参与人数 1星屑 +20 收起 理由
RyanBern + 20 推销失败

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部