飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1078

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1078
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 1 B) M2 P! g" l0 P' U; J3 Z
I posted this because someone kinda posted a youtube thingy about it :O.# Y! S; i8 `+ x0 A
, W- Z7 r- E' y5 _+ C
Find this in DPSrv.cpp @ worldserver: \7 ~' ?7 t4 g" R
- M' b: D3 K. ~; F; j4 c
Code:0 j6 E2 J9 b; X4 k( ~% X( J& s
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )/ D6 p7 ]& L$ @2 ~* g5 n
{
3 r' q9 F( G6 Z; S+ |/ f. V8 \$ B        DWORD nId;
6 p! t, Q6 N; _8 L' g2 g! L        int nPart;
3 {. ?$ C$ e( l  r: c
! E1 D- Z4 G# I/ J# M- A8 o: M! M7 ^        ar >> nId;
% K, W- u! F1 ?        ar >> nPart;                $ T: {9 [; w8 i3 P9 U; {8 y8 }
        * \  D8 q- x% s% n5 z$ e, Y
        if( nPart >= MAX_HUMAN_PARTS )       
! z1 p5 g3 Y) e7 F: A: r                return;" s9 L' f5 n; j( l" `9 ?) J3 M: ~
  Q5 B4 `2 _3 B4 w
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
5 b( [7 ?1 Z- O& O5 n! s8 w$ ?
) y, }6 P) F5 U" U1 o
' g9 X3 q; p$ w; G" [+ X& r; d7 pCode:
# t. o" e: L! S( _8 }7 }9 r#ifdef __QUGET_SWAP_FIX. l+ U& z  I( C' b* Z. [+ X
  W( ^' z; D7 V2 _# Q
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )3 S9 a' D. ?  H% W/ H
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());' S3 n! {, D( e$ i
$ b! o5 N- |9 l3 z0 O
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() ): s  h' ^6 U6 m) h$ \% v2 i
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
" c* k* s5 c+ A. h% S1 N& @& k. O- G
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
- R* J! P/ M" `- H                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );' D' U. g2 E8 ^/ E2 k! D/ N

$ Q* z8 W% w4 I" G, {#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp) r! U5 o# |* ?/ V9 |% u
and add under
" X' j6 N$ _. X3 R. ~: Z+ T6 ?& F. y  E* s* ^: C0 `; g
Code:0 C. O* e9 i$ y. ^, I
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ), _3 a# e6 R) c- Z
                        {' T% E/ a( V, c; t6 ]
                                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 l7 e: z4 b5 q: U                        }this- i* W2 ?+ d  c" A' E

6 D! M. J7 C+ F8 P; h. z- MCode:
9 u/ r- c, c+ C+ i! P. l#ifdef __QUGET_SWAP_FIX
. T6 M0 k# j% z# @: {5 t# q# ], P                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
! Z3 h, u- I. K; h# q; g# h" |" \                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());# i( X8 n' z( q
6 K% `/ D# i* h! i( _* }& q% g/ q) T' U5 n
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
0 \* `9 p6 m" b5 l! N9 s1 P                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );6 a" X+ J0 d3 ?6 y
- \+ k; x9 U6 E
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
5 |& {4 a  d% W$ R4 Q4 X  X                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
* a* W5 j; {' z6 E8 t2 F: B  X- V7 }% g+ H3 h0 d6 R# s4 L
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
  S7 [/ T6 s" _, Y4 N7 C9 b' L
1 M/ V  ?/ @6 i" l: E0 K9 T: O% Y2 Q: x6 c' m

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-22 05:12 , Processed in 0.065999 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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