飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16982|回复: 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
$ |: x2 Z; I0 zI posted this because someone kinda posted a youtube thingy about it :O.
0 W" c; h: |0 R' q: i# n: f; Z; L! e9 m# ?$ J
Find this in DPSrv.cpp @ worldserver
* |5 _. T$ O" b  D/ J* W" @8 {9 |& N
0 J9 M( i% G( v/ S" p; ~Code:) W' \6 F2 M* M6 [7 |+ X
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
# X. }& j% H" I, Z* m/ _{% i) x  [0 z# q  a
        DWORD nId;  z+ B2 m- O7 y1 J
        int nPart;
2 ^1 ~8 z$ G6 F0 Q& u) T; g& t" v
6 E9 i, m! ?% N6 C* v        ar >> nId;
( \( E. c; a6 E        ar >> nPart;               
& J- |* X  f/ B% F       
4 B) o  Y, _* `% `( B  B        if( nPart >= MAX_HUMAN_PARTS )        ' S6 H: D9 p( R; ~. m
                return;, w7 Q' Z: c3 U& i# X/ s( i% i
! S: u( v# X" I9 z4 N
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it& ]. i! \& v5 Y! |  L; D" L5 C

& V3 O. x, b1 [# C% H$ d+ `2 X+ k' i4 v1 g2 ^
Code:
8 @0 H3 ?) ]% m+ G0 C#ifdef __QUGET_SWAP_FIX
, V4 Z0 o' I' M) A& D7 p5 a% b, ~3 d3 b; |/ `5 s  Z+ s0 i
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
6 I1 ?8 `9 o3 R1 Y5 P8 t0 _                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());5 D1 p% L' I1 [- c( a3 R

5 y! U" K7 A) W. C1 s                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )% g: `0 [0 w5 s$ M: x' Q
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );( [" d+ z% \+ u: w

) s9 V, [, q' u0 G                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
; L. V- S0 l# Y; n2 n& \                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );+ T9 r* S. L$ }# n2 v
- O, q4 F, r5 ^9 m) y0 ^
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
  |) H5 N# j/ i9 qand add under1 m& W$ w6 g  o- `" ?

$ J( r/ W* n" ]6 F2 JCode:
' l5 B! D6 P( Z* q, Q/ t6 Aif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
7 x" r/ r" e3 q  G" z' v9 @                        {
/ E! V1 n% I! E3 Q- F  o- M9 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 );
0 F+ a& s# G, m* O                        }this
/ h, L. ~; F; p* M, L+ P, l' A! i, y; O3 R. |5 f# p1 z; H: y
Code:
3 `0 z6 u+ }/ [7 P#ifdef __QUGET_SWAP_FIX# t7 [/ C" x: w/ d; s/ B
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )0 @+ b; _6 M7 J0 _7 ]; v  w; E
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
2 J( f* z' B8 B, O2 m
9 S3 k6 g, `! |- m0 \+ m                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
( K& c, M7 d7 N4 I. l/ R                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
7 _2 F/ b0 G. n6 v7 D* h0 N+ @5 |  y* [
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
/ G: Z% y. x4 y" \  Z                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );  T0 J9 F; w+ w
! k; n) t5 t' _, v% A- i) |$ d
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver * B2 ~" i; _# U  Q. y  w/ H
1 n/ N8 x5 F5 _/ ~) N/ e5 R& a+ R0 Z

& D6 s+ s2 A2 n3 k. s

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 09:26 , Processed in 0.063133 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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