飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1094

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1094
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 ' D4 o- I2 g) Y3 y4 V) t
I posted this because someone kinda posted a youtube thingy about it :O./ f% N4 b9 s! ~+ ^, s
) ?& G0 q, ^) y4 `: Z% W) `( A7 j, C
Find this in DPSrv.cpp @ worldserver
, g  \( J8 q1 T, C. i1 C2 B$ W9 f5 h& D& X: m6 N& y3 ^
Code:
; c/ C$ B0 [9 [9 ^( p, `3 Cvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
- J. o8 ~1 J) s+ V4 l6 ]( O{
, _) }% B+ q  o. \! |        DWORD nId;! K( s9 d' U! {. U
        int nPart;
: K* V1 x% D1 U) v* A
$ t; G$ v4 [' k. O6 P        ar >> nId;, v8 P& V, B0 l6 S
        ar >> nPart;               
  x, X8 d1 Q; K6 \; ?6 [       
4 q( e4 {. A7 j. K* Z. V  h        if( nPart >= MAX_HUMAN_PARTS )        0 `8 |+ @, S% p; q
                return;
) w; K: h. N# y% e' M
; r0 K0 e# Q9 P# a& `  [        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it) o/ g; P1 h2 W2 a

! n, \* ~- X) n: D  @  s) n% R' i
! ~! P) m$ o1 e4 M, w# ?& _Code:
9 U* U" o* }3 I# W$ [) U#ifdef __QUGET_SWAP_FIX% t9 L6 d* P1 E8 \# P- ]; F6 J

6 ?9 X& P( g9 Y0 \! S" n                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
. O2 t9 l- E3 {" T; h+ a5 j+ r                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
$ W* x% P: K$ |) _1 \1 \& T* y/ v7 A9 _/ I, L/ m$ G" i
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
2 Z' A9 ^4 i4 e8 H                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );* f5 L6 n, H0 f! y, X
, `& ], b  I3 n! w' S
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
; w9 i  ^+ `+ t/ j' j                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );! K( l& ~9 u" c6 K3 J- \
- M& G) A2 Y* q# x$ J& a- u
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
4 I! ^" \* O# k4 D" N* e# i, tand add under
  R" g/ ?8 R- o* z' \! c' A  A2 m) w4 R) `
Code:9 a# @3 z. p6 V2 V3 f
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )2 ~$ U! ~/ b% \1 G- i
                        {% W  l& b! f* ~: C! ~" [
                                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 );
! y1 N/ {' A# ^2 S! b& l/ I' _                        }this
8 A' z5 ?5 ?- R  D" g8 Q$ m7 @- b+ ~; \! Z+ O, t% X
Code:% F# L+ f& }) }- u6 O7 p
#ifdef __QUGET_SWAP_FIX& @6 y. v: |% _9 D2 Q
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
" @* m6 k( ?3 c                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());" l$ T  r" r, R5 k9 I

4 K: {$ F- Q1 ~1 y+ ?& T                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
$ a" n' I3 F. i# U8 v9 X6 y                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
3 L8 A4 t5 a2 R( e; F! m2 w
4 I1 f9 M" B# y0 E0 X8 Y- ~                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )7 E& l3 u$ l0 f( D1 C# I$ I& e" e
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
( Z$ E$ c! z* d5 N# P8 {
9 j6 G$ w6 @& b8 v+ Q#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 1 h3 P2 |2 G9 Y4 W2 [9 x
& W4 ~2 R9 q2 |4 R

, j. q5 y! j: ?. c

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-31 11:02 , Processed in 0.083582 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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