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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述
# @9 B$ A% j' C# q9 G增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。* ]4 B: u7 ^) s5 T& w

+ ?  z* S3 S: ]$ W/ A6 Q$ ]- v# ]该功能表现为
+ U/ d" L" J1 `) q9 T; V若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
# l/ O8 X& D2 Y6 A+ b# {# f1 o
* w0 E2 l$ g7 j8 ^" `7 H) D实现办法
) z0 [% ~. ~5 C4 `. x为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. ) w; R$ i8 b& S) J' w
  2. ……4 f0 E: v- G$ u% n9 t8 g
  3. if(!rs.IsEOF())( y" X) {' o9 F7 @
  4. {        //有数据
    ; s1 `4 E0 X7 n+ Q; ^
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记: \# o! g+ Q4 ^" K; A
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )( K8 x1 S2 S1 b/ A" O
  7.         {        //小于1为未登录或一些特殊处理
    ) F' a3 j6 s4 E8 B( E! b2 _
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )
    4 x7 t- m8 N. g4 k1 I( U3 U* M
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线. {5 f/ Y0 h* [- _
  10.                         pUserInfo->m_bBoot = TRUE;7 n: j* X$ b9 x
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;& d2 V/ o) s" a8 v: I( V" S
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态
    ( U6 s5 }, T- z7 s
  13.         pUserInfo->m_nState = NV.m_lVal;
    2 O" D# I- ^8 R- s6 \7 E5 A
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    . B, I  ?+ C% S) x& M
  15. ……
    / R5 Q: T$ p; d7 X2 T+ ^+ u; P& q
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-14 01:12 , Processed in 0.017530 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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