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

Project1

 找回密码
 注册会员
搜索
楼主: 无忧谷主幻
打印 上一主题 下一主题

[讨论] 【自答贴】适用于彩虹神剑的溅射技能

[复制链接]

Lv1.梦旅人

梦石
0
星屑
242
在线时间
122 小时
注册时间
2010-7-10
帖子
39
11
发表于 2026-4-11 21:46:54 | 只看该作者
还有请问下怎么弄一个技能能释放三四个法术呢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
242
在线时间
122 小时
注册时间
2010-7-10
帖子
39
12
发表于 2026-4-11 21:54:17 | 只看该作者
lin2117245 发表于 2026-4-11 21:22
现在是全屏就是加主随机在两个就是三个了

加我QQ364397607比较好沟通
回复 支持 反对

使用道具 举报

Lv4.逐梦者

素材区好人

梦石
3
星屑
11154
在线时间
4172 小时
注册时间
2011-7-21
帖子
2528

极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

13
 楼主| 发表于 2026-4-11 21:55:53 | 只看该作者
lin2117245 发表于 2026-4-11 21:12
嗯就是敌人随机溅射3个当位

只要给随机3个敌人附加上状态17就好了
事件页写不下,我就放在脚本编辑器中了
Project2.zip (350.32 KB, 下载次数: 1)
话说,我感觉随机多体攻击更适合你吧?
https://rpg.blue/thread-329344-1-1.html
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
242
在线时间
122 小时
注册时间
2010-7-10
帖子
39
14
发表于 2026-4-11 22:24:50 | 只看该作者
无忧谷主幻 发表于 2026-4-11 21:55
只要给随机3个敌人附加上状态17就好了
事件页写不下,我就放在脚本编辑器中了

溅射伤害能不能跟改随主角的伤害
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
242
在线时间
122 小时
注册时间
2010-7-10
帖子
39
15
发表于 2026-4-11 22:31:18 | 只看该作者
无忧谷主幻 发表于 2026-4-11 21:55
只要给随机3个敌人附加上状态17就好了
事件页写不下,我就放在脚本编辑器中了

你加我QQ吧比较好说我关电脑了

点评

QQ我是不会加的,建议你重开一个贴,这个帖子的方法和你的要求不符  发表于 2026-4-12 07:02
回复 支持 反对

使用道具 举报

Lv4.逐梦者

素材区好人

梦石
3
星屑
11154
在线时间
4172 小时
注册时间
2011-7-21
帖子
2528

极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

16
 楼主| 发表于 2026-4-11 22:48:16 | 只看该作者
lin2117245 发表于 2026-4-11 22:24
溅射伤害能不能跟改随主角的伤害

首先,我做的这个其实就是直接扣血,跳过了整个技能伤害计算公式
如果你要改成关联技能或主角攻击力其实也可以
比如这样就是关联了技能57的威力数值
RUBY 代码复制
  1. #==============================================================================
  2. # ■ 状态17溅射伤害处理
  3. #==============================================================================
  4.  
  5. class Game_Troop
  6.   # 对随机最多3个敌人附加状态17,并对所有带该状态的敌人造成技能57的威力伤害
  7.   def splash_state17_damage
  8.     # 1. 筛选出所有存活的敌人
  9.     alive_targets = @enemies.select { |e| e.hp > 0 }
  10.  
  11.     # 2. 从存活敌人中随机选取最多3个
  12.     targets_to_add_state = alive_targets.sort_by{ rand }[0, [3, alive_targets.size].min]
  13.  
  14.     # 3. 为选中的目标附加状态17
  15.     targets_to_add_state.each do |enemy|
  16.       enemy.add_state(17) unless enemy.state?(17)
  17.     end
  18.  
  19.     # 4. 对所有拥有状态17的存活敌人造成技能57的威力伤害
  20.     alive_targets.each do |enemy|
  21.       if enemy.state?(17)
  22.         # 直接读取数据库中 技能57 的威力
  23.         skill = $data_skills[57]
  24.         dmg = skill.power
  25.  
  26.         enemy.hp -= dmg
  27.         enemy.damage = dmg
  28.         enemy.critical = false
  29.         enemy.animation_id = 101
  30.         enemy.damage_pop = true
  31.       end
  32.     end
  33.   end
  34. end

但你非要改成标准战斗的伤害,就需要加上整套伤害计算公式了,我真心不建议用这个方法,另外,我感觉你还是重开一个帖子比较好

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
242
在线时间
122 小时
注册时间
2010-7-10
帖子
39
17
发表于 2026-4-12 19:24:59 | 只看该作者
无忧谷主幻 发表于 2026-4-11 22:48
首先,我做的这个其实就是直接扣血,跳过了整个技能伤害计算公式
如果你要改成关联技能或主角攻击力其实 ...

