飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16746|回复: 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
3 P( s% h7 o5 T/ E  q" G+ mI posted this because someone kinda posted a youtube thingy about it :O.
% ~/ e0 _0 U6 J4 B- @0 O4 u  C8 l2 h+ P0 h; }4 r
Find this in DPSrv.cpp @ worldserver9 ]" r( z) C2 H, C" s7 a4 `+ [. ]' Q

. e5 w6 U+ n; }- d+ s0 L4 X5 C" NCode:+ o" h% b/ R  b* j8 F5 b" y
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
: m. S# ~8 r% W6 p: ]{" P- C6 _  K! l6 B
        DWORD nId;- X; q# n5 B! e2 j
        int nPart;
) T& D# e$ u9 ]7 g0 u+ j; ^% f  X$ u) q! w# n5 B' ~
        ar >> nId;
$ o4 l; B% B( ?8 Y& C        ar >> nPart;                + n! G( U( X+ a" J1 T& U
       
/ |) I8 L5 \0 N/ A: b/ f. H        if( nPart >= MAX_HUMAN_PARTS )        # w7 w! l& g5 _& f  F
                return;/ i8 I' A  }# r! {+ e! a' k9 |8 K0 `
; [- x! x" `: i& B+ D$ r! X
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
  v, u2 O/ ~, g7 Z6 r+ K, w. f" _9 P2 q1 c% j7 n7 B; Q5 ^
# o% |5 h8 T+ ?1 m
Code:
" g1 x+ ^  Q% G#ifdef __QUGET_SWAP_FIX
: N/ P$ `- Y$ Q% K2 r3 n5 Q" M& w) D' z4 F& t4 K' t
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
+ U) l2 D+ t8 A                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
; z3 d4 T- z3 ~" g7 M/ ^6 K" Z2 v" U4 P
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
% y* d* }+ W8 |: }5 f                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
& `" U* f% F9 Z) h7 \' H7 w0 D" o0 F. `. c5 R9 ]* ?" }5 ?
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
, |% M2 v1 z8 j& [; o# |8 L                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );, @5 q& [- L4 J0 h3 E

3 z. C) S7 V4 W) r# `. C2 o#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp6 \. h( B" _8 }9 u% U$ X/ Q
and add under+ q5 \$ Q2 \6 m, K1 q( q4 p
" \/ K# }( n' b- n! D/ a6 A
Code:' @$ m( C3 t0 g7 Z% \/ z
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )) f# d# v" T' x# u+ e
                        {
1 y. u$ o! L% Z9 X" T                                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 );* ?. P. J& W% U2 D( `$ b. H# C5 h
                        }this' ^$ d( K2 V4 R, \+ I! w) O
; A6 \+ H% F' F
Code:+ P& M. H" x7 h
#ifdef __QUGET_SWAP_FIX+ v8 H! C% f) n/ P5 M  J/ _
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
- ], U+ A2 m7 T6 M                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
0 N, U1 [2 ?- F
) i# @5 P3 r9 {                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )) q7 _# C7 o1 t( [
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
. s  M  }6 n2 s( `/ Z6 d: C' T; t" \/ l3 N
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
# h3 {+ R; @: Z* v9 l+ R                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );0 S) L, L4 x5 ~/ [8 C+ l' @
  |$ C1 T0 l5 s* A" h
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
2 n3 z( c7 a0 J3 E+ Y8 R# h8 Z! n1 c6 a4 Y4 f) W* P

0 U7 i8 S0 K0 O: F' }( U% n* t

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-28 14:32 , Processed in 0.060832 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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