飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16330|回复: 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 , t# Q% E! ~9 h% d
I posted this because someone kinda posted a youtube thingy about it :O.
' u" I% `0 q( ~  q& i% ?
) T* t1 c$ F( N% d: C2 pFind this in DPSrv.cpp @ worldserver1 _2 C/ Q: r7 A8 Q* G5 i: a( v
% _9 a/ r! s# C! l6 S
Code:
! t2 m+ P0 B& h: W9 kvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
2 O  A' W5 M6 O+ F' k{" s+ D& L$ ]$ Q5 b5 h
        DWORD nId;
) j! z9 ]9 R& b' i3 T        int nPart;& e2 s6 \0 {6 r1 H( S3 r# L

' P% D* v! u& @+ \' z        ar >> nId;, D5 \7 P7 @: L4 U; ^* U2 N$ Q; d
        ar >> nPart;                5 t2 f; g" U: Y
       
9 M( R. {. E# Q, E# n  {        if( nPart >= MAX_HUMAN_PARTS )       
2 ?8 a4 n+ b# }6 i) @( ?: R; t4 L                return;
7 j: F2 i. S: a
) o0 x; d: s. q# ~' V        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it2 Q/ G- p' ?; k( l( o% {: V5 ~3 a
0 O. ?$ _4 Z+ T$ F$ N
9 N- [1 \3 F  G* |$ A0 s
Code:0 X8 `: e$ `9 e+ X  m
#ifdef __QUGET_SWAP_FIX( t" A3 \. j# Q1 D/ r9 ]

9 q: Y2 Z; [0 E7 K0 D; l! z                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
5 m+ T; d! G- U: L. k                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());& n' |, F# r/ g4 O0 x4 y' Q
) p+ D; X/ o! \3 u0 s+ Y
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )  G# K. o5 B1 o% {% c  u
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
" V$ o7 x+ K9 X) a/ k
, y. Y' a: D% |; M) F* q                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )0 |- c$ q9 n6 I$ \8 b' _
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );6 v- x9 {1 l! s6 Q6 _0 ?5 U( H% Z

  F9 j4 E. I# M- \! t' n, S#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp3 A7 `! {7 Q! n, u
and add under4 r6 t7 o1 b" i

& R7 i/ ^+ }5 }2 |; S5 @; l1 ]& @Code:
( z) h6 _5 D# n1 h1 y* d7 cif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )4 n* P/ T/ s+ P8 g8 ?+ E
                        {
0 u5 E% O5 B" ^: D! j                                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 );
; C5 A& L* `; M) W1 `                        }this
# d! ?' l, f% }" G# n8 Q: y+ N
7 ]9 N) T& |% Y9 e3 v8 u  z) D$ eCode:
6 R+ ?3 U, u2 a/ a; U& q2 z, A$ Q#ifdef __QUGET_SWAP_FIX
4 {4 ]! K3 i0 v/ ?* V# N8 M& r7 o5 H                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
% N  e3 X7 I( n* g) E; w2 E( Q                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
& ]5 I! l! Y/ T6 @8 t( G# i
% z" a0 s; l! T                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
8 ?, |; Q1 k5 t                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
" ^! o4 k- B/ L: c
1 k4 Q  E* O) b: C: b                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
+ H: r# |5 ]: x8 y                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );& v: @( p: |% s( F

; c* I- O) S7 p! l* t#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
) _! ]8 S1 R% o) Y- z. n
: U  b' u, N% @; ^* U# k3 Z* a) O

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-5 14:12 , Processed in 0.059824 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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