飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16787|回复: 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 $ ~# u8 ]  \6 E) r% v; \5 B
I posted this because someone kinda posted a youtube thingy about it :O.7 I/ \1 d- j+ `4 {0 k

: v" [3 l5 ~% E* jFind this in DPSrv.cpp @ worldserver
: n3 D% Y  b* U7 `" l2 W- ]( w; |" R3 Y: [5 E) O
Code:8 C" A2 _1 x3 o% t3 c" U& k
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )6 ^; E8 J1 u) B! E/ T( G
{; t  }3 Z; u) i5 Q, y7 [
        DWORD nId;0 `( G; ], D/ J% e& L; C3 `
        int nPart;
* G; `& z! U0 O( O8 `
0 z# z+ ~$ u, e/ E9 ?9 L  l        ar >> nId;5 b" n% o; E, H) |6 W$ w) C6 k
        ar >> nPart;                  _  R! I  G% q
        8 ]% ~5 C' B" _; s! Q' D& E
        if( nPart >= MAX_HUMAN_PARTS )       
5 D0 W) N; q) I- e( Y4 E                return;5 r$ g6 W% n2 |/ O! [
2 T3 F: a  l" \3 g
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
# h1 y) G& h" e" O% t( `% t% `
! E- b0 @  g5 @2 V  _
8 a+ _( s& e9 i9 c3 z0 y4 O: I& KCode:
/ Q& P4 W' B4 G. b#ifdef __QUGET_SWAP_FIX
& \  u9 r  {  o* M  r  a
# ]- C# Z+ H% T                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
: N- `3 s' `) i' b* S                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
) M" b" E5 r) t' X' s. V1 [
% A+ K4 d1 A6 C* u# O8 f# [, r                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
0 l8 O# K% f7 e( H' i: R/ R8 b                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );; }- \  D8 m7 \4 y* M4 u& F5 A! V
0 S& [6 i. `! t; h: F9 }# X
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
) X- H; B; I1 Q) f1 @4 z- P8 r% z                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );6 h5 \; C- ?3 ]# j8 f0 A3 U9 }, |
* n# D4 f3 |! |9 [+ C, i
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp+ v9 u9 _5 t% z7 M5 P+ m* G( {
and add under
: w: l3 V4 F+ i; m2 L+ _) @5 F  w: T3 Q, u
Code:
9 {0 z. Z6 [4 {% \9 wif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )& l# ~5 s# Y6 k4 {, G
                        {
4 K7 N" [* _, t) Y2 r                                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 );
3 O/ s+ p' o5 T/ c                        }this
+ Z7 [$ q7 ^! K
. [! p6 F+ c: c' t+ FCode:
  L: j* E. Y# V# ]) g( |#ifdef __QUGET_SWAP_FIX+ O7 P6 t0 k0 T4 y5 ^5 e$ J+ j
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
  ^* p- \! J" h                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
. d7 F8 H! I$ f9 A6 G5 T% j; ?$ ^7 {0 s6 n- q7 k7 s1 ?; K
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )7 i$ H! D) B4 P. e% o& z
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );! O6 F. w) p' T5 B9 l1 n* {

# l7 p- a2 h9 E8 I+ C                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
1 g) J5 Q  b8 l/ @/ O! ?3 U0 p2 W! a                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );: k  }: n) j, {2 Y

1 N: b, c" g7 |#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 7 K$ a5 z8 s( [1 U
- ]" s% f' _; g8 p

* W/ @' L2 |8 A

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-31 01:48 , Processed in 0.066745 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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