|
|
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个:
! V. |4 \/ d, D( ]$ \' j代码:
7 s V8 m, p) ^7 M0 G! x2 l
4 k3 K4 \6 ?; [" z x" u- m$ x$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");
. k, x; r1 m' ]: T; Recho mssql_num_rows($mssql);* J& G6 B) \' r" W# Q
这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
( `9 D5 U* ~- X; L- B1 h; d. y% B2 }- g2 k
代码:
]1 f" @* a, v) q$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");8 I" d. v( p& U- B e
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0
% I5 J; o f8 W* m: B! j( Y1 g( [$ Q2 ?7 ?3 c! @ `3 N6 c( o
Spikensbror的更快的方法: 7 x" c: }1 {( `+ M6 @! }
邮编:
1 }! O$ t0 x* j& u7 ^, S& _( v
( W3 b1 A3 f- h# E$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');7 I) n) n. d9 I4 M
$ccu = mssql_fetch_assoc($query);
8 b5 C, r5 R1 c9 ~2 p# H! R2 B6 r& i$ccu = $ccu['CCU'];" P6 M/ O# R# p- `6 E) G$ j
, t) ^/ ?$ f2 S0 C
: u n/ N c; I1 [# e
5 c3 X) y0 K/ R/ l1 |
6 y" T7 z' Z m8 b9 P3 C! w1 C |
|