飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16339|回复: 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 : Y5 m/ Q! i' U9 t( g) J
I posted this because someone kinda posted a youtube thingy about it :O.% W& ~& x. k! {7 v
0 N: l+ X$ M" f8 U% p
Find this in DPSrv.cpp @ worldserver
  R" W; c/ C7 ?  ]& t/ J
1 Z9 ^6 U3 T( V8 N7 yCode:* R4 z/ p0 h# ]; a) l+ _
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
8 W) R: P! J3 y  Q5 X" ?% H{
' i: e  c) T# H1 `! {0 _        DWORD nId;
& d& u4 A, s9 ]        int nPart;: P- O& T% }! j2 H' u

. b" u+ i# t) i5 [9 C* V        ar >> nId;6 y  P+ O9 V2 S/ G5 d! k
        ar >> nPart;                9 b4 E: \9 n' C1 K
       
& D. q) P7 m" e/ I% @7 B        if( nPart >= MAX_HUMAN_PARTS )        5 e# m7 [$ D. _+ }8 y+ l
                return;
+ m' Z1 g0 M) i& {# o9 }/ \1 T) C4 K4 V
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
( t" R, i& e2 N( }& m1 g6 q! l, F; {9 ^; M. b& s( V

9 C% ]4 h8 I* d5 E& A+ B6 XCode:
% n- x4 c! p6 Z3 Z8 g% T* Q9 E) q#ifdef __QUGET_SWAP_FIX
: I% {( n4 D. f4 }( D" H- x4 ]
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
$ {' i0 o5 D9 X1 ^$ }! q                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());# v# B! [7 t# R! v8 k
6 u6 D: I7 v& S
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
& c' D) @8 C& N" r6 o                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
3 o" }( j6 _9 r( {0 i5 O( }5 r$ |, Y& [
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )5 }) E9 j, U/ c
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );2 K6 O1 @3 Y! G% C+ y7 M1 C: s

9 ~( R' T; L. ]- f#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
+ i, H; D8 h0 G/ |% M2 M# Tand add under' s: ^& ^; p( `! \
6 P7 a8 q7 f/ Z7 Y
Code:3 F: q. A4 C* L1 J/ o7 |( l! }
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )0 ]/ o- `: o* v+ \4 G9 U) A! w
                        {9 z, `6 S. j! P! u
                                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 );1 F+ f2 {. ?6 X, n" H8 j3 Q
                        }this: p8 Q& I$ `/ Z) w! y
  b6 `/ E' l/ W7 b) }
Code:
( k7 R1 z+ ]% U3 N) w: W/ Y#ifdef __QUGET_SWAP_FIX
9 k$ B( `. b6 S" m' V! M                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )6 ]) F: f" ]! _- W
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
9 o" a  e9 r7 C1 j; w' J/ `! q+ q4 D& l6 J1 Y6 ?* s
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
. Y, W/ a) d3 h# n( \% Y5 i9 F                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
; }5 N9 q- u2 t
" U' `% s7 t; \7 ?+ E                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
2 t  }* h3 F+ g                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
% W/ N# D* w5 y9 K8 }
1 _3 r3 v( K2 ~8 x( r" f#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
! |- c1 c2 B1 q; S
) l2 l- q8 j! V1 f7 ^
* w$ D9 I( ^& N$ G# q* k) z$ W/ N

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-6 05:16 , Processed in 0.065275 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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