飞飞世界论坛

标题: 在线玩家数(没有错误) [打印本页]

作者: admin    时间: 2016-1-10 03:45
标题: 在线玩家数(没有错误)
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个: + \/ l9 s0 ?% j! L. \/ V7 ?0 B4 v
代码:
% t  w+ ~* |, v! c: G1 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!=03 H, Q! E: Y+ h0 B" t

) `! m$ Y( e# l9 f; BSpikensbror的更快的方法: ) 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