飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16983|回复: 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 ( `8 y% `5 E9 R- A/ n( v
I posted this because someone kinda posted a youtube thingy about it :O.
$ ~- W0 t$ C6 Q$ N( c1 n( O( ?; W" i2 C2 s
Find this in DPSrv.cpp @ worldserver- W4 ]' S, u" U" D  S
! P) V& K# k8 y5 I9 B& i5 @; ^9 t
Code:  Q( U7 S3 S) _- v2 Q2 b. D
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )7 ]1 n6 Q- m# O
{, g# t: i, O/ j6 M. U. g3 D" C
        DWORD nId;; d- s  b8 `, f; [1 b) y
        int nPart;: k! e7 _2 D, _4 U# `- g1 t7 F
+ ]2 Y. G" {& E
        ar >> nId;
( P$ e! J# t8 F% Y' P        ar >> nPart;               
+ O2 i2 T4 E& c9 y% x0 C& e7 ~       
( {6 q0 J0 I3 v. s1 b* j        if( nPart >= MAX_HUMAN_PARTS )       
# y2 v, l, U# w+ N                return;
! x9 A& u7 Z' o/ ]" ]: ^# \0 L7 [# |/ B# t& T  O
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
  E- }/ S$ W% g* ^  q
5 e# J! I# U. N) c- z" z; J# P7 v8 t. ]& m$ ]4 s: _0 Q
Code:. j% V( _1 S0 p6 ~
#ifdef __QUGET_SWAP_FIX# z8 T0 W* I' x
% U# j# Y! Y9 e! N$ N# o8 h0 H1 a2 @
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )) }, F5 z) S0 Z0 t9 n5 f; H
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
) h- O. [8 @# v" [; v
/ K+ l$ ^: `: T" }& d                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )+ U+ k- E" k/ {
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );( i- Q8 ~! m0 v' V- v% o: M1 F# H

5 U$ E' O. @3 G: ~# w( D                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
" [. P+ h2 L; t+ \, v                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
/ X* O' a/ g2 a8 V. p* w$ l) n& q+ N  k2 H, H
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
, w4 W8 k1 \, d; O0 qand add under
2 e5 j, M  M4 x3 ]2 D1 L" T0 ?/ q! v7 W) m3 Z) E
Code:# _6 u/ i- y3 c
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )1 t" B1 k0 Y% x3 P" J
                        {& E: s# T& }' c' T7 t, Z
                                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 );
  X  Y5 S& P8 Q2 m7 D                        }this
# R* F4 g: x. x& L7 l5 O, T8 f4 R- {* M- a% Q
Code:
1 n8 j+ V& r% F! L( h" {6 J% l* }#ifdef __QUGET_SWAP_FIX
* K1 i' X3 Q8 X/ ?                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )$ d" R0 \) y" ]. v( u* x; z8 q* q
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());  V8 Y# {. o! o

, C- ^; t' i9 c2 \1 @. C  r6 v6 J                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )/ I5 Q: V' V% l: A' U# B: G
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
0 t  z( Q; \6 L8 C! t
$ Y2 U: T0 j$ u6 d8 ~8 j                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
! J6 E0 j; v% x2 U                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
5 A" ?" n4 `7 \& z& N! a. x7 t0 x
+ I! G. b5 _% N#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver " u7 w2 e4 K( B- U* g0 j

8 C% P8 a( ~2 C: v4 F+ W
6 X$ R8 ]( Q+ _

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 09:45 , Processed in 0.063970 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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