|
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个:
5 W6 m5 s# i' y5 M, W6 o代码:
; d. ]5 D e% }" K, m
' _8 ` S" B3 q$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");# y0 E' E, {8 A8 C% g$ \0 W* i% g* e
echo mssql_num_rows($mssql);
* r; ?" O) m/ s2 e- [$ v这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:, c- s; C s m; g' k# L6 A5 q, y; U
4 l) G# K; b: b5 m. F1 ^
代码:
7 P1 i4 W' J/ ^% F$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");6 V% U3 [! `7 Q: v u# [2 u
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0
$ t& Z$ p. y; M( q% k+ m
R- p" _* ^" V' c6 @2 KSpikensbror的更快的方法: & c# m. k( t. |0 f1 ]1 ?
邮编:; E1 [2 ?$ i% c( j( ~
& j* d. y3 ]3 x' Q# y @& w$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');6 v; K( Z6 K" W; O! _* }, Y! N
$ccu = mssql_fetch_assoc($query);
) L* C1 N8 [* d1 l* E$ a$ccu = $ccu['CCU'];
2 z0 d. S( k. d: C. |
! m3 W8 x7 o% p' L: i! h3 w$ B
4 [; R4 U o; @/ o4 b
; [9 n+ m( n; n: j" e
" ]( |( M- ?: r* ]4 T |
|