找回密码
 注册
查看: 4705|回复: 1

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述:
4 P4 P5 R6 @7 w5 r5 f增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。8 M0 K! o( V+ x( F5 O! [% P
; p2 n# Y  P6 H* N0 E5 O
该功能表现为:, ?9 w% V" U( t$ \: P
若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。, R& z; T! Q5 a
  w/ d7 K1 i0 S8 V4 z0 `
实现办法:
( H' o$ V4 L) q; _8 B. t- O- |+ I为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1. 2 t2 K' H2 T, ~+ Z
  2. ……2 F/ p! D3 c6 N, [! J9 U6 a4 j) o
  3. if(!rs.IsEOF())
    6 N# A$ O0 t# y% w
  4. {        //有数据3 G! X, N9 a: s( q9 Z" b* w: k
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记) h5 l+ ?  H+ E  E% r) m7 ]  A" Z, E1 S
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )- a8 j8 `: P% e6 t/ q% o: a0 V9 G
  7.         {        //小于1为未登录或一些特殊处理
    6 x. h3 F) k' e+ V
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )" R0 L- B- d+ d' N( h1 w, D
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    4 C) \6 J" S: Z: B. x: J
  10.                         pUserInfo->m_bBoot = TRUE;
    0 x9 z5 L! u# {$ ~
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    ; K  W( M- A" H3 Y3 q4 E: K! N
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态1 {9 M7 @, C* h) z' q
  13.         pUserInfo->m_nState = NV.m_lVal;
    2 |0 ?. }* e& \, s2 E# ~
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字/ B9 t( \  E# a1 O6 E* y
  15. ……) h# E; N7 l! |/ h; p: H
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-2 06:51 , Processed in 0.016055 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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