|
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个: / O) h( a# b( Z& b# G; x8 q
代码: y( y/ S4 i( u2 o1 J& K; H+ ~
% E, B6 W5 G4 d$ L7 j! \: G
$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");
4 Y, m$ Y+ L( k. o# M$ z/ Oecho mssql_num_rows($mssql);
u: N; q+ i9 |5 Z- y; p这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:" d# g5 P- F% k- D, o
* L1 e; T4 O& H! |3 O0 Q代码:
- ]3 I) ~4 D, p$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");
: [ n( H! ]+ p2 G) qecho mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=06 ?6 E6 s2 ^ O. e
) }. F2 @% I9 d
Spikensbror的更快的方法: 3 z6 s1 U0 d3 |* g+ `
邮编:
" X* }: g _+ q2 V8 v" b
. O" A6 z4 o z3 c$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');! \1 Q+ t6 i0 K" L
$ccu = mssql_fetch_assoc($query);
/ r# d6 t* n# x1 s) S$ccu = $ccu['CCU'];
# k- C" `9 n( ?; X; w" t7 n! |! ^+ _8 W
- K" d3 d" Z' Y' p* \8 ]! Y3 k
8 j2 t# F9 l# W O5 ~. r
" c8 u0 t' V7 | |
|