|
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个: K( U8 o( F9 O R
代码:
t, F C3 P) o# v2 F9 D6 p
' G8 a, W5 Q. o% J% Z% o$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");
1 S- n* b2 Q; m9 d4 Secho mssql_num_rows($mssql);
) {! C) g: H0 W) d这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:. b# t( @8 ?7 B5 T( f
0 p% m; \% g5 K1 F6 o- ]
代码:6 i9 ~! _ ]' v( s& C
$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");; E) l% H& m! l6 v
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0
! ?; A+ [! V/ V1 P2 b% t _: D+ c7 p- k6 T' I, T$ t7 M
Spikensbror的更快的方法:
; T! D/ ^0 I! l+ d4 T( c6 h邮编:
H/ Q n0 [, h* B6 F
6 ^/ T2 Z5 A1 D6 o1 L& e. [8 E$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');7 {) W5 b. m h
$ccu = mssql_fetch_assoc($query);4 f6 ?- ^) ~* I7 W, w: t
$ccu = $ccu['CCU'];5 y8 k# T7 j9 z4 K( c
' e, p. n. l) j, W
9 v' o( |; }( u
4 j% g2 @6 Y3 j: C1 |3 ^3 O
. I9 ~. @- _5 P) z4 o6 | |
|