飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17249|回复: 0
打印 上一主题 下一主题

修复交换错误

[复制链接]

197

主题

203

帖子

1088

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1088
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
# i  B  G/ a" f1 [$ e: jI posted this because someone kinda posted a youtube thingy about it :O.5 s. G/ L( v9 K% a; Y% @

) w" i0 a) M  d& d% y3 TFind this in DPSrv.cpp @ worldserver
+ \1 H/ \' }: d. ^" Y" d: O; @; ?9 p
/ y8 d! P% i' v7 J! F- gCode:* ?5 b4 L0 F& k# M0 T
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )# g7 Q5 W. c2 o$ d* ?/ V
{
6 |5 }& B/ W% i& G" d0 g0 @; p        DWORD nId;% s% t9 e3 D+ ~
        int nPart;4 }3 D$ a. ~/ d# o9 {

  D, H) ]0 |  V5 Y# e! H4 x        ar >> nId;% h) w, m$ U4 M! v* |- ?/ ~; s6 n9 O
        ar >> nPart;               
* X5 x" M2 m: p4 z: t+ J        " x6 m. A2 a1 U$ M/ u8 _
        if( nPart >= MAX_HUMAN_PARTS )        & S9 k& I; V3 ]+ n6 d! S7 d
                return;5 M; P' q6 J0 R7 @% W$ n
3 h5 O( f1 L# x7 I4 a. |7 Z/ {
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it2 M: K. Q' @( o: a" \
) W5 w5 Q" O1 Z2 X1 ]) b& f
3 U: n, V& l- }! |* K3 n) t
Code:
( o6 R$ x$ K) e( F. K#ifdef __QUGET_SWAP_FIX3 U; h! o# d' C
8 c- m4 ?8 V+ ~' e/ \
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )8 c2 _" s5 D1 V1 |9 N! C& B# J
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
2 K( B5 A; v, F- }! A, X! R0 L5 }7 o; f7 y' r/ \  B
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
! p+ q( w8 f1 Y( R8 v% r; [                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );* z# [, K/ Q1 Q/ f+ x
4 O% N* Q3 A0 R& ]
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )5 h* U0 w; T( n$ |1 P  u& A; V
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );0 M- p1 @% u& a0 k

( _( x. o9 D' e) M/ G6 H% \- [1 s#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; z/ n5 P3 o. D% s' b# C  Q" Y* nand add under
! c. s" I2 \9 Z) [
# q, ]  N, k8 S" g8 @- X: ~Code:& V( D4 U" ?5 V% a, }8 T" l0 `8 y
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
2 A+ E4 y5 [4 {0 j' G0 k+ O7 o& s0 Z                        {
, k  _' A" E( S) `" t( h                                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 );
- {3 r6 S% b  t( d                        }this0 X5 p; q; g0 o5 Z
. t2 ~* J& E) n
Code:
# k) N9 {/ y) V0 Z#ifdef __QUGET_SWAP_FIX
0 C* z1 F1 A  X                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
5 v" ^# `( y. A. F% ?# @" y% {                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
6 {$ g3 J+ X3 |1 W: O. o$ Z, }6 \# e9 V' A
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
3 C/ d8 e9 c4 d                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
% l9 B3 t' q% y  _
2 B+ q' H! N% v$ s6 g* D; ?                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() ). M" i+ s4 ~. u' o
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
6 I; @; O9 [0 e8 S5 i5 B; p
  W& {3 q) d0 D& q/ J7 ~( ?. ]#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver / L. \: f% o. @( r
9 v7 p9 d/ V8 R2 o: ~8 g

, d$ w3 c# a8 C) Q: U/ L

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-26 05:28 , Processed in 0.059527 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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