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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述
9 p( ]% B! S8 }增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。$ ~3 v) O4 H; Z& i" y
" u" B+ Y' e0 _5 B# x) q1 Y
该功能表现为
7 a* \0 K$ `3 E. q) k; r若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
$ G2 U1 L& Y8 G' `5 n
( T, q$ b6 `) _) G  c# B实现办法/ X; u. ~) D: D$ C" K3 ^
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. 8 C' c6 L7 |$ N7 U6 R: r
  2. ……  j# _6 i0 L+ `; z% l. ?1 i
  3. if(!rs.IsEOF())
    1 v% ^! T; [* o
  4. {        //有数据
    $ W# L* \1 U/ E( p* m
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    3 S9 F+ v% g7 i4 v7 B7 N
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    5 h1 H1 N. A: S$ C( j& ~; ~
  7.         {        //小于1为未登录或一些特殊处理+ Y% X( O  m# s" u
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )
    # o' p: ]: P0 `; C# J
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线: ~* T# ^# ^8 p) P; }
  10.                         pUserInfo->m_bBoot = TRUE;+ ~& K# |0 c  W! `& h1 K  X
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;  V* ^6 X8 k/ D& m
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态, V3 {; a5 F% ?" A
  13.         pUserInfo->m_nState = NV.m_lVal;7 O9 h8 M4 O6 ~8 i
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    : X2 D$ j0 d$ C/ S( U4 J, y
  15. ……1 w' m. \5 F$ f) `. }! N
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-9 02:58 , Processed in 0.033661 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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