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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述:4 f. R; m' J# G5 _; I8 |9 n
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
" t0 M7 ~$ J7 D. h7 q* X1 d/ f) L* ?% K. U
该功能表现为:
+ ^. n, U( P  P# x* a  }, T8 ]若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。- b' c6 I% q1 x: [; i
7 K; I' I9 O# j  Q: N* u# I
实现办法:9 N& I0 z: Q! f. J9 `9 p$ a' c% d
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. ' y: @  g2 d8 M3 a' d
  2. ……
    4 l$ y$ Y; {% n( g, I% ^
  3. if(!rs.IsEOF())
    & X5 M& l/ q6 y, R# y( a0 k- d% [. U
  4. {        //有数据
    1 j1 T6 {3 |9 N& Z- A
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记" v* V! @$ R& s/ ]  m, M/ |
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )0 b' L7 i/ m% S' S* g+ |/ L6 U
  7.         {        //小于1为未登录或一些特殊处理( r. V( m+ t8 G' L' B! J% `
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )/ V5 L1 B: Y/ K4 A+ B+ {8 g
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线. [7 `$ c7 `4 s) x" i
  10.                         pUserInfo->m_bBoot = TRUE;
    5 y  _- C7 C2 `1 {* y2 u3 g$ r* f
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;! J  g9 j1 |8 w, a2 {
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态3 E/ F$ R7 n/ I. I* u
  13.         pUserInfo->m_nState = NV.m_lVal;
    2 G" d- a; _* \$ Z
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字9 V4 n5 ]# c9 s6 m: t
  15. ……+ z, ^& T) X# O! o
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-2 08:58 , Processed in 0.022246 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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