飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16579|回复: 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
) K4 \7 J2 }0 b4 w! \* q, ?6 zI posted this because someone kinda posted a youtube thingy about it :O.
7 T% e5 N' r, W( R' F1 R+ _" m
" z- F( T3 N* ?2 _; Z* wFind this in DPSrv.cpp @ worldserver! _- n& s) R7 t) h2 U
" P1 T, q* c4 ?) c
Code:& l6 W. u4 r- R2 c2 [
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
8 e; X: ]& l7 X+ d! l& `  `4 V. p2 p9 a9 V{
3 j# [# [! T9 L# q/ `' t0 T& B+ u4 X        DWORD nId;
/ v0 a* A9 S% [4 J: h. i        int nPart;: h, n1 E: w/ D" g
2 H2 ?2 v( H8 h6 C+ y
        ar >> nId;
3 t! j5 @6 q  W5 }" z        ar >> nPart;               
6 m) p, H2 w; ]2 L: k5 g( q$ e        + E% z- O, j1 }4 f+ X+ I5 h
        if( nPart >= MAX_HUMAN_PARTS )        ; w7 c* H% W! x$ v- q
                return;- w, q7 P% a3 U+ y. E5 F
/ e' C2 W: Z4 X  n% g9 b
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
6 h- H0 D4 e% L# g/ `
5 D  {7 g% S% _4 j
. D( [. T! i1 `2 vCode:
+ Z! P1 B( T- p( [7 W8 [" P5 c#ifdef __QUGET_SWAP_FIX$ {1 d( \# M! y0 L

  z. c/ m% e" o3 O1 }) @                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )8 w2 G8 a. J# L6 w/ p' i
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());; M) J, X, Z8 B5 @0 M' L

. F; _5 c2 j* S8 k& A6 E9 z, U                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )( [# N- d7 _1 R1 q: [1 U
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );! l& K* h8 X) B1 Y! L* _

- j8 V/ d! `6 Q1 g% K6 [7 f* \                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )# l0 A+ D3 A7 L
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
& g$ L7 ]- u1 [; P
  Q( ~: }4 C4 }" Y  M% n/ j#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp+ R: g2 i4 k7 j% }0 E
and add under
7 z& `) H3 n& C: l1 W1 }* i
! y7 N, b/ }  c7 T- x9 d5 nCode:+ h/ {# K. @* j' \( d3 T
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
3 x9 M9 g* ?& [; m+ j: U7 N: f2 q                        {8 c$ ~6 G! f4 L
                                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 );% J% x+ s$ g2 b6 r) j. n5 f) D8 {
                        }this  s  v, z+ M0 g

, M0 E, ]/ M3 K( c5 LCode:3 j8 \: m! Y+ T4 a! H. a4 {
#ifdef __QUGET_SWAP_FIX
+ B) ]* L4 F4 e# E& F$ e                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
3 w6 {7 ]* j5 T7 o) u4 Y% l                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
: w7 g2 ?& r1 d7 e3 B0 C, f, ]  E% t. ?! r
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )9 o3 {: h; Z6 d! S9 Y" k* M
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );( U$ \8 d/ U! G% }" r* R/ m* S

' O9 g; x6 v2 o% w1 L                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )9 ^; E: p9 u7 P% \+ x
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );2 _& L! I3 M8 r4 Z( v' Y. B& a
4 m/ n! F" W$ U1 h. v$ I: S
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
. M& J2 {" }# ]2 R! y+ d* k! R7 @+ X

' W; r& r# p* X# |  R4 {: k

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-20 15:29 , Processed in 0.070044 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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