飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16933|回复: 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 5 p# _$ M( A4 w9 I' Q
I posted this because someone kinda posted a youtube thingy about it :O.! u' d5 ^, o) t) x; L( P0 R) N
5 ~( p0 A, C$ i! F
Find this in DPSrv.cpp @ worldserver# d; d- W6 R* Y" x+ e8 K1 i
0 [) J- c4 R# z; P8 o. Y( S9 n
Code:
* j# f2 S/ q! [void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
9 q2 [; B" K7 k, ^# D{
8 g& V: z. l3 a7 d7 V+ h  G8 N1 t        DWORD nId;4 j: y9 Y# C" Y! T) D4 @* u/ E- G
        int nPart;
7 z; B$ b, J3 l7 t
9 g0 N. r& y1 g  L& K" F6 W! o        ar >> nId;; z4 v0 {0 g8 ?. [6 ?9 E- N
        ar >> nPart;                / [3 [# J$ {8 K
       
/ L- q/ Z8 o% z( W% o- E+ e. z        if( nPart >= MAX_HUMAN_PARTS )        . j& F/ m0 v, h, D4 k" t( \
                return;6 ], v6 Z4 V3 z+ `- A( d+ D1 V  u
; _7 ^" p8 l4 T  ?
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it5 {- ~1 W& c2 v1 Z# i
) d( Z8 \; d" Y8 C3 W/ ]
, J6 D2 m- A8 U' F/ h$ [, X0 f& ]; y
Code:! V( c. V) y7 A; W- t
#ifdef __QUGET_SWAP_FIX
( D0 U$ n- E% }& {
5 q) a+ N( U  ~6 m/ e                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
/ C  n- K+ O8 V4 Y                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
- n# w0 _$ ]8 b
0 ]& Y# O6 h3 T, Q: w6 d; k0 c+ w+ ?4 [                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )9 o( B$ h1 P3 H; u$ [4 r/ n+ A
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
% O6 h) T, P  k8 U! Q$ T; j: U4 b  L. ^$ o" n( i
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() ), \0 ?/ U% |2 ~) \
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
  ^/ j% v* Y/ [& k# ^3 u% H$ N0 R( f% n8 }+ N4 b
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
0 X! c0 e6 A  E" }  U2 k* tand add under
+ |, O1 N, H. h4 K" e( e" Z2 l$ V  I+ d, T
Code:
, f$ a+ t2 d0 ]" |% v0 T0 h- kif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
7 Y4 x8 w1 K6 L9 v                        {
9 j2 a& ?  d( R  s; `                                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 );0 N8 b/ Z; _9 [9 w
                        }this
! Z  ]3 h5 W- i8 K: U" M; r; `; I
* k$ Q$ n! a1 l6 J2 J5 R2 \, gCode:
) Z+ x* [/ D  _- p  ?#ifdef __QUGET_SWAP_FIX
% y( ]; q5 q/ p: ]( X8 m: K                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
9 }! W% C' o1 `  G6 o                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());$ {/ y* {3 j/ M. r& i

# }, B* A. G+ I! a/ Z% z7 ~! _5 z                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
: Q. n2 a$ y0 d0 Y0 a                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );; ?; Q8 S& R- Y; O: T! R: u9 N) ~
2 [; x  ~5 A6 Y5 k# J
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )+ J3 B: {; M) w7 n  U: J
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );8 q# L5 M, c$ S2 P/ e

1 O" ~# S: ?0 F* w#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver : |  y& w: l$ U. |6 G8 _. S
2 h3 a$ I* v* e, e7 p3 c, {7 [

- I$ ^  |( W; Q' w6 r% S; x# y

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-13 15:15 , Processed in 0.070924 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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