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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述1 E  }3 T$ B( z9 R
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。
  E2 V, S( H7 Q- A- h0 ]' v! p; p$ H" c
该功能表现为
% a/ G# {! R4 v* B, t若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
# g3 x1 f; |5 x+ O" a7 y; C0 q8 ]( `/ d# g% `1 ?; M
实现办法
; K7 P$ o4 A1 |9 K1 P为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层
  1. 0 G  X5 h  X+ b9 K  ~4 X
  2. ……) I8 [! F* d  i
  3. if(!rs.IsEOF())
    % X6 }/ _5 R! G! U" F. ~
  4. {        //有数据
    : ~3 \; b3 s+ f) L. m% q
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
      B  J1 ], I2 K0 p: r4 k
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )# ], J' L# P" D
  7.         {        //小于1为未登录或一些特殊处理
    7 I5 M" I4 a* n: h
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )- |: V& x: z  p. N
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线4 {" ?, ^2 }5 b, F- ^0 l
  10.                         pUserInfo->m_bBoot = TRUE;
    , X) R. {. g0 I/ A# Q
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    % ^5 s1 |+ d& z8 R
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态
    * S: o% [$ A- d$ y3 G& g
  13.         pUserInfo->m_nState = NV.m_lVal;6 f1 F* W: s2 l/ y8 k/ u1 ?7 a
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    - u: T0 _! l/ y3 d/ X
  15. ……
    6 [) v. g! p! a7 J1 q9 I7 f% f; i0 a
复制代码
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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