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

Project1

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

请教下法术伤害...

 关闭 [复制链接]

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

跳转到指定楼层
1
发表于 2009-2-7 03:58:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我想法术伤害定义为:
法术伤害=法术威力+施法者魔力+施法者攻击力/2-受术者法防-受术者物防/2

在脚本里我改的乱七八糟不知道该怎么改下去了...很多地方都不知道是啥意思...请前辈帮我改正下...谢谢...

  1.       # 计算威力
  2.       power = skill.power + user.int + user.atk / 2 * skill.atk_f / 100
  3.       if power > 0
  4.         power -= self.pdef * skill.pdef_f / 200
  5.         power -= self.mdef * skill.mdef_f / 200
  6.         power = [power, 0].max
  7.       end
  8.       # 计算倍率
  9.       rate = 0
  10.       rate += (user.str * skill.str_f / 100)
  11.       rate += (user.dex * skill.dex_f / 100)
  12.       rate += (user.agi * skill.agi_f / 100)
  13.       rate += (user.int * skill.int_f / 100)
  14.       # 计算基本伤害
  15.       self.damage = power + rate - self.mdef + self.pdef / 2
复制代码
努力努力再努力

Lv1.梦旅人

梦石
0
星屑
50
在线时间
27 小时
注册时间
2008-1-7
帖子
211
2
发表于 2009-2-7 04:23:38 | 只看该作者
下面的rate是那些相关度(就是“某某F”那些)的加成。
你那个公式没有把那些相关度考虑进去(当然可以也可以)。
问题是最后那段,又减了一次魔防,而且变成了加上物防的一半。那这样会造成物防越高反而魔法损血越多,应该是漏了括号吧。

嗯,按照你所说的那个公式的话
直接这样:
power = skill.power + user.int + user.atk / 2
power -= self.mdef
power -= self.pdef / 2
power = [power, 0].max
self.damage = power

这样的话那些相关度什么的都没作用了,而且公式写死了,如果要有物理系技能也改变不了了。
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
我是if-else党!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

3
 楼主| 发表于 2009-2-7 05:24:18 | 只看该作者
请问前辈.
如果这么改的话
那技能上的魔防和物防是不是不用再设置和考虑呢???
skill.pdef_f
skill.mdef_f
这俩个
努力努力再努力
回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

4
 楼主| 发表于 2009-2-7 05:26:35 | 只看该作者
就是我弄的是要弄个武侠的RPG
本身就是只有物理技能的...那公式是不是改成前辈帮我改的那样就可以了呢?
努力努力再努力
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
27 小时
注册时间
2008-1-7
帖子
211
5
发表于 2009-2-7 05:40:41 | 只看该作者
你也可以把那rate相关内容还放着,最后写成
self.damage = power + rate
之类的(不一定要这样加,自己发挥)。
这样数据库里那些某某F也都有用。公式最好是多在数据库里战斗测试下。有些公式就有问题,例如RMXP默认那普通攻击的公式就有点问题,当攻击者攻999、力999,中招者防999时能打出48000左右的夸张伤害
我是if-else党!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

6
 楼主| 发表于 2009-2-7 05:44:05 | 只看该作者
普通攻击的公式我为了方便直接改成了...自己攻击-对方防御...
atk = [attacker.atk, 0].max
      self.damage = atk - self.pdef

请前辈告诉我下...象前辈那么改的话技能上的魔防和物防是不是不用再设置和考虑呢???
skill.pdef_f
skill.mdef_f
努力努力再努力
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
27 小时
注册时间
2008-1-7
帖子
211
7
发表于 2009-2-7 05:47:03 | 只看该作者
呃,上面已经有power -= 魔防和物防的1/2了,如果底下再写的话,不就又减了一次了啦。
-----------------------------------
貌似写错……
确实是应该把self.pdef乘上skill.pdef_f的,魔防同。
P.S.别叫什么前辈,我也就一新手而已,因为最近就在改伤害公式所以才对这块熟一点啦。
我是if-else党!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

8
 楼主| 发表于 2009-2-7 06:45:20 | 只看该作者
那请问前辈我到底该怎么把这几个加上去呢{/ll}
我自己弄我怕混错{/ll}
再麻烦前辈次...谢谢{/ll}
努力努力再努力
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
27 小时
注册时间
2008-1-7
帖子
211
9
发表于 2009-2-8 02:39:04 | 只看该作者
按你顶楼的公式的话大致上可以这样
power = skill.power + user.int * skill.int_f / 100 + user.atk * skill.atk_f / 200
power -= self.mdef * skill.mdef / 100
power -= self.pdef * skill.pdef / 200
power = [power, 0].max
rate = 0
rate += (user.str * skill.str_f / 100)
rate += (user.dex * skill.dex_f / 100)
rate += (user.agi * skill.agi_f / 100)
rate += (user.int * skill.int_f / 100)

#最后你得想个办法把power和rate结合起来变成最终伤害self.damage。不建议相加,这样这几种能力影响太小,也不建议相乘,不然影响太大。这个还是你自己想一下吧。
我是if-else党!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

10
 楼主| 发表于 2009-2-8 04:10:33 | 只看该作者
额....最后这步我想了几下都没什么好解决公式....按前辈说的话觉得如何才比较好呢/????{/gg}
努力努力再努力
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-12 12:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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