飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16362|回复: 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
, b3 ?7 q1 a) a4 @" K* Q1 CI posted this because someone kinda posted a youtube thingy about it :O.# r! [2 b& n3 O9 p0 G# I' W! L9 {  U% n3 N

8 s5 o, P. v1 @$ Z4 g# n9 v$ f8 BFind this in DPSrv.cpp @ worldserver
3 ]5 j% [- a( T
0 B; b: x3 ]& s! G; H$ NCode:
& d+ |' S1 \# Mvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
! M# E+ a# K. \: B4 r8 ^0 i/ E1 {! j{. A; ^% J* p$ r0 Z9 r7 x$ G7 v$ r
        DWORD nId;5 T5 B* F2 ?0 G0 S. T' M
        int nPart;
+ I1 v( r+ x. x+ j2 \& k) i8 {' j2 i# K4 n
        ar >> nId;8 q3 I$ k4 w0 m7 P0 {5 C7 w
        ar >> nPart;                7 |' F2 {6 g) A: W7 |
       
+ E. [+ u4 L; H; |0 i& T1 V0 R        if( nPart >= MAX_HUMAN_PARTS )        $ w2 D; E& q3 U. U' D& W, y
                return;
# V9 Q. T0 z' `1 r; L5 K: \
2 q$ w9 ?, O: K0 A        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
+ l* q  n2 x' k# X
5 `! z7 B  _3 X; n& Q5 v5 e! h
% t& K  \# C9 a: ^+ |5 g7 _" DCode:. ]% C1 O9 w% g9 ~+ c: k4 A
#ifdef __QUGET_SWAP_FIX) j/ q1 b5 h9 L+ S& p
2 z1 Q2 S2 J3 @) {, {
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
( b6 ]  M& o0 O                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());! E/ u9 p$ C7 C1 k
$ P3 \2 }2 o( ?& e
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )1 x2 g# G$ X; O' e5 I( E' f8 O
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );2 e/ m/ |, x2 A; p) [' z+ x

5 R, N/ ^2 x' V( V" o' l: X                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )# k' W, L" U  X: E& E
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
( m0 m3 j+ T2 ^* s/ [3 O# N8 e- }! W( ]  }
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
) i. X5 b( T5 Q' b" Land add under+ ], p3 c8 R- Y% B1 l3 j7 L
/ I- Y2 S: @- v" L% i3 R
Code:* c& v1 e5 `" \& q3 G; }
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )) c1 J$ N/ X  \7 r4 T4 p. T* ]
                        {: E2 `3 j9 ^, R
                                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 );
9 P* U0 \2 y3 r                        }this
" g4 k  _" N, \3 B. j$ o: i& M+ j8 x2 q9 Y7 B$ M+ f* h, [5 T8 a* f
Code:- Q. V& @) D" J( u! }- h3 z$ |
#ifdef __QUGET_SWAP_FIX
% a4 N- `/ Q$ ]* V0 n9 \5 s, o                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )5 d) w0 V% Y" ~+ a! k, N
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());1 y& J# ~$ c$ j% ]( J
$ Q; m% m1 y5 Q8 J8 a
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )5 D8 v+ _; y8 V* G) W2 x: s( k
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );+ x, c( K' v6 J9 O- v( K2 P
& k4 d/ i3 m" S1 t$ y
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
5 _% o+ g8 D- n7 O. C$ B& w                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );7 h9 r, N. R  v
8 `+ `4 o2 |5 m+ J' L, j( |
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 5 N, {/ K6 U/ }* x1 b" R
4 V# w$ H. U! R9 n. B1 P" F# i
+ Z3 r7 g9 x" x6 T0 n" E; l, Q1 C! n

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-7 02:19 , Processed in 0.063598 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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