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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述
: c0 g2 h7 l: A9 [0 W; ^增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
+ x4 U  _3 [$ P- S6 T+ z! n: G4 V0 m% N
该功能表现为
* }: u/ t" f! R" c3 j4 T2 |) L7 j; j) }若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。7 \" Z3 Z, A, e

  m2 i5 O6 q2 {' [实现办法9 A# e6 M6 O, U4 E
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层
  1. 1 U3 t* v& v$ p$ E1 O
  2. ……# M0 J3 t, B6 ]' m
  3. if(!rs.IsEOF())
    ; |! E, s) U' a7 F
  4. {        //有数据& @( H% O; o/ V( ]6 K% Q8 h: v
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记- y* C) Q8 c- m# v, \1 x
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    ! ]  |8 ~; j$ Q2 h
  7.         {        //小于1为未登录或一些特殊处理
    5 s( z/ v( b2 ^. q2 k8 T  N2 d) G
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )# k3 i7 u3 Y* f1 f* s
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线. V' [; n7 P$ z' A% O4 R
  10.                         pUserInfo->m_bBoot = TRUE;
    * Z! k5 W  c; T5 Q- Z9 o' @% |; |) y
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
      E: A2 c! P4 ?( X7 }
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态
    0 V7 n/ g) v0 q+ b
  13.         pUserInfo->m_nState = NV.m_lVal;
    8 b: B6 R( L4 N% z$ E. Q
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    8 U: [# k* A+ `0 H: z% q
  15. ……
    / M$ I7 x& k& d+ F0 c
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-18 10:10 , Processed in 0.019615 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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