飞飞世界论坛

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

在线玩家数(没有错误)

[复制链接]

200

主题

203

帖子

984

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
984
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:45:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个: 6 L9 ]3 \' M* z
代码:
7 k3 M2 P6 P0 _. |# ~. g" _
% M7 Z+ J) t" d$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");( ~" f! b0 O! B/ l) O
echo mssql_num_rows($mssql);0 H* V' G0 v: _  T) Y* U0 a
这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
+ S( |3 K" X' t, J: A
) P/ f& @# K$ [& P/ ?代码:4 _! C" @, A8 W2 L
$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");6 _# p% }" l  s; J1 v; H7 a/ E( S. l
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0. s7 U0 y$ c- A6 I+ s

3 @5 B# \: ]; b9 v" F" }Spikensbror的更快的方法: 5 U% x0 ^5 M' l2 k: |
邮编:
: O( P3 i/ _+ m0 i! k1 E) d1 D7 j/ z/ P. u( p
$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');
/ k7 d* l3 ?" q# t$ccu = mssql_fetch_assoc($query);* O- d; d1 d5 L
$ccu = $ccu['CCU'];3 q/ |$ t$ b9 T1 ~! ?2 q& A) W

! F- @6 V/ g8 U) e+ R. e# J/ S
9 m! K4 S  X- z; k" Z9 _, W$ {1 U: J6 T5 @! X" f1 ~

5 `; g6 m0 r) {1 `  @& [0 E
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 05:51 , Processed in 0.060856 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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