飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1084

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1084
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 1 Y# ~' V! D% W6 C& T  v3 Q
I posted this because someone kinda posted a youtube thingy about it :O.  w* ?$ a4 s1 X8 m, h

. Z8 k: S) c* HFind this in DPSrv.cpp @ worldserver/ Z  ?& s9 ~! }  y2 i* P

& o- E& @9 ~* a# T: M4 s" ZCode:
+ R8 w4 @2 g2 y5 wvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )8 [" n3 P1 J2 `7 f7 v; ?: {! |& s
{: E5 V" A4 P, a# c! h) S( [
        DWORD nId;
; d6 o5 f& \, r) n        int nPart;* x  k- {+ I5 f( v

& U% W) Y" k1 {' g* p6 _        ar >> nId;
8 n8 `' Y( N/ V1 r; b. g( v        ar >> nPart;                , r4 G$ @$ J9 T
        $ U8 U! Z+ O! h  h
        if( nPart >= MAX_HUMAN_PARTS )          E; L/ v0 R* e1 _) p
                return;
9 F, H0 O. a  n% d9 I5 N+ @. h0 i) T1 S& ~( ~* s7 }
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it( P* s4 P+ K5 ]; a% T9 J6 J* P

) M. [* b, a6 ]  y3 l& ?
! c" v9 B1 S! R: ]+ A. mCode:  F; i- T& f' L3 R& l9 _
#ifdef __QUGET_SWAP_FIX, h/ j$ ^- G; Y- c

3 x7 ?" q. R/ R' a* s                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
( J- I: F# W: r9 r                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
* h2 C/ a# V9 ]' m  g6 D) {0 O& r/ ~( G6 g9 `
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
" h) @- V5 X6 _! S1 m' K% q                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );$ g5 d1 k% D- H# E
2 Z- ]: V/ h" W; H, r
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
1 D8 L' G  e& l% h: q  k, A                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );! l# f$ E' S* U2 m6 E/ v$ N
! t8 d3 s& {& r1 M0 o4 T1 J. A
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
* |/ n) b$ m7 E# s/ nand add under
5 [, r" Q$ @0 _& {/ T  q; V2 x1 W+ I
Code:
4 o4 F  U: L8 l( e- C' b$ E" nif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ); |7 z* t8 A, H/ Z
                        {" `" f0 G+ a& \
                                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 );
- U% a' O4 }* L6 z                        }this
  ^% l4 t- s' n: l. X7 r. e1 J# b( I6 p( f8 @5 C+ m
Code:+ ?6 e5 v' S& ]5 h2 _- I
#ifdef __QUGET_SWAP_FIX
; h- x1 X, u% z( }                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
+ `  C. o% v5 ?% i  n                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
/ L" S5 U0 R% l
0 h( y: f* Z$ `! r" [# [6 n) e) F                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
9 o$ m, s) b$ _4 M" _                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );) f% e3 z1 R) S& L2 z# `
4 T& i6 Q5 c7 @
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )! R1 M+ p! [# o# e& g
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
, ?- \: O3 B0 B1 k  r
0 z7 B  K7 W/ z& n# s$ Y#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
9 p: x3 H# O% `, ?% P
2 W; V/ n; y5 W; }4 F4 V8 i6 Z8 [* ~

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-16 03:52 , Processed in 0.068349 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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