飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17115|回复: 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 - J+ U+ M/ x* U$ ~1 l6 E
I posted this because someone kinda posted a youtube thingy about it :O.
6 k2 `& T- v) H- i5 n( W
% ^( C7 u, j( |! t- D' jFind this in DPSrv.cpp @ worldserver  t& J* |* u( Z1 y  w
" B7 k0 k- V: T% x
Code:
1 S0 {0 ]0 a# {; {" |void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
/ x6 O* K  ~# `4 T{+ n. U) E. a$ U) o) y, T" _  v0 c
        DWORD nId;
% b/ h1 t8 N0 }# f! L        int nPart;
( z# d% O4 b! l' X1 A' X8 T- U0 {6 I" o( G3 @0 C& }( H
        ar >> nId;0 k; [6 _2 h2 b, n* }( m4 |
        ar >> nPart;                0 D# b% h& H7 h6 @- X0 Y; j
       
4 |, k$ E" @9 K4 y0 ?        if( nPart >= MAX_HUMAN_PARTS )        / l3 V# c# i) p( k- y
                return;
* `, d! v& s# W3 m/ }1 s8 D1 n
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
, W8 m5 L+ c! {8 Y
2 i. z( _4 q7 U5 k; w- A. k$ @1 {- D- A' d
Code:; T0 A' K" v8 F3 M  g# j+ h
#ifdef __QUGET_SWAP_FIX
  y3 ?/ _( Q* Y  t% \! ]+ L! s9 ~9 X# d5 ~
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )% D5 b: Q) x: J( ]& n9 a
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());1 s9 J4 T1 E& T6 H: A- [

5 a  m/ \  V$ T; c& I- o                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
) h/ c- g: G/ o1 F                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
8 }! k* S, O% ~
. U$ [/ c" m8 k! D8 k& X4 M: [                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
$ K: \' n; N& K* S& [                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
. O0 M  x% K/ W2 ^; w) e' Z% ]
1 Z& V# @! V1 g1 B7 {#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
6 _" G1 x/ R' Y& ?# Q2 Q; Iand add under
6 H* @1 T# k9 G9 W7 `; U- c8 N) A( q: Y
: m$ A2 b" Q$ S# j. @# Y6 j" R& OCode:
! b. S, G4 V  hif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )" l. t5 E  g- P3 W
                        {
; \* J9 F8 j7 z* _                                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 );/ k! R& j. E3 ?8 P9 t8 \# }
                        }this2 i2 z* C3 F0 Y: A/ |; }
$ l+ X. D$ c1 \8 {' b
Code:- g4 t' ?& Q4 F) ^% n
#ifdef __QUGET_SWAP_FIX
# b5 j5 M- \$ d0 Q7 |: P) k, B                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
6 ]2 y  k4 p- P5 U# I. z0 T8 |                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
, ]3 T8 I2 l1 E) n, E6 a
3 t+ Z% R0 V" T3 e$ a" F                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ): u3 ]1 j& c. p: W
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );0 b. x! Z/ Q5 ?* n5 ~
1 i7 W3 I6 c# p. @
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
3 ^2 n/ h$ j! T                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
4 ^, _& r2 j7 r: H+ v. q8 T+ x" ?) i. J
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ! U& A8 F8 [9 f4 \. v" ?  ]& v
9 C( Y7 S( V; R

; k- s, d& @! b  H/ g2 ?9 `9 H

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 04:30 , Processed in 0.061238 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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