[Release] Small fixes

10/21/2015 13:13 Nortix#1
Some people use these bugs on several servers and here's a fix for it:


[Only registered and activated users can see links. Click Here To Register...]

DPSrvr.cpp
CDPSrvr::OnFashionCombine
under
Code:
for (int i = 0; i < 8; i++)
{
	ar >> dwItem;
	pItemElem[i] = pUser->m_Inventory.GetAtId(dwItem);
	if (!IsUsableItem(pItemElem[i]))
		return;
}
Code:
BOOL bHack = FALSE;
if (pItemElem[0]->GetProp()->dwItemKind3 != IK3_HAT || pItemElem[1]->GetProp()->dwItemKind3 != IK3_HAT)
	bHack = TRUE;
if (pItemElem[2]->GetProp()->dwItemKind3 != IK3_CLOTH || pItemElem[3]->GetProp()->dwItemKind3 != IK3_CLOTH)
	bHack = TRUE;
if (pItemElem[4]->GetProp()->dwItemKind3 != IK3_GLOVE || pItemElem[5]->GetProp()->dwItemKind3 != IK3_GLOVE)
	bHack = TRUE;
if (pItemElem[6]->GetProp()->dwItemKind3 != IK3_SHOES || pItemElem[7]->GetProp()->dwItemKind3 != IK3_SHOES)
	bHack = TRUE;

if (bHack)
{
	Error("[CDPSrvr::OnFashionCombine] %s tried to change IK3", pUser->GetName());
	if (pUser->GetWorld())
		g_dpDBClient.SavePlayer(pUser, pUser->GetWorld()->GetID(), pUser->GetPos(), pUser->GetLayer());
	QueryDestroyPlayer(pUser->m_Snapshot.dpidCache, pUser->m_Snapshot.dpidUser, pUser->m_dwSerial, pUser->m_idPlayer);
	return;
}
MoverActEvent.cpp
CMover::OnMagicSkill

under
Code:
if( pSkillProp->dwID == SI_KNT_HERO_DRAWING ){
Code:
if (!pFocusObj->GetWorld() || !GetWorld())
	return FALSE;
if(pFocusObj->GetWorld()->GetID() != GetWorld()->GetID())
	return FALSE;
10/21/2015 18:04 Wanetrain#2
Mhm...

Quote:
BOOL bHack = FALSE;
if (pItemElem[0]->GetProp()->dwItemKind3 != IK3_HAT || pItemElem[1]->GetProp()->dwItemKind3 != IK3_HAT)
bHack = TRUE;
if (pItemElem[2]->GetProp()->dwItemKind3 != IK3_CLOTH || pItemElem[3]->GetProp()->dwItemKind3 != IK3_CLOTH)
bHack = TRUE;
if (pItemElem[4]->GetProp()->dwItemKind3 != IK3_GLOVE || pItemElem[5]->GetProp()->dwItemKind3 != IK3_GLOVE)
bHack = TRUE;
if (pItemElem[6]->GetProp()->dwItemKind3 != IK3_SHOES || pItemElem[7]->GetProp()->dwItemKind3 != IK3_SHOES)
bHack = TRUE;

if (bHack)
{
Error("[CDPSrvr::OnFashionCombine] %s tried to change IK3", pUser->GetName());
if (pUser->GetWorld())
g_dpDBClient.SavePlayer(pUser, pUser->GetWorld()->GetID(), pUser->GetPos(), pUser->GetLayer());
QueryDestroyPlayer(pUser->m_Snapshot.dpidCache, pUser->m_Snapshot.dpidUser, pUser->m_dwSerial, pUser->m_idPlayer);
}
So bHack = true = Function still go. You maybe forgot the return after "QueryDestroy..." dude. (New Bug Created!!)
10/21/2015 18:19 Nortix#3
Oh right, rewrote it for the release and forgot the return. Thanks for reminding!
10/27/2015 19:57 Nightwalker.#4
Quote:
Originally Posted by Avalion View Post
[Only registered and activated users can see links. Click Here To Register...]

Code:
How do you mean it so how i can put it in the source? i dont understand what do you mean. pls help :x
10/28/2015 03:24 Nightwalker.#5
Yea i was stupid i got it now. sry
12/08/2015 01:10 KetchupSamurai#6
Code:
if( pSkillProp->dwID == SI_KNT_HERO_DRAWING ){
to

Code:
if( pSkillProp->dwID == SI_KNT_HERO_DRAWING || pSkillProp->dwID == SI_LOD_SUP_PULLING ){
for 3rd jobs, seeing no one fixes that skill either lol...