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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述/ X+ k; P! s$ a6 V
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。- Z) [5 O1 C7 T% F9 @, R
8 D1 V' `0 C- T- H$ |( ]
该功能表现为
" l/ r2 W1 }# L! e5 }- i若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。* U2 i- d& l; ~" F. L0 U$ x

" D- |6 g0 ]3 U) g* V实现办法- _* N/ N) `. `. n# p/ n( w
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. - |1 T5 h4 S! I* f, P
  2. ……! z- w) G8 e8 p9 m5 b4 Z
  3. if(!rs.IsEOF())
    % [6 u- e) J: i
  4. {        //有数据
    , i7 r' Z- O# m0 [. {$ O, y" E" a
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    9 J2 K: X8 w$ w. T
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    / J1 k6 z* v( X* ^# W! j
  7.         {        //小于1为未登录或一些特殊处理
    + {# S/ I, z$ `5 a% ~2 _' G: k
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )2 j# ^# `- J, g, N
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    . e  {# z5 E% @! C
  10.                         pUserInfo->m_bBoot = TRUE;
    6 s9 t# ]: i# j- A. G
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    1 C# p0 e8 b- r# p( @; O4 R! Y
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态$ |* C  P- g7 c6 h0 t1 Y, S
  13.         pUserInfo->m_nState = NV.m_lVal;3 E8 }3 {2 I9 s, |) l. R+ G
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    . ?9 F( b1 F* X2 P/ U
  15. ……
    * O+ M) V" \9 S
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-30 09:10 , Processed in 0.035427 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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