飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17223|回复: 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
2 a" U. r- z0 |: @* WI posted this because someone kinda posted a youtube thingy about it :O.
2 S7 _! J+ p9 o) Z- J
, v4 v  |) j1 D# xFind this in DPSrv.cpp @ worldserver$ E7 A" K9 s9 Y

! e1 }0 O. @" o. O8 L3 j5 PCode:
. V" M! i2 ?. ~( nvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
% U! Q. \* O. B' e  G{1 i8 \( e. t8 I2 |& @( F2 D
        DWORD nId;
( f) X& r# L; M+ T: d- e        int nPart;1 [, l) i+ F4 y# ~9 c/ b  Y/ ^/ A

  Z- {' {; w+ K! @) \        ar >> nId;
& L$ I6 m* A) i. c1 h        ar >> nPart;               
2 n* F3 g: M( f8 D/ _& {5 b9 \       
% v( P* {  `3 a/ g7 u( b        if( nPart >= MAX_HUMAN_PARTS )        # f. P9 A$ o+ r* B& t8 [
                return;
! o8 c$ G; j2 l" U% f; W
( w2 s; ~# G+ j; z: z9 w        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
) S/ p; o  B: e9 t0 y$ K! t, ~5 }( p( W9 r# b0 \
/ m7 g% v& ^$ f5 m6 J8 P% ^2 R
Code:
) w- F* @  W" P4 T; H#ifdef __QUGET_SWAP_FIX
8 f3 g  u8 k2 C) Z" p4 j6 {
1 [( T$ I' e' A                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )! F& m4 B3 |3 X" b% X' [
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());1 P! |- w! w' ~5 l" @9 o6 U

1 w9 L7 n1 o* M' s, m9 K                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
# h; k# ]! S" `# R/ C, b1 E1 N                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
, z8 Q* |' R0 _8 k; w8 C4 b2 [: ^, O
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
" z0 K- A/ U% h+ }* f                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
7 }. \. y2 R3 h
, K& p  E, X3 `5 P#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp; O# M+ [& g% K" U# c% X  _
and add under# }5 }1 e1 {, w8 A9 `- Y9 B

4 r! c& q; H  [  c+ n! w& gCode:' @# i' R0 S0 z3 V; o
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
" i  `" W+ X* T  }  R                        {* A0 P1 f4 b" n( v) z% y, b
                                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 );, o- F4 |* R: l) j+ V
                        }this/ o9 u+ C# u) R" w5 G
# V0 w$ D( K: J! x( j1 Q4 m
Code:5 l  z' G6 P6 r9 }8 b. w2 K+ a; o
#ifdef __QUGET_SWAP_FIX
/ r& i7 R, C1 \" u' c                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
; U! w; X7 ^) f0 _+ ^. H* F7 N                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());; a2 ?: l1 A& w5 ?% u, N! n6 `2 z" o9 m
3 z* V/ Z+ P- V$ h5 `& ^& Y9 M
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
1 z$ \" t$ J" I) p; }6 r4 F8 r) u                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );$ L( n5 R! A8 C( Y; S
1 E. O% k0 h5 {; F2 T( x
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
0 ?. ~1 ]0 Q6 V- t  v) r; Q! a                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
/ e5 w" L) V" r1 n( A% \; S% E# t1 B# t- H8 Y/ [9 N
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
9 M; f5 r( g- T
- I9 ]6 [* a  X  J6 ]/ o7 m6 L3 ?0 s- ~0 I# S( Z2 I$ |4 G6 `6 x

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-25 13:36 , Processed in 0.062595 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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