飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16899|回复: 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 0 c7 z: G* r& P( @  z- `0 J9 N) [
I posted this because someone kinda posted a youtube thingy about it :O.
; ~' f% s2 ~  z6 Y- t
9 ^: k# S* ^% a7 O4 e9 v: W: h3 q: S; UFind this in DPSrv.cpp @ worldserver9 Z2 Y/ }( |  _

- Q. X* ]' D, F6 ECode:/ r6 M0 B! {( y' O1 K
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
8 ~5 ]! u( G- R( i! _7 m{
; X, C6 d. x; z/ ]# r3 e  s        DWORD nId;
0 z5 a/ K2 B1 v, K        int nPart;
9 @% @! W( |: h+ ]; u( \- n! v0 I4 T2 z" p" u+ O" R
        ar >> nId;
) C: g8 z: ]8 I% V) i9 w- ?        ar >> nPart;               
# Z; Z3 h" c, Y2 E       
& [6 M8 c% c2 s7 ?. {        if( nPart >= MAX_HUMAN_PARTS )       
6 i6 p; I; p0 F% o                return;
7 T! ?; X4 r; s" m6 e! P: j/ J' n( O7 E7 ^1 F, a
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it8 _7 V' A% E% j  l4 P# s) b
; j! }. k1 n1 h0 _2 |/ k( e
+ N! c* k" X+ c6 K! o' L8 d
Code:
9 w# G7 \) y6 K3 @8 v2 {#ifdef __QUGET_SWAP_FIX
* ~- W, t2 w) m% ~; v7 ?: a. W( X4 q6 l) P8 _
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
- d' ^( S/ ^7 Z3 a                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
3 X9 R) Y4 z7 ?% i& u5 n7 w' [7 _: z8 A2 _9 t& \3 F: g
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
+ W9 |+ c- t0 d) F" v! j: ]* ]: t                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
! p, M+ n: }" d1 Q& x# u; _9 i
% q1 t% }# w0 V7 B' S6 U1 e/ i5 f                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
* y! f1 A8 \) g/ l                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );" v, K/ l  n$ T, V" ]1 c, A
; R) u% L9 Y! v% Z( `) i  B
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp- s% _3 x: h' s2 U* E! v6 g0 R% i
and add under
  S7 `& c! b: h% P
) C. s, l( Z& ]9 U' UCode:3 L# W& H6 [- b9 V! a
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ); m, H# r' p" h3 O3 [0 w! E, O
                        {
1 D9 c" \( a0 s" X                                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 );
* `+ \6 x: o0 l, g) b, G                        }this
4 x# s& C% s* u. n5 k7 A
: X. i+ u- D3 H9 b. X# Y9 j2 {Code:
& ^3 f1 Q: Z- v  O5 E# {( l#ifdef __QUGET_SWAP_FIX) S- H0 w% j) |* e3 J3 v
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )* y! y7 P6 z$ }0 c" d, |9 Q: _  ~
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());# [  B2 z, w' w% R! {5 \% R

( H$ y* P) W# v6 c$ d+ P                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )! K5 f. B7 H; O! G" ^. j; g) m
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );( u8 S( G! y2 {  f  M8 k

  n' V, s' }/ l  Y# T                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
. R8 ?" L, v% D/ Z; }( N                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );" T$ S4 a$ }9 W* h4 k
, V+ ~2 ?7 v( s# {# v, g$ b* G( }
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 4 u0 C5 g( v2 s9 r2 r. D

! a. O0 }% D) C9 t9 j& {5 t* }6 q; i7 W1 k

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-12 04:09 , Processed in 0.069543 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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