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

Project1

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

[已经解决] 【请教】请问怪物攻击主角的命中率是怎么计算的?

[复制链接]
梦石
0
星屑
50
在线时间
33 小时
注册时间
2012-10-2
帖子
42
跳转到指定楼层
1
发表于 2012-10-7 13:39:36 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 lqx50 于 2012-10-7 17:53 编辑 6 ~* I) Y( _: {# k

6 Q& {- p4 f9 T# Z9 c+ b+ a3 X6 b什么因素会决定怪物攻击主角的命中率?为什么主角升了几级后怪物攻击就从来未命中过主角?
梦石
0
星屑
50
在线时间
33 小时
注册时间
2012-10-2
帖子
42
3
 楼主| 发表于 2012-10-7 16:26:29 | 只看该作者
ML4455739 发表于 2012-10-7 16:09
: i% H8 z3 V' m( t2 l先放个参照表备忘。
+ E7 w$ V, @/ _: k2 G% R: d8 Q7 ~$ g在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:对照的中 ...
$ ^& B, y3 u# T. s. N6 m
原来如此,我之前好像也翻到这些脚本了,就是没看懂= =现在应该可以看懂了,谢谢
回复 支持 反对

使用道具 举报

梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
帖子
607

开拓者

2
发表于 2012-10-7 16:09:12 | 只看该作者
本帖最后由 ML4455739 于 2012-10-7 16:10 编辑
: L$ ]; {- i: y, }& X: u5 W* S8 u) c) V# S  E
先放个参照表备忘。2 N3 S3 D% f0 I. F
str 力量7 _6 e# u- R, x$ Q: L& F
dex 灵巧! T$ V: e- y- b, ]# b$ l. k! w5 V9 y
agi 速度
0 W! z' M  S4 u6 t9 Tint 魔力7 C. ~: e# M, A$ W  P
atk 攻击力
1 S2 `) M& B6 j' o5 Hpdef 物理防御
- T. j0 `0 S+ q. I# \; {) ]mdef 魔法防御
' l3 g7 w* Z5 s% |; Veva 回避修正
在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:
  1.       eva = 8 * self.agi / attacker.dex + self.eva1 [9 t1 Z, [& G; ^7 L
  2.       hit = self.damage < 0 ? 100 : 100 - eva
    4 v' K. w: ]; h0 T" T7 X
  3.       hit = self.cant_evade? ? 100 : hit7 `7 I# o) K  {$ Q2 @- ~2 I7 Y
  4.       hit_result = (rand(100) < hit)$ ^- M! d- C- h2 }! B0 {5 f
复制代码
对照的中文翻译是:
- ]3 K) U  o: r: j闪避率 = 8 × 速度值 / 灵巧值 + 回避修正值% v6 U; @) o6 q
命中率 = 伤害小于零吗 ? 如果小于零则命中率为100;反之命中率为100 - 闪避率7 j- [7 ~2 C; I7 W  m# ~
命中率 = 无法闪避的场合吗? 如果无法闪避命中率为100;反之命中率不变
& L  }8 U* j/ N( q! I0 `' B是否击中 = ((随机数0~100) 是否小于命中率)- @4 [0 j4 b+ z" F$ i2 ]+ S

# g) ?& x8 ~- N6 T& S4 A说明:
. w- J6 @5 D& R! S无法闪避的场合可能是由于状态,数据库-状态的“不可回避攻击”那一栏有此设定。
) Q# Y. G# G, t: I# ^% u是否击中的概念是一个布尔型(即true/false 真或伪),/ |9 x8 z0 u( e; h6 x
XAS - Damage的53行左右有一个if hit_result == true就是对是否命中的分歧,' d% D3 t3 Q7 x1 ]! b' f9 ?6 M! X
是否命中这个判定结果为真则进行伤害相关,如果为伪,会执行126行左右的:
  1.       self.damage = "Miss"
    $ W3 D' S0 w' Q. \$ I
  2.       self.critical = false7 W) K+ J$ H6 R: ?$ n8 J
复制代码
即设定伤害为miss,同时取消会心一击标志。& a7 n2 ~) _: `8 V0 r4 y
* a% C# F0 c' {
; n1 `" k& A" @! z1 F
总的来说,
  t$ m1 W! i7 @& I& v3 Q6 Q可能是您的游戏中数据库-角色栏对某个角色的能力值成长曲线设置不平衡导致,
/ y5 L5 @6 {8 V需要修改灵巧(青色的成长曲线)以及速度(绿色的成长曲线)。2 u# g$ {1 j0 y3 w' F
往事简直不堪回首,稍微做点想做的事吧
回复 支持 反对

使用道具 举报

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

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

GMT+8, 2025-9-19 05:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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