飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16322|回复: 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
5 S. F6 a# |7 F: _8 r# eI posted this because someone kinda posted a youtube thingy about it :O.
$ V# h3 N6 ]' n* ^2 O& P$ r( S+ ~
/ M# `: y& z: L3 a6 dFind this in DPSrv.cpp @ worldserver
- a- _& n% q; k* M2 T$ \8 {) ]
8 d' B+ [# u4 L$ _) _, uCode:
$ G: D. B- M1 u7 }2 g* ?void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )( {# N/ [/ R& l) z
{7 V; R1 |7 d$ |5 J9 S" R7 r
        DWORD nId;7 i9 D2 {$ E! L% U; t& k
        int nPart;
/ ]9 L& j# t( q% k
7 d3 R3 [$ I. w5 w# ?" u8 W9 H$ ^        ar >> nId;
; b; s9 W- v4 p: q4 v( h- e3 l        ar >> nPart;               
, Y$ [) v  G2 t' ^        % D# ]% R" \- q: A  y6 V
        if( nPart >= MAX_HUMAN_PARTS )       
- g, Z+ ~6 N/ \( U* q. q3 Z                return;
0 {0 S9 }  P2 `! ^& C: l9 e8 w
4 `2 K4 b8 r& n        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
# M7 Q: s5 W, ^9 m/ Y8 A' C
8 v! j% R* R8 l6 M! [! j* n: ~1 ]6 v/ h2 C( r: z
Code:6 \$ D6 _) {  r6 }- S
#ifdef __QUGET_SWAP_FIX
5 t0 r1 E# t/ `& i; F' C3 ^" ^( c: Z8 U
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )8 q, M7 Y) i. V6 z
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());% |0 T9 P2 V$ X$ f& d) ]4 M& B& b2 S* ]

6 P! p8 f" e4 S1 e6 r                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
6 X# ?" v' M8 \+ ?                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
/ \; D9 |- C' p0 e' J( u- ?) D' J* Y/ i  v, {. w
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )! u) l$ C* P/ |3 L
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );) R, Q8 L6 u4 q2 X# h; m# J
' Y, `6 P9 r1 g
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
2 k; A9 j  `! C: \4 G9 jand add under! |5 t& S2 [3 ?' h* t. X9 ^% I
9 w) I! M3 c9 M) d6 E7 o$ e
Code:
# V, M5 _9 c: d+ b3 J8 Mif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )! r% a& u8 K" t8 |+ o0 y- x6 H
                        {& L" G3 Y* O& _; p3 n( M
                                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 );
7 ^& |7 p9 A, _                        }this
+ ]! e* p5 b3 ]8 G% K, n/ k# \, ^% `" ]1 a7 ]1 {
Code:, z: ~; l( b+ J7 C, a2 ^) b2 H
#ifdef __QUGET_SWAP_FIX
6 R) h1 n# T" W* l6 A$ c                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
% N: f' n% C) \% c                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
3 ^( r) b9 u8 L5 _% J& s  L3 Y. s  w# f6 A; l3 V
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )3 _! E9 g+ h/ V
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );4 P! e7 r: A: Y0 o, h3 v$ C5 y" F
$ t" ~- x  i& o& s
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )7 m8 V4 F4 O8 _4 H  P) S( b. X
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );3 ~* r7 u+ ?7 ~4 g' @2 B+ Y  F
* ]4 {* B+ _- n1 H- B/ h0 z% f
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
( o2 n; z* N1 w3 f, ]; U- r7 i
6 D* b2 A! N3 E7 ?
0 [& \: `/ A: E: Z+ j% C

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-5 06:05 , Processed in 0.059918 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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