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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述
4 i: B, e4 \. P5 a# T- W3 C增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。, e/ l' Z$ Q( s7 [0 c9 H1 @
5 A/ n- a! a/ q6 d3 n, Y! ?
该功能表现为& Z* B2 c, ^  V7 l$ {
若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。: H0 |) E/ l, E! ~. Y: e: E
& n* ?1 w, v7 f3 F4 w
实现办法
. ~2 f& H) C6 h为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. + Y# Q9 H6 W1 ~  L1 {
  2. ……
    # e3 H/ O# {( S7 y$ r( S. R4 i
  3. if(!rs.IsEOF())+ D+ g* l! I: Z6 H+ F$ h
  4. {        //有数据
    6 t: W( [6 [: |* @. `
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记5 m3 {5 x/ M# O4 w
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )+ S& y( E1 s4 o5 p5 y
  7.         {        //小于1为未登录或一些特殊处理  Q8 Y% I) Q7 K3 g' s; l6 c! O0 w( O& [
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )2 i# K# Y$ o. K
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    ' R* G9 `5 }- C" c  R
  10.                         pUserInfo->m_bBoot = TRUE;# k2 Z7 f0 Z& A# I. R3 b$ R
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;) X# Y2 L0 t5 N9 q. u1 @9 P
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态  t0 f! k6 b/ H3 H* Z# K- m4 s1 Z% x) [
  13.         pUserInfo->m_nState = NV.m_lVal;+ L/ n9 N- |* G) z. F6 W/ _
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字
    0 S# u& j& g' T. Y" Z* ^; b
  15. ……8 x5 v5 e4 m9 \9 u% r, ?6 U9 y
复制代码
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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