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

Project1

 找回密码
 注册会员
搜索
查看: 2808|回复: 15
打印 上一主题 下一主题

[已经解决] 如何设置技能一定概率连击?

[复制链接]

Lv4.逐梦者

素材区好人

梦石
3
星屑
7532
在线时间
3543 小时
注册时间
2011-7-21
帖子
2284

极短24参与极短23参与极短22参与极短21参与

跳转到指定楼层
发表于 2021-11-23 23:55:11 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
100星屑
例:释放A技能后,有70%概率再次释放A技能,最多循环3次。如果A技能为单体,则随机选择目标(当然敌单体还是要打在敌人上),如果战斗已经结束,则不会执行
曾经想过用事件做,但是因为玩家可以随意调整队员的位置,所以失败了

最佳答案

查看完整内容

类似的问题有人问过 解决楼看倒数第2的楼 https://rpg.blue/thread-488038-2-1.html

Lv3.寻梦者

梦石
0
星屑
3286
在线时间
181 小时
注册时间
2020-8-9
帖子
119
8
发表于 2022-1-31 00:01:21 | 只看该作者
本帖最后由 939034448 于 2022-1-31 00:02 编辑

试试这个,不过可能需要你加个概率的判断
  1. # ===================================================================
  2. # 连击效果(完美版) v1.2 by SailCat
  3. # ===================================================================
  4. # 数据库设定(特技):
  5. #   名称:技能名称,连击次数(要用半角逗号)
  6. #   例如:超究舞神霸斩,11
  7. #         狮子心,16
  8. #         陨石,9
  9. # 注意这是连击次数,实际攻击的回数是这个回数+1回。
  10. # 省略逗号连同后面的参数的话,连击次数默认为零。
  11. # 连击次数是负数的话,将取绝对值处理。
  12. # 视觉效果是发动动画只放1回,击中动画放N回,伤害值显示N次,
  13. # 所以,如使用了齐时战斗的话,要修改倒数第四行,该行内容为:
  14. #     @phase4_step = 4
  15. # 改为@phase4_step = 3
  16. # 其他:RTAB不适用
  17. # ===================================================================
  18. module RPG
  19. class Skill
  20.    def name
  21.      name = @name.split(/,/)[0]
  22.      return name != nil ? name : ""
  23.    end
  24.    def hit_count
  25.      name = @name.split(/,/)[1]
  26.      return name != nil ? name.to_i.abs : 0
  27.    end
  28. end
  29. class Sprite < ::Sprite
  30.    def effect?
  31.      @_whiten_duration > 0 or
  32.      @_appear_duration > 0 or
  33.      @_escape_duration > 0 or
  34.      @_animation_duration > 0
  35.    end
  36.    def damage_effect?
  37.      @_damage_duration > 0 or
  38.      @_collapse_duration > 0
  39.    end
  40. end
  41. end
  42. class Spriteset_Battle
  43. def damage_effect?
  44.    for sprite in @enemy_sprites + @actor_sprites
  45.      return true if sprite.damage_effect?
  46.    end
  47.    return false
  48. end
  49. end  
  50. class Scene_Battle
  51. alias sailcat_update_phase4_step1 update_phase4_step1
  52. alias sailcat_make_skill_action_result make_skill_action_result
  53. alias sailcat_update_phase4_step5 update_phase4_step5
  54. def update_phase4_step1
  55.    @hit_count = 0
  56.    sailcat_update_phase4_step1
  57. end
  58. def make_skill_action_result
  59.    sailcat_make_skill_action_result
  60.    @hit_count = @skill.hit_count
  61. end
  62. def update_phase4_step5
  63.    sailcat_update_phase4_step5
  64.    if @hit_count > 0
  65.      for target in @target_battlers.clone
  66.        if target.dead?
  67.          if @target_battlers.size > 1
  68.            @target_battlers.delete(target)
  69.          else
  70.            @target_battlers.delete(target)
  71.            if target.is_a?(Game_Enemy)
  72.              target = $game_troop.smooth_target_enemy(target.index)
  73.            else
  74.              target = $game_party.smooth_target_actor(target.index)
  75.            end
  76.            if target.is_a?(Game_Battler)
  77.              @target_battlers.push(target)
  78.            end
  79.          end
  80.        end
  81.      end
  82.      if @target_battlers.size == 0
  83.        return
  84.      end
  85.      for target in @target_battlers
  86.        if target.damage != nil
  87.          @phase4_step = 5
  88.          return
  89.        end
  90.        target.skill_effect(@active_battler, @skill)
  91.      end
  92.      # 如果你应用了23种战斗特效的公共事件版脚本请去掉下面几行的注释
  93.      # if @common_event_id > 0
  94.      #   common_event = $data_common_events[@common_event_id]
  95.      #   $game_system.battle_interpreter.setup(common_event.list, 0)
  96.      # end
  97.      @hit_count -= 1
  98.      @phase4_step = 4
  99.    end
  100. end
  101. end
