Code:
//Generated using ReClass 2011 by DrUnKeN ChEeTaH
class CLTClient;
class CObject;
class CLTClient
{
public:
char _0x0000[336];
unsigned int(WINAPI *SendToServer)(int Message, unsigned int flags); //0x0150
};//Size=0x015C
class CTransform
{
public:
D3DXVECTOR3 Pos; // 0x0000
char _0x0000[MAX_PATH]; // 0x0004
}; //Size=0x0008
VOID WINAPIV SetObjectPos(INT *Object, D3DXVECTOR3 Position)
{
__asm
{
MOV ECX, DWORD PTR DS:[LTClientDLL]
MOV EDX, DWORD PTR DS:[ECX]
PUSH 0
LEA EAX, DWORD PTR DS:[Position]
PUSH EAX
PUSH Object
MOV EDX, DWORD PTR DS:[EDX + 0xB8]
CALL EDX
}
}
INT Teleport[1];
VOID TeleportObjects(VOID)
{
CGameClientShell *GameClientShell = (CGameClientShell *)ADDR_GCS;
CSFXMgr *SFXMgr = GameClientShell->GetSFXMgr();
if( ValidPointer( SFXMgr ) )
{
CTransform TransForm[1];
for( INT Index = 0; Index <= SFXMgr->SFXList[0x18].Num; Index++ )
{
CCharacterFX *CharacterFX = (CCharacterFX *)SFXMgr->SFXList[0x18].List[Index];
if( Teleport[0] ) // NPC O.P.K
{
if( !CharacterFX->IsPlayer )
{
TransForm[0].Pos = MyGetObjectMaxPos( pLocal->Object );
TransForm[0].Pos.x -= 50.0f;
TransForm[0].Pos.y += 50.0f;
SetObjectPos( Object, TransForm[0].Pos );
}
}
}
for( INT Index = 0; Index <= SFXMgr->SFXList[0x17].Num; Index++ )
{
CCharacterFX *CharacterFX = (CCharacterFX *)SFXMgr->SFXList[0x17].List[Index];
if( Teleport[1] ) // Weapon V.A.C
{
if( !CharacterFX->IsPlayer )
{
TransForm[1].Pos = MyGetObjectMaxPos( pLocal->Object );
TransForm[1].Pos.x -= 10.0f * Index;
TransForm[1].Pos.y += 50.0f;
SetObjectPos( Object, TransForm[0].Pos );
}
}
}
}
}