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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述9 Y/ G' P! W) h* F8 s! {
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。7 v8 n( q5 _! K
$ I5 w- v5 n: L4 L( @- E. u
该功能表现为
! j$ I5 Y8 \0 r# ^5 S, N( Q! R  p- y若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。' ?" \  _, t3 V

% X4 z% g0 g8 }# O0 I实现办法
8 P0 B, h. h: ]为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层
  1. 3 c* }- H/ w7 o! I+ a/ n" w
  2. ……
    5 d# M6 R- {; d; R& I6 b( n
  3. if(!rs.IsEOF())$ ]) F& E& w/ t6 m' Q" Q" A& q
  4. {        //有数据
    ; A; R0 c, U2 Q" Z
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记* M1 w- p; F$ @$ \, w- W) N
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    2 V# A9 q5 \5 t1 n, ?+ U
  7.         {        //小于1为未登录或一些特殊处理$ {, G( Y  Z( ?. j: ~$ c, N
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )
    , `4 a% Q$ m' T* U' c2 H: z3 L8 E
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线, ], `9 q& _: ^, l" p$ N7 ~
  10.                         pUserInfo->m_bBoot = TRUE;
    # J: N# k, L* Q* ?
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    6 ^# B5 @/ |9 j; [1 Y
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态( _3 ^/ e, v8 g: `; C1 U
  13.         pUserInfo->m_nState = NV.m_lVal;" D' Y7 t  O4 B/ o( |
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字) ]; f9 {) A: O4 k+ Q) r" v5 e) n
  15. ……/ l9 @3 `7 S0 u0 @4 w1 u5 m
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-18 08:55 , Processed in 0.019052 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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