飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 15169|回复: 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
) @( w! [7 A6 j" {2 \I posted this because someone kinda posted a youtube thingy about it :O.( A$ j2 d4 }/ j+ L- D

, h6 t3 H3 w6 _# J) R1 y! hFind this in DPSrv.cpp @ worldserver
) [6 [( K7 d  `2 E" g0 k* Y
# j# O* n% f5 Z% b7 {Code:/ f. J* q# t1 c- H) Y& J% t
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )! ~  |7 u$ H( R. j  L8 c' n  {
{7 S. U! j0 \- d$ Q- z+ L* c- D
        DWORD nId;7 H3 a) F! P% ^. P! B( F4 A! Q( r! y! X0 F
        int nPart;
6 e' ?0 e6 ]! H: A0 z
3 o' H+ S  J) y, `) L7 h        ar >> nId;7 j4 b; }8 l: m  O
        ar >> nPart;                , D. v: |2 C: D! |
       
- k0 w! d% O. r& M7 D/ D4 ~! I        if( nPart >= MAX_HUMAN_PARTS )       
7 }2 k9 ~  w0 l, c2 B/ A  B                return;
* k* R& \/ U, e
% R: r$ U9 J8 p2 Y/ D; ~  Z. S" W+ O        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
6 {9 b3 W- F6 |* g, d+ [( K3 l6 Q% e( S  ^, q% p! Z

" |4 o) a0 |( f* @: dCode:
0 y3 ^  ^9 ?$ O#ifdef __QUGET_SWAP_FIX9 b3 ^6 ~6 l0 M! B6 I5 O

6 S# k! ?- b: J/ f* k                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )) x4 o* y, N4 T! R) H8 T
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
  H/ `) G; q' Y  G/ h. g! p8 m* G
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
/ N( e' x' I* ?                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );1 q3 C" n  X# u( w( Q! |  i3 p: {
( F. u1 w0 P. @( [+ Z7 c; x8 g
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )4 @( Y) r. j; K0 q) v
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );5 z) [2 P4 S' R: D
* Z6 X, d# b2 |% \! t, j9 j
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
  K8 P- [; U" T" J9 s; o. d; oand add under, E5 ^" V: w3 @# F
3 C( y3 l  v5 U3 \
Code:6 K4 n$ l1 U* I+ n
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
8 }6 q% d$ L& Q1 p+ v; L( x                        {
1 l" m( S" @' ]                                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 );8 k; L0 m2 h2 k) A% l" A% H& g$ I
                        }this
: F' q) y2 C- C- {- b$ G9 j0 ~) U! j& D& e7 L8 M" _
Code:* ~$ A4 ]' Y* S, g# N8 B9 ?
#ifdef __QUGET_SWAP_FIX( O( z/ o0 ]: R) s0 j" y
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )% r" ~' Q" d6 r+ h$ E' u
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
4 X# k2 u/ F1 H) ~- v" K! o- ~3 [8 Z) n) L, D# A5 N
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )! ~# a3 [  _3 l. e  [. w$ X; ?% @( q
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );2 ]1 P  J9 d9 l

7 S  w+ R  g  }3 \% P" Z                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
' _# Q& f; O, O/ m1 Q                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
9 ^" _, N9 G# ?( H6 o- g: O6 A
! j/ Q* v9 i' ^#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver + t7 h1 V# y/ o( ^, p( f+ G  f

) L1 O7 \) @  `0 Z
+ t) n6 t" v: I( |3 p2 O' }/ {

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-12 16:16 , Processed in 0.062382 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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