飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16500|回复: 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
. k1 T; ^0 H% v: t9 pI posted this because someone kinda posted a youtube thingy about it :O./ B3 Z4 ^0 d, ^

6 n( O$ }+ I# t. M4 }/ XFind this in DPSrv.cpp @ worldserver3 c4 Q) n4 j2 L; D) f: D6 Q
/ h9 f9 F& b0 u* s' L" o
Code:2 d1 ]' k8 Q2 }8 D
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )0 @# k0 n' ?; P7 A
{
4 X* B2 J/ A+ _        DWORD nId;
* d, a$ ]4 E  x6 o6 C+ Q/ X        int nPart;
4 |" ?; U3 Y) Y; o  g4 N" U7 `5 I, p( q
        ar >> nId;" l: a9 u( |6 m
        ar >> nPart;                ; ~% z' |: B7 ]4 k  J
       
7 @1 G' k* c* W' Z( f        if( nPart >= MAX_HUMAN_PARTS )       
* T9 V" V% o) k8 Y$ j0 K6 i                return;3 s7 O9 K: t. H

1 x% a0 c% \7 K6 W0 C        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
* B7 p) j+ T: G' {( d; |0 o3 Z
2 l; [$ j( h: }2 j5 E  C, i
8 A& M* }$ r  s6 eCode:
# {- E" O9 `+ d- G4 T$ I: d#ifdef __QUGET_SWAP_FIX
7 z/ G9 |5 M3 T5 K0 j
% I, V! f; Y! v- q) Q2 p                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
# S; A2 B$ x+ v7 R7 \% j3 q# e( o5 V7 J                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());- s9 o3 l- F! }2 y  V
2 v/ p" k- T2 f) H
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )$ R# V  r0 c. o3 m  Q- g  U5 C
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
' t& F% [8 F  w1 }) p4 q1 E* i# b' X) H% _% g$ F
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() ); _' c8 K- i! g5 \6 r
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
- ?1 _+ }% T8 d/ t1 ^8 G& j+ O  w) [2 d/ H. u# d! a$ N( b
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
, V5 z  _" G) E5 T7 j8 @; Vand add under
+ {1 b5 K$ J7 S& r0 P5 o' {$ j1 n( u$ s; O$ L) C: ^* `: a7 [
Code:
+ j1 E" [* N) u% J4 @. Wif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ): d& q' v! r( e6 N# Q4 H; q6 V
                        {
3 D, i, D7 F" ^                                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 );
1 a9 H! q* o% p  A                        }this
  p' C" p) v" `7 Z+ V+ q, |1 t$ x, M; d, x% }
Code:  D4 h" ~. Z6 ~, s5 ?/ J3 I+ B
#ifdef __QUGET_SWAP_FIX6 w0 o( C- a; P1 G
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )" C4 r6 D0 s$ q5 h* g
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
9 E1 H/ j. n  `' M3 E! t3 v0 l% {4 }% p! M
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ): m5 e. Y7 p- o
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
/ }! F+ d: y+ n: s; e  O  i5 z9 e  ]# c: p1 u5 f( |1 N
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
: K" R8 W# D7 s# }                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
& M: N( g2 ?# m* q3 ^2 o1 C( F0 S( M2 o, M' j) C* C
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver " c/ ?; L# G9 H

' p$ f# K1 @' ]6 Z2 }- B0 r. A5 A0 K* y; E, \6 Y- }

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-15 10:30 , Processed in 0.069665 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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