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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述
- Q. ]. [5 z$ V" m, x增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
" B1 D$ {; o, h2 z$ x, Y* p3 O1 \. g; H9 \
该功能表现为: [, k& M! H4 ]! M5 ?' m/ ]' L, Z7 q
若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。5 w% t, y$ z/ b9 R( ]. l3 {( l

# n% A' {$ M; u4 ~$ n; S. ?3 D! k实现办法
5 Q1 b6 v9 E4 O/ z' G- ~) K0 A为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. 6 s/ ?; A) X4 d: u; J9 E, l
  2. ……
    8 L4 _. ]9 g) L. G& I8 \$ L
  3. if(!rs.IsEOF())" o0 s0 _8 F6 y4 S* T
  4. {        //有数据- x' u  n5 S( |/ U  X
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记& ?1 Z& K, f, O4 @, b
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    2 S8 @+ K; {. M) h! h
  7.         {        //小于1为未登录或一些特殊处理$ ^8 l* v# A; c7 c2 G* r5 Z  ^
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )3 s6 X# T9 t% E4 M
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线+ n. f' u  b6 D' T  h1 \
  10.                         pUserInfo->m_bBoot = TRUE;% K5 b% k4 Q! T7 w
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;9 Q5 C3 D( d! v0 S
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态
    ! Q$ @: J. b% `# A  t& K. x
  13.         pUserInfo->m_nState = NV.m_lVal;
    6 v  C- Y. d4 F, n; _& l
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    . v3 @% _. X  X  q- U0 Z: l* ]
  15. ……
      f4 Q8 {7 P% O2 m6 D; S8 M6 P5 |, U
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-4 23:16 , Processed in 0.014835 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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