飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16926|回复: 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 8 O9 C- b3 z7 S9 V+ }1 a" l1 `$ U
I posted this because someone kinda posted a youtube thingy about it :O.8 ]& `1 |4 o( V2 l
# F7 e: _, E" y& Q+ ?
Find this in DPSrv.cpp @ worldserver  Y3 [. c6 {4 m

0 `' Y% T/ c- k1 D# w6 x# w6 SCode:
+ O6 z, S: d  H0 M/ yvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )7 N- J9 ?- W" H
{3 H  K7 V5 B7 H9 g" k% d
        DWORD nId;
2 F" J) P. o) J0 p9 [        int nPart;, [7 ]9 F" I" a" W

0 ~& y# Y$ M- n( ]+ M        ar >> nId;
# |4 h; h! F' _! W        ar >> nPart;                1 t" e! s  S( K5 a
       
  X" d" ]9 c' I5 ~- [6 r        if( nPart >= MAX_HUMAN_PARTS )        2 s, M9 r. I) G8 I
                return;
5 m4 n# {3 p( w" W* V2 s7 d* i$ n) S/ ^! O3 U% x7 H+ n% i( _6 A
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
, \6 k# a8 T& @* t
7 U; |% @0 Y( j2 N) A! T0 u- e$ f
' G' ]4 R2 ]% R4 VCode:0 d0 j1 k$ N! f
#ifdef __QUGET_SWAP_FIX+ a# h& C: Q' d8 `: y) A, F
7 l$ b7 i3 t, ^& s& @
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
& M3 R$ E, {+ o                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
" @4 ~) A9 f* \% A* U9 u# @7 _7 E6 f0 [. s
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )) q% l( j0 J5 P: q
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );0 \5 S) ^2 }, P8 d. H
5 m3 S- a3 ^; W- o0 F
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
- O4 j) ~8 ?' L* A* V                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );/ r/ \* f: y  j+ U, v
7 M4 n! ^* }% @" r: b, \; q  Q" q
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp2 I; @: m6 o" b5 o' \& |
and add under7 u3 e# i) ~* s. b

" q  @1 o' ^/ a8 c4 p, h1 oCode:, j1 t  m( q8 ?3 X3 ~' e" C
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
) w  O; ~7 Z! Q                        {
5 `) c8 c6 u' \( M# B( 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 );% \7 W; g% s3 E( ?  U$ q6 m# L( `6 Z
                        }this) T; i5 M* G( L6 H! s: f1 E
$ V4 I7 z; z2 y; F- P/ F' d
Code:
4 x& u, I2 |" Y, E; q: B, k) S#ifdef __QUGET_SWAP_FIX8 P9 q3 k9 F: }. u" d' {
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )" U0 N( X3 V- Z( E9 q- Y  F; h% f! A
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
; v/ R- R/ P5 _" p& i  l/ H3 X$ o
0 }7 B( k! s( n/ ?                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
4 ]: Y: T6 R5 w5 l* r3 j* v$ J' `8 i                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );' _; G# }; [% ]& X# ?/ w
! ]9 y' {: M/ o! T! Z  B
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
) M2 _; I6 Y2 p# f                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
5 l9 j% a2 c$ i  S, Y, @5 N
; @4 m. U$ N* |/ p5 t5 V#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 5 _; J* m& b* `7 |% ^

! v9 _4 A# i2 F/ i8 p* R
$ {9 W/ l/ ^' K# [

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-13 09:17 , Processed in 0.058980 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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