飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 14693|回复: 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 * v" t+ o* U8 U6 R) |& g
I posted this because someone kinda posted a youtube thingy about it :O.
% E4 F2 v  c8 Q& A5 I
( y% s: W2 ~0 C) Q8 G, \Find this in DPSrv.cpp @ worldserver( a$ [7 _2 c1 x! g
' ?* L; l# l4 p. P. u
Code:
6 Z* C1 j5 ^3 ]) {) @, svoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
! G# U8 J4 w& r' ]: ~7 i7 `{
) h4 v# x0 Y3 B/ Y& F        DWORD nId;$ L* _, A/ J# T  ]& i9 E& z$ Z1 t
        int nPart;& {3 |; L- k/ |% E3 Z+ c

1 p, b& S) L& A$ E        ar >> nId;3 v- t) A3 {7 Q$ j4 [" V* |
        ar >> nPart;               
5 A# q3 t4 N$ e2 p4 c. |$ ^; J9 A        , ]% E* ~5 G- d# M8 O% E  s
        if( nPart >= MAX_HUMAN_PARTS )       
0 H) Q% l$ U! J1 d. }                return;% ]9 h, u% S- s! Z# d) k
) M1 c- z' I- u
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it% l2 w# T% I% H* ^3 D. P2 O
& a* a/ Y2 D5 Z0 j4 v" n- Y) ~6 p
2 F+ i+ l: w4 Q- }
Code:- }1 F" ?( o$ o' x" q4 f
#ifdef __QUGET_SWAP_FIX1 L  H, G- A2 j! l3 T

  v+ F$ l7 P5 @                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )# \$ b1 z2 s* q6 ]7 L
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());/ U- P" ]( e, K' W9 y+ [

& o  J1 v& s+ G3 j: C                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
. v  g; Z* b+ y# _                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
6 C4 T8 @$ q2 l5 D
/ k2 S! \+ Q% R                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )5 S; Q9 Q7 q9 k; C, U/ L0 {
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );. u8 |4 a8 P* P& D( C1 q

8 r" _' D4 X; m2 z#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp. ?. n, Q4 |3 _: X3 p# M2 X, F
and add under
7 M+ N/ v# t$ t2 X/ S4 I( w0 D9 u( B2 D; C0 \2 x( {- r3 A: ], i
Code:& E! l/ D1 N9 B& C' `7 h
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )" b  a4 K, P6 I% g; h) T7 {
                        {
0 r; G2 ^, c, ]1 X- C9 o                                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 );( i3 Q+ q1 w4 a, r
                        }this0 [! C2 G4 x3 N& v- W

8 c$ @8 _! q- yCode:
; W- m! E' `, m8 n$ o7 X; q#ifdef __QUGET_SWAP_FIX
9 O1 S' v1 i4 V$ B+ r, A                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )) f5 A1 E1 n8 w- i
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());9 C; n$ x/ o6 R
0 U  k5 g+ E( o3 t! G4 X/ J$ O" n3 a
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
& R$ Z1 j1 L- D                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );7 M. L3 T; Y- l7 g; @6 f$ q

7 k- h* j# B$ _' C! t0 V8 p                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
: ], v; v5 J/ h- w& y& H                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
9 [+ R& E; K3 H) o# U/ G& H& s) J9 w  X. q
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 9 F6 |' n6 F, c

/ y% `4 c8 a4 T4 q7 h9 }" E) b: V0 y' p+ l5 L" H9 L( E

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-1 20:30 , Processed in 0.059474 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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