飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17020|回复: 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 2 ~- f2 f1 E  e+ x+ j
I posted this because someone kinda posted a youtube thingy about it :O.
( Q  L' n$ A0 d- T; u5 B
) \, i$ J3 M- V; W: l% M+ e& T# n9 qFind this in DPSrv.cpp @ worldserver
: M1 \; D0 d% Z+ W# T  a' Q
4 {$ u" ^2 O* S! E4 ~9 B8 n2 P2 pCode:- ?! `! R% s, l* p/ c
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
& X& D3 J! \9 O  Z- I{1 _, ~4 F- j# Q
        DWORD nId;0 W; h; Y/ \, x8 J; L
        int nPart;6 P. N& {+ `8 U2 r
' a' i* r; {1 R. q
        ar >> nId;
" U4 w/ p+ @8 v# M) X        ar >> nPart;                % d: e0 i) n* }+ z5 v8 _
        + v1 k, x8 r- O/ o- W. f
        if( nPart >= MAX_HUMAN_PARTS )       
6 J: m5 I4 j' U1 `( {8 B0 w: {                return;8 B: l: I& {6 @
4 X! P& M- \5 p3 p4 U4 v6 C
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it6 i* i# U4 [3 ^+ q4 F, w
8 L0 j8 g' y9 E0 @# [2 L
" K+ f( g  a$ y3 T3 Z# N
Code:
+ A, ^2 h5 _  V& D+ E4 |) T#ifdef __QUGET_SWAP_FIX
# J+ h) ^$ @2 W  P6 x: O6 @7 U, `* k8 f2 c3 c4 J
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )% A) O1 j) `! y% a
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());+ P. D4 q; V7 R( z9 t6 i/ r

1 [/ x9 L8 q- L& i                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
" q. ~( D3 C) y* h: G8 w                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
3 h7 ?+ u; n8 U! e% c$ r, m, Z
2 I. X' D1 t! Z9 F3 ]                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )# D& o2 C6 S, k8 O/ y
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
5 N& N1 q! @( K3 ~: g- M- ^% B, a
1 k' B% d% x4 ^! T0 _9 Z5 d#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; O9 x( Q  J0 ^7 M/ band add under/ ^4 u. {, l) R$ t5 b- l; a
- q) c* h5 U& b
Code:( {. j* x8 N9 L4 F
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
$ A1 E* A% v: ~- e7 C: e                        {1 O( x% n6 g1 z9 R$ p0 h  o) c
                                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 );, u$ h" r% Z' Y: g* q" p
                        }this( ]2 b8 w, W$ E5 d
, k" g. t6 |' X
Code:
6 |7 W# U+ b# M% v% Z/ M1 P4 G#ifdef __QUGET_SWAP_FIX
" m1 c! g2 y4 Y1 T                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )/ J4 n% q0 T& y" b; d) s) t
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
4 D/ s0 e2 z" S5 ^2 ?- G. Q
$ S+ T: u) I" b3 |- p                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
; U: j4 f, R6 g5 @/ I                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );# U# R# J5 y( O3 x5 [
  O; V, Z/ Q" k- O: \. f
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() ); J/ ~- w2 j0 y# ]  K
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );& k+ Y7 O; ~9 m5 o4 o) O' H

% N$ g! S6 h) `" ~$ Z* A7 v2 c5 a) t#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 8 C% E" o. M; o9 r  E' K

" ]9 g/ s4 \) ~' l$ k! w2 y; v  g+ r6 c% K* q, l

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-18 11:50 , Processed in 0.061850 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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