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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述( n: d2 d& R0 @  I2 S( h3 n4 N
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。/ z1 B/ s, r& t# H6 Z" n3 l

2 k* d5 K$ W* @7 F3 t; I& u该功能表现为
# J  B1 ^( ?1 I4 r  \  I7 O若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
# t1 R* E% K/ R. L6 }6 V! O5 G' C: b- S% J! f# f: Y! H
实现办法
" E9 ]# u: R7 n1 ?为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层
  1. 3 g# {" z2 y7 s) X/ f
  2. ……
    ( k# {5 `, a) o( O
  3. if(!rs.IsEOF())9 S& B' Q: s* f/ U% j
  4. {        //有数据: F3 t5 e  f* p0 S" V6 C: `
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    5 a* l7 T" f, t
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    6 j) e) ]. S" }
  7.         {        //小于1为未登录或一些特殊处理
    ; H9 a, v$ d3 c+ s
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )
    9 H+ S1 o( }# g
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    . f: H. m0 }# J) O+ b5 _
  10.                         pUserInfo->m_bBoot = TRUE;
    ( `- P+ \7 K, R9 e
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;* e7 S! V# E/ E& g! X  v0 o, s7 X1 F; }
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态
      V, \- s) k9 N# j( A
  13.         pUserInfo->m_nState = NV.m_lVal;
    ! p( f$ g1 c) ~- i* i) U
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    ( J" A; d! R% A/ O, h* j( ^
  15. ……
    4 Y4 ^2 S! t+ J5 M
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-15 06:12 , Processed in 0.015991 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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