飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16920|回复: 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
7 L7 y  F) U$ E4 GI posted this because someone kinda posted a youtube thingy about it :O.& j: P! O- t6 J* r% F6 a5 I' T  F

$ B' o; t% |, ]- @& T8 rFind this in DPSrv.cpp @ worldserver
( _" T4 r0 R1 I. v  G* C, i+ i1 {
3 W/ E* v* R( i7 |Code:
* L' z; Y$ X4 ?1 K: j( C7 R4 Zvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )2 r; i3 @% @6 n, A. i
{
  s% d9 {6 T0 B6 S# ?) t        DWORD nId;. ~4 G9 E& W/ b8 L
        int nPart;
' i  u3 Q1 a7 f$ T2 V/ N. x7 Y5 Y$ x* D7 j! _: B
        ar >> nId;
6 m' D, N/ _4 q, p0 {# [# J5 q        ar >> nPart;                6 }! X9 W/ @6 n. p2 w9 B
       
! [' \) e- Z/ T: s* C        if( nPart >= MAX_HUMAN_PARTS )        ! I  y- M2 b5 L1 V. Z2 V+ ^& ^
                return;# B- }) M% ~6 e7 }% g

) S6 {% U: M0 N) T        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
, ^' `7 Y5 c. q% G! a2 Y+ P( K3 o: M9 ?: t$ D, c/ x/ ]' x
) O8 U6 S* O: n4 @
Code:
$ y, }0 z: P! f- i& `#ifdef __QUGET_SWAP_FIX
7 g+ t% X1 v0 p6 a. [  ?  s% p% M  }9 l7 Q% A
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
5 x* @+ U# p! ?% T- E" N( r1 o                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());9 ^% q* Z) s% B3 `! X& m( H$ u4 z& q
+ }5 Y, I# u) L$ |6 _& j1 c
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
) H1 U' w: W: R# s9 S5 s                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );/ B- t" m& j2 q

7 m0 l% B$ n& V9 `* f                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
) r4 c  e* n: E% ^* X4 p% m                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );9 H+ s0 _+ y& |* L7 W; c+ I/ M

9 }4 s* L1 j* x6 V" f" P#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
. `! s) ?7 T% s3 k% N- Q! Rand add under' L+ J" d/ Z9 k' x3 _! ]7 _% j

: Q: t; w7 e; X4 G+ a  }# s' GCode:8 x- S, `$ Y  j' D; m
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
6 y% V+ h" F& Y2 E9 M( a  @                        {
' u8 l0 P' I8 {' N5 X                                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 );
, C" [0 w1 I; ~) |, H" o7 r" R                        }this. N% Y( `/ x9 Y  m! U
( ~; Y& ^0 n# v& o
Code:! ]: [* T# D" x! l
#ifdef __QUGET_SWAP_FIX
& f. ]- {) k* M( j( b5 }. c- o" D5 G                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )0 ^- {6 R8 H5 @6 L
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
* m( j- S( r$ ~& T1 L% |7 Z6 H3 |
; J4 w( T( V" Z                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
  h  k3 k# p2 f( q                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
4 |( Z' [! e* k
/ V% }. C* L5 d7 `( b' U& ~                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )% @2 E1 u/ E  C- o( \% m2 b
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
' \+ ^' ]0 K0 F/ t! S2 c7 H
/ E6 E' z' S  m. O: C' \+ i#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
6 {2 J* T$ Z6 @$ E& L  r1 Z+ W8 }/ w8 S3 r: k7 _4 W$ K

4 i( ^8 o. L9 G$ G& O/ v6 O

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-12 23:03 , Processed in 0.066284 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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