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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述* x6 R9 v9 T: K' [2 Q2 o0 x
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。. ~( k) W; B; z; ]
. M+ N: q+ I. m4 t
该功能表现为5 z# u" l2 R  I" w# u, p
若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
7 }: m0 V# Q' F4 B1 Z) b& ~4 |  w8 s5 p1 k5 }* M
实现办法
& H6 u2 Z+ l- h2 i" x# k为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层
  1. : W2 t' r7 z3 X* L$ v* M4 s
  2. ……; v) H( W( b6 U! t/ V1 ^
  3. if(!rs.IsEOF())
    ; h" n- P/ i' ?/ o3 M
  4. {        //有数据
    5 l% x6 T" w' Q) H
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    7 q2 i$ b; t5 l6 I/ l
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )) @; |* b1 i, p& X  ?
  7.         {        //小于1为未登录或一些特殊处理
    , Q; ~6 y5 j% W% C
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )6 Q7 w' e, p; n
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    % w; S$ u7 l  y3 K5 s- T
  10.                         pUserInfo->m_bBoot = TRUE;
    - I# w; W& u: \8 Y( p* u
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    7 T2 _4 G. }, ?) d) [0 z5 `5 o# U
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态
    3 w. ^% \5 j. X- a
  13.         pUserInfo->m_nState = NV.m_lVal;: M. H" V; y' @2 t  `6 e5 l
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字+ G* x* E' e! @5 e: r1 u& j0 o
  15. ……
    3 [0 q7 ^: Y) ~/ @* w
复制代码
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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