飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16652|回复: 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
7 i* Y2 i$ T* Z* k/ l6 A4 RI posted this because someone kinda posted a youtube thingy about it :O.
8 q5 w/ C; Y- a% w+ _2 @1 t% K% p3 x
0 V# Y2 G: _! w/ bFind this in DPSrv.cpp @ worldserver/ ]' c$ U+ X8 ?- M0 n
3 u. V" K& \# Z' z
Code:; D1 ^7 C+ M6 v$ K7 u0 ~  I
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )8 F# X  E, L9 ^6 Z) Z2 z
{" P  s" ~2 v; D" @- m9 z
        DWORD nId;
/ @4 {) Z( d  I0 x' |/ m2 @        int nPart;
: d2 j, W1 P$ x) S4 a6 _* ^' F2 E" z2 J
        ar >> nId;
- b5 l9 G; O' w% r1 u        ar >> nPart;               
  Q  i5 c/ l6 L; O, s        . E9 T) J0 K1 N! P
        if( nPart >= MAX_HUMAN_PARTS )       
6 y. Q8 c! q9 D& t$ d                return;$ g# W. o" R4 d1 h4 C: o) P' r
' Y: n) ^* O' s* q4 i( c* V
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it+ X1 ^0 y, U$ ~2 H& _* @, E

+ K& `& s, w' x; O) R* Y- ^+ y
2 ?( |4 f3 z+ u! Q; }# PCode:
! q0 o4 }! @+ c7 J4 K% {# V1 T#ifdef __QUGET_SWAP_FIX
9 a3 {* x- B- g$ z8 @8 ~
- V. v& u6 ^. U4 q                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
0 y% j: n9 V' h                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());9 j6 E5 G* s- q" I/ I4 P

' y7 _- V9 v2 o* [& D: `7 P  X                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
- ]9 i3 \0 |1 i# `                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );: t% o4 I( Y2 H: z
/ t8 e1 M# q: @9 W' {
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )/ U+ T! i4 j1 y* W% m
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );5 |# |* G/ D1 D! M5 c

7 @. F& V9 ?) ]3 @0 `#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp4 k5 J  q. l: T4 m
and add under0 g. V- J3 e" r' W0 d
: I1 E% a6 `+ O4 G4 A
Code:
& t+ S6 q0 `; `2 l! a; X! ^if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
. t- P& b4 s9 a% x                        {( E* y4 \: N3 P* j% b  G" O
                                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 );9 f2 D9 ^1 x: V/ d3 |! T/ O( L
                        }this; c& a( V- u8 @4 D

8 c+ @# z- T; A- @0 KCode:
6 o4 `: Z- g; l0 B#ifdef __QUGET_SWAP_FIX0 Y( }! L' R' @
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )! R# j( X; l+ _- I0 k! m
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
7 {* Q! z4 ?0 S8 P: F  U, q5 c) b$ m; P
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
0 j- \$ c1 c/ k% f  ~! Y$ n! e                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
. d2 N, x. ]- G" G  K0 y+ B3 r5 q/ q# i$ s# g
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )2 Z0 z4 B' f# l6 E
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
0 s/ F% r8 J, A% f
, }- r) J$ W! M. F#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
( X4 L5 v% l0 l0 j! x0 q) H2 \/ ?/ ^6 ]- Q. O# e0 P
, z* q* g' _" j# t9 F

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-24 17:38 , Processed in 0.066622 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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