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

Server 2.1 build 20041123 新增加功能

[复制链接]
发表于 2004-11-24 11:25:31 | 显示全部楼层 |阅读模式
功能描述$ L, W, g9 W; L. |! E
增加了原“因某种原因造成的卡在线上”或“只是数据库标记没有被复原”造成的不能登录的玩家也可以登录的功能。  G5 h: j! Q3 f. m) p1 s! h% d- `
  p3 ~5 ?8 d9 ~, d2 N+ V
该功能表现为
% C* j8 a* q6 @若一个帐号两人使用,在第二人登录时,第一人自动失去控制权(聊天区上提示某IP使用该帐号登录)。
0 o1 d; J/ E! x4 V9 l& _# O# U0 y& G5 l8 H% |0 T
实现办法
  j/ B) H' {  u$ ^# y3 W8 {8 Y- l6 G为使用该功能,必须在DLL部分的OnUserLogin() 中返回的 CUserInfo::m_bBoot 设置为 TRUE(即数据库玩家信息中的 DB_FD_TAG==CVarInfo::m_nSiteTag 时才设置该值,正常情况下不设置),当 CUserInfo::m_bBoot 为 TRUE 时,服务器会自动搜索所有场景,进行处理。
 楼主| 发表于 2004-11-24 11:36:01 | 显示全部楼层

  1.   O0 s! ?$ @* W/ U+ v
  2. ……" u5 ]( h3 N" l8 h
  3. if(!rs.IsEOF()): X+ b3 c- [" Q
  4. {        //有数据
    ) p, W. S- y, H" O8 E  ^
  5.         rs.GetFieldValue( DB_FD_TAG, NV );        //在线标记
    , i$ d8 @% m+ f/ d* b, y0 G
  6.         if( NV.m_lVal < 1 || NV.m_lVal == pVarInfo->m_nSiteTag )
    5 J/ U7 k* e2 k" }$ b: H6 o2 E' E
  7.         {        //小于1为未登录或一些特殊处理$ o2 x/ X, v- A1 }3 h; t
  8.                 if( NV.m_lVal == pVarInfo->m_nSiteTag )
      T# X) v* r6 |) d
  9.                 {        //如果数据库标记为已经登录了本服务器,则让服务器处理重复上线
    - H! v, F- Z8 K! i0 c; ^/ m
  10.                         pUserInfo->m_bBoot = TRUE;# C3 k2 {- I6 B$ y
  11.                 }        pUserInfo->m_nTag = NV.m_lVal;
    9 E( m+ ^" D0 ~0 m+ F+ _7 m
  12.         rs.GetFieldValue( DB_FD_STATE, NV );        //状态( A& Z1 G4 Q/ k3 m( X6 k4 H1 n4 ?
  13.         pUserInfo->m_nState = NV.m_lVal;' J- Z! Q! p  Y
  14.         rs.GetFieldValue( DB_FD_NAME, strName );        //名字$ t6 ^  H% a* f* G# f1 K
  15. ……" j# {) S; O1 T0 ]0 ~  n0 n
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-18 08:48 , Processed in 0.017759 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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