查看: 4460|回复: 10

[已经解决] 如何让攻击次数对技能也有效?

[复制链接]
梦石
0
星屑
710
在线时间
663 小时
注册时间
2012-10-21
回帖
251
发表于 2014-8-1 20:08:25 | 显示全部楼层 |阅读模式

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

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

×
RT,攻击次数目前只对技能1(普通攻击)有加成,如何让它对其他技能也有效果?

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-8-1 20:11:53 | 显示全部楼层
[pre lang="ruby" line="1"]class Game_Action
  def targets_for_opponents
    if item.for_random?
      Array.new(item.number_of_targets) { opponents_unit.random_target }
    elsif item.for_one?
      num = 1 + subject.atk_times_add.to_i
      if @target_index < 0
        [opponents_unit.random_target] * num
      else
        [opponents_unit.smooth_target(@target_index)] * num
      end
    else
      opponents_unit.alive_members
    end
  end
end[/pre]

未测试

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
710
在线时间
663 小时
注册时间
2012-10-21
回帖
251
 楼主| 发表于 2014-8-1 21:32:52 | 显示全部楼层
用了之后没效果啊?攻击一次的技能依然还是攻击一次,无论主角加了多少攻击次数……
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-8-1 21:41:19 | 显示全部楼层
bloodyliao 发表于 2014-8-1 21:32
用了之后没效果啊?攻击一次的技能依然还是攻击一次,无论主角加了多少攻击次数…… ...

经测试没有问题。艾里克攻击次数+1

Project2.rar (295.68 KB, 下载次数: 70)

点评

那个,再追加一下,能不能限定特定类型、特定几个id的技能才会追加攻击次数呢?不然扔个火球、治疗也多次的话太离奇了……  发表于 2014-8-2 07:50

评分

参与人数 1星屑 +100 收起 理由
VIPArcher + 100 连范例都有,简直良心

查看全部评分

回复

使用道具 举报

梦石
0
星屑
710
在线时间
663 小时
注册时间
2012-10-21
回帖
251
 楼主| 发表于 2014-8-1 22:13:34 | 显示全部楼层
本帖最后由 bloodyliao 于 2014-8-1 22:19 编辑
taroxd 发表于 2014-8-1 21:41
经测试没有问题。艾里克攻击次数+1


啊啊,好了,自己解决了,谢谢你!抱抱!
回复

使用道具 举报

梦石
0
星屑
710
在线时间
663 小时
注册时间
2012-10-21
回帖
251
 楼主| 发表于 2014-8-2 10:35:42 | 显示全部楼层
又有新问题了……没解决QAQ
能不能限定特定类型、特定几个id的技能才会追加攻击次数呢?不然扔个火球、治疗也多次的话太离奇了……
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-8-2 12:20:45 来自手机 | 显示全部楼层
bloodyliao 发表于 2014-8-2 10:35
又有新问题了……没解决QAQ
能不能限定特定类型、特定几个id的技能才会追加攻击次数呢?不然扔个火球、治疗 ...

可以。对比插入的脚本与原脚本的不同,将 attack? 换为其他判定条件即可。

我现在爪机上,不方便写脚本。你自己试着弄弄吧。
回复

使用道具 举报

梦石
0
星屑
710
在线时间
663 小时
注册时间
2012-10-21
回帖
251
 楼主| 发表于 2014-8-2 12:32:03 | 显示全部楼层
taroxd 发表于 2014-8-2 12:20
可以。对比插入的脚本与原脚本的不同,将 attack? 换为其他判定条件即可。

我现在爪机上,不方便写脚本 ...

咱等泥……不太会改……
希望改成:1、特定类型的技能无法有攻击次数加成
               2、在技能备注里加<no attck time bonus>也使得这个技能没有加成……

谢谢斑竹大人啦!
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-8-2 16:37:34 | 显示全部楼层
bloodyliao 发表于 2014-8-2 12:32
咱等泥……不太会改……
希望改成:1、特定类型的技能无法有攻击次数加成
               2、在技能备注 ...


[pre lang="ruby" line="1"]
class Game_Action
  
  def repeat_ok?
    item.is_a?(RPG::Skill) && ![1,3,5].include?(item.stype_id) &&
      !item.note.include?('<no attck time bonus>')
  end
  
  def targets_for_opponents
    if item.for_random?
      Array.new(item.number_of_targets) { opponents_unit.random_target }
    elsif item.for_one?
      num = 1 + (repeat_ok? ? subject.atk_times_add.to_i : 0)
      if @target_index < 0
        [opponents_unit.random_target] * num
      else
        [opponents_unit.smooth_target(@target_index)] * num
      end
    else
      opponents_unit.alive_members
    end
  end

end[/pre]

未测试,条件请自己在 repeat_ok? 里面修改
另外你 attack 拼错了我就按照你的了~

点评

这样子,如果技能本身攻击次数大于1,比如是2的话,实际攻击次数就不是加上攻击次数了,而是乘倍……要怎么办?我把 * num 改成 + num 出错啊  发表于 2014-8-21 12:36
回复

使用道具 举报

梦石
0
星屑
710
在线时间
663 小时
注册时间
2012-10-21
回帖
251
 楼主| 发表于 2014-8-2 17:50:43 | 显示全部楼层
taroxd 发表于 2014-8-2 16:37
class Game_Action
  
  def repeat_ok?

[1,3,5].include?(item.stype_id)是说包括1,3,5号技能类型吗?

点评

是  发表于 2014-8-2 17:54
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部