飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16984|回复: 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 ; e7 r  u/ _0 X! p* j
I posted this because someone kinda posted a youtube thingy about it :O.
* q3 R( ?6 Z( T7 }- C. I
0 E* Q. f) @: F+ u3 E1 rFind this in DPSrv.cpp @ worldserver- k7 G7 h* f: k) i% W7 q- r

. l# l5 A1 w; h/ \6 ?Code:- y4 r) g1 [; _( F. Z5 n7 X
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ); P1 g0 Q9 r  V; b1 n& v5 B' P
{
$ q, o) L/ Y# e: a6 F        DWORD nId;$ `  o9 k' `. O
        int nPart;
& Y! G% j# D* g" s
4 H0 T$ ^- ~9 g) c4 {- B        ar >> nId;; }2 E3 ~/ W% {9 D4 f$ p
        ar >> nPart;               
; T( k8 n& |5 T4 n7 G        ; r2 B5 @. F6 t! w5 n  v$ Y+ D
        if( nPart >= MAX_HUMAN_PARTS )       
5 V. i) N. K4 b/ U8 |                return;' E! h0 t' B% o; w' d2 Q
; R0 i3 N. h6 l  X4 n
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it  I! N; O( |0 f, G' p& K) N
8 B$ V7 z. W/ `& M* ]  k
- k4 d: X  |, s
Code:+ ?. I5 U& ~: Z
#ifdef __QUGET_SWAP_FIX
2 X; P- V! I" e1 n4 |' w$ h. _
. t$ i, V9 `$ h6 E2 v# J0 l5 b! B3 S                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
, a/ N/ w* N/ k5 {% i$ t2 z8 Q                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
( t/ i0 d/ D/ D3 F+ C) a+ y! u8 i. h" J
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )0 {, Q7 A9 q4 X: B
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );6 t8 Z; o' f8 A. ~5 r
9 f/ M# M& `4 k
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
! V! f. ~7 C2 A3 f$ R  n: c                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );( `, o' l- ?* w8 L5 O/ m# a

8 Q% J; `7 V" R3 @#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
- P4 C: k1 i) j, X# K/ j8 nand add under- d5 v  m' Z) A2 j( T
; F) m/ E/ |3 w$ E6 o
Code:
# [" d! b* W$ n7 Z" X" Gif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ). |9 C2 }" ~1 u; F7 N9 z3 m8 q
                        {, {: Z( ]! H+ u1 _0 a0 `- ?% 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 );8 I& g; |8 V1 Z% x6 }# l
                        }this- @- \% {3 P1 m& O

& Y9 E' u, C3 MCode:
6 F; O" e7 I5 m; i" A- `9 w& g#ifdef __QUGET_SWAP_FIX5 U3 y8 T( n; [8 Y  ?1 {
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
/ E9 k. R9 E, C6 \/ k  q4 C                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
. u9 k4 Y$ M# H, a) R
$ D" `0 G2 A( D! @) r$ R% b                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
( r, P( i7 L5 f! h                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );7 n* [8 O0 S2 M: _
  \  L  A& `/ p- W
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
0 \" z! b9 i) X& K( N                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );5 p" Y4 S( K+ M) c( y
7 w6 n4 y% n9 z  [) F# R7 X8 z
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
4 ^2 c4 K! o: E$ b! I
. b  q" H8 I& y: j  q( F# |+ k9 u' A$ T0 {- E6 f6 p7 b/ f; M

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 11:19 , Processed in 0.094496 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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