|
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个: ' e" d/ e1 Q3 U
代码:
- X# ~$ @5 Z, ~8 p/ `
# H9 n7 u5 i3 W5 Q" Y$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");
, e) U8 z$ s# Z* y) Aecho mssql_num_rows($mssql);
4 h# J6 `% i) V这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
* t4 h6 |" a- E* N
: d/ u2 d4 i& O0 M! j: }2 @( L8 w代码:) Y* m$ p' F" K+ c/ B+ d! ~: J
$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");4 r& @$ N7 ~$ i
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0
2 ~2 t) q# f* W, }' Q1 A3 S: Z8 n8 }) E' Y) S* w
Spikensbror的更快的方法: 5 V4 y% ]$ p' {8 k1 s3 m4 T2 `2 c
邮编:
4 j: p w( g. H/ Y( G& P* W
4 u8 i$ F A1 [+ y- {; ~$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');7 \! _1 y' J8 f& m) G9 Y
$ccu = mssql_fetch_assoc($query);( ~: j# ^# {1 g4 N7 f
$ccu = $ccu['CCU'];
. w: I+ q1 ]* r ?. D0 l. Z( u/ ~, q* Y/ D$ S- c# M' V
% F% z3 r2 T0 B6 y+ _7 t) {( U* C' e, \
/ ^: l6 w# {! V* p7 ` c$ v% s+ w5 S* P# x8 m Z) S% b
|
|