能改成角色攻击伤害不比如.角色攻击5100那么溅射一样或者低可以不
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
242
在线时间
122 小时
注册时间
2010-7-10
帖子
39
18
发表于 2026-4-12 19:26:51 | 只看该作者
你帮我写一个观照万象像梦幻一样梦释放施法四个法术的
回复 支持 反对

使用道具 举报

Lv4.逐梦者

素材区好人

梦石
3
星屑
11154
在线时间
4172 小时
注册时间
2011-7-21
帖子
2528

极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

19
 楼主| 发表于 2026-4-12 21:49:01 | 只看该作者
lin2117245 发表于 2026-4-12 19:24
能改成角色攻击伤害不比如.角色攻击5100那么溅射一样或者低可以不

关联的数值改成角色1的攻击力
RUBY 代码复制
  1. #==============================================================================
  2. # ■ 状态17溅射伤害处理
  3. #==============================================================================
  4.  
  5. class Game_Troop
  6.   # 对随机最多3个敌人附加状态17,并对所有带该状态的敌人造成主角1攻击力的伤害
  7.   def splash_state17_damage
  8.     # 1. 筛选出所有存活的敌人
  9.     alive_targets = @enemies.select { |e| e.hp > 0 }
  10.  
  11.     # 2. 从存活敌人中随机选取最多3个
  12.     targets_to_add_state = alive_targets.sort_by{ rand }[0, [3, alive_targets.size].min]
  13.  
  14.     # 3. 为选中的目标附加状态17(已存在则不重复添加)
  15.     targets_to_add_state.each do |enemy|
  16.       enemy.add_state(17) unless enemy.state?(17)
  17.     end
  18.  
  19.     # 4. 对所有拥有状态17的存活敌人造成伤害
  20.     alive_targets.each do |enemy|
  21.       if enemy.state?(17)
  22.         # 获取队伍第一个成员(主角1)的最终攻击力
  23.         # 包含装备、状态、buff/debuff的最终数值
  24.         dmg = $game_party.actors[0].atk
  25.  
  26.         enemy.hp -= dmg
  27.         enemy.damage = dmg
  28.         enemy.critical = false
  29.         enemy.animation_id = 101
  30.         enemy.damage_pop = true
  31.       end
  32.     end
  33.   end
  34. end


甚至可以加上浮动
RUBY 代码复制
  1. #==============================================================================
  2. # ■ 状态17溅射伤害处理
  3. #==============================================================================
  4.  
  5. class Game_Troop
  6.   # 对随机最多3个敌人附加状态17,并对所有带该状态的敌人造成主角1攻击力的伤害
  7.   def splash_state17_damage
  8.     # 1. 筛选出所有存活的敌人
  9.     alive_targets = @enemies.select { |e| e.hp > 0 }
  10.  
  11.     # 2. 从存活敌人中随机选取最多3个
  12.     targets_to_add_state = alive_targets.sort_by{ rand }[0, [3, alive_targets.size].min]
  13.  
  14.     # 3. 为选中的目标附加状态17(已存在则不重复添加)
  15.     targets_to_add_state.each do |enemy|
  16.       enemy.add_state(17) unless enemy.state?(17)
  17.     end
  18.  
  19.     # 4. 对所有拥有状态17的存活敌人造成伤害
  20.     alive_targets.each do |enemy|
  21.       if enemy.state?(17)
  22.         # 获取主角1的基础攻击力
  23.         base_atk = $game_party.actors[0].atk
  24.         # 生成±10%的随机浮动系数
  25.         fluct = 0.9 + rand * 0.2
  26.         # 计算最终伤害(向下取整,确保为整数)
  27.         dmg = (base_atk * fluct).to_i
  28.         # 保底1点伤害,避免出现0伤
  29.         dmg = [dmg, 1].max
  30.  
  31.         enemy.hp -= dmg
  32.         enemy.damage = dmg
  33.         enemy.critical = false
  34.         enemy.animation_id = 101
  35.         enemy.damage_pop = true
  36.       end
  37.     end
  38.   end
  39. end


但你要明白,这本质上仍然是关联了某个数值的固定伤害,如果你想像正常战斗一样,需要套用整个伤害计算公式,还要考虑敌人的防御力,不如从新做一个比较方便

这是我在这个帖子的最后一个回复了,如果还不满意,就去开新帖吧

点评

其实,你可以在伤害公式里把伤害保存到一个全局变量里,然后就可以拿这个全局变量玩了, 笑  发表于 2026-5-15 10:56
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
242
在线时间
122 小时
注册时间
2010-7-10
帖子
39
20
发表于 2026-4-12 22:01:32 | 只看该作者
无忧谷主幻 发表于 2026-4-12 21:49
关联的数值改成角色1的攻击力
#===================================================================== ...

最后这个脚本还是会全屏啊

点评

从存活敌人中随机选取最多3个,但如果敌人数量小于等于3个,当然会全部选取  发表于 2026-4-12 22:15
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-6-4 08:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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