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

Project1

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

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

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

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

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

x
本帖最后由 lqx50 于 2012-10-7 17:53 编辑
9 e9 F, P1 v" C* Z/ b
6 F3 E' g9 V! }9 e6 u什么因素会决定怪物攻击主角的命中率?为什么主角升了几级后怪物攻击就从来未命中过主角?
梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
帖子
607

开拓者

2
发表于 2012-10-7 16:09:12 | 只看该作者
本帖最后由 ML4455739 于 2012-10-7 16:10 编辑
7 {9 A' k: {, d" _; A0 o$ O) C& o  v6 {
先放个参照表备忘。3 y/ E) X# M6 z5 P( F
str 力量. h. A/ o+ k9 x# q) K# X7 ]4 A
dex 灵巧  }' [) p: y8 I1 L
agi 速度
8 _4 f  V8 y- }) |int 魔力
1 W" |+ a3 U9 |* }( Matk 攻击力9 c5 F1 p: ^4 F1 t; ?
pdef 物理防御
/ |+ ]+ E" W- e3 Q3 N5 m  gmdef 魔法防御* [: c* `3 O9 D; W
eva 回避修正
在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:
  1.       eva = 8 * self.agi / attacker.dex + self.eva$ c% N* G- P; w) Q/ m
  2.       hit = self.damage < 0 ? 100 : 100 - eva1 A1 L6 |3 }8 p! \) j
  3.       hit = self.cant_evade? ? 100 : hit
    1 k: [- }7 V4 }. N
  4.       hit_result = (rand(100) < hit)- u5 k, F1 @$ j
复制代码
对照的中文翻译是:
0 m8 e; r: s; h6 l( H+ T& s. C' H5 [闪避率 = 8 × 速度值 / 灵巧值 + 回避修正值
& _/ t4 Z' M2 y4 G命中率 = 伤害小于零吗 ? 如果小于零则命中率为100;反之命中率为100 - 闪避率) L6 ]8 ~/ @" ^
命中率 = 无法闪避的场合吗? 如果无法闪避命中率为100;反之命中率不变! d+ C8 |" Q6 a$ q
是否击中 = ((随机数0~100) 是否小于命中率)2 k+ }" [$ D! x0 @
9 d+ L, g& J; c! u! [1 X6 H
说明:/ L7 m/ v) ~! x" I: n) ]0 M
无法闪避的场合可能是由于状态,数据库-状态的“不可回避攻击”那一栏有此设定。, t9 d- ]- q# K& z7 b; x  k
是否击中的概念是一个布尔型(即true/false 真或伪),
& _7 d2 u9 X  m8 |1 LXAS - Damage的53行左右有一个if hit_result == true就是对是否命中的分歧,/ B) F: C" r8 T
是否命中这个判定结果为真则进行伤害相关,如果为伪,会执行126行左右的:
  1.       self.damage = "Miss"+ m" t- j* k1 g
  2.       self.critical = false
    # C5 L4 g0 b8 x
复制代码
即设定伤害为miss,同时取消会心一击标志。5 Y, @. ]; Z, H, g) _& ~
$ q3 M/ C' \& q: z

+ @. W6 K# D) f9 I总的来说,5 k  ~5 z( |9 ^) [
可能是您的游戏中数据库-角色栏对某个角色的能力值成长曲线设置不平衡导致,
0 h# O2 f" O6 g需要修改灵巧(青色的成长曲线)以及速度(绿色的成长曲线)。% S0 l+ z: [' a  n3 T' X6 [* v; F
往事简直不堪回首,稍微做点想做的事吧
回复 支持 反对

使用道具 举报

梦石
0
星屑
50
在线时间
33 小时
注册时间
2012-10-2
帖子
42
3
 楼主| 发表于 2012-10-7 16:26:29 | 只看该作者
ML4455739 发表于 2012-10-7 16:09 ! N# S. ?1 `" o2 V' r' M6 ^6 \
先放个参照表备忘。8 J7 t$ L: |% S
在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:对照的中 ...

/ v* F6 E1 `, D" \原来如此,我之前好像也翻到这些脚本了,就是没看懂= =现在应该可以看懂了,谢谢
回复 支持 反对

使用道具 举报

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

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

GMT+8, 2025-7-27 18:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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