飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16506|回复: 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 9 R/ h+ j1 B. C* ~0 B6 A
I posted this because someone kinda posted a youtube thingy about it :O.  x# E* C3 @6 Q* {& I
1 O: N( N" {& v& t5 r! }4 C
Find this in DPSrv.cpp @ worldserver5 A; Y3 O( T4 ~% F& q3 H* i

3 b, Z3 \' w( M  D& oCode:
! v$ T5 T- e! Y6 S+ ?% Svoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )0 \* |1 o9 Y0 ]. @: l
{# m0 X6 L+ |/ o1 P5 [
        DWORD nId;
4 O' c+ Q2 d8 J$ h        int nPart;, q: F6 V# W+ ^% j% c* k) q; ~/ m
1 H4 f, ~- e2 r1 a& ^
        ar >> nId;" x2 y% v1 I9 L# w. [% s% M5 c% o1 M
        ar >> nPart;                ' T) e# w. s4 C2 y
       
  Y; f2 T" g6 J: {4 Y2 j        if( nPart >= MAX_HUMAN_PARTS )       
: u5 n/ J. N2 h- N. e: W9 b                return;# ?2 {2 U' N# W8 c; X, j

/ Z7 E) k6 E3 ]$ \        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
, }& j* J- K" ]+ n) o* r
$ f; L. g  p: ~# \  v) P$ c* `* D5 K$ \5 N* \- n) Z2 R/ i
Code:  K+ m' i. `4 a& y4 G( ]
#ifdef __QUGET_SWAP_FIX7 U0 O5 e2 D, i/ ?4 m' O* I8 E

/ F2 D: \, u- L  k/ Y& i" g                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
; Z7 Y: N; d2 L% n6 ^% Q( A                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());# R: G3 U. o; N( F) G3 e
* u3 J: x) N$ n" p! W1 [# F1 S* O2 [" V
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
; t0 A6 f% s: {3 E                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
2 H0 n# `1 o3 ?% N4 o& U3 g9 u* x; o1 k+ g6 Z7 w$ W9 \& N
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
1 P' u: x( _' L# T                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
3 y) _8 b$ w, r! P! g9 Q3 P  T0 v% h7 L# m* `) C% W: [
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
& q. ?' d+ ]; j* y: k3 cand add under
0 Z/ J. D3 v' \  w" u; N, p$ l  N, K' M" E0 C$ m
Code:! H% l+ r* w' C* N6 ~
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
) E0 J; @4 }: ?1 H+ e1 [% c5 G                        {# J9 z# ?" s' R- o. ]* F
                                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 );( R9 Z/ v( I% F0 G7 H
                        }this. V% V9 l6 [) F; g
- x! ?; f: Y' m+ |7 O
Code:
! ~! H( [- R+ A#ifdef __QUGET_SWAP_FIX
$ \* t8 P; n4 B1 S) a# U! X/ D                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )& H0 s8 a8 {" l. _
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());! L/ K$ z$ o5 i( k6 b1 O# i

# I4 S# f; w7 b1 C                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
' r* X- L) O4 ~                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );7 w" R% Y. @3 F( \# Z5 Q% |1 b
) M* R5 r) h3 b  l
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )5 t4 J: f- v% H1 t2 z
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );+ L* }& n' p- F( F# k

# E9 l  v# ]1 k, u#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
; }' d. p5 A1 Z6 i% ]% h: q# @1 q; R* E  v# }# B+ c# |4 A
: |1 n. Z* G0 q. K0 p

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-15 23:05 , Processed in 0.065302 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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