飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16442|回复: 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 - X- |6 Y& M  G9 T# v8 f. u+ w# T' \
I posted this because someone kinda posted a youtube thingy about it :O.! U" m* C* S. I* L) D
( ^% d6 ]8 z2 }2 t& G
Find this in DPSrv.cpp @ worldserver& C, |8 |, o- g! W1 u2 f' {
; e0 {8 X6 ~9 [  p
Code:. [5 P! Q4 A. z7 u1 ]
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ), F' T' ~/ b3 I) i
{
" q7 X) X6 W8 c, J        DWORD nId;
- q% W0 s2 C" Y- }. I% ^        int nPart;& f- b5 O. C1 E' Z

% U- w" i% F4 U% \( F, _        ar >> nId;
; `% }; [' d% S2 W        ar >> nPart;               
( \- q. Q% S3 R' P# t       
$ s* Z  K7 T0 B2 c. f8 Y- c0 N% e        if( nPart >= MAX_HUMAN_PARTS )       
! y# K7 [4 y9 ]. Z1 M- q                return;& p- V' ~! @, _" h; Q
5 P, \8 F9 x( x7 z6 |: h
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
) K/ @* h. ~. i/ z8 Y1 f6 n: a* @) j0 H6 A1 Z4 I
. ^0 `8 ^- G' d( [: K# k/ ]$ C
Code:& K8 k% @5 d6 u! q/ f
#ifdef __QUGET_SWAP_FIX( _2 B2 m8 Y' W' {2 s' Y, G

) l8 l, y( h, O' E" D                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )" w! v+ f  ~: m
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());6 d% H! V) p) N$ U. b6 W( \

. g) E/ f2 Y7 Q! f' y+ R# O- k                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
+ l- A  C, Q% b' E1 A5 J                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
$ O  v2 n+ Q* f$ K
8 `+ J) d, {& i* |' e                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )- s: P' A& {$ j) ^/ o) @# c+ V2 [: B
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );% a% z) R0 F7 h- o
" A& O* U" j# X$ X  v4 R' _6 e
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
! v- T2 P5 @) w, F1 n, _8 @# Cand add under
! ?% |: d* ^  i& [8 p% M" m( Z
2 G# @$ r0 J2 f! k; N4 n8 c  wCode:
* u. I2 G5 j0 n; d# yif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ). Y$ \# N5 \$ u* d2 M  t
                        {
% O  d5 a: _6 b: n                                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 );1 Y) I" j( g( V
                        }this( L$ y1 V0 B! Q

; A5 G# d( c8 D$ j( `2 x) OCode:
& }  ~) w9 g, R: [5 m#ifdef __QUGET_SWAP_FIX( I% D2 P0 o+ {. o* r
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )0 u, r5 d: [* b. t7 J
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
( W  b8 B+ A4 g8 M! o  F
5 O  `6 n  s2 n; M# M* @                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ). U# ~2 h, S( a  ?& |. q2 G' |% A9 R
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
% d% A- S4 l3 m. o( z. E% \7 x4 \- A5 f  p+ r
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
/ h" c$ ?; D3 T, T                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
& r$ }; `0 E/ k1 m& H$ B6 G
$ {. n* ?0 m" Q& n  ]& h#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
5 R5 D" {3 W. s- p: f4 R9 Q0 A4 d3 ]6 b

$ ]$ \+ M7 C8 B0 v& O: {

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-11 23:01 , Processed in 0.096749 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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