飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17141|回复: 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
! \$ t4 i5 j% E# F2 N) f7 {I posted this because someone kinda posted a youtube thingy about it :O.
; c, U6 y* p1 q% q+ \' P* `0 ^( F$ ^4 p, j
Find this in DPSrv.cpp @ worldserver' p( W' b& B7 F9 m, ~
3 i# o- S4 \6 Y" V
Code:
' t5 r" x4 w9 v* p+ B) E% Ivoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )) |5 K' |: r/ X3 q- W3 r* d
{9 t' p4 O6 Z. ]" Z8 ]3 p' j
        DWORD nId;
9 [$ N3 w' {/ C, R' |        int nPart;$ ?$ w$ x  ]2 E* u  O7 Q9 V

2 S5 n1 V7 B+ e2 @3 p% l7 L9 G        ar >> nId;" Q4 Y5 [" a  h! m4 v
        ar >> nPart;               
3 Z4 B# L- d7 ~7 M% Z4 F2 F       
9 I: O+ Z7 b5 p/ U# W! V! {( @        if( nPart >= MAX_HUMAN_PARTS )       
3 C) J+ n. r5 ]                return;0 v# {& r: Q# |# j1 Y

8 V0 W! ]3 L  A' ^* c        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it, b" q* m7 _- ^- D. e
, r7 ~6 O3 T. F

2 c( c2 d1 y9 K. M1 RCode:: N- Y- k" }' j) e" M1 s
#ifdef __QUGET_SWAP_FIX
3 o+ G7 j; ^* P: V. x. G. r8 |% t  U$ G! W) L6 B9 \5 h" w: Z
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
0 ^& v, ^1 c* |' g                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
5 B3 e$ v+ W% D* ^' B8 C% U" E1 R! G/ M) C- L
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )6 t8 [$ |6 {1 o
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
7 u$ y, w9 i7 O; X$ @! v* @! w& x& r3 c. Q* z
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )  n$ C# G7 g0 x% H/ q
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );2 ^6 a+ \2 N8 B# s% C  o

6 H6 q6 B0 L5 f6 L) ~#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
5 e7 x0 u- ^+ \6 e$ U! tand add under
) Q! h( v) G4 }2 b6 h4 t/ Q$ y
  v* B' z1 w# F" sCode:* ~( C- [9 i: G+ U
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
% `( M2 @! V' `                        {  z, e3 z. ~) I. s" X% f- j
                                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& f3 ^0 P8 z
                        }this/ {: `! t3 \3 ?6 P9 S

) D4 ^% u- Z" t. E$ r; P& M! LCode:0 F3 D* C2 m) L( K+ b
#ifdef __QUGET_SWAP_FIX
0 M* o% k, d! E7 m8 j/ L# x                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
7 H1 d3 @  G+ g( W( c                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());/ v3 w- H; w- ?: P7 [8 m
+ T$ @! j( c6 ~8 f( w$ [
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )/ X# Z. I+ H; B4 f- D  @
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
3 u; y' ?7 K; L5 i. |" |8 O2 j) @
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )$ |% v' d' H/ D) D
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );7 e# c7 W- |8 V+ S( r# R

; m$ V' Z* E- I0 ?: t# H7 W8 ^1 j#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 4 c1 Z7 s1 l$ ~2 D0 T

( e+ H7 D- D* }/ `' c8 d7 E. l2 G* ?) n. ?" i( T; u

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 22:54 , Processed in 0.066916 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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