飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
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
0 o0 N5 F7 ?" B# X: e" iI posted this because someone kinda posted a youtube thingy about it :O.. w* {& r6 c; {- R' m
" ]: g) _5 M! L, ?) k
Find this in DPSrv.cpp @ worldserver% C( B, F/ o; B5 Z" R; \  i  l

) H/ V2 `) {) P7 }- `4 CCode:4 v5 j/ w$ W- r" x- }& S
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
  w( W% S6 M6 s# k- z{
0 W( I$ F3 w: k; F3 M1 _! ~        DWORD nId;
( G8 A  ?! Q. N  m* x' f        int nPart;% d9 ^& t* @- _( K7 D
! |7 q% L0 j4 X: p
        ar >> nId;
  U, x$ L5 M/ o- O        ar >> nPart;               
3 O/ y0 m& E& i! G* k& b       
/ h$ L$ s. O) O5 ^, I- T        if( nPart >= MAX_HUMAN_PARTS )       
9 Y4 t  }1 H3 P$ \: O% ?* M4 N                return;
4 e5 ]* l4 t4 E/ B7 }$ Y" L& g# u5 b4 F! ~* k- `
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
* i/ B$ p4 W/ q8 y* g
+ P# E  w3 o  q7 [! h# T# X/ D5 K0 s9 @$ y9 Q
Code:
, ~$ ]" A$ w3 I7 @" b8 z4 H8 r) N9 y- D#ifdef __QUGET_SWAP_FIX
- h4 W0 d/ n& U8 n0 H4 C% p, q+ a; X. ~
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
& i0 L8 n) W: Z2 }: @/ e                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());1 e& T% M- ~# q% D8 }
, B- B9 ]3 s0 K+ ?, @* }: |
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
6 H& K9 Z1 q& e! H                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );! @) n" p' F4 E2 x

% q# Q  J: A1 a' G. `8 c2 j                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
- ?, \3 @" _# |; F0 v                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );  U6 j1 M( @/ M) u0 p

* n  J% f- y4 V; P# ~* @* q( k. B9 `#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp) m. D8 ]* }- r5 ~& ?! a2 Z1 s
and add under6 ^4 u! b% [! C, a: O0 s2 \

+ v% u8 T$ t7 Y" y$ NCode:( }$ c# F9 i2 {8 S* m
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
3 F8 O" m6 D. {9 ~" w                        {
3 r$ x0 r5 r! d. U2 Z  w7 j( N                                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 );
% z. @# c+ P; \- O( E( a                        }this
1 U! T( H' c# `* B- J7 b8 e$ G/ A) B: T4 a
Code:; J$ {1 z' c/ ?  t/ B
#ifdef __QUGET_SWAP_FIX
1 b0 t, e6 o' Y' u                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() ), n4 t* v2 ]+ T9 Y% R8 T
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());# D1 W2 i" P$ ]# d$ T4 D. M6 h

, m# P& `8 F. |6 Z6 Z8 g2 N                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )* p8 x4 Q5 Z* f& X( w
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
9 k& m4 @, a% x6 ]9 g5 H  U! @4 X/ E+ z% X
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() ); N9 Y" ^: |0 ^  S- D: R* P
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
8 ~! h8 A2 M) K3 `! l' t
8 m: j2 M" G* g2 X#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
5 y: T( V* o; j
8 X# ?- c# ?+ ^) t3 y! Q5 a0 f9 I4 D

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-1 20:10 , Processed in 0.061503 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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