|
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个: / q H H5 @( q( z; J2 N
代码:
, C2 D1 T% ?8 A0 h2 U4 W! \8 z' t1 u) W. o
$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");5 k$ k; W. v. c# l2 l' y
echo mssql_num_rows($mssql);
/ u2 w! |1 M9 j这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
) _. O# Q- z7 k; i7 ]1 V! o C& z+ G( w% ? j9 H2 R4 G
代码:% e) P/ x4 ~- J7 m' ]$ I
$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");
$ l+ z j& ~: V) D" ?- E1 _echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0
! s5 _( `" ^3 c# e
: o( f- F, J% R0 ySpikensbror的更快的方法: - B# S( o) H+ q" R" O
邮编:
2 v5 i1 }* l$ t' l
. B# v7 N j% E3 b$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');5 _/ {5 H# \% J( L7 n6 ?! F% [- A
$ccu = mssql_fetch_assoc($query);
I/ O. m. J" t& {' K; J$ccu = $ccu['CCU'];
3 k& S& h( K7 w0 D; ~' q% \
4 ^ E% X2 D& T- Y o& ?
- r, K) f' @: {; H. `5 ]
2 O9 A: o/ P! q- v8 Q( Y
8 P& u* n% |! o; Y: B, i |
|