飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17039|回复: 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
  U) r- {! p' P8 \! pI posted this because someone kinda posted a youtube thingy about it :O.
& N0 _; ^9 S5 y* O9 E( I  l+ h& R' x* b
Find this in DPSrv.cpp @ worldserver
6 F1 x5 `3 `% {+ l8 D4 w
* v8 l. U# Q( p3 I/ xCode:$ V" K: Q' }. {
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )3 x: I; X2 Y5 i: a7 x
{
) t( ^- J5 o6 M7 B$ g: z2 e* z        DWORD nId;1 \8 |0 ]' ~( v# q7 p3 k& X
        int nPart;
" D5 C3 r' u; F# q- X; _& Z& l2 u0 v, K7 t
        ar >> nId;
/ U& j  A( K+ V1 u        ar >> nPart;                5 x3 f) R; e/ l& r. e$ M1 s
       
4 c; h& x1 c3 q7 A3 N, S        if( nPart >= MAX_HUMAN_PARTS )        8 W4 B% ^3 t4 l" N; ?7 E) s8 P
                return;
: I3 h0 A! Q" n# o% v
+ X* e) Y9 _" o, B+ e# x& K1 }        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it, f1 k+ t3 J2 \
- x5 K. `& f% R
# i% f* q5 M/ b0 R8 k# ]3 a
Code:1 [( _# P1 T$ [( _" [
#ifdef __QUGET_SWAP_FIX% T0 ]. Y" X& O& C8 X5 ?
- e+ z7 p) d- G! W; O, g% R4 N, n
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
: ]. ^6 e9 o4 ^                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());" ]# a7 b- J1 d* w
5 Q6 E4 a& |7 @3 W( `- I5 t
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
) R& r1 r; X5 Q6 R6 c3 G                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );. U# l! |. D! k' @
* x, s, |1 g% z4 s
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )" o, H, `& U; m4 H8 m
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );+ k, |5 \* `+ p1 n

3 U* t% I) @; E2 P7 b% u2 }. \#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp+ z* C$ e& Q5 I/ x6 p; Z* \
and add under
& Y4 f4 a! E' I+ ]) q
' Y0 e& ~9 d2 D; Q! gCode:
. f  I% Q4 R$ b4 M( s& `- bif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ): r" _. ]1 U# a7 z3 `5 B  [
                        {( W# Y( @4 o" \# T$ P
                                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! g8 N6 k; `) O0 a# L( ^/ S
                        }this" [* I- A0 k6 V; O

0 T& p; Q! `* s- SCode:2 v1 C/ i' ]/ l, V! a
#ifdef __QUGET_SWAP_FIX
7 Z* V/ T& }7 Q( Q. _6 A                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
! g* g* n7 o* Q                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
8 d- \6 y- D  H0 ]* x  g( G; R; t8 \$ ]* \
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
& e  c4 ~9 n4 j5 F) p! S+ h                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );$ _/ z+ s) c1 p$ R, N4 H+ H( `; G
7 n4 q# L, [; F. K( n& }
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )) g6 J9 K" W1 R6 l$ j; D
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );: U7 p. R. M( z" h
% C) m1 |, u7 @
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
7 w8 G0 o# M% e/ }6 D
) H4 _5 N6 P+ m3 |, v5 ?- U: Q$ X: u* z4 X% h  b& X4 |/ x

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-19 06:45 , Processed in 0.060590 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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