|
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个: 6 L9 ]3 \' M* z
代码:
7 k3 M2 P6 P0 _. |# ~. g" _
% M7 Z+ J) t" d$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");( ~" f! b0 O! B/ l) O
echo mssql_num_rows($mssql);0 H* V' G0 v: _ T) Y* U0 a
这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
+ S( |3 K" X' t, J: A
) P/ f& @# K$ [& P/ ?代码:4 _! C" @, A8 W2 L
$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");6 _# p% }" l s; J1 v; H7 a/ E( S. l
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0. s7 U0 y$ c- A6 I+ s
3 @5 B# \: ]; b9 v" F" }Spikensbror的更快的方法: 5 U% x0 ^5 M' l2 k: |
邮编:
: O( P3 i/ _+ m0 i! k1 E) d1 D7 j/ z/ P. u( p
$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');
/ k7 d* l3 ?" q# t$ccu = mssql_fetch_assoc($query);* O- d; d1 d5 L
$ccu = $ccu['CCU'];3 q/ |$ t$ b9 T1 ~! ?2 q& A) W
! F- @6 V/ g8 U) e+ R. e# J/ S
9 m! K4 S X- z; k" Z9 _, W$ {1 U: J6 T5 @! X" f1 ~
5 `; g6 m0 r) {1 ` @& [0 E |
|