飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16896|回复: 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
& A  L+ ^$ J5 Z% f; {I posted this because someone kinda posted a youtube thingy about it :O.
! o* C) c' B1 Y6 s& x- c
2 @7 Y1 u9 d8 q; q' pFind this in DPSrv.cpp @ worldserver" e' ]  V9 m& v6 r% Q
# d' @3 l( w: R, O% m/ X) O& j3 ~
Code:* J' G9 B4 _: i7 {$ @
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
, X) r- t0 r$ T+ w6 ~' G( U{
+ l/ B* \6 t8 _% {& g1 M        DWORD nId;6 G5 {! A% k" Z7 y8 B6 ~
        int nPart;
& I, t* t( i/ X% h; Q2 a' J
- r; z' \: t2 y; r        ar >> nId;' d% A. a6 m% L3 S7 P  V
        ar >> nPart;               
! A! l8 ~' l, x$ _. k' D       
. N8 t- E5 W8 B/ J  {* _7 F        if( nPart >= MAX_HUMAN_PARTS )       
7 ?# D, k' w# L                return;# }. U& h4 j0 e' S0 t

/ W$ O* S2 D, |: O5 B$ j        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
1 U7 ]5 e3 l7 b7 [4 z; a
( W6 O7 \, X6 [1 E8 s  V. V, v& @; [! ^: ~
Code:1 `3 D3 s3 F3 x: x
#ifdef __QUGET_SWAP_FIX
3 ^' C* b4 u) ]8 _: a) ?1 z' i  L. k' l
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )8 a2 ?0 S2 C' E' q5 W# c
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
, K6 K( p! `) i; q3 W4 q6 z/ T: n; E
7 H5 c# Y/ y$ R* f1 V                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )$ s1 N, l! Z  U
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );6 t( j) b2 ^- k; g  s4 c
9 v8 r7 P9 w7 j" ?. n' l
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
- s! l3 b2 @8 S                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
+ E) n2 G/ c; z( \1 C( q
- \; F1 m6 \8 M3 a" k#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
+ E8 Q. T1 X! x# L5 h  _and add under) X5 M* [' w' E8 M
9 \. F! k/ {' B: F
Code:, B3 I7 E7 h; L# ^
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )* T/ W& R/ K$ O/ L( a
                        {
- }6 L+ u+ c! v! W2 w# u6 o" 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 );
4 j) ~, {2 d, p1 O/ E                        }this! I$ W, M, J1 ]* v5 m/ _0 Z& p' e# V. Q
0 l/ N- e: P' t5 C8 z
Code:
0 F4 ^& t$ V7 S: A7 K$ d* Q#ifdef __QUGET_SWAP_FIX( b: M5 q7 d" M2 ]6 }; [
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() ): S( v& ~# F5 Y+ {( \% g+ o  w' Y
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
- t' r. d, P: j! I
0 {7 \, Y5 C$ g- q                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )+ I' W# x, j" k, m
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );" c1 b  K% N* X

( r, @0 E3 g. n0 o' Y8 a7 M                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )' b8 J" ~% Q/ F8 r; y7 i( j+ a
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );/ L9 k- a$ q3 R  R
2 f4 K! p! j' G1 a; P2 I
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
4 f: T9 B, l5 L' c% F6 L- q
: i$ P$ C! M) D: H9 q
: D: h: _: @& k7 l6 d8 c, _& \$ n2 Y

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-11 23:18 , Processed in 0.086293 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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