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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述
' D$ P! C1 I% A: E增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。2 H8 s) M3 X9 p2 b5 f+ z
+ N& e, m/ e+ k1 c, y
该功能表现为
" |! n3 e  A3 f0 v7 P4 U若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
& Q+ p! a4 r( I8 {* t8 ]: }; J  |3 Q
实现办法1 [; a! V( X1 B3 S7 X3 r- c) i* m
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. , _5 Y3 w2 U( y* Y
  2. ……5 m4 K' w  W& b# L
  3. if(!rs.IsEOF())4 v* b7 _4 d6 X& ?' y% R  H
  4. {        //有数据1 ?4 T  V" I+ K* V3 U
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记9 A2 t3 |* q2 ~; z  I
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    # D. ?# U' h; i8 w1 w
  7.         {        //小于1为未登录或一些特殊处理
    + z( G" ?$ F+ f& f
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )4 w) W) C( i6 |" k
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    1 Z7 B$ v. S7 z( ^! R  p" E
  10.                         pUserInfo->m_bBoot = TRUE;2 A- Z% S% ^) y
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    + f5 ~7 r; ^* h5 R6 d8 `
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态# q4 n+ X0 m  z8 O% H, z) T
  13.         pUserInfo->m_nState = NV.m_lVal;3 K' L. O9 r6 }& ?5 M/ V
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    ; Z. j2 K1 I4 _, z+ X8 o
  15. ……( A# j) _# {2 L+ ^6 I
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-2 09:37 , Processed in 0.019355 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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