飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17097|回复: 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
8 @% }2 I4 t0 M5 x' h" q3 FI posted this because someone kinda posted a youtube thingy about it :O.
9 U( b, O3 Q6 E5 R" z1 g  [8 }$ r' |
7 {  p* K6 x. F, `- ^5 UFind this in DPSrv.cpp @ worldserver
: c  ^! N3 G" H7 L3 t6 A
& y% I, ^* E1 B' u) eCode:
2 n% U: b9 S' _' k9 svoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
- E3 w6 e) k7 D7 r) [+ z{3 h6 ^6 }+ X' t4 K0 K# @) _
        DWORD nId;5 |2 c: M/ U, ]3 k6 B$ T8 D$ u% w
        int nPart;0 f1 W/ B; M4 R! D, d+ u
1 u& a: Y8 |) b* n
        ar >> nId;( f6 h1 F- Q3 A, x4 t# d+ N& h
        ar >> nPart;               
: B7 A8 f, j0 }* V& m) j       
& }6 G4 v, n1 T3 R8 Y1 [; ^        if( nPart >= MAX_HUMAN_PARTS )        $ x7 Y6 J" H  Z: ?- P8 F( U, c
                return;
' o3 {0 T3 a& y3 ]
- D% L9 c6 z+ J; }2 W2 n        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it: @  q* f$ o4 s8 P0 q5 \: @" v/ x

) E( u1 M4 k4 M8 Z- X& a7 g
  G$ M/ Z9 [& q5 n% ?8 k1 O5 s7 nCode:
& F! t9 u0 K- x6 @, N% ]#ifdef __QUGET_SWAP_FIX5 }' i. A8 r2 S7 R% r
" C/ ?" v: C! s
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )+ y) s  C5 a3 n7 Y) x: _: M; v: X
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
" y# p9 u+ q3 z* f: z
* R, R$ g, g6 @) y! K                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )  F. W, y( v5 \  j# m5 E
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
/ d0 ^4 y7 _# s" {) U8 Z
- f; W: ~& u' j+ l# h* B                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
* A, l( p' \3 i# p3 @4 C& |  I$ b                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
% U* j+ o! p( [: Q6 Z
8 }8 E! P! j7 s. Z4 _! d4 p* }#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
* d" R# V7 t# g5 T& \( {and add under4 X& ^% x0 U9 r
' y6 \% s8 B3 r( z8 s0 [% d% @
Code:
. {5 D% G1 n( p3 Z$ n8 ?2 ]if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
( }- D) _0 z) p+ U                        {
' P. r0 {! }( ]0 M+ p                                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 );
* j; \; m6 p6 v! w+ Z" C                        }this
' J: U" w' k2 ]; w1 T& z' X* w9 T
Code:
" v" R6 m/ O. ~3 p: |#ifdef __QUGET_SWAP_FIX+ q+ w' R6 `4 Y9 j  j3 r% M
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
) U$ t' k7 r' m8 V5 M  ^" c                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());$ j/ @; E& b: v( k
9 {& w9 q- ~4 |. Q
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
# u. ^/ f" [' j* q! a8 C                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
5 k% D4 H7 g0 u; \% F5 ]) h9 F6 I
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
2 Z( q2 Z  b! x  I                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );1 _& d/ W( @9 J, d
- H6 ]1 _/ Q. e. _% d& R- ?; Y; Z
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 0 F- E0 ~" j# q- P- v, A  j# ], i
0 y) F4 K5 G* {( {1 l& ?& }

2 }' E6 v" E# J0 i

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-21 11:56 , Processed in 0.066185 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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