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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述
% {5 H9 R/ _# W增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。' C, b3 F1 r+ m) l8 [( v

- i7 O+ b* J3 l4 H该功能表现为
* `  v  _+ R4 t" H若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。3 ^) g% u) n9 q3 M% k' J
% K5 E1 x' W' k) H9 Z6 @% M
实现办法  F6 A! M4 q8 i; _% a
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. - J2 n. f2 _" b
  2. ……; F9 @4 _- n. R2 p. u, ]+ N! O
  3. if(!rs.IsEOF())
    : }4 t% L0 n/ y+ E* t+ ~; n
  4. {        //有数据, D* G7 A, \0 M$ k9 b+ f
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记& Z4 |. M# k. `& E2 k
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )- f' \! d" h# I" ]8 J( v1 O
  7.         {        //小于1为未登录或一些特殊处理
    : G* L4 p+ u6 q# x* @
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )* I* j& w4 ?# {7 }0 G, K! P
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    ( F5 b; x' n1 u3 `- P$ q6 d5 a3 T- r* R; ]
  10.                         pUserInfo->m_bBoot = TRUE;; K( x3 q% l& ]3 ~" \2 G
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;, s1 t; V5 {. r) Z
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态/ E$ [8 \' L- ~& |
  13.         pUserInfo->m_nState = NV.m_lVal;
    9 J4 S8 r8 p5 M' f% N8 J
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字! x2 v7 _) F, i6 y" o( M6 l
  15. ……% w9 E. k, n- r; V6 x
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-20 11:16 , Processed in 0.038521 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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