Looter Pet Awake Exploits Fixes?

11/15/2017 16:43 Kakerou#1
[Only registered and activated users can see links. Click Here To Register...]

Anyone who have this fixes? I tried this on my files and its work, my worldserver crashed too after did that many times
11/15/2017 18:57 ZeroTwo02#2
ActionMoverCollision.cpp

Function "ProcessCollisionGround" & "ProcessCollisionFly"

Change ->

Quote:
case HATTR_DIE:
pMover->DoDie( NULL );
break;
To ->

Quote:
case HATTR_DIE:
if( pMover->IsPlayer() )
pMover->DoDie( NULL );
break;
11/15/2017 19:11 Blouflash#3
Quote:
Originally Posted by naruto66620 View Post
Take worldeditor and disable the "red zone". Fix :)

If you see that on your upresia in worldeditor : (The cheat work)
I have a better fix. Just remove all Buff Pets from the game. [Only registered and activated users can see links. Click Here To Register...]

Quote:
Originally Posted by naruto66620 View Post
Work on Upresia (only) if the server have the "Red Zone" (Dead Zone), if the server have disable that zone you can't do this :)

Fix -> MoverSkill.cpp - function "CMover::InactivateEatPet"

After ->



ADD ->



WndManager.cpp - function "CWndMgr::MakeToolTipText" & "CWndMgr::PutToolTip_Item"


After ->



ADD ->
InactivateEatPet is never called when the pet dies. So your "fix" does not work

11/15/2017 19:19 ZeroTwo02#4
We talk about the dead of the character not the dead of the pet.
It's not about the "Pet who you give shit to eat", it's about the "Pet who loot your item".

Quote:
BOOL CAIPet::NotOwnedPetInactivated( void )
{
CMover *pEatPet = GetMover();
CMover *pOwner = prj.GetMover( m_idOwner );

if( IsInvalidObj( pOwner ) )
{
pEatPet->Delete();
return TRUE;
}

if( pOwner->IsDie() )
{
pOwner->InactivateEatPet();
return TRUE;
}
else if( !pOwner->IsValidArea( pEatPet, 32 ) )
{
pOwner->InactivateEatPet();
return TRUE;
}
return FALSE;
}
You are developer?
11/15/2017 19:27 ディオニュソス#5
Quote:
Originally Posted by naruto66620 View Post
We talk about the dead of the character not the dead of the pet.
It's not about the "Pet who you give shit to eat", it's about the "Pet who loot your item".



You are developer?
Jeez, have you ever tried reproducing this bug and watched what exactly happens?
11/15/2017 19:35 ZeroTwo02#6
Quote:
Originally Posted by ディオニュソス View Post
Jeez, have you ever tried reproducing this bug and watched what exactly happens?
If you think that my fix does not work and that I do not use correctly the cheat that the person proposes, try for yourself.
11/15/2017 19:38 ディオニュソス#7
Quote:
Originally Posted by naruto66620 View Post
If you think that my fix does not work and that I do not use correctly the cheat that the person proposes, try for yourself.
Yes, it'll definitely fix stacking awakes.
I rate your fix a solid 5/7.
11/15/2017 20:07 Kakerou#8
Quote:
Originally Posted by naruto66620 View Post
Work on Upresia (only) if the server have the "Red Zone" (Dead Zone).

Fix -> MoverSkill.cpp - function "CMover::InactivateEatPet"

After ->



ADD ->



WndManager.cpp - function "CWndMgr::MakeToolTipText" & "CWndMgr::PutToolTip_Item"


After ->



ADD ->
Its already on my source. Before I tried the Exploit so I think those fixes are not working.
11/15/2017 20:27 plopy#9
Hello !

naruto66620 have good fix, when player die, InactiveEatPet is called, and ResetDestParam with it.
Why we need to explain that fix to coders omg, are you real coder ?

Kakerou is you have it, check if InactiveEatPet is called when player die.
11/15/2017 22:22 Hekmatyar#10
When the pet is dead, it never runs any checks to remove the pet stats which is why you have to wait before jumping again.


Code:
CAIPet::MoveProcessIdle( const AIMSG & msg )
Code:
if( pMover->IsDie() || (pMover->m_pActMover->GetState() & OBJSTA_DMG_FLY_ALL) )
		return FALSE;

	if( NotOwnedPetInactivated() )
^ Something is wrong there.

Now, when this is called, look what would happen
Code:
CAIPet::NotOwnedPetInactivated
Code:
	if( pOwner->IsDie() )
	{
		pOwner->InactivateEatPet();
		return TRUE;
	}
If you can't figure it out, too bad.

So now given two snippets, the idea of fixing this is hilariously simple which still has me shocked that I can run around on official servers with 9k + on all my stats 1v1-ing dungeons on a ringmaster.