飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16550|回复: 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 / t9 h% Z( Q, L& h
I posted this because someone kinda posted a youtube thingy about it :O., ?. [: |$ p, G
/ ]+ p/ \+ |" ^( M3 |9 k
Find this in DPSrv.cpp @ worldserver8 K& D( n. w! a

; O" n5 {# [4 T' wCode:
* V/ g% J. I# v0 Hvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
" T; \4 ]! Y  N7 j8 i# n{1 ]  n, `0 V* c# j  V# J
        DWORD nId;
( d" S! k. n/ p4 X' X3 m* i5 m4 R        int nPart;* i. Z3 T0 L( D$ {) G# `; \
8 {& E/ ?) q! ~# |6 N1 f
        ar >> nId;4 ?; Z5 N5 s* n4 C
        ar >> nPart;               
- b+ R& Q. L6 R8 N, R       
9 T) Q; r# V5 M: b( J8 C        if( nPart >= MAX_HUMAN_PARTS )       
  l6 J# C' J) _8 g' m  b                return;
. a3 w5 M$ f: X3 Y9 Y4 s* Q
- j0 W1 X: k# s        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
) M8 R4 b9 ?7 K6 f. Q' k/ E4 @" G. B8 B
8 j4 `' J) E' Z3 f5 D/ s
Code:
% {% P" U2 s5 O% T#ifdef __QUGET_SWAP_FIX
' l& u  R$ z6 l6 ~  p- j5 n" Q' ?. R5 b( q+ L/ F8 r$ W, i
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )& K* H, Q1 q7 K# j3 U
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());2 A1 }: O4 \0 I2 R2 |! Q

, [2 f$ x- K9 U1 ?                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
+ u0 ?! z5 Z( U5 x! R4 F2 {% U                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
. l! f/ V. Z1 @$ [9 g, T
0 a2 z! e8 |6 {! l                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )" e+ x$ J1 t- X/ U9 f
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );/ x: a* ?/ b8 G7 ~* z( M# e
1 l$ @( j; t6 X3 ^" N' N/ B5 [! f
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
" a( G9 c) u+ d* |# P  b4 I0 Rand add under  X0 }9 W; W% l& N  @3 S! ?0 v

9 v- _) R8 D: l  I; S; p4 ECode:( v6 W* v6 B1 F+ n4 r  E( ^
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ): X9 N1 ^  c1 s0 \
                        {
- g  b! d; [2 Y* 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 );# q+ j! I) O3 ^- @8 U8 V
                        }this9 w- J0 Q& \3 ]5 z
( c! y8 f5 i  T" M9 l2 Y8 W  H
Code:" q9 a1 M8 W. ~# S5 l0 h, E' O
#ifdef __QUGET_SWAP_FIX
$ B1 [! A& r- m  _* A7 o3 P                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )3 n( ?' O( p1 p2 b, w9 ?* Y
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());& p# A0 Z! u2 c& K/ g2 F8 ^9 W3 _
' W- ~! y. f; F( T6 @
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
; i: W. _, S: P                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
/ ^7 s4 K5 U, D3 Z- @" `+ B- O) l8 h4 X
6 b+ L3 L' ]; l                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
$ k- S! P% {) ~' A1 X. w                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
& H6 A% L" }/ r4 d. R1 P! q+ T1 L0 s8 L2 G! r% o0 v! c  i
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver & x) V3 w- \) b) _# _

+ H9 K% [1 I. E5 @2 e
- _$ ?0 C4 M$ \* ^

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-19 14:02 , Processed in 0.058433 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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