飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16282|回复: 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 1 M0 C2 Q8 U1 i
I posted this because someone kinda posted a youtube thingy about it :O.9 {4 y- F& {) _9 b+ d" A
) X" D7 s7 q) L6 L, r4 A% n; g
Find this in DPSrv.cpp @ worldserver
! A$ C6 V' d- W# q) E' `% X: W! G! x2 v% z1 o9 g; F
Code:
2 E# Q! L% J& q  nvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
) v' `6 d- |" i6 K4 h& G{
  @/ t0 s3 d6 }$ X4 g/ r- S0 O        DWORD nId;5 a8 O' N2 i. H* w; Z2 \' e$ [- P3 c. x
        int nPart;6 A- R2 M! R3 n+ H# q
& b6 n$ F4 H+ \2 G5 v, T) l) W
        ar >> nId;
& N6 H! U% v5 L5 ?        ar >> nPart;                $ [9 H3 @, o3 y* m5 @: l9 A
       
9 ]  w- V- _7 e( ]- u$ j' G; b- r# P, ]5 x        if( nPart >= MAX_HUMAN_PARTS )       
& q0 B, g6 W: M9 G3 Z! C$ [                return;
1 ?6 e: q' Z" X, d6 m6 G) @6 E
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
. w0 n7 C( a* h
4 k' k4 i3 A% T* @& |
! q6 W' D6 T0 _; a" wCode:' q0 S" P" N5 `" O  F' {# I
#ifdef __QUGET_SWAP_FIX, C7 u* Y8 E9 t1 v6 H
% {, ^& C0 Q+ I; z6 e! k* M/ V
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
3 @/ q2 N* ]+ k: X8 z                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
: i0 V" P. [" `/ d
2 q- x3 a$ s5 c$ s0 w                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )% n0 M. K- _0 }/ a0 Z. A
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );6 m' J4 b! b$ M2 i2 u# o
$ d$ m5 }) [0 Y$ m
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
* n" ]$ U$ ]7 b/ \                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );0 f) K. n* @: {( P/ c9 l
* W  X! T2 n6 G6 a  X+ E* g$ D- Y
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
4 T" t; E; T4 F6 p6 S3 b" c8 Aand add under% Q  S6 q1 T7 V+ c+ n' k$ i- q

& n5 F" S( e8 H$ ?Code:7 R7 L1 k) k) F8 c5 ~5 }3 B
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )- g3 Q0 J, p4 ~5 |/ f( P
                        {3 t% p5 P# h: u) b
                                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 );
  z3 O: w& {, W7 o" T" N                        }this, K$ h9 {/ a& q7 s( p

$ n9 ^3 s! l3 E# [* ~, \Code:+ }8 p' A9 R4 F! X/ l6 Y
#ifdef __QUGET_SWAP_FIX
+ n7 G, e) F4 g9 G' U0 A& V6 C. l                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
. i) U: x9 T" [& s                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
- I$ h: |5 N' v; T( U" D2 T# n$ L
& J4 s# d( A* q" i! O1 O                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
7 [1 e3 \0 D3 x2 ^                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
, C7 M3 ^9 h) e4 O6 C( X% k% V" y* y1 ?. w1 t
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )7 s9 J0 W* }& q6 m. G
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );- s1 {9 v; @- @- [, u
: U6 |. R8 A$ t. e) ?/ }) O% J4 j# x
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
' a! L! h& f. ~% M8 {8 _2 o+ W$ o6 v: n* g% [$ N( n/ T& }2 B1 E

- n+ z/ p( k, d

相关帖子

回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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