飞飞世界论坛

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

在线玩家数(没有错误)

[复制链接]

200

主题

203

帖子

984

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
984
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:45:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个: 0 ~+ u% @' O% O2 B  i' _$ i* h. q
代码:
! q& x- F! f& ^0 N0 N" y; L9 J$ L/ U- _. I  g4 V8 n2 V
$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");3 j) }" r6 e; Z0 i+ M' r
echo mssql_num_rows($mssql);* h% n. y3 F6 y, o% R% Q
这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
' {# C  I/ w+ u# y- G
( _) b) e1 r2 ~! G& `1 [代码:
/ Z5 }9 G% S+ g& r  Q$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");3 @; E# Q; y8 v) d) j2 }9 Q4 C) W% |
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0# E$ R5 k2 p2 P. c1 z

% l) V: T2 |( o$ \; p5 `% q- W& ySpikensbror的更快的方法: 8 w- q+ C+ S( H4 [
邮编:/ t+ k8 i' s8 E( F
% V& H/ s9 O0 b0 z+ m$ P, a; E
$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');$ l* i% p4 d$ P5 _
$ccu = mssql_fetch_assoc($query);
4 v4 w1 Q. E' f  r4 h: I$ccu = $ccu['CCU'];4 F' A6 a! k; S$ g$ r2 {

7 S( _! Z0 D5 h0 T7 R# o& j' @0 T; k3 p! d; P
) d& p$ A$ [; Z: P0 C
7 c  j9 _% I$ ]" y/ J
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 15:29 , Processed in 0.095281 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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