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

Project1

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

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
25
在线时间
7 小时
注册时间
2019-6-3
帖子
9
跳转到指定楼层
1
发表于 2019-6-7 19:36:42 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
请问如何制作持续伤害的效果,且伤害为可控的

Lv5.捕梦者

梦石
0
星屑
35808
在线时间
10624 小时
注册时间
2009-3-15
帖子
4787
14
发表于 2019-6-13 20:05:59 | 只看该作者
本帖最后由 soulsaga 于 2019-6-13 23:08 编辑

这样就优化剩几行了..

RUBY 代码复制
  1. def slip_damage_effect
  2.     if self.states.name.include?("毒 药")
  3.       # 设置伤害
  4.       idmg = $data_states[id].name;idmg =~/(\d+)/;idmg = $1.to_i/10;self.damage = (self.maxhp * idmg).to_i
  5.       amp = [self.damage.abs * 15 / 100, 1].max;self.damage += rand(amp+1) + rand(amp+1) - amp;self.hp -= self.damage;return true if self.damage.abs > 0
  6. end;end;end

      
@miantouchi

点评

我比你萌好吧。  发表于 2019-6-15 14:55
我没测试过..不清楚..其实我也只是萌新..不太熟..  发表于 2019-6-15 14:50
if self.damage.abs > 0 end;你优化的这句代码里面怎么是空的,是不是放错位置了  发表于 2019-6-15 14:34
正则表达式...咱回去学一学 会正则表达式真的好方便的 很多地方  发表于 2019-6-14 17:14
回去研究研究  发表于 2019-6-14 07:19
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1438
在线时间
328 小时
注册时间
2016-4-4
帖子
168

开拓者

13
发表于 2019-6-13 19:28:29 | 只看该作者
本帖最后由 porlutia 于 2019-6-13 19:30 编辑
  1.   #--------------------------------------------------------------------------
  2.   # ● 应用连续伤害效果
  3.   #--------------------------------------------------------------------------
  4.   def slip_damage_effect
  5.     #此处开始修改
  6.     #自定义连续伤害
  7.     for i in @states
  8.       if self.state?(i)
  9.         case i
  10.         when 17 #当状态id为17时
  11.           self.damage = (self.maxhp / 5).to_i #损失20%HP每回合
  12.         when 18
  13.           self.damage = (self.maxsp / 3).to_i #损失30%HP每回合
  14.        else #将原本的10%放到了这里
  15.           self.damage = self.maxhp / 10 #损失10%HP每回合
  16.       end
  17.       # 分散
  18.       if self.damage.abs > 0
  19.         amp = [self.damage.abs * 15 / 100, 1].max
  20.         self.damage += rand(amp+1) + rand(amp+1) - amp
  21.       end
  22.       # HP 的伤害减法运算
  23.       self.hp -= self.damage
  24.       # 过程结束
  25.       return true
  26.     end
  27.   end
  28.   end#注意多个end
复制代码

找到Game_Battler 3 滑到下面 ● 应用连续伤害效果 这里
把上面的代码替换掉 或照着这里往里边敲就可以了
上面when后面的数字为状态的id  
注意状态后面要勾上“连续伤害”

点评

从你的代码和自己代码对比也 学到不少。  发表于 2019-6-14 07:24
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
0
在线时间
5 小时
注册时间
2019-6-11
帖子
23
12
发表于 2019-6-11 15:50:08 | 只看该作者
蟹蟹大佬6666666666666666666666666666
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4863
在线时间
485 小时
注册时间
2018-6-18
帖子
613
11
发表于 2019-6-8 23:29:57 | 只看该作者
搜索YEA的汉化合集,里面有持续伤害动画和设置公式的脚本。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14311
在线时间
2161 小时
注册时间
2019-1-24
帖子
1125

R考场第七期纪念奖

10
发表于 2019-6-8 22:19:04 | 只看该作者
本帖最后由 miantouchi 于 2019-6-8 22:22 编辑

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



RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 应用连续伤害效果
  3.   #--------------------------------------------------------------------------
  4.   def slip_damage_effect
  5.     if self.state?(17)
  6.       # 设置伤害
  7.       self.damage = (self.maxhp * 0.1).to_i
  8.       # 分散
  9.       if self.damage.abs > 0
  10.         amp = [self.damage.abs * 15 / 100, 1].max
  11.         self.damage += rand(amp+1) + rand(amp+1) - amp
  12.       end
  13.       # HP 的伤害减法运算
  14.       self.hp -= self.damage
  15.       # 过程结束
  16.       return true
  17.     elsif self.state?(18)
  18.       # 设置伤害
  19.       self.damage = (self.maxhp * 0.2).to_i
  20.       # 分散
  21.       if self.damage.abs > 0
  22.         amp = [self.damage.abs * 15 / 100, 1].max
  23.         self.damage += rand(amp+1) + rand(amp+1) - amp
  24.       end
  25.       # HP 的伤害减法运算
  26.       self.hp -= self.damage
  27.       # 过程结束
  28.       return true
  29.     elsif self.state?(19)
  30.         # 设置伤害
  31.       self.damage = (self.maxhp * 0.3).to_i
  32.       # 分散
  33.       if self.damage.abs > 0
  34.         amp = [self.damage.abs * 15 / 100, 1].max
  35.         self.damage += rand(amp+1) + rand(amp+1) - amp
  36.       end
  37.       # HP 的伤害减法运算
  38.       self.hp -= self.damage
  39.       # 过程结束
  40.       return true
  41.     end
  42.     #其余10%
  43.     # 设置伤害
  44.     self.damage = self.maxhp / 10
  45.     # 分散
  46.     if self.damage.abs > 0
  47.       amp = [self.damage.abs * 15 / 100, 1].max
  48.       self.damage += rand(amp+1) + rand(amp+1) - amp
  49.     end
  50.     # HP 的伤害减法运算
  51.     self.hp -= self.damage
  52.     # 过程结束
  53.     return true
  54.   end

点评

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
25
在线时间
7 小时
注册时间
2019-6-3
帖子
9
9
 楼主| 发表于 2019-6-8 19:25:45 | 只看该作者
紫英晓狼1130 发表于 2019-6-8 10:34
状态的属性里有“连续伤害”选项的

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

点评

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

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14311
在线时间
2161 小时
注册时间
2019-1-24
帖子
1125

R考场第七期纪念奖

8
发表于 2019-6-8 11:24:35 | 只看该作者
数据库-状态 添加个连续伤害的的状态
然后在
数据库-物品 添加一个你自定义的物品,关联上这个状态就行了
特技也是一样的操作
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3846
在线时间
1966 小时
注册时间
2013-1-3
帖子
9536
7
发表于 2019-6-8 10:34:22 | 只看该作者
状态的属性里有“连续伤害”选项的
《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
25
在线时间
7 小时
注册时间
2019-6-3
帖子
9
6
 楼主| 发表于 2019-6-7 23:20:41 | 只看该作者
木·朽. 发表于 2019-6-7 21:05
我刚才试了,好像可行。

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-2-19 01:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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