飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16996|回复: 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 1 H, i2 P: c2 @1 M1 P/ d2 O
I posted this because someone kinda posted a youtube thingy about it :O." `7 a% u, z! l1 j

8 y  y/ R+ L5 O. [) O' E" ?Find this in DPSrv.cpp @ worldserver. L; c6 R4 ~4 R) t2 i
" h' h7 }4 d+ ^+ Q* `0 J9 x# C
Code:
; \; e. p* w, \$ wvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
2 ?# w% L% U% k3 F% z: p{" r0 ]/ ]$ h' }2 a: i
        DWORD nId;
8 H( o( c+ Z* t0 x) w9 [* d        int nPart;
7 \% {) V" {: Z0 X1 w% e# ~2 {# B" Y! m, M; b0 ~
        ar >> nId;* [8 B) A( m' J0 ~1 N# c$ o
        ar >> nPart;                ( m% z& O1 a6 ?  W$ x
       
5 ?9 T4 ?: M! w7 B  I        if( nPart >= MAX_HUMAN_PARTS )       
! W! b' j! D) ~4 g5 V( m                return;/ U% R$ G  @/ w

0 d  w, C. E, U7 c9 C        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
$ E9 B% a3 f2 d! g/ [1 i" C. N( I, p

1 v) b8 _4 Y! G2 z! KCode:
7 R7 v+ H8 ?8 Z+ b& W" n8 X#ifdef __QUGET_SWAP_FIX: ^- r* Y+ N' @! v7 H  H4 A8 o
7 d- H- ^3 G4 |7 J$ b
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
; j5 d# }0 B# ^+ }" r                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());3 Q# k6 k' _, |. ~; R; L) _* A# K

: x+ c8 T0 J2 {" ]                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
0 X5 D0 I7 m" I* y, M! a                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );' k3 Y% Z. \) V' j7 R
! X3 x/ P, ~  ^, K( W: z% w
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )- k- {4 z& {' j7 z" `( M5 l
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
$ C9 J' j' ^. g. b# E
" e: G3 [4 e2 o: i#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
# V( h8 b+ X# }# c8 Nand add under: U6 X$ o6 b2 n& `  y. J: x4 t

7 ~# J' j" l- [+ x- rCode:
2 M7 W4 E' S" p+ I+ d! b5 Sif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
4 x- G5 g1 s% m, ?                        {& ?4 z  P" c; B# S/ R' S- \8 V) 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 );
, M4 o9 B4 i( R" d2 S. {) M                        }this
- I& A# S$ [$ n1 K, V9 M1 q/ s5 }& L, C! E
Code:
8 s1 }0 \# `# g7 M6 U/ R#ifdef __QUGET_SWAP_FIX( U! @7 m2 O: ?" U) V( Z0 V
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )' ?+ l- |- E0 A8 H8 A
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
, M! E6 l3 N4 r+ _; q3 ~/ r5 O# M" b
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
4 j9 c' W2 a8 A4 B                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
" X& K6 s' A9 Y' Y" h$ T& J; k
4 w' n$ d% `( A( s5 s! [' u: d( _                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() ); Q, H, ~3 u; o- B5 k, D, v
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
5 e; R5 D8 l' Y, K" ]  w4 h- {
6 Q& d0 Z6 S1 y( }8 \#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
& @' |% Y8 t, `" ]6 }6 G- k: k3 ~& r* F) [

7 {% Q. `, P- ]- y" ^, u

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-17 00:20 , Processed in 0.061521 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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