飞飞世界论坛
标题:
在线玩家数(没有错误)
[打印本页]
作者:
admin
时间:
2016-1-10 03:45
标题:
在线玩家数(没有错误)
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个:
! ]& X0 @, a6 E/ A
代码:
! L5 w$ q# r0 c8 J1 A! t( Z
# E `' T5 n0 p0 B# @! s
$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");
, i- f5 a. l9 Y9 c- Q% h- W
echo mssql_num_rows($mssql);
& k* C6 ^) |2 c8 F
这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
( X( `5 W+ `+ z6 ~; Y, Z' I
; x- U$ v; x: \6 B
代码:
& d, H2 u6 u2 I
$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");
8 D+ R7 Z3 T% ^- T' G
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0
( N5 m, R& f6 s- A# J
1 c8 y- c/ p" e# h) k4 r
Spikensbror的更快的方法:
/ e( }/ U0 V4 m3 D5 F( W* u
邮编:
) g% I* n3 O8 }0 [3 J
4 E) O' w* p) m: Q& N/ z; h
$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');
$ Y1 O1 Y$ K. h
$ccu = mssql_fetch_assoc($query);
# k1 M6 p, v) h- w" S
$ccu = $ccu['CCU'];
4 C# @( D1 [) Y1 N7 A: |
5 [ J) u6 g/ Y; Z$ r( K
+ T* u; n* }4 l3 b
3 z# T- p( k# U
, D9 @# x5 f% d) {
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2