飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 15653|回复: 0
打印 上一主题 下一主题

修复交换错误

[复制链接]

197

主题

203

帖子

1070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1070
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 / d+ z% W9 Z0 {1 E( t' A8 e
I posted this because someone kinda posted a youtube thingy about it :O.
6 S0 l1 _3 e% p- h  r
6 _2 I  E6 _- l0 @Find this in DPSrv.cpp @ worldserver: ^' ]& O' U2 Z

1 ?" G, D9 {4 L3 Y6 Y  }4 UCode:7 y& o" r8 o- J9 W  u
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )" A2 x  ^3 Q* k) W) ]5 |
{$ f; V. U1 s* A1 f& ?$ |
        DWORD nId;
4 ~& }) c7 X3 {5 L' G4 {        int nPart;
+ Y9 K. C9 v5 Z/ e7 b
* d+ k  d/ f. q        ar >> nId;# G7 C2 i$ v# V5 U. L4 `
        ar >> nPart;                ! n& D& s; c- ?7 p, u* F
       
4 N' L5 ^' c. ~/ B        if( nPart >= MAX_HUMAN_PARTS )        & a, v# T1 }: @
                return;
3 B* A. _" [# T2 O- x7 p4 N8 C9 N& J$ a/ ^! ?/ b" u% I
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it9 X& r3 G1 f2 L

/ C. i' a6 m5 y3 P. M4 p+ X+ z9 [' f- {& H! @
Code:
( D- j& z8 C8 E" M. T6 b7 ~9 ]#ifdef __QUGET_SWAP_FIX
+ z1 `2 p" B' I, {) N- D0 z& n$ w( H0 u) O# N/ e3 V
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )  b) [" c; T3 y& u. z4 P- B
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());4 R3 f& j& ~% }( N7 d$ V

. p) e8 G/ \. Z8 C7 l! ]                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
* S4 g5 f" S2 j: x                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
% [4 Z! O, z3 ^( P$ {# p
$ i$ H; n' S# ~) m+ O                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
( o/ w- ]5 D8 G5 p% \' V  Z                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
, U. u6 |* r9 B: ]$ R8 d- t9 w  H4 r& t" P7 _0 j! d* S4 Z3 X
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
3 p) V$ O0 T# w3 N9 nand add under
% ~2 ^: Y! E; y% d3 O' U9 |; q& c# e$ L. Z- z( o+ l( o$ F8 E
Code:* K: \- h. }- w
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
7 Z5 S( E) s/ K+ T* v; ~- F0 E0 r1 F                        {
& Q. r. C+ C* [. V7 [" Z: J                                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 k1 t: L" q4 J4 G/ f! S
                        }this8 M! I$ Y  d- i5 ^( Y) o+ d
3 }* t- f. N/ v; _: l! O4 I
Code:) S  ?+ A  r/ j% s
#ifdef __QUGET_SWAP_FIX
4 L; z. D; X3 B1 G3 X) ]                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
. E& H+ [3 d) {1 z9 C8 m                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
6 ?* s. H% a. k( f* H( Q% u) W( {6 g! @
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )' Z. J5 u  D# X4 b$ J# t; m
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );. }: ], s" h7 q# M
5 @! @* i9 b/ T! Q# F
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
- a; O6 }: p* o' o+ x                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
/ e% {! W/ T5 I- g3 C
8 Z& p( X5 i7 s#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 4 \& p  _( [8 R8 E' U; M

9 n3 I8 @; k, g- {, E: U! @5 S+ U6 `; O+ k1 d% n3 t' w

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-19 08:06 , Processed in 0.086745 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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