飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16363|回复: 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
7 P8 T8 S  j) w3 rI posted this because someone kinda posted a youtube thingy about it :O." V' E" N$ ^2 X- C5 c+ ]6 r

2 y# f% J6 [: H; z  R8 B, AFind this in DPSrv.cpp @ worldserver& w! P# f7 ^! @) g3 ~
" O; Z  d& b3 K: {  U5 Z; Q
Code:
5 U! T$ A2 x( j: \! kvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
6 B$ U9 O6 J$ Z9 ]+ z, P: S8 ]{
+ A$ Y+ }, Q* i# v7 p" O        DWORD nId;
4 h$ w4 ]+ U+ f% K        int nPart;  o* G  d& Q8 e

" [) K% h' l% K; n$ r+ M- h1 c        ar >> nId;
$ j9 K% v2 R. Q( u" [/ }: v        ar >> nPart;               
, U1 y' S3 F$ T9 I. ?0 P0 X       
4 G" }. L1 K# t5 `& D) L        if( nPart >= MAX_HUMAN_PARTS )       
4 k# L& h8 g8 K5 [2 i7 H) r" ?                return;; W; U, x6 o. `5 U& m' f- t6 r

6 o# v9 ~+ Z' e% m. T        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it/ {8 k8 F: C' P( [% P

& N$ ^/ q  Z& F& f" u3 i, \; v) s$ N  e/ Z
Code:
9 P- ]! s' O9 y" Q# |#ifdef __QUGET_SWAP_FIX* c6 ?7 e6 c* _0 w5 v' _1 s

# h1 `1 I; V8 M6 p# `5 W) f                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
2 U4 d- v! V; W( A                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());; t- ^, |+ _' u  n- L0 N' i

8 V( A: _' @! T& e  C% O+ l                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
7 E" u+ u4 a! N" ]1 O                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
7 m# }# h9 i. O5 ^5 C+ k
" G& S' f- b' z1 B3 E" W                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )8 A3 ^% z2 S4 k" K1 a
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
5 N8 g- d: K' N% x* K7 R& b- G
: M8 x; d( `! g+ r' w% ^2 q#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp3 ^: s% r* r. R4 h- e
and add under" v1 h6 v  ?' Z! t) L1 C7 F' ]
- m) |. }) G0 s' @
Code:
+ \. p; |7 F2 [8 A2 W% Eif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
- F9 a; q9 h, j7 k  b' |                        {! l; I2 U6 ?2 O/ 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 );
  ~7 W" y8 y5 v* |" w3 W$ d' N                        }this, ^* y' ?0 P/ x9 n) v( C
3 b: P0 G8 A" r; m+ a: Q
Code:
5 \  l$ N0 }' S# v5 P8 g#ifdef __QUGET_SWAP_FIX! n; @2 l- P1 R4 `. C2 q: U. `6 v
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )2 e5 p# T4 o% `
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());% w* ]6 V; A  p$ L
: Z/ K* |/ }8 t; y% z: z  Y
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
* z, S/ `& j$ a: Q9 w7 Y. z                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );- c5 r3 b8 @* f; ^

% U3 J, |3 @5 d" H: A0 ?" d+ O                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
  u% q( y6 g* C% D1 T) }                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
, H) ^1 A) U6 ^* l- Y: o6 S" p' l$ F  D9 y, H# J! T; Z
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver   I; j$ S: R5 }7 z2 ?  a
* a$ W3 V( t8 J: U8 |: `- x# g
* c& U1 t9 F1 m3 s0 \( M

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-7 02:39 , Processed in 0.062811 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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