飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17329|回复: 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
, g/ `% ?" I% r! Q$ j4 V; ~' UI posted this because someone kinda posted a youtube thingy about it :O.
4 N- I0 u2 Z& z4 [7 x9 r- M6 K7 D& F, {  m0 Y( ?2 P/ U# e
Find this in DPSrv.cpp @ worldserver
& j: D; E8 Q5 W& N4 [+ X' s2 a" V! {, n. E9 |* Y; p6 e
Code:) V4 e" j, k5 U, y# `
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
0 ^8 j  S8 R* T! d7 u2 {- ]{, O% Y5 z9 y" ?% a" B
        DWORD nId;" I& z1 \: t+ R
        int nPart;0 J9 W7 F7 U/ C- z& |" D4 [6 d

: P6 R) r+ F4 `6 U* T        ar >> nId;% m! J% t4 }7 V$ g
        ar >> nPart;               
. ~( H6 v! K$ E* M- `       
7 {* ?. p( M% \, @8 P' `0 V8 x        if( nPart >= MAX_HUMAN_PARTS )       
5 [. ]6 P3 |' k: r3 y5 k                return;1 b& D8 _: k% S- x! t' O2 f! m. O
& Q, }! M! h% |: }: g5 C' V5 h$ }
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it) p. i/ A& g0 Z" J

6 L- ^0 ^; ~# G# L, i* l
+ H& t2 M% j- o) y. SCode:  c+ V: B  ], b- Y
#ifdef __QUGET_SWAP_FIX5 W6 U+ d8 l3 `+ \8 m

! ~! Q0 \+ R5 ~& Q0 y- Q$ c                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
3 w( @% V* R2 ]  L4 {. z2 N; ^6 w                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
' |4 ?. v  |  L  g- _6 |2 S  f2 L8 {3 l# ~; O+ x; x
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )5 c7 B+ {% T  ?. U7 v# `& T) R
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
) Y+ l6 @6 E; G6 q( k, e1 z% I5 c3 q
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )% C! w: C! C* O# a+ _6 V
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );5 |# d6 g3 p4 d2 T- ^

9 B' T) ]3 a2 d1 K#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
3 q1 |  A5 ~; }8 j' Jand add under
3 g# @8 N, B0 p; \, d- o! i
  f+ B; {+ k% UCode:
/ K# _7 ^5 z0 N' z" vif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
# E. U8 Y7 C* e. P; q4 z                        {  i0 c- Y' i  b9 F
                                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 );
$ [( I% d/ W% R                        }this
5 G: z+ W! ?1 ]- X5 \* z5 P
" ^0 A' B, K4 lCode:
) |& V" d5 \8 u- T; |' I#ifdef __QUGET_SWAP_FIX: E3 n; b# i' T
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
0 G( {' P) L- r! \8 P                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
1 }  M7 B0 t* l( n/ L" b  g+ I3 e7 k9 k
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )8 k  \' F- T3 q$ L0 Q7 C7 u0 Z' A7 }
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
$ \/ c) A, x: ]' V* [' T
) d4 k: _, u9 {1 D                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
- m. p% ~/ h  j% g$ q- Y3 o  _                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );' O" |6 ?5 P% |' c; S  c* J

8 M3 n# j, G- Y: E) C& Y6 \#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ! ^, u& \5 Y8 n- Q1 N
* {" O  r. m) @$ c; f
/ u4 [) y$ }. T% d( I7 V

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-29 00:02 , Processed in 0.061401 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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