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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述# ?" A4 y: ^$ @
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。2 Y) d9 }" |* {6 q* L( h
, w  s3 D, Q4 R) F* h: j3 E$ @
该功能表现为" u8 ?3 q9 E, {: b5 B* n
若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
. ^  O/ X& c+ _0 G% V/ B. [6 s% }" ?9 ~) N2 L. S! H, {. B8 ~9 s
实现办法
( f0 ^# x8 U" @. p/ b为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. / o% ?5 E# l0 m; q
  2. ……- n2 D, f4 [1 k3 h$ l
  3. if(!rs.IsEOF())  A+ K8 ]" S  ]! @; k3 i$ O
  4. {        //有数据4 v  e' z- }, m) _+ Y9 ?
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记4 _7 Y, z2 J* d9 M# |) M  x0 T
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )3 U$ \% A& M( z  W( p
  7.         {        //小于1为未登录或一些特殊处理, h8 r! \$ Z+ D, d" D
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )' S+ y0 d3 I( u+ H3 r6 N
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线" }" {- L0 y/ e
  10.                         pUserInfo->m_bBoot = TRUE;
    ( v* A7 s$ a' m8 G& B; ?
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    0 b% R( l) m: O# [, j
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态- f4 u! g0 C/ M" b- ^, z
  13.         pUserInfo->m_nState = NV.m_lVal;& T% y& k( c9 \% v% z4 q0 I0 `
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字; x- m' k3 _  Q" [9 }
  15. ……
    # g7 P2 H4 R0 y/ c
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-8 23:34 , Processed in 0.033685 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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