飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:45
标题: 在线玩家数(没有错误)
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个:
, U  |7 i1 U) Q3 J8 x) z; n代码:
- P5 |* |5 L* _/ N! }4 \2 c0 C5 V) w9 j
$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");; q5 m3 o' ?5 U# e# o
echo mssql_num_rows($mssql);
0 [/ X) Z# X$ }这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
. Q6 O3 l: K0 q5 d2 u
" R# H7 B5 T5 u# C代码:
) L2 J8 }+ h* p0 O6 l$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");0 u7 f7 B1 U2 h4 d( q
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0
4 e. e  o$ ~& ?) A0 T" G
8 F3 l3 Y# d' d; C. R& o! X# U* DSpikensbror的更快的方法:
: I! {3 B- u' \7 I. b* C邮编:6 u/ Z( K  a) U4 c+ n) H, _2 O. `
1 N% i7 y1 e) y3 L
$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');. i, Q3 }$ @2 I: D3 F2 X
$ccu = mssql_fetch_assoc($query);
) C; v: x0 ]+ H4 m' {$ccu = $ccu['CCU'];- Z! f4 i; Y; |' }# ?3 E$ s5 u2 b$ ^0 f

( A8 g2 @# T/ v9 J6 r; r8 [" g1 w
9 A# o1 q' J4 F0 ^* P/ U) J1 v6 p1 t  c; Q8 W

( U, }9 I) y6 E$ {, _; S+ `




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