Originally Posted by
Xarg0
cenron, do any of the Virtual Funktions work for you?
If not it might be a compiler issue
Ya, all the other functions work. I am using GetPostion() // Function 8
and I am using GetObjectName() // Function 47
But Interact() // Function 36 dosen't seem to work for me.
I get the curMgr from [[g_clientConnection] + OFFSET]
Code:
// Pseudo Code
CGCurMgr_C *curMgr = (CGCurMgr_C *)[[g_clientConnection] + OFFSET]
CGObject_C * PlayerObj = GetObjectByGUID(curMgr->wLocal)
if(PlayerObj)
{
CGObject_C * TargetObj = GetObjectByGUID(PlayerObj->GetKnownField(TARGET_DESCRIPTOR))
if(TargetObj)
TargetObj->Interact();
}
This isnt exactly how my code look, I got wrappers which streamline the code, but thats how it works.
I even have ClickToMove turned on just in case I am to far away. I get nothing. It dosent crash or error in any way. It just does nothing.
I thought it might have been an alignment issue so I tested it by directly calling the function.
Code:
tyepdef void (* tInteract ) (void);
tInteract oInteract = (tInteract)((DWORD *)TargetObj + 4 * 36);
oInteact();
I still get nothing!
Here is an exact copy of my VTable. Maybe someone can see what I cant.
Code:
virtual void Function0() = 0;
virtual void Function1() = 0;
virtual void Function2() = 0;
virtual void Function3() = 0;
virtual void Function4() = 0;
virtual void Function5() = 0;
virtual void Function6() = 0;
public:
virtual CGContainer_C * GetBagPtr() = 0; // Function7
virtual void GetPosition(WOWPOS & MyPos) = 0; // Function8
virtual float GetFacing() = 0; // Function9
virtual float GetScale() = 0; // Function10
private:
virtual void Function11() = 0;
virtual void Function12() = 0;
virtual void Function13() = 0;
virtual void Function14() = 0;
virtual void Function15() = 0;
public:
virtual const char * GetModel() = 0; // Function16
private:
virtual void Function17() = 0;
virtual void Function18() = 0;
virtual void Function19() = 0;
virtual void Function20() = 0;
virtual void Function21() = 0;
virtual void Function22() = 0;
virtual void Function23() = 0;
public:
virtual float GetFacingAngle() = 0; // Function24
private:
virtual void Function25() = 0;
virtual void Function26() = 0;
virtual void Function27() = 0;
virtual void Function28() = 0;
virtual void Function29() = 0;
virtual void Function30() = 0;
virtual void Function31() = 0;
virtual void Function32() = 0;
virtual void Function33() = 0;
virtual void Function34() = 0; // Function34
virtual void Function35() = 0;
public:
virtual void Interact() = 0; // Function36
private:
virtual void Function37() = 0;
virtual void Function38() = 0;
virtual void Function39() = 0;
virtual void Function40() = 0;
virtual void Function41() = 0;
virtual void Function42() = 0;
virtual void Function43() = 0;
virtual void Function44() = 0;
virtual void Function45() = 0;
virtual void Function46() = 0;
public:
virtual const char * GetObjectName() = 0; // Function47
private:
virtual void Function48() = 0;
virtual void Function49() = 0;
virtual void Function50() = 0;
virtual void Function51() = 0;
virtual void Function52() = 0;
virtual void Function53() = 0;
virtual void Function54() = 0;
virtual void Function55() = 0;
virtual void Function56() = 0;
virtual void Function57() = 0;
virtual void Function58() = 0;
virtual void Function59() = 0;
virtual void Function60() = 0;
virtual void Function61() = 0;