飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17301|回复: 0
打印 上一主题 下一主题

修复交换错误

[复制链接]

197

主题

203

帖子

1090

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1090
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
+ }& A) r+ L; c5 B: I! X; W. T* b4 ZI posted this because someone kinda posted a youtube thingy about it :O.
: u' u6 _/ g6 `6 a# r( ^" o0 x% B. }% X- P! n
Find this in DPSrv.cpp @ worldserver
3 _8 v7 M$ t7 l- F% R3 c; n" @* i- w0 |
Code:, t; }% p% K4 c% M2 B+ y
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )( \$ t$ g$ Q5 v7 x1 s2 v$ O
{% X5 m$ b' y1 B8 k  L+ ~& c5 W6 z7 k: @
        DWORD nId;/ \7 ^- v; o' F8 J3 n9 U9 M
        int nPart;
0 x, b7 ~4 a# S! j* I+ j+ B5 |/ S
* P0 m3 w/ n1 p3 y- D1 k" \3 k        ar >> nId;5 _; d  G" Q* Z2 G: [  h: g
        ar >> nPart;                : c% d0 a) o$ X' n3 F4 O
       
9 D# q9 U5 X$ _/ L+ J. V! e/ Q0 {        if( nPart >= MAX_HUMAN_PARTS )       
; t, g+ g+ G6 h  j* y                return;
0 _2 z: W4 @6 q
% W- V- h" F& D0 l: d6 j6 P8 u2 M        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
/ N* D' g: P' T/ d9 s0 b
, j0 d; ^: h2 Q% f) D  S
& f6 @' _, ~5 t" sCode:7 C4 E* ^; R- S# ?# M# u! I
#ifdef __QUGET_SWAP_FIX
! E! D6 J4 r; v  L6 Z, @/ S0 z& ]) U; a5 X( p4 \  X+ [7 n
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
- z% e) x, }; e( g                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());" U2 U. M9 i* p; |2 y* ?
( e3 n, T; U! W# W4 i/ H
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
2 Q" m$ L6 m0 d& P2 I. R                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
* g! Q9 b) o6 N6 v& d( o) r
) H  f" Q# _5 S9 \6 n& A                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )* a0 u" L8 {5 z' ?$ L
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
# ]0 ]5 [* ^# B# K" ^$ S1 P, e& X+ u# P
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
  u: X( z9 x& m, mand add under* f2 d, ~/ y+ N3 q8 n! _; q; r
* y/ T% Q) \3 O" f# S* E
Code:
8 i& b7 I( f& Z6 wif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )) T8 l9 d. R$ D. g; j9 G
                        {
( c1 L- A, p+ V                                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 );4 z- i$ m; y# O, h+ w# O, Q. ]
                        }this
/ Y+ ~9 f" i5 G/ y6 y7 C- w$ `/ Q( e& u. ?8 F$ e8 @
Code:
. J  Y/ K6 d( O0 S- y8 l#ifdef __QUGET_SWAP_FIX% ]# x0 @# K+ r* R' F4 S; b
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )# P4 a: v1 E2 Q. M' D/ E
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
0 w7 h. x" B, ^7 j3 ^  c+ d; r! }" x
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )- M( X  |5 C& [
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
# h3 n) q/ A; `& J* w1 Y* t# K
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
: ]* N4 ^; `0 T) u, G8 k                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );+ p+ o9 w' ^- ]7 a3 h
) c- a. G$ B, X2 Z* k; R& t3 ^
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver % A9 o. d7 M; O( S3 G" f
4 [1 F2 T# a3 f, Y& @
: o: J8 h! e: m" L. O  W* v

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-28 04:08 , Processed in 0.060600 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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