飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16514|回复: 0
打印 上一主题 下一主题

修复交换错误

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:43:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
7 V; Q* j; G3 \I posted this because someone kinda posted a youtube thingy about it :O.
" q0 P+ y0 |: Z! @' k; b& A+ X8 T7 r% @8 h2 N
Find this in DPSrv.cpp @ worldserver) e1 K; V# P5 K/ [/ i. G

* z% q: y9 \* z9 FCode:
+ k: C- P2 T' f0 ]5 E! X3 Wvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
6 D% F/ z( r' w" s- n* q. x- E3 [{( L& w+ t( j7 j! S8 d5 g
        DWORD nId;& `9 K4 z: Z9 M+ s& }
        int nPart;
/ i& h, n% T1 J5 s0 h" J# [7 T$ ^5 v8 P3 l# y" ]
        ar >> nId;+ u' C3 s5 z5 m7 V* A3 C9 ]
        ar >> nPart;               
5 G5 M& @* k# Q: {4 q0 [  i       
  _7 A! u9 H4 g3 y9 h# c        if( nPart >= MAX_HUMAN_PARTS )       
4 t# a% _% @, A, O% o% h. C7 f                return;
0 G6 g1 l% a' x/ M# c, M' {$ w" H$ Q
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
! A& @% I, Z2 y6 t8 V  m4 Q+ x9 n7 g6 n4 T) Y

5 v+ ]4 K6 v! LCode:
; L! R1 ^. _2 L- L* P( x#ifdef __QUGET_SWAP_FIX
, H) g( O0 x) O3 j/ r0 c$ C
8 e) {: m+ R4 D                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )7 z& k% K% ?& {3 m
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
$ j# F6 q& P2 M+ f' @  R
3 s4 m! _( z4 r& F  ], U% ?                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
3 M! m  `; u% R' p$ m                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );5 q( Z. S# y- Y. h( |

: u$ \$ l( S, L1 v0 {$ B                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
  W2 U# U: b* b; {                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );2 {: q) M- r! Q; O  @
" u. l6 {- T8 \& C" b
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
* n$ s1 E" P' H0 s7 land add under' v7 t! x9 A; N4 N2 u
$ b. Z3 ~6 Q! Z) L' l! J+ U8 J) g
Code:
$ y2 T1 ?$ J, {# gif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )3 g0 [) G; c0 h5 `/ {4 @# w
                        {& U9 `! H& I* q
                                CMover::UpdateParts( pPlayer->GetSex(), pPlayer->m_dwSkinSet, pPlayer->m_dwFace, pPlayer->m_dwHairMesh, pPlayer->m_dwHeadMesh, pPlayer->m_aEquipInfo, g_WndMng.m_pWndBeautyShop->m_pModel, &pPlayer->m_Inventory );! u9 }# z* C% q
                        }this
2 B8 r- Z# x! G( q7 Z! q2 ~& E8 i" A
Code:$ z% c  _; `7 I4 N
#ifdef __QUGET_SWAP_FIX
9 O3 g4 z: V9 X6 l# Q- p                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )' G' R5 Q7 t* O# ]
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());4 e& X% s4 x0 K# U/ |; a
% K6 }, s$ W* V  ?5 }
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )  L/ d" u$ B* K7 E) J6 k
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );. m0 Y1 W1 F- I  a

9 \3 r! y* S1 b' v                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
/ S+ D9 H8 M) X4 w                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );5 m2 z9 A: v3 s$ u8 U+ D6 y: p! g
" J9 B* p( l4 K' J
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
1 e% t$ H" C6 K+ {2 G  r6 Q3 H5 k: p% |1 }4 Z; T

9 @5 \& w" A$ E' j5 R/ {

相关帖子

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|飞飞世界技术论坛  

GMT+8, 2025-12-17 08:55 , Processed in 0.074795 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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