复制代码

点评

没有,只能考虑用纯事件做了  发表于 2022-1-31 19:18
楼主你这个提问还没解决吗?  发表于 2022-1-31 15:39
我第一个找到的就是这个,但是首先这个并不能实现概率连击,其次连击仍然需要消耗MP  发表于 2022-1-31 00:11
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
853
在线时间
85 小时
注册时间
2005-11-21
帖子
86
7
发表于 2021-12-10 19:39:50 | 只看该作者
本帖最后由 黑夜守望者 于 2021-12-10 20:53 编辑

https://rpg.blue/thread-488038-1-1.html
这样不知道行不行,如果要概率可以再加个判断
这个多技能条件下还没弄,估计只能单人连击使用
回复

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23994
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

6
发表于 2021-11-25 13:28:53 | 只看该作者
可以看看我签名里的战斗调用公共事件,能实现各种特效,也包括连击

点评

无消耗的实现原理是在行动前修改技能$data_skills的数据,连击结束后再改回来  发表于 2021-11-26 14:18
第二个似乎不是rmxp的默认系统,所以你要自行调试  发表于 2021-11-26 14:16
正在学习中,不知是否可以实现连击时无消耗,以及2号位队员移动到3号位也能追击  发表于 2021-11-26 12:21

评分

参与人数 1+1 收起 理由
taeckle + 1 回答正确!

查看全部评分

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

使用道具 举报

Lv4.逐梦者

素材区好人

梦石
3
星屑
7532
在线时间
3543 小时
注册时间
2011-7-21
帖子
2284

极短24参与极短23参与极短22参与极短21参与

5
 楼主| 发表于 2021-11-24 22:16:28 | 只看该作者
ada01 发表于 2021-11-24 20:16
试试这个
https://rpg.blue/thread-378714-1-1.html

研究了一下,确实比纯事件简单,但还是有部分问题
1,二次技能仍然需要消耗MP
2,最多也只能进行2次行动,如果3次或更多的连击则不可能做到
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6388
在线时间
989 小时
注册时间
2010-12-3
帖子
45
4
发表于 2021-11-24 20:16:51 | 只看该作者
回复

使用道具 举报

Lv4.逐梦者

素材区好人

梦石
3
星屑
7532
在线时间
3543 小时
注册时间
2011-7-21
帖子
2284

极短24参与极短23参与极短22参与极短21参与

3
 楼主| 发表于 2021-11-24 17:56:17 | 只看该作者
y967 发表于 2021-11-24 11:04
创造一个和A技能一样的A*技能,范围为随机一人,公共事件设置变量随机数1-10
条件判断为不等于1,2,3时, ...

首先问题是,因为玩家可以随意调整队员的位置,所以失败了
其次即使设置带A技能也是可以,多加一个次数判断的变量即可,缺点是每次使用都需要再一次消耗MP
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
13657
在线时间
3854 小时
注册时间
2013-7-18
帖子
2314
2
发表于 2021-11-24 11:04:43 | 只看该作者
创造一个和A技能一样的A*技能,范围为随机一人,公共事件设置变量随机数1-10
条件判断为不等于1,2,3时,都可触发A*技能,A技能带上这个公共事件。注意不可设置带A技能,一定要重新设置一个A*技能,否则会无限连到死,笑。
山岚野人,快人快语,礼数不周,还望海涵....
回复

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36452
在线时间
10800 小时
注册时间
2009-3-15
帖子
4814
1
发表于 2021-11-23 23:55:12 | 只看该作者
类似的问题有人问过
解决楼看倒数第2的楼
https://rpg.blue/thread-488038-2-1.html

点评

多谢,我还以为永远不会被解决了  发表于 2022-2-2 22:46

评分

参与人数 2+2 收起 理由
taeckle + 1 大神新年快乐!
无忧谷主幻 + 1 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 06:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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