飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:45
标题: 在线玩家数(没有错误)
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个: 2 g3 A0 v5 }6 T  E1 [  Y
代码:+ U! [3 R* i" s$ g1 n
7 a0 i( ]4 \+ R
$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");9 E6 \) H4 A# L! N* }$ S
echo mssql_num_rows($mssql);% O  G- ~1 u+ c6 D
这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
: M6 A$ y# w4 }1 n2 l% g8 \3 ~% e$ S
代码:
7 y; z( \1 B/ _1 |$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");5 M+ p3 Q* o# _' e) T) W6 R
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0# c& {8 p$ K4 S% ~- ?
; i. _/ q- F) d# g5 N" g- f
Spikensbror的更快的方法:
( \1 p1 ?0 ]1 Z3 D邮编:" r; [$ f' P) K6 Q# M

! P, o9 O( a2 s1 g" Z$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');
* N' C( t) A1 I2 ~9 |$ccu = mssql_fetch_assoc($query);) z% n4 k+ P( q# B1 i+ F
$ccu = $ccu['CCU'];6 R6 O$ c1 ^- S, t! P4 E

/ j' s) c3 k  s2 [  E# z; |8 {, v& i+ C4 }6 ]

0 r* z# U' a3 r' V1 i" c' t. P% T( j. G2 h) P$ H





欢迎光临 飞飞世界论坛 (http://www.ffwold.com/) Powered by Discuz! X3.2