飞飞世界论坛

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

在线玩家数(没有错误)

[复制链接]

197

主题

203

帖子

1082

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1082
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:45:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在过去,我已经看到了各种方法检查当前在线玩家人数,但我见过有一个致命的缺陷。根据服务器被关闭(或更确切地说,如果它崩溃)播放器的计数被搞砸了。下面是我在谈论一个:
1 w3 @0 I& U. _3 f6 B( |% T4 T代码:6 x" C6 q8 R! y5 Q0 z% x& z# V* v

# x! Z8 Q" k9 D9 }  l9 b$mssql = mssql_query("SELECT * FROM [ACCOUNT_DBF].dbo.[ACCOUNT_TBL] WHERE isuse='J'");
+ d$ f% Z$ i8 [  F, A: Becho mssql_num_rows($mssql);
: B9 C7 L. a" D; U* B) c; u5 C这里有一个更正确的代码,它会自动复位计数,每当世界上的服务器程序打开当前在线:" X2 N. V9 X& v- L0 `

0 k; _* Q( t' T1 x代码:
& I8 E, E9 A! b# j! G& x$mssql = mssql_query("SELECT * FROM [CHARACTER_01_DBF].dbo.[CHARACTER_TBL] WHERE MultiServer!=0");
! Y$ E9 a  C+ f- ]2 m4 ^; Secho mssql_num_rows($mssql);Credits to Sedrika for changing MultiServer=1 to Multiserver!=03 j5 z2 s- q9 g+ g/ C0 q- w4 Z8 x

& a& B# \7 y% w+ ~% [  [( NSpikensbror的更快的方法:
! S# j* [- H: k( t邮编:, R- r5 P0 s5 l5 n$ B1 U1 l) w

  O5 O% @8 K6 G! `3 t2 ]+ f! L$query = mssql_query('SELECT COUNT(*) as [CCU] FROM [CHARACTER_01_DBF].[dbo].[CHARACTER_TBL] WHERE [MultiServer] != 0;');( X: L/ J$ [8 u8 j9 w
$ccu = mssql_fetch_assoc($query);( n( x8 R  v8 o% v) o6 D% f; v
$ccu = $ccu['CCU'];
( i. M$ m3 I& _3 `) B: Y" k4 g$ ?5 H! K/ ?- O

* [4 ?$ w5 W- N; g, ]; h1 |
" H, o2 Y; k5 M4 Q! g4 k4 c! ]7 d# `' |% v3 m
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-3 19:47 , Processed in 0.097846 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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