飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16298|回复: 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 : x* g  g' @7 {; R1 L
I posted this because someone kinda posted a youtube thingy about it :O.; j' q4 T" p5 \) L
7 K9 p. U( G) ?' Z/ W' ~. e
Find this in DPSrv.cpp @ worldserver
: j) l2 D9 D3 l" Y3 c9 I9 o2 E5 h8 R9 ^2 J
Code:8 m7 t2 C+ c! n6 m# Q9 D0 l
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ); J6 v! s: F: C% ~7 P
{
* V4 ~5 K- |3 f. V        DWORD nId;( @6 N$ d* |7 ?+ w: q' F
        int nPart;2 T- H4 Y6 [) K9 c5 O" [
: Q. F: K5 s) o1 A# E+ z
        ar >> nId;" i+ a- J! c" X2 i. C; u( Z. {1 h
        ar >> nPart;               
; _7 \; M. }# ]; M5 ^! i2 x          g6 k+ u; M' I; Z- }" c) }
        if( nPart >= MAX_HUMAN_PARTS )       
( q3 p" g5 y2 A5 Y( e6 c! D0 a                return;, D6 i  ]9 U/ X4 L2 T5 G
8 t6 r. m7 `* E+ X9 a
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
8 ^1 q+ `: h* I: C$ R: }" D" l( K4 m$ |4 }8 M; V( Y

5 o, G) c% o7 P2 @Code:
, z' x7 }8 ?% T#ifdef __QUGET_SWAP_FIX
! X, C8 w: r4 C1 S
! E. l" r( o  Z# P0 G1 P0 T& Z; Y                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )- p3 _) Y5 y4 I/ W& k6 o
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());. `! \' F, \" Z4 L9 X5 b

) s# `( d$ T2 ^! p                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
4 N4 M: N# u/ \0 V& F; L                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
, m5 I" Q% V! a; j' _+ n+ w" G' Y. w% ?- L
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
" f( o( {* ?1 Y) F                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
/ R+ ?$ V) m! F. E# H! M* u& d0 o3 s) ~$ a: [% s
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
* b/ a7 |7 _0 g# j& Zand add under0 B5 ~3 `/ K, u- X3 ~# [; T, O

9 ?7 w6 k! a/ |" L6 ^8 ^% lCode:7 `! `6 x; @4 ^0 q
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )* Z3 [- }8 @+ P' T3 m
                        {
0 t; Z. A$ B- p" ]! Y                                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 {7 t+ G4 A! k  ~
                        }this
  v* O% t, n3 P& L- S4 ~3 E
$ {$ O! D$ |4 x2 |/ |- }Code:
  v* V7 h( e( p% h* f/ `7 w& O#ifdef __QUGET_SWAP_FIX- u$ d! a1 Y  b5 d/ Z3 F
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )/ @9 A8 n! M% G0 ?4 h3 a. `
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
. A8 o; Z) F" ^$ O  s" F1 v8 \; _' ^8 i, ]8 o7 ~! T5 g  G
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )" N: c) i; b1 I0 d
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );- c$ Z, ]6 Y' K

6 K: C0 x/ d4 T( B$ e                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )* n7 c: ?" d9 G# N6 V/ b' d
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );9 V# p/ ^2 J! v2 `! _( a

4 ]- p/ S2 Y# V" B( ?$ L2 z#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
7 t* u4 ^7 Z. M" G
0 g1 j8 ?0 P: O
! f: A7 a; T( W$ o4 [# C

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-3 13:57 , Processed in 0.064348 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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