|
|
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个:
( l3 c7 e) |2 [3 f1 G代码:& h2 }; b3 L3 j/ m% {0 B' w
+ G7 }8 q6 O! b/ G
$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");, h+ N4 A, A. ?8 U9 w% ?; }
echo mssql_num_rows($mssql);
" v, k: m1 ? O# ]& ?1 ?7 B" L" `这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
( c3 O- F1 e' f5 L3 k
' F& O) N* o3 \代码:
4 m' G" q0 q& }8 v5 o- M$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");
, X3 b# U8 _( n3 _* Secho mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0
( S8 t n! y- z. _$ U
# L* j4 |" G4 YSpikensbror的更快的方法: , Q- q& P9 K( ^& D0 A/ D
邮编:2 v6 V, ~) L- {1 s' [+ b" B' H
/ u+ k+ i; y0 |
$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');% Z+ v) u7 H' Q6 Z9 Z
$ccu = mssql_fetch_assoc($query);
! M& U+ s/ {0 {* [! ~$ccu = $ccu['CCU'];4 @- L; g* u! G- ]# ]' I% c' j
; ~9 k9 j! j# n$ {
/ v% }& T$ e( A& L" J# m
# W% \# z* c# R- w8 L
( h+ L u; m4 J+ Q& ]
|
|