飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17113|回复: 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
0 i4 L+ Z/ }' `) AI posted this because someone kinda posted a youtube thingy about it :O.
! f) K. d: s. Y0 H3 _
1 E2 P# k. H9 b( ~0 qFind this in DPSrv.cpp @ worldserver
5 {0 I9 J' q  y1 k/ g% l5 W
9 y9 ?' D1 c( v. r; m1 N, DCode:7 G9 S) C! F% {* z7 h
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ). K1 N: i9 l4 n6 |
{
  K: _! {0 \# M+ R8 o1 L        DWORD nId;
* S" `- l+ X. F& ?/ }        int nPart;& w) U0 ^' s9 I; F* X4 T% i/ @

$ G" r/ ?2 \) ^0 {        ar >> nId;
7 O! [9 d. d) y        ar >> nPart;                . E  Q5 F6 R3 d& v, Q* I
        2 h; ]% H- X4 I- J
        if( nPart >= MAX_HUMAN_PARTS )        3 j; Q. k5 {8 d# z& V
                return;
' _( y( t! D: \' R3 f; o  Y/ ^+ c& m' s1 a. E5 N
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it8 v' }) U$ e7 w- z4 q0 R

$ b# B; W5 T: T. j4 O% f
0 N3 c$ s- E- @5 Z3 ?7 C: qCode:7 v; I5 q" T2 @
#ifdef __QUGET_SWAP_FIX( g. G' P* e; C* w3 x; f
% p; ~1 s' R' H3 L, g) u
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
0 W1 z, |/ i; n7 y* i, U                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());4 J; [! k  @$ m. |" `

. U& v9 S7 O3 U8 T4 t                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )+ _9 `9 H( e& m( \
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
& _8 f2 w' Z5 @8 S4 t6 W7 y9 W' g! Z/ M5 K! C
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )7 z! [) A2 C9 G' G5 P! O
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
& a% E! _* \5 G# G( G0 m- x* `9 w( V( k8 f! z0 J9 M
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp$ T. Y4 ]. T& S9 B
and add under
8 x+ {8 T' |; C* X- P/ S7 k5 Q
& y, `) e( [% u/ TCode:
2 j& j3 u6 f: L; nif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )$ H+ w$ [5 W7 {6 K" r8 q9 C
                        {
9 x+ D9 y6 P6 C6 Z                                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 );1 a3 k( u/ S. @2 r0 e7 w
                        }this$ p) F0 J1 l$ T! p! S

$ ?& l) V  V" \! Y# RCode:
7 V, A9 ]6 {$ ?7 T7 s, w# w6 A& w#ifdef __QUGET_SWAP_FIX" P# W3 g3 U3 x
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
, b' _+ R, `1 _/ ~, U7 o                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
, k0 a& g& u; R2 B6 K' b, a; E: H! E5 a, [4 F. F: u  S8 T
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
6 c* w7 ?: X3 w& e7 W, R                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
- w; z4 F' s, d% F+ x, F6 W0 H# q9 f8 M
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )% O  g: L& m9 c9 @
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );5 w& m" B& b: G

! c0 l( }( Z7 _" e& u. v7 d#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 9 h! V& S. C; u5 v

0 W5 u& f; u# i4 W+ d! f. }
0 ]5 K. g4 f- v0 ?

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 03:33 , Processed in 0.060888 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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