飞飞世界论坛
标题:
在线玩家数(没有错误)
[打印本页]
作者:
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* D
Spikensbror的更快的方法:
: 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) J
1 v6 p1 t c; Q8 W
( U, }9 I) y6 E$ {, _; S+ `
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2