飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16345|回复: 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 9 Y2 H1 P' K* ?  n2 k+ E, X; K
I posted this because someone kinda posted a youtube thingy about it :O.
& F6 }) b7 l+ Y4 \8 }6 ?' {0 M3 C9 D; C0 Z
Find this in DPSrv.cpp @ worldserver& B1 {) V1 i4 }/ h3 @
! v1 v4 C, w# U3 \) z& v
Code:
" i2 z3 C4 w2 S7 W6 y9 J/ y- Q9 jvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
( U' Q2 E' x9 m6 y* a4 N- E{& ?  e% v; O9 f- E  e/ S: K# i* _
        DWORD nId;/ ]; |5 L* o1 Z# N, J1 |
        int nPart;" C4 o" T; i( G7 C8 H7 C/ ?8 E3 d

1 f/ K! t/ g; R9 w  f        ar >> nId;
9 l6 V) v2 X% a1 q8 k        ar >> nPart;                8 }9 n0 q( t3 M0 o8 P6 s1 e
       
2 c+ j6 o* P1 P3 S% n, P" H1 }0 G" v        if( nPart >= MAX_HUMAN_PARTS )       
# i1 q* C9 ]6 ~3 w7 _3 [                return;% Y* l+ w. C$ s1 o4 h! J8 H; G# X( I

9 G3 d) A6 h" r1 U! |* g) M6 J        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
# |' o' X+ e' J/ U- [5 h' O8 U. |% _' J: x( V

2 ?% W/ k5 _! Y/ jCode:7 p, ~. I5 o! j, o" R8 j- z
#ifdef __QUGET_SWAP_FIX
4 |" U- z" {' M
  g1 ?- T/ L0 t                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )' i. c: o! U0 T5 m' O# B" b% r
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());" h, Y7 `" d# I) N" @5 c: M
+ |. v. D( a$ a" L8 B) T
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
0 g$ A7 Z9 P. [7 h. F4 s, |                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
, \/ f, a% f/ T" r1 b' q$ M( f% _3 k+ l# M# R+ n+ R' o
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
, n% d5 I4 S7 j: K2 z0 `( L) I                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );" h- P  O. M* |( z
; k" L) R# Z; _' b
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
. k# H2 A* d$ [  Gand add under
' Q6 c( R$ O/ E$ ]" r& c1 v9 f4 L7 v
% \; y& {0 R# p7 O' C$ G) k* PCode:& z6 O; H2 N9 k6 T, @8 u8 L
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )* v0 T4 x2 n2 N( \' H& E4 B9 E
                        {
0 g" B7 f% a+ v3 P1 t  Y                                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 J, m% c4 ?; D9 l' Z% ], h                        }this
, `9 p# g0 K% X; D2 L/ S' g
7 V+ T8 s4 a2 ACode:
7 M$ ^- Y; s" I9 f4 w#ifdef __QUGET_SWAP_FIX
/ K* N7 W  c% `$ f, h. A  A7 G: n                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )0 K; l! f% j) W/ E: f
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
/ H' M  T" P& d5 e5 k( q, y
0 y* e- Z' L& P& ~" i3 |( _                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
2 p# Q% P2 ^9 U! h/ v. I2 {                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
& n8 T  q4 i9 s) Y, h) w/ n1 B1 q3 j3 \$ N
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
. A' k. _8 C4 u                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );" h( X, l: S0 a$ M. i' ]

, N! k5 c0 R, d. }$ d#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ) s7 ]6 U% n" e

7 O" e4 L( H! Z6 K4 g
$ s% e# o' S. y, Q

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-6 12:26 , Processed in 0.069420 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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