飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16681|回复: 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   \8 ?+ x; d6 g! W1 P4 P3 O2 J8 {- C
I posted this because someone kinda posted a youtube thingy about it :O.; r* S* d" A& e
9 q3 o( _3 q! t. O
Find this in DPSrv.cpp @ worldserver" o, r5 Y# j/ T" b4 Y

. r+ A+ [4 Q, q+ `Code:
: ~6 b& y! ~* Yvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
* I/ o" f9 _# _& H: t9 O{
; S1 G' h4 [! d; k) c- |        DWORD nId;) L: y; ]# u1 V, W% W
        int nPart;
  m$ R: P+ C: W7 Z2 c0 o9 N( x
2 P1 I( x5 P& @" o, u        ar >> nId;
. V- g/ A3 ^. E9 b        ar >> nPart;               
4 h: V* W4 b  d8 v% @- _4 Z; |6 T- B        & j3 P) ?5 _" o, G  ~0 ?4 g1 Q
        if( nPart >= MAX_HUMAN_PARTS )        . v3 O/ p$ h" }# T4 L
                return;
/ Z: n5 M4 K7 d$ ]* K: ~) g/ _
7 R+ F$ v7 Y& F1 p* N' Z        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
& ~& R' H6 G6 \0 F3 g2 `; X. C. e4 d4 c! `/ M- f+ [- ?: H
0 Z/ c* y. l# a; d9 Q
Code:. K$ j; ?' c; h* T! ]' q8 m
#ifdef __QUGET_SWAP_FIX3 ]7 Z0 N% k8 @6 k

/ G: u& N  b1 m& H9 B: C% W/ f                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
" Y8 u5 F7 ?) ^+ s& ~" ^                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());" w! R; U1 j$ |/ n. {. r. F% c" C
3 M7 [+ x* H& }% U7 P
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )+ n9 v! }8 \. [/ x4 u% {6 W
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );7 a* M- Q* B; k$ `$ C4 h
4 B' |1 D+ v' t( G1 q4 C' T
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
. x- q8 K. F0 k: `& J, F8 t                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
  [5 i% d, x4 Y, T& e+ S5 }6 j5 |" S; n
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
3 T' i7 N% f6 M- }8 o. e( G- Sand add under7 b% }  F# G3 I: J

8 O7 k3 \, z  {4 }Code:* M# n% u  q& j
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
6 |  g0 b( V" i  p, f                        {% {' N- J4 f+ w1 e2 ?
                                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 );5 V2 V# Z7 I5 f4 X, q- }, g
                        }this+ i9 A; c5 X7 f5 ^; S
# P4 w9 n% f  d: n0 [# F. \+ x
Code:
/ P2 q5 E* @9 B: H. ^9 m#ifdef __QUGET_SWAP_FIX* J/ O: L2 a( w$ h. _. m3 y9 I, D1 ]8 A
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )9 Q% o# H6 p& H4 M$ J# ]+ A
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());  n% [& `1 O1 @. D! [; m: t" a
* A/ p4 S- n2 W, n5 t' J
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
" c4 k( {( i! E* e& _8 S                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
  P' [& U5 ]7 a
, g' t% Z& U  W# c8 C6 K                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
  [+ N; g0 X% u# \4 n: E' Y8 G                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
+ }, l8 |% q7 ?
8 l# \. ~1 k: W( v, N9 w8 \#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver , q" U$ |. o3 M

, _2 Q7 J$ y# {4 h. v/ C, f! ^. m
+ m) F( K& t1 ~$ f0 r5 S

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-26 01:57 , Processed in 0.093685 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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