飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1078

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1078
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
+ B! L: S) i3 rI posted this because someone kinda posted a youtube thingy about it :O.
4 g' h  F4 J  W  Y% r# y& g' I( U
Find this in DPSrv.cpp @ worldserver  X2 G/ V# D3 m7 Y: D) m
( [3 }, ~3 t, S+ ]/ Y( {8 \. I" V
Code:: G! n* z* j( V3 k; ^% Q6 H
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )3 _$ s; `8 h. e& N0 W
{
4 y! u* f. Z* ~0 x) h. l$ U        DWORD nId;. p* d* a3 v  p6 t
        int nPart;
3 }) i6 z+ D5 v0 o- A1 s" I5 q0 [4 u' Z5 z. b' j
        ar >> nId;& J" `" b0 ]4 }& D! h0 f. J- m% v
        ar >> nPart;               
* `5 ]/ g% c4 N6 t% B$ B; o( X       
4 X5 P3 Y; K2 E- H/ Y7 G; L        if( nPart >= MAX_HUMAN_PARTS )        - u" v3 n+ a- W  s. l9 i% y
                return;3 o5 n& R& i& e
$ N! W- U5 [3 @1 }8 f% N' n
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
* S6 B7 ^! Z1 C: H0 \, p5 ?
) B, F' Z! ~, G! N9 i6 ^+ g$ b
3 M" |) ~; m7 @# e% u$ kCode:. m2 C; b  a+ w  o6 I
#ifdef __QUGET_SWAP_FIX
8 d* r8 e& A5 ]8 O% M  e; C4 K* q$ p( s, g
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )6 {" `$ z3 E7 v2 |
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());6 S$ X7 v) f9 g' ?
( d( s: U; ^  B$ Q% @" x! M
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
  N- M. T6 W% B+ c' Z                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );6 b/ N2 p! ?& A8 E4 }4 t) T

5 n5 i0 r" _. U& r" _                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
+ V8 z7 B3 a) i- ^2 j                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );+ v% z# ]+ Y7 I& m  W% d  u& V
, g! l* g- Q' X, ]* J( J
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
1 O' y8 i) }. E! J* \and add under& J1 }: @: |* g  m" B% s+ M

3 B: d7 D; Z, q$ m: q6 j8 m  T$ iCode:
/ P) _) Y7 z1 B% }2 q+ i/ mif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
" O% |3 j6 Z# R# `2 o. A+ ~4 J                        {( H5 ~4 j; L  Z% q- ^; e( M
                                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 );
7 }7 h. Z0 d# _: o+ M) E                        }this  M# o) O; M( [7 H) }7 E
% R- h- Q% e" e( O, @
Code:- x7 a* V: ]3 f+ s1 \8 H
#ifdef __QUGET_SWAP_FIX
3 ^1 x5 {$ r1 m$ T9 u! z                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() ): I! w8 e5 @# V! ~
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
' ^3 O- ~! g0 l# r
& p! m: T6 `4 H) C, K                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )0 z: Q- i0 F) @4 z3 v
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );. y1 `, I& |4 @
; @" H9 O& A  W+ Z, ^
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )  |1 v# g* j5 e& X9 h
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );# _( I1 _' i3 s) Q  q
6 ~5 r* d! s$ ^+ o1 [
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
5 h% g1 B5 d) p% n
3 R# s2 B$ v- G6 V
3 b& j& b) g7 e' K' Z

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-22 13:18 , Processed in 0.073707 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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