飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17089|回复: 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 , V4 @& i, J6 h/ m2 {5 h
I posted this because someone kinda posted a youtube thingy about it :O.
, e8 u2 K0 j  Y8 Y# j0 B! Z5 c8 b2 w
Find this in DPSrv.cpp @ worldserver
9 l  u& Q1 K% p) [1 s3 T* y5 l% V- w# \+ s! f* c
Code:  \4 \* G( `( e& i
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
6 A3 E& A1 i0 q5 w{
2 h  r5 v6 h# v# ^; k, y        DWORD nId;' r8 C2 b! l2 B: E& l( _3 h" t
        int nPart;
7 W/ g: e* Q+ n( R! o! {% L' B
, L( V9 w6 ]3 g+ [7 A        ar >> nId;9 q7 n, _9 y) R$ a3 i
        ar >> nPart;                3 G$ {, f. ^/ s7 u6 k
        + c6 ~* U* _9 v
        if( nPart >= MAX_HUMAN_PARTS )       
7 h  I9 O! s( \% |6 N) t                return;4 `, A! a5 e6 u/ m% k2 G+ Q

+ e5 W2 s' G1 V5 g% y# f        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it. Z/ t9 ^7 @- W6 ~9 q7 E
& s  S- R: Q, g! x
% C5 f) s5 l- }  Z. v# P2 L! _* m9 I
Code:
* r# g; z, e5 ~8 V1 y#ifdef __QUGET_SWAP_FIX3 Y+ _4 B* o% m, N$ S0 P8 j1 n( s

7 p6 [/ \% {3 ]2 \                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )- u. n" S: [- V# o8 l7 ]9 [
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());# T- f' D# C. V2 M2 C$ P2 |2 j- d

/ i; R9 r; K! U+ `0 y3 j1 O                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )1 M+ G( w( Y  O2 P
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
8 c& i. M5 n0 M5 b( z$ P
+ n$ o3 r8 @$ R! F8 Y                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
/ x  x1 N' s1 L( s# {0 |                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
6 M* I2 A7 M! B! R/ \; ~( |
6 w# O3 d9 Z) |2 F- R#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
6 Y. u4 ]1 ^0 |8 j7 |. k% Jand add under: `  e8 |, O0 C- j  g

: F1 G, B- r& L: D6 t/ w% gCode:( x/ r& n. j( D4 @) D
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )* J' |8 Y$ x  Q
                        {
, i9 T& Y  E, y. ^9 V7 |                                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 );- ?0 ?" \& G9 {- n0 z; i
                        }this
) V4 _5 }! `- j  h' d; I
/ m, V# i6 g8 ]# I% S: cCode:+ z+ Y- E% h3 ~! L  x
#ifdef __QUGET_SWAP_FIX
4 f5 N% f9 q" e# E, Y# e                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )" }. x4 M& v, m' U
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());% J1 H1 l0 h( l5 {9 j) w) k
. s8 x# ^4 f& q3 M: M1 e
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )1 M" B$ r- ^* w: A8 z$ d% w
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
. V, [+ H' O8 j, g
" ]4 y8 g1 }4 m, a' Z5 s$ j4 v                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )" v  u$ @# x4 U
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
- O2 ~5 Z/ A7 M# {, d/ Q  Y6 t. U. r* \* w% h# ?2 E
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
+ q, a' Q: l2 ~3 ]. x$ q7 e/ v% e9 ]8 ~- q  i/ G! m8 |1 O

$ s4 t0 Y1 M5 ], ]" y

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-21 08:55 , Processed in 0.063491 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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