找回密码
 注册
搜索
查看: 4383|回复: 1

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述
0 g1 S" b2 w, I* Z8 [/ h# x增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
! B  s7 @1 m6 }2 q6 j
% L. |3 g" _0 c/ h0 D* U9 O该功能表现为
. a/ c, i$ ?1 F$ X% p若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
- A6 l( t% r* o& F3 I( v3 g) D( `& d: g0 n- x, W: J" ~' O% j
实现办法( J9 @2 r" a& A
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层
  1. : M+ B. R5 }9 i5 V( m  M0 W
  2. ……
    2 O1 J7 ?: b! r, {
  3. if(!rs.IsEOF())) V# b. J! O) n8 \4 j) ^
  4. {        //有数据
    % _( t% @# C: ^
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记6 {% u6 W0 L6 q! u1 W
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag ); B1 T( ~& ]% {. C4 r' g" i
  7.         {        //小于1为未登录或一些特殊处理
    8 ?% y$ Q4 q$ d6 i5 e
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )# N; o1 V& W& F3 I" l
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    + W( o: W* @7 |+ L% Z! w
  10.                         pUserInfo->m_bBoot = TRUE;
    " F8 x4 V* e: s7 h) x+ J
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    , w) {1 P3 c3 H6 x
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态" Q% ^* }" x/ n0 b: N$ G3 ?- o
  13.         pUserInfo->m_nState = NV.m_lVal;4 a: f$ j9 C  G; n
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    # c1 a8 A7 Z4 b2 i6 c  ]1 k' i
  15. ……( Q+ J0 E7 V6 U+ K' O* G
复制代码
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|宁德市腾云网络科技有限公司 ( 闽ICP备2022007940号-5|闽公网安备 35092202000206号 )

GMT+8, 2025-11-15 07:35 , Processed in 0.018126 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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