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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述
2 I4 ^0 |' A8 o( N增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
) _2 b$ R. Q) C- h: v5 h. Z1 ?
; P8 ]# m7 C0 i0 A) a( r6 z: D该功能表现为
& d9 I! h. V' ?若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
* E, y1 y+ R- P: G* R# x  B1 c( Z) @* y. J$ n
实现办法0 [2 ?& U. n" [/ Z: Y* A
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. ; N& ^, z' I% ~2 ~. o( p
  2. ……
    : K# o/ j% |% D$ M
  3. if(!rs.IsEOF())
    6 L5 T4 c5 Q* h+ {
  4. {        //有数据
    % T$ G$ z$ `$ u7 y7 U
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记! M1 `2 G) ^) \9 k
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )& R% E6 y" D  D5 C* N
  7.         {        //小于1为未登录或一些特殊处理
    + H& r- G: Y$ b1 P9 S* ]2 E3 \
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )
    # r0 {/ E; j: `% j- d1 L' `# U
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    ! G  y% w: a5 d
  10.                         pUserInfo->m_bBoot = TRUE;8 V$ {9 W: C2 @/ U% S
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;) L9 J; ~/ E+ F" k2 H' H2 t
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态
    / d+ U! h% I* A; q) m& ]
  13.         pUserInfo->m_nState = NV.m_lVal;9 V+ A6 f0 r& [% f& Z: B( i+ e
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字; q+ @. J  p, r5 K9 v" }# c
  15. ……$ ]; u& `# Y% }- U( d% ~! p% |. M$ b
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-18 08:03 , Processed in 0.019400 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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