飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16490|回复: 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
; @, ?/ g  P$ F- S8 H9 |I posted this because someone kinda posted a youtube thingy about it :O.1 v% K9 x3 [/ Q5 t

8 ?4 B7 r7 ~( oFind this in DPSrv.cpp @ worldserver
# r5 L( H# E% }, F! v
+ \' @; ]. B/ {" L8 o6 vCode:2 t: Y7 }0 E- t/ w/ [3 \" |
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )& F, `% V& v. h1 U. J6 n
{
4 b7 }, p% W& k0 S        DWORD nId;' }# H/ D% i2 [) S
        int nPart;
( _/ b3 s; c2 ^0 O# A( E
  E/ U; D& l9 @6 h        ar >> nId;
9 ^: S9 A; h- l! K. K" S7 ~        ar >> nPart;                8 _0 H' I( u4 j' m4 s) G: @7 q# G
       
8 d: z" \0 X. ?  q$ f" P6 c3 }/ I        if( nPart >= MAX_HUMAN_PARTS )        / n% V' Y0 b) r8 V! p3 a. t! e
                return;3 E) N3 F0 J4 A$ i( C* D$ ^

2 |% V9 a+ w5 {/ y+ N        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
; j2 _( N: r; N/ U3 H8 c
; x+ H  [8 C; P3 j- m
4 m4 Z+ g5 l0 k/ E( a5 N6 kCode:) X+ C3 h! [5 m& _) [$ }
#ifdef __QUGET_SWAP_FIX" S) m8 ^% F3 |' Y/ m" i

, R' }; u8 w0 n, z$ `8 P) j, j                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )$ s( N9 ?9 e3 r8 q# P
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());& J: f+ `# L% _+ Y

" ]4 U" a! F1 p0 R7 e$ h                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
# D4 D% E- H. r5 l% Y, v                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );, w, e/ Q2 ~& E5 s( G4 `& B. i! s
! Z( C' `) K% C# E" Y+ x
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )1 C$ X7 V% h+ |! m  r
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
8 H6 h; A3 b4 q' N
. x: y& D5 B( C* C3 V7 n#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
4 l' C. }+ o& ?& K3 l3 _+ J, Vand add under* Y9 I: w- L' A1 Z$ ]% H
8 r; M4 U* ]4 ~( U0 W
Code:
4 ?8 M0 r8 c) T6 Z' t. Cif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ); f$ \- s: i' _( B9 Y( a$ {. ?
                        {" r) [% ]; X+ F/ g+ U
                                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 );
5 i) g) x% U3 @7 h2 H; H$ Z  B                        }this$ O) D. X) o% _
! c; V2 i' W$ ~$ ?8 p
Code:- q# }" C6 G: W2 ]% i. x- U7 y  l
#ifdef __QUGET_SWAP_FIX7 x: J6 Z' T; E: }
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )8 A) z* P6 Y% q$ r% U; s. h4 _4 R% [
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());7 A# s0 d2 @0 F2 s

1 O" D8 j& g3 ?. n                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
4 ^; u# V# @6 T0 N) s                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
% M3 n; X7 x$ U
: p. E  \( X$ u                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
8 d$ X  d% W4 _2 q1 h                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );" M$ w" }2 Z: |4 v
6 V/ X8 o; l  ]- U5 O' b
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
. L1 E. J' d) p: [' V! V4 Q0 S9 F- \4 E6 |

; O  N, f5 S" k- o1 h9 C

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-14 16:55 , Processed in 0.108402 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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