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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述/ |4 \- V# x; U0 d" Q- J' G
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。/ T9 e2 k2 I; }; ]5 l

: t% Y7 X. O; v1 G& b该功能表现为/ ?! |% G3 h# b4 F% i3 s9 h0 b! u
若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
& k+ T: N+ \2 L7 m. L& t/ {# Z7 o  \/ L- [, ~! }
实现办法" ~" I% u3 F- c: K' O/ ]
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. $ i/ F4 F# [* |! O& y  [7 p
  2. ……: O/ d* M& b" w+ e* P# r0 P4 V& }
  3. if(!rs.IsEOF())* f3 i( B6 J  z  T: }
  4. {        //有数据
    ( d4 [& n  s7 W, S% n* D0 y
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记6 D0 S# O  O7 z, `6 I" g$ s
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    8 Y; S8 c* s/ O: {& E
  7.         {        //小于1为未登录或一些特殊处理
    7 w) C" U, H: ]  }7 h- T
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )! n1 y, r- n$ j  I( ^% G
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    - v1 |; p6 b; g4 J2 H: n, p
  10.                         pUserInfo->m_bBoot = TRUE;
    ) U" l0 ]+ M% b0 U
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;0 d+ _# K0 F' S: x0 h" J5 F
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态
    2 g: B" n+ y# s3 `3 p
  13.         pUserInfo->m_nState = NV.m_lVal;& l/ Y1 A* n$ A8 Z) c6 e5 Q
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字3 {3 P7 Z9 G( N% {# L
  15. ……
    3 n; ^. j$ r3 N- D  G9 P+ b; {' v0 X
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-2 12:36 , Processed in 0.017457 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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