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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述
" Q/ W* X# A6 w! k7 o增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
, |) [& a9 Q& O; Y$ v7 Y3 d. _9 W
. i; }" A' ~( E! S3 o该功能表现为* M/ r# A7 o# Z: L. g
若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。6 F9 _6 P" {5 }2 b* b

6 m9 [1 ]* ?( J( w) _实现办法
# q* g) {0 R7 I0 c( U  @- V( n为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层
  1. 9 m2 I0 P+ G8 b) t
  2. ……( H2 N1 c: Z  F; A; W8 I
  3. if(!rs.IsEOF()). j) m. l( a5 s% ]. [9 z
  4. {        //有数据
    , Q) E3 A6 u3 M4 D1 z$ t1 L
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    & Y4 K5 H. F1 I5 l3 d/ Y7 Q
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    * h( D  K9 I" S2 P
  7.         {        //小于1为未登录或一些特殊处理- a) {% H# ^/ t& ^4 `9 A: k
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )
    . C9 H  l; Q; S+ |" r+ _
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线3 D3 G  M& q5 [& Q+ ]' P" _' d
  10.                         pUserInfo->m_bBoot = TRUE;! a( |+ K7 p8 t7 P- a
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    5 ^& a2 P; E0 J! v6 D/ e
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态
    " l! T  `2 `1 A% ~/ A  J
  13.         pUserInfo->m_nState = NV.m_lVal;
    - b, J, C  ?& I. L) f8 Z7 f. W
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字" t2 B& ]9 D2 o
  15. ……
    + \! m7 d0 f# G: D/ P8 D. C
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-2 11:12 , Processed in 0.017951 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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