飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16446|回复: 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
9 b1 K4 f# @4 n! C) W9 [! P3 ?I posted this because someone kinda posted a youtube thingy about it :O.
* \. L0 q" p7 h0 J0 O
* t! j# R1 |9 e- L! ^, |$ JFind this in DPSrv.cpp @ worldserver& k- b, c5 _3 n5 j0 f, e% ?0 P
5 R8 E6 |0 K' |' `
Code:
+ a; ~& s2 k, |3 F, `% ivoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )' o% S! `* F3 t4 c- O, ^4 T  s
{
$ h  S# m$ t, s, {4 m        DWORD nId;
! U$ P# k3 r6 x  C        int nPart;. I! @. I6 ~8 K) f% X
& r3 Y" T( t# P* d6 `; k
        ar >> nId;( U6 G4 w+ L" ?6 \$ N: O
        ar >> nPart;               
! c" E$ [  P+ u5 {8 z4 b; Y1 M! a       
9 ]$ F3 r. J6 L" z        if( nPart >= MAX_HUMAN_PARTS )        : J4 }5 k* V4 w4 ]  ?  P' o
                return;8 t7 Q1 m% o, I9 P8 y
/ w1 v, C; y, y/ D- f- D; u  R
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it+ j7 o" k6 T/ ~6 K% ^5 r
$ K/ w/ G4 p" C1 p# E' B0 |5 v

' T6 G% ~5 ?. f7 ^4 V, XCode:
  f/ m, U$ R; a#ifdef __QUGET_SWAP_FIX
7 b. j' _7 {' R/ E3 j. g& b
3 ~- I5 `8 Z4 f/ }! O                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ). w- r' u( z& ]* C+ A( i
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
* m0 |+ E; f9 i) A6 O4 Y( Y8 _; Z. [! q/ l4 S* i. W
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
9 ~; I0 z8 L8 @0 E$ H- Y& {9 |                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );5 R/ F+ Z2 c" X' ?" U- ~' X
" t  s+ q/ m9 W- E
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )# A% B  a9 g6 i# Y2 I" w1 X
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
  J& [6 T: w* a& C3 Z
" R" w, N0 {5 V. L1 o! [& h#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
3 R  K6 @  ^& _: [and add under4 j$ d* w! r" b" |& }
1 v0 h! g( k* m+ I5 N) T7 I+ o) K
Code:
' h& @1 j7 t5 {8 l6 b* Mif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ): Z( q8 _) F: A5 r9 y
                        {
. g2 p5 K3 W& |. }. I+ L6 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 );
( k/ O/ B3 m3 |% s& O! ]                        }this
" L" L% G" ~# S& j( p
- j6 U# M) v+ T; B* u& oCode:0 _6 b! I% F/ ^: G
#ifdef __QUGET_SWAP_FIX
( g9 Q0 w" ~1 D# A* B9 J                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
( }% h2 o6 W" v4 t  ?/ c                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
- w( l2 x) Y+ F/ g) X  Y# e! O
2 Y! ~( O% g9 P( w                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )/ R8 O& q/ \" D2 ^
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );; c. F+ o' A1 D9 W) J5 l4 b  B; }/ F

1 P* r. B; Q: B9 D                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )" v% l. k( d, m) ]3 k: G) z  m
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
. ?. ^* T0 }* X" z& e
' ?% }- _0 N% Z( U) N#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver * n2 E- _; U3 ^' `; l

4 {3 B5 F% v# S# v( y' Z) q7 P- N' f1 e  R& z6 k

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-12 02:23 , Processed in 0.061199 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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