飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16963|回复: 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 5 l: j8 a) O0 m! z  o/ D' O5 w
I posted this because someone kinda posted a youtube thingy about it :O.
4 }; C: u# G: G; Y7 {, |% @
" d* p4 J- b' W  E2 eFind this in DPSrv.cpp @ worldserver
; R1 g# ^7 T# X; t) t$ {+ W; k
8 s$ n" E% D2 f1 CCode:
8 `" s, i( D0 `9 C% s, G: w5 K& pvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
2 l5 {# S" A1 M% T4 Y) o8 e{3 |- f# G+ c7 P  F+ O
        DWORD nId;1 n& f* o* j: u2 S7 R- |) }( E
        int nPart;
1 T" S$ R, P4 ~4 K  P, }3 d
6 h* l: i; H' R        ar >> nId;
/ Y. z# D+ |  O$ T' z! v* M$ p1 j        ar >> nPart;                + ?' G+ A# y# G8 c4 L
       
2 T+ N4 Q  j( \5 _1 b        if( nPart >= MAX_HUMAN_PARTS )        ( e+ |! b, ^! s8 }2 d/ A
                return;
" S' e- l- _8 D  i
9 P* k5 S2 v/ d' n9 D        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it/ a+ T2 g) V1 K
4 e0 G& q5 h- x
4 Q. }0 A  _# v% R1 x+ {
Code:
2 a! u+ m4 H7 E3 g#ifdef __QUGET_SWAP_FIX3 ~% K1 o& w, g' d! l

& }5 A7 C. o3 Q2 @0 s; Y                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
0 Q" n4 B! T4 n# }                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
  v9 P( s$ T/ P
9 o0 I' D' \- b                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )' p- I+ g& T, p8 p
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
& q4 t1 H" g+ m$ g, x  M2 d
% }+ S! _2 l* B& G9 _                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )/ x/ ?. s; z+ y: W% O9 ^% P- d
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
' S0 G3 N8 ~' Q9 T/ b4 R: F' D( i0 R+ x0 W* E
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp, E3 M( ?0 b9 ^- p9 ~/ O! e
and add under
) ?4 j4 F. _% [+ L; q' l& }' R3 h# P+ V/ x% e# Y5 i9 `
Code:7 q, X! z9 K0 @' i$ Y
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
7 e' P6 d  U$ Z* b% M                        {- H0 U  U. A6 r- T  [9 F0 X* J
                                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 );6 R% }7 d5 l" B
                        }this1 m6 n$ y+ V' F# Z
4 y1 K5 j- O- Z4 u
Code:
: \+ o- }$ n* R% M#ifdef __QUGET_SWAP_FIX
# q( l% \8 ^- a. j                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )& T; x$ k3 X$ m
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
6 B) [: h9 Y2 _+ B
+ B' ]6 z2 C( V! z                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
) d$ H: o2 N# Y5 n( o- Z                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
) e9 e3 s4 V; v! P8 r) P: h0 D# s' y6 q7 b3 q) d% @
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
& i# Z3 C  r4 v( q                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
. ^) }6 z" S! w- U' H
' S0 |$ X/ D/ O#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver : D+ c+ p" e- R

! C5 V3 L6 O1 D, E& n5 d8 f1 }( f: `* B- ^4 @( A

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-15 05:04 , Processed in 0.062376 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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