飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16780|回复: 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
% {0 Y9 y6 `) p1 c7 I/ T9 [% \. ]I posted this because someone kinda posted a youtube thingy about it :O.% V5 o- G0 ?7 Y) B$ R
2 P/ I; }: M3 z
Find this in DPSrv.cpp @ worldserver' J8 k% e* Z1 B
& p6 Q2 h8 N1 |! n* ?' u3 I9 e
Code:
, v0 ~: B; y- v; k/ g, t) Tvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
% }, u% e+ o9 s) \* p8 V/ e{& o: s' n/ q) x* g
        DWORD nId;
5 F* O8 ~6 {* P, h7 U/ S        int nPart;
; W* i. y) D2 ^, w
0 M2 b: h7 m. F1 }7 P% F: U$ _+ p        ar >> nId;5 X+ Y5 v+ x4 S$ v) {
        ar >> nPart;                1 \1 J) @' t& F' X: Y: p' P, a# g
        $ Q" e( m9 T* ]1 |
        if( nPart >= MAX_HUMAN_PARTS )       
2 }# P0 R! j2 k) ]# \* R& A                return;0 l' g% T- H$ b& e0 X0 Z1 b

( e' h- t: ]3 g0 `$ \5 @        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
% {1 R! Y4 R1 ^2 i6 U, m, i- _1 R4 [: E6 u; [

" P/ h% }8 n0 w, u. M; XCode:
9 b# `. c( [! z2 }#ifdef __QUGET_SWAP_FIX
& q1 l; g" L- r& i" f  [. K" f" ~; [+ T- _  Q& C
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )" C+ Q  \0 Z$ i6 D6 s
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());$ N0 w  @; S. {6 U, o

* D& i- b$ v4 g  S                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )5 V+ o2 o( b/ {
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );! D0 ^' }, b; n/ A& S, k7 Y+ {
) G! I" P% k9 W  e2 X* V; w
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
) y. S: X  {* V, Z4 c7 n                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );# ?3 f3 E1 O, Q, y0 b. q

/ _, ?7 L1 m$ l0 Z; [2 @#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp% a4 p: w9 ^) ?- K9 w% @* g
and add under
3 X! |* d! E  A: ~  e1 x; c
+ i9 P* T  C+ _6 q& s2 PCode:
# }5 V4 N( E1 _if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
) u: Z8 b, @0 l8 n; H9 _                        {
4 k% \( M$ {+ `( N% `: g6 j7 z# 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 );! W, \. E& O- G: r6 B0 p- r
                        }this
/ I$ Q$ e0 J: h0 O' H% p/ e1 o+ w) N4 Y, ?0 ~" Q6 {/ R
Code:, h. T* v# F. g* W4 X# P7 E
#ifdef __QUGET_SWAP_FIX
" Z2 E0 V; o- ?% F# r                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )" x7 L9 T* P8 B) W9 ]
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());2 V  X- t; B# G$ w0 e  }+ d

+ x# r- [2 ?& v& V                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
. v+ [% R" z" C- K8 m                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
3 }% v. q9 R% |) T
: ?2 l7 g/ y0 a0 g                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )# B! {5 d) H# u2 b- A3 l
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );0 _1 v. A4 N  H* n6 ]
1 ]4 H2 ~1 i% t0 }8 \# P( k8 n1 e
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
1 [% Q9 n9 w; ^( F1 m7 G$ u4 n4 y( f" N) R6 b
  y6 q! y! B  r% R9 B$ l1 c- a

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-30 12:39 , Processed in 0.064295 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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