飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16397|回复: 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 . e1 V9 W, Y7 p/ G# l$ f
I posted this because someone kinda posted a youtube thingy about it :O.
# @2 G+ @5 k8 Y. ?& ]: z6 z8 k3 ~
; X2 W$ [) ~  r% ~, \& hFind this in DPSrv.cpp @ worldserver' }8 r5 |, W* S) i9 i  T

, _& I0 _9 P; UCode:: U, W% j+ T! p/ v# i
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
/ U2 Q5 ]7 R7 i: T. K{  y. ^- a7 j. l2 }2 i8 Y# q
        DWORD nId;. o& ~9 I$ O3 Z6 q' Y( B0 C; P: Y, l
        int nPart;. B; r4 K9 o: Z, {& s
6 @7 r7 ]8 A3 n+ f  j
        ar >> nId;  R5 I  |( L$ s8 b! E
        ar >> nPart;               
" [* s" c, p( N* O+ f' O        3 Y0 i* r8 l, B; M& d2 s% ~
        if( nPart >= MAX_HUMAN_PARTS )       
! U% s' n  N2 g- Z: G- c, S1 e                return;" {: j8 w1 l+ G# O
+ v8 l- _$ \; n/ x; C) T1 R5 e9 L
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
' u8 T) y8 N, ]7 L$ Z) A
& q1 ]$ U/ G- f* C$ {$ S8 M% i
2 B# f) `( b9 b1 B3 G. }) zCode:
2 x7 [! I( E- K% e#ifdef __QUGET_SWAP_FIX
2 B* h. H3 E2 W% p6 w% n
& P- H" b' O9 V" [' H4 O                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )2 `: Y3 d( z0 J$ x' @% O
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());) Y) f8 |2 n* H' d

7 m) ?- \8 s8 Z7 F                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
. e/ Z3 J' {0 c5 ^8 ?" C8 z                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
. i1 v9 n  A% E  i! X7 y, i3 }0 p* N# S2 }$ l* X( F# E8 |0 P
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
+ R8 Y3 O' f" ?4 p1 {, F/ x                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
* T' u4 }2 v( L5 i8 N- |" q( L) b4 W
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
. r. R9 F2 z, h& ]. X: @and add under
) K3 T; N7 s. B% |% R/ \: S' ~, w9 b, Z' \( J4 y
Code:, q5 f. Y5 u; }- E
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
6 j& p! S( A. \; y8 H5 N                        {' U! q) W. W3 @0 E  z
                                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 );* Q3 t" v' D$ s% N: f
                        }this
# Y& ^& m0 A- H# N) `+ x4 f0 k6 N4 P" e7 u
Code:4 n$ Z6 r+ s4 X( q6 V" u! n' s9 O# v
#ifdef __QUGET_SWAP_FIX3 F, ^! d4 K! c) t7 ?
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )6 F8 |) a' T1 k% ^& G! `
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
0 v& F2 P) }0 c+ @7 T1 e# I: g1 ?* e! T' s' @# w9 p2 \) r
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
4 P2 H' Q: g, ?4 t4 i( U5 ]                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );$ u1 N9 \2 d) {

$ G! t0 d" c+ E! m) `; [) J                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
! Z& z7 W! w% U: F+ a                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );% @5 v0 N! Z2 ^) H# ~$ ^; c
8 c7 H4 u8 j) [" r5 k& V: ]
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
% O8 _# d8 e1 r3 x& L- ^+ M/ G) ~; P4 f2 h

- c! q5 m9 C. d

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-9 04:20 , Processed in 0.174137 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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