找回密码
 注册
查看: 4708|回复: 1

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述:# N2 B- X) Q6 W$ R; J
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。  N$ E4 m+ L& @) F) `

' @2 v% }9 @& [4 _* `, y该功能表现为:
1 K, l5 p& R* c% x若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。0 w  F4 B0 [# }+ g6 A4 J5 i

) f) ^- A  j- a: U9 I实现办法:/ P) a: S4 @& n
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. ' i0 m: V1 C  s  R/ ]7 K9 M( C
  2. ……
    ! k3 J2 H! Z. \/ p2 H8 M7 n
  3. if(!rs.IsEOF())
    / ~9 F$ ?; |5 E& g# {$ n6 t' m% Q
  4. {        //有数据
    # e0 J. M. q2 f+ P+ P$ E+ Q3 |
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    " @4 g: \3 i6 j, E
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    $ F& a" }6 w& q2 j
  7.         {        //小于1为未登录或一些特殊处理0 t0 Y% X: G$ w
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )% w* R/ a6 _/ w
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线: @  S/ O' V8 k' E
  10.                         pUserInfo->m_bBoot = TRUE;
    ! w5 b. F, _* _& r' T) _
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    ( a5 s% r8 g( M/ c% R
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态
    7 N" x7 f5 A3 ?; I2 x6 s
  13.         pUserInfo->m_nState = NV.m_lVal;
    2 t7 V$ }% [0 r' v
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    % L7 x  A* o: M8 M$ a( Q6 H0 A4 I
  15. ……! E; C( g& S$ C( s  T, s
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-2 13:27 , Processed in 0.015195 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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