飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:45
标题: 在线玩家数(没有错误)
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个:
" ^+ B; i; R+ j0 f! S代码:
/ K5 N5 C* _- C9 @$ K( B) q2 E! j* X* c' c
$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");: u+ J/ `* i% w5 Y
echo mssql_num_rows($mssql);
% s; g7 [! h: |这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:! O0 k3 E+ Z( u1 M5 B; |: t

  d1 H- ^6 f: E9 r$ Z) j* h9 L1 g4 C代码:
3 Y0 ^5 G' X* H# c9 v; _$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");3 a; ^! h; E* Q4 F# M, m
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0! c" i+ O; c, y! S  v- R

1 e7 l  z# N% G+ O4 H9 tSpikensbror的更快的方法:
( ~2 r' x. F/ {邮编:' e7 k+ n. o3 F3 T, Z- u$ }

8 X/ A7 v5 Z1 K3 p$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');: j- q' j1 {( s8 V
$ccu = mssql_fetch_assoc($query);
3 _" u( Y- ]3 b2 X$ccu = $ccu['CCU'];" [" ~: J# G5 U1 v$ T- e

2 e3 V: v3 r% x& S1 F" y# u
, x5 {) n  {* s9 A" x4 v- ]# n
3 ]8 l  I1 n  B4 F5 l( o" M7 p" Z# Z" `





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