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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述; l0 }9 b) |: ?0 t
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
# S0 e+ R- h# @$ N2 Y1 W; o
$ W* V* P7 c! y  j该功能表现为0 z% M) `; Q' }. _, i; n' [8 w0 K
若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。7 s- e5 R' b; n: T

3 k$ S+ [4 X2 |% s5 r实现办法7 M; [' e. T) w5 q) _5 M
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. 7 p1 ~+ D3 g) }
  2. ……+ H- x9 Q0 W' [1 F
  3. if(!rs.IsEOF())
    / A! L, z. F( k0 d" H% s
  4. {        //有数据, }) h) A6 P4 _
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    , n! y% x: a% R9 z+ t* p
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )2 ]6 b, q$ T! \0 \& K' _
  7.         {        //小于1为未登录或一些特殊处理3 o& U  B2 J$ U4 d. l1 ]
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )
    / [% b! q+ H: _2 x1 w  T: z% v
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    4 o8 Q* C  w6 w2 e: E3 s& E: E
  10.                         pUserInfo->m_bBoot = TRUE;0 T* U3 n% h/ Q+ i* @% d
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    / R* f+ F7 F/ f% R
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态! ~8 q) g4 g* W
  13.         pUserInfo->m_nState = NV.m_lVal;
    , v% s: y( ~. q6 K/ u. A" w
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    0 p. l. n$ z4 u7 v8 S! S8 w# d
  15. ……
    2 A2 b8 [. f5 I& G
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-2 14:18 , Processed in 0.030315 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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