飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17147|回复: 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 ' x$ v! l( y' l2 n, Z4 `
I posted this because someone kinda posted a youtube thingy about it :O.
  J* {% o; i+ t+ V" \: N
) P- T( {$ G1 k/ A* I  A# j8 Y/ qFind this in DPSrv.cpp @ worldserver: G: A% y' F$ S' J! ~

" I4 }% e! L* B$ p) t# J2 ?9 vCode:7 C) t  [: v3 Y/ U$ f1 K
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )3 ?# Y) e( O5 E) X" f$ B4 s0 f* h
{/ S% h' L; t. P" Z& t
        DWORD nId;# z/ e' F  W* _% r
        int nPart;! g! ?3 @" c9 {
$ S9 y  [2 E% |/ }
        ar >> nId;
$ w; q* E# }7 [5 N+ S        ar >> nPart;               
- `# e( W+ F7 R% e. e8 `# x       
6 g" ~" w- G2 K        if( nPart >= MAX_HUMAN_PARTS )       
, T9 F+ E9 b4 X' ]& X+ u$ w& e                return;
; M9 j/ r# b# t2 d5 x, H4 I
% p+ {* `7 h, j* C        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it, m& q' R, b5 {6 N, s

3 b8 l, Y* o+ Q2 C0 I! S* {. |- r
! @" m) z: U' C% ]+ k. Y1 k1 FCode:. A5 d5 a% b7 ^: U0 Q( l1 B
#ifdef __QUGET_SWAP_FIX  y9 n3 J( W3 z- E% k: d; I
' l2 Z( q4 j# L
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )9 w. |4 o4 I( u$ F7 r
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
  {1 \/ N9 ?8 W. M8 |& O, O
# e6 f4 R  J9 k  m6 O6 q                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
& a2 u6 n# @! k4 S. H# x5 X2 w                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
' t+ j+ r: t9 z# m  N6 k4 e' V' ^# l6 d. @: o; Y# B
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() ); r" D1 x  r9 l$ T1 U
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );! d8 j2 P. @/ Q. A& X" ~  o
3 O1 J; P0 W% C# e9 i& l8 u4 m
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; M: M- a' y1 b( e6 yand add under
" w2 u  r, |2 y) @' Z0 c9 W
* |; f9 @/ M* o' P/ C; r& kCode:
  k# R2 b1 A$ K9 p5 tif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
/ y) e+ c9 u* l2 c- B                        {. C7 \: J+ ^  O1 b8 G# ]
                                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 );
6 X3 V  n4 ?, b4 K                        }this; N5 F* T- |, z! w( U5 j! W% d
+ ~: g3 G1 Y3 P1 ?2 |, ?: {
Code:2 o% G1 {/ p6 y6 O6 l
#ifdef __QUGET_SWAP_FIX1 m. K  L$ ]( e* K% i/ N5 U
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )6 W# e2 r' M3 j8 s! F
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
2 a0 P9 q$ p$ f5 h8 Y5 b7 ]
6 E1 Z7 m- L6 p  V# e                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )4 e- u( f/ p( k# w% d7 l" v" M5 K/ {
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
4 B! @" _1 x0 o# U% e. g- E* i; R4 f0 T" X
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
7 u) f3 b1 Z  Z- G1 r0 e                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
" I1 ]) G7 U" ~/ w
: f* X4 k/ ^5 X: a; r  }! U$ j) Q2 b#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
& s2 h, @% R- @1 ?7 n1 ]# @6 r& H* u4 ]% {  X/ Q* [" @
! N# I6 p( L' L

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-23 00:58 , Processed in 0.061119 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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