飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17117|回复: 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
) p2 p) e2 `7 Q/ f$ G  Z: z$ |I posted this because someone kinda posted a youtube thingy about it :O.9 s+ P- K5 E; A$ N- k
# S$ U" U: W7 ^8 O
Find this in DPSrv.cpp @ worldserver
  F8 F) B' s2 _0 W) s5 V
9 T5 H: a+ @) x* b& i+ q, \Code:; m1 B5 m$ U( k! }6 }: p
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
4 X: X, x) b( G1 |$ U& D{
9 t9 M4 j+ y/ F. o  J' o        DWORD nId;" s& ?  E) C7 o, F6 I
        int nPart;
/ |+ y+ H/ \8 C, V% t7 w( u) X) q' c& @
        ar >> nId;: J8 @. M+ [+ i# [/ _$ i" }# i
        ar >> nPart;                + [& y: ^( t9 r( v" e
       
/ O7 n/ ]" N( h: A* l" e! c        if( nPart >= MAX_HUMAN_PARTS )       
* w2 s+ F1 U7 I                return;
: E. O% G7 v4 k8 I3 U7 G9 S  K" \1 v7 u1 _
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
- I$ C+ e3 B$ Q% E2 d( ^# H
6 V/ V$ O8 Q, |3 X+ X5 T
& q6 t' J: v3 i) A, UCode:$ \, @' x1 @0 s$ D
#ifdef __QUGET_SWAP_FIX+ N, p/ j8 ]0 e' k

: Q8 I) @3 V0 G* V3 N                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )5 b. j% k, Z4 b2 \
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
9 Q# r- o" L5 Q3 X2 ~4 r/ G* s' Z! s2 x6 ?
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
: y4 X& d# h; K0 S% Q+ R                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
! K3 h$ f& l5 V4 s: [- l2 F9 s# g" @/ A% K' }& A6 H' A
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
* ~- I4 O# ?3 Z                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
% ~+ @6 `/ h4 `& c! p9 \8 o
" W1 l4 K* j( ?" V- |. _% x#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp: H4 _; V8 p$ @6 K5 q9 `4 ?& q8 x
and add under
2 k9 Z. k# S, B
8 ~% B% a5 B2 F8 e3 E" c* OCode:4 R' F& Q/ m% V3 _  v( [: h
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
  J8 m1 p; `0 e; K7 A: j- c6 N                        {
  |2 v/ X. B; x; X0 f8 T6 k                                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 );* C& T  ^; a% r) H
                        }this
: u1 t5 ^- X# f3 b
8 b1 U& y7 R3 @% d+ `. L  u7 L5 ~9 hCode:
, c2 H5 s+ V1 Z. a0 \#ifdef __QUGET_SWAP_FIX' e, p+ v( t+ m$ S; |
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
8 m3 H8 z2 t7 K                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());) y& P+ z; B. e8 |- n! D/ p6 @
" y# [3 E2 _: M
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )  W  C( {$ P6 a3 A9 O
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
. N# T' h; c1 s  L, L8 U6 L$ |: t1 U2 U% h! w  C6 C
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
- z. Q# [( D$ }+ e, u8 p( |                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
0 P& q: Z" Q% w6 W" L
3 i; ^5 u1 Q. c#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ( s" \; z; O( `$ j

, M3 z( U; Y7 K+ Q
- s( T7 V! C2 g3 c+ Q" e0 Y, Z9 U

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 06:40 , Processed in 0.058026 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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