飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17129|回复: 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
0 Q) ~0 M1 Q. \4 a* aI posted this because someone kinda posted a youtube thingy about it :O.  J) `( b1 [$ e! X6 b; ?
& W6 i6 p. ?# O! k2 p3 W
Find this in DPSrv.cpp @ worldserver
( a- ^( u' F+ v
3 S+ F; T) m7 J7 h- s( r- P1 v/ ACode:
3 c/ s* S! |4 w+ [4 Y3 I8 Wvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
0 V+ `% Y( }, y9 b: {4 b3 A- l$ J; c{1 S* Q% ^# K: Z' k) [; |5 ]) W
        DWORD nId;
% o* u# Z" |+ |  ]; s        int nPart;& v/ \3 Z5 |3 {5 i  ^
! a1 @' N, r( j5 O) q! {# T
        ar >> nId;
& V, J/ T+ D# T3 |3 s6 z$ p        ar >> nPart;               
7 k7 m! I2 k1 b2 _6 _8 R        7 |, J; R& ]/ `9 C3 v
        if( nPart >= MAX_HUMAN_PARTS )        ! {) D) r" Y/ z/ ^
                return;
; a. u4 m9 a1 F. i6 H% u! ~
& ~- c8 ~/ w, N        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
4 O3 F, m- ]  V2 I5 c
( ]: U% |2 o; A- Y8 c9 h5 _
0 g6 M  C. s2 u4 t- s( ?) fCode:
# u8 w0 P% }5 B; I#ifdef __QUGET_SWAP_FIX
9 x3 y. @! [- v) r$ w# z8 t" ^) \, T" X+ z" B. U. U( f
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
5 u3 n2 m; q$ t* k1 a; w  Z% g                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
% l" [2 w' t$ t5 \# \2 y2 P
  N! c$ ?" \, n5 A                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
; e) c$ D8 H# x! x: {; _1 \                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
7 B* R% T/ u: P0 S3 q% o, `0 d+ b/ Q5 ~7 M6 i: `* M0 A
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )4 _! O" j5 L# H7 n' s: g
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
' ]6 Q& C1 z- l, p" Z% X9 F- \. O8 m4 v0 R: T, q; D
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
" X; B4 ]* y& Q- v4 ^and add under
: o' _1 t; N+ E. H! b/ [7 u+ T! S2 @9 a
1 e7 [/ ?1 }4 D7 @5 U4 X% sCode:
9 l$ Z. Z. t% h+ m9 wif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
( @: B% k8 y6 W                        {
7 I9 }4 \; |3 ^0 ~" R# A                                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 );' U  `( w; ?$ t! C# U$ i
                        }this5 L1 V  z* j& I1 K; D2 k
) F/ k6 M. E# \) N* J: {1 D
Code:
3 }+ g+ \% ]$ k% U7 x5 {4 e#ifdef __QUGET_SWAP_FIX8 t% P, T: Z; Q/ U. E" A+ j  Q
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )& r, N- r/ x! Y. p# T1 a
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());; j4 Z. k5 u; U9 N  |8 c( Y" c% g

1 F6 N4 d7 Z$ X+ w% E% y0 y9 |                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
, R1 n3 v( B7 \1 @* R% ^( x' ^                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
$ L: S" U# J$ Q" R, v, N, O
4 |* y! C. f0 W1 q" u                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )/ W9 {$ B+ J8 a0 Z, D, J
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
1 w7 [+ ]# {: U
6 o. g$ f  f( K# f; o- Q#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver : C; o, H9 u7 s9 j

( N8 Y5 K2 ^2 J$ G$ M7 w- O& ~! D  `% R! }$ X9 X* {7 m- s7 [8 [/ A

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 15:42 , Processed in 0.061994 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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