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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述( A. K+ e, \' e2 a/ T* K
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
5 i' x( v: n$ Y. x6 e: l4 O2 ~! Z% b% S% N6 E- f
该功能表现为
) L+ H3 d& C! `# N若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。$ U0 C8 X- I7 Q
4 |/ l$ ~: t( R/ X' ]& X( t
实现办法1 h9 `! s3 D5 U$ Z" \8 C
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层
  1. : h! m2 J. O4 }. J% ]
  2. ……9 b  M: s8 f' I: C; b/ a+ p
  3. if(!rs.IsEOF()); X+ T4 _$ s$ ~2 j6 \7 h
  4. {        //有数据# P9 R) X) Z. n: E0 m
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    3 }. Z& _  v9 S* o2 r
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    ( W" ?- D* b* I: X# V8 d
  7.         {        //小于1为未登录或一些特殊处理
    6 |! ^$ g0 {  r! K' ?; d
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )& X# Q% M  E0 ?
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线$ g2 t3 K8 K2 g* A) ^1 A
  10.                         pUserInfo->m_bBoot = TRUE;
    ( _+ H) w  X, [1 R0 a4 e
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    + k4 }4 a: u! v' u* Y6 Z
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态
    & P1 y5 W8 F, S! @; A  r1 D3 z
  13.         pUserInfo->m_nState = NV.m_lVal;
    # |& \  l; h& E4 d; P$ E8 ^. d5 m
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    # p1 V& d" v* V9 z
  15. ……+ F8 z2 j" d' l/ X4 j4 V; P& _
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-13 08:22 , Processed in 0.017037 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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