飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1092

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1092
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 ( _7 N3 T2 \8 F) e$ N& M
I posted this because someone kinda posted a youtube thingy about it :O.
; }) `( y( c2 q! W$ h, a' [- ^8 |
Find this in DPSrv.cpp @ worldserver
, X. K' S( k' |8 q# k: W0 n2 p/ ^) x( N: j) e$ N9 q
Code:$ o$ {8 {& t5 }6 j' A" M" p1 K1 _! h/ B3 C
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ). d1 i- X0 ^/ `! ^4 X" e5 j
{) g2 z3 m9 j1 z
        DWORD nId;
* a  [5 i; e. m9 |% c. ~  _  D& i+ L        int nPart;! J1 P* p. d' V* B9 K  b
, B  M! s) |" B: W8 D% P1 g
        ar >> nId;
' w3 @& D' u, H" F4 y. {1 Q        ar >> nPart;                " r/ k0 P" t% S9 n  h4 n! y
        2 f5 R6 Y5 a3 L+ b
        if( nPart >= MAX_HUMAN_PARTS )       
3 o! o/ k+ a( x                return;' B7 I1 t5 Y# p( `4 H

9 Q/ C) f* g+ W, d) D2 D        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
% b0 [4 u$ @7 g: X
( P  I0 d3 _' v5 y( N% T3 e4 X
# V4 ]( K1 f9 t$ x+ ~Code:
" D7 R8 l8 w( L* @+ D" K#ifdef __QUGET_SWAP_FIX: k2 i5 W4 f+ a; P/ L
. H; |) T! ?( y' a5 ]
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
8 O: |, e, K8 W4 H. |5 R* f                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());$ o$ }. B7 V) k$ I, K( R& h+ p
$ s2 z; D1 s1 N  [, f1 _6 U. o! ~* Z$ d
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )% P3 H( C8 p; p/ C+ U5 k- z0 ~
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );; j2 g* n, E' ^7 z* E1 s
* j5 m7 r/ A- v! q- G$ ~# p
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
& D) h1 p, O) t# K                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );/ @1 F. I' t6 X2 h$ J

) b3 _* {$ {  l8 b) e! q#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp7 [- y( {+ O, e1 m! M
and add under4 y% M3 u5 P5 M. ?2 s

" F% E8 f- I% a; vCode:
1 z7 ~% S3 a( g- ]& Gif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
) }7 m! E6 ~( w                        {
8 `1 _: Q" ?* ?( e' u' k                                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 c1 p9 }) v4 W) Z* H' \9 y
                        }this
1 ~5 T$ S% x( J: W9 B# p1 X$ n/ D& h5 E* V9 Z/ f, w/ H8 h. c0 w4 v7 |
Code:
( i; X8 z6 O% A3 m" l/ n#ifdef __QUGET_SWAP_FIX
, u: e7 d- G2 _# ~1 }6 W" x9 a. {                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
' N) m) P+ p& J' Z  T                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());+ J' {' T3 c- F$ R' q
9 _. q# a" p9 {$ }
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ), D/ W: n$ I8 D7 a5 Z
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );8 A+ a, j1 k6 U* v2 }. d. ?+ c% y# z- [
+ F- s4 B5 [- ?
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() ); _7 }6 S$ T% C$ e2 Y* G
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );! P8 o1 J0 N2 L9 [6 I6 K0 ]

1 h6 ^- U5 M/ l6 \#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
! P: O4 a: C5 M1 d: m2 T4 e& B; a, ^# _! w* s5 |

8 _& o3 z/ `! _3 K+ ~$ J" `! d

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-29 21:20 , Processed in 0.062858 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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