飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17353|回复: 0
打印 上一主题 下一主题

修复交换错误

[复制链接]

197

主题

203

帖子

1092

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1092
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
; Q. f6 J. p1 Y% ?0 ^. CI posted this because someone kinda posted a youtube thingy about it :O.
4 ^$ K7 m& @& Y7 ]( `; F5 q+ I9 w5 x8 @
Find this in DPSrv.cpp @ worldserver( m4 c' P) H6 T! K: O

- l2 m8 X! r1 SCode:
. [/ w( P) r% n; t% W$ t- yvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
% Z% v$ {' A* F) B7 K6 R! N{
/ q7 P% G+ O; Q; l" z: V        DWORD nId;
5 Z% V1 a& p% _6 U3 d. B        int nPart;+ N) z9 g2 c" s1 |

. f3 J7 G) `2 Y0 P& y        ar >> nId;
! _  l: \/ [1 a; N! g5 {, |! k( M* I        ar >> nPart;               
* h3 x" Z, S3 t       
$ z- ^- H9 }3 q        if( nPart >= MAX_HUMAN_PARTS )        2 p3 O, ^" c6 ^% |8 _  k4 |
                return;# Y6 Y! s  d1 _3 v( D9 q' T- R

% Y9 m% s7 v) B% ]  ?; `8 ]  v        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
3 m' b6 W3 d5 l/ I* I& ^* S; d: ^: T2 P1 a) V
4 [5 e4 n& X9 U6 b. X
Code:& T+ Q8 n7 s/ j* E
#ifdef __QUGET_SWAP_FIX
+ i6 S, ]0 l. d9 V6 G0 p/ ^) @' @& E! ]* M% ]7 t6 c  f
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )) L" }! X' n2 S4 z
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());+ c& \( |9 y- l  f- s( J
8 K$ H1 R# E( ^- w8 _$ Q: Y+ L1 p
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
3 i3 z! ]" S$ D& K9 ]                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
! n9 G  F0 Y! }
7 v% b; r1 u$ H$ I                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
! u6 m+ U* }; u& S9 x& @                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
! I( d$ Z) C: x6 s- q( f( ^. [$ B8 b( j- j* G
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
2 M7 m- N( d. {* C! S+ gand add under
: V, o( Y; v, c& e$ m# P4 s$ p3 t, k8 a( S0 J4 }! [& b
Code:3 b  r/ C- T& U5 n4 W; C4 h8 C
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )& F0 d7 y6 ^) T: |8 y
                        {
1 ~5 u& j/ L9 P, i& z+ Z5 k                                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 );4 j9 O9 X# n4 q( C7 x+ L- G9 y
                        }this7 K' a9 A. H- F0 U7 Q

: ]1 t) q7 h- z! n! aCode:
! i( o1 G4 [2 o) L4 j#ifdef __QUGET_SWAP_FIX
3 B  C7 ]0 B+ h5 A                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
3 y% I3 d9 s# U( y, A# }9 y, h                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());4 ^( ]$ b% k) L  f, P) v1 }; Y

) J6 C5 B6 s9 r6 ?  [. h8 b; j3 e                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )3 K& }* L" z4 N: g3 B7 F; C: u* {/ N; e
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
' ^* l. y+ o. ^2 P" B
; W9 Q/ o; v, l/ x  p; X2 b                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )- o4 P1 N6 b. p( V0 B1 j1 b, ?
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );5 t/ |- r3 n$ H3 H5 o' O
$ g8 d0 t. P9 D( Z
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver : [! H8 W7 q/ E' V# g

) o4 K+ r+ A0 E/ w5 O; F( E( Q
1 f  T$ ?5 q9 y% i* q5 t: H1 j

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-29 22:56 , Processed in 0.064804 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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