飞飞世界论坛

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

在线玩家数(没有错误)

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:45:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个:
! V. |4 \/ d, D( ]$ \' j代码:
7 s  V8 m, p) ^7 M0 G! x2 l
4 k3 K4 \6 ?; [" z  x" u- m$ x$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");
. k, x; r1 m' ]: T; Recho mssql_num_rows($mssql);* J& G6 B) \' r" W# Q
这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
( `9 D5 U* ~- X; L- B1 h; d. y% B2 }- g2 k
代码:
  ]1 f" @* a, v) q$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");8 I" d. v( p& U- B  e
echo mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0
% I5 J; o  f8 W* m: B! j( Y1 g( [$ Q2 ?7 ?3 c! @  `3 N6 c( o
Spikensbror的更快的方法: 7 x" c: }1 {( `+ M6 @! }
邮编:
1 }! O$ t0 x* j& u7 ^, S& _( v
( W3 b1 A3 f- h# E$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');7 I) n) n. d9 I4 M
$ccu = mssql_fetch_assoc($query);
8 b5 C, r5 R1 c9 ~2 p# H! R2 B6 r& i$ccu = $ccu['CCU'];" P6 M/ O# R# p- `6 E) G$ j
, t) ^/ ?$ f2 S0 C

: u  n/ N  c; I1 [# e
5 c3 X) y0 K/ R/ l1 |
6 y" T7 z' Z  m8 b9 P3 C! w1 C
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-21 06:07 , Processed in 0.058971 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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