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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述
/ x% M+ H. A2 J, ~/ t: j$ }增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
4 r3 T5 f- f' f7 E$ g: s0 E6 k& [$ h$ ~  Y
该功能表现为
: I% |8 c3 s6 P4 [" [  E若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
; p6 D# g& |" I& b$ f$ m
$ X0 B8 ~2 i9 G. n实现办法
$ ?3 g% }4 @( U; |9 w: E为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层
  1. 3 O8 S( Y0 k) e9 b) V
  2. ……. t/ \% Z9 y% p8 Q0 Q
  3. if(!rs.IsEOF())8 b# A. ~- O. C( ?' v: {9 _6 L
  4. {        //有数据
    1 t" v5 s6 n) N3 U! ?2 B6 K
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    ; i! y) E+ `! A
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )0 l  ?3 `) Z3 }7 t  ?/ ?" g- P
  7.         {        //小于1为未登录或一些特殊处理
    ' c! q3 Q8 u9 I: l: x( |) N' e
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )! I* B- I- B' I$ }
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    7 U/ d) I5 [1 P# Y
  10.                         pUserInfo->m_bBoot = TRUE;( p4 T5 ^" C) a2 E
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;- g) R6 z' K5 X& B" j
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态( B& N9 ?  v) X2 ]0 g6 E
  13.         pUserInfo->m_nState = NV.m_lVal;1 I( Q: w; X* k" K
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    3 h2 c/ U3 T" C. C
  15. ……
    : E7 K, I. v! n
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-15 06:25 , Processed in 0.022646 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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