飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17070|回复: 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 ; O$ j. ]( f6 }
I posted this because someone kinda posted a youtube thingy about it :O.2 f3 u* b- n" n. Z
. o0 U+ ]: T- z$ [1 A
Find this in DPSrv.cpp @ worldserver
2 B! c2 u! @/ K3 M$ Q1 K4 w* F
  [6 V( M* t4 o; ]% Q6 T8 ZCode:
, g9 m! h+ K' x/ U+ N( `, H( dvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
  H9 }4 b& l2 o( S# y6 n{
# }) H* A: P- i( ^        DWORD nId;
& Y/ E+ K. k6 F: j1 c/ X/ v        int nPart;" e+ f4 ?  q# B
( B2 q7 F: q& S* Q
        ar >> nId;
4 V% v7 l, l+ e5 n4 X        ar >> nPart;                ! Y6 A* r- Y5 `# F
       
" O" l. P8 V0 \        if( nPart >= MAX_HUMAN_PARTS )       
3 W9 n! [$ q7 ^8 U, N$ G6 Z( e+ A                return;
5 `4 }1 T% ^4 p  z! F  d" X* Q4 g  A- \  k/ h: o
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it; R7 e" G1 v5 @4 L' |

2 _( s9 G! O  C! N# v9 \, C4 C! q" ]* f: }
Code:' x" u7 X& v3 Z) W( u  U) q
#ifdef __QUGET_SWAP_FIX
+ N9 F* A) m+ b; O$ g1 V" B4 d* G  F3 `) F; j
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )0 p8 D/ \# t5 a+ e/ G+ H( m
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
. h* \1 N  T9 v: j; ^9 J6 a% `$ `
6 ?( Z& N6 I4 s  @$ F! f! ~! q                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
1 X& ?% L( h# n" t. W                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );8 z2 k/ X9 o; @5 m

- X; \# ?7 `6 J, {& E                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
4 G% E, F8 ~  Z/ `* J9 E, [                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
: \* J6 d$ c" s5 p" }4 A4 Q4 c2 X9 |5 |# @9 }" O# o
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
3 `) g7 Q! S; i6 e* `and add under. i; s* F$ u7 _# b  N- k
6 n2 R( {7 V" x0 e
Code:6 Z6 v) V: o# e
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ), O0 l% f+ Q) I1 j7 z
                        {$ Q0 Y8 n/ B4 J, 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 );
2 a. E5 j' S5 c                        }this0 K" k% W$ f+ ]' ^

' @: P* d! X; k# ?9 g/ ]  C* t2 e- ~Code:
% Q' C. c# m3 U% E8 e2 I#ifdef __QUGET_SWAP_FIX4 B" d4 B% D6 d5 h
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )' h8 C- x3 W/ R1 z5 l3 d7 p
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
# o  S7 b: I$ i1 ~  c$ O' s6 H) T+ ~4 ^" k* l
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
6 W, P( u- A6 o6 z0 X8 F$ f                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
+ C5 R. ~% @) j, `# v! n" }
1 S+ f4 E' S$ F! `; b                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )/ m% m  z4 A" v+ J7 Z. I
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );7 f3 y" D- s- g7 P( e5 N+ U/ X/ d  x. S- N
( \- ^- q, |0 H
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver - d8 f' }  S6 w2 i3 H) ?

& E# n, z8 P5 i0 }2 d' {3 q1 A& @8 z/ x8 B

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-20 14:43 , Processed in 0.061375 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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