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

Project1

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

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

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

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

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

x
本帖最后由 lqx50 于 2012-10-7 17:53 编辑
  y; L* g4 ]0 f& y" H% s# P' i
9 i9 l( p/ u4 t) w) a1 N什么因素会决定怪物攻击主角的命中率?为什么主角升了几级后怪物攻击就从来未命中过主角?
梦石
0
星屑
50
在线时间
33 小时
注册时间
2012-10-2
帖子
42
3
 楼主| 发表于 2012-10-7 16:26:29 | 只看该作者
ML4455739 发表于 2012-10-7 16:09
/ ]# A" ?  P5 h3 I! g  k0 S先放个参照表备忘。
4 I! v. w5 C, o+ R: R2 W1 L( g在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:对照的中 ...
4 V& @1 d! p- T3 ?& R
原来如此,我之前好像也翻到这些脚本了,就是没看懂= =现在应该可以看懂了,谢谢
回复 支持 反对

使用道具 举报

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

开拓者

2
发表于 2012-10-7 16:09:12 | 只看该作者
本帖最后由 ML4455739 于 2012-10-7 16:10 编辑 ; Y1 t! @- G7 }" {* l: h8 X$ V
) i& Z, Z2 U. ]5 k( v  O
先放个参照表备忘。
+ Y2 P4 t) X  B2 W. J+ n; O
str 力量' F3 Z  a) u6 o' h7 E0 c; q( `
dex 灵巧$ F  m1 r8 j: F1 F/ T; \9 ^9 W
agi 速度
3 `. c- t. h) l" rint 魔力
* F# w, ?5 u4 ^8 B( satk 攻击力
8 t- i! \* g( C$ f8 y/ G$ ]% _3 f/ rpdef 物理防御
$ q3 `, m. S: f. f* s5 {8 qmdef 魔法防御6 f1 U0 }( Z3 q9 k+ ]! Y
eva 回避修正
在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:
  1.       eva = 8 * self.agi / attacker.dex + self.eva) o  P: E/ ~- m4 @
  2.       hit = self.damage < 0 ? 100 : 100 - eva' C2 B  w6 y% {! y+ m
  3.       hit = self.cant_evade? ? 100 : hit
    ) S' l! B; |+ l) E
  4.       hit_result = (rand(100) < hit)
    ! h6 S+ M" V2 t  X
复制代码
对照的中文翻译是:
5 e4 m: o' L" @. T+ H闪避率 = 8 × 速度值 / 灵巧值 + 回避修正值
; p6 c9 [7 A) L2 s" r. S. a命中率 = 伤害小于零吗 ? 如果小于零则命中率为100;反之命中率为100 - 闪避率
, [# ?5 r6 F' Y' i命中率 = 无法闪避的场合吗? 如果无法闪避命中率为100;反之命中率不变& J' ~. b3 A  i+ ~' e7 S3 `
是否击中 = ((随机数0~100) 是否小于命中率)8 b  B2 R* j0 y- L/ V8 z* d4 P
/ T. W5 b+ R  ?4 ~* G3 A
说明:# q* K/ N9 ]5 ]
无法闪避的场合可能是由于状态,数据库-状态的“不可回避攻击”那一栏有此设定。
- L4 W6 e3 u" |是否击中的概念是一个布尔型(即true/false 真或伪),- i( P1 ~2 i$ h; ?
XAS - Damage的53行左右有一个if hit_result == true就是对是否命中的分歧,
1 U9 Q" X% w+ p是否命中这个判定结果为真则进行伤害相关,如果为伪,会执行126行左右的:
  1.       self.damage = "Miss"+ y3 m/ \6 W# d, u" i
  2.       self.critical = false1 ?# c, n6 o$ M$ d& w
复制代码
即设定伤害为miss,同时取消会心一击标志。
, S) z) a% J2 j2 h5 C
9 E6 I* B- K8 C9 o* V5 G8 N
! e3 w  T1 ~! b# \, B3 u总的来说,# O, U) p, p8 J1 ]* p& o
可能是您的游戏中数据库-角色栏对某个角色的能力值成长曲线设置不平衡导致,
6 B0 H6 i1 ^6 o8 Q! b需要修改灵巧(青色的成长曲线)以及速度(绿色的成长曲线)。/ p) a7 i: h; K( H6 ]( M
往事简直不堪回首,稍微做点想做的事吧
回复 支持 反对

使用道具 举报

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

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

GMT+8, 2026-6-4 16:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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