飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16263|回复: 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
6 |  I# J0 q+ C& NI posted this because someone kinda posted a youtube thingy about it :O.1 H5 z" c/ |6 b* W1 g

, ^$ C8 v( x1 {7 bFind this in DPSrv.cpp @ worldserver
  E6 f. s( C( @! a8 B
+ S8 S7 [" k8 K/ BCode:% `4 I6 w1 d/ r0 H3 U7 L
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )1 I, o. r: M" B! e
{
" M$ k4 z) v1 a/ ~9 K$ Y        DWORD nId;
% X2 i* W( K0 P7 [6 m* M3 i5 R        int nPart;0 w8 G1 E) Q3 ^; j3 R2 Y
& P  l3 k) z; Y2 T3 o  [2 \7 N
        ar >> nId;5 {2 q' u+ N- m
        ar >> nPart;                ( ~/ s! [5 y' J5 k
       
1 I8 a' D6 q% @' Z        if( nPart >= MAX_HUMAN_PARTS )       
! d; r' j4 {  S# _1 G4 [; W. I                return;/ {2 ?* V4 _7 W( I; O% ?5 V

, |' C1 x! p# A2 H& g, M$ s        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
2 y' Y5 c& X+ U, `/ j3 i
; I3 L' Q! s6 U' i* R0 o0 J; z0 `, J
9 p, S& w. o% D9 c1 m* RCode:+ k! w# K# v: N( y
#ifdef __QUGET_SWAP_FIX9 R8 h5 T5 J& E, @8 s
: X& [' E/ U% z* b
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
9 w- _, {" \' A                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
- ~  e- p' g4 t2 ^. E1 m/ t1 Q2 j: V& P! e/ g0 ^, i3 m
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
8 ]1 {" |* D9 b1 K9 x/ s& s                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );: V: t: K" |9 m$ K

" W3 g8 Z  N; K, W3 ^; |& [1 f                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
0 C! D/ x  i8 ?8 f/ O* W7 j                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
: j& Y/ m0 j: A' T- E* R- w" N7 J
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp' N, ]+ Y( o+ L3 {* h; y
and add under
' l$ I/ t5 Z! c/ ^+ Y7 j
2 t- [$ t, m# @* MCode:
3 Q9 F& _: T3 Nif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )/ m( C1 Q/ X" v" ]. \' J2 B
                        {
" Z# [( f8 B* ]8 M7 o) u9 i: o                                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. n% {0 v7 m; @3 M- B' m" _8 J
                        }this8 F" x  _8 w7 h* m
+ @" l+ I4 d- S+ G5 ?3 \
Code:5 l1 t: C' W& c% f/ w5 b
#ifdef __QUGET_SWAP_FIX
! h2 l# `. ~& R+ O3 h! O1 e: P' ~! i' C                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
& s4 \7 x4 V; K, Q6 Q                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());* X0 K5 W8 q. V: |5 t
% o9 ]2 `4 _; ~: l3 W/ ?3 H
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ), ^- A! }, [3 W2 K
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );7 l  O% U" c% P; b1 U7 f5 {6 ^

7 R% K: o1 q) t& E9 R                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )& k" r  C5 W+ k) w* a- Y
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
, [# v# u% S* x! z% s2 c, N  V8 `+ \. T+ \& T- D. h+ x
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver # _9 M9 S  M7 v6 N' V
9 s) J% `& K. @% E; A

, P0 ?! S" A1 c( M3 l

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-1 14:51 , Processed in 0.061160 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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