飞飞世界论坛

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

在线玩家数(没有错误)

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:45:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个:
* Z8 b- X+ m! w* P1 \! {代码:
& K+ j+ z9 |, Y8 W, K8 \0 d9 u  j5 c# j* h, _
$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");
. n% l: y6 H; @) C4 M' Techo mssql_num_rows($mssql);
' D0 R9 m9 X2 [; G/ N+ s' }这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
7 I( r8 J  K0 J1 E, G
9 z+ P* m/ d9 j% x  M% }. {4 E代码:9 S5 u. m# q- D' Z6 g% u2 v3 c5 V
$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");
5 z- j/ H+ X5 a" M8 wecho mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0
+ X* T* i& p( m5 f) Y9 {7 V7 y5 }% V; @
Spikensbror的更快的方法:
3 Z" r% H/ t$ l$ L/ M邮编:
: |" M: h5 O7 X6 ~  g! Z" n" [0 w
$ G& p: t* ~) _( p8 o$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');
) c; f+ z6 H' N; ]$ccu = mssql_fetch_assoc($query);
! S: `, o" N/ g7 N6 {* T4 h$ccu = $ccu['CCU'];' L- R% U7 p9 X9 H+ _" x( h+ y
' Y- m# L  M7 ]

3 S% j7 C( `7 S: G5 e4 l! M0 H/ F; L1 y. C
5 A  a3 F! s, N- ?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-22 03:00 , Processed in 0.064793 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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