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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述* g; T9 p+ _5 s8 F& I
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
5 J: |( n- e/ G, G
! B4 ~$ `% I' D: b& {7 |- E' X该功能表现为. W) y+ j% p' {. S, ~/ w1 J; `
若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
* W  [6 i% s1 S% h. o6 g/ ~$ U: s1 ]
实现办法* P% a2 i2 t4 K6 S8 x( d0 Q
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层
  1. 1 [6 A6 b4 \+ S! t7 o5 d1 E
  2. ……! l! g( b2 r& q
  3. if(!rs.IsEOF())6 A, m' F' C- O  v
  4. {        //有数据
    ; k# u; I% H7 \7 ^  q$ w9 w% _
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    0 u' e# j5 l: i- ~# Z
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
      K; n& ~* E0 r- {
  7.         {        //小于1为未登录或一些特殊处理2 H$ t& p3 d  Q, L+ s
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )% a/ n. @. B) J( A% |" Q) l
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    / \, k0 |0 n0 B: B8 k9 U7 F( e& i
  10.                         pUserInfo->m_bBoot = TRUE;7 j  ]2 i. j, M6 l
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;8 X9 N: _$ P- l/ d. X& [  C; ^
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态4 @6 |% p9 z5 L
  13.         pUserInfo->m_nState = NV.m_lVal;
    / O) ^8 t: ]4 s( S0 }
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字+ Y  y" ?4 {; E/ v6 ?+ m
  15. ……+ {3 |0 K0 @9 }' ?+ Y( Y# `
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-8 23:42 , Processed in 0.034906 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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