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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述4 _0 A0 N* H9 R" ~7 ^; |
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。/ ^; a) L5 C' y* E

* L+ W2 K, k7 [该功能表现为
% g) L/ |* @1 `- Q若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。, H. D' G- {& \  N( t* }5 a7 C( o
; v' r& ]& r$ P# V, G
实现办法! \! [3 M, `" S9 b3 r( C
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. % e- Y8 h. W( C7 t" O/ J, l
  2. ……; ?1 i+ Z6 z0 E7 X% A9 `0 \9 Q
  3. if(!rs.IsEOF())& G; |/ w1 z/ P0 z; e
  4. {        //有数据' B# ~# ?0 y) g; T" `1 L' N
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记# Q0 T0 ~( T1 h' z
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    5 s& P5 v0 r( I" N: q9 I) b
  7.         {        //小于1为未登录或一些特殊处理
    + L6 l, Q' Q# L: I$ p/ |' a* N
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )
    % C% v% R5 }3 L8 l1 I
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    : X& q  d$ d& F2 v
  10.                         pUserInfo->m_bBoot = TRUE;9 Q& J8 q. E- E: V: M+ I" A
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    ' ^0 }: x' r" t% K
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态
    & O* [9 Q( f$ x0 s2 I6 k. V7 b  s
  13.         pUserInfo->m_nState = NV.m_lVal;
    8 ^5 z7 Z* J+ c: p0 Y! j7 R' I
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字: d4 ^" q3 _* ]" b+ u# I) n
  15. ……! g  Q$ T/ }, E) ]3 `4 N( S0 r
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-20 04:00 , Processed in 0.035907 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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