飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16398|回复: 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 % i, ^0 ]6 g8 A7 b! M
I posted this because someone kinda posted a youtube thingy about it :O.
! K9 C0 v" ]3 B
: K% w, T! [$ uFind this in DPSrv.cpp @ worldserver
+ U: b: E, N0 Z8 I+ |: _6 F) N2 H8 @$ k4 Y8 o* }- d
Code:
) i5 b8 \0 H& o' F0 `' ^; Kvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
, r3 R) a* ]$ X{( o5 [3 X2 h: X# L8 e+ F
        DWORD nId;: t) x/ j1 j0 _: ~& O2 t
        int nPart;  Q, F! j. m# s& H, T5 P

: q$ a9 i# I5 U        ar >> nId;
2 m  ~9 E' u0 C        ar >> nPart;                ! b+ l9 ]) J5 P/ w: O
        0 V6 z! v' h. [* H/ \. f
        if( nPart >= MAX_HUMAN_PARTS )       
  x: ~2 I5 Y- p( U! N, w                return;
2 e( u2 g, U) N% a! J
5 i! c, X% E2 v; [1 V        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
* M# U* v* y5 Y) p
. o$ _4 w" [! H% e- @6 [  ^: ?5 v7 Q5 L5 c
Code:/ e( e' T( N# {5 o/ `) z
#ifdef __QUGET_SWAP_FIX4 `5 s& c; k# [% N7 U0 _( y* h) k( s

! ?' z" l. e; M% p9 ~5 O$ r) O                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
9 f, I9 c8 C% O' k$ u                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
' H$ `" g) U! c: m3 l. u7 @* T- `1 r! W9 c8 K+ m& ]
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
* J+ r3 @, _! i6 `3 z, P                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
1 g& E0 z# T0 l" r
0 X. {, k2 h, k6 z                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
6 q* }& e% Z) V  i& c5 y6 R$ m/ s& _                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );& W* R; J& S9 q4 A

8 c) ?. c) E* b- m#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; V' E5 Z2 B# A, r6 C9 v: d* wand add under' w' M. A# K3 f. p/ |+ t/ l8 F7 A
9 j# m4 i- G# ~- a" I
Code:. Q" s& |+ E" W
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )! Y* X+ ]; m6 E8 s) s/ x
                        {# C3 B0 F: d$ K% N) ~: b
                                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 );# Y, P7 Q8 I6 c2 O% [
                        }this
  O6 G1 j& B+ g' G+ {& U- Y
8 G3 H, Q2 c' S6 ^Code:
- h5 |4 h8 l# ]) G# X4 S1 |#ifdef __QUGET_SWAP_FIX1 f. S, _: Y1 M* L
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )' Q# v! U$ z) |0 M; X/ t! C
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());2 [$ Q' q' a' x9 {
( N4 {# O0 B& ~; v+ ^2 v! x
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )( s) Y) E2 ?4 [8 X9 W$ X+ U
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );2 v0 m" D, u+ L0 _

$ |: C3 Y4 A# F* S% o                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )# o) m/ k5 }& g/ D# D
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
8 x/ T4 m2 @! T. D1 k  `$ f9 P- `* T+ Z# _: k( m9 m
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 1 z) A( y( w& C$ }

1 z, H4 k/ n5 w7 h# }
$ Q5 t& r; N3 f+ r& A

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-9 04:37 , Processed in 0.058685 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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