飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1090

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1090
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 # }9 h* f7 m& X3 E
I posted this because someone kinda posted a youtube thingy about it :O." d$ r; m, |( A8 x( P8 k
/ I4 i! k. i* A1 Q. W
Find this in DPSrv.cpp @ worldserver1 j' W4 t. k" l/ g7 N: @0 c1 u1 ]3 }
2 F- t2 X$ l$ a! Q
Code:
6 [6 }! t* H5 p- b8 `( ~2 q1 ]void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
: s" @2 K8 P# s$ u  Z& U{
8 n: f- }! |& K% a( ]1 h        DWORD nId;
" F2 ?( |4 Y! X$ `" z' z2 x        int nPart;. Y0 i# e7 {2 g6 n5 g

4 s5 r- \& v) I+ |* A- U. ]7 \3 `0 W        ar >> nId;
9 g" P+ w0 E  h) Z- i* u        ar >> nPart;                / P, a4 I' }2 b# H7 w- M; }
       
' r2 X" \, H1 k: K5 J        if( nPart >= MAX_HUMAN_PARTS )       
3 b7 H6 E/ o% O+ J8 U& B$ ^4 F                return;3 f+ ]# K/ p+ s6 G+ R9 W
: ]& H# [  V5 k: n; C" a
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
4 U8 b+ y' w/ P) I
, n- ~6 ]4 |# S, H1 C: }
/ W6 ?: N$ |! d+ L7 mCode:
. N/ P& _8 R* P9 _  b3 M#ifdef __QUGET_SWAP_FIX
2 z8 Q" q5 f0 ]0 a+ H/ j* c9 ]. R$ _
8 W% H5 {$ D1 Q& g/ [0 z) ^                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
. _: g0 V% U- `                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());# S( `9 U% O/ S6 n9 `2 F" ?" G

# \0 I( v# t9 m3 {: t. V6 m" D                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
1 h& E" s8 ]& e) r! j3 n- b0 e                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );3 z: d/ @' f% f7 o4 s( ~: E

; ~" D5 i# O! I1 d& d; F! u                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )- E+ b4 h* h8 T, y
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
5 _2 j$ Q, P% S9 n; I* S) h
; r! j7 X2 @& U7 h. T#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
3 q# o& t/ D; O. M6 _/ Q& K  m% rand add under4 l  s5 q8 b6 V* n' ~' E# V

! L- P+ [. `. v; wCode:1 h" E) u: I3 ~$ ?
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )% ]+ X5 B# n- R7 y& q) X0 {
                        {
' m3 j6 T+ t$ f                                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 );
$ t$ O8 N4 T* b                        }this
/ y$ T+ f/ `- |2 f' O* P$ v
) Q8 y# m, l# h6 y5 Q7 D" p" Z* ^Code:
. \- z. [% @- B. b#ifdef __QUGET_SWAP_FIX
( y0 w# {' f! @                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )8 y; b- y% g& a+ X* A- c, z# u
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());7 D1 p8 Q7 d2 ]! a

/ B, S% P% m8 U                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )* E+ h9 H) C4 P0 F' }
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );- C- `7 W/ f3 D- g: b6 W' p% o8 E

% y% S8 j; T2 i, e                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
& B# p5 `+ O7 N! t: C& C3 Z' y* Q) w- o. O                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );1 j0 n$ {  ?  m) X; V9 Q: C1 V0 o% O
6 k/ d+ i! X! Q% h  T& e9 G/ A
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver # q9 `+ Q# L! T9 [

  O; O# F  r. f0 B# }. k. s
" y3 j& @% I+ r) ]7 Q

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-29 01:34 , Processed in 0.068806 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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