飞飞世界论坛

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

在线玩家数(没有错误)

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:45:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个: 5 Z$ `( K6 u6 F" }$ f5 X
代码:* C/ K  t, n' L9 _
/ N; G" a$ Y  \3 C: Z/ _
$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");# }: {; e( B1 S  @
echo mssql_num_rows($mssql);: s- N* t- H3 r7 t
这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:
5 ~# @* ?6 X# T: M  t7 m1 E7 t% H) Y% l( W3 I8 U
代码:$ M; L* d" [8 i8 T
$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");
9 t! o3 V& k2 n4 ^) W( k/ Vecho mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=0! N; t8 Y2 y  N8 H: _2 o
1 |: k! h- T$ C1 ?
Spikensbror的更快的方法:
, @5 W7 h4 t. d3 D1 ~3 H  }邮编:! w6 U; y& b( V
! I+ e, G! M8 |; o: u& k
$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');
+ \$ @2 X7 H  G2 q. o! @  n; k  f$ccu = mssql_fetch_assoc($query);
; c- d! ]( _4 J8 z3 r) c) Y$ccu = $ccu['CCU'];
6 V6 I/ z) ?* b  E3 Y! r; n/ c* ]( T+ P# k3 {/ r& g7 h

' _7 A) c6 v1 ^: C) d2 F, w% h
$ e) u! v: {+ @7 D4 `" \8 j' A( C
. _4 o9 J! a, K" j7 U! g
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-2 00:26 , Processed in 0.056083 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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