飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 11879|回复: 0
打印 上一主题 下一主题

在线玩家数(没有错误)

[复制链接]

200

主题

203

帖子

984

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
984
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:45:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个: ! k$ s/ @* V9 C0 h: @
代码:- D/ j% N& x/ ]  T4 H3 P8 h
, I" |; ?# e; L$ K  z9 x) @
$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");- }. P: O0 S7 i. o8 _( r% ?; S4 m2 t
echo mssql_num_rows($mssql);
& ?, `  h9 V0 h3 m7 D" h这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
; {7 x- S9 C8 F# e
! \  C7 J% q* ], i6 |: J代码:& |4 Q; }; f/ ^# _9 g) j2 D
$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");
( P: N$ [& a& Decho mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=01 [5 J! }; g! [6 y0 i% i( q

4 B/ Y, ^/ Z& t+ X- X& w& E+ ^6 ~Spikensbror的更快的方法:
. \6 q% X8 c& Z' Q6 P' A" X8 h邮编:
) E0 M1 B' X; A+ D' W1 v9 p9 w9 u& W/ M5 _
$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');
2 A9 J5 \/ V# d( @- [5 v3 U* W# @( j$ccu = mssql_fetch_assoc($query);
3 u. x" U3 e+ B$ccu = $ccu['CCU'];2 {3 Q5 Z" {6 K6 g  y0 [1 ~
- ?: x. m+ z4 e8 h
- w3 n9 Y/ k: |3 q2 `1 ?) A

0 v& K, D# T& r. u$ x, \& w
5 S5 ]# i$ @9 S' J- M" j+ }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|飞飞世界技术论坛  

GMT+8, 2024-4-29 13:56 , Processed in 0.097205 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表