查看: 5283|回复: 23

[已经解决] 请问如何制作持续伤害的效果,

[复制链接]
梦石
0
星屑
25
在线时间
7 小时
注册时间
2019-6-3
回帖
4
发表于 2019-6-7 19:36:42 | 显示全部楼层 |阅读模式

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

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

×
请问如何制作持续伤害的效果,且伤害为可控的
梦石
0
星屑
115
在线时间
8 小时
注册时间
2019-6-5
回帖
9
发表于 2019-6-7 20:44:04 | 显示全部楼层
我觉得你可以用事件
回复

使用道具 举报

梦石
0
星屑
115
在线时间
8 小时
注册时间
2019-6-5
回帖
9
发表于 2019-6-7 20:52:42 | 显示全部楼层
先在“队伍”里面设置开关,在“公共事件”里设置条件分歧:
当第XX号id的敌人状态为XX时,开启相应的开关。
“队伍”里的“条件”当第XX号id敌人开关开启时,事件指令第三页“增减敌人HP”(中间要等待几帧)。
能想到好像就是这些了,好像有一点儿不足,让我再想想。
回复

使用道具 举报

梦石
0
星屑
664
在线时间
101 小时
注册时间
2016-7-15
回帖
130
发表于 2019-6-7 21:03:43 | 显示全部楼层
地图上可以接触触发扣除HP的事件,战斗中的话可以在技能里附加公共事件减少HP或附加状态
回复

使用道具 举报

梦石
0
星屑
115
在线时间
8 小时
注册时间
2019-6-5
回帖
9
发表于 2019-6-7 21:05:17 | 显示全部楼层
木·朽. 发表于 2019-6-7 20:52
先在“队伍”里面设置开关,在“公共事件”里设置条件分歧:
当第XX号id的敌人状态为XX时,开启相应的开关 ...

我刚才试了,好像可行。
回复

使用道具 举报

梦石
0
星屑
25
在线时间
7 小时
注册时间
2019-6-3
回帖
4
 楼主| 发表于 2019-6-7 23:20:41 | 显示全部楼层
木·朽. 发表于 2019-6-7 21:05
我刚才试了,好像可行。

- -我是想做个特技 或者状态 或者 物品 其效果是持续伤害 ,而且伤害是多少可以自己决定,如果照你说的方法 那还得挨个设置   可能我没说明白
回复

使用道具 举报

梦石
0
星屑
3905
在线时间
1972 小时
注册时间
2013-1-3
回帖
9146
发表于 2019-6-8 10:34:22 | 显示全部楼层
状态的属性里有“连续伤害”选项的
《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
回复

使用道具 举报

梦石
0
星屑
15041
在线时间
2230 小时
注册时间
2019-1-24
回帖
964

R考场第七期纪念奖

发表于 2019-6-8 11:24:35 | 显示全部楼层
数据库-状态 添加个连续伤害的的状态
然后在
数据库-物品 添加一个你自定义的物品,关联上这个状态就行了
特技也是一样的操作
回复

使用道具 举报

梦石
0
星屑
25
在线时间
7 小时
注册时间
2019-6-3
回帖
4
 楼主| 发表于 2019-6-8 19:25:45 | 显示全部楼层
紫英晓狼1130 发表于 2019-6-8 10:34
状态的属性里有“连续伤害”选项的

但是伤害不可控,假设要做两种持续伤害的黑暗料理,其中一个伤害高一点就不行了

点评

懂了,你设置使用这个物品后公共事件开启一个开关,战斗时判断开关开了没有,开了就扣血,判断时机为每回合结束时。如果一定次数,就再加变量  发表于 2019-6-8 19:38
回复

使用道具 举报

梦石
0
星屑
15041
在线时间
2230 小时
注册时间
2019-1-24
回帖
964

R考场第七期纪念奖

发表于 2019-6-8 22:19:04 | 显示全部楼层
本帖最后由 miantouchi 于 2019-6-8 22:22 编辑

和之前说的一样,状态设置下设置了3种状态黑暗料理分别是10%,20%,30%左右。然后关联上物品栏3种物品。
最后修改持续伤害脚本,脚本长了点。。。。。。如果哪位大大想好优化的话,帮忙优化下
2.png
1.png

[pre lang="ruby"]  #--------------------------------------------------------------------------
  # ● 应用连续伤害效果
  #--------------------------------------------------------------------------
  def slip_damage_effect
    if self.state?(17)
      # 设置伤害
      self.damage = (self.maxhp * 0.1).to_i
      # 分散
      if self.damage.abs > 0
        amp = [self.damage.abs * 15 / 100, 1].max
        self.damage += rand(amp+1) + rand(amp+1) - amp
      end
      # HP 的伤害减法运算
      self.hp -= self.damage
      # 过程结束
      return true
    elsif self.state?(18)
      # 设置伤害
      self.damage = (self.maxhp * 0.2).to_i
      # 分散
      if self.damage.abs > 0
        amp = [self.damage.abs * 15 / 100, 1].max
        self.damage += rand(amp+1) + rand(amp+1) - amp
      end
      # HP 的伤害减法运算
      self.hp -= self.damage
      # 过程结束
      return true
    elsif self.state?(19)
        # 设置伤害
      self.damage = (self.maxhp * 0.3).to_i
      # 分散
      if self.damage.abs > 0
        amp = [self.damage.abs * 15 / 100, 1].max
        self.damage += rand(amp+1) + rand(amp+1) - amp
      end
      # HP 的伤害减法运算
      self.hp -= self.damage
      # 过程结束
      return true
    end
    #其余10%
    # 设置伤害
    self.damage = self.maxhp / 10
    # 分散
    if self.damage.abs > 0
      amp = [self.damage.abs * 15 / 100, 1].max
      self.damage += rand(amp+1) + rand(amp+1) - amp
    end
    # HP 的伤害减法运算
    self.hp -= self.damage
    # 过程结束
    return true
  end[/pre]

点评

咱也是几个月没写代码了 这次试了好多遍才写出来的 也算是复习了一下了  发表于 2019-6-14 17:15
分散3个都一样的话可以不用每个都写啊..另外一行后面加;可以当成换行用..这样你的脚本可以减不少..  发表于 2019-6-13 19:58
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部