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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述
( Y3 o' X2 I2 h' d! p8 e0 [0 }增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
( {; B5 B" }7 S4 c3 `: ^! a, Y- o# A7 {' x6 E2 S  g' e
该功能表现为
1 e. a* L) e6 ]( m若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
2 p; W) J4 ?0 Q' u
- w# O. B/ y* Y8 {6 _: W实现办法
) D8 C2 n1 f! c1 k/ e' ?为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. " |- U) l* Q& E3 K' P
  2. ……9 D7 K; j' {  r& q6 I8 }& K- C9 H
  3. if(!rs.IsEOF())' L# t* M* r) G2 q5 q3 N
  4. {        //有数据
    5 A! H9 W8 @, @) H
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    * Q& [: Z3 N7 Z( e4 y2 E: @! ~
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    4 k) f5 P# U3 H6 r; N! K( N
  7.         {        //小于1为未登录或一些特殊处理$ }5 m, m. q2 ~0 M
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )
    , p8 ?5 G& ^2 _# V( q  |+ f
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线0 ^1 [+ ~5 b8 {- X
  10.                         pUserInfo->m_bBoot = TRUE;
    1 P3 {+ E! ^3 e# \5 {0 [
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;7 y# D3 l( T6 X
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态  G; y' C% x1 V7 U4 P
  13.         pUserInfo->m_nState = NV.m_lVal;
    3 |5 h. E9 b4 j# V3 J: ~
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    ; G8 ?5 Y0 m% M
  15. ……
    9 Q$ ]( p( E+ n* S6 \
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-20 11:34 , Processed in 0.035725 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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