飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16851|回复: 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
5 E( g3 Y! u/ T2 {7 {I posted this because someone kinda posted a youtube thingy about it :O.5 `7 B2 h2 s! g
% |9 N0 W' p- J4 H1 {/ k, F% z
Find this in DPSrv.cpp @ worldserver2 o1 q+ A7 v4 `8 ?2 h. s

+ E, {# g+ A; n. u! cCode:
" o" i4 m) H. `1 t$ ?8 c/ Kvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
; X( L; b, B/ m6 D2 D{# O& D+ t8 s4 G( ]8 Q, ^
        DWORD nId;* K: R1 s) a, u* E& K3 s5 L
        int nPart;% Y0 L' k' O, g$ U

& Y! P+ E2 Y3 X+ a0 H        ar >> nId;
0 W3 q! j; p9 u; i        ar >> nPart;                ; O0 X3 t* {4 y" X) |( A
       
$ u) Z8 L. L5 g6 B8 \; i        if( nPart >= MAX_HUMAN_PARTS )        6 t  P; Q: v- i& |* R5 m1 @
                return;
1 L% e% v/ P" T# C$ x/ N. p5 w2 A4 s* B& Z: u. E+ ^2 ^, m
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
$ @% D1 I1 U1 m- o$ s  l
$ n) ?0 r- J  W2 p% \9 P% S1 x9 m# a
9 e7 a& X5 a5 S# o' _: |8 l' c. E$ wCode:
/ \' F# ^& K; Z2 o#ifdef __QUGET_SWAP_FIX0 g& {% M& _' P5 C: W

1 E; h& ^) B; H! u( m                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
: y4 o+ r* o" @# w' j. r, ~                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());$ ^9 N/ ^$ z0 N3 b/ p8 B) b
& O3 M. T  B+ y1 y
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )* j1 j1 ~' i/ Z1 Z; [7 j
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );' O5 k" P  L5 P2 Y) E( i
5 X& Z4 g$ [5 p8 U( |
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )8 ^! i( v' E- [4 A  y, W# a+ ]* V
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
  j+ M9 m0 O; R# S
+ H4 N5 x: k  [#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp8 e5 e& q2 C$ n9 B8 S2 ~
and add under- [$ g& r, B7 H) m

/ V3 ~/ t" h/ q( m1 hCode:' [; v" b1 L1 L
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )% _7 w: Y7 i  @8 k7 t. T5 }
                        {
2 Y% [! t" S% B, Q+ I/ K( x                                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 );
/ l( L  B. }5 }7 R( z# ^  a                        }this3 |+ X  {; d6 w3 p8 ~

' R- A! u& |6 MCode:
/ |* z" g6 C4 m+ |" I, P6 R#ifdef __QUGET_SWAP_FIX7 v( z& R8 Q$ m, @* d! b6 z; a6 y
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
4 s! E8 p5 x" m                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());  e" D' N0 z" q! M! Z9 m
! Y+ g+ Q  y% m# f; f
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
: H$ G: N) f: `/ U' x                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );2 j: Z* q8 z, d  l  y1 |
% s; u, r- j6 m9 S
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )* [4 {3 }! U9 p4 W1 l7 \
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
7 G- O; U4 |4 U9 |) J3 m5 Z" F- t4 U$ d- D. E( P
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ; T/ G) V/ Y& f" {* T8 _
# y2 M$ N; M; i

& m2 i# G- v2 n" H

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-7 18:17 , Processed in 0.063042 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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