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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 自以为是

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

[复制链接]

Lv3.寻梦者

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
0
在线时间
5 小时
注册时间
2019-6-11
帖子
23
发表于 2019-6-11 15:50:08 | 显示全部楼层
蟹蟹大佬6666666666666666666666666666
回复 支持 反对

使用道具 举报

Lv3.寻梦者

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

开拓者

发表于 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
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33133
在线时间
10482 小时
注册时间
2009-3-15
帖子
4756
发表于 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
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-17 07:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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