飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16368|回复: 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 ( a+ P% }! d/ L# F( |1 u* [2 {# m
I posted this because someone kinda posted a youtube thingy about it :O.
, ^. O, ]" ]* T! I: A4 {* k. e2 s8 W% ^6 ~& B
Find this in DPSrv.cpp @ worldserver! G1 i7 v' B; F1 `) k

3 z7 |! p0 H2 @Code:+ t2 }! n2 i& c1 L+ Q: h
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
, f7 U) S7 F* Y; L{+ v( K' C& t2 B# [3 q
        DWORD nId;
7 d: u! B1 Y# ^6 X5 n        int nPart;5 u3 T" ~/ I+ x8 p, U
& x& A: i# R# ]$ R9 t+ e; |0 Z
        ar >> nId;
  d3 e  Z* c6 `, n& a9 J+ ^( q/ Z        ar >> nPart;               
, Y. F! Y! g9 o3 p       
" N2 h: D1 g4 T7 T8 _/ U        if( nPart >= MAX_HUMAN_PARTS )       
% L( ~8 w5 ?9 R9 _/ F+ r" k                return;
/ U" L7 t/ H: S1 y' y4 x3 P8 }# N( x! Z
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
1 u) c9 I8 X" o+ s9 r, m
: J2 j: ]* V3 Z! @/ ]( e6 q$ m, j2 W5 H0 \2 X+ m9 p
Code:
+ L6 ?5 H9 O( j+ B! E+ w4 S9 J#ifdef __QUGET_SWAP_FIX. N$ z: u9 N. N; V; ^9 ~+ g

" h3 m5 s8 y" j; o) w4 Q+ r                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )7 [! p5 N- h; y
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());/ K/ P' E* A; U9 w; l% Y

/ }; ]  x* j3 s) D2 {                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )8 G1 I7 `6 \  x9 F# C/ Z- f
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );6 P  q6 R9 t& {7 k7 d6 z

8 f. j& P8 Y1 x                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
  X) A, |4 U: W# l                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
0 T3 z3 s! C+ r! d0 W& |' [+ P! z: f6 x# G( b3 O$ i
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
+ u3 m5 \6 r) X5 {7 R+ _; land add under/ \. ~6 g* B& Y6 q5 }! {

: B0 I. i2 V# F+ ]Code:
7 G" f8 Q' [, f; j# m4 E( S+ w6 S/ bif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
+ @; K6 S5 N% M  I& P" }' w                        {9 W) R; J- v1 X$ ~! T; N
                                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 );# r8 P& `( _" b# w" c; j: g
                        }this
; r0 E1 |/ D! @$ i! W- J' Z6 R: t7 J
Code:; _+ M$ t9 o0 T8 R% O: f
#ifdef __QUGET_SWAP_FIX0 t! ^% Y; \# c
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )7 a1 R2 Z- @+ Y- Z
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
4 \' ^& l& J" q# f' [& N5 a- a$ ]; a+ M- `! o; h) ]( e
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
9 ?& y% U8 ^  X. c                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );8 o. F$ r# X* p7 z, \% G

- h( o, ^" P6 q5 k                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
/ b7 s" u. @% l                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );8 P( D5 h. E; J9 f

4 g! K  r* \- B- K' ]* p#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
0 c% p- @, j; v/ e! r/ X: N
/ T! B  [" Q9 ~, t2 k8 l' x3 i; _. M7 P# N9 ?1 |

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-7 12:05 , Processed in 0.065231 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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