|
【1PP锁血】! U% x) m' D( E. ^* ]4 L6 t
游戏为1PP时先把需要杀的怪物都看一遍,被看过的全部怪物,生命/经验值/伤害等等数值,将被固定为单人难度,此时再进入其他玩家,这些数据也不会再发生变化。. J3 W7 y0 w) S# k. I6 {; {
- ?- K; y1 Z3 k/ w' c8 y! @, O; } K3 U
【Nodrop算法】! p, M, S* }* e; Z, E
[] 1PP锁血后不回城,此时视野内有锁血怪物,然后再进入其他玩家,锁血后怪物的Nodrop按照单人游戏(1PP)计算。
# ?9 b9 f! j( ]+ Z8 x7 K[] 1PP锁血后回城,此时视野内无锁血怪物,然后再进入其他玩家,锁血后怪物的Nodrop按照正常多人游戏计算。
p6 J, ^# V2 g5 v* D3 O ^. e6 Q' Q5 A2 K; ?
# X+ S- O, ]% L1 H) H$ W
8 E. t- F; K W% |/ z5 h$ I
* T* f& w1 ?* v0 L6 g& W
【Nodrop测试】* s$ G( r* N* c% A3 D. x2 u) H
[] 在标注为蓝色的代码处添加断点,服务端执行到断点处时, edi=参与nodrop计算的人数。. V- ~+ F8 w/ F5 Y4 g- U
) Q$ p, `0 Y: t1 b; L/ l' t( K- y! v2 d" P: s
[] 1PP锁血后不回城,此时视野内有锁血怪物,然后再进入其他玩家后开始杀怪清场。此时edi=1,然后服务端开始跳转执行单人Nodrop算法。
2 V( w, }- W3 e5 @
. {9 v# T U. x* G( z4 C, X( z8 z- y- B
[] 1PP锁血后回城,此时视野内没有锁血怪物,然后再进入其他玩家后开始杀怪清场。此时edi=N,N即实际玩家数,然后服务端开始跳转执行多人Nodrop算法。
6 {' [8 v* [5 f2 @. J5 H4 O: |. O8 C5 F, U- r" ?4 W
; }4 t. W8 o2 M【简单结论】
( i3 r ]4 Q! _: Y, p- [$ W" x[] 玩家视野会导致已锁血怪物的Nodrop重置。
" v A6 S. Q. c1 B& t6 f( B[] 下图紫色部分代码的edi值,表示服务端执行Nodrop计算时的参与人数,单人则edi=1。. F$ C4 e* I# r8 E& n
% z- C& T$ v, Z4 \. ?, u
5 l7 p, E0 p7 V: R6 [) G/ j
. p6 X2 H# P! G
|
|