飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16663|回复: 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
6 i# j4 r1 a8 p8 E, GI posted this because someone kinda posted a youtube thingy about it :O.
( o% z) Q; Q3 b0 f7 a" C# d5 J2 k+ Q- S/ _% _
Find this in DPSrv.cpp @ worldserver) |! {# u; u: C9 t, |! e3 C, \. @

& |4 u" T( p( T- Y% nCode:
' J$ I6 c6 B9 f1 qvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
5 x  |$ ?* ]3 ~/ }# A{
# w# _* ^/ P- s" B( A        DWORD nId;; [. _& n- N! v6 Q( l7 g- Z
        int nPart;
( ~3 a- n# {5 e7 q8 n
9 h. f& k. n6 k2 s2 |        ar >> nId;% f$ l( Q; P5 T5 u5 s
        ar >> nPart;                3 O, u* t" Q) F! _6 |1 P
       
$ L2 g5 L# ~: F        if( nPart >= MAX_HUMAN_PARTS )       
: Z8 ?) R7 T4 I! T0 d( M. J                return;
4 O3 b  I4 z7 y1 [0 B& ~( F2 v
3 S* W) |( l: d        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
7 P! G2 ]5 K# t3 K- d7 [- W8 B9 D' I% J# E$ P8 p% d
/ m* T1 C+ P+ u/ A. q" m1 ~! ~4 \5 @
Code:* f9 G; ^6 ]) b& @, ^
#ifdef __QUGET_SWAP_FIX/ c: Q, C  F) M6 s! H

/ c; p2 L8 O$ J! y$ k- \# H2 i$ |0 x" z                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )3 M. s* C8 [6 Q0 \' b4 ^
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());) T  A9 T; x4 O) }7 Z% }  S, F
* ^+ p2 c% @! W7 @: c. F! J
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )' ~4 C1 _7 w! x7 `& Y5 @" n
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );0 Q1 K0 ]1 o5 X: i$ x3 x7 S, J

( o+ s6 p0 z  z& C" @: G                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
% t; ~( ]1 g; e0 S; p/ T! z                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
( ?" H4 C+ f- J! ]4 c7 d+ D
; w) `1 a6 [. ~1 G, _#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp, c" ?2 g  U: x3 G/ P
and add under
. Z$ _+ z8 x! p# |- [9 L
' g6 M8 i# O& k# S& a" UCode:
. J% g+ I; ?. S) s5 S/ F' q2 lif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
+ L- e* v  W4 X, l                        {* v$ e: u& F0 A- }+ f( ]# b' }0 e
                                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 );" f# J; C1 v% D1 ^4 {4 T' M# W
                        }this
* U2 B4 A. G: [# t% a' i+ X
! S% u" g# l3 x7 fCode:
) z# U( ]* r+ S#ifdef __QUGET_SWAP_FIX
  y) T: h* M$ [+ ~, G8 f7 w                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )1 P; J/ @3 ?, f4 |! w3 Q
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
/ d5 P& r; m7 q2 n: u, Y. K# Q6 h8 B
" Q+ J- c( r( p( t0 g# E. D                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
/ N# n" L7 C5 _" I: ^3 X; m+ v7 l0 M                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
* \" x6 Q9 j5 M3 c; [% M
% l6 h5 {$ a+ M; @  u% b$ d                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )4 W3 q2 [9 S% ~4 Y+ I3 `
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );5 r8 ]6 {+ [) k0 c

4 U* e5 p  ?- x* B+ l#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver / _" }; m: h0 ~- Z7 W2 Z( c

2 i2 x( f- h6 b. W3 S9 q3 O* r2 ?$ P3 \- j# e

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-25 06:36 , Processed in 0.076166 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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