飞飞世界论坛

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

在线玩家数(没有错误)

[复制链接]

197

主题

203

帖子

1068

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1068
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:45:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个:
% L! U3 T0 X$ W* I8 e  I) s代码:
' W" n" P) k8 W/ a$ L8 J
& L1 l2 q% }  t, G. [& j$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");
- V( u: E' Y& ~4 s( xecho mssql_num_rows($mssql);+ O, L, G. R; L7 r0 b
这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
# q4 S' Y, k% L! D
' O6 W& R( j% F3 H# A  d3 b代码:
( O9 z, \% F$ O& O' s! }8 V  L$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");
: B, Z7 [3 F" a6 M3 r* S+ V+ ^echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=05 e! s2 a2 A7 q  w: m* [

1 {* Q/ n( O9 G$ E8 G: x+ d+ }% D( XSpikensbror的更快的方法: / r7 x% s+ k& L0 L
邮编:3 k8 z2 j# g7 K3 @- ?) ?' a' g$ N
: q( l. U- d# j% [6 k
$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');; B# Y0 ?4 l; `
$ccu = mssql_fetch_assoc($query);/ S+ |: n$ i! ~( x7 o9 {8 a
$ccu = $ccu['CCU'];9 P0 l3 f. K* a- V" l7 @
  J7 i5 S) k: ]) i4 U/ e% ?0 f

) x) J7 A% a8 Q7 R- D6 X% N! T( m8 h, Y' i1 D/ [
: [6 ]0 M  T8 A7 P$ @
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-28 04:20 , Processed in 0.070856 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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