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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述8 o) p" ]0 a# }9 p
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
5 S0 a, @, M) ?9 |) `. ?" N8 c6 e- \2 p* d3 K
该功能表现为& T$ J9 z1 I+ l9 h5 w' A( r) D
若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。- Q8 z& W. p* S; M4 m" G

5 C2 Q& q2 Z! o) G& _' H% N: t) i+ }实现办法7 {* O1 Y- A; }+ J1 A6 v$ r
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层
  1. + X1 J9 A8 n8 Q, N) J6 G7 [  {
  2. ……
    1 s$ a' q( P7 L  t
  3. if(!rs.IsEOF())
    ) H' U+ P' ~1 g4 q- T0 ]
  4. {        //有数据
    ) _- R1 ]' X+ ^* ^, a! ^
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    + H; x" o) G. y& `3 c
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )5 Q0 D  c0 N4 V8 l
  7.         {        //小于1为未登录或一些特殊处理" f6 d, D! m  H$ l" S  P
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )
    - B& y* G8 D) Q+ a" s7 D6 Y! b1 c
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线/ d. {* N" O4 c& b
  10.                         pUserInfo->m_bBoot = TRUE;1 t: v6 Q% Y. z: L; @/ |
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    % F/ f7 P5 M+ g" h" a7 D
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态: Y* ]9 |  {: \1 S7 {0 ?1 @' D
  13.         pUserInfo->m_nState = NV.m_lVal;; h, [1 {0 ~. H  B6 A2 U% z
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字6 N) B& ^9 T; o9 m" a+ R
  15. ……
    * s/ ]) \) D" ^' y) }
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-2 15:35 , Processed in 0.019844 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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