飞飞世界论坛

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

在线玩家数(没有错误)

[复制链接]

197

主题

203

帖子

1070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1070
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:45:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个:
. R3 W( F( L  z# j9 S" g& Q代码:- {& G3 h# O0 a1 v0 Q

& X- {  {7 X0 e3 o& G8 X, K0 K$ r$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");
: @! Y4 G7 g  J$ ?, x3 |; U! Kecho mssql_num_rows($mssql);2 ~6 z" A& {+ ?' J
这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:# m' Y% }2 T; ]9 d6 r. z) _
9 u  R' Y3 J9 a% \2 ]- F4 o
代码:, {" X% r) C0 P
$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");
. N1 ^+ m* W, g+ H4 [# Fecho mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0
! U* x& ~( W% n! ^2 |+ c1 }( S8 r8 u4 \+ t
Spikensbror的更快的方法:
4 @/ z2 p7 k/ C( b' f8 h# i邮编:
" I/ y. H: j' P5 b: L+ U, K
& b$ D: _9 l, I' m$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');; o" D% [# Q, b0 X- N
$ccu = mssql_fetch_assoc($query);; [  S4 b8 h) Q
$ccu = $ccu['CCU'];( K" J. }8 I" d: _
. {  A  K. I. K  [4 O$ D

- A# R2 G  }: e% _- E" ]' j4 G$ M2 Y. V6 C
9 ~8 T/ e) E( Y. Z* {0 X; F, K
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-5 03:48 , Processed in 0.070782 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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