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

Project1

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

[已经解决] 关于伤害变量相关的技能设置

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
跳转到指定楼层
1
发表于 2014-7-19 12:25:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 lirn 于 2014-7-19 12:27 编辑

我设置了一个技能,就是对对方全体造成场上最后伤害、

首先,我在造成伤害的时候,设置了一个变量,就是伤害发生时& 伤害大于0    就 变量(1) = 伤害 。表面看起来,只需要在那个技能设置成 V(1)就行了,但实际上存在着其他问题,就是当第一个角色受到的伤害数值会影响下一个数值、
比如V(1)=1000
敌人1 受到伤害1000
敌人2 防御 受到伤害500.
那么敌人3受到的伤害也是500.因为在敌人2受到伤害时 V(1)=500了、

解决这个办法的我的猜想设置个变量2,在战斗前将 V(2) =V(1)就行了,那样无论伤害怎么变化,影响的是V(1),而不是V(2)

不过,我也有个问题,使用救世小树的计算公式是没有意义,因为计算公式是每个角色重新计算,如果写在那里,V2的变化就跟V1一样。同理,写在判断是否命中发动会心的也一样。

而使用公共事件,先将V(2)=V(1)然后再强制攻击也是可能,但这样的话,技能使用到强制攻击之间的间隔会比较长,感觉有2秒以上。

现在就是想问,写在哪里可以不受造成新的伤害而影响变量,又或者,怎么做才能减少技能使用到强制攻击前的时间间隔。

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-7-19 12:35:40 | 只看该作者
RUBY 代码复制
  1. class Game_Battler
  2.   def make_damage_value(user, item)
  3.     value = item.damage.eval(user, self, $game_variables)
  4.     value *= item_element_rate(user, item)
  5.     value *= pdr if item.physical?
  6.     value *= mdr if item.magical?
  7.     value *= rec if item.damage.recover?
  8.     value = apply_critical(value) if @result.critical
  9.     value = apply_variance(value, item.damage.variance)
  10.     value = apply_guard(value)
  11.     # 除非技能为 20 号技能,否则将伤害存进 1 号变量
  12.     $game_variables[1] = value unless item == $data_skills[20]
  13.     @result.make_damage(value.to_i, item)
  14.   end
  15. end


然后 20 号技能公式就写 v[1] 就好了~

未测试~

评分

参与人数 1梦石 +1 收起 理由
熊喵酱 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
3
 楼主| 发表于 2014-7-19 12:57:00 | 只看该作者
目前测试可行

我改成了$game_variables[6] = value unless item == $data_skills[999] or value <=0
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-12 23:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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