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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述
8 c& E2 }$ |# u增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
9 ^0 }/ U. Y. k) I; I* [" @7 J. e( G' J) R! M3 `8 F7 F
该功能表现为5 s' ^6 f- X* X0 u# V
若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
. ]+ ]* {" ~, ]1 V! u, P6 E! O6 Z' b  u& B1 Z( f* ?2 u; N
实现办法; W7 z( e2 `4 y# ?+ I/ k. J
为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. 0 q9 U5 l( O# w9 e" M
  2. ……& g- Y2 \; L$ @1 Y* ~/ }+ K
  3. if(!rs.IsEOF())6 N) ^9 q- h/ m) b- P3 @
  4. {        //有数据" F4 C# {4 r  D6 G
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    & x# t( s( U2 m% Z; W
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    $ j1 n0 T# N2 Y# K2 |1 U
  7.         {        //小于1为未登录或一些特殊处理# I# T6 S7 U/ J6 r( r) s
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )' s( _  c8 y3 d" Y' o+ m
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    3 A" \) m, }! z0 x  O! ?8 o
  10.                         pUserInfo->m_bBoot = TRUE;
    0 k9 |8 a9 C# x& k8 f( Q
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;6 S, J; l9 ^" \8 U
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态4 l+ R1 c  |9 A
  13.         pUserInfo->m_nState = NV.m_lVal;
    7 }+ m1 \: f) i0 I0 N6 O$ Y+ L
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字! X; b1 L# K3 f+ j4 J9 J4 y
  15. ……  M2 A) n2 x# M0 b0 ]
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-2 14:22 , Processed in 0.017729 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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