飞飞世界论坛
标题:
在线玩家数(没有错误)
[打印本页]
作者:
admin
时间:
2016-1-10 03:45
标题:
在线玩家数(没有错误)
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个:
+ \/ l9 s0 ?% j! L. \/ V7 ?0 B4 v
代码:
% t w+ ~* |, v! c: G
1 U7 k" D. n. v
$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");
* D: [+ K% P+ H- O- F
echo mssql_num_rows($mssql);
" |, ]4 D& e+ v+ }
这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
2 I% m3 v4 q7 ?- w: J' ?
, M* Z6 R7 o# B3 d
代码:
. t" O/ N: ?1 \$ X# ^7 i2 d
$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");
. g) X( k5 j0 r* J7 _! L
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0
3 H, Q! E: Y+ h0 B" t
) `! m$ Y( e# l9 f; B
Spikensbror的更快的方法:
) E2 T' N& A/ c/ A( \
邮编:
0 V) S& y# K6 ^- L: |: X ]% Z
1 M+ T- _0 @& R
$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');
. G- L3 I: ]( i( d8 i* y
$ccu = mssql_fetch_assoc($query);
' ]7 c/ i" g+ H4 N" I1 R
$ccu = $ccu['CCU'];
2 I# F6 G W. X( R, G+ {6 k+ [
, Y% I& ~$ P2 J+ g: `
3 R1 Q2 d% d6 N% o" D6 N
`- @+ R4 S0 c6 I8 a) p
. S- x! C5 c9 q4 B% S2 S8 S
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2