飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16492|回复: 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
+ n! [7 e0 i! `: X* BI posted this because someone kinda posted a youtube thingy about it :O.( c0 m* {& i* R& T

& x' ?5 X) B5 F& [Find this in DPSrv.cpp @ worldserver9 S. o9 J9 N# U
; Z2 A  ?6 R- t5 q; [
Code:
: c  @& y5 N, ~void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )$ [+ W- ?: L4 _* P  q7 y
{
! z/ s+ _) o1 Q2 R7 l; H        DWORD nId;6 M7 ~" ~: b' J+ k# y$ \& a1 W
        int nPart;
6 w5 ?& w! I+ ?; [7 I3 `: r
! ]! A0 J/ y- R7 m* }$ @        ar >> nId;" l& D2 }/ M& {! h* Z8 J+ a1 q
        ar >> nPart;               
/ ?" C1 ?+ _/ y  N# i# k       
# z$ d9 c5 U/ L8 w8 c) z( [; `& P, ]        if( nPart >= MAX_HUMAN_PARTS )       
' z3 e) A, w" [# J: n                return;
4 b* u5 Y/ x- q* g7 m* |7 N' j; x! u* ]/ D
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it( \5 a8 h) {$ s- c7 m
/ o/ R5 c* ?7 B
& a6 l3 n0 k  b) _- {+ a
Code:
& C+ O' p' ?, k0 E% j#ifdef __QUGET_SWAP_FIX" L" H. I& A; e) `* R+ }

7 m. t7 v# P# w                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
; j7 G' E3 T; j+ _                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());! `$ K! s! V& z( D. G* C
& {' x7 `$ {  a+ D
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
. l3 E6 u3 t# d- z" A                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
9 `/ f0 C& H" l5 x1 V, D$ a1 _! D9 T, O' r4 S6 {2 b, w
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )' \# F! K$ h; X# W5 U  B1 a
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
, Q( d0 @4 `- N* c
/ ~9 s0 Z: r& y# f#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
  B7 f3 T7 h; {0 t7 qand add under
5 r( V, l, W1 y' z9 T5 X& t9 v. ?  a7 {3 h5 T: U; M) R3 A3 M
Code:2 @  p5 N+ A( O* r  \
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
; [% r+ j% g9 \4 s8 f$ _                        {
" z0 \7 _! C" J) K                                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 );+ D9 a, L, f. a0 ?& Z7 U+ |
                        }this
, R( d, J- ~/ i5 r) m6 h
2 B$ U, y* W  r- T0 z; iCode:
" W( m1 L* \! V#ifdef __QUGET_SWAP_FIX- `5 q6 k1 Z0 a. d  b0 J; \' r/ ?
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
/ I& T5 D+ u3 L! a, ~1 u3 W                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());. {/ X  F# d" s  {+ c

5 z, h9 |# b9 g- A, K                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )1 u& L( P9 \+ A# c* v
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
$ G- _, R' t. s. o( ~3 z4 m, x
4 W, @% V. b3 l, s8 |: {                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
; A$ c1 h8 b( R2 x: M$ S                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
' x5 E" U' ^/ B+ O& R9 L* M; h3 L; Z* t4 `
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
% v4 x5 ~( ]* r- K8 h
+ z  v7 X1 O% m: R# o4 d% l. t  ^; d& l

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-14 21:16 , Processed in 0.063823 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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