飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1082

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1082
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
; m" X; D; C! [# Q( t% V. \$ f' X2 DI posted this because someone kinda posted a youtube thingy about it :O.
+ l+ a& z8 J2 o0 t9 h: s, U2 B
( Y2 H5 S6 t7 ~& [9 y3 m5 B$ UFind this in DPSrv.cpp @ worldserver
# V$ @7 M* Q6 d( k$ w' P7 Z% k) I% X6 ]4 f0 @
Code:
( R# g9 L& G7 d" x. p' wvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
+ s$ @+ N5 v. y$ k{" @# Y/ V( ^: a" L# \
        DWORD nId;# [9 O3 u7 ~, I% e2 w7 w3 I
        int nPart;
0 n3 ?5 L; ?4 l! z9 ?. t8 U; O- }  ^9 d$ Y
        ar >> nId;
% A, p6 O+ n# Y5 z; ]        ar >> nPart;               
& |% a5 @: \" p6 _/ ?       
0 c2 D! l8 A: [( [/ j        if( nPart >= MAX_HUMAN_PARTS )        + e* ~& y9 r; k6 F% ]2 Y
                return;
! I! d5 ~( p1 `: ~& r. d7 ]
( F: i1 p) o4 d; _7 V        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
+ t2 \; f9 t+ G, Q* R9 `- ~3 s$ i/ x: s
0 C9 y6 \. w, G5 R8 C) F6 V' f
Code:- V$ h6 y  }- [% p/ E8 M
#ifdef __QUGET_SWAP_FIX; A  \% k/ @& R7 F$ R5 m  k: r

' ~2 ]) q* u% o8 ]5 ?. J- {3 |, |                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
/ b/ L! u1 b0 S# w; @) ~/ u                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());# O' C# ^6 F8 J2 e: e' w- K: J

9 {# @+ y$ P; B* v$ W9 [                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
1 T0 I" `4 N7 X7 o                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
8 a+ D' S' n( l
' A- r, b5 m: c5 L4 v5 b                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )" T9 G+ C0 v. O3 K) \, y0 T
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );& O8 ?1 z3 V. h" ~- \5 F

& r0 y3 j* Q9 G) p2 ^! i#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp) j1 r$ @) }4 r
and add under: d, M+ z( M2 x  O

' ^7 y5 u* J; `; Y0 W, y+ ~Code:9 A* [0 v! Z2 l# g2 T$ U1 w, i
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )! x5 C( D& u- [7 O1 t' f% N6 _6 T0 `
                        {
7 T0 d/ [! _7 J/ r( M7 K6 ~0 U6 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 );7 p# i) l' z' n3 c
                        }this: E/ C( X  B5 [6 y: i7 N( k

/ U. D( U  Y9 I+ G* TCode:' G3 G. p) S. \
#ifdef __QUGET_SWAP_FIX! e) O- A4 E2 H; t( x
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() ), w+ T( O0 p1 {
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
5 x0 Q: Z0 r$ \. f8 i6 X5 C; [4 o7 K: @& Y# l0 ?# }
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )4 G" R% N7 A) d
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );, |2 v7 V& c4 c, {: C9 \; ^( e  N
0 Y* N1 C7 O5 S% @* m
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )* V6 ^2 m( h5 N4 Z; `$ [
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );/ X. y0 n- }( h" \* B

" n+ z, X4 b8 E#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
. e0 h7 d  ^" [, o4 L8 Z
6 y$ ]( B# `0 t0 A+ V% X
- l) x; [6 ^3 q7 M9 Z* S, a

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-3 21:29 , Processed in 0.071040 